summaryrefslogtreecommitdiff
path: root/src/map/battle.h
diff options
context:
space:
mode:
authorshennetsind <ind@henn.et>2013-11-28 13:20:02 -0200
committershennetsind <ind@henn.et>2013-11-28 13:20:02 -0200
commitae13db97ea770e37450e4e2c1a7919ce98d705a8 (patch)
tree193e3c349f022e2d76df2a0bc462476e29a91cb1 /src/map/battle.h
parent2761bb0af9ddfa8bd14cefa9b6e1b33b2940e7be (diff)
downloadhercules-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.h4
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 */