In a previous thread I asked for more information than what is shown in the Wiki. I finally had a little time to step through the source code and figure out what each of the numerical attributes do. I hope this information will help modders with their item balancing.
Numerical values in shield accessories
* (reflective) : straightforward multiplier for the bounce velocity
* (mag) : converted into a vector (normal?) and added to weapon velocity. Value should be the desired delta-vee times 50
* : works as described, including laserproof=true
* : works as described, in the unlikely (right?) event that two tanks may collide
* : note that the surface of a tank (for game purposes) is not what the tank model looks like on screen.
and : OK, now we’re getting to the interesting part.
If a weapon’s damage size overlaps the shield radius, it does damage based on:
power -= damage * penetration
BTW, the code for shield breach overflow (tank damage) is mathematically correct.
I had been hoping that penetration meant shield-penetrating damage, like when enemy phasers hit the Enterprise’s shield, some of the energy gets through and blows up a console on the bridge, often killing Lieutenant Redshirt.
That is not the case. Penetration is a superfluous attribute. For example, the following three shields should function identically in the game:
* power=120 penet=0.4 remove=15
* power=1200 penet=4 remove=150
* power=300 penet=1 remove=37.5
Personally, I plan to normalize shields that I mod to use penetration=1. YMMV.
If a projectile (or roller) collides with a shield, it does damage based on:
power -= shieldhurtfactor * removepower
Note that shieldhurtfactor has nothing to do with any payload weapon’s damage.
Last, a nod of appreciation to GCamp for his readable coding style and helpful naming.