Issue Information
-
#002817
-
3 - Medium
-
Fixed
Issue Confirmations
-
Yes (1)No (0)
Originally posted by theultramage
http://www.eathena.w...er&showbug=2817
I recall Zephyrus trying to implement official trap behavior in some recent past. But testing of the changes was apparently skipped, and so the following defects were not pointed out...
This post has been edited by theultramage: Mar 1 2009, 05:20 AM
http://www.eathena.w...er&showbug=2817
I recall Zephyrus trying to implement official trap behavior in some recent past. But testing of the changes was apparently skipped, and so the following defects were not pointed out...
- you can't do damage to traps with arrow shower
because this code exits from status_damage() before applying the damage.CODEif (target->type == BL_SKILL)
return skill_unit_ondamaged((struct skill_unit *)target, src, hp, gettick()); - can't directly attack traps, even my own
- only blast mine has knockback as a side-effect to getting hit. This code also affects claymore trap, which is wrong:CODEcase UNT_BLASTMINE:
case UNT_CLAYMORETRAP:
skill_blown(bl, &src->bl, 2, -1, 0); - dependency chain when using the above self-knockback code:
First, the self-knockback code executes, always moving the trap 2 cells away from attacker.
Then, arrow shower executes and moves trap away from target center. BUT, the trap was already moved and is now on the other side, so it will get blown even further away, or even in a completely unexpected direction!
Officially, first the arrow shower effect is applied. Perhaps, it should not be an effect of damage, but the skill itself, working instantly instead of having attack delay?
This post has been edited by theultramage: Mar 1 2009, 05:20 AM