Sign up Calendar Latest Topics
 
 
 


Reply
  Author   Comment  
Sorjak

Registered:
Posts: 3
Reply with quote  #1 

Hi everyone, long time Artemis party host here. I'm attempting to create my own custom mission this year for the first time ever, and I'm wondering if it's possible to disable the jump drive on a ship while it's in a nebula, through an XML event.

I currently have it so that going into a nebula causes 100% damage to all warp nodes, but this isn't ideal for several reasons:

  1. The ship is now damaged and needs to be repaired before a jump.
  2. You can still initiate a jump, you just won't actually go anywhere.

Setting the energy to 0 also doesn't work, it just makes the time to jump 30 seconds.

Any ideas or suggestions?

Darrin

Registered:
Posts: 98
Reply with quote  #2 
I futzed around with setting the properties on a jump ship and wasn't quite able to disable the jump drive without mangling all of the drive nodes. 

There may be another way to do this. In one of Paul's multiplayer scripts, "The Arena", the players are in pirate ships chasing after these eggs, which they can drag behind them (using set position relative to object). They can use their jump drive to get to the eggs, but if they jump away after picking up an egg, the egg doesn't come with them. 

You can use a similar trick while inside a nebula. If the player ship is inside a nebula, create a generic mesh named " " or "	". Use asteroid.dxs with asteroidTexture.png and set the color to "0.0, 0.91, 0.0" so the green color matches the color of Artemis on the scanner. Set the artscale to 0.01 and pushradius to 0.0, and every tick use set position relative to Artemis to move it to the same spot as the ship. Make it conditional so it only moves " " if Artemis is within a certain distance (maybe 900 m) and is also inside a nebula. Make another event to detect whether Artemis is further away from " " than 900 m, and if so, reset the position of Artemis relative to " ". When Artemis moves out of a nebula, destroy " ".

The jump drive still works, but as far as the crew can tell, they haven't actually moved anywhere. You can even set damage on the jump nodes in the ship as a *consequence* of trying to use the jump drive within a nebula, so if the players want to frag their jump drive down to 0%, they can do that. You can send a message text to Comms or a popup message on the main screen to explain what's going on: "Don't use the jump drive while inside a nebula. You won't go anywhere, and you'll also damage the jump drive."




Mike Substelny

Avatar / Picture

Administrator
Registered:
Posts: 2,285
Reply with quote  #3 
Darrin's idea would work and be pretty dramatic. I like it.

You are facing one of the fundamental problems with mission scripting: there are no good ways of restricting player movement. It's fundamental to the game that players can always go anywhere they want, any time they want. anything a script does to restrict player movement will always be a kludge.

__________________
"The Admiralty had demanded six ships; the economists offered four; and we finally compromised on eight."
- Winston Churchill
Sorjak

Registered:
Posts: 3
Reply with quote  #4 
Darrin, thanks for the input, I appreciate the help.

Honestly, the main issue is that the players will still be able to initiate the jump, even if they don't go anywhere. I feel like damaging the warp drive nodes is a less brittle way of achieving that same goal, though I am not very experienced with this stuff and could easily be wrong.
Mike Substelny

Avatar / Picture

Administrator
Registered:
Posts: 2,285
Reply with quote  #5 
One possibility is to use existing game mechanics. If the players are in the nebula add some heat to the warp drive, more than they can possibly cool. After a few seconds jump nodes will start to blow. In a minute or two their jump drive will be disabled and the players will understand why. They will be unable to fix it until they leave the nebula. In fact it will be so hot that if they send DamCon teams to do repairs they will start suffering casualties.

After they leave the nebula they can cool down the drive and effect repairs. They could jump in a few minutes.

What do you think of this solution?

If you need a code snippet for doing this let me know. There is existing code in the Armada IV script that could do this for you.

__________________
"The Admiralty had demanded six ships; the economists offered four; and we finally compromised on eight."
- Winston Churchill
ryleyra

Registered:
Posts: 2,915
Reply with quote  #6 
With Thom adding the different colors of nebulae, I was expecting him to add different effects, or even allow us to select effects on the mission configuration screen. Honestly, as a more general effect it might be okay to have jump drive take 30 seconds to activate, instead of just prohibiting Jump. Warp isn't disabled in a nebula (although that could be an effect in a script) it is just restricted to Warp 1.

Another method of implementing this that I thought of is to test for Jump power at 0%, and if it isn't, start dealing damage to the engines. The Engineer would have to know to cut power before entering a nebula, to keep from burning out the engines. This could be used for any ship system; cut power, or it will start to overheat.
Sorjak

Registered:
Posts: 3
Reply with quote  #7 
These are some great suggestions, I love the idea of gradually overheating jump engines while in a nebula (or wherever). 

However, it still unfortunately doesn't resolve the main issue of being unable to initiate a jump. I think that's just not possible with the current setup.
Previous Topic | Next Topic
Print
Reply

Quick Navigation:

Easily create a Forum Website with Website Toolbox.