|
@@ -4304,8 +4304,10 @@ static void battle_calc_skill_base_damage(struct Damage* wd, struct block_list *
|
|
|
}
|
|
|
#else
|
|
|
if ((skill = pc_checkskill(sd, TK_POWER)) > 0) {
|
|
|
- ATK_ADDRATE(wd->damage, wd->damage2, 10 + 15 * skill);
|
|
|
- RE_ALLATK_ADDRATE(wd, 10 + 15 * skill);
|
|
|
+ int32 dmg_bonus = 20 * skill;
|
|
|
+
|
|
|
+ ATK_ADDRATE(wd->damage, wd->damage2, dmg_bonus);
|
|
|
+ RE_ALLATK_ADDRATE(wd, dmg_bonus);
|
|
|
}
|
|
|
#endif
|
|
|
}
|
|
@@ -6405,21 +6407,21 @@ static int32 battle_calc_attack_skill_ratio(struct Damage* wd, struct block_list
|
|
|
break;
|
|
|
|
|
|
case SKE_ALL_IN_THE_SKY:
|
|
|
- skillratio += -100 + 3000 + 2000 * skill_lv;
|
|
|
+ skillratio += -100 + 250 + 1200 * skill_lv;
|
|
|
skillratio += 5 * sstatus->pow;
|
|
|
if (status_get_race(target) == RC_DEMIHUMAN || status_get_race(target) == RC_DEMON)
|
|
|
wd->div_ = 3;
|
|
|
break;
|
|
|
|
|
|
case SKE_TWINKLING_GALAXY:
|
|
|
- skillratio += -100 + 200 + 400 * skill_lv;
|
|
|
+ skillratio += -100 + 300 + 500 * skill_lv;
|
|
|
skillratio += pc_checkskill( sd, SKE_SKY_MASTERY ) * 3 * skill_lv;
|
|
|
skillratio += 5 * sstatus->pow;
|
|
|
RE_LVL_DMOD(100);
|
|
|
break;
|
|
|
|
|
|
case SKE_STAR_CANNON:
|
|
|
- skillratio += -100 + 200 + 500 * skill_lv;
|
|
|
+ skillratio += -100 + 250 + 550 * skill_lv;
|
|
|
skillratio += pc_checkskill( sd, SKE_SKY_MASTERY ) * 5 * skill_lv;
|
|
|
skillratio += 5 * sstatus->pow;
|
|
|
RE_LVL_DMOD(100);
|
|
@@ -6699,6 +6701,12 @@ static void battle_attack_sc_bonus(struct Damage* wd, struct block_list *src, st
|
|
|
skillratio += sstatus->str; // SG_STAR_ANGER additionally has STR added in its formula.
|
|
|
if (anger_level < 4)
|
|
|
skillratio /= 12 - 3 * anger_level;
|
|
|
+
|
|
|
+#ifdef RENEWAL
|
|
|
+ // (renewal) maximum damage bonus limit : (skill level x 25)%
|
|
|
+ skillratio = min( skillratio, 25 * anger_level );
|
|
|
+#endif
|
|
|
+
|
|
|
ATK_ADDRATE(wd->damage, wd->damage2, skillratio);
|
|
|
#ifdef RENEWAL
|
|
|
RE_ALLATK_ADDRATE(wd, skillratio);
|