summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authorshennetsind <ind@henn.et>2013-11-26 18:59:27 -0200
committershennetsind <ind@henn.et>2013-11-26 18:59:27 -0200
commit41a1f804e02aca52bf941dd12e4bf08e03e91dca (patch)
treeda827963f80c63034cb57444b11392b25bd2e959 /src/map/skill.c
parent7ee782c0d3df09ed494dd310489d3512f4e87ad0 (diff)
downloadhercules-41a1f804e02aca52bf941dd12e4bf08e03e91dca.tar.gz
hercules-41a1f804e02aca52bf941dd12e4bf08e03e91dca.tar.bz2
hercules-41a1f804e02aca52bf941dd12e4bf08e03e91dca.tar.xz
hercules-41a1f804e02aca52bf941dd12e4bf08e03e91dca.zip
Fixed Bug 7859
magic reflect now nullifies any knockback. Special Thanks to Yommy. http://hercules.ws/board/tracker/issue-7859-magic-reflect-knock-back/ Signed-off-by: shennetsind <ind@henn.et>
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index 8cce62f94..698252d18 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -2116,7 +2116,7 @@ int skill_attack(int attack_type, struct block_list* src, struct block_list *dsr
struct map_session_data *sd, *tsd;
int type;
int64 damage;
- int8 rmdamage=0;//magic reflected
+ bool rmdamage = false;//magic reflected
bool additional_effects = true, shadow_flag = false;
if(skill_id > 0 && !skill_lv) return 0;
@@ -2173,7 +2173,7 @@ int skill_attack(int attack_type, struct block_list* src, struct block_list *dsr
if( (dmg.damage || dmg.damage2) && (type = skill->magic_reflect(src, bl, src==dsrc)) ) {
//Magic reflection, switch caster/target
struct block_list *tbl = bl;
- rmdamage = 1;
+ rmdamage = true;
bl = src;
src = tbl;
dsrc = tbl;
@@ -2184,7 +2184,8 @@ int skill_attack(int attack_type, struct block_list* src, struct block_list *dsr
sc = NULL; //Don't need it.
/* bugreport:2564 flag&2 disables double casting trigger */
flag |= 2;
-
+ /* bugreport:7859 magical reflect'd zeroes blewcount */
+ dmg.blewcount = 0;
//Spirit of Wizard blocks Kaite's reflection
if( type == 2 && sc && sc->data[SC_SOULLINK] && sc->data[SC_SOULLINK]->val2 == SL_WIZARD )
{ //Consume one Fragment per hit of the casted skill? [Skotlex]