Enemy sovereigns and docking 'enabled
-
- Fleet Admiral
- Posts: 2876
- Joined: Thu Feb 03, 2011 5:21 am
- Location: Hmm... I'm confused. Anybody have a starmap to the Core?
Has anybody tried to make docking possible with enemy sovereigns? I have a midterm and 3 HW assignments due Thursday so can't test it myself but I was just thinking if that was possible you can get the player to play a "diplomacy" mini game in the dock screens if they dock to hostile stations.
Tutorial List on the Wiki and Installing Mods
Get on Discord for mod help and general chat
Der Tod ist der zeitlose Frieden und das leben ist der Krieg
Wir müssen wissen — wir werden wissen!
I don't want any sort of copyright on my Transcendence mods. Feel free to take/modify whatever you want.
Get on Discord for mod help and general chat
Der Tod ist der zeitlose Frieden und das leben ist der Krieg
Wir müssen wissen — wir werden wissen!
I don't want any sort of copyright on my Transcendence mods. Feel free to take/modify whatever you want.
- AssumedPseudonym
- Fleet Officer
- Posts: 1190
- Joined: Thu Aug 29, 2013 5:18 am
- Location: On the other side of the screen.
A quick-n’-dirty check via /debug seems to indicate that this is not currently possible. Using (objSetProperty obj 'dockingEnabled true) returns an invalid property error when applied to stations. For good measure, I also checked (objGetProperty obj 'playerBlacklisted) on an enemy station, which returned nil.
Mod prefixes: 0xA010 (registered) and 0xDCC8 (miscellaneous)
My mods on Xelerus: Click here!
Of all the things I’ve lost in life, I miss my mind the least. (I’m having a lot more fun without it!)
-
- Fleet Admiral
- Posts: 2876
- Joined: Thu Feb 03, 2011 5:21 am
- Location: Hmm... I'm confused. Anybody have a starmap to the Core?
Ah ok. Thanks for checking AP.
Another (possible) workaround would be ships-masquerading-as-stations like the CSC but that will probably return the same thing.
Another (possible) workaround would be ships-masquerading-as-stations like the CSC but that will probably return the same thing.
Tutorial List on the Wiki and Installing Mods
Get on Discord for mod help and general chat
Der Tod ist der zeitlose Frieden und das leben ist der Krieg
Wir müssen wissen — wir werden wissen!
I don't want any sort of copyright on my Transcendence mods. Feel free to take/modify whatever you want.
Get on Discord for mod help and general chat
Der Tod ist der zeitlose Frieden und das leben ist der Krieg
Wir müssen wissen — wir werden wissen!
I don't want any sort of copyright on my Transcendence mods. Feel free to take/modify whatever you want.
-
- Fleet Officer
- Posts: 1452
- Joined: Tue Aug 19, 2014 10:17 pm
I'm not sure if it would work for what you want, but it may be possible to get unarmed stations to "surrender" when their guards are destroyed and switch their faction to a new one of friendly alignment to the player to allow docking.
For example, Ares communes and outlaw mines could cease to be hostile once their Ares sentries/Outlaw turrets/TA3s are taken out.
For example, Ares communes and outlaw mines could cease to be hostile once their Ares sentries/Outlaw turrets/TA3s are taken out.
- pixelfck
- Militia Captain
- Posts: 571
- Joined: Tue Aug 11, 2009 8:47 pm
- Location: Travelling around in Europe
I think a station also needs the dockScreen= attribute to be set. Most hostile stations only have the abandonedScreen= attribute specified (typically "&dsAbandonedStation;").AssumedPseudonym wrote: A quick-n’-dirty check via /debug seems to indicate that this is not currently possible. Using (objSetProperty obj 'dockingEnabled true) returns an invalid property error when applied to stations. For good measure, I also checked (objGetProperty obj 'playerBlacklisted) on an enemy station, which returned nil.
I'm not sure setting a dockScreen= attribute would allow docking with hostile stations, but you could give it a try.
~Pixelfck
-
- Fleet Officer
- Posts: 1533
- Joined: Tue Mar 22, 2011 8:43 pm
- Location: Alaska
- Contact:
there was in fact some cool "mods" that ALMOST did this -
Mission Framework ( as far as I know it's not available anymore )
Boarding Parties Teaser
http://xelerus.de/index.php?s=mod&id=723&d=1
Dynamic Sovereigns
http://xelerus.de/index.php?s=mod&id=816&d=1
ares rins to credits
http://xelerus.de/index.php?s=mod&id=810
Holographic Stealth Device
http://xelerus.de/index.php?s=mod&id=560
( a little buggy - but fun to give it a go )
However, besides THAT... I once tried to do missions for the Black Market, forgetting they are Neutral ... ( later Mission Framework came out and presented the same problem I found - the Player isn't Neutral )
Soo. to make my missions work ( and my copies of Mission Framework work for me ) I would set the Player as Neutral ( Black Market or Independent Trader) using the Mission dockscreens ( works fine so long as I remember that I usually make Corporate & Black Market enemies because
(( to my opinion ))
Black Market cuts into the Corporate Profits...and to steer clear of Corporate Stations until after the mission is over and the last dockscreen resets the Player Sov back to Player)
You can set the Player Sov with simply adding ONE line to a dockscreen
( example )
However - your hostile stations still need a screen to meet the player - otherwise it's just a loot till you reboot your sov.....
Mission Framework ( as far as I know it's not available anymore )
Boarding Parties Teaser
http://xelerus.de/index.php?s=mod&id=723&d=1
Dynamic Sovereigns
http://xelerus.de/index.php?s=mod&id=816&d=1
ares rins to credits
http://xelerus.de/index.php?s=mod&id=810
Holographic Stealth Device
http://xelerus.de/index.php?s=mod&id=560
( a little buggy - but fun to give it a go )
However, besides THAT... I once tried to do missions for the Black Market, forgetting they are Neutral ... ( later Mission Framework came out and presented the same problem I found - the Player isn't Neutral )
Soo. to make my missions work ( and my copies of Mission Framework work for me ) I would set the Player as Neutral ( Black Market or Independent Trader) using the Mission dockscreens ( works fine so long as I remember that I usually make Corporate & Black Market enemies because
(( to my opinion ))
Black Market cuts into the Corporate Profits...and to steer clear of Corporate Stations until after the mission is over and the last dockscreen resets the Player Sov back to Player)
You can set the Player Sov with simply adding ONE line to a dockscreen
( example )
Code: Select all
(objSetSovereign gSource &svPlayer;)
Flying Irresponsibly In Eridani......
I don't like to kill pirates in cold blood ..I do it.. but I don't like it..
I don't like to kill pirates in cold blood ..I do it.. but I don't like it..
The huari idea sounds promising.
This is from the huari.xml globals:
(possibly set sovereign dispositions as neutral - and then back - would be worth a try)
<Globals>
(block Nil
(setq huaCheckExperience (lambda (xp)
(if (gr xp 325)
(block Nil
(typSetGlobalData &svHuariEmpire; "status" 'tualiIntro)
True
)
Nil
)
))
(setq huaHuariDestroyed (lambda (theObj theDestroyer)
(if (and gPlayerShip (eq theDestroyer gPlayerShip))
(block (status)
(typIncGlobalData &svHuariEmpire; "huariDestroyed")
(setq status (typGetGlobalData &svHuariEmpire; "status"))
(if status
(block Nil
(typSetGlobalData &svHuariEmpire; "status" Nil)
(sovSetDisposition &svHuariEmpire; &svPlayer; 'enemy)
(sovSetDisposition &svPlayer; &svHuariEmpire; 'enemy)
)
)
)
)
))
(setq huaIsGateToHuaramarca (lambda (nodeID gateID nodesChecked)
(block (destNode)
(setq destNode (sysGetStargateDestinationNode nodeID gateID))
(if (eq destNode "Huaramarca")
True
(block (stargates)
(setq nodesChecked (append nodesChecked (list nodeID)))
(setq stargates (filter (sysGetStargates destNode) theGate
(not (find nodesChecked (sysGetStargateDestinationNode destNode theGate)))
))
(if stargates
(filter stargates theGate (huaIsGateToHuaramarca destNode theGate nodesChecked))
Nil
)
)
)
)
))
(setq huaSungDestroyed (lambda (theObj theDestroyer)
(if (and gPlayerShip (eq theDestroyer gPlayerShip))
(block (sungDestroyed)
(setq sungDestroyed
(typIncGlobalData &svHuariEmpire; "sungDestroyed")
)
(if (geq sungDestroyed 6)
(block (status huariDestroyed)
(setq status (typGetGlobalData &svHuariEmpire; "status"))
(setq huariDestroyed (typGetGlobalData &svHuariEmpire; "huariDestroyed"))
(if (and (not status) (not huariDestroyed))
(block Nil
(typSetGlobalData &svHuariEmpire; "status" 'friend)
(sovSetDisposition &svHuariEmpire; &svPlayer; 'friend)
(sovSetDisposition &svPlayer; &svHuariEmpire; 'friend)
)
)
)
)
)
)
))
)
</Globals>
From xelerus:
http://xelerus.de/index.php?s=functions&function=229
Functions Documentation
View Function Edit Function
Name sovSetDisposition
Syntax (sovSetDisposition sovUNID1 sovUNID2 disposition)
Argument List sovUNID1: The UNID of the sovereign to change disposition of.
sovUNID2: The UNID of the sovereign to change disposition towards
disposition: (string) the first sovereigns disposition towards the other
Returns condition: True if successful, Nil otherwise.
Category sovereign, ai
Description Sets the disposition of the first sovereign to the second sovereign.
Valid dispositions are "enemy", "neutral" and "friend"
Example
(sovSetDisposition &svCSCAntarctica; &svPlayer; 0)
Makes things controlled by the Antarctica sovereign attack the player.
Comment Interesting function allowing you to change how different groups of space objects act toward each other.
This is from the huari.xml globals:
(possibly set sovereign dispositions as neutral - and then back - would be worth a try)
<Globals>
(block Nil
(setq huaCheckExperience (lambda (xp)
(if (gr xp 325)
(block Nil
(typSetGlobalData &svHuariEmpire; "status" 'tualiIntro)
True
)
Nil
)
))
(setq huaHuariDestroyed (lambda (theObj theDestroyer)
(if (and gPlayerShip (eq theDestroyer gPlayerShip))
(block (status)
(typIncGlobalData &svHuariEmpire; "huariDestroyed")
(setq status (typGetGlobalData &svHuariEmpire; "status"))
(if status
(block Nil
(typSetGlobalData &svHuariEmpire; "status" Nil)
(sovSetDisposition &svHuariEmpire; &svPlayer; 'enemy)
(sovSetDisposition &svPlayer; &svHuariEmpire; 'enemy)
)
)
)
)
))
(setq huaIsGateToHuaramarca (lambda (nodeID gateID nodesChecked)
(block (destNode)
(setq destNode (sysGetStargateDestinationNode nodeID gateID))
(if (eq destNode "Huaramarca")
True
(block (stargates)
(setq nodesChecked (append nodesChecked (list nodeID)))
(setq stargates (filter (sysGetStargates destNode) theGate
(not (find nodesChecked (sysGetStargateDestinationNode destNode theGate)))
))
(if stargates
(filter stargates theGate (huaIsGateToHuaramarca destNode theGate nodesChecked))
Nil
)
)
)
)
))
(setq huaSungDestroyed (lambda (theObj theDestroyer)
(if (and gPlayerShip (eq theDestroyer gPlayerShip))
(block (sungDestroyed)
(setq sungDestroyed
(typIncGlobalData &svHuariEmpire; "sungDestroyed")
)
(if (geq sungDestroyed 6)
(block (status huariDestroyed)
(setq status (typGetGlobalData &svHuariEmpire; "status"))
(setq huariDestroyed (typGetGlobalData &svHuariEmpire; "huariDestroyed"))
(if (and (not status) (not huariDestroyed))
(block Nil
(typSetGlobalData &svHuariEmpire; "status" 'friend)
(sovSetDisposition &svHuariEmpire; &svPlayer; 'friend)
(sovSetDisposition &svPlayer; &svHuariEmpire; 'friend)
)
)
)
)
)
)
))
)
</Globals>
From xelerus:
http://xelerus.de/index.php?s=functions&function=229
Functions Documentation
View Function Edit Function
Name sovSetDisposition
Syntax (sovSetDisposition sovUNID1 sovUNID2 disposition)
Argument List sovUNID1: The UNID of the sovereign to change disposition of.
sovUNID2: The UNID of the sovereign to change disposition towards
disposition: (string) the first sovereigns disposition towards the other
Returns condition: True if successful, Nil otherwise.
Category sovereign, ai
Description Sets the disposition of the first sovereign to the second sovereign.
Valid dispositions are "enemy", "neutral" and "friend"
Example
(sovSetDisposition &svCSCAntarctica; &svPlayer; 0)
Makes things controlled by the Antarctica sovereign attack the player.
Comment Interesting function allowing you to change how different groups of space objects act toward each other.
some more on that:
<!-- Huari Empire
GLOBAL DATA
status: Status of player with respect to Huari
Nil = normal (enemy)
'friend = Huari are friendly and player can do missions
'tualiIntro = Give player the symbiote
'tuali = Player has the symbiote
'tualiDeclined = Player declined the symbiote
'defender = Player is a defender of the Huari
'loser = Player has failed too many missions
'templeDestroyed = Huari temple has been destroyed
huariDestroyed: Number of Huari stations destroyed by the player
sungDestroyed: Number of Sung stations destroyed by the player
missionCount: Total number of missions requested by the player
missionsFailed: Total number of mission failed
visitedTemple: True if player visited the temple in Huaramarca
xp: Total xp accumulated by the player
-->
<Sovereign UNID="&svHuariEmpire;"
name="Huari Empire"
alignment="destructive order"
>
<Relationships>
<Relationship sovereign="&svSung;" disposition="enemy" mutual="true"/>
</Relationships>
<Events>
<GetGlobalAchievements>
(block (theList theStatus)
(setq theStatus (typGetGlobalData &svHuariEmpire; "status"))
(if theStatus
(setq theList (list
(list
(switch
(eq theStatus 'templeDestroyed) "Failed to defend the Huari"
(eq theStatus 'loser) "Disappointed the Huari"
(eq theStatus 'defender) "Became Defender of the Huari"
(typGetGlobalData &svHuariEmpire; "visitedTemple") "Visited the Huari temple in Huaramarca"
(eq theStatus 'tualiIntro) "Befriended the Huari"
(eq theStatus 'tuali) "Invited by the Huari to visit Huaramarca"
(eq theStatus 'tualiDeclined) "Declined invitation to visit Huaramarca"
(eq theStatus 'friend) "Befriended the Huari"
(cat "ERROR: Huari status: " theStatus)
)
Nil
"achievements & regrets"
)
))
)
theList
)
</GetGlobalAchievements>
<!-- Huari Empire
GLOBAL DATA
status: Status of player with respect to Huari
Nil = normal (enemy)
'friend = Huari are friendly and player can do missions
'tualiIntro = Give player the symbiote
'tuali = Player has the symbiote
'tualiDeclined = Player declined the symbiote
'defender = Player is a defender of the Huari
'loser = Player has failed too many missions
'templeDestroyed = Huari temple has been destroyed
huariDestroyed: Number of Huari stations destroyed by the player
sungDestroyed: Number of Sung stations destroyed by the player
missionCount: Total number of missions requested by the player
missionsFailed: Total number of mission failed
visitedTemple: True if player visited the temple in Huaramarca
xp: Total xp accumulated by the player
-->
<Sovereign UNID="&svHuariEmpire;"
name="Huari Empire"
alignment="destructive order"
>
<Relationships>
<Relationship sovereign="&svSung;" disposition="enemy" mutual="true"/>
</Relationships>
<Events>
<GetGlobalAchievements>
(block (theList theStatus)
(setq theStatus (typGetGlobalData &svHuariEmpire; "status"))
(if theStatus
(setq theList (list
(list
(switch
(eq theStatus 'templeDestroyed) "Failed to defend the Huari"
(eq theStatus 'loser) "Disappointed the Huari"
(eq theStatus 'defender) "Became Defender of the Huari"
(typGetGlobalData &svHuariEmpire; "visitedTemple") "Visited the Huari temple in Huaramarca"
(eq theStatus 'tualiIntro) "Befriended the Huari"
(eq theStatus 'tuali) "Invited by the Huari to visit Huaramarca"
(eq theStatus 'tualiDeclined) "Declined invitation to visit Huaramarca"
(eq theStatus 'friend) "Befriended the Huari"
(cat "ERROR: Huari status: " theStatus)
)
Nil
"achievements & regrets"
)
))
)
theList
)
</GetGlobalAchievements>
And this is how it was done in Heretic:
<Sovereign UNID="&svAresHeretic;"
name="Ares Sect"
alignment="destructive order"
>
<Relationships>
<Relationship sovereign="&svAres;" disposition="friend" mutual="true"/>
<Relationship sovereign="&svPlayer;" disposition="neutral" mutual="true"/>
<Relationship sovereign="&svFriendlyAuton;" disposition="neutral" mutual="true"/>
<Relationship sovereign="&svCommonwealth;" disposition="neutral" mutual="true"/>
<Relationship sovereign="&svCorporate;" disposition="neutral" mutual="true"/>
<Relationship sovereign="&svIndependent;" disposition="neutral" mutual="true"/>
<Relationship sovereign="&svIocrym;" disposition="enemy" mutual="true"/>
</Relationships>
</Sovereign>
<Sovereign UNID="&svSentinelAI;"
name="sentinel AI"
alignment="constructive chaos"
>
<Relationships>
<Relationship sovereign="&svIocrym;" disposition="friend" mutual="true"/>
</Relationships>
</Sovereign>
<Sovereign UNID="&svAresHeretic;"
name="Ares Sect"
alignment="destructive order"
>
<Relationships>
<Relationship sovereign="&svAres;" disposition="friend" mutual="true"/>
<Relationship sovereign="&svPlayer;" disposition="neutral" mutual="true"/>
<Relationship sovereign="&svFriendlyAuton;" disposition="neutral" mutual="true"/>
<Relationship sovereign="&svCommonwealth;" disposition="neutral" mutual="true"/>
<Relationship sovereign="&svCorporate;" disposition="neutral" mutual="true"/>
<Relationship sovereign="&svIndependent;" disposition="neutral" mutual="true"/>
<Relationship sovereign="&svIocrym;" disposition="enemy" mutual="true"/>
</Relationships>
</Sovereign>
<Sovereign UNID="&svSentinelAI;"
name="sentinel AI"
alignment="constructive chaos"
>
<Relationships>
<Relationship sovereign="&svIocrym;" disposition="friend" mutual="true"/>
</Relationships>
</Sovereign>