summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/functions/clientversion.txt30
1 files changed, 28 insertions, 2 deletions
diff --git a/npc/functions/clientversion.txt b/npc/functions/clientversion.txt
index 0db2905f3..9fb238dfd 100644
--- a/npc/functions/clientversion.txt
+++ b/npc/functions/clientversion.txt
@@ -297,17 +297,43 @@ function script clientupdater {
}
if (getskilllv(ALL_INCCARRY)) {
skill TF_STEAL, getskilllv(ALL_INCCARRY);
- setskill ALL_INCCARRY, 0;
+ skill ALL_INCCARRY, 0, 0;
mesc l("Increase Weight skill replaced with Stealing.");
}
// NEW MAGIC SYSTEM
if (getskilllv(SN_SHARPSHOOTING)) {
skill AC_CHARGEARROW, getskilllv(SN_SHARPSHOOTING);
- setskill AC_CHARGEARROW, 0;
+ skill AC_CHARGEARROW, 0, 0;
getexp 2000, 150;
mesc l("Sharpshooting skill replaced with Charged Arrow.");
mesc l("You've got 2000 xp and 150 job xp in apology tokens.");
}
+ getskilllist();
+ for (.@i=0; .@i < @skilllist_count; .@i++) {
+ // skip temporary skills
+ if (@skilllist_flag[.@i] != 0)
+ continue;
+ // Only “paid” skills will result in a Scholarship Badge
+ switch (@skilllist_id[.@i]) {
+ case SM_BASH:
+ case MG_FIREBALL:
+ mesc l("A skill has been replaced with an @@.", getitemlink(ScholarshipBadge));
+ getitem ScholarshipBadge, 1;
+ skill @skilllist_id[.@i], 0, 0;
+ break;
+ // Free skills (AL_HEAL and provokes) will result in XP
+ // Only AL_HEAL with level 3+ will result in a badge
+ case AL_HEAL:
+ if (@skilllist_lv[.@i] >= 3)
+ getitem ScholarshipBadge, 1;
+ case EVOL_MASS_PROVOKE:
+ .@delval=@skilllist_lv[.@i];
+ mesc l("A skill has been removed, you got @@ job exp and @@ Strange Coin as an apology token.", .@delval*100, .@delval);
+ getexp .@delval, .@delval*100;
+ getitem StrangeCoin, .@delval;
+ break;
+ }
+ }
// Cleanup
deletearray RNGTREASURE_DATE;
}