Code: Select all
( (46 - $target.combinedskill / 5) * [(($target.maxhull)f / [($attacker.maxhull)f, 1.0].max), 1.0].min * [(($attacker.shieldpercentage + $attacker.hullpercentage) / [($target.shieldpercentage + $target.hullpercentage), 1.0].max), 1.0].min )i
Enemy pilot having higher skill reduces the chances of them bailing? Sure.
Your ship being in a worse condition than the enemy lowers the chances of the enemy bailing? Makes sense.
The SECOND part
Code: Select all
[(($target.maxhull)f / [($attacker.maxhull)f, 1.0].max), 1.0].min
ATTACKER(player)'s max hull is the denominator. The HIGHER the player's hull is (=the better the player's ship is), the LOWER the multiplier, resulting in lower chance for bailing.
This makes a scout have something like 5 times higher chances of making an enemy ship bail than a corvette.
This is how it would look in-universe.
Asgard : Surrender or die!
Enemy : Ha! No. Your pathetic ship doesn't scare me.
Kopis (Terran S mining ship. 1 gun, 1000 max hull.) : Surr...
Enemy (potentially an Asgard) : PLEASE SPARE MY LIFE OH FEARSOME ONE!
Flipping the second part would make more sense.
If you're worried about low hull fighters not having any real chance of capping larger ships, multiply the second and third parts together BEFORE capping it to 1.0 so heavy damage can counteract the max hull difference, THEN apply it to the first part.
Code: Select all
( (46 - $target.combinedskill / 5) * [(($attacker.maxhull)f / [($target.maxhull)f, 1.0].max * ($attacker.shieldpercentage + $attacker.hullpercentage) / [($target.shieldpercentage + $target.hullpercentage), 1.0].max), 1.0].min )i