diff options
Diffstat (limited to 'npc/functions')
-rw-r--r-- | npc/functions/clientversion.txt | 59 | ||||
-rw-r--r-- | npc/functions/fishing.txt | 4 | ||||
-rw-r--r-- | npc/functions/mobpoint.txt | 1 | ||||
-rw-r--r-- | npc/functions/siege.txt | 20 | ||||
-rw-r--r-- | npc/functions/treasure.txt | 3 |
5 files changed, 66 insertions, 21 deletions
diff --git a/npc/functions/clientversion.txt b/npc/functions/clientversion.txt index 59098ee15..873873018 100644 --- a/npc/functions/clientversion.txt +++ b/npc/functions/clientversion.txt @@ -287,25 +287,39 @@ function script clientupdater { if (UPDATE < 1563219695) { UPDATE=1563219695; .@dg=true; + mesc l(".:: This is Release 9.5 Academy ::."), 0; + //mesc l(".:: This is Release 10.0 Infinity ::."), 0; + // Fix mounts + unequip(EQI_SHADOW_SHOES); + setmount 0; // You got recipe book by BSS Quest - mark as complete and get Blueprint if (getq(NivalisQuest_BlueSageSlimes) == 2) { getitem any(AncientBlueprint, AlchemyBlueprintA, EquipmentBlueprintA), 1; CRAFTQUEST=1; + mesc l("You got a blueprint as reward for Blue Sage Slimes Quest completion."), 3; + } + // If you have TMW2_CRAFT skill, you need the bonus recipe + if (getskilllv(TMW2_CRAFT)) { + RECIPES_EQUIPMENT[CraftDagger]=true; + mesc l("Dagger Crafting recipe learnt."), 2; } // Bounty Hunter Helmet if (MERCENARY_DAILYQUEST > 100) { getitem BountyHunterHelmet, 1; + mesc l("You got a @@ for completing 100+ daily bountyhunter quests!", getitemlink(BountyHunterHelmet)), 2; } - // If you have TMW2_CRAFT skill, you need the bonus recipe - if (getskilllv(TMW2_CRAFT)) { - RECIPES_EQUIPMENT[CraftDagger]=true; - mesc l("Dagger Crafting recipe learnt."); + // Cindy quest new rewards + if (getq(NivalisQuest_Cindy) >= 3) { + getexp 120000, 0; + mesc l("You got 120,000 XP for completing Mercury's quest."), 2; } // Mercenary Rank removed if (MERC_RANK) { THIEF_RANK=MERC_RANK; + THIEF_EXP=MERC_EXP; MERC_RANK=0; - mesc l("Your class has been changed from %s to %s.", b(l("Merchant Police")), b(l("Thief"))); + MERC_EXP=0; + mesc l("Your class has been changed from %s to %s.", b(l("Merchant Police")), b(l("Thief"))), 1; } if (getskilllv(ALL_INCCARRY)) { skill TF_STEAL, getskilllv(ALL_INCCARRY); @@ -317,7 +331,7 @@ function script clientupdater { skill AC_CHARGEARROW, getskilllv(SN_SHARPSHOOTING); skill AC_CHARGEARROW, 0, 0; getexp 2000, 150; - mesc l("Sharpshooting skill replaced with Charged Arrow."); + mesc l("Sharpshooting skill replaced with Charged Arrow."), 1; mesc l("You've got 2000 xp and 150 job xp in apology tokens."); } getskilllist(); @@ -326,19 +340,24 @@ function script clientupdater { if (@skilllist_flag[.@i] != 0) continue; // Only “paid” skills will result in a Scholarship Badge - switch (@skilllist_id[.@i]) { + .@id=@skilllist_id[.@i]; + .@am=0; + switch (.@id) { case SM_BASH: + case TMW2_DEMURE: + case MG_FIREBALL: + case MG_SRECOVERY: + case AL_DP: + .@am=1; case SM_ENDURE: case KN_AUTOCOUNTER: case KN_TWOHANDQUICKEN: - case TMW2_DEMURE: case AL_ANGELUS: case CR_TRUST: case CR_DEFENDER: case AL_HOLYLIGHT: case TF_DETOXIFY: case ALL_RESURRECTION: - case MG_SRECOVERY: case SM_RECOVERY: case PR_ASPERSIO: case AB_HIGHNESSHEAL: @@ -349,7 +368,6 @@ function script clientupdater { case SA_FROSTWEAPON: case SA_LIGHTNINGLOADER: case SA_SEISMICWEAPON: - case MG_FIREBALL: case MG_ENERGYCOAT: case MG_NAPALMBEAT: case MG_FIREBOLT: @@ -357,7 +375,10 @@ function script clientupdater { case MG_LIGHTNINGBOLT: case WZ_EARTHSPIKE: mesc l("A skill has been replaced with an @@.", getitemlink(ScholarshipBadge)); - getitem ScholarshipBadge, 1; + if (!.@am) + .@am=min(5, @skilllist_lv[.@i]); + + getitem ScholarshipBadge, .@am; skill @skilllist_id[.@i], 0, 0; getexp 5, (@skilllist_lv[.@i]-1)*1000; break; @@ -377,6 +398,22 @@ function script clientupdater { break; } } + // Grant you AL_DP based on magic level + if (MAGIC_LVL) { + skill AL_DP, MAGIC_LVL, 0; + mesc l("You have learnt \"Divine Protection\" level @@.", MAGIC_LVL), 3; + } + // Grant you Thief Skill Tier 3 + if (THIEF_RANK >= 3) { + skill(ALL_INCCARRY,1,0); + mesc l("You have learnt \"Increase Weight\" in Thief Skills."), 2; + } + // If you got a Scholarship Badge, you need to travel to Tulimshar. + // Give you a Warp Crystal to do so. + if (countitem(ScholarshipBadge)) { + getitem TulimWarpCrystal, 1; + mesc l("You've obtained a @@ to visit Magic Academy.", getitemlink(TulimWarpCrystal)), 1; + } // Cleanup deletearray RNGTREASURE_DATE; } diff --git a/npc/functions/fishing.txt b/npc/functions/fishing.txt index 56415e6eb..52f9fcc9a 100644 --- a/npc/functions/fishing.txt +++ b/npc/functions/fishing.txt @@ -225,6 +225,10 @@ function script fishing { specialeffect(.@success_fx, SELF, playerattached()); getexp getvariableofnpc(.bait_ids[@bait_d+1], .@npc$)+(BaseLevel/10), 0; // xp gain is equivalent to bait rarity + BaseLevel boost + // MobPt gain is equivalent to bait rarity. + if (MPQUEST) + Mobpt+=getvariableofnpc(.bait_ids[@bait_d+1], .@npc$); + if(!checkweight(.@fish_id, 1)) { dispbottom l("You caught a @@ but had no room in your inventory to carry it.", getitemlink(.@fish_id)); diff --git a/npc/functions/mobpoint.txt b/npc/functions/mobpoint.txt index 1035c62ca..8133c938f 100644 --- a/npc/functions/mobpoint.txt +++ b/npc/functions/mobpoint.txt @@ -19,6 +19,7 @@ function script mobpoint { TS_MOBPT = TS_MOBPT + .@addval; if (!MPQUEST) return; + Mobpt = Mobpt + .@addval; return; diff --git a/npc/functions/siege.txt b/npc/functions/siege.txt index ef14e6e51..95d16ebc2 100644 --- a/npc/functions/siege.txt +++ b/npc/functions/siege.txt @@ -433,9 +433,9 @@ OnRespawn: OnSergeantDeath: if ($GAME_STORYLINE == 2) $MK_TEMPVAR+=1; - getitem StrangeCoin, rand(1,5); + getitem StrangeCoin, rand2(1,5); announce("##2The Monster Sergeant was defeated by "+strcharinfo(0)+"!", bc_all); - $@EXP_EVENT=rand2(101, 103); + $@EXP_EVENT=rand2(1, 3); $@EXP_EVENT_TIME=1; donpcevent "@exprate::OnPlayerCall"; end; @@ -443,9 +443,9 @@ OnSergeantDeath: OnLieutenantDeath: if ($GAME_STORYLINE == 2) $MK_TEMPVAR+=3; - getitem StrangeCoin, rand(5,10); + getitem StrangeCoin, rand2(5,10); announce("##2The Monster Lieutenant was defeated by "+strcharinfo(0)+"!", bc_all); - $@EXP_EVENT=rand2(104, 106); + $@EXP_EVENT=rand2(4, 6); $@EXP_EVENT_TIME=1; donpcevent "@exprate::OnPlayerCall"; end; @@ -453,9 +453,9 @@ OnLieutenantDeath: OnCaptainDeath: if ($GAME_STORYLINE == 2) $MK_TEMPVAR+=5; - getitem StrangeCoin, rand(10,15); + getitem StrangeCoin, rand2(10,15); announce("##2The Monster Captain was defeated by "+strcharinfo(0)+"!", bc_all); - $@EXP_EVENT=rand2(107, 109); + $@EXP_EVENT=rand2(7, 9); $@EXP_EVENT_TIME=1; donpcevent "@exprate::OnPlayerCall"; end; @@ -463,10 +463,10 @@ OnCaptainDeath: OnColonelDeath: if ($GAME_STORYLINE == 2) $MK_TEMPVAR+=7; - getitem StrangeCoin, rand(15,20); + getitem StrangeCoin, rand2(15,20); $MOST_HEROIC$=strcharinfo(0); announce("##2The Monster Colonel was defeated by "+strcharinfo(0)+"!", bc_all); - $@EXP_EVENT=rand2(110, 112); + $@EXP_EVENT=rand2(10, 12); $@EXP_EVENT_TIME=1; donpcevent "@exprate::OnPlayerCall"; end; @@ -474,10 +474,10 @@ OnColonelDeath: OnGeneralDeath: if ($GAME_STORYLINE == 2) $MK_TEMPVAR+=9; - getitem StrangeCoin, rand(20,25); + getitem StrangeCoin, rand2(20,25); $MOST_HEROIC$=strcharinfo(0); announce("##2The Monster General was defeated by "+strcharinfo(0)+"!", bc_all); - $@EXP_EVENT=rand2(113, 115); + $@EXP_EVENT=rand2(13, 15); $@EXP_EVENT_TIME=1; donpcevent "@exprate::OnPlayerCall"; end; diff --git a/npc/functions/treasure.txt b/npc/functions/treasure.txt index 0698d56ee..83da812e4 100644 --- a/npc/functions/treasure.txt +++ b/npc/functions/treasure.txt @@ -49,6 +49,9 @@ function script TreasureBox { inventoryplace .@loot, 1; mesc l("You find @@ inside!", getitemlink(.@loot)); getitem .@loot, 1; + // Get Monster points for treasure hunting (20% from job level) + if (MPQUEST) + Mobpt+=(JobLevel/5); } else { mesc l("You find @@ inside!", l("nothing")); } |