Jump to content

  •  

Bug Tracker Migration

June 3rd
Good news everyone! The staff has decided that it is time to slowly kill off this Bug Tracker. We will begin the process of slowly migrating from this Bug Tracker over to our Github Issues which can be found here: https://github.com/HerculesWS/Hercules/issues

Over the next couple of days, I will be closing off any opportunity to create new reports. However, I still will keep the opportunity to reply to existing Bug Reports. Doing this will allow us to slowly fix any bug reports we have listed here so that we can easily migrate over to our Issue Tracker.

Update - June 7th 2015: Creating new bug posts has been disabled. Please use our https://github.com/HerculesWS/Hercules/issues tracker to post bugs. Users are still able to reply to existing bug posts.

- Administration

Issue Information

Issue Confirmations

  • Yes (1)No (0)
Photo

trap code is broken

Posted by Hercules Bot on 01 March 2009 - 01:16 PM

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...
  1. you can't do damage to traps with arrow shower
    because this code exits from status_damage() before applying the damage.
    CODE
        if (target->type == BL_SKILL)
            return skill_unit_ondamaged((struct skill_unit *)target, src, hp, gettick());
  2. can't directly attack traps, even my own
  3. only blast mine has knockback as a side-effect to getting hit. This code also affects claymore trap, which is wrong:
    CODE
        case UNT_BLASTMINE:
        case UNT_CLAYMORETRAP:
            skill_blown(bl, &src->bl, 2, -1, 0);
  4. 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

Originally posted by Ind
1. the skill_unit_ondamaged reduces src->val1 which is checked upon on every trap iteration (every 1s), and if lower than 0 it deletes itself.
2 and 3 fixed in [rev=15380]
4. was fixed in a previous eA revision