diff options
author | shennetsind <ind@henn.et> | 2013-11-28 13:20:02 -0200 |
---|---|---|
committer | shennetsind <ind@henn.et> | 2013-11-28 13:20:02 -0200 |
commit | ae13db97ea770e37450e4e2c1a7919ce98d705a8 (patch) | |
tree | 193e3c349f022e2d76df2a0bc462476e29a91cb1 /src/map/battle.h | |
parent | 2761bb0af9ddfa8bd14cefa9b6e1b33b2940e7be (diff) | |
download | hercules-ae13db97ea770e37450e4e2c1a7919ce98d705a8.tar.gz hercules-ae13db97ea770e37450e4e2c1a7919ce98d705a8.tar.bz2 hercules-ae13db97ea770e37450e4e2c1a7919ce98d705a8.tar.xz hercules-ae13db97ea770e37450e4e2c1a7919ce98d705a8.zip |
Follow up fdb6de1aa34086fd4d22ae127437727f556cea3c
Modified reflect code so that each reflection source can judge whether to apply or not, necessary for mechanics such as item-bonus reflect triggers even on autoguard while reflect shield does not.
Re-added that "reflect shield" overhead display which I mistakenly removed in fdb6de1aa34086fd4d22ae127437727f556cea3c. Added code to refrain damage numbers from overlapping in the client, which would render them illegible.
Special Thanks to kyeme, Yommy.
http://hercules.ws/board/tracker/issue-7792-safety-wall-reflect-bug-body-relocation-error/
Signed-off-by: shennetsind <ind@henn.et>
Diffstat (limited to 'src/map/battle.h')
-rw-r--r-- | src/map/battle.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/map/battle.h b/src/map/battle.h index 645b1761f..4d4508742 100644 --- a/src/map/battle.h +++ b/src/map/battle.h @@ -526,8 +526,8 @@ struct battle_interface { int (*delay_damage) (int64 tick, int amotion, struct block_list *src, struct block_list *target, int attack_type, uint16 skill_id, uint16 skill_lv, int64 damage, enum damage_lv dmg_lv, int ddelay, bool additional_effects); /* drain damage */ void (*drain) (struct map_session_data *sd, struct block_list *tbl, int64 rdamage, int64 ldamage, int race, int boss); - /* damage return/reflect */ - int64 (*calc_return_damage) (struct block_list *target, struct block_list *src, int64 damage, int flag, uint16 skill_id); + /* damage reflect */ + void (*reflect_damage) (struct block_list *target, struct block_list *src, struct Damage *wd,uint16 skill_id); /* attribute rate */ int (*attr_ratio) (int atk_elem, int def_type, int def_lv); /* applies attribute modifiers */ |