LNSU's challenge

Remember avara? Remember the booster? It was sooo useful. Instead of having to run and wait when you were low on shields/energy, you could use one and keep gunning.
I find the worst part of EVN to be flying away from combat to let your shields recharge before charging back in for another run. Its boring and slow.

I want to make the EVN equivalent of it. I'm thinking an unguided unpowered (speed=0) rocket that explodes as soon as its launched, and the blast hurts the player. Except that it has negative energydmg and armordmg values. Would it work?

The launcher would be weightless but expensive, and the ammo would take up a lot of mass and be expensive. This would prevent it from being considered a cheat.

I'll make it and try it out when I'm finished with arpia. Meanwhile, any suggestions?

It won't work. Negative damage values are ignored for weapons. The lowest you can go is 0 damage.

Plan B?

Can't think of one...

Buy a booster in the outfitter. It doesn't do anything as an outfit, but OnPurchase it Sxxx's a mission.

The mission doesn't do anything, but you can abort it.

Aborting the mission Gxxx's a recharger-type outfit, Dxxx's the booster, and Syyy's a different mission.

The new mission makes a ship jump in, with the goal being to destroy it.

That ship has zero armor and takes a certain amount of time to explode. This DeathDelay specifies how long the recharger operates.

When the new mission completes it Dxxx's the recharger.

Confirm?

Well, you could have an outfit which works as an extremely fast shield/fuel regenerator, which uses that cron-timer trick (the one with the invisible ship with the long death delay) to remove it. The problem would be 'activating' that outfit in the first place … I suppose you could use a timer again, but you'd have to plan it in advance by selecting one of a number of missions for a different countdown before the outfit 'activated'.

Well, I think that might work in theory - but it sounds unworkable in practice. Certainly far less elegant than the original plan.

Edit: Ah, Qaanol beat me to it. And had a better solution too. 🙂

This post has been edited by pac : 27 December 2006 - 01:13 PM

Problem with my method is you can only copy of mission xxx active at a time, so you can only have one useful booster at a time. To compensate for that would require DatePostInc'ing 1 day on completing mission yyy, and a crön that's available whenever you have the booster outfit Oyyy which, when triggered, Sxxx's the first mission again. That means you have to burn a calendar day every time you use a booster, which can wreak havoc with timed missions.

Yet another reason IF statements would be desireable in the game engine. If they were then mission 2 could have OnSuccess "IF Oyyy THEN Sxxx" in addition to its other stuff, eliminating the crön and keeping the date the same.

I disagree with artificially datepostinc'ing for ANY reason that does not directly follow from the story. It is almost certain to mess other things up.

I'm trying to figure out if there is a way for qaanol's method to be recursive, and end up restarting that mission, but only if an other outfit is available...

I doubt it.

(It would definitely work great for one recharger though.)

This post has been edited by NebuchadnezzaR : 27 December 2006 - 02:10 PM

Can't you start the same mission multiple times (simultaneously) with Sxxx? I'm sure you can.

I don't know Guy, but I think I have a recursion method that'll work.

The "booster" outfit now does something. It is an antirecharger. OnPurchase of the booster you are Gxxx'd the recharger, so the net effect is null. The mission Sxxx is also started. It might also be necessary to Gyyy the booster itself due to an engine bug.

OnAbort of the mission, you are Dyyy'd the antirecharger/booster thingy, so you suddenly start recharging. The next mission is Syyy'd.

The zero-armor ship jumps in and takes a while to break apart. During this time you recharge.

When the ship finally dies the second mission completes. OnSuccess this Dxxx's the recharger and Sxxx's the first mission. You are no longer recharging, and you have one fewer booster and one fewer recharger than you started with.

The first mission should have a title like "Use booster" and its quickbrief should say "If you have one."

Now you do need a crön, I think, to get rid of mission xxx, but you don't need any datepostinc'ing. Just make it a regular crön that fires whenever you don't have a booster, !Oyyy. It fails the first mission, Fxxx. I think failing doesn't trigger OnAbort, but I'm not positive. If it does then we've got to find another way to inactive mission xxx.

Such as having mission yyy be called "Booster in use" and its quickbrief read "Abort if you have no more Boosters." But that brings in even more problems, like what happens if you abort it when you still have boosters. Obviously it needs Dxxx in its OnAbort, but it might be better to just have mission 2 be invisible.

I'm a bit confused here, since I never played this Avara game, are you talking about a booster that can be used only once, or a booster that can be used many times when the player is low on shield and energy?

You could use each booster once. I believe you could carry several though.

@coraxus, on Dec 29 2006, 10:34 PM, said in LNSU's challenge:

I'm a bit confused here, since I never played this Avara game, are you talking about a booster that can be used only once, or a booster that can be used many times when the player is low on shield and energy?

OK... a HECTOR has four "capacitors." There's the shield capacitor, the two plasma cannons' capacitors, and the main capacitor. Normally, the shield and main capacitors recharge slowly, and the plasma cannons draw from the main-the more power in the main, the faster your cannons recharge. Punching a booster recharges shields and the main capacitor much faster than normal. This also has the effect of allowing you rapid-fire plasma while the booster works. Use it, and it's gone.

I hope you can boot 9.

Okay, I got it to work. Actually, two different ways. One way is unnecessarily complicated but allows the ability to carry and use more than one booster, though not simultaneously. It also allows a simpler activation method than aborting a mission. You select "Booster" from your secondary weapons, press the secondary fire key, and your shields and energy start recovering very fast. I also made it so your ship deionizes rapidly, your radar goes offline, and you can't fire any weapons while it's in use. That last one was just by making the booster exclusive-firing and giving it 180 reload. It deals 1 shield-bypassing mass damage over a 32767-pixel radius, killing the 1-armor but 32767-shields/shield-recharge mission ship, setting off the whole deal. When I put it in practice, I found lag affected the 0-armor mission-ship for the second mission jumping in and dying, so the booster kept working longer and recharged more shields and energy than it was supposed to, but the exclusive firing delay lasted the normal time, so I could start fighting while still recharging if the lag was high enough, and then I couldn't lose. The result is, weapon reloads go by 30ths of a second, but whatever controls the mission ending goes by frames.

The other way is effectively as described in my above post, the non-looping way. You can only have one booster at a time. However, you can have more than one type of booster, though it's impossible to have more that 16 different boosters at a time. For practical purposes, if I ever make a scenario where these "boosters" are used, I'd make it so the player can only have one at a time.

And I've stopped calling them boosters. They are now to be refered to as "abilities". This is a totally new functionality for the EV engine, or at least one that hasn't been done before. It's closest parallel that I know of is Lay On Hands or the Weaponshield discipline from RPGs. That is, once-a-day abilities. Superpowers, almost, that only last a short time, or can only be used once.

What I've come up with are:

Superrecharge (shields)
Superregen (energy)
Superrepair (armor)
Superdeionization
Superspeed
Superacceleration
Superturning
Superjamming
Supercrew
Superfastjump (mission fails after 1 day so its best use is to escape from combat)

And a whole slew of Superweapons:

Superrocket (very high damage, only get one shot)
Superpointdefense (high damage, rapidfire)
Tractorbeam
Lockdown (holds target in place, no damage)
Sanctuary (safe zone wherein almost nothing can harm you for a short time, technically a 0-armor carried fighter with no weapons)
Shockwave (big blast radius, high knockback, no damage)
Iceblaster (like a flamethrower but no damage and high ionization, rapidfire)
Ghost (technically a 0-armor carried fighter with a very very long DeathDelay)
Nanites (because if that isn't a superpower, I don't know what is!)

You accept a mission (whether through the BBS or buying an outfits that Sxxx's) and when you want to use your ability you abort the mission. OnAbort it Gxxx's the superpower and Syyy's the ending mission which has a 1-day time jlimit but also a 0-armor missionship that, when it dies, aborts itself, and OnAbort Dxxx's every possible superpower outfits (you could make one ending mission per ability, but this way you only need one ending mission at all.)

Now I hope that when a mission that can be aborted has its timer run out the OnAbort field is evaluated. If it's not, then that kind of screws up my idea of removing the stuff if you land or jump, unless a crön is used too. The one-use fast-jump could work by having its own ending mission that, instead of the 0-armor ship jumping in, has it appear randomly in the system, so you won't see it until you jump or land, and it dies instantly (I think 2 is the smallest DeathDelay that doesn't cause problems.)

Anyway, to make it so you can only have one ability at a time, a simple OnAccept or OnPurchase bit that's cleared OnAbort of the first mission and controls availability should work. Also, if things are set up so an ability can last more than one day, it's important to abort the ending mission OnAccept or OnPurchase of the ability mission/outfit.

Anyway, this new type of object, the ability, runs on the border between a mission and an outfit, and doesn't fit firmly into either category. It uses both, but works totally differently. I'm certain someone will come up with a much more creative use for it than just a short-term increase in combat power, but that's all I've made it be so far, with the exception of the not-strictly-combat-oriented Supercrew for better capture odds. The abilities I listed above run the gamut, and it's up to the individual to pick which he or she wants for the situation.

Will you be making these available as a plug? I'd like to try them out. They could be useful for my plug-in which is not a non-TC (but only on Tuesday and in the Void).

Wow, sounds fun :). Did you test if you can have the same mission multiple times simultaneously? (would it be easier if that did work?)

😄 "Fun" seems to be a euphemism. Though I don't quite understand the purpose of the "Ghost" weapon

(hrm how about a plug-in like that compatible with ARPIA2 that overwrites the misc. cargo delivery missions, those that are around mďsn 1084 and onwards?)

@guy, on Jan 3 2007, 07:58 PM, said in LNSU's challenge:

Wow, sounds fun :). Did you test if you can have the same mission multiple times simultaneously? (would it be easier if that did work?)

Yes, Sxxx can start the same mission more than once, and they can be aborted one at a time. I didn't check whether multiple missions with 1-armor ships would make all the ships jump in, and then when they get destroyed trigger all the boosters at once though.

@pace, on Jan 4 2007, 06:17 AM, said in LNSU's challenge:

😄 "Fun" seems to be a euphemism. Though I don't quite understand the purpose of the "Ghost" weapon

(hrm how about a plug-in like that compatible with ARPIA2 that overwrites the misc. cargo delivery missions, those that are around mďsn 1084 and onwards?)

A fighter that can't be recalled to the bay, if it works properly.

Why not make them enter the system with a bit of armorr, but so that the player can kill them? that way they can sit there until they need to be used. It would be a rare occurrence to find them, but it could be used in missionbattles and such. They would need to have the always attack player flag checked, so that the player could attack, them, but would also need to be allied with every other AI gov't so that the AI doesn't kill them and set it off prematurely.

When the player kills them, it triggers the OnShipDone field, which starts the effect.

Here's my original Booster plugin: Attached File Booster.zip (45.29K)
Number of downloads: 10

And I have a newer, Inflight Abilities plug-in that's more polished, using the "select and abort" mission method rather than the "kill the ship" method used in this one, and far more abilities you can get. Thing is, it's 146-Kb, so I can't attach it to a post here. I'd be glad to email it to anyone who wants it, just drop me a PM including your email address and I'll send it your want. Does anyone know of a good free file-hosting site?

Notable changes from what I described previously are: Sanctuary is now a 1-delay, 2-death-delay setup, so you effectively have a "shield" around you as long as you fire it. The "static safe-zone" method still works, but that also works with just a regular fighter and bay setup, with no mission required. The Ghost ship is now actually an escort for a triggered mission. It jumps in, helps you for a bit, then jumps out. You can still control it like a fighter, whereas the 0-armor in-bay method meant it went xeno on you and wouldn't obey anything.

I came across some bugs with the handling of the "1 shot at a time" flag. First, it only works if reload is greater than 0. Also, if a weapon with reload greater than one is Dxxx'd before its reload timer expires, that timer never resets until you actually quit the program. Landing doesn't do it, nor does reloading the pilot after landing. So if that pilot gets that weapon back again, it can never be fired, at least not until the game is quit and reloaded. I think I had a couple other bugs, but I'm not looking at them right now.