Skip to content

Commit

Permalink
Updated Flash Combo effect
Browse files Browse the repository at this point in the history
* Clean up of revert fc68007.
* Removes SR_FLASHCOMBO_ATK_STEP# skills. Packet dump shows these skill IDs are not used.
* Fixes damage calculation for Tiger Cannon and Skynet Blow.
* Tiger Cannon is now passed as a neutral elemental attack.
* Tiger Cannon now properly removes 10% of damage done to target instead of 10% of max SP.
* Skynet Blow now properly casts at the end of Flash Combo.
* Updated the range for Dragon Combo, Fallen Empire, and Tiger Cannon to 1.
Thanks to @RagnarokNova and @Lemongrass3110 for packet information!
  • Loading branch information
aleos89 committed Feb 15, 2016
1 parent a368ef6 commit 7c5bda2
Show file tree
Hide file tree
Showing 8 changed files with 48 additions and 81 deletions.
10 changes: 3 additions & 7 deletions db/pre-re/skill_db.txt
Expand Up @@ -1099,11 +1099,11 @@

//****
// SR Sura
2326,-2,8,1,-1,0,0,10,-2,no,0,0,0,weapon,0,0x0, SR_DRAGONCOMBO,Dragon Combo
2326,1,8,1,-1,0,0,10,-2,no,0,0,0,weapon,0,0x0, SR_DRAGONCOMBO,Dragon Combo
2327,0,8,4,-1,0x2,2,5,-3,no,0,0,0,weapon,3,0x0, SR_SKYNETBLOW,Sky Net Blow
2328,0,6,4,-1,0x2,1:2:3:4:5,5,1,no,0,0,0,weapon,0,0x0, SR_EARTHSHAKER,Earth Shaker
2329,-2,8,4,-1,0,0,5,-2,no,0,0x200,0,weapon,0,0x0, SR_FALLENEMPIRE,Fallen Empire
2330,-2,6,1,-1,0x42,1:1:1:1:1:2:2:2:2:2,10,1,yes,0,0,0,weapon,0,0x0, SR_TIGERCANNON,Tiger Cannon
2329,1,8,4,-1,0,0,5,-2,no,0,0x200,0,weapon,0,0x0, SR_FALLENEMPIRE,Fallen Empire
2330,1,6,1,-1,0x42,1:1:1:1:1:2:2:2:2:2,10,1,yes,0,0,0,weapon,0,0x0, SR_TIGERCANNON,Tiger Cannon
2331,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, SR_HELLGATE,Hell Gate
2332,0,6,4,-1,0x2,3,5,1,no,0,0x40000,0,weapon,0,0x0, SR_RAMPAGEBLASTER,Rampage Blaster
2333,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, SR_CRESCENTELBOW,Crescent Elbow
Expand Down Expand Up @@ -1324,10 +1324,6 @@
5012,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, WL_TELEKINESIS_INTENSE,Intense Telekinesis
5013,0,6,4,0,0x3,0,5,1,no,0,0,0,none,0,0x0, LG_KINGS_GRACE,King's Grace
5014,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, ALL_FULL_THROTTLE,Full Throttle
5015,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, SR_FLASHCOMBO_ATK_STEP1,Flash Combo Attack Step 1
5016,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, SR_FLASHCOMBO_ATK_STEP2,Flash Combo Attack Step 2
5017,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, SR_FLASHCOMBO_ATK_STEP3,Flash Combo Attack Step 3
5018,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, SR_FLASHCOMBO_ATK_STEP4,Flash Combo Attack Step 4

//****
// Homunculus S
Expand Down
4 changes: 0 additions & 4 deletions db/pre-re/skill_require_db.txt
Expand Up @@ -956,10 +956,6 @@
5012,0,0,100:150:200:250:300,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //WL_TELEKINESIS_INTENSE
5013,0,0,200:180:160:140:120,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //LG_KINGS_GRACE
5014,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE
5015,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_FLASHCOMBO_ATK_STEP1 //All 4 steps are using temp req SP values for now.
5016,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_FLASHCOMBO_ATK_STEP2
5017,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_FLASHCOMBO_ATK_STEP3
5018,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_FLASHCOMBO_ATK_STEP4

// Copied Bard / Dancer Skills
//3036,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //BA_POEMBRAGI2
Expand Down
10 changes: 3 additions & 7 deletions db/re/skill_db.txt
Expand Up @@ -1099,11 +1099,11 @@

//****
// SR Sura
2326,-2,8,1,-1,0,0,10,-2,no,0,0,0,weapon,0,0x0, SR_DRAGONCOMBO,Dragon Combo
2326,1,8,1,-1,0,0,10,-2,no,0,0,0,weapon,0,0x0, SR_DRAGONCOMBO,Dragon Combo
2327,0,8,4,-1,0x2,2,5,-3,no,0,0,0,weapon,3,0x0, SR_SKYNETBLOW,Sky Net Blow
2328,0,6,4,-1,0x2,1:2:3:4:5,5,1,no,0,0,0,weapon,0,0x0, SR_EARTHSHAKER,Earth Shaker
2329,-2,8,4,-1,0,0,5,-2,no,0,0x200,0,weapon,0,0x0, SR_FALLENEMPIRE,Fallen Empire
2330,-2,6,1,-1,0x42,1:1:1:1:1:2:2:2:2:2,10,1,yes,0,0,0,weapon,0,0x0, SR_TIGERCANNON,Tiger Cannon
2329,1,8,4,-1,0,0,5,-2,no,0,0x200,0,weapon,0,0x0, SR_FALLENEMPIRE,Fallen Empire
2330,1,6,1,-1,0x42,1:1:1:1:1:2:2:2:2:2,10,1,yes,0,0,0,weapon,0,0x0, SR_TIGERCANNON,Tiger Cannon
2331,0,0,0,0,0,0,10,0,no,0,0,0,none,0,0x0, SR_HELLGATE,Hell Gate
2332,0,6,4,-1,0x2,3,5,1,no,0,0x40000,0,weapon,0,0x0, SR_RAMPAGEBLASTER,Rampage Blaster
2333,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, SR_CRESCENTELBOW,Crescent Elbow
Expand Down Expand Up @@ -1327,10 +1327,6 @@
5012,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, WL_TELEKINESIS_INTENSE,Intense Telekinesis
5013,0,6,4,0,0x3,0,5,1,no,0,0,0,none,0,0x0, LG_KINGS_GRACE,King's Grace
5014,0,6,4,0,0x1,0,5,1,no,0,0,0,none,0,0x0, ALL_FULL_THROTTLE,Full Throttle
5015,-2,8,1,-1,0,0,10,-2,no,0,0,0,weapon,0,0x0, SR_FLASHCOMBO_ATK_STEP1,Flash Combo Attack Step 1
5016,-2,8,4,-1,0,0,5,-2,no,0,0x200,0,weapon,0,0x0, SR_FLASHCOMBO_ATK_STEP2,Flash Combo Attack Step 2
5017,-2,6,1,-1,0x42,1:1:1:1:1:2:2:2:2:2,10,1,yes,0,0,0,weapon,0,0x0, SR_FLASHCOMBO_ATK_STEP3,Flash Combo Attack Step 3
5018,0,8,4,-1,0x2,2,5,-3,no,0,0,0,weapon,3,0x0, SR_FLASHCOMBO_ATK_STEP4,Flash Combo Attack Step 4

//****
// Homunculus S
Expand Down
4 changes: 0 additions & 4 deletions db/re/skill_require_db.txt
Expand Up @@ -971,10 +971,6 @@
5012,0,0,100:150:200:250:300,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //WL_TELEKINESIS_INTENSE
5013,0,0,200:180:160:140:120,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //LG_KINGS_GRACE
5014,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //ALL_FULL_THROTTLE
5015,0,0,0,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_FLASHCOMBO_ATK_STEP1 //All 4 steps are using temp req SP values for now.
5016,0,0,0,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_FLASHCOMBO_ATK_STEP2
5017,0,0,0,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_FLASHCOMBO_ATK_STEP3
5018,0,0,0,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_FLASHCOMBO_ATK_STEP4

8001,0,0,13:16:19:22:25,0,0,0,99,0,0,none,0,0,545,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //HLIF_HEAL
8002,0,0,20:25:30:35:40,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //HLIF_AVOID
Expand Down
29 changes: 12 additions & 17 deletions src/map/battle.c
Expand Up @@ -2768,6 +2768,7 @@ static struct Damage battle_calc_element_damage(struct Damage wd, struct block_l
switch( skill_id ) {
case MC_CARTREVOLUTION:
case SR_GATEOFHELL:
case SR_TIGERCANNON:
case KO_BAKURETSU:
//Forced to neutral element
wd.damage = battle_attr_fix(src, target, wd.damage, ELE_NEUTRAL, tstatus->def_ele, tstatus->ele_lv);
Expand Down Expand Up @@ -3944,38 +3945,34 @@ static int battle_calc_attack_skill_ratio(struct Damage wd, struct block_list *s
break;

case SR_DRAGONCOMBO:
case SR_FLASHCOMBO_ATK_STEP1:
skillratio += 40 * skill_lv;
RE_LVL_DMOD(100);
break;
case SR_FALLENEMPIRE:
case SR_FLASHCOMBO_ATK_STEP2:
// ATK [(Skill Level x 150 + 100) x Caster Base Level / 150] %
skillratio += 150 * skill_lv;
RE_LVL_DMOD(150);
break;
case SR_TIGERCANNON:
case SR_FLASHCOMBO_ATK_STEP3:
{
int hp = sstatus->max_hp * (10 + 2 * skill_lv) / 100, // skill_get_hp_rate(SR_TIGERCANNON, skill_lv)
sp = sstatus->max_sp * (5 + 1 * skill_lv) / 100; // skill_get_sp_rate(SR_TIGERCANNON, skill_lv)
if( sc && sc->data[SC_COMBO] && sc->data[SC_COMBO]->val1 == SR_FALLENEMPIRE )
// Base_Damage = [((Caster consumed HP + SP) / 2) x Caster Base Level / 100] %
skillratio += ((hp+sp) / 2);
skillratio += -100 + (hp + sp) / 2;
else
// Base_Damage = [((Caster consumed HP + SP) / 4) x Caster Base Level / 100] %
skillratio += ((hp+sp) / 4);
skillratio += -100 + (hp + sp) / 4;
RE_LVL_DMOD(100);
}
break;
case SR_SKYNETBLOW:
case SR_FLASHCOMBO_ATK_STEP4:
if( sc && sc->data[SC_COMBO] && sc->data[SC_COMBO]->val1 == SR_DRAGONCOMBO )
//ATK [{(Skill Level x 100) + (Caster AGI) + 150} x Caster Base Level / 100] %
skillratio += (100 * skill_lv + sstatus->agi + 150);
skillratio += -100 + 100 * skill_lv + sstatus->agi + 150;
else
//ATK [{(Skill Level x 80) + (Caster AGI)} x Caster Base Level / 100] %
skillratio += (80 * skill_lv + sstatus->agi);
skillratio += -100 + 80 * skill_lv + sstatus->agi;
RE_LVL_DMOD(100);
break;

Expand Down Expand Up @@ -4286,16 +4283,7 @@ static int64 battle_calc_skill_constant_addition(struct Damage wd, struct block_
atk = damagevalue;
}
break;
case SR_TIGERCANNON:
case SR_FLASHCOMBO_ATK_STEP3:
// (Tiger Cannon skill level x 240) + (Target Base Level x 40)
if( skill_id == SR_FLASHCOMBO_ATK_STEP3 || (sc && sc->data[SC_COMBO] && sc->data[SC_COMBO]->val1 == SR_FALLENEMPIRE) )
atk = ( skill_lv * 500 + status_get_lv(target) * 40 );
else
atk = ( skill_lv * 240 + status_get_lv(target) * 40 );
break;
case SR_FALLENEMPIRE:
case SR_FLASHCOMBO_ATK_STEP2:
// [(Target Size value + Skill Level - 1) x Caster STR] + [(Target current weight x Caster DEX / 120)]
atk = ( ((tstatus->size+1)*2 + skill_lv - 1) * sstatus->str);
if( tsd && tsd->weight )
Expand Down Expand Up @@ -5310,6 +5298,13 @@ static struct Damage battle_calc_weapon_attack(struct block_list *src, struct bl
ATK_ADD(wd.damage, wd.damage2, 10 * skill - i);
}
break;
case SR_TIGERCANNON:
// (Tiger Cannon skill level x 240) + (Target Base Level x 40)
if (sc && sc->data[SC_COMBO] && sc->data[SC_COMBO]->val1 == SR_FALLENEMPIRE) {
ATK_ADD(wd.damage, wd.damage2, skill_lv * 500 + status_get_lv(target) * 40);
} else
ATK_ADD(wd.damage, wd.damage2, skill_lv * 240 + status_get_lv(target) * 40);
break;
case SR_GATEOFHELL: {
struct status_data *sstatus = status_get_status_data(src);

Expand Down
67 changes: 30 additions & 37 deletions src/map/skill.c
Expand Up @@ -417,14 +417,6 @@ unsigned short skill_dummy2skill_id(unsigned short skill_id) {
return GN_HELLS_PLANT;
case GN_SLINGITEM_RANGEMELEEATK:
return GN_SLINGITEM;
case SR_FLASHCOMBO_ATK_STEP1:
return SR_DRAGONCOMBO;
case SR_FLASHCOMBO_ATK_STEP2:
return SR_FALLENEMPIRE;
case SR_FLASHCOMBO_ATK_STEP3:
return SR_TIGERCANNON;
case SR_FLASHCOMBO_ATK_STEP4:
return SR_SKYNETBLOW;
case RL_R_TRIP_PLUSATK:
return RL_R_TRIP;
}
Expand Down Expand Up @@ -1554,12 +1546,10 @@ int skill_additional_effect(struct block_list* src, struct block_list *bl, uint1
skill_castend_damage_id(src,bl,LG_PINPOINTATTACK,rnd_value(1, pc_checkskill(sd,LG_PINPOINTATTACK)),tick,0);
break;
case SR_DRAGONCOMBO:
case SR_FLASHCOMBO_ATK_STEP1:
sc_start(src,bl, SC_STUN, 1 + skill_lv, skill_lv, skill_get_time(SR_DRAGONCOMBO, skill_lv));
sc_start(src,bl, SC_STUN, 1 + skill_lv, skill_lv, skill_get_time(skill_id, skill_lv));
break;
case SR_FALLENEMPIRE:
case SR_FLASHCOMBO_ATK_STEP2:
sc_start(src,bl, SC_STOP, 100, skill_lv, skill_get_time(SR_FALLENEMPIRE, skill_lv));
sc_start(src,bl, SC_STOP, 100, skill_lv, skill_get_time(skill_id, skill_lv));
break;
case SR_WINDMILL:
if( dstsd )
Expand Down Expand Up @@ -3444,6 +3434,9 @@ int64 skill_attack (int attack_type, struct block_list* src, struct block_list *
case WM_METALICSOUND:
status_zap(bl, 0, damage*100/(100*(110-((sd) ? pc_checkskill(sd,WM_LESSON) : skill_get_max(WM_LESSON))*10)));
break;
case SR_TIGERCANNON:
status_zap(bl, 0, damage * 10 / 100);
break;
}
if( sd )
skill_onskillusage(sd, bl, skill_id, tick);
Expand Down Expand Up @@ -3855,6 +3848,15 @@ static int skill_timerskill(int tid, unsigned int tick, int id, intptr_t data)
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);
skill_area_temp[1] = 0;
map_foreachinrange(skill_area_sub,src,skill_get_splash(skl->skill_id,skl->skill_lv),splash_target(src),src,
skl->skill_id,skl->skill_lv,tick,skl->flag|BCT_ENEMY|SD_SPLASH|1,skill_castend_damage_id);
break;
}

if(status_isdead(src)) {
switch(skl->skill_id) {
case WL_CHAINLIGHTNING_ATK:
Expand All @@ -3863,10 +3865,10 @@ static int skill_timerskill(int tid, unsigned int tick, int id, intptr_t data)
case WL_TETRAVORTEX_WIND:
case WL_TETRAVORTEX_GROUND:
// For SR_FLASHCOMBO
case SR_FLASHCOMBO_ATK_STEP1:
case SR_FLASHCOMBO_ATK_STEP2:
case SR_FLASHCOMBO_ATK_STEP3:
case SR_FLASHCOMBO_ATK_STEP4:
case SR_DRAGONCOMBO:
case SR_FALLENEMPIRE:
case SR_TIGERCANNON:
case SR_SKYNETBLOW:
break; // Exceptions
default:
continue; // Caster is Dead
Expand Down Expand Up @@ -4035,15 +4037,14 @@ static int skill_timerskill(int tid, unsigned int tick, int id, intptr_t data)
break;
}
// For SR_FLASHCOMBO
case SR_FLASHCOMBO_ATK_STEP1:
case SR_FLASHCOMBO_ATK_STEP2:
case SR_FLASHCOMBO_ATK_STEP3:
case SR_FLASHCOMBO_ATK_STEP4:
case SR_DRAGONCOMBO:
case SR_FALLENEMPIRE:
case SR_TIGERCANNON:
case SR_SKYNETBLOW:
if( src->type == BL_PC ) {
const int use_skill_lv[] = { SR_DRAGONCOMBO, SR_FALLENEMPIRE, SR_TIGERCANNON, SR_SKYNETBLOW };
if( distance_xy(src->x, src->y, target->x, target->y) >= 3 )
break;
skill_castend_damage_id(src, target, skl->skill_id, pc_checkskill(((TBL_PC *)src), use_skill_lv[skl->skill_id-SR_FLASHCOMBO_ATK_STEP1]), tick, 0);
skill_castend_damage_id(src, target, skl->skill_id, pc_checkskill(((TBL_PC *)src), skl->skill_id), tick, 0);
}
break;
case RL_SLUGSHOT:
Expand Down Expand Up @@ -4172,10 +4173,10 @@ int skill_cleartimerskill (struct block_list *src)
case WL_TETRAVORTEX_WIND:
case WL_TETRAVORTEX_GROUND:
// For SR_FLASHCOMBO
case SR_FLASHCOMBO_ATK_STEP1:
case SR_FLASHCOMBO_ATK_STEP2:
case SR_FLASHCOMBO_ATK_STEP3:
case SR_FLASHCOMBO_ATK_STEP4:
case SR_DRAGONCOMBO:
case SR_FALLENEMPIRE:
case SR_TIGERCANNON:
case SR_SKYNETBLOW:
continue;
}
delete_timer(ud->skilltimerskill[i]->timer, skill_timerskill);
Expand Down Expand Up @@ -4368,7 +4369,6 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
case LG_OVERBRAND:
case LG_OVERBRAND_BRANDISH:
case SR_FALLENEMPIRE:
case SR_FLASHCOMBO_ATK_STEP2:
case SR_CRESCENTELBOW_AUTOSPELL:
case SR_GATEOFHELL:
case SR_GENTLETOUCH_QUIET:
Expand Down Expand Up @@ -4613,7 +4613,6 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
case LG_EARTHDRIVE:
case SR_RAMPAGEBLASTER:
case SR_SKYNETBLOW:
case SR_FLASHCOMBO_ATK_STEP4:
case SR_WINDMILL:
case SR_RIDEINLIGHTNING:
case WM_REVERBERATION_MELEE:
Expand Down Expand Up @@ -5378,7 +5377,6 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
break;

case SR_DRAGONCOMBO:
case SR_FLASHCOMBO_ATK_STEP1:
skill_attack(BF_WEAPON,src,src,bl,skill_id,skill_lv,tick,flag);
break;

Expand Down Expand Up @@ -5431,29 +5429,27 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, uint
break;

case SR_TIGERCANNON:
case SR_FLASHCOMBO_ATK_STEP3:
if (flag&1) {
if (skill_area_temp[3] == skill_id && skill_area_temp_i64[0]) { // Safe check
if (skill_area_temp[1] != bl->id) {
int64 dmg = skill_area_temp_i64[0];
bool infdef = is_infinite_defense(bl, skill_get_type(skill_id));

if (infdef)
dmg = 1;
status_damage(src, bl, dmg, 0, 0, 0);
status_zap(bl, 0, status_get_max_sp(bl) * 10 / 100);
status_zap(bl, 0, dmg * 10 / 100);
clif_skill_damage(src, bl, tick, status_get_amotion(bl), 0, dmg, 1, skill_id, skill_lv, 6);
}
}
else { // Somehow, we failed
skill_attack(BF_WEAPON, src, src, bl, skill_id, skill_lv, tick, flag);
status_zap(bl, 0, status_get_max_sp(bl) * 10 / 100);
}
}
else if (sd) {
skill_area_temp[1] = bl->id;
skill_area_temp[3] = skill_id;
skill_attack(BF_WEAPON, src, src, bl, skill_id, skill_lv, tick, flag|8); // Only do attack calculation once
status_zap(bl, 0, status_get_max_sp(bl) * 10 / 100);
map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), splash_target(src), src, skill_id, skill_lv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill_castend_damage_id);
}
break;
Expand Down Expand Up @@ -6723,7 +6719,6 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
case NC_AXETORNADO:
case GC_COUNTERSLASH:
case SR_SKYNETBLOW:
case SR_FLASHCOMBO_ATK_STEP4:
case SR_RAMPAGEBLASTER:
case SR_HOWLINGOFLION:
case KO_HAPPOKUNAI:
Expand Down Expand Up @@ -9737,7 +9732,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
sc_start(src,bl,type,100,skill_lv,skill_get_time(skill_id,skill_lv)));
break;
case SR_FLASHCOMBO: {
const int combo[] = { SR_FLASHCOMBO_ATK_STEP1, SR_FLASHCOMBO_ATK_STEP2, SR_FLASHCOMBO_ATK_STEP3, SR_FLASHCOMBO_ATK_STEP4 };
const int combo[] = { SR_DRAGONCOMBO, SR_FALLENEMPIRE, SR_TIGERCANNON, SR_SKYNETBLOW };
const int delay[] = { 0, 250, 500, 2000 };

if (sd)
Expand Down Expand Up @@ -16176,8 +16171,6 @@ int skill_delayfix(struct block_list *bl, uint16 skill_id, uint16 skill_lv)
case CH_CHAINCRUSH:
case SR_DRAGONCOMBO:
case SR_FALLENEMPIRE:
case SR_FLASHCOMBO_ATK_STEP1:
case SR_FLASHCOMBO_ATK_STEP2:
//If delay not specified, it will be 1000 - 4*agi - 2*dex
if (time == 0)
time = 1000;
Expand Down
4 changes: 0 additions & 4 deletions src/map/skill.h
Expand Up @@ -1724,10 +1724,6 @@ enum e_skill {
WL_TELEKINESIS_INTENSE,
LG_KINGS_GRACE,
ALL_FULL_THROTTLE,
SR_FLASHCOMBO_ATK_STEP1, // SR_DRAGONCOMBO
SR_FLASHCOMBO_ATK_STEP2, // SR_FALLENEMPIRE
SR_FLASHCOMBO_ATK_STEP3, // SR_TIGERCANNON
SR_FLASHCOMBO_ATK_STEP4, // SR_SKYNETBLOW

HLIF_HEAL = 8001,
HLIF_AVOID,
Expand Down
1 change: 0 additions & 1 deletion src/map/status.c
Expand Up @@ -724,7 +724,6 @@ void initChangeTables(void)
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 );
add_sc( SR_FLASHCOMBO_ATK_STEP1 , SC_STUN );

/* Wanderer / Minstrel */
set_sc( WA_SWING_DANCE , SC_SWINGDANCE , SI_SWINGDANCE , SCB_SPEED|SCB_ASPD );
Expand Down

0 comments on commit 7c5bda2

Please sign in to comment.