|
@@ -5616,23 +5616,40 @@ static int battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list *
|
|
RE_LVL_DMOD(100);
|
|
RE_LVL_DMOD(100);
|
|
break;
|
|
break;
|
|
case TR_ROSEBLOSSOM:
|
|
case TR_ROSEBLOSSOM:
|
|
- case TR_ROSEBLOSSOM_ATK:// Same damage formula? [Rytech]
|
|
|
|
- skillratio += -100 + 500 * skill_lv + (sd ? pc_checkskill(sd, TR_STAGE_MANNER) : 5) * sstatus->con;
|
|
|
|
|
|
+ skillratio += -100 + 750 * skill_lv + (sd ? pc_checkskill(sd, TR_STAGE_MANNER) : 5) * sstatus->con;
|
|
|
|
+
|
|
|
|
+ if( tsc != nullptr && tsc->getSCE( SC_SOUNDBLEND ) ){
|
|
|
|
+ skillratio += 250 * skill_lv;
|
|
|
|
+ }
|
|
|
|
+
|
|
RE_LVL_DMOD(100);
|
|
RE_LVL_DMOD(100);
|
|
if (sc && sc->getSCE(SC_MYSTIC_SYMPHONY)) {
|
|
if (sc && sc->getSCE(SC_MYSTIC_SYMPHONY)) {
|
|
- skillratio += skillratio * 40 / 100;
|
|
|
|
|
|
+ skillratio += skillratio * 100 / 100;
|
|
|
|
+
|
|
|
|
+ if (tstatus->race == RC_FISH || tstatus->race == RC_DEMIHUMAN)
|
|
|
|
+ skillratio += skillratio * 50 / 100;
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
|
|
+ case TR_ROSEBLOSSOM_ATK:
|
|
|
|
+ skillratio += -100 + 350 * skill_lv + (sd ? pc_checkskill(sd, TR_STAGE_MANNER) : 5) * sstatus->con;
|
|
|
|
+
|
|
|
|
+ if( tsc != nullptr && tsc->getSCE( SC_SOUNDBLEND ) ){
|
|
|
|
+ skillratio += 400 * skill_lv;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ RE_LVL_DMOD(100);
|
|
|
|
+ if (sc && sc->getSCE(SC_MYSTIC_SYMPHONY)) {
|
|
|
|
+ skillratio += skillratio * 100 / 100;
|
|
|
|
|
|
if (tstatus->race == RC_FISH || tstatus->race == RC_DEMIHUMAN)
|
|
if (tstatus->race == RC_FISH || tstatus->race == RC_DEMIHUMAN)
|
|
skillratio += skillratio * 50 / 100;
|
|
skillratio += skillratio * 50 / 100;
|
|
}
|
|
}
|
|
- if (tsc && tsc->getSCE(SC_SOUNDBLEND))
|
|
|
|
- skillratio += skillratio * 50 / 100;
|
|
|
|
break;
|
|
break;
|
|
case TR_RHYTHMSHOOTING:
|
|
case TR_RHYTHMSHOOTING:
|
|
skillratio += -100 + 120 * skill_lv + (sd ? pc_checkskill(sd, TR_STAGE_MANNER) : 5) * sstatus->con;
|
|
skillratio += -100 + 120 * skill_lv + (sd ? pc_checkskill(sd, TR_STAGE_MANNER) : 5) * sstatus->con;
|
|
RE_LVL_DMOD(100);
|
|
RE_LVL_DMOD(100);
|
|
if (sc && sc->getSCE(SC_MYSTIC_SYMPHONY)) {
|
|
if (sc && sc->getSCE(SC_MYSTIC_SYMPHONY)) {
|
|
- skillratio += skillratio * 40 / 100;
|
|
|
|
|
|
+ skillratio += skillratio * 100 / 100;
|
|
|
|
|
|
if (tstatus->race == RC_FISH || tstatus->race == RC_DEMIHUMAN)
|
|
if (tstatus->race == RC_FISH || tstatus->race == RC_DEMIHUMAN)
|
|
skillratio += skillratio * 50 / 100;
|
|
skillratio += skillratio * 50 / 100;
|
|
@@ -7915,14 +7932,14 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
|
|
RE_LVL_DMOD(100);
|
|
RE_LVL_DMOD(100);
|
|
break;
|
|
break;
|
|
case TR_METALIC_FURY:
|
|
case TR_METALIC_FURY:
|
|
- skillratio += -100 + 600 * skill_lv + 5 * sstatus->spl;
|
|
|
|
|
|
+ skillratio += -100 + 900 * skill_lv + 5 * sstatus->spl;
|
|
RE_LVL_DMOD(100);
|
|
RE_LVL_DMOD(100);
|
|
break;
|
|
break;
|
|
case TR_SOUNDBLEND:
|
|
case TR_SOUNDBLEND:
|
|
skillratio += -100 + 120 * skill_lv + 5 * sstatus->spl;
|
|
skillratio += -100 + 120 * skill_lv + 5 * sstatus->spl;
|
|
RE_LVL_DMOD(100);
|
|
RE_LVL_DMOD(100);
|
|
if (sc && sc->getSCE(SC_MYSTIC_SYMPHONY)) {
|
|
if (sc && sc->getSCE(SC_MYSTIC_SYMPHONY)) {
|
|
- skillratio += skillratio * 40 / 100;
|
|
|
|
|
|
+ skillratio += skillratio * 100 / 100;
|
|
|
|
|
|
if (tstatus->race == RC_FISH || tstatus->race == RC_DEMIHUMAN)
|
|
if (tstatus->race == RC_FISH || tstatus->race == RC_DEMIHUMAN)
|
|
skillratio += skillratio * 50 / 100;
|
|
skillratio += skillratio * 50 / 100;
|