|
@@ -7177,14 +7177,14 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
|
|
case NPC_ELECTRICWALK:
|
|
case NPC_ELECTRICWALK:
|
|
skillratio += -100 + 100 * skill_lv;
|
|
skillratio += -100 + 100 * skill_lv;
|
|
break;
|
|
break;
|
|
- case SO_EARTHGRAVE: // !TODO: Confirm formula
|
|
|
|
- skillratio += -100 + sstatus->int_ / 6 * skill_lv + ((sd) ? pc_checkskill(sd, SA_SEISMICWEAPON) * 200 : 0);
|
|
|
|
|
|
+ case SO_EARTHGRAVE:
|
|
|
|
+ skillratio += -100 + 2 * sstatus->int_ + 300 * pc_checkskill(sd, SA_SEISMICWEAPON) + sstatus->int_ * skill_lv;
|
|
RE_LVL_DMOD(100);
|
|
RE_LVL_DMOD(100);
|
|
if( sc && sc->data[SC_CURSED_SOIL_OPTION] )
|
|
if( sc && sc->data[SC_CURSED_SOIL_OPTION] )
|
|
skillratio += (sd ? sd->status.job_level * 5 : 0);
|
|
skillratio += (sd ? sd->status.job_level * 5 : 0);
|
|
break;
|
|
break;
|
|
- case SO_DIAMONDDUST: // !TODO: Confirm formula
|
|
|
|
- skillratio += -100 + 200 * ((sd) ? pc_checkskill(sd, SA_FROSTWEAPON) : 0) + sstatus->int_ / 6 * skill_lv;
|
|
|
|
|
|
+ case SO_DIAMONDDUST:
|
|
|
|
+ skillratio += -100 + 2 * sstatus->int_ + 300 * pc_checkskill(sd, SA_FROSTWEAPON) + sstatus->int_ * skill_lv;
|
|
RE_LVL_DMOD(100);
|
|
RE_LVL_DMOD(100);
|
|
if( sc && sc->data[SC_COOLER_OPTION] )
|
|
if( sc && sc->data[SC_COOLER_OPTION] )
|
|
skillratio += (sd ? sd->status.job_level * 5 : 0);
|
|
skillratio += (sd ? sd->status.job_level * 5 : 0);
|
|
@@ -7224,8 +7224,8 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
|
|
case NPC_CLOUD_KILL:
|
|
case NPC_CLOUD_KILL:
|
|
skillratio += -100 + 50 * skill_lv;
|
|
skillratio += -100 + 50 * skill_lv;
|
|
break;
|
|
break;
|
|
- case SO_VARETYR_SPEAR: //MATK [{( Endow Tornado skill level x 50 ) + ( Caster INT x Varetyr Spear Skill level )} x Caster Base Level / 100 ] %
|
|
|
|
- skillratio += -100 + sstatus->int_ / 6 * skill_lv + ((sd) ? pc_checkskill(sd, SA_LIGHTNINGLOADER) * 50 : 0); // !TODO: Confirm new formula
|
|
|
|
|
|
+ case SO_VARETYR_SPEAR:
|
|
|
|
+ skillratio += -100 + (2 * sstatus->int_ + 150 * (pc_checkskill(sd, SO_STRIKING) + pc_checkskill(sd, SA_LIGHTNINGLOADER)) + sstatus->int_ * skill_lv / 2) / 3;
|
|
RE_LVL_DMOD(100);
|
|
RE_LVL_DMOD(100);
|
|
if (sc && sc->data[SC_BLAST_OPTION])
|
|
if (sc && sc->data[SC_BLAST_OPTION])
|
|
skillratio += (sd ? sd->status.job_level * 5 : 0);
|
|
skillratio += (sd ? sd->status.job_level * 5 : 0);
|