From b9c4d98937d0540921fec80528acea12c41ba811 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Sat, 7 Apr 2018 17:08:33 -0300 Subject: Add Stat Resetter --- npc/009-1/_import.txt | 1 + npc/009-1/kevin.txt | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100644 npc/009-1/kevin.txt (limited to 'npc/009-1') diff --git a/npc/009-1/_import.txt b/npc/009-1/_import.txt index bd7a48f92..cb87e1c6b 100644 --- a/npc/009-1/_import.txt +++ b/npc/009-1/_import.txt @@ -3,5 +3,6 @@ "npc/009-1/_mobs.txt", "npc/009-1/_warps.txt", "npc/009-1/guards.txt", +"npc/009-1/kevin.txt", "npc/009-1/lynnthetraveler.txt", "npc/009-1/soul-menhir.txt", diff --git a/npc/009-1/kevin.txt b/npc/009-1/kevin.txt new file mode 100644 index 000000000..8499e4139 --- /dev/null +++ b/npc/009-1/kevin.txt @@ -0,0 +1,98 @@ +// TMW2 Script +// Author: +// Saulc + +009-1,79,62,0 script Kevin NPC_PLAYER,{ + + speech S_LAST_NEXT, + l("I am Kevin, an alchemist specialized in reset potions."); + +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 = 3; + end; +} -- cgit v1.2.3-60-g2f50