|
@@ -5454,26 +5454,28 @@ static int battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list *
|
|
|
RE_LVL_DMOD(100);
|
|
|
break;
|
|
|
case IG_GRAND_JUDGEMENT:
|
|
|
- skillratio += -100 + 750 * skill_lv + 10 * sstatus->pow;
|
|
|
+ skillratio += -100 + 250 + 1500 * skill_lv + 10 * sstatus->pow;
|
|
|
if (tstatus->race == RC_PLANT || tstatus->race == RC_INSECT)
|
|
|
- skillratio += 350 * skill_lv;
|
|
|
+ skillratio += 100 + 150 * skill_lv;
|
|
|
RE_LVL_DMOD(100);
|
|
|
if ((i = pc_checkskill_imperial_guard(sd, 3)) > 0)
|
|
|
skillratio += skillratio * i / 100;
|
|
|
break;
|
|
|
case IG_SHIELD_SHOOTING:
|
|
|
- skillratio += -100 + 600 * skill_lv + 5 * sstatus->pow;
|
|
|
+ skillratio += -100 + 1400 + 2100 * skill_lv + 5 * sstatus->pow;
|
|
|
skillratio += skill_lv * 15 * pc_checkskill( sd, IG_SHIELD_MASTERY );
|
|
|
if (sd) { // Damage affected by the shield's weight and refine. Need official formula. [Rytech]
|
|
|
short index = sd->equip_index[EQI_HAND_L];
|
|
|
|
|
|
- if (index >= 0 && sd->inventory_data[index] && sd->inventory_data[index]->type == IT_ARMOR)
|
|
|
- skillratio += sd->inventory_data[index]->weight / 20 * sd->inventory.u.items_inventory[index].refine;
|
|
|
+ if (index >= 0 && sd->inventory_data[index] && sd->inventory_data[index]->type == IT_ARMOR) {
|
|
|
+ skillratio += (sd->inventory_data[index]->weight * 7 / 6) / 10;
|
|
|
+ skillratio += sd->inventory.u.items_inventory[index].refine * 4;
|
|
|
+ }
|
|
|
}
|
|
|
RE_LVL_DMOD(100);
|
|
|
break;
|
|
|
case IG_OVERSLASH:
|
|
|
- skillratio += -100 + 60 * skill_lv + 5 * sstatus->pow;
|
|
|
+ skillratio += -100 + (120 + pc_checkskill(sd, IG_SPEAR_SWORD_M) * 10) * skill_lv + 5 * sstatus->pow;
|
|
|
RE_LVL_DMOD(100);
|
|
|
if ((i = pc_checkskill_imperial_guard(sd, 3)) > 0)
|
|
|
skillratio += skillratio * i / 100;
|
|
@@ -7885,18 +7887,18 @@ struct Damage battle_calc_magic_attack(struct block_list *src,struct block_list
|
|
|
RE_LVL_DMOD(100);
|
|
|
break;
|
|
|
case IG_JUDGEMENT_CROSS:
|
|
|
- skillratio += -100 + 750 * skill_lv + 10 * sstatus->spl;
|
|
|
+ skillratio += -100 + 1950 * skill_lv + 10 * sstatus->spl;
|
|
|
if (tstatus->race == RC_PLANT || tstatus->race == RC_INSECT)
|
|
|
- skillratio += 350 * skill_lv;
|
|
|
+ skillratio += 150 * skill_lv;
|
|
|
RE_LVL_DMOD(100);
|
|
|
if ((i = pc_checkskill_imperial_guard(sd, 3)) > 0)
|
|
|
skillratio += skillratio * i / 100;
|
|
|
break;
|
|
|
case IG_CROSS_RAIN:
|
|
|
if( sc && sc->getSCE( SC_HOLY_S ) ){
|
|
|
- skillratio += -100 + ( 250 + 10 * pc_checkskill( sd, IG_SPEAR_SWORD_M ) ) * skill_lv;
|
|
|
+ skillratio += -100 + ( 450 + 10 * pc_checkskill( sd, IG_SPEAR_SWORD_M ) ) * skill_lv;
|
|
|
}else{
|
|
|
- skillratio += -100 + ( 150 + 5 * pc_checkskill( sd, IG_SPEAR_SWORD_M ) ) * skill_lv;
|
|
|
+ skillratio += -100 + ( 320 + 5 * pc_checkskill( sd, IG_SPEAR_SWORD_M ) ) * skill_lv;
|
|
|
}
|
|
|
skillratio += 5 * sstatus->spl;
|
|
|
RE_LVL_DMOD(100);
|