|
@@ -16121,6 +16121,9 @@ struct skill_condition skill_get_requirement(struct map_session_data* sd, uint16
|
|
|
if( i < ARRAYLENGTH(sd->skillusesp) )
|
|
|
req.sp -= sd->skillusesp[i].val;
|
|
|
|
|
|
+ if (skill_id == sd->status.skill[sd->reproduceskill_idx].id)
|
|
|
+ req.sp += req.sp * 30 / 100;
|
|
|
+
|
|
|
req.sp = cap_value(req.sp * sp_skill_rate_bonus / 100, 0, SHRT_MAX);
|
|
|
|
|
|
if( sc ) {
|
|
@@ -19800,7 +19803,7 @@ int skill_select_menu(struct map_session_data *sd,uint16 skill_id) {
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
- lv = (aslvl + 1) / 2; // The level the skill will be autocasted
|
|
|
+ lv = (aslvl + 5) / 2; // The level the skill will be autocasted
|
|
|
lv = min(lv,sd->status.skill[sk_idx].lv);
|
|
|
prob = (aslvl >= 10) ? 15 : (30 - 2 * aslvl); // Probability at level 10 was increased to 15.
|
|
|
sc_start4(&sd->bl,&sd->bl,SC__AUTOSHADOWSPELL,100,id,lv,prob,0,skill_get_time(SC_AUTOSHADOWSPELL,aslvl));
|