diff options
-rw-r--r-- | Changelog-Trunk.txt | 2 | ||||
-rw-r--r-- | src/map/battle.c | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index a31fc26c8..310865aba 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,8 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. 2006/12/31 + * Made HSCR bypass both Guard and Shield Reflect using the dirty way [DracoRPG] + > cleaner way would need to rethink the whole skill's implementation * Added more info when npc_scriptcont tries to continue a different script. * Refer to http://www.eathena.ws/board/index.php?showtopic=130285 - Renamed pc_checkweighticon to pc_updateweightstatus and cleaned it. diff --git a/src/map/battle.c b/src/map/battle.c index beca8752d..9f6300bfb 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -275,6 +275,7 @@ int battle_calc_damage(struct block_list *src,struct block_list *bl,int damage,i } if(sc->data[SC_AUTOGUARD].timer != -1 && flag&BF_WEAPON && + skill_num != WS_CARTTERMINATION && // FIXME(?): Quick and dirty check, but HSCR really bypasses Guard [DracoRPG] rand()%100 < sc->data[SC_AUTOGUARD].val2) { int delay; clif_skill_nodamage(bl,bl,CR_AUTOGUARD,sc->data[SC_AUTOGUARD].val1,1); @@ -2796,7 +2797,7 @@ int battle_calc_return_damage(struct block_list *bl, int skill, int *damage, int BL_CAST(BL_PC, bl, sd); sc = status_get_sc(bl); - if(flag&BF_WEAPON) { + if(flag&BF_WEAPON && skill != WS_CARTTERMINATION) { // FIXME(?): Quick and dirty check, but HSCR does bypass Shield Reflect... so I make it bypass the whole reflect thing [DracoRPG] //Bounces back part of the damage. if (flag & BF_SHORT) { if (sd && sd->short_weapon_damage_return) |