Difference between revisions of "Fall Damage"
From Worms Knowledge Base
(Correct a misconception about fall damage – it's all or nothing, and doesn't increase from being enabled on the way up) |
(Restore dead external links from web archive) |
||
Line 1: | Line 1: | ||
{{ParentArticle|[[Game logic]]}} | {{ParentArticle|[[Game logic]]}} | ||
− | There really is no maximum fall damage — there's a maximum vertical speed, and it's normally at this impact speed that the highest fall damage is reached. With TestStuff5, there's no maximum speed. The maximum fall damage with TestStuff5 should be 32767/18 = 1820 (at extremely high speeds the damage will be pseudo-randomized due to integer truncation, but it'll always be <= 1820). [http://forum.team17.com/showpost.php?p=642019&postcount=66] | + | There really is no maximum fall damage — there's a maximum vertical speed, and it's normally at this impact speed that the highest fall damage is reached. With TestStuff5, there's no maximum speed. The maximum fall damage with TestStuff5 should be 32767/18 = 1820 (at extremely high speeds the damage will be pseudo-randomized due to integer truncation, but it'll always be <= 1820). [https://web.archive.org/web/20120205083355/http://forum.team17.com/showpost.php?p=642019&postcount=66] |
== Fall Damage Formulas == | == Fall Damage Formulas == | ||
Line 31: | Line 31: | ||
Note that fall damage is correctly activated with TestStuff in such circumstances. | Note that fall damage is correctly activated with TestStuff in such circumstances. | ||
− | [http://forum.team17.com/showthread.php?p=723112 | + | [https://web.archive.org/web/20120205083409/http://forum.team17.com/showthread.php?p=723112 Discussion thread] |
Revision as of 20:56, 3 January 2020
There really is no maximum fall damage — there's a maximum vertical speed, and it's normally at this impact speed that the highest fall damage is reached. With TestStuff5, there's no maximum speed. The maximum fall damage with TestStuff5 should be 32767/18 = 1820 (at extremely high speeds the damage will be pseudo-randomized due to integer truncation, but it'll always be <= 1820). [1]
Fall Damage Formulas
Here is the exact formula, in BASIC parlance:
FDCOEF = (FDBYTE * 50) mod 256
DAMAGE = INT(((VSPEED - 8 + 1/65536) * FDCOEF + 18) / 18)
VSPEED is the vertical speed at impact in pixels per frame. The normal maximum for this 32. So using the standard values for everything: DAMAGE = INT(((32 - 8 + 1/65536) * 50 + 18) / 18) = 67
Note: With a value of FDCOEF=0, this formula gives a DAMAGE=1. However, W:A treats this as an exception — FDCOEF=0 disables fall damage completely.
Here is the reverse formula, covering values of FDPERCENT ranging from 0 to 508 in increments of 4: FDBYTE = ((FDPERCENT / 4) * 41) mod 128
Before Deadcode's fixes, W:A used to use this formula instead:
DAMAGE = INT((VSPEED - 7) * FDCOEF) / 18
This yields a standard max fall damage of 69 instead of 67.
Activation "failure"
W:A replay: Video-info about Fall Damage activation with 508% fall damage setting. | |
Download · Info |
An intentional feature added by Team17 prevents fall damage from being applied the first time the worm hits the ground after being hit with an explosion. Without this feature, a lot more inconsistency from damage taken from explosions would happen (because fall damage works based on the velocity, not the distance travelled). Note that this "failure" only happens with explosions (and not with punches or arrows).
If you're looking to maximise the damage done with an explosive weapon by having it throw the enemy worm high into the air, you should aim to try and have the worm bounce off of a wall before its first downward collision with a floor occurs, so that fall damage will be enabled upon it and every subsequent downward collision that occurs as it slides and/or bounces around until coming to a halt.
Note that fall damage is correctly activated with TestStuff in such circumstances.