diff options
author | Jesusaves <cpntb1@ymail.com> | 2022-10-23 21:44:22 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2022-10-23 21:44:22 -0300 |
commit | a7c45a192268da2601cef47a4cdba987ae2327ca (patch) | |
tree | c5fb5b97db109fe7106496dd96498c475881046b /npc/014-3 | |
download | serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.gz serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.bz2 serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.xz serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.zip |
Initial commit (Moubootaur Legends fork)
Diffstat (limited to 'npc/014-3')
-rw-r--r-- | npc/014-3/_import.txt | 6 | ||||
-rw-r--r-- | npc/014-3/_mobs.txt | 12 | ||||
-rw-r--r-- | npc/014-3/_warps.txt | 10 | ||||
-rw-r--r-- | npc/014-3/fountain.txt | 134 | ||||
-rw-r--r-- | npc/014-3/oscar.txt | 155 |
5 files changed, 317 insertions, 0 deletions
diff --git a/npc/014-3/_import.txt b/npc/014-3/_import.txt new file mode 100644 index 0000000..a7f1841 --- /dev/null +++ b/npc/014-3/_import.txt @@ -0,0 +1,6 @@ +// Map 014-3: Woodlands Central Area +// This file is generated automatically. All manually added changes will be removed when running the Converter. +"npc/014-3/_mobs.txt", +"npc/014-3/_warps.txt", +"npc/014-3/fountain.txt", +"npc/014-3/oscar.txt", diff --git a/npc/014-3/_mobs.txt b/npc/014-3/_mobs.txt new file mode 100644 index 0000000..70d2831 --- /dev/null +++ b/npc/014-3/_mobs.txt @@ -0,0 +1,12 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 014-3: Woodlands Central Area mobs +014-3,115,75,91,52 monster Mouboo 1023,22,30000,35000 +014-3,63,74,41,48 monster Forest Mushroom 1060,10,60000,35000 +014-3,104,102,90,35 monster Squirrel 1032,26,30000,32000 +014-3,44,82,37,32 monster Centaur 1139,3,80000,60000 +014-3,164,75,31,14 monster Pinkie 1132,9,30000,20000,Oscar::OnKillPinkie +014-3,95,65,49,25 monster Poison Spiky Mushroom 1043,11,45000,25000 +014-3,133,89,49,25 monster Poison Spiky Mushroom 1043,7,45000,45000 +014-3,128,112,70,21 monster Mauve Plant 1135,5,90000,90000 +014-3,44,82,37,32 monster Chagashroom Field 1128,4,90000,90000 +014-3,95,65,49,25 monster Plushroom Field 1011,4,90000,90000 diff --git a/npc/014-3/_warps.txt b/npc/014-3/_warps.txt new file mode 100644 index 0000000..7d0cb6f --- /dev/null +++ b/npc/014-3/_warps.txt @@ -0,0 +1,10 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 014-3: Woodlands Central Area warps +014-3,120,121,0 warp #014-3_120_121 0,0,015-3,172,195 +014-3,131,135,0 warp #014-3_131_135 1,0,014-2,48,25 +014-3,206,92,0 warp #014-3_206_92 0,4,012-1,23,61 +014-3,155,40,0 warp #014-3_155_40 1,0,014-5,81,228 +014-3,120,67,0 warp #014-3_120_67 0,0,015-2,49,100 +014-3,55,42,0 warp #014-3_55_42 0,0,014-3,77,40 +014-3,77,39,0 warp #014-3_77_39 0,0,014-3,55,43 +014-3,29,70,0 warp #014-3_29_70 0,3,014-4,158,68 diff --git a/npc/014-3/fountain.txt b/npc/014-3/fountain.txt new file mode 100644 index 0000000..d70d6d4 --- /dev/null +++ b/npc/014-3/fountain.txt @@ -0,0 +1,134 @@ +// TMW-2 Script +// Author: +// Saulc +// Jesusalva +// Description: +// Hurnscald doesn't have a well, but have a MAGIC FOUNTAIN *** +// Req. Int 40 to finish Tier Elevation quest. + +014-3,134,100,0 script Fountain#Hurns NPC_NO_SPRITE,{ + if (ST_TIER == 5 && gettimetick(2) < QUEST_ELEVARTEMPO) goto L_Tier2; + + mesn l("Mana Saulc"); + mesc l("Go away, I am too magical for you. %%n"); // quote + close; + + // TODO FIXME: We don't have a "Magic" water, and we might add + // Mahed or Mahad, another well master (Mehoud? Muhoud?) + input .@count; + + if (.@count == 0) + close; + .@Cost = .@count * .COST_PER_BOTTLE; + .@empty = countitem("EmptyBottle"); + + if (.@empty < .@count) + goto L_NotEnoughBottles; + if (Zeny < .@Cost) + goto L_NotEnoughMoney; + + inventoryplace BottleOfTonoriWater, .@count; + + Zeny=Zeny-.@Cost; + delitem "EmptyBottle", .@count; + getitem "BottleOfTonoriWater", .@count; + close; + +L_NotEnoughBottles: + mes ""; + mesn; + mes l("You don't have that many empty bottles!"); + close; + +L_NotEnoughMoney: + mes ""; + mesn; + mes l("You don't have enough gold! You need @@ gp.", .@Cost); + close; + + +L_Tier2: + if (readparam2(bInt) < 10) goto L_Dumb; + mesn; + mesc l("WHAT ARE YOU GOING TO DO?"); + next; + select + l("Do nothing"), // 1 + l("Drink the potion"), // 2 + l("Pour the potion"), // 3 + l("Wash yourself with the potion"), // 4 + l("Burn the potion"), // 5 + l("Drink the potion, and say magic words"), // 6 + l("Say magic words"), // 7 + l("Do a weird dance"), // 8 + l("Blame Saulc"); // 9 + + mes ""; + if (@menu == 1) + close; + + if (@menu == 3) + goto L_Tier2Ok; + + if (@menu <= 6) + goto L_Failed; + + if (@menu == 9) + mesc l("Whatever you're blaming Saulc about, this one time, he is innocent."); + mesc l("Nothing happens."); + close; + +L_Fail2: + mesc l("Your low intelligence prevents anything from happening with you."); + mes ""; + +L_Failed: + mesn strcharinfo(0); + mesq l("Ah no... That's not what I had to do... I wasted the potion..."); + QUEST_ELEVARTEMPO=gettimetick(2); + close; + +L_Dumb: + mesn strcharinfo(0); + mesq l("Hello there pretty fountain, what about granting me magic?"); + next; + mesc l("Unsurprisingly, nothing happens."); + close; + +L_Tier2Ok: + mesc l("You pour the whole potion on the fountain."); + next; + if (readparam2(bInt) < 20) goto L_Fail2; + mesc l("You hear birds singing! That is what you had to do!"); + next; + if (readparam2(bInt) < 30) goto L_Fail2; + mesc l("Your body starts to glow. You're not sure why, the fountain did that!"); + next; + if (readparam2(bInt) < 40) goto L_Fail2; + mesn; + mes l("I am the Magic Fountain of Hurnscald. You look qualified."); + next; + mesn; + mes l("Your next step is to get the book of the Second Sage Of Fate."); + next; + mesn; + mes l("I predict you're closer to find the Secret Of Mana, and therefore, be part on saving our world."); + next; + mesn; + mes l("I will empower you with raw mana now."); + next; + ST_TIER=6; + // Ref. 240 xp. You will be penalized with 1 xp for over-level. (waw...) + if (BaseLevel < 300) + getexp 300-BaseLevel, 0; + mesn; + mesq l("Run like the wind, @@! For you shall have only @@ to finish the ritual!", strcharinfo(0), FuzzyTime(QUEST_ELEVARTEMPO,2,2)); + close; + +OnInit: + .COST_PER_BOTTLE = 0; + .sex = G_OTHER; + .distance = 3; + + end; +} diff --git a/npc/014-3/oscar.txt b/npc/014-3/oscar.txt new file mode 100644 index 0000000..336af69 --- /dev/null +++ b/npc/014-3/oscar.txt @@ -0,0 +1,155 @@ +// TMW2 Script +// Author: +// Jesusalva +// Description: +// Hurnscald farmer + +014-3,169,66,0 script Oscar NPC_RAIJIN,{ + .@q1=getq(HurnscaldQuest_Farmers); + .@q2=getq2(HurnscaldQuest_Farmers); + mesn; + if (strcharinfo(0) == $MOST_HEROIC$) mesq l("Ah, if it isn't @@? You're the talk of the town!", $MOST_HEROIC$); + if (strcharinfo(0) == $MOST_HEROIC$) next; + if (.@q1 == 2) goto L_Hello; + if (.@q1 == 3) goto L_Check; + if (.@q1 == 4) goto L_Letter; + if (.@q1 == 5) goto L_Thanks; + + mesq l("Don't bother me, I'm busy right now. Since the Monster King left, I barely got a night of rest..."); + close; + +L_Hello: + mesq l("Ah! @@! I heard you helped Hinnak with his Pinkies problem!", strcharinfo(0)); + next; + mesn; + mesq l("Wouldn't you like to help me too?"); + if (askyesno() != ASK_YES) { + mesq l("Sorry, I have to go."); + close; + } + next; + mesn; + mesq l("Great! Excellent! Because I am also diving in problems!!"); + next; + if (readparam2(bAgi) < 30) goto L_Slow; + if (BaseLevel < 20) goto L_Weak; + mesn; + // Est. kill 400 Pinkies + mesq l("I hate so much the Pinkies on my fields, I want to do a soup! Can you provide me 10 @@? Many thanks.", getitemlink(PinkieLeg)); + setq HurnscaldQuest_Farmers, 3, 0; + close; + +L_Slow: + mesn; + mesq l("But you're too slow. Sorry."); + next; + mesc l("Raise agility to do this quest."); + close; + +L_Weak: + mesn; + mesq l("But you're too weak. Sorry."); + close; + +L_Check: + mesq l("Hey, how is the monster extermination going?"); + next; + mesn; + // You in average need to kill 400 Pinkies. But ya killed 200~250 previously. You get this bonus for not leaving the fields. + if (.@q2 >= 250) + mesq l("You killed so many Pinkies! My wife and I love you!"); + else if (.@q2 >= 200) + mesq l("You are doing GREAT! Keep slaying them, hahaah!"); + else if (.@q2 >= 150) + mesq l("I see you are doing good. Keep slaying them, hahaah!"); + else if (.@q2 >= 100) + mesq l("Good job, you already killed over 100! Hahah, that sure teach them a lesson!"); + else if (.@q2 >= 50) + mesq l("Yeah, teach them a lesson! Keep going!"); + else + mesq l("Go kill them!!"); + next; + menu + rif (.@q2 >= 250 && countitem(PinkieLeg) >= 10, l("Today is soup of Pinkie Legs!")), L_RealHelp, + rif (.@q2 >= 250 && countitem(PinkieLeg) < 10, l("Thanks, they hate to drop their Legs.")), L_TrueHelp, + rif (.@q2 >= 100 && .@q2 < 250 && countitem(PinkieLeg) >= 10, l("Here are the Pinkie Legs.")), L_Help, + rif (.@q2 < 100 && countitem(PinkieLeg) >= 10, l("Here are the Pinkie Legs.")), L_NoKill, + l("I'm not done yet. I'll be back."), -; + close; + +L_RealHelp: + delitem PinkieLeg, 10; + getexp 2000, 60; + Zeny=Zeny+5000; + setq HurnscaldQuest_Farmers, 4, 0; + mes ""; + mesn; + mesq l("Waw! You really did it, you're the savior of my farm!! You have my eternal gratitute. Here is 5000 GP for your troubles!"); + close; + +L_TrueHelp: + mes ""; + mesn; + mesq l("I know how hard it is! I hate them with all my heart, only seeing you killing them left and right was GREAT!"); + next; + getexp 1600, 0; + Zeny=Zeny+2500; + setq HurnscaldQuest_Farmers, 4, 0; + mesn; + mesq l("You have my eternal gratitute. Here is 2500 GP for your troubles."); + close; + +L_Help: + delitem PinkieLeg, 10; + getexp 1400, 0; + Zeny=Zeny+2000; + setq HurnscaldQuest_Farmers, 4, 0; + mes ""; + mesn; + mesq l("Many thanks. You have my eternal gratitute. Here is 2000 GP for your troubles."); + close; + +L_NoKill: + mesn; + mesq l("Ahahahah, do you really think I'll accept legs if you don't help me cleaning my fields?"); + next; + mesn; + mesq l("Kill at least a hundred of Pinkies here, and then we can talk."); + close; + +L_Letter: + mesq l("You're the savior of Hurnscald crops. Half from the world would die from famine, weren't for you."); + next; + mesn; + mesq l("@@ and I signed this letter. Deliver it to Airlia on the Town Hall, and she'll reward you correctly.", l("Hinnak")); + close; + +L_Thanks: + mesq l("Many thanks for all the help!"); + close; + +OnKillPinkie: + .@q1=getq(HurnscaldQuest_Farmers); + .@q2=getq2(HurnscaldQuest_Farmers); + if (.@q1 == 3) { + setq2 HurnscaldQuest_Farmers, .@q2+1; + if (! (.@q2+1) % 10) + dispbottom l("@@ pinkies killed on @@'s field.", .@q2+1, l("Oscar")); + } + fix_mobkill(Pinkie); + end; + +OnInit: + .@npcId = getnpcid(.name$); + setunitdata(.@npcId, UDT_HEADTOP, FarmerHat); + setunitdata(.@npcId, UDT_HEADMIDDLE, LeatherShirt); + setunitdata(.@npcId, UDT_HEADBOTTOM, TulimsharGuardBoots); + setunitdata(.@npcId, UDT_WEAPON, CottonTrousers); + setunitdata(.@npcId, UDT_HAIRSTYLE, 2); + setunitdata(.@npcId, UDT_HAIRCOLOR, 0); + + .sex = G_MALE; + .distance = 5; + end; +} + |