summaryrefslogtreecommitdiff
path: root/npc/009-3
diff options
context:
space:
mode:
Diffstat (limited to 'npc/009-3')
-rw-r--r--npc/009-3/_import.txt3
-rw-r--r--npc/009-3/barzil.txt28
-rw-r--r--npc/009-3/dangrostra.txt67
-rw-r--r--npc/009-3/kevin.txt98
4 files changed, 196 insertions, 0 deletions
diff --git a/npc/009-3/_import.txt b/npc/009-3/_import.txt
index eeb3b9e54..632f4c576 100644
--- a/npc/009-3/_import.txt
+++ b/npc/009-3/_import.txt
@@ -1,3 +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/barzil.txt b/npc/009-3/barzil.txt
new file mode 100644
index 000000000..f45f28ceb
--- /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", 13000);
+ close;
+
+L_Tier2:
+ mesn strcharinfo(0);
+ mesq l("I need my master's @@, 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 000000000..2025e6362
--- /dev/null
+++ b/npc/009-3/dangrostra.txt
@@ -0,0 +1,67 @@
+// 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;
+ shop .name$;
+ close;
+
+L_Close:
+ closedialog;
+ goodbye;
+ close;
+
+OnInit:
+ .@npcId = getnpcid(0, .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;
+ tradertype(NST_MARKET);
+
+ // Bows (rare)
+ sellitem ShortBow, 15200, 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
+ sellitem BlueDye, -1, 1;
+ // Arrows (common)
+ sellitem Arrow, -1, 200;
+ sellitem IronArrow, -1, 90;
+
+ end;
+
+OnClock0000:
+ restoreshopitem ShortBow, 15200, 1;
+OnClock1200:
+ restoreshopitem WoodenBow, 6800, 1;
+OnClock0400:
+OnClock1600:
+ restoreshopitem SharpKnife, -1, 1;
+ restoreshopitem EmptyBottle, -1, 1;
+ restoreshopitem BlueDye, -1, 1;
+OnClock0800:
+OnClock2000:
+ restoreshopitem Arrow, -1, 200;
+ restoreshopitem IronArrow, -1, 90;
+
+
+}
diff --git a/npc/009-3/kevin.txt b/npc/009-3/kevin.txt
new file mode 100644
index 000000000..891544e45
--- /dev/null
+++ b/npc/009-3/kevin.txt
@@ -0,0 +1,98 @@
+// TMW2 Script
+// Author:
+// Saulc
+// Vasily_Makarov (original from Evol)
+// Jesusalva
+
+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
+
+ select
+ l("Can you reset my stats please?"),
+ lg("You are weird, I have to go sorry.");
+
+ switch (@menu)
+ {
+ case 1:
+ goto L_ResetStats;
+ case 2:
+ goto L_Quit;
+ }
+
+L_ResetStats:
+ mesn;
+ mesq l("Status point reset can't be undone. Do you really want this?");
+
+L_ConfirmReset:
+ switch (select(lg("Yes, I am sure."),
+ lg("I need to think about it..."),
+ lg("I won't need it, thank you.")))
+ {
+ case 1:
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Let me just have a quick look at you. Hm... I will need @@ GP to reset your stats.", .@plush_count);
+
+ select
+ rif(Zeny >= .@plush_count, l("Here, take as much as you need, I have plenty!")),
+ rif(Zeny > 0 && Zeny < .@plush_count, l("I don't have enough money...")),
+ rif(Zeny == 0, l("Oh no, I don't have any money on me right now.")),
+ l("I have to go, sorry.");
+
+ if (@menu > 1)
+ {
+ goto L_Quit;
+ }
+
+ // TODO: I think there were functions to deal with GP
+ set Zeny, Zeny-.@plush_count;
+
+ speech S_FIRST_BLANK_LINE | S_LAST_NEXT,
+ l("Thank you."),
+ l("Now stand still... It should not take much time...");
+
+ .@wasSP = StatusPoint;
+ resetstatus;
+ if (StatusPoint == .@wasSP)
+ {
+ speech S_LAST_NEXT,
+ l("It seems that you have no status points to reset!"),
+ l("But the money you brought was really awesome you know."),
+ l("Come back when you will really need me.");
+ } else {
+ speech S_LAST_NEXT,
+ l("Let's see... @@ of your status points have just been reset!", StatusPoint - .@wasSP),
+ l("Spend it wisely this time."),
+ l("But you are welcome to reset your stats again! I need the money.");
+ }
+ goto L_Quit;
+
+ case 2:
+ goto L_Quit;
+ case 3:
+ goto L_Quit;
+ }
+
+
+L_Quit:
+
+ goodbye;
+
+OnInit:
+ .@npcId = getnpcid(0, .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;
+}