summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--npc/functions/mobhunter.txt141
1 files changed, 72 insertions, 69 deletions
diff --git a/npc/functions/mobhunter.txt b/npc/functions/mobhunter.txt
index c4c496908..3733838b1 100644
--- a/npc/functions/mobhunter.txt
+++ b/npc/functions/mobhunter.txt
@@ -68,6 +68,78 @@ function script GHQ_GetMonsterIDByQuestID {
}
+/////////////////////////////////////////////////////////////////////////////////
+
+// Handle milestone rewards; it does NOT update stuff
+function script GHQ_GetRewardsOnMilestone {
+
+ // Check if you can store a Strange Coin (you really should)
+ // Another item too, which I'm sure you won't get it anywhere.
+ inventoryplace StrangeCoin, 1, NPCEyes, 1;
+ .@old=GHMEMO[getq(General_Hunter)];
+ .@new=getq2(General_Hunter);
+ .@blv=atoi(strmobinfo(3, GHQ_GetMonsterIDByQuestID(getq(General_Hunter))));
+ .@bhp=atoi(strmobinfo(4, GHQ_GetMonsterIDByQuestID(getq(General_Hunter))));
+ .@xp=0;
+ .@gp=0;
+ .@jp=0;
+
+ // 1st step: 1000 kills
+ if (VarDiffValue(.@old, .@new, 1000)) {
+ mesc l("Goal: @@/@@ reached!", .@new, 1000), 2;
+ .@xp+=.@blv*10;
+ .@gp+=.@bhp;
+ .@jp+=10;
+ } else if (.@new < 1000) {
+ mesc l("@@: @@/@@", l("1st step"), .@new, 1000);
+ }
+
+ // 2nd step: 2500 kills
+ if (VarDiffValue(.@old, .@new, 2500)) {
+ mesc l("Goal: @@/@@ reached!", .@new, 2500), 2;
+ .@xp+=.@blv*25;
+ .@gp+=.@bhp;
+ .@jp+=25;
+ } else if (.@new < 2500) {
+ mesc l("@@: @@/@@", l("2nd step"), .@new, 2500);
+ }
+
+ // 3rd step: 5000 kills
+ if (VarDiffValue(.@old, .@new, 5000)) {
+ mesc l("Goal: @@/@@ reached!", .@new, 5000), 2;
+ .@xp+=.@blv*50;
+ .@gp+=.@bhp;
+ .@jp+=50;
+ } else if (.@new < 5000) {
+ mesc l("@@: @@/@@", l("3rd step"), .@new, 5000);
+ }
+
+ // 4th step: 7500 kills
+ if (VarDiffValue(.@old, .@new, 7500)) {
+ mesc l("Goal: @@/@@ reached!", .@new, 7500), 2;
+ .@xp+=.@blv*75;
+ .@gp+=.@bhp;
+ .@jp+=75;
+ } else if (.@new < 7500) {
+ mesc l("@@: @@/@@", l("4th step"), .@new, 7500);
+ }
+
+ // 5th step: 10000 kills
+ if (VarDiffValue(.@old, .@new, 10000)) {
+ mesc l("Goal: @@/@@ reached!", .@new, 10000), 2;
+ mesc l("You must talk to Aidan to claim rewards!");
+ }
+
+ // Get reward (must have Job Exp)
+ if (.@jp) {
+ getexp .@xp, .@jp;
+ Zeny=Zeny+.@gp;
+ }
+ return;
+}
+
+/////////////////////////////////////////////////////////////////////////////////
+
// MobID, Place, Prize
function script GHQ_Assign {
// Arguments
@@ -189,75 +261,6 @@ function script GHQ_GetRewardsOnCompletion {
return;
}
-
-// Handle milestone rewards; it does NOT update stuff
-function script GHQ_GetRewardsOnMilestone {
-
- // Check if you can store a Strange Coin (you really should)
- // Another item too, which I'm sure you won't get it anywhere.
- inventoryplace StrangeCoin, 1, NPCEyes, 1;
- .@old=GHMEMO[getq(General_Hunter)];
- .@new=getq2(General_Hunter);
- .@blv=atoi(strmobinfo(3, GHQ_GetMonsterIDByQuestID(getq(General_Hunter))));
- .@bhp=atoi(strmobinfo(4, GHQ_GetMonsterIDByQuestID(getq(General_Hunter))));
- .@xp=0;
- .@gp=0;
- .@jp=0;
-
- // 1st step: 1000 kills
- if (VarDiffValue(.@old, .@new, 1000)) {
- mesc l("Goal: @@/@@ reached!", .@new, 1000), 2;
- .@xp+=.@blv*10;
- .@gp+=.@bhp;
- .@jp+=10;
- } else if (.@new < 1000) {
- mesc l("@@: @@/@@", l("1st step"), .@new, 1000);
- }
-
- // 2nd step: 2500 kills
- if (VarDiffValue(.@old, .@new, 2500)) {
- mesc l("Goal: @@/@@ reached!", .@new, 2500), 2;
- .@xp+=.@blv*25;
- .@gp+=.@bhp;
- .@jp+=25;
- } else if (.@new < 2500) {
- mesc l("@@: @@/@@", l("2nd step"), .@new, 2500);
- }
-
- // 3rd step: 5000 kills
- if (VarDiffValue(.@old, .@new, 5000)) {
- mesc l("Goal: @@/@@ reached!", .@new, 5000), 2;
- .@xp+=.@blv*50;
- .@gp+=.@bhp;
- .@jp+=50;
- } else if (.@new < 5000) {
- mesc l("@@: @@/@@", l("3rd step"), .@new, 5000);
- }
-
- // 4th step: 7500 kills
- if (VarDiffValue(.@old, .@new, 7500)) {
- mesc l("Goal: @@/@@ reached!", .@new, 7500), 2;
- .@xp+=.@blv*75;
- .@gp+=.@bhp;
- .@jp+=75;
- } else if (.@new < 7500) {
- mesc l("@@: @@/@@", l("4th step"), .@new, 7500);
- }
-
- // 5th step: 10000 kills
- if (VarDiffValue(.@old, .@new, 10000)) {
- mesc l("Goal: @@/@@ reached!", .@new, 10000), 2;
- mesc l("You must talk to Aidan to claim rewards!");
- }
-
- // Get reward (must have Job Exp)
- if (.@jp) {
- getexp .@xp, .@jp;
- Zeny=Zeny+.@gp;
- }
- return;
-}
-
function script mobhunter {
if (getq(General_Hunter) == 0)
return;