diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/map/battle.c | 7 | ||||
-rw-r--r-- | src/map/status.c | 33 | ||||
-rw-r--r-- | src/map/status.h | 4 |
3 files changed, 12 insertions, 32 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index 9fa4224f5..23423502a 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -1183,8 +1183,8 @@ int battle_calc_defense(int attack_type, struct block_list *src, struct block_li * def1 = equip def * def2 = status def **/ - defType def1 = status_get_def(target); //Don't use tstatus->def1 due to skill timer reductions. - short def2 = tstatus->def2, vit_def; + defType def1 = status_get_def(target), def2 = tstatus->def2; //Don't use tstatus->def1 due to skill timer reductions. + short vit_def; def1 = status_calc_def2(target, tsc, def1, false); // equip def(RE) def2 = status_calc_def(target, tsc, def2, false); // status def(RE) @@ -1289,8 +1289,7 @@ int battle_calc_defense(int attack_type, struct block_list *src, struct block_li case BF_MAGIC: { - defType mdef = tstatus->mdef; - short mdef2= tstatus->mdef2; + defType mdef = tstatus->mdef, mdef2 = tstatus->mdef2; mdef2 = status_calc_mdef(target, tsc, mdef2, false); // status mdef(RE) mdef = status_calc_mdef2(target, tsc, mdef, false); // equip mde(RE) diff --git a/src/map/status.c b/src/map/status.c index 096e673c2..57858a493 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -4913,14 +4913,10 @@ defType status_calc_def(struct block_list *bl, struct status_change *sc, int def return (defType)cap_value(def,DEFTYPE_MIN,DEFTYPE_MAX); } -signed short status_calc_def2(struct block_list *bl, struct status_change *sc, int def2, bool viewable) +defType status_calc_def2(struct block_list *bl, struct status_change *sc, int def2, bool viewable) { if(!sc || !sc->count) -#ifdef RENEWAL - return (short)cap_value(def2,SHRT_MIN,SHRT_MAX); -#else - return (short)cap_value(def2,1,SHRT_MAX); -#endif + return (defType)cap_value(def2,DEFTYPE_MIN,DEFTYPE_MAX); if( !viewable ){ /* some statuses that are hidden in the status window */ @@ -4980,11 +4976,7 @@ signed short status_calc_def2(struct block_list *bl, struct status_change *sc, i if (sc->data[SC_NEEDLE_OF_PARALYZE]) def2 -= def2 * sc->data[SC_NEEDLE_OF_PARALYZE]->val2 / 100; -#ifdef RENEWAL - return (short)cap_value(def2,SHRT_MIN,SHRT_MAX); -#else - return (short)cap_value(def2,1,SHRT_MAX); -#endif + return (defType)cap_value(def2,DEFTYPE_MIN,DEFTYPE_MAX); } @@ -5036,24 +5028,17 @@ defType status_calc_mdef(struct block_list *bl, struct status_change *sc, int md return (defType)cap_value(mdef,DEFTYPE_MIN,DEFTYPE_MAX); } -signed short status_calc_mdef2(struct block_list *bl, struct status_change *sc, int mdef2, bool viewable) -{ +defType status_calc_mdef2(struct block_list *bl, struct status_change *sc, int mdef2, bool viewable) { if(!sc || !sc->count) -#ifdef RENEWAL - return (short)cap_value(mdef2,SHRT_MIN,SHRT_MAX); -#else - return (short)cap_value(mdef2,1,SHRT_MAX); -#endif + return (defType)cap_value(mdef2,DEFTYPE_MIN,DEFTYPE_MAX); if( !viewable ){ /* some statuses that are hidden in the status window */ #ifdef RENEWAL if(sc && sc->data[SC_ASSUMPTIO]) mdef2 <<= 1; - return (short)cap_value(mdef2,SHRT_MIN,SHRT_MAX); -#else - return (short)cap_value(mdef2,1,SHRT_MAX); #endif + return (defType)cap_value(mdef2,DEFTYPE_MIN,DEFTYPE_MAX); } if (sc->data[SC_BERSERK] || sc->data[SC__BLOODYLUST]) @@ -5065,11 +5050,7 @@ signed short status_calc_mdef2(struct block_list *bl, struct status_change *sc, if(sc->data[SC_ANALYZE]) mdef2 -= mdef2 * ( 14 * sc->data[SC_ANALYZE]->val1 ) / 100; -#ifdef RENEWAL - return (short)cap_value(mdef2,SHRT_MIN,SHRT_MAX); -#else - return (short)cap_value(mdef2,1,SHRT_MAX); -#endif + return (defType)cap_value(mdef2,DEFTYPE_MIN,DEFTYPE_MAX); } static unsigned short status_calc_speed(struct block_list *bl, struct status_change *sc, int speed) diff --git a/src/map/status.h b/src/map/status.h index 617cd9572..b906a4a1d 100644 --- a/src/map/status.h +++ b/src/map/status.h @@ -1848,9 +1848,9 @@ int status_check_visibility(struct block_list *src, struct block_list *target); int status_change_spread( struct block_list *src, struct block_list *bl ); defType status_calc_def(struct block_list *bl, struct status_change *sc, int, bool); -signed short status_calc_def2(struct block_list *,struct status_change *, int, bool); +defType status_calc_def2(struct block_list *,struct status_change *, int, bool); defType status_calc_mdef(struct block_list *bl, struct status_change *sc, int, bool); -signed short status_calc_mdef2(struct block_list *,struct status_change *, int, bool); +defType status_calc_mdef2(struct block_list *,struct status_change *, int, bool); #ifdef RENEWAL unsigned short status_base_matk(const struct status_data* status, int level); |