Made High Speed Cart Ram (WS_CARTTERMINATION) ignore Crusader's Guard and Shield Reflect.

And happy new year!

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9602 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
DracoRPG 2006-12-31 22:48:50 +00:00
parent d085b9f628
commit b6aac83a77
2 changed files with 4 additions and 1 deletions

View File

@ -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.

View File

@ -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)