Vanilla issue when attack lands on a target with one of these flags:
- DAM_DROP - should drop target's weapon on his feet. Instead nothing happens.
- DAM_DESTROY - should destroy weapon in target's hands. Instead weapon in attacker's hand is destroyed.
The reason - show_damage_to_object has parameters:
- critter - this can is either attacker (on, e.g. critical failures) or target (or extras etc.)
- weapon - weapon used by attacker for the attack.
When internal_destroy or obj_drop is called, these parameters are always passed to these functions. So for flags on attacker they will work correctly, but not for normal attacks.
Vanilla issue when attack lands on a target with one of these flags:
The reason - show_damage_to_object has parameters:
When
internal_destroyorobj_dropis called, these parameters are always passed to these functions. So for flags on attacker they will work correctly, but not for normal attacks.