Follow up to 7c5bda2
* Corrected the Flash Combo bonus ATK not being applied to the caster and not displaying in the status window. * Corrected Sky Net Blow not casting at the end of Flash Combo if the target is dead.
This commit is contained in:
parent
4c1c6e6d2f
commit
f264885411
@ -4438,13 +4438,6 @@ struct Damage battle_attack_sc_bonus(struct Damage wd, struct block_list *src, s
|
||||
}
|
||||
}
|
||||
|
||||
if (sc->data[SC_FLASHCOMBO]) {
|
||||
ATK_ADD(wd.damage, wd.damage2, sc->data[SC_FLASHCOMBO]->val2);
|
||||
#ifdef RENEWAL
|
||||
ATK_ADD(wd.equipAtk, wd.equipAtk2, sc->data[SC_FLASHCOMBO]->val2);
|
||||
#endif
|
||||
}
|
||||
|
||||
if((wd.flag&(BF_LONG|BF_MAGIC)) == BF_LONG) { // Monster Transformation bonus
|
||||
if (sc->data[SC_MTF_RANGEATK]) {
|
||||
ATK_ADDRATE(wd.damage, wd.damage2, sc->data[SC_MTF_RANGEATK]->val1);
|
||||
|
@ -3845,12 +3845,6 @@ static int skill_timerskill(int tid, unsigned int tick, int id, intptr_t data)
|
||||
target = map_id2bl(skl->target_id);
|
||||
if( ( skl->skill_id == RG_INTIMIDATE || skl->skill_id == SC_FATALMENACE ) && (!target || target->prev == NULL || !check_distance_bl(src,target,AREA_SIZE)) )
|
||||
target = src; //Required since it has to warp.
|
||||
if(target == NULL)
|
||||
break; // Target offline?
|
||||
if(target->prev == NULL)
|
||||
break; // Target not on Map
|
||||
if(src->m != target->m)
|
||||
break; // Different Maps
|
||||
|
||||
if (skl->skill_id == SR_SKYNETBLOW) {
|
||||
clif_skill_damage(src,src,tick,status_get_amotion(src),0,-30000,1,skl->skill_id,skl->skill_lv,DMG_SKILL);
|
||||
@ -3860,6 +3854,13 @@ static int skill_timerskill(int tid, unsigned int tick, int id, intptr_t data)
|
||||
break;
|
||||
}
|
||||
|
||||
if(target == NULL)
|
||||
break; // Target offline?
|
||||
if(target->prev == NULL)
|
||||
break; // Target not on Map
|
||||
if(src->m != target->m)
|
||||
break; // Different Maps
|
||||
|
||||
if(status_isdead(src)) {
|
||||
switch(skl->skill_id) {
|
||||
case WL_CHAINLIGHTNING_ATK:
|
||||
@ -9743,7 +9744,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
|
||||
if (sd)
|
||||
sd->ud.attackabletime = sd->canuseitem_tick = sd->ud.canact_tick;
|
||||
clif_skill_nodamage(src,bl,skill_id,skill_lv,
|
||||
sc_start2(src,bl,type,100,skill_lv,bl->id,skill_get_time(skill_id,skill_lv)));
|
||||
sc_start(src,src,type,100,skill_lv,skill_get_time(skill_id,skill_lv)));
|
||||
for (i = 0; i < ARRAYLENGTH(combo); i++)
|
||||
skill_addtimerskill(src,tick + delay[i],bl->id,0,0,combo[i],skill_lv,BF_WEAPON,flag|SD_LEVEL);
|
||||
}
|
||||
|
@ -723,7 +723,7 @@ void initChangeTables(void)
|
||||
set_sc( SR_GENTLETOUCH_ENERGYGAIN , SC_GT_ENERGYGAIN , SI_GENTLETOUCH_ENERGYGAIN , SCB_NONE );
|
||||
set_sc( SR_GENTLETOUCH_CHANGE , SC_GT_CHANGE , SI_GENTLETOUCH_CHANGE , SCB_WATK|SCB_MDEF|SCB_ASPD );
|
||||
set_sc( SR_GENTLETOUCH_REVITALIZE , SC_GT_REVITALIZE , SI_GENTLETOUCH_REVITALIZE , SCB_MAXHP|SCB_REGEN );
|
||||
set_sc( SR_FLASHCOMBO , SC_FLASHCOMBO , SI_FLASHCOMBO , SCB_NONE );
|
||||
set_sc( SR_FLASHCOMBO , SC_FLASHCOMBO , SI_FLASHCOMBO , SCB_WATK );
|
||||
|
||||
/* Wanderer / Minstrel */
|
||||
set_sc( WA_SWING_DANCE , SC_SWINGDANCE , SI_SWINGDANCE , SCB_SPEED|SCB_ASPD );
|
||||
@ -5518,6 +5518,8 @@ static unsigned short status_calc_watk(struct block_list *bl, struct status_chan
|
||||
watk += watk * sc->data[SC_ANGRIFFS_MODUS]->val2/100;
|
||||
if(sc->data[SC_ODINS_POWER])
|
||||
watk += 40 + 30 * sc->data[SC_ODINS_POWER]->val1;
|
||||
if (sc->data[SC_FLASHCOMBO])
|
||||
watk += sc->data[SC_FLASHCOMBO]->val2;
|
||||
|
||||
return (unsigned short)cap_value(watk,0,USHRT_MAX);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user