diff options
author | malufett <malufett.eat.my.binaries@gmail.com> | 2013-10-16 03:11:25 +0800 |
---|---|---|
committer | malufett <malufett.eat.my.binaries@gmail.com> | 2013-10-16 03:11:25 +0800 |
commit | 9692bc034537693d331148ae8bd15153265c6cf0 (patch) | |
tree | 274e4f14e69802e5bfd59976f3a7bf7649f98ab8 /src/map/battle.c | |
parent | 3e58e470d0bfc5e615246ef6a7ffff6a1190e0c9 (diff) | |
download | hercules-9692bc034537693d331148ae8bd15153265c6cf0.tar.gz hercules-9692bc034537693d331148ae8bd15153265c6cf0.tar.bz2 hercules-9692bc034537693d331148ae8bd15153265c6cf0.tar.xz hercules-9692bc034537693d331148ae8bd15153265c6cf0.zip |
Fixed Bug#7374
-Hercules now fully support Monster Transformation.
Signed-off-by: malufett <malufett.eat.my.binaries@gmail.com>
Diffstat (limited to 'src/map/battle.c')
-rw-r--r-- | src/map/battle.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index ef62eb1d2..1c736d9b7 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -4534,6 +4534,8 @@ struct Damage battle_calc_weapon_attack(struct block_list *src,struct block_list ATK_ADDRATE(sd->bonus.atk_rate); if(flag.cri && sd->bonus.crit_atk_rate) ATK_ADDRATE(sd->bonus.crit_atk_rate); + if(flag.cri && sc && sc->data[SC_MTF_CRIDAMAGE]) + ATK_ADDRATE(25);// temporary it should be 'bonus.crit_atk_rate' #ifndef RENEWAL if(sd->status.party_id && (temp=pc->checkskill(sd,TK_POWER)) > 0){ @@ -4721,6 +4723,8 @@ struct Damage battle_calc_weapon_attack(struct block_list *src,struct block_list #ifdef RENEWAL if( wd.flag&BF_LONG ) ATK_ADDRATE(sd->bonus.long_attack_atk_rate); + if( sc && sc->data[SC_MTF_RANGEATK] ) + ATK_ADDRATE(25);// temporary it should be 'bonus.long_attack_atk_rate' #endif if( (i=pc->checkskill(sd,AB_EUCHARISTICA)) > 0 && (tstatus->race == RC_DEMON || tstatus->def_ele == ELE_DARK) ) @@ -5472,6 +5476,9 @@ enum damage_lv battle_weapon_attack(struct block_list* src, struct block_list* t return ATK_DEF; return ATK_MISS; } + if( tsc && tsc->data[SC_MTF_MLEATKED] && rnd()%100 < 20 ) + clif->skill_nodamage(target, target, SM_ENDURE, 5, + sc_start(target, SC_ENDURE, 100, 5, skill->get_time(SM_ENDURE, 5))); } if(tsc && tsc->data[SC_KAAHI] && tsc->data[SC_KAAHI]->val4 == INVALID_TIMER && tstatus->hp < tstatus->max_hp) @@ -6477,7 +6484,7 @@ static const struct _battle_data { { "feature.banking", &battle_config.feature_banking, 1, 0, 1, }, { "feature.auction", &battle_config.feature_auction, 0, 0, 2, }, - + { "mon_trans_disable_in_gvg", &battle_config.mon_trans_disable_in_gvg, 0, 0, 1, }, }; #ifndef STATS_OPT_OUT /** |