|
@@ -5579,7 +5579,7 @@ static int battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list *
|
|
RE_LVL_DMOD(100);
|
|
RE_LVL_DMOD(100);
|
|
break;
|
|
break;
|
|
case SHC_SAVAGE_IMPACT:
|
|
case SHC_SAVAGE_IMPACT:
|
|
- skillratio += -100 + 90 * skill_lv + 5 * sstatus->pow;
|
|
|
|
|
|
+ skillratio += -100 + 105 * skill_lv + 5 * sstatus->pow;
|
|
|
|
|
|
if( sc != nullptr && sc->getSCE( SC_SHADOW_EXCEED ) ){
|
|
if( sc != nullptr && sc->getSCE( SC_SHADOW_EXCEED ) ){
|
|
skillratio += 20 * skill_lv + 3 * sstatus->pow; // !TODO: check POW ratio
|
|
skillratio += 20 * skill_lv + 3 * sstatus->pow; // !TODO: check POW ratio
|
|
@@ -5588,19 +5588,19 @@ static int battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list *
|
|
RE_LVL_DMOD(100);
|
|
RE_LVL_DMOD(100);
|
|
break;
|
|
break;
|
|
case SHC_ETERNAL_SLASH:
|
|
case SHC_ETERNAL_SLASH:
|
|
- skillratio += -100 + 265 * skill_lv + 2 * sstatus->pow;
|
|
|
|
|
|
+ skillratio += -100 + 300 * skill_lv + 2 * sstatus->pow;
|
|
|
|
|
|
if( sc != nullptr && sc->getSCE( SC_SHADOW_EXCEED ) ){
|
|
if( sc != nullptr && sc->getSCE( SC_SHADOW_EXCEED ) ){
|
|
- skillratio += 100 * skill_lv + sstatus->pow;
|
|
|
|
|
|
+ skillratio += 120 * skill_lv + sstatus->pow;
|
|
}
|
|
}
|
|
|
|
|
|
RE_LVL_DMOD(100);
|
|
RE_LVL_DMOD(100);
|
|
break;
|
|
break;
|
|
case SHC_SHADOW_STAB:
|
|
case SHC_SHADOW_STAB:
|
|
- skillratio += -100 + 350 * skill_lv + 5 * sstatus->pow;
|
|
|
|
|
|
+ skillratio += -100 + 550 * skill_lv + 5 * sstatus->pow;
|
|
|
|
|
|
if( sc && sc->getSCE( SC_CLOAKINGEXCEED ) ){
|
|
if( sc && sc->getSCE( SC_CLOAKINGEXCEED ) ){
|
|
- skillratio += 50 * skill_lv + 2 * sstatus->pow;
|
|
|
|
|
|
+ skillratio += 100 * skill_lv + 2 * sstatus->pow;
|
|
}
|
|
}
|
|
|
|
|
|
RE_LVL_DMOD(100);
|
|
RE_LVL_DMOD(100);
|
|
@@ -6793,10 +6793,6 @@ static struct Damage initialize_weapon_data(struct block_list *src, struct block
|
|
if (sc && sc->getSCE(SC_E_SLASH_COUNT))
|
|
if (sc && sc->getSCE(SC_E_SLASH_COUNT))
|
|
wd.div_ = sc->getSCE(SC_E_SLASH_COUNT)->val1;
|
|
wd.div_ = sc->getSCE(SC_E_SLASH_COUNT)->val1;
|
|
break;
|
|
break;
|
|
- case SHC_SHADOW_STAB:
|
|
|
|
- if (wd.miscflag == 2)
|
|
|
|
- wd.div_ = 3;
|
|
|
|
- break;
|
|
|
|
case SHC_IMPACT_CRATER:
|
|
case SHC_IMPACT_CRATER:
|
|
if (sc && sc->getSCE(SC_ROLLINGCUTTER))
|
|
if (sc && sc->getSCE(SC_ROLLINGCUTTER))
|
|
wd.div_ = sc->getSCE(SC_ROLLINGCUTTER)->val1;
|
|
wd.div_ = sc->getSCE(SC_ROLLINGCUTTER)->val1;
|