.com.unity Forums

.com.unity Forums (http://forum.shrapnelgames.com/index.php)
-   SEV Modders Knowledge Base (http://forum.shrapnelgames.com/forumdisplay.php?f=154)
-   -   Modding SEV Thread Questions (http://forum.shrapnelgames.com/showthread.php?t=30358)

Kana September 18th, 2006 08:12 PM

Modding SEV Thread Questions
 
Might as well start asking questions, and getting answers, so that we can easily start putting together the mods that will make SEV a great game. I ask that you bold your question, normal type any other explanation or text, and if you have an answer please Quote the Bold, and then Italics your answer.

Thanks...

Kana September 18th, 2006 08:14 PM

Re: Modding SEV Thread Questions
 
Can you pick different models for each level increase in a ship class?

This would facilitate the improvement and upgrade of certain vessel classes. A Frigate from WW1 is completely different from a Frigate of modern times. Or another example would be like the progression of a the Enterprise in Star Trek, from the TV version to the Movie version.

Jarena September 18th, 2006 08:33 PM

Re: Modding SEV Thread Questions
 
Kana: I don't want to think about how much work that would take to make a complete shipset. Even if it is possible, I don't think you'd find much support.
My question:

Can you impliment action-specific experience types?

I was looking through experience types earlier, and noticed a lot of different catagories. This may be a well-documented feature I've just missed, but I think it would be cool if, say, after n kt of damage towards a planet, a ship gains a "seige experience" modifier. Or picks up "green/experienced/veteran Sniper" after n# successful beam hits.
Something like that.

jowe01 September 18th, 2006 09:20 PM

Scale factors for building prices and maintenance?
 
Are there any overarching scaling factors for building prices and maintenance somewhere in the text files?
In SE4, I always found that the price of ships was much too low compared to their maintenance cost(or maintenance too high comp. to building cost), meaning that it did not sufficiently hurt to loose a ship. Basically, every 4 turns you paid the building price again through maintenance cost. Why bother to bring back a damaged ship to repair, when during the time you drag it to a shipyard, you spend more resources than it would take to build a whole new ship?
Therefore, I approximately doubled the building cost and time for all hulls and components and halfed maintenance cost. However, while cutting maintenance in half was very easily done in the SE4 text files, doubling production cost requires touching every single hull and component - several hours of work each time a major patch came out.

In SE5, is there a general scaling parameter for production cost, too?

bearclaw September 18th, 2006 09:46 PM

Re: Scale factors for building prices and maintenance?
 
Is there a master list of all abilities/restrictions for SEV like SEIV's Abilities.txt file?

Phoenix-D September 18th, 2006 09:48 PM

Re: Modding SEV Thread Questions
 
Quote:

Kana said:
Can you pick different models for each level increase in a ship class?

This would facilitate the improvement and upgrade of certain vessel classes. A Frigate from WW1 is completely different from a Frigate of modern times. Or another example would be like the progression of a the Enterprise in Star Trek, from the TV version to the Movie version.

Can't be done.

You could however make new ship classes available, but you'd have a very cluttered ship design screen.

Fyron September 18th, 2006 09:53 PM

Re: Scale factors for building prices and maintena
 
1 Attachment(s)
jowe01:
You know, with a simple python script, you could double all costs in SE4 in a matter of seconds. See attached file. You will need Python 2.4 installed to run it.

For SE5, it would have to be a little more complex to handle formulas, but that will be easy enough to do.

Of course, it will indiscriminately double unit component costs as it is, but there are a lot of components that can be used on ships, satellites, and drones in stock.

Noble713 September 18th, 2006 10:30 PM

Re: Modding SEV Thread Questions
 
Can anyone decifer the weapon damage and range formulas?

I'm referring to stuff like this:

Weapon Space Min Damage Modifier Formula := (5 + (([%Level%] - 1) * 2)) - iif([%Range%] > Min(30, (([%Level%] - 1) * 20) + 10), 10000, 0)

I'll try to explain my understanding, taking it piece by piece:
(5 + (([%Level%] - 1) * 2)) Gives a damage rate based on the level of the component.

Min(30, (([%Level%] - 1) * 20) + 10) Compares a number to the value of a function based on the weapon level and returns the lower of the two?

- iif([%Range%] > ..... ,10000, 0) If the range is greater than the value returned above, return 1st number. Otherwise return the 2nd number?


Geesh. I think I'm going to need Excel graphs to tweak damage formulas for my mods.

StarShadow September 18th, 2006 10:38 PM

Re: Modding SEV Thread Questions
 
Translastion (please correct me if I'm wrong)

Assume a level 1 weapon..

damage = (5 + (1 - 1) * 2) = 10 (with 0 damage past range 30)

The damage I have almost no trouble with, but I'm not too sure of anything after the 'iif' statement.

Fyron September 19th, 2006 12:22 AM

Re: Modding SEV Thread Questions
 
The given formula is for a weapon without any range attenuation, so I will instead use this one:

Weapon Space Min Damage Modifier Formula := (55 + (([%Level%] - 1) * 5)) - (([%Range%] / 10) * 5) - iif([%Range%] > Min(90, (([%Level%] - 1) * 4) + 50), 10000, 0)

=0=

iff(CONDITION, a, b) means:

If CONDITION is true, do a. Otherwise, do b. It is a messy way to put:

if (CONDITION) {
do a
}
else {
do b
}

Sadly, it is the only way to do that when your entire "formula" has to fit on a single line.

Min(x, y) is a function that returns whichever value is smaller, x or y.

=0=

Now to look at the formula:

(55 + (([%Level%] - 1) * 5)) - (([%Range%] / 10) * 5) - iif([%Range%] > Min(90, (([%Level%] - 1) * 4) + 50), 10000, 0)

The first part is pretty straightforward:
(55 + (([%Level%] - 1) * 5))

This evaluates to 5 plus 2 times one less than component level. This part is the base damage value, the damage at range 0.

The next part is the damage attenuation rate (aka: damage reduction over range).

- (([%Range%] / 10) * 5)

For every 10 units of distance, subtract 5 damage.

The last part, the big iff, is the max range setting.

- iif([%Range%] > Min(90, (([%Level%] - 1) * 4) + 50), 10000, 0)

In this case, we have:

CONDITION = [%Range%] > Min(90, (([%Level%] - 1) * 4) + 50)
a = 10000
b = 0

When the range to the target gets larger than a certain value, 10000 will be subtracted from the damage value. This effectively cuts off damage at that range, due to negative value handling.

The CONDITION is the part that is determining the max range; it is the minimum of 90 or (([%Level%] - 1) * 4) + 50). Thus, every instance of the weapon will have at most a range of 90. The second value that we compare 90 to is the range increase via tech levels. It is 50 plus 4 times one less than the level of the component. Isn't that nice wording? hehe.

This breaks out to the following ranges at tech levels:

1: 50 + 0 = 50
2: 50 + 4 = 54
3: 50 + 8 = 58
4: 50 + 12 = 62
5: 50 + 16 = 66
...
10: 50 + 40 = 90
11: 50 + 44 = 94

Note that level 11 gets a value greater than 90, so the Min function call forces the max range down to 90.


All times are GMT -4. The time now is 03:22 PM.

Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©1999 - 2024, Shrapnel Games, Inc. - All Rights Reserved.