diff options
Diffstat (limited to 'npc/024-12')
-rw-r--r-- | npc/024-12/_import.txt | 1 | ||||
-rw-r--r-- | npc/024-12/alicia.txt | 111 |
2 files changed, 112 insertions, 0 deletions
diff --git a/npc/024-12/_import.txt b/npc/024-12/_import.txt index bd57bfee9..1715d1891 100644 --- a/npc/024-12/_import.txt +++ b/npc/024-12/_import.txt @@ -1,3 +1,4 @@ // Map 024-12: Frostia Indoors // This file is generated automatically. All manually added changes will be removed when running the Converter. "npc/024-12/_warps.txt", +"npc/024-12/alicia.txt", diff --git a/npc/024-12/alicia.txt b/npc/024-12/alicia.txt new file mode 100644 index 000000000..0d70aa48f --- /dev/null +++ b/npc/024-12/alicia.txt @@ -0,0 +1,111 @@ +// TMW2 scripts. +// Authors: +// Jesusalva +// Description: +// Status Reset. (+ Alchemy Recipe?) + +024-12,28,29,0 script Alicia NPC_ELF_F,{ + + speech S_LAST_NEXT, + l("I am @@, an alchemist specialized in reset potions.", .name$); + +L_Menu: + .@plush_count = BaseLevel*200-(9*200); + // Lv 10: 200 GP + // Lv 90: 16.000 GP + if (BaseLevel > 10) + .@plush_count = .@plush_count/(BaseLevel/10); + + select + l("Can you reset my stats please?"), + l("Can you teach me some Alchemy Recipe?"), + lg("You are weird, I have to go sorry."); + + switch (@menu) + { + case 1: + goto L_ResetStats; + case 2: + goto L_Recipe; + case 3: + goto L_Quit; + } + +L_ResetStats: + mesn; + mesq l("Status point reset can't be undone. Do you really want this?"); + +L_ConfirmReset: + select + lg("Yes, I am sure."), + lg("I need to think about it..."); + + switch (@menu) + { + 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; + +L_Recipe: + mes ""; + mesn; + mesq l("Oh my! Did you rent a house or an apartment and now want to brew stuff, like @@ or @@?", getitemlink(PrecisionPotion), getitemlink(StatusResetPotion)); + next; + mesn; + mesq l("...That's your problem, not mine. I am an elf if you haven't noticed."); + next; + goto L_Menu; + +L_Quit: + closedialog; + goodbye; + close; + +OnInit: + .@npcId = getnpcid(.name$); + setunitdata(.@npcId, UDT_HEADTOP, EarMuffs); + setunitdata(.@npcId, UDT_HEADMIDDLE, TneckSweater); + setunitdata(.@npcId, UDT_HEADBOTTOM, BromenalPants); + setunitdata(.@npcId, UDT_WEAPON, FurBoots); // Boots + setunitdata(.@npcId, UDT_HAIRSTYLE, 11); + setunitdata(.@npcId, UDT_HAIRCOLOR, 17); + + .sex = G_FEMALE; + .distance = 5; + end; + +} + |