summaryrefslogtreecommitdiff
path: root/npc/009-3
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2022-10-23 21:44:22 -0300
committerJesusaves <cpntb1@ymail.com>2022-10-23 21:44:22 -0300
commita7c45a192268da2601cef47a4cdba987ae2327ca (patch)
treec5fb5b97db109fe7106496dd96498c475881046b /npc/009-3
downloadserverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.gz
serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.bz2
serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.xz
serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.zip
Initial commit (Moubootaur Legends fork)
Diffstat (limited to 'npc/009-3')
-rw-r--r--npc/009-3/_import.txt6
-rw-r--r--npc/009-3/_warps.txt3
-rw-r--r--npc/009-3/barzil.txt28
-rw-r--r--npc/009-3/dangrostra.txt85
-rw-r--r--npc/009-3/kevin.txt169
5 files changed, 291 insertions, 0 deletions
diff --git a/npc/009-3/_import.txt b/npc/009-3/_import.txt
new file mode 100644
index 0000000..632f4c5
--- /dev/null
+++ b/npc/009-3/_import.txt
@@ -0,0 +1,6 @@
+// Map 009-3: Halinarzo General Store
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/009-3/_warps.txt",
+"npc/009-3/barzil.txt",
+"npc/009-3/dangrostra.txt",
+"npc/009-3/kevin.txt",
diff --git a/npc/009-3/_warps.txt b/npc/009-3/_warps.txt
new file mode 100644
index 0000000..1577a7a
--- /dev/null
+++ b/npc/009-3/_warps.txt
@@ -0,0 +1,3 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 009-3: Halinarzo General Store warps
+009-3,44,57,0 warp #009-3_44_57 0,0,009-1,86,35
diff --git a/npc/009-3/barzil.txt b/npc/009-3/barzil.txt
new file mode 100644
index 0000000..d4462bd
--- /dev/null
+++ b/npc/009-3/barzil.txt
@@ -0,0 +1,28 @@
+// TMW-2 Script.
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Banker. Also used on Tier 2 Quest.
+
+009-3,29,38,0 script Barzil NPC_LLOYD,{
+ if (ST_TIER == 2 && gettimetick(2) < QUEST_ELEVARTEMPO) goto L_Tier2;
+ Banker(.name$, "Halinarzo", 8900);
+ close;
+
+L_Tier2:
+ mesn strcharinfo(0);
+ mesq l("I need for the Magic Academy a @@, fast!", getitemlink(SunnyCrystal));
+ next;
+ mesn;
+ mesq l("Of course! Quick, take it!!");
+ inventoryplace SunnyCrystal, 1;
+ ST_TIER=3;
+ getitem SunnyCrystal, 1;
+ close;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 4;
+ end;
+}
diff --git a/npc/009-3/dangrostra.txt b/npc/009-3/dangrostra.txt
new file mode 100644
index 0000000..665cf63
--- /dev/null
+++ b/npc/009-3/dangrostra.txt
@@ -0,0 +1,85 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+// Description:
+// Dang Rostra is the seller of Halinarzo (and usually sells overpriced stuff)
+// Dang Rostra is an anagram of DragonStar, winner of Easter 2018
+
+009-3,26,47,0 script Dang Rostra NPC_PLAYER,{
+
+ mesn;
+ mesq l("Halinarzo people are very poor, but we have our resources...");
+ mes "";
+ menu
+ l("Trade"), -,
+ l("Leave"), L_Close;
+
+ closedialog;
+ npcshopattach(.name$);
+ shop .name$;
+ close;
+
+L_Close:
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, NPCEyes);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, VneckJumper);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, RaidTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 6);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 3);
+
+ .sex = G_MALE;
+ .distance = 5;
+ sleep(SHOPWAIT);
+ tradertype(NST_MARKET);
+
+ // Bows (rare)
+ sellitem ShortBow, 10200, 1;
+ sellitem WoodenBow, 6800, 1;
+ // Misc (uncommon)
+ sellitem SharpKnife, -1, 1;
+ sellitem EmptyBottle, -1, 1; // You can buy some empty bottles here, but they're scarse
+ // Arrows (common)
+ sellitem Arrow, -1, 200;
+ sellitem IronArrow, -1, 90;
+ sellitem ArrowAmmoBox, -1, 2;
+ sellitem IronAmmoBox, -1, 1;
+
+ // Speciality Drinks (common)
+ sellitem Coffee, -1, 3;
+ end;
+
+OnClock0001:
+ restoreshopitem ShortBow, 10200, 1;
+OnClock1200:
+ restoreshopitem WoodenBow, 6800, 1;
+OnClock0400:
+OnClock1600:
+ restoreshopitem SharpKnife, 1;
+ restoreshopitem EmptyBottle, 1;
+OnClock0800:
+OnClock2000:
+ restoreshopitem Arrow, 200;
+ restoreshopitem IronArrow, 90;
+ restoreshopitem ArrowAmmoBox, 2;
+ restoreshopitem IronAmmoBox, 1;
+ restoreshopitem Coffee, 3;
+ end;
+
+// Pay your taxes!
+OnBuyItem:
+ debugmes("Purchase confirmed");
+ PurchaseTaxes();
+ end;
+
+OnSellItem:
+ debugmes("Sale confirmed");
+ SaleTaxes();
+ end;
+
+}
diff --git a/npc/009-3/kevin.txt b/npc/009-3/kevin.txt
new file mode 100644
index 0000000..923ac1b
--- /dev/null
+++ b/npc/009-3/kevin.txt
@@ -0,0 +1,169 @@
+// TMW2 Script
+// Author:
+// Saulc
+// Vasily_Makarov (original from Evol)
+// Jesusalva
+// Dye Quest added by:
+// Povo
+// Description:
+// Status Reset, mixed gem powder, dye
+
+009-3,39,48,0 script Kevin NPC_PLAYER,{
+
+ speech S_LAST_NEXT,
+ l("I am @@, an alchemist specialized in reset potions.", .name$);
+
+L_Menu:
+ .@plush_count = BaseLevel*210-(9*210);
+ // Lv 10: 210 GP
+ // Lv 90: 1.890 GP
+ if (BaseLevel > 10)
+ .@plush_count = .@plush_count/(BaseLevel/10);
+
+ select
+ l("Can you reset my stats please?"),
+ l("Can you mix Gem Powder?"),
+ l("Do you make anything else?"),
+ lg("You are weird, I have to go sorry.");
+
+ switch (@menu)
+ {
+ case 1:
+ goto L_ResetStats;
+ case 2:
+ goto L_Powder;
+ case 3:
+ goto L_Dye;
+ case 4:
+ goto L_Quit;
+ }
+
+L_ResetStats:
+ mesn;
+ mesq l("Status point reset can't be undone. Do you really want this?");
+
+L_ConfirmReset:
+ ConfirmStatusReset();
+ goto L_Quit;
+
+L_Powder:
+ .@price=POL_AdjustPrice(800);
+ mes "";
+ mesn;
+ mesq l("To make @@ I need one from each gem powders, and @@ GP for commission.", getitemlink(GemPowder), .@price);
+ next;
+ select
+ l("Yeah, I need one."),
+ l("Thanks for the help, but no."),
+ l("Actually, nevermind. Good bye!");
+ if (@menu == 2)
+ goto L_Menu;
+
+ if (@menu == 3)
+ goto L_Quit;
+
+ if (
+ countitem(DiamondPowder) &&
+ countitem(RubyPowder) &&
+ countitem(EmeraldPowder) &&
+ countitem(SapphirePowder) &&
+ countitem(TopazPowder) &&
+ countitem(AmethystPowder) &&
+ Zeny >= .@price) {
+
+ inventoryplace GemPowder, 1;
+ delitem DiamondPowder, 1;
+ delitem RubyPowder, 1;
+ delitem EmeraldPowder, 1;
+ delitem SapphirePowder, 1;
+ delitem TopazPowder, 1;
+ delitem AmethystPowder, 1;
+ POL_PlayerMoney(.@price);
+ getitem GemPowder, 1;
+ getexp rand2(6,18), rand2(6,18);
+
+ mesn;
+ mesq l("Thanks! Here you go. Perhaps you need another one?");
+ next;
+ goto L_Powder;
+ } else {
+ mesn;
+ mesq l("Sorry, but I need one of each gem powder, and %d GP.", .@price);
+ next;
+ }
+ goto L_Menu;
+
+L_Dye:
+ mesn;
+ mesq l("Actually, using a byproduct of my other works and a few additional ingredients, I could make a %s",
+ getitemlink(PinkDye));
+ if (BaseLevel < 25) {
+ mesq l("Hmm...actually, nevermind.");
+ next;
+ mesn;
+ mesq l("I cannot in good faith ask someone with so little experience to risk their life for something so trivial.");
+ next;
+ mesn;
+ mesq l("Come back when you are stronger.");
+ next;
+ goto L_Menu;
+ }
+ next;
+ mesq l("Bring me %d %s, %d %s, and %d %s and I can make it for you... oh and it will be %d GP for my work.",
+ 1, getitemlink(BottleOfTonoriWater), 20, getitemlink(PinkBlobime), 30, getitemlink(Plushroom), 500);
+ if (getq(HalinarzoQuest_Kevin) < 1)
+ setq HalinarzoQuest_Kevin, 1;
+ next;
+ select
+ l("Yeah, I need one."),
+ l("Thanks for the help, but no."),
+ l("Actually, nevermind. Good bye!");
+ mes "";
+ if (@menu == 2)
+ goto L_Menu;
+
+ if (@menu == 3)
+ goto L_Quit;
+
+ if (countitem(BottleOfTonoriWater) >= 1 &&
+ countitem(PinkBlobime) >= 20 &&
+ countitem(Plushroom) >= 30 && Zeny >= 500) {
+ inventoryplace PinkDye, 1, EmptyBottle, 1;
+ delitem BottleOfTonoriWater, 1;
+ delitem PinkBlobime, 20;
+ delitem Plushroom, 30;
+ Zeny=Zeny-500;
+ getitem PinkDye, 1;
+ getitem EmptyBottle, 1;
+ if (getq(HalinarzoQuest_Kevin) == 1) {
+ setq HalinarzoQuest_Kevin, 2;
+ getexp 300, 0;
+ }
+ mesn;
+ mesq l("Thanks! Here you go. Perhaps you want another one?");
+ next;
+ goto L_Dye;
+ } else {
+ mesn;
+ mesq l("Sorry, you don't seem to have everything I need.");
+ }
+ close;
+
+L_Quit:
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, FancyHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SailorShirt);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, BromenalPants);
+ setunitdata(.@npcId, UDT_WEAPON, LousyMoccasins); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 7);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 17);
+
+ .sex = G_MALE;
+ .distance = 4;
+ end;
+}