summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2018-09-13 14:14:53 -0300
committerJesusaves <cpntb1@ymail.com>2018-09-13 14:14:53 -0300
commite4fb06529d6f26eef45930094607324504d8c836 (patch)
tree297fd005eb37613ead9ddedad7ae4ebacd9bf369
parentaceef3c0250ec65ca4d616500a8b202ca7a573dc (diff)
downloadserverdata-e4fb06529d6f26eef45930094607324504d8c836.tar.gz
serverdata-e4fb06529d6f26eef45930094607324504d8c836.tar.bz2
serverdata-e4fb06529d6f26eef45930094607324504d8c836.tar.xz
serverdata-e4fb06529d6f26eef45930094607324504d8c836.zip
This should simplify pet_detective logic
-rw-r--r--npc/017-1/pet_detective.txt17
-rw-r--r--npc/functions/petsales.txt30
-rw-r--r--npc/scripts.conf1
3 files changed, 33 insertions, 15 deletions
diff --git a/npc/017-1/pet_detective.txt b/npc/017-1/pet_detective.txt
index 2eb1d47e9..1a7c69e5b 100644
--- a/npc/017-1/pet_detective.txt
+++ b/npc/017-1/pet_detective.txt
@@ -49,21 +49,8 @@ L_Menu:
mes "";
switch (@menu) {
case 1:
- .@price=30**(PETMEMO[GHQ_GetQuestIDByMonsterID(ForestMushroom)]+1);
- mesn;
- mesq l("That'll cost you @@ @@.", .@price, getitemlink(MushroomSpores));
- next;
- if (askyesno() == ASK_YES) {
- if (countitem(MushroomSpores) >= .@price && .stock) {
- delitem MushroomSpores, .@price;
- makepet ForestMushroom;
- getexp .@price*100, 0;
- PETMEMO[GHQ_GetQuestIDByMonsterID(ForestMushroom)]+=1;
- .stock-=1;
- mesn;
- mesq l("There you go!");
- }
- }
+ if (PDQ_InnerSwitch(ForestMushroom, MushroomSpores, 30))
+ .stock-=1;
break;
default:
closedialog;
diff --git a/npc/functions/petsales.txt b/npc/functions/petsales.txt
new file mode 100644
index 000000000..68dc46d24
--- /dev/null
+++ b/npc/functions/petsales.txt
@@ -0,0 +1,30 @@
+// TMW-2 Script
+// Author: Jesusalva
+// Desc: Grand Hunter Pet Quest Utils.
+// Note: Remember to update GHQ and pet_detective on LoF Village (017-1)
+
+// Core logic for Pet Detective. Doesn't checks for stock, allowing exploits.
+// MobID, ItemID, Base Value
+function script PDQ_InnerSwitch {
+
+ .@mid=getarg(0);
+ .@iid=getarg(1);
+ .@val=getarg(2, 30);
+
+ .@price=.@val**(PETMEMO[GHQ_GetQuestIDByMonsterID(.@mid)]+1);
+ mesn;
+ mesq l("That'll cost you @@ @@.", .@price, getitemlink(.@iid));
+ next;
+ if (askyesno() == ASK_YES) {
+ if (countitem(.@iid) >= .@price) {
+ delitem .@iid, .@price;
+ makepet .@mid;
+ getexp .@price*BaseLevel, 0;
+ PETMEMO[GHQ_GetQuestIDByMonsterID(.@mid)]+=1;
+ mesn;
+ mesq l("There you go!");
+ return 1;
+ }
+ }
+ return 0;
+}
diff --git a/npc/scripts.conf b/npc/scripts.conf
index 4fbe83ec1..5f3ce9e70 100644
--- a/npc/scripts.conf
+++ b/npc/scripts.conf
@@ -44,6 +44,7 @@
"npc/functions/npcmove.txt",
"npc/functions/npcmovegraph.txt",
"npc/functions/nurse.txt",
+"npc/functions/petsales.txt",
"npc/functions/questgen.txt",
"npc/functions/refine.txt",
"npc/functions/riddle.txt",