diff options
Diffstat (limited to 'npc')
-rw-r--r-- | npc/000-1/exit.txt | 8 | ||||
-rw-r--r-- | npc/024-1/_import.txt | 1 | ||||
-rw-r--r-- | npc/024-1/guard.txt | 12 | ||||
-rw-r--r-- | npc/024-1/soul-menhir.txt | 20 | ||||
-rw-r--r-- | npc/024-1/town.txt | 4 | ||||
-rw-r--r-- | npc/024-10/_import.txt | 1 | ||||
-rw-r--r-- | npc/024-10/haircut.txt | 66 | ||||
-rw-r--r-- | npc/024-12/_import.txt | 1 | ||||
-rw-r--r-- | npc/024-12/alicia.txt | 111 | ||||
-rw-r--r-- | npc/024-3/_import.txt | 1 | ||||
-rw-r--r-- | npc/024-3/arauto.txt | 16 | ||||
-rw-r--r-- | npc/024-8/_import.txt | 1 | ||||
-rw-r--r-- | npc/024-8/nurse.txt | 23 |
13 files changed, 258 insertions, 7 deletions
diff --git a/npc/000-1/exit.txt b/npc/000-1/exit.txt index 81b60e531..ddbcc2321 100644 --- a/npc/000-1/exit.txt +++ b/npc/000-1/exit.txt @@ -23,10 +23,10 @@ OnTalkNearby: end; OnInit: - setarray .LOCMASTER_LOC$, "Candor", "Tulim", "Halin", "Hurns", "LoF", "Nival"; // 018-5 Lilit 024-1 Frostia - setarray .LOCMASTER_MAP$, "005-1", "003-1", "009-1", "012-1", "017-1", "020-1"; - setarray .LOCMASTER_X, 34, 40, 26, 86, 119, 56; - setarray .LOCMASTER_Y, 101, 49, 30, 69, 87, 62; + setarray .LOCMASTER_LOC$, "Candor", "Tulim", "Halin", "Hurns", "LoF", "Nival", "Frostia"; // 018-5 Lilit + setarray .LOCMASTER_MAP$, "005-1", "003-1", "009-1", "012-1", "017-1", "020-1", "024-1"; + setarray .LOCMASTER_X, 34, 40, 26, 86, 119, 56, 94; + setarray .LOCMASTER_Y, 101, 49, 30, 69, 87, 62, 42; debugmes "Locmaster: Index 0: %s [%s.gat (%d, %d)]", .LOCMASTER_LOC$[0], .LOCMASTER_MAP$[0], .LOCMASTER_X[0], .LOCMASTER_Y[0]; debugmes "Locmaster: Index 2: %s [%s.gat (%d, %d)]", .LOCMASTER_LOC$[2], .LOCMASTER_MAP$[2], .LOCMASTER_X[2], .LOCMASTER_Y[2]; diff --git a/npc/024-1/_import.txt b/npc/024-1/_import.txt index c31784210..604efcddb 100644 --- a/npc/024-1/_import.txt +++ b/npc/024-1/_import.txt @@ -3,5 +3,6 @@ "npc/024-1/_warps.txt", "npc/024-1/guard.txt", "npc/024-1/mapflags.txt", +"npc/024-1/soul-menhir.txt", "npc/024-1/teleporter.txt", "npc/024-1/town.txt", diff --git a/npc/024-1/guard.txt b/npc/024-1/guard.txt index 4dc86cdd8..23bc03790 100644 --- a/npc/024-1/guard.txt +++ b/npc/024-1/guard.txt @@ -9,10 +9,20 @@ goto L_Unallowed; //if (getrace() == "Elf") goto L_Warp; - .@tax=101-reputation("Frostia"); + .@tax=1001-(reputation("Frostia")*10); mesn; mesc l("The guard eyes you with suspcion."); mesq l("You should not be here. Get moving."); + if (Zeny < .@tax) + close; + next; + mesc l("Bribe the guard for @@ GP?", .@price); + if (askyesno() == ASK_YES) { + Zeny-=.@price; + closeclientdialog; + slide 93, 69; + npctalk3 l("Behave yourself."); + } close; L_Unallowed: diff --git a/npc/024-1/soul-menhir.txt b/npc/024-1/soul-menhir.txt new file mode 100644 index 000000000..2820399df --- /dev/null +++ b/npc/024-1/soul-menhir.txt @@ -0,0 +1,20 @@ +// TMW2 scripts. +// Author: +// Jesusalva +// Description: +// Soul Menhir + +024-1,94,41,0 script Soul Menhir#frost NPC_SOUL_SNOW,{ + @map$ = "024-1"; + setarray @Xs, 93, 94, 95, 93, 95, 93, 94, 95; + setarray @Ys, 40, 40, 40, 41, 41, 42, 42, 42; + @x = 0; + @y = 0; + callfunc "SoulMenhir"; + @map$ = ""; + cleararray @Xs[0], 0, getarraysize(@Xs); + cleararray @Ys[0], 0, getarraysize(@Ys); + @x = 0; + @y = 0; + close; +} diff --git a/npc/024-1/town.txt b/npc/024-1/town.txt index f3ddc20c7..fd7e7bb67 100644 --- a/npc/024-1/town.txt +++ b/npc/024-1/town.txt @@ -4,7 +4,7 @@ // Description: // Reset LOCATION$ when entering a town -/*024-1,x,y,0 script #LocFrostia NPC_HIDDEN,2,0,{ +024-1,93,69,0 script #LocFrostia NPC_HIDDEN,2,0,{ LOCATION$="Frostia"; end; -}*/ +} diff --git a/npc/024-10/_import.txt b/npc/024-10/_import.txt index 6340503e7..185060717 100644 --- a/npc/024-10/_import.txt +++ b/npc/024-10/_import.txt @@ -1,3 +1,4 @@ // Map 024-10: Frostia Indoors // This file is generated automatically. All manually added changes will be removed when running the Converter. "npc/024-10/_warps.txt", +"npc/024-10/haircut.txt", diff --git a/npc/024-10/haircut.txt b/npc/024-10/haircut.txt new file mode 100644 index 000000000..a7d931146 --- /dev/null +++ b/npc/024-10/haircut.txt @@ -0,0 +1,66 @@ +// TMW2 scripts. +// Authors: +// Jesusalva +// Description: +// Haircut. + +024-10,27,30,0 script Cato Mil NPC_ELVEN_FEMALE_ARMOR_SHOP,{ + function setRace { + clear; + setnpcdialogtitle l("Debug - Modify Race"); + mes l("Race") + ": " + $@allraces$[Class]; + next; + mes l("Please select the desired race."); + select("Human:Ukar:Redy:Elf:Orc:Raijin:Tritan"); + jobchange max(0, @menu-1); + return; + } + + + mesn; + mesq l("Hi! Do you want a hair cut?"); + + do + { + select + l("What is my current hairstyle and hair color?"), + l("I'd like to get a different style."), + l("Can you do something with my color?"), + rif(is_staff(), l("I am a GM, and I want to change my Race!")), + l("I'm fine for now, thank you."); + + switch (@menu) + { + case 1: + BarberSayStyle 3; + break; + case 2: + BarberChangeStyle; + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("Enjoy your new style."); + l("Anything else?"); + break; + case 3: + BarberChangeColor; + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("I hope you like this color."); + l("Anything else?"); + break; + case 4: + setRace; + break; + case 5: + speech S_FIRST_BLANK_LINE | S_LAST_NEXT, + l("Feel free to come visit me another time."); + + goodbye; + } + } while (1); + close; + +OnInit: + .sex = G_FEMALE; + .distance = 5; + end; +} + 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; + +} + diff --git a/npc/024-3/_import.txt b/npc/024-3/_import.txt index 2e52a6254..5b3917d56 100644 --- a/npc/024-3/_import.txt +++ b/npc/024-3/_import.txt @@ -1,3 +1,4 @@ // Map 024-3: Frostia Indoors // This file is generated automatically. All manually added changes will be removed when running the Converter. "npc/024-3/_warps.txt", +"npc/024-3/arauto.txt", diff --git a/npc/024-3/arauto.txt b/npc/024-3/arauto.txt new file mode 100644 index 000000000..5c6eb6377 --- /dev/null +++ b/npc/024-3/arauto.txt @@ -0,0 +1,16 @@ +// TMW2 scripts. +// Authors: +// Jesusalva +// Description: +// Banker. + +024-3,33,28,0 script Arauto NPC_LLOYD,{ + Banker(.name$, "Frostia", 9800); + close; + +OnInit: + .sex = G_MALE; + .distance = 5; + end; +} + diff --git a/npc/024-8/_import.txt b/npc/024-8/_import.txt index 5d1c1aac0..447477f77 100644 --- a/npc/024-8/_import.txt +++ b/npc/024-8/_import.txt @@ -1,3 +1,4 @@ // Map 024-8: Frostia Indoors // This file is generated automatically. All manually added changes will be removed when running the Converter. "npc/024-8/_warps.txt", +"npc/024-8/nurse.txt", diff --git a/npc/024-8/nurse.txt b/npc/024-8/nurse.txt new file mode 100644 index 000000000..222667aa6 --- /dev/null +++ b/npc/024-8/nurse.txt @@ -0,0 +1,23 @@ +// TMW2 scripts. +// Authors: +// Jesusalva +// Description: +// Nurse. + +024-3,33,28,0 script Frostia's Nurse NPC_ELF_F,{ + Nurse(.name$, 10, 5); + close; + +OnInit: + .@npcId = getnpcid(.name$); + setunitdata(.@npcId, UDT_HEADBOTTOM, CottonSkirt); + setunitdata(.@npcId, UDT_HEADMIDDLE, TneckSweater); + setunitdata(.@npcId, UDT_HEADTOP, NPCEyes); + setunitdata(.@npcId, UDT_HAIRSTYLE, 12); + setunitdata(.@npcId, UDT_HAIRCOLOR, 14); + + .sex = G_FEMALE; + .distance = 5; + end; +} + |