diff options
Diffstat (limited to 'npc/009-3')
-rw-r--r-- | npc/009-3/_import.txt | 3 | ||||
-rw-r--r-- | npc/009-3/barzil.txt | 28 | ||||
-rw-r--r-- | npc/009-3/dangrostra.txt | 67 | ||||
-rw-r--r-- | npc/009-3/kevin.txt | 98 |
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; +} |