Nachtwolfruiner: I figure if my calculations and gameplay don't match, I haven't taken every last detail into account.
Slow_Runner: I won't give a total DPS for AOE attacks, just a DPS for the main target and a DPS for anything caught in the blast. So if 1 guy is targeted and 3 get hit with splash damage, the total DPS would be (Main DPS) + 3 * (AOE DPS).
I finished the DPS for Flayed Ones, and people need to send them against Land Raiders!
Normal DPS = Damage weapon would do if special attacks didn't interrupt it. It seems like this is the DPS the Flayed One should do, but it isn't.
Total DPS = Damage of weapon and special attacks combined.
AOE DPS = Damage that bystanders take from special attacks.
Code:
Armour type Normal DPS Total DPS AOE DPS
tp_infantry_low 47 37.33 7.94
tp_infantry_med 47 46.19 16.8
tp_infantry_high 47 44.83 15.45
tp_infantry_heavy_med 47 47.54 18.15
tp_infantry_heavy_high 31.33 35.15 15.55
tp_vehicle_low 23.5 21.2 6.5
tp_vehicle_med 19.58 17.44 5.19
tp_vehicle_high 7.83 26.71 21.82
tp_building_low 3.92 21.92 19.47
tp_building_med 1.57 6.65 5.67
tp_building_high 0 7.64 7.64
tp_monster_med 31.33 26.4 6.81
tp_monster_high 7.83 16.01 11.12
tp_commander 23.5 17.73 3.03
My Calculations:
DPS for a special attack = (avg damage / duration) * piercing
avg damage = (min damage + max damage) / 2
Pretty easy. But how do I combine the damage of the Flayed One's 3 special attacks with the damage from its normal weapon? The normal weapon and the special attacks don't overlap. The Flayed One stops attacking with its normal weapon while it does a special attack.
Code:
GameData["special_attack_ext"]["time_between_special_attacks"] = 4.000000
GameData["special_attack_ext"]["time_between_special_attacks_random"] = 1.000000
This means that the Flayed One uses its normal attack for 4 or 5 seconds, then does a special attack (which take 2 or 3 seconds), then normal attack for another 4 or 5 seconds, then another special attack, and so on.
Code:
GameData["special_attack_ext"]["special_attacks"]["special_attack_01"]["chance"] = 0.333000
Each special attack has a certain chance of being selected when the Flayed One decides to use a special attack. Conveniently, each has a chance of 1/3.
The average duration of a special attack is (duration(1) * chance(1) + duration(2) * chance(2) + duration(3) * chance(3)) = (3 * 0.333 + 3 * 0.333 + 2 * 0.333) = (2.666)
The average duration of normal attacks is 4.5 seconds, so the Flayed One spends 4.5 seconds with its normal attack for every 2.666 seconds it spends with special attacks. 4.5 + 2.666 = 7.166
Combined DPS = Sum(DPS of each weapon * time spent with each weapon) / total time
Combined DPS = (Normal DPS * 4.5) / 7.166 + (Average Special Attack DPS * 2.666) / 7.166
Average Special Attack DPS = Sum(Special Attack DPS * Special attack chance * Special Attack Duration)