Dynamic Systems

Freeform discussion about anything related to modding Transcendence.
Post Reply
User avatar
alterecco
Fleet Officer
Fleet Officer
Posts: 1658
Joined: Wed Jan 14, 2009 3:08 am
Location: Previously enslaved by the Iocrym

RPC wrote: I'm working on making retaliationfleets follow the player through the gate, but I'm wondering whether there are other options besides (shpOrder spaceObject 'follow).

Code: Select all

<Events>
  <OnPlayerLeftSystem>
    'follow
  </OnPlayerLeftSystem>
</Events>
RPC wrote: What I need is the ability to respawn a station in a system while the player isn't in the system. Is that doable?
Correct. That is not doable. You would need to do a bit of complicated hand holding, that basically breaks down like this:

1) Calculate the time required to respawn the station (do this for every station being respawned)
2) When the player leaves the system, store the time (you can do this in the OnPlayerLeftSystem event)
3) When the player re-enters the system, compare the current time to the time the player left. If the difference is greater than the projected time to complete, then respawn the stations immediately. If it is not, then move the schedule ahead by the difference. (you can use the OnPlayerEnteredSystem event to check for player entry).

These events should go on the freighters you send out to do the respawning. They can be applied via event handlers.

Hope that helps.
Get your own Galactic Omni Device
Get it now. It's free!!
Image
RPC
Fleet Admiral
Fleet Admiral
Posts: 2876
Joined: Thu Feb 03, 2011 5:21 am
Location: Hmm... I'm confused. Anybody have a starmap to the Core?

Ok I used

Code: Select all

          <OnPlayerLeftSystem>
				'followPlayer						
			 </OnPlayerLeftSystem>
and it works- Except for the fact that ships also follow the player to Elysium.
Now, what I'm wondering is how to stop retaliationfleets from following the player to Elysium.

I then tried registering the player and under the assumption that <OnObjEnteredGate> would be called before <OnPlayerLeftSystem>, used <OnObjEnteredGate> to set (ObjSetData gSource "Gateable" true) so that <OnPlayerLeftSystem> can use "Gateable" to check whether the player used a gate. Except for the fact that <OnObjEnteredGate> is still called when ObjGateTo is used :/

I'll think more about a better respawning mechanic. What would really help is knowing how systems are updated (like, how do ships seem to move when the player has left and come back into a system? )
Tutorial List on the Wiki and Installing Mods
Get on Discord for mod help and general chat
Image
Image
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.
User avatar
alterecco
Fleet Officer
Fleet Officer
Posts: 1658
Joined: Wed Jan 14, 2009 3:08 am
Location: Previously enslaved by the Iocrym

RPC wrote:Now, what I'm wondering is how to stop retaliationfleets from following the player to Elysium.
Made a ticket that should help this: http://wiki.neurohack.com/transcendence/trac/ticket/704
RPC wrote:I'll think more about a better respawning mechanic. What would really help is knowing how systems are updated (like, how do ships seem to move when the player has left and come back into a system? )
As far as i remember/know, nothing is updated in systems when the player is not there. Try gating out of a system with a slow moving ship on screen, and then gating in shortly after. The slow moving ship should not have moved very far (and what it will have moved is the distance it can travel while the gating animation is being drawn). At least that is how i think it is.
Get your own Galactic Omni Device
Get it now. It's free!!
Image
shanejfilomena
Fleet Officer
Fleet Officer
Posts: 1533
Joined: Tue Mar 22, 2011 8:43 pm
Location: Alaska
Contact:

My Bad , RPC........I did not think of them following you if you use a GEM....( who thinks of that? )

<OnObjEnteredGate> is not specific : the result should be:

Code: Select all

  <OnPlayerLeftSystem>
            'followPlayer    
(not if (objGetDestination gPlayership "Elysium"))             
          </OnPlayerLeftSystem>
or something along that line of thought. ( ** remember, never count on any "code" i do to work, this was an idea, not actual code )

******EDIT: i just read the ticket :)....we have the power to do this ( in a way )

Code: Select all

(block (destNode)
					(setq destNode (sysGetStargateDestinationNode nodeID gateID))
					(if (eq destNode "Elysium")
						Nil 
Flying Irresponsibly In Eridani......

I don't like to kill pirates in cold blood ..I do it.. but I don't like it..
User avatar
alterecco
Fleet Officer
Fleet Officer
Posts: 1658
Joined: Wed Jan 14, 2009 3:08 am
Location: Previously enslaved by the Iocrym

Yes, we can get the destNode when a player exists the system through a stargate, but not when exiting by use of a gem (using objGate directly)
Get your own Galactic Omni Device
Get it now. It's free!!
Image
RPC
Fleet Admiral
Fleet Admiral
Posts: 2876
Joined: Thu Feb 03, 2011 5:21 am
Location: Hmm... I'm confused. Anybody have a starmap to the Core?

Ok there are a couple of problems with my attempt to update Dynamic Systems.
I need help with:
Gravity
--I wanted gravity so that the sun would 'clean up' a system over time, and relieve some lag. However, gravity kills looting. It's very hard to dock with a moving station. That's where I come up with an autolooter, and hopefully the autolooter works as intended.
--There's also the aspect of planet gravity. I wanted to have wrecks to orbit around planets for some fluff, but since there's no function to get angle from ObjA to ObjB, I'll start work on getting the angle from a wreck to a planet soon.
--Another aspect brought about gravity is about how the wrecks pile up. Since wrecks and stations are in the same background level, a station that blocks a wreck's path to the sun will gather several wrecks and it will become unsightly. I'm rather unsure as top how to stop this problem.

Real Autopilot.
-- I was also working on real autopilot. It would work as follows: an invisible ship will be told to go to a station, and then the playership will be moved using objMoveTo. The problem with this is that I cannot refer to spaceobjects using a dockscreen because although I use the ObjGetID and ObjGetObjByID functions, the number elicited by the dockscreen is a list element, and not an integer.

Station Respawn
--I will really need to work on how to make station respawn make sense, it's been 3 versions and I think I'll move to a system of creating a virtual station at the location that has a timer instead of relying on lucky timing to create the station.

Retaliation Caps
--I'm really concerned about games lagging because of huge retaliation fleets so I'm going to put in a cap and if the retaliationlevel is higher than a certain threshold, the respawning of that station goes down by (retaliationlevel- 20) percent.
Tutorial List on the Wiki and Installing Mods
Get on Discord for mod help and general chat
Image
Image
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.
shanejfilomena
Fleet Officer
Fleet Officer
Posts: 1533
Joined: Tue Mar 22, 2011 8:43 pm
Location: Alaska
Contact:

ok: I can maybe only respond to the station part: I do not use the random anymore:

Code: Select all

 ; Begin timer for new station operations
	   (block Nil
	   (sysCancelTimerEvent gSource "OnTrafficControl")
									(sysAddObjRecurringTimerEvent 7450 gSource "OnCheckOperate"))
Here the stations respawn in the same place : there are few selected ones that respawn as DIFFERENT stations : for example :
the Charon Fortress : if it returns it would mess up the Charon system: but if returned as a different station, then you continue with action and adventure.........
I only have a few at present that do such things because the .xml is still in testing and Ideas are trying to find their way in without pushing the Kbs higher.

On Gravity:
visible damage is an element the game knows how to use: you see it in the CSC mission text and the Armor repair feature knows when your too far gone. If your Planet or stars simply crushed awreckedobj that is below the repair levels: that would clear out alot of small wrecks that can clog your idea.

moving objects to dock with : sometimes the MaxSpeed of 2 is ok: but AI ships have a problem with it. "1" can sometimes be a problem from version to version ( remember my "repair ships" idea ) If there were a happy medium between versions of like .50 that would be cool BUT that goes back to Gravity: gravitational pull on an object is based on the object Mass and follows after that with momentum : if your Gravity effect enum the objects too far gone to waste energy on and simply destroyed them then you would have large objects that can not be pulled very fast : like a Deimos, RD or AntaresV.
Flying Irresponsibly In Eridani......

I don't like to kill pirates in cold blood ..I do it.. but I don't like it..
Solar Geo
Miner
Miner
Posts: 26
Joined: Sun Apr 01, 2012 4:52 am

v5 feedback

1. "The Commonwealth attacks!" with no enemies to attack, so just dumps ships into system, then they gate out after a bit.

2. Flight paths straight through the sun=ouch. must be a way to designate no-fly zones?

3. Problems with Korolov if the Charon Stronghold gets boomed by a faction. May be deliberate?

4. Enemy Wolfen spawns in early systems=overpowered.

5. Stations spawning in destruction zone of sun?

6. Baseships are very low-value targets, may be deliberate

7. Please make rare buildings like Tinkers/Korolov try to respawn multiple times/forever, they're rare enough already!
RPC
Fleet Admiral
Fleet Admiral
Posts: 2876
Joined: Thu Feb 03, 2011 5:21 am
Location: Hmm... I'm confused. Anybody have a starmap to the Core?

Ok, will work on those Solar.

1. I'll check -- it might be targeting a dead station.
2. Flight paths straight through the sun=ouch. must be a way to designate no-fly zones?
I have no idea how to designate no-fly as of yet.

3. Problems with Korolov if the Charon Stronghold gets boomed by a faction. May be deliberate?
Deliberate/feature. they're not strong enough to be strongholds if ronin/c's can get them :P
4. Enemy Wolfen spawns in early systems=overpowered.
Might be a feature, but if it's a game ender I'll tone it down.
5. Stations spawning in destruction zone of sun?
Those spawn on their own, I'm not sure if I can move them a bit farther from the sun.
6. Baseships are very low-value targets, may be deliberate
Any advice for baseship loot?
7. Please make rare buildings like Tinkers/Korolov try to respawn multiple times/forever, they're rare enough already!
Can you make a list of stations? I'll have the CW defend them with a squad.

Also, this weapon:

Code: Select all

<ItemType UNID="&itGNParticleField;"
			name=				"GN Particle Field"	
			level=				"7"
			modifiers=			"MajorItem; SolarReactor;"
			description=		"Technically the primary shield, the GN particle field is a key component to the Mayfly's success."
			>
		<Image imageID="&rsItems1;" imageX="192" imageY="0" imageWidth="96" imageHeight="96"/>
		<Weapon
				type=				"missile"
				damage=				"kinetic:0"
				repeating= 			"150000"
				fireRate=			"30"
				hitPoints=		"25"
				interaction=		"100"
				hitEffect=		"&efShieldHit1;"
				missileSpeed=		"17"
				accelerationFactor=	"75"
				lifetime=			"10d5-7"
				powerUse=			"100"
				deviceSlots=	"0"
				noFriendlyFire=	"true"
				linkedFire="always"
				>
			<Configuration aimTolerance="5">
				<Shot posAngle="180" posRadius="20" angle="0-180"/>	
				<Shot posAngle="180" posRadius="20" angle="360-181"/>
				<Shot posAngle="180" posRadius="20" angle="0-180"/>	
				<Shot posAngle="180" posRadius="20" angle="360-181"/>
				<Shot posAngle="180" posRadius="20" angle="0-180"/>	
				<Shot posAngle="180" posRadius="20" angle="360-181"/>
			</Configuration>
			
			<Effect>
				<Image imageID="&rsGNParticles;" imageX="0" imageY="0" imageWidth="16" imageHeight="16" imageFrameCount="4" imageTicksPerFrame="1" randomStartFrame="true"/>							
			</Effect>
			
		</Weapon>
		
		<Invoke>
			(intAutoInstall gSource gItem)
		</Invoke>
		
	</ItemType>
Used to last for at least a few minutes-- now it only lasts for a few seconds. Was there anything new in 1.08 that stopped this weapon from lasting as long as it did?
Tutorial List on the Wiki and Installing Mods
Get on Discord for mod help and general chat
Image
Image
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.
User avatar
Atarlost
Fleet Admiral
Fleet Admiral
Posts: 2391
Joined: Tue Aug 26, 2008 12:02 am

Perhaps if stellar damage and gravity are causing problems they should be removed.
Literally is the new Figuratively
Solar Geo
Miner
Miner
Posts: 26
Joined: Sun Apr 01, 2012 4:52 am

NPC Wolfen in the 2nd system=more or less guaranteed kill-you can't outrun it, and its actually pretty well armed. That plus even if you get its shield down it can take off leaving you in bad shape if you run into anything else.

Re the "valuable stations" I may have to re-evaluate that one, as given the hugely extended low-level systems numbers they may actually be in high enough abundance to counteract this, but Tinkers would be pretty high on the list, as would Korolov. Can't think what else is really low on the probability list but high value.
Solar Geo
Miner
Miner
Posts: 26
Joined: Sun Apr 01, 2012 4:52 am

Urgh, double post.

Extra feedback: Pirate drills should NOT be able to steal installed items like say, repair droids!
RPC
Fleet Admiral
Fleet Admiral
Posts: 2876
Joined: Thu Feb 03, 2011 5:21 am
Location: Hmm... I'm confused. Anybody have a starmap to the Core?

If you have Bobby's repair droids, they do uninstall if you shields are down and there's an enemy near...
As for NPC Wolfen, I'm still considering if that's a feature (aka part of the challenge :twisted: ) since I've survived most of those runs. (mainly because I don't stray away from stations anymore).
If I bump them up to the next tier though, they won't be as dangerous as they were if they spawned in Eridani, so yeah... :/
Tutorial List on the Wiki and Installing Mods
Get on Discord for mod help and general chat
Image
Image
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.
shanejfilomena
Fleet Officer
Fleet Officer
Posts: 1533
Joined: Tue Mar 22, 2011 8:43 pm
Location: Alaska
Contact:

RPC wrote:Ok I used

Code: Select all

          <OnPlayerLeftSystem>
				'followPlayer						
			 </OnPlayerLeftSystem>
and it works- Except for the fact that ships also follow the player to Elysium.
Now, what I'm wondering is how to stop retaliationfleets from following the player to Elysium.

I then tried registering the player and under the assumption that <OnObjEnteredGate> would be called before <OnPlayerLeftSystem>, used <OnObjEnteredGate> to set (ObjSetData gSource "Gateable" true) so that <OnPlayerLeftSystem> can use "Gateable" to check whether the player used a gate. Except for the fact that <OnObjEnteredGate> is still called when ObjGateTo is used :/

I'll think more about a better respawning mechanic. What would really help is knowing how systems are updated (like, how do ships seem to move when the player has left and come back into a system? )
** there is "Not " that is supposed to follow the order : I saw it once : but i think the Insurance code edited would do it for "(not (or (eq (sysGetNode) 'Huaramarca)
(eq (sysGetNode) 'Elysium))"
something like that.

ships " move " in a system without the player by "the game advancing the state as you gate in : taking the last configuration and pushing it up in theory of how long you were out of the system"
Flying Irresponsibly In Eridani......

I don't like to kill pirates in cold blood ..I do it.. but I don't like it..
Deltax
Commonwealth Pilot
Commonwealth Pilot
Posts: 81
Joined: Tue Nov 01, 2011 9:58 pm

Some freighters killed by retaliation squads leave varying amounts of shipping containers and high level ores in there wrecks, very easy way of getting lots of money in early game.
Post Reply