diff options
Diffstat (limited to 'npc/003-1')
-rw-r--r-- | npc/003-1/ched.txt | 19 | ||||
-rw-r--r-- | npc/003-1/constableperry.txt | 15 | ||||
-rw-r--r-- | npc/003-1/cyndala.txt | 14 | ||||
-rw-r--r-- | npc/003-1/eomie.txt | 14 | ||||
-rw-r--r-- | npc/003-1/inac.txt | 13 | ||||
-rw-r--r-- | npc/003-1/jakod.txt | 12 | ||||
-rw-r--r-- | npc/003-1/malivox.txt | 93 | ||||
-rw-r--r-- | npc/003-1/tamiloc.txt | 284 | ||||
-rw-r--r-- | npc/003-1/tinris.txt | 21 |
9 files changed, 186 insertions, 299 deletions
diff --git a/npc/003-1/ched.txt b/npc/003-1/ched.txt index 1bb7d38bf..21fd30590 100644 --- a/npc/003-1/ched.txt +++ b/npc/003-1/ched.txt @@ -1,12 +1,25 @@ +// TMW2 scripts. // Author: // Saulc +// Description: +// Ched is from a quest. -003-1,40,49,0 script Ched NPC_MONA,{ -hello; +003-1,40,49,0 script Ched NPC_PLAYER,{ + + hello; + OnInit: + .@npcId = getnpcid(0, "Ched"); + setunitdata(.@npcId, UDT_HEADTOP, 2929); + setunitdata(.@npcId, UDT_HEADMIDDLE, 1314); + setunitdata(.@npcId, UDT_HEADBOTTOM, 2204); + setunitdata(.@npcId, UDT_WEAPON, 1803); // Boots + setunitdata(.@npcId, UDT_HAIRSTYLE, 7); + setunitdata(.@npcId, UDT_HAIRCOLOR, 17); + .sex = G_MALE; - .distance = 3; + .distance = 5; end; } diff --git a/npc/003-1/constableperry.txt b/npc/003-1/constableperry.txt index 64ab70e4d..0490be5e1 100644 --- a/npc/003-1/constableperry.txt +++ b/npc/003-1/constableperry.txt @@ -1,9 +1,22 @@ +// TMW2 Scripts. // Author: // Saulc +// Jesusalva +// Description: +// Constable Perry invites players to the TMW2 Project 003-1,47,75,0 script Constable Perry NPC_MOUBOO,{ -hello; +//hello; + mesn; + mesq l("Hello there! I am a constable. I keep law and order here."); + next; + mesq l("Yes, I am a mouboo. Why? Can't a mouboo be a law and order enforcer?!"); + next; + mesq l("Anyway, you can check our [@@https://gitlab.com/TMW2/TheManaWorld_Wiki/wikis/home|Wiki@@] to find awesome stuff!"); + next; + mesq l("You can even join the project there. Contributors are greatly appreciated! %%g"); + close; OnInit: .sex = G_MALE; diff --git a/npc/003-1/cyndala.txt b/npc/003-1/cyndala.txt index aeee8c7de..4b4571159 100644 --- a/npc/003-1/cyndala.txt +++ b/npc/003-1/cyndala.txt @@ -1,12 +1,20 @@ // Author: // Saulc -003-1,41,80,0 script Cyndala NPC_MONA,{ +003-1,41,80,0 script Cyndala NPC_FEMALE,{ hello; OnInit: - .sex = G_MALE; - .distance = 3; + .@npcId = getnpcid(0, "Cyndala"); + //setunitdata(.@npcId, UDT_HEADTOP, 2929); + setunitdata(.@npcId, UDT_HEADMIDDLE, 1320); + setunitdata(.@npcId, UDT_HEADBOTTOM, 2207); + setunitdata(.@npcId, UDT_WEAPON, 1802); // Boots + setunitdata(.@npcId, UDT_HAIRSTYLE, 16); + setunitdata(.@npcId, UDT_HAIRCOLOR, 11); + + .sex = G_FEMALE; + .distance = 5; end; } diff --git a/npc/003-1/eomie.txt b/npc/003-1/eomie.txt index d3f406139..57a355248 100644 --- a/npc/003-1/eomie.txt +++ b/npc/003-1/eomie.txt @@ -2,12 +2,20 @@ // Saulc // Notes: Eomie did the bug bomb at Candor -003-1,68,24,0 script Eomie NPC_MONA,{ +003-1,68,24,0 script Eomie NPC_ELF_F,{ hello; OnInit: - .sex = G_MALE; - .distance = 3; + .@npcId = getnpcid(0, "Eomie"); + //setunitdata(.@npcId, UDT_HEADTOP, 2929); + setunitdata(.@npcId, UDT_HEADMIDDLE, 1319); + setunitdata(.@npcId, UDT_HEADBOTTOM, 2207); + //setunitdata(.@npcId, UDT_WEAPON, 1802); // Boots + setunitdata(.@npcId, UDT_HAIRSTYLE, 10); + setunitdata(.@npcId, UDT_HAIRCOLOR, 12); + + .sex = G_FEMALE; + .distance = 5; end; } diff --git a/npc/003-1/inac.txt b/npc/003-1/inac.txt index 0358d01bf..38129c45d 100644 --- a/npc/003-1/inac.txt +++ b/npc/003-1/inac.txt @@ -1,13 +1,22 @@ +// TMW2 scripts. // Author: // Saulc -003-1,55,82,0 script Inac NPC_MONA,{ +003-1,55,82,0 script Inac NPC_PLAYER,{ hello; OnInit: + .@npcId = getnpcid(0, "Inac"); + setunitdata(.@npcId, UDT_HEADTOP, 2900); + setunitdata(.@npcId, UDT_HEADMIDDLE, 1301); + setunitdata(.@npcId, UDT_HEADBOTTOM, 2207); + setunitdata(.@npcId, UDT_WEAPON, 1800); // Boots + setunitdata(.@npcId, UDT_HAIRSTYLE, 7); + setunitdata(.@npcId, UDT_HAIRCOLOR, 17); + .sex = G_MALE; - .distance = 3; + .distance = 5; end; } diff --git a/npc/003-1/jakod.txt b/npc/003-1/jakod.txt index d1f7a12be..cddecb667 100644 --- a/npc/003-1/jakod.txt +++ b/npc/003-1/jakod.txt @@ -1,14 +1,22 @@ // Author: // Saulc -003-1,62,76,0 script Jakod NPC_MONA,{ +003-1,62,76,0 script Jakod NPC_PLAYER,{ hello; OnInit: + .@npcId = getnpcid(0, "Jakod"); + //setunitdata(.@npcId, UDT_HEADTOP, 2929); + setunitdata(.@npcId, UDT_HEADMIDDLE, 1315); + setunitdata(.@npcId, UDT_HEADBOTTOM, 2207); + setunitdata(.@npcId, UDT_WEAPON, 1800); // Boots + setunitdata(.@npcId, UDT_HAIRSTYLE, 24); + setunitdata(.@npcId, UDT_HAIRCOLOR, 2); + .sex = G_MALE; - .distance = 3; + .distance = 5; end; } diff --git a/npc/003-1/malivox.txt b/npc/003-1/malivox.txt index bdb9d481c..4ad7b0a95 100644 --- a/npc/003-1/malivox.txt +++ b/npc/003-1/malivox.txt @@ -1,12 +1,99 @@ // Author: // Saulc -003-1,114,106,0 script Malivox NPC_MONA,{ +003-1,114,106,0 script Malivox NPC_PLAYER,{ - -hello; + speech S_LAST_NEXT, + l("I am Malivox, an alchemist specialized in reset potions."); + +L_Menu: + if (BaseLevel < 10) + .@plush_count = (BaseLevel*5)+5; + else + .@plush_count = BaseLevel*190-(9*190); + // Lv 9: 50 GP | Lv 10: 190 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, "Malivox"); + setunitdata(.@npcId, UDT_HEADTOP, 2902); + setunitdata(.@npcId, UDT_HEADMIDDLE, 1303); + setunitdata(.@npcId, UDT_HEADBOTTOM, 2203); + setunitdata(.@npcId, UDT_WEAPON, 1800); // Boots + setunitdata(.@npcId, UDT_HAIRSTYLE, 7); + setunitdata(.@npcId, UDT_HAIRCOLOR, 17); + .sex = G_MALE; .distance = 3; end; diff --git a/npc/003-1/tamiloc.txt b/npc/003-1/tamiloc.txt index 12abc1390..6d42a41e0 100644 --- a/npc/003-1/tamiloc.txt +++ b/npc/003-1/tamiloc.txt @@ -1,288 +1,14 @@ -// Evol scripts. +// TMW2 scripts. // Authors: -// Ablu -// Alige -// Qwerty Dragon -// Reid -// Vasily_Makarov -// Description: -// Hidden in a ship's hole. -// 2 bits array: -// ShipQuests -// Variable: -// ShipQuests_Alige -// Values: -// 0 Never talk. -// 1 First talk. -// 2 Accept the task. -// 3 Bring first food. +// Saulc 003-1,49,43,0 script Tamiloc NPC_ELVEN_FEMALE_ARMOR_SHOP,{ - .@q = getq(ShipQuests_Alige); - if (.@q > 1) goto L_AskForFood; - goto OnFirstEncounter; - -OnFirstEncounter: - setq ShipQuests_Alige, 1; - - setcamnpc; - mesn "Hidden Person"; - mesq l("Hey, psst! You're not a sailor, right?"); - next; - restorecam; - - menu - lg("I am, who are you?"), -, - lg("Indeed, I am not."), L_NeedHelp; - - mes ""; - mesn "Narrator"; - mes col(l("The stowaway doesn't answer."), 9); - - close; - -L_NeedHelp: - setcamnpc; - mes ""; - mesn "Hidden Person"; - mesq l("Good, good... Hey, could you help me please? I beg you, please, pleeeease..."); - next; - restorecam; - - menu - l("Why not, but who are you, and what kind of help do you need?"), L_CanHelp; - l("Sorry but I have no time for this."), -; - - closedialog; - close; - -L_CanHelp: - setcamnpc; - mes ""; - mesn; - mesq l("My name is Alige, I've been hiding here for weeks. All I have to eat are these berries... berries... berries..."); - next; - mesq l("I'm losing my mind here, I need something else to eat!"); - next; - mesq l("Could you please bring me something which isn't a berry, and I'm not big on vegetables either. I need proteins!"); - next; - restorecam; - - menu - l("Sure, but what will you give me in exchange?"), L_AboutReward, - l("Why don't you come out?"), -; - -L_ExplainHiding: - setcamnpc; - mes ""; - mesn; - mesq l("No, I can't. I won't! All I wanted was to travel across the seas for fun, growl... sniff. And in this hole in the floor, as you can see, I have lots of fun."); - next; - mesq l("Oh... um... actually... all I wanted was to get to Artis. Err... but I didn't, uhm... have enough money to pay for the ferry!"); - next; - mesq l("Please don't tell people you saw me. I don't want to be decapitated or get thrown into the sea as food for sharks, or get my hair mussed!"); - next; - restorecam; - - if (getq(ShipQuests_Alige) == 2) goto L_SoAskForFood; - goto L_Accept; - -L_AboutReward: - setcamnpc; - mes ""; - mesn; - mesq l("I'll share my berries with you if you help me."); - next; - restorecam; - -L_Accept: - menu - l("Understood, I will help you."), L_FirstAccepted, - l("What is Artis?"), L_Artis, - l("I think I should report you to the crew members."), -; - - setcamnpc; - mesq lg("Growl, sniff, grr! You'd better not tell anyone you saw me!"); - - close; - -L_Artis: - setcamnpc; - mes ""; - mesn; - mesq l("It's a commercial port of Andorra, it's weird that you don't know about it since it is one of the most famous cities throughout the whole world. But hey, back to me. Remember me telling you that I'm hun...grrr...eee!"); - next; - restorecam; - - if (.@q == 2) goto L_SoAskForFood; - goto L_Accept; - -L_FirstAccepted: - if (getq(ShipQuests_Alige) >= 2) goto L_Accepted; - setq ShipQuests_Alige, 2; - - goto L_Accepted; - -L_Accepted: - setcamnpc; - mes ""; - mesn; - mesq lg("Great, what food do you have for me today?"); - next; - restorecam; - -L_GiveFood: - mes ""; - menuint - rif(countitem(Acorn), l(getitemname(Acorn))), 0, - rif(countitem(Bread), l(getitemname(Bread))), 502, - rif(countitem(Fungus), l(getitemname(Fungus))), 503, - rif(countitem(Cheese), l(getitemname(Cheese))), 504, - rif(countitem(PiouLegs), l(getitemname(PiouLegs))), 505, - rif(countitem(LettuceLeaf), l(getitemname(LettuceLeaf))), 0, - rif(countitem(Piberries), l(getitemname(Piberries))), 2, - rif(countitem(SeaDrops), l(getitemname(SeaDrops))), 1, - rif(countitem(Aquada), l(getitemname(Aquada))), 509, - rif(countitem(PinkBlobime), l(getitemname(PinkBlobime))), 1, - rif(countitem(HalfCroconut), l(getitemname(HalfCroconut))), 512, - rif(countitem(Croconut), l(getitemname(Croconut))), 0, - rif(countitem(Plushroom), l(getitemname(Plushroom))), 515, - rif(countitem(PumpkinSeeds), l(getitemname(PumpkinSeeds))), 1, - rif(countitem(UrchinMeat), l(getitemname(UrchinMeat))), 1, - rif(countitem(EasterEgg), l(getitemname(EasterEgg))), 1, - rif(countitem(PumpkishJuice), l(getitemname(PumpkishJuice))), 527, - rif(countitem(Manana), l(getitemname(Manana))), 528, - rif(countitem(Curshroom), l(getitemname(Curshroom))), 529, - rif(countitem(Carrot), l(getitemname(Carrot))), 530, - rif(countitem(RedPlushWine), l(getitemname(RedPlushWine))), 3, - l("I don't have anything good for you today."), -1; - - .@id = @menuret; - if (.@id == -1) goto L_Quit; // Quit message. - if (.@id == 0) goto L_NoReward; // In case of wrong food. - if (.@id == 1) goto L_Poison; // In case of poisoned food. - if (.@id == 2) goto L_NoMore; // In case of Piberries. - if (.@id == 3) goto L_Drunk; // In case of Alcohol. - if (countitem(.@id) == 0) goto L_Quit; -// if (.@id == item's ID) then food is correct. -// Do not put any other number than -1, 0, 1, 2 or the item's ID, that'll avoid confusion. - - inventoryplace Piberries, 3; - delitem .@id, 1; - - setcamnpc; - mes ""; - mesn; - mesq l("Thank you so much! Here, have some of my berries."); - - setq ShipQuests_Alige, 3; - getitem Piberries, rand(1, 3); - next; - - goto L_ReturnMenu; - -L_NoReward: - setcamnpc; - mes ""; - mesn; - mesq l("You don't expect me to eat that, do you? Give me something else!"); - next; - restorecam; - - goto L_GiveFood; - -L_Drunk: - setcamnpc; - speech S_FIRST_BLANK_LINE | S_LAST_NEXT, - l("I asked for food but... *hips* Ah, that'll do!"); - restorecam; - - goto L_GiveFood; - -L_ReturnMenu: - setcamnpc; - mesq l("Do you have anything else for me?"); - next; - restorecam; - - goto L_GiveFood; - -L_NoMore: - setcamnpc; - mes ""; - mesn; - mesq l("Grr, don't give me more berries! I don't want them, stupid berries, stupid... Stupid... Stupid!"); - next; - - goto L_ReturnMenu; - -L_Poison: - setcamnpc; - mes ""; - mesn; - mesq l("Don't try to poison me! I know what that does!"); - next; - restorecam; - goto L_ReturnMenu; - -L_SoAskForFood: - setcamnpc; - mesn; - mesq l("So, do you have anything for me today?"); - next; - restorecam; - goto L_IntroMenu; - -L_AskForFood: - setcamnpc; - mesn; - mesq l("Do you have anything for me today?"); - next; - restorecam; - -L_IntroMenu: - menu - l("Yes."), L_GiveFood, - l("Where can I find some food?"), L_FindFood, - l("Why are you hiding?") + " " + l("Why don't you come out?"), L_ExplainHiding, - l("What is Artis?"), L_Artis, - l("I think I should report you to the crew members."), -; - - setcamnpc; - mesq lg("Growl, sniff, grr! You'd better not tell anyone you saw me!"); - - close; - -L_FindFood: - setcamnpc; - mes ""; - mesn; - mesq l("There are some flying yellow plushes around you. They're called pious. Getting a roasted leg of one of them would be perfect."); - next; - mesq l("I'd like to catch one of them, but they fly away when I try."); - next; - mesq l("Walking around a bit, it'll be easy for you to catch one, I bet. Impale one of them for me please."); - next; - restorecam; - mesn "Narrator"; - mes col(l("You can attack a monster by clicking on it, or from your keyboard you can press the 'A' key to select the monster followed by 'Ctrl' to attack it."), 9); - next; - mes col(l("Once the monster is dead, click on the dropped items to add them to your inventory. You can also use the 'Z' key to claim the drops."), 9); - - close; - -L_Quit: - setcamnpc; - mes ""; - mesn; - mesq l("Too bad... Come back when you'll have some nice food for me. Growl... grumble... grumble."); - - close; + hello; OnInit: - .sex = G_MALE; - .distance = 2; + .sex = G_FEMALE; + .distance = 5; end; } diff --git a/npc/003-1/tinris.txt b/npc/003-1/tinris.txt index de267dff8..972891192 100644 --- a/npc/003-1/tinris.txt +++ b/npc/003-1/tinris.txt @@ -1,12 +1,27 @@ // Author: // Saulc -003-1,66,30,0 script Tinris NPC_MONA,{ +003-1,66,30,0 script Tinris NPC_ELF,{ -hello; + // Placeholder dialog + mesn; + mesq l("We elves have greater affinity for magic than humans."); + next; + mesq l("However, our skill growth rate is much smaller than those of humans."); + next; + mesq l("In the end, elves would have quite the age to rivalize with human wizards."); + close; OnInit: + .@npcId = getnpcid(0, "Tinris"); + //setunitdata(.@npcId, UDT_HEADTOP, 2929); + setunitdata(.@npcId, UDT_HEADMIDDLE, 1308); + setunitdata(.@npcId, UDT_HEADBOTTOM, 2207); + setunitdata(.@npcId, UDT_WEAPON, 1802); // Boots + setunitdata(.@npcId, UDT_HAIRSTYLE, 3); + setunitdata(.@npcId, UDT_HAIRCOLOR, 19); + .sex = G_MALE; - .distance = 3; + .distance = 5; end; } |