Hard Light Productions Forums
Modding, Mission Design, and Coding => The Modding Workshop => Topic started by: JGZinv on February 28, 2009, 03:59:12 pm
-
Ok trying to lay out some snakes and working by the Wiki descriptions is getting
me confused again.
What I'm trying to do:
Establish a template, for setting up weapons damage for each weapon I have to make
whether it be a rocket, torpedo, laser, missile, or other wise. That way conversions go quickly
once I've got data on the weapon.
Problem:
Tachyon's weapons system seems as though it can't be converted to FS2, based on how it does
it's individual damage calculations.
Straight from one of the dev's -
a. Shield damage done by weapons is expressed as a percentage value. All ships start out with 100% shields and weapons deal damage in
0.5% increment values (for example, a mining laser might deal 1.5% shield damage per shot).
b. Hull damage done by weapons is expressed as a straight value. Different ships have different hull values. Bora ships tend to have weapons
that deal greater hull damage than GalSpan.
c. Some weapons have a chance (%) of bypassing a ship's hull (once the shield's have been depleted) and dealing direct damage to internal
systems (such as thrusters, weapon systems, and defensive systems) - direct damage to system meant that it became inoperable for a
certain amount of time. In the rush to complete the game I don't remember if this feature was fully implemented but I believe remnants of
the code may still be in place.
Basically I have these settings to work with:
$Damage:
* Base damage this weapon does. The actual damage is this number multiplied by the factors below.
* Base damage this beam does is continuous damage, damage is 5.5 times the damage value per second. The actual damage is this number multiplied by one of the factors below.
* Syntax: Float, damage
$Armor Factor:
* Multiplier for the damage done to armor
* Syntax: Float, damage multiplier
$Shield Factor:
* Multiplier for the damage done to shields
* Syntax: Float, damage multiplier
$Subsystem Factor:
* Multiplier for the damage done to subsystems
* Syntax: Float, damage multiplier
Plus everything in the Armor.tbl
What I've figured out... or so I think:
For Shield... $Shield Factor ??? Have $Damage used as a power of 10 as listed below?
For Hull, use armor factor (multiplicative or additive) after calculating true
value of weapon hull damage in Tach. Use $Damage as a base straight value (perhaps power of 10), then apply
the armor factor percentage to get your actual desired hull damage.
For Subsystem, consider $Damage as the normal subsystem damage value... apply this
with Hull damage in mind above. Optional - apply $Subsystem Factor
For reference, a light interceptor might have a shield of 15000 and a hull of 28000
This changes from ship to ship and no two ships are the same.
Basically I'm trying to work this all out conceptually before I start messing with settings en mass.
Need to know if I'm on the right track, if there's a better combination of settings to do this, or it can't be done (shields).
-
If I understand what you're trying to do...
a. Shield damage done by weapons is expressed as a percentage value. All ships start out with 100% shields and weapons deal damage in
0.5% increment values (for example, a mining laser might deal 1.5% shield damage per shot).
If weapons always inflict the same amount of shield damage in a percentage - let's say we're talking about this mining laser - then EVERY ship's shield must have the same hitpoints. Mining laser has shield damage of 1.5%. Therefore, if we have a ship with 1000 shield hitpoints, the mining laser should have a shield damage value of 15. If a different ship had 2000 shield hitpoints, however, the mining laser would only cause 0.75% shield damage. Hence why each ship would need the same amount of shield hitpoints.
However, if you have it inflicting 30 base damage, for example, you would need a shield factor of 0.5 on the weapon for it to cause 15 points of shield damage (I have put a subsystem factor in there as well to demonstrate):
$Damage: 30
$Armor Factor: 1.0
$Shield Factor: 0.5
$Subystem Factor: 0.25
With this interceptor example you have, though, which has 15000 shield hitpoints, the mining laser would need to have 225 points of shield damage to get 1.5%. You'll need to find a shield hitpoint value that suits you, and go from there.
Hope this helps. :)
-
Well you illustrated the problem quite well.
Mining laser has shield damage of 1.5%. Therefore, if we have a ship with 1000 shield hitpoints, the mining laser should have a shield damage value of 15. If a different ship had 2000 shield hitpoints, however, the mining laser would only cause 0.75%
That is oddly enough how it is supposed to work...
Tachyon has weapons which deal damage to shields using a percentage.
In other words they don't have a set amount of hitpoints to reduce by.
Like in your example:
Mining laser at 1.5% shield damage
with 400 hull damage
Versus a interceptor with 15000 shield and 28000 hull.... you get 225 shield damage and 400 hull damage.
Versus a medium craft with 20000 shield and 40000 hull... you get 300 shield damage and 400 hull damage.
This is why measuring these weapons have been such a pain.
I'm going to have to think about your idea of varying the shield's end of the problem, instead of the weapons.
My gut is telling me there's a lot of room in there for problems to crop up...
-
If weapons do a percentage damage of any ship's shields, then don't all ships effectively have the same shield strength?
-
If weapons do a percentage damage of any ship's shields, then don't all ships effectively have the same shield strength?
That was my first thought- set shields at the same value on all ships (100 would do), and then set the weapon shield damage to the number you want, which makes 15% shield damage = 15 HP shield damage, etc.
-
Except then you end up with a fleet of ships that can be killed identically (in the same amount of time)
by a single weapon.
There are differences for each weapon, and it is also divided by faction. So one side's weps are positives
are offset by the enemy negatives.
I'm going to try and sit down with this in earnest tonight and see about figuring it out.
Maybe this will help if I post these measurement tests:
Stock Pegasus Data:
[SHIELDS]
25000
[HULL]
10000
*denotes difference in recorded values
s = shield h = hull
secfull = denote letting shield recharge to full on target craft/starting over
Each ( ) is a single shot, and what the resulting remaining shield or
hull of the target Pegasus was after being hit.
Pegasus vs. Pegasus (testing same faction on itself)
Glint Light (S97) (S95) (S93)
Flare Med (S96) (S93) (S90)
Deimos Heavy (S86) (S73) (S60)
*Solaris (kill)
Hunter (S91) (S82) (S73)
*Blast (S71) (S49) (kill)
*Adv Balst (S75) (S37) (H19)
Disruptor (S38) secfull(S30) (noS)
Tiger (s96) (s93) (s89)
Sunspot (s82) (s65) ( s48)
Swarm (s79) (s58) (s37)
Helios (kill)
Chatter (s99) (s99) (s99)
Tractor (no effect s or h)
Poseidon vs. Pegasus (same faction but different opponent ship)
Glint Light (s97) (s95) (s93)
Flare Med (s96) (s93) (s90)
Deimos Heavy (s86) (s73) (s60)
*Solaris (s39) secfull(s39)
Hunter (s91) (s82) (s73)
*Blast (s78) (s57) (kill)
*Adv Blast (s57) (kill)
Disruptor (s30) (noS)
Tiger (s96) (s93) (s89)
Sunspot (s83) (s65) (s48)
Swarm (s79) (s58) (s37)
Helios (kill)
Chatter (s99) (s99) (s99)
Tractor (no effect s or h)
Mace vs. Pegasus (different faction, different ship, different weps)
Arc Light (s98) (s96) (s94)
Boron Med (s97) (s94) (s91)
Heavy Mining (s95) (s91) (s86)
Pulsar (s98) (s96) (s94)
Remote Sap (s51) (h19)
Inertia (no effect sh or h)
Power (no effect s or h)
Phase (s46) (noS)
Spire (s93) (s87) (s81)
*Plasma (s68) (s37) (s10 h35)
Helios (kill)
Railgun (s87) (s74) (s61)
*Corona (s77) (s56)
Cutlass vs. Pegasus (same faction/weps as mace, different ship)
Arc Light (s98) (s96) (s94)
Boron Med (s97) (s94) (s91)
Heavy Mining (s95) (s91 (s86)
Pulsar (s98) (s96) (s94)
Remote Sap (s72) (s22 h84)
Inertia (no effect s or h)
Power (no effect s or h)
Phase (s46) (noS)
Spire (s93) (s87) (s81)
*Plasma (s68) (s39 h32) (kill) / (s68) (s37) (s6)
Helios (kill)
Railgun (s87) (s74) (s61)
*Corona (s82) (s65) (s40)
Also note that while at first glance these figures would support the idea of identical shields...
This is always firing on the same craft....
If it was a pegasus firing on a cutlass, mace, or poseidon.. then the figures would be different for each.
Therein lies part of the problem.
-
sounds like something designed to make a ships shields fail after 20 shots of anything. probibly rounding the damage to the nearest 5% of the ships hull. the same laser which does 15% on fighter a might do 10% on fighter b. i would say just divide everything by 5 and hope fs uses type int to store shield damage, unfortiounately i looked at the code and it uses float, so theirs no faking it :D
if you want a weapon to do a specific amount of shield (or any other kind of damage), simply divide your desired damage by the $damage: value and use the result as your factor.