Nova: Working around limitations

OK, hello all. I am working on a project for Nova that will need some things from the game that I am not sure how to do or if they can be done at all. So here is a list of questions that I have that I will update as needed:

Q1. Is there a way to make a weapon shoot ships automatically without it being a point defense weapon?
A1. Not really, Post #6 is closest to a "yes" -LNSU

Q2. Is there a way to have one weapon use multiple types of ammo? This would also need to work for lasers or "beams" for my project.
A2. Yes, Post #2 or detailed in #13 -Qaanol

Q3. Is there a way to make a mission that just counts a set amount of time (say 10 days) then succeeds?
A3. No, but close Post #2 -Qaanol.
Others go into detail about legal rewards and credit rewards...

Q4. The same as Q2 but with the cannon/turret only needing one munition in order to fire continuously. (more detail in Post #14)
A4. Yes, Post #15 -Qaanol and #16 (ask for details about crön method if you don't get it)

This post has been edited by Artemis : 16 April 2011 - 02:05 AM

@artemis, on 12 April 2011 - 09:45 PM, said in Nova: Working around limitations:

Q1. Is there a way to make a weapon shoot ships automatically without it being a point defense weapon?

You can make a PD turret that submunitions into the projectile you want.

@artemis, on 12 April 2011 - 09:45 PM, said in Nova: Working around limitations:

Q2. Is there a way to have one weapon use multiple types of ammo? This would also need to work for lasers or "beams" for my project.

What exactly do you mean? Can the player have several different types of ammo and choose which to fire by selecting the weapon for the secondary trigger? If so, for each different “thing” that can be fired, make a wëap, an oütf, and an ammunition oütf. Exactly one of the weapon outfits can be purchased, and OnPurchase is Gxxx’s the other weapon outfits. The one drawback here is that the player could cycle through secondary weapons quickly, firing one ammo after another. You could make the weapons all be exclusive firing.

If you want the player to only be able to own one type of ammo at a time, then you do the same thing with the weapon outfits and Gxxx, but then also some Oxxx for the ammo outfits so you can’t have more than one type.

@artemis, on 12 April 2011 - 09:45 PM, said in Nova: Working around limitations:

Q3. Is there a way to make a mission that just counts a set amount of time (say 10 days) then succeeds?

Not directly. The Nova engine does not provide a way to force a mission to succeed. You can make the mission fail when its timer expires, and put various effects in the OnFail (or OnAbort) field. In particular, you could make that mission abort itself and then start a different, auto-aborting mission when its timer expires. However, I think you still will have problems trying to raise legal status or grant credits to the player in this way.

Ok let me clarify Q1 a bit as I don't think you are getting what im trying to do here. I will most likely use PD turrets in the game for missiles and interceptors etc. but I want to make a weapon for a very large ship that will auto attack and shoot most other classes of ships so that if this ship got into a heavy fight the weapon would hit multiple targets not just the targeted ship. I know I could make a beam weapon inaccurate up to 180° but that wont get what im looking for exactly...

For Q2 I'll have to experiment and get back to you...

for Q3, I am using OnFail now but I didn't want the "failed mission" text to pop up or the failed mission sound for these specific missions. I was hoping for something like "training of Skill ___ complete" as a message which I know i can change in STR# or something (have not worked with that yet) but it would only be for a specific mission string not all missions...

@artemis, on 12 April 2011 - 11:00 PM, said in Nova: Working around limitations:

Ok let me clarify Q1 a bit as I don't think you are getting what im trying to do here. I will most likely use PD turrets in the game for missiles and interceptors etc. but I want to make a weapon for a very large ship that will auto attack and shoot most other classes of ships so that if this ship got into a heavy fight the weapon would hit multiple targets not just the targeted ship. I know I could make a beam weapon inaccurate up to 180° but that wont get what im looking for exactly...

In EV: Nova, the only way to make a weapon on the player’s ship fire automatically is for that weapon to be of a point-defense guidance type. You could try doing something with carried kamikaze fighters.

@artemis, on 12 April 2011 - 11:00 PM, said in Nova: Working around limitations:

for Q3, I am using OnFail now but I didn't want the "failed mission" text to pop up or the failed mission sound for these specific missions. I was hoping for something like "training of Skill ___ complete" as a message which I know i can change in STR# or something (have not worked with that yet) but it would only be for a specific mission string not all missions...

You mean you don’t want it to say “Time limit exceeded, mission failed” at the bottom of the screen? You could put a Qxxx in the OnAbort field to display a different (possibly blank) message. The FailText dësc will only be displayed when you land on the destination spöb after having failed the mission, and only if the mission cannot be aborted. I don’t know why you have a sound at all if the only thing the mission does is complete after a time limit. You could separate the functionality into a separate mission that only cares about the time. Or you could use a crön.

@qaanol, on 12 April 2011 - 10:26 PM, said in Nova: Working around limitations:

However, I think you still will have problems trying to raise legal status or grant credits to the player in this way.

Legal, yes. Credits, no. Look at the 'refuel ship' missions. The player is paid just fine. Legal status is the only reward that missions have a problem with when auto-aborting but rewarding the player regardless.

@darthkev, on 13 April 2011 - 01:00 AM, said in Nova: Working around limitations:

Legal, yes. Credits, no. Look at the 'refuel ship' missions. The player is paid just fine. Legal status is the only reward that missions have a problem with when auto-aborting but rewarding the player regardless.

Legal yes, with a convoluted method.
OnFail/OnAbort: Sxxx
Sxxx-ed mission:
Objective: Destroy Ship
Ship Behavior: Follow player
Ship properties: Invisible, 0-armor, 0-shield (self destructing), deathdelay 0 or 1, invisible sprite, invisible explosion.
OnShipDone: NCBs you want triggered
Legal: whatever you want adjusted

Of course, there's no legal change until the player takes off the planet, but it will work. You can even make the mission invisible.

As for Q1 , you can trigger "Point Defense weapons fire at this ship" in the ship types you want the "big" PD to fire at, but then all PD will fire when the ship is in range. You can make "small" PD anti-missile and anti-fighter only by keeping the range very short, and adjusting damage, burst, and reload to compensate. If you make the non-fighter weapons have more range than "small" PD turrets, (not long range per se, just nothing like the thunderhead lance style short range), the AI will tend to stay outside "small" PD range.

For Q2 , can you give us more information on what you want to do? Do you want the ability to switch ammo types in flight, with different associated damage characteristics, or only when docked? Or do you want one weapon that uses multiple types of ammo at different rates (say, a gun that required both batteries and bullets, where one battery would last for n shots?).

If you're asking what I think you are asking for Q2, then no. It is not possible to make a weapon that can draw from multiple kinds of ammunition (like a gun that shoots 3 different calibers of bullets.) So, you can't have one missile tube that can fire three kinds of missiles without creating three different weapon types. You can grant all three weapon types with one outfit, but it won't just show up as one tube and fire three different kinds of missiles. It will show up as three different tubes.

You can, as LNSU said, have a weapon that takes both fuel and ammo, or either. But you cannot have a weapon that drains two different ammo outfits at the same time.

@krugeruwsp, on 13 April 2011 - 01:27 PM, said in Nova: Working around limitations:

You can grant all three weapon types with one outfit, but it won't just show up as one tube and fire three different kinds of missiles. It will show up as three different tubes.

What? It will “show up” however it is designed to show up. You can make it so the player only ever sees one launcher outfit, called “Multi-purpose torpedo tube” or whatever you like.

@krugeruwsp, on 13 April 2011 - 01:27 PM, said in Nova: Working around limitations:

You can, as LNSU said, have a weapon that takes both fuel and ammo, or either. But you cannot have a weapon that drains two different ammo outfits at the same time.

What? You can’t make a single weapon use both fuel and ammo simultaneously.

@qaanol, on 13 April 2011 - 01:53 PM, said in Nova: Working around limitations:

What? It will “show up” however it is designed to show up. You can make it so the player only ever sees one launcher outfit, called “Multi-purpose torpedo tube” or whatever you like.

What? You can’t make a single weapon use both fuel and ammo simultaneously.

Qaanol's right here. I'm not quite sure where you're getting your info, krug.

Also, LNSU, how does your mission complete in order to grant legal status boosts? As far as I can see, all that happens is an invisible death and the mission is still active. I don't know of a way to make a mission boost legal status before completing.

@qaanol, on 13 April 2011 - 01:53 PM, said in Nova: Working around limitations:

What? You can’t make a single weapon use both fuel and ammo simultaneously.

Ah, I looked at that badly in EVNEW. How much fuel it takes is only the ammo number divided by 10, not the ammo number to drain and the fuel at the same time.

An outfit that grants multiple weapons will show up in your outfit list as one outfit, but it won't show up in secondary weapons as one, rather as however many weapon types it grants. You can have the flag set to only show when it has ammo. However, it will still show up as several different weapons in the list. It's even more confusing if you don't label them all differently. I ran into this problem a few years back while trying to create a railgun that used different kinds of random metal pellets available on different planets based on metals mined there. The railgun itself could fire things like copper, iron, uranium, or other metals, but wouldn't require five different weapons to fire them, and that the ammo pool would be counted as a combination of all the different pellet types. In the case of missiles fired out of one tube, it would work a little better, since you'd want to specify which kind of missile you'd be firing.

Primary weapons have a different problem. The problem with making it a primary weapon is that they would all fire at the same time, or close enough to that it would drain all of the different ammo supplies, not just one at a time. I tried that once, even messing with a number of flags, like the "no other weapons can fire while this one is firing" flags, but no matter what I did, I couldn't get it to work in practice.

In looking a little closer at what Artemis is proposing, that's a different thing than I was originally thinking, but still runs into the same problem. The way I'm reading that is that an outfit like a "laser charge" grants a weapon, but that when the charge is used up, like at the end of a burst cycle, it would delete the laser outfit. Maybe I'm not thinking the same thing Artemis is.

This post has been edited by krugeruwsp : 13 April 2011 - 04:00 PM

@darthkev, on 13 April 2011 - 02:39 PM, said in Nova: Working around limitations:

Qaanol's right here. I'm not quite sure where you're getting your info, krug.

Also, LNSU, how does your mission complete in order to grant legal status boosts?

The player has to land at a spob in the DestStellar. Of course, you can muck about so the player can complete the mission by landing on any spob...
You can also make it an invisble mission.

Ok I have done no research yet with Q2 but it sounds like people are not understanding what I am looking for or I am not giving enough detail, so here is what I want, described to the best of my ability:

Ultimately I want to make the weapons in my plug a lot like weapons in EVE online in that you can have one (or more) type(s) of gun(s) (or at least it will look that way to the player) which fire(s) something like 5 different ammo types but only one type at a time. Being able to change ammo in-flight does not seem possible so its ok to only be able to change in station but if someone can figure a way around that, awesome! So for you non EVE players here is another example if that did not do it for you...
The player has access to an outfit named "Beam Laser" (im using a laser because I want this to work over all weapon types not just projectile weaponry). The player buys 2 of these and now has access to the ammo for this weapon. The ammo is as fallows: Type 1 (range=1000, dmg=2), Type 2 (range=800, dmg=5), Type 3 (range=600, dmg=11) etc... So the player decides they want a "Sniper" outfitted ship so they get type 1 ammo. All of said ammo types can be fired by the Beam Laser however, only one type of ammo can be fired at a time (so there would need to be a restriction on other types of ammo once one type is purchased). After trying the sniper fit, they don't like it and want to go for up close and personal so they go back and get the type 3 ammo (they might have to sell all the old ammo first or there is some trigger that deletes the ammo or something). Now they have a close range higher dmg ship but the turret/cannon remains the same.
The weapon should be usable as a primary weapon and you should be able to have more then one type of weapon at a time. For example a primary weapon fit could look like this: 2 Beam Lasers, 4 Railguns, 1 Ionization beam. Where the beam laser and the railgun both have multiple types of ammo and the ion beam may or may not (irrelevant)...

If this is still unclear to anyone I am sorry but you're a lost cause in terms of being able to communicate with me...

On a side note I have no idea how to use the "Require:" field with its A-H and 1-8 bit thing... I believe this is how something is visible in outfits but not purchasable which would be useful for the example above. (I still need to read the Nova Bible... really I wish it was called the encyclopedia, almanac, or reference data...)

This post has been edited by Artemis : 14 April 2011 - 01:15 AM

@artemis, on 14 April 2011 - 01:01 AM, said in Nova: Working around limitations:

Ok I have done no research yet with Q2 but it sounds like people are not understanding what I am looking for or I am not giving enough detail, so here is what I want, described to the best of my ability:

Ultimately I want to make the weapons in my plug a lot like weapons in EVE online in that you can have one (or more) type(s) of gun(s) (or at least it will look that way to the player) which fire(s) something like 5 different ammo types but only one type at a time. Being able to change ammo in-flight does not seem possible so its ok to only be able to change in station but if someone can figure a way around that, awesome! So for you non EVE players here is another example if that did not do it for you...
The player has access to an outfit named "Beam Laser" (im using a laser because I want this to work over all weapon types not just projectile weaponry). The player buys 2 of these and now has access to the ammo for this weapon. The ammo is as fallows: Type 1 (range=1000, dmg=2), Type 2 (range=800, dmg=5), Type 3 (range=600, dmg=11) etc... So the player decides they want a "Sniper" outfitted ship so they get type 1 ammo. All of said ammo types can be fired by the Beam Laser however, only one type of ammo can be fired at a time (so there would need to be a restriction on other types of ammo once one type is purchased). After trying the sniper fit, they don't like it and want to go for up close and personal so they go back and get the type 3 ammo (they might have to sell all the old ammo first or there is some trigger that deletes the ammo or something). Now they have a close range higher dmg ship but the turret/cannon remains the same.
The weapon should be usable as a primary weapon and you should be able to have more then one type of weapon at a time. For example a primary weapon fit could look like this: 2 Beam Lasers, 4 Railguns, 1 Ionization beam. Where the beam laser and the railgun both have multiple types of ammo and the ion beam may or may not (irrelevant)...

If this is still unclear to anyone I am sorry but you're a lost cause in terms of being able to communicate with me...

On a side note I have no idea how to use the "Require:" field with its A-H and 1-8 bit thing... I believe this is how something is visible in outfits but not purchasable which would be useful for the example above. (I still need to read the Nova Bible... really I wish it was called the encyclopedia, almanac, or reference data...)

Either you are not understanding what I wrote in answer to your question on multiple ammo types, or I am not giving enough detail.

For simplicity of description, let us consider a weapon that has two modes, “Long range low power” and “Short range high power”. You want the player to buy a single outfit for the weapon, and then have a choice between two types of ammunition, but only one at a time.

The short description:

Spoiler

Set things up exactly as if you want the two different modes to be two different weapons, with all the outfits for each. For all intents and purposes these are separate weapons. The only interplay between them is that the player only ever sees one launcher outfit for the both, and the player can only have ammunition for one of them at a time.

To accomplish that, make one of the launcher outfits unbuyable, unsellable, never show up in outfitters, never show up in the player info, take up no space, use no gun slots, and otherwise generally do nothing but be a weapon. Make the other launcher outfit grant that one when bought and remove that one when sold. Make each ammo outfit require that the player not own any of the other type in order to buy it.

The detailed description:

Make a wëap for the “Long range low power” mode, say it has ID 128. Make it use its own ammunition.
Make a wëap for the “Short range high power” mode, say it has ID 129. Make it use its own ammunition.
Make a launcher oütf for the “Long range low power” mode, say it has ID 128. Make it be a weapon of type 128.
Make a launcher oütf for the “Short range high power” mode, say it has ID 129. Make it be a weapon of type 129
Make an ammunition oütf for the “Long range low power” mode, say it has ID 130. Make it be ammunition of type 128.
Make an ammunition oütf for the “Short range high power” mode, say it has ID 131. Make it be ammunition of type 129.

Set oütf 128 to have G129 in its OnPurchase field, and D129 in its OnSell field.
Set oütf 129 to have TechLevel 9999, cannot be sold, and probability 0% of appearing in outfitters. Also use no space, take no gun slots, have no cost, and utilize no display name.
Set oütf 130 to have !O131 in its Availability field.
Set oütf 131 to have !O130 in its Availability field.

Well thanks Qaanol. That is exactly what I was thinking of up at the top but you just took the invisible mission out as I forgot about onPurchase and I was not understanding what you were trying to say. Thanks again; that method works for most of the weapons however I run into problems if I try to make the gun only need one munition to be able to fire. For the beam weapons, I would like to make them use crystals but only need one munition to fire. Can this also be done?

The problem with this I am running into is, if I use nearly the same method but change the ammunition to just the weapon (still labeled as ammunition), the player can have the maximum ammo no matter how many cannons they have if they have at least one. So if you need 1 crystal munition for each cannon, and have a max of 4 cannons allowed but only have 2 installed, you can still buy 4 ammo and have the effect of 4 cannons... Is there a way to have the Gxxx read how many outfits there are? I know it says it will return 1 (true) as long as there is at least one outfit of the specified type but I need it to count how many there are.... or find a way around that.

I know I am a bit wordy so thanks for your patience everyone.
Oh and people don't have to quote me for me to understand its a response to me... just an "@Artemis" or "response to post #xx" would be plenty.

Thanks all.

You can give the weapon a BurstCount of 32767, a BurstReload equal to Reload, and Uses Ammo At End Of Burst Cycle.

I don’t see an easy way to require one ammo per launcher. There are ways to count outfits, involving cröns, and if you care enough you can look into them.

I strongly recommend reading the Nova Bible, at least the section on outfits and weapons.

Well I found one way of making 1 ammo work but it seriously slows down the game every time the player lands/takes off or changes system... by using the crön resource I can set it to Gxxx for ammo on one then Dxxx on another but I have to set it to evaluate continuously which is where the lag comes from as I was hoping to make a few weapons like this.
This method would be for truly infinite ammo with only buying one.

Using your method is actually more of what I want anyway though and there is no lag. With a burst count of say 10,000 the ammo (in this case a crystal for a laser) could "break" or something so they have a lot of shots but not infinite.

Thank you!

If you want truly infinite ammo, that can be done, as well. First, make a 'dummy outfit'. This outfit does nothing at all. Really, nothing. For now, we'll say it has an ID of 128.

Next you have your three weapon types with outfit IDs of 129, 130, and 131. These three will have different strings in their availability fields. They are as follows:

Outfit 129: o128 & (!o130 | !o131)
Outfit 130: o128 & (!o129 | !o131)
Outfit 131: o128 & (!o129 | !o130)

The above is how NCBs work. The Oxxx NCB means something requires the player own a certain outfit where 'xxx' is the required outfit's ID. The '!' before the Oxxx NCB means the player cannot have a certain outfit. With outfit 129, the string means it requires the player own outfit 128, but cannot have outfit 130 or outfit 131. The other two have similar strings in that they require outfit 128 but cannot be bought if either of the other two are on the player's ship. Each of them would, of course, link to one of the three laser types.

From the player's perspective in-game, outfit 128 would be named something like 'laser housing' and outfits 129, 130, and 131 would be 'laser assembly'. The gist of it is the player first buys the housing, and then puts laser assemblies inside it so it can work. This would also limit the player to one type of laser at a time. They'd still have to land to switch, however, but it works.

Edit: In the case of having ships come equipped with these weapons standard, this is simple. In the weapons list, just input the ID for the desired laser type and then input a value for how many assemblies it comes with. Then in the outfits list, input the value for the laser housing outfit, whatever ID you happen to give it. Then input a value of 1 for 1 housing, since that's all they need for this to work. There are ways to require the player to buy multiple housings if they want multiple assemblies, but that's a little more complicated. I can elaborate on it, however, if you ask. 🙂

This post has been edited by DarthKev : 16 April 2011 - 04:19 PM

Ok on to question #5:

Is there a way to change how the date system works?

What I am looking to do is to not use a chronological system that is only aplicable to one planet... I was hoping to use a GY (Galactic Year) system so that it's not so ridiculous. I want the game to count galactic segments or something (not sure yet). Each "day" would be a "segment" of a GY, which would have a multiple of 360 segments not 365...

e.g. A galactic month would be every 20° or something while a galactic day would be 1°. An offered mission for transport might read: (<gov> needs you to transport <goods> to <syst> by GY 57.2.10.) The breakdown would be 57is the year 2 is the month and 10 is the day. Of corse, the breakdown can be swapped around just as we do in different parts of the world; but I like that one...
If this can not be done I have a backup plan 🙂

Thanks again everyone!

@artemis, on 17 April 2011 - 03:17 PM, said in Nova: Working around limitations:

Ok on to question #5:

Is there a way to change how the date system works?

You can add a prefix and suffix to the date, but you cannot change the date format away from the Gregorian calendar.

EVWeb informed me I made errors in my example above. The strings won't work the way I posted them. They should instead be:

Outfit 129: o128 & !(o130 | o131)
Outfit 130: o128 & !(o129 | o131)
Outfit 131: o128 & !(o129 | o130)

Thanks EVWeb for pointing that out.