summaryrefslogtreecommitdiff
path: root/npc/024-12
diff options
context:
space:
mode:
Diffstat (limited to 'npc/024-12')
-rw-r--r--npc/024-12/_import.txt1
-rw-r--r--npc/024-12/alicia.txt111
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;
+
+}
+