Menu

#4173 Incorrect attacker falling damage from successful Death From Above

stable 0.40
closed
fixed
1
2014-08-26
2014-06-18
Crazy S
No

Version 0.37.12-exp

If the attacker of a DFA falls due to a successful attack, the attacker takes damage as though falling 2 levels. The Dread Reaper in the following example is 75 tons and thus should take 8 damage:

=========================

Physical attacks for Dread Reaper A (C) (Crazy S)
Attempting death from above on Grigori C-GRG-O Invictus (Princess); needs 2, rolls 10 : - Direct Blow - hits.

...

Dread Reaper A (C) (Crazy S) must make 1 piloting skill roll(s) (executed death from above).
The base target is 3 [3 (Base piloting skill)].
Roll #1, (3 (Base piloting skill) + 4 (executed death from above)); needs 7, rolls 5 : falls.
Dread Reaper A (C) (Crazy S) falls on its right side, suffering 16 damage.
Dread Reaper A (C) (Crazy S) takes 5 damage to CTR.
6 Armor remaining.
Dread Reaper A (C) (Crazy S) takes 5 damage to LTR.
3 Armor remaining.
Dread Reaper A (C) (Crazy S) takes 5 damage to RT.
17 Armor remaining.
Dread Reaper A (C) (Crazy S) takes 1 damage to LA.
23 Armor remaining.

=========================

As you can see, the 'Mech took 16 damage, as though from a level 2 fall.

According to the "Falls" section of the DFA rules (TW, page 150):

=========================

A successful death from above attack may cause both ’Mechs
to fall. Both MechWarriors must make Piloting Skill Rolls, the
target adding a +2 modifier and the attacker adding a +4 modifier.
If either unit fails this roll, the unit takes damage as from a
0-level fall.

On an unsuccessful attack, the attacker automatically falls,
taking damage as though the ’Mech had fallen 2 levels onto its
back (see Falling, p. 68).

=========================

The current implementation is correct if the DFA missed. However, my 'Mech in the example hit with the DFA, and thus should take damage as though from a level 0 fall.

1 Attachments

Discussion

  • Nicholas Walczak

    • assigned_to: Nicholas Walczak
    • Resolution: none --> accepted
    • Milestone: undetermined --> post-stable 0.38
     
  • Nicholas Walczak

    Alright, I've got this figured out and fixed in [r10975].

    It looks like the bug was introduced in [r10432].

    In that commit, a change was made to what the Entity's elevation was set to before doing the displacement. The code used Entity.calcElevation(2), but it should've used Entity.calcElevation(5). The 2 argument version uses the Entity's current elevation as the "assumed elevation" and for DFA's it was set to 1 from performing the DFA. With the 5 argument version you can set the asssumed elevation to the proper value of 0 (since the 'mech is landing).

     

    Related

    Commit: [r10432]
    Commit: [r10975]

  • Nicholas Walczak

    • Resolution: accepted --> fixed
     
  • Nicholas Walczak

    • Milestone: exp 0.40 --> stable 0.40
     
  • Dylan Myers

    Dylan Myers - 2014-08-26
    • Status: open --> closed
     

Log in to post a comment.