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/024-10 | |
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/024-10')
-rw-r--r-- | npc/024-10/_import.txt | 5 | ||||
-rw-r--r-- | npc/024-10/_warps.txt | 4 | ||||
-rw-r--r-- | npc/024-10/eldrin.txt | 143 | ||||
-rw-r--r-- | npc/024-10/haircut.txt | 66 |
4 files changed, 218 insertions, 0 deletions
diff --git a/npc/024-10/_import.txt b/npc/024-10/_import.txt new file mode 100644 index 0000000..c1656f2 --- /dev/null +++ b/npc/024-10/_import.txt @@ -0,0 +1,5 @@ +// 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/eldrin.txt", +"npc/024-10/haircut.txt", diff --git a/npc/024-10/_warps.txt b/npc/024-10/_warps.txt new file mode 100644 index 0000000..d94ba38 --- /dev/null +++ b/npc/024-10/_warps.txt @@ -0,0 +1,4 @@ +// This file is generated automatically. All manually added changes will be removed when running the Converter. +// Map 024-10: Frostia Indoors warps +024-10,34,37,0 warp #024-10_34_37 0,0,024-1,83,60 +024-10,24,37,0 warp #024-10_24_37 0,0,024-1,77,60 diff --git a/npc/024-10/eldrin.txt b/npc/024-10/eldrin.txt new file mode 100644 index 0000000..bce65e0 --- /dev/null +++ b/npc/024-10/eldrin.txt @@ -0,0 +1,143 @@ +// TMW2 scripts. +// Authors: +// Jesusalva +// Description: +// Questmaker Handbook 14.0 - Frostia's Bounty House + +024-10,33,30,0 script Eldrin NPC_ELF,{ + //.@q = getq(FrostiaQuest_Rydel); + if (BaseLevel < 30) { + mesc l("The elf seems busy. He ignores you."); + close; + } + .@d=gettimeparam(GETTIME_DAYOFMONTH); + mesn l("Eldrin, Taskmaster"); + mesq l("Hello, and welcome to Frostia bounty hunter guild."); + next; + mesn l("Eldrin, Taskmaster"); + mesq l("I have bounties for specific high level monsters as well for extermination. Do note mobs killed in Heroes Hold may not count."); + next; + mesn l("Eldrin, Taskmaster"); + mesq l("Be careful that they may be anywhere in the world, and the same rules as Tulimshar Guard House apply! So, are you here to apply or to report back?"); + mesc l("Protip: All quests expire at 00:00 server time, be sure to finish AND report back before that!"); + next; + // Borrowed from Arkim Code + mesc l("Time remaining to report completion: ")+FuzzyTime($@ARKIM_TIMER+86400), 1; + + select + l("I want a MODERATE (Lv 50~70) task!"), + l("I want a EXPERT (Lv 70~100) task!"), + l("I want a MASTER (Lv 100+) task!"), + l("I want a BOSS task!"), + l("It was nice seeing you."); + mes ""; + switch (@menu) { + case 1: + .@q1=getq(General_MobHunting5); + .@q2=getq2(General_MobHunting5); + .@q3=getq3(General_MobHunting5); + .@q=General_MobHunting5; + .@lv=9; + goto L_QuestMaster; + case 2: + .@q1=getq(General_MobHunting6); + .@q2=getq2(General_MobHunting6); + .@q3=getq3(General_MobHunting6); + .@q=General_MobHunting6; + .@lv=15; + goto L_QuestMaster; + case 3: + .@q1=getq(General_MobHunting7); + .@q2=getq2(General_MobHunting7); + .@q3=getq3(General_MobHunting7); + .@q=General_MobHunting7; + .@lv=24; + goto L_QuestMaster; + case 4: + .@q1=getq(General_MobHunting8); + .@q2=getq2(General_MobHunting8); + .@q3=getq3(General_MobHunting8); + .@q=General_MobHunting8; + .@lv=50; + goto L_QuestMaster; + } + closeclientdialog; + goodbye(); + close; + +L_QuestMaster: + // It's a new day, so we must generate a new quest! + if (.@q1 != .@d) { + .@q1=.@d; + if (.@lv == 9) { + .@q2=any(EarthFairy, FireFairy, WaterFairy, WindFairy, PoisonFairy, BlackScorpion, MountainSnake, ForestMushroom, GoldenScorpion, Yeti, WickedMushroom, Archant, Scar, Crafty); + } else if (.@lv == 15) { + .@q2=any(Crafty, Forain, GreenDragon, Troll, Moonshroom, Terranite, JackO, BlackMamba, Centaur, GoboBear); + } else if (.@lv == 24) { + .@q2=any(TerraniteProtector, EliteDuck, Reaper, NightmareDragon, NightmareDragon, PinkieSuseran, PinkieMaximus); + } else if (.@lv == 50) { + .@q2=any(Tengu, Tipiu, EvilScythe, GiantCaveMaggot, SpiderQueen, TerraniteKing, PinkieEmperor, Yetifly, YetiKing); + } else { + Exception("Bad setting for GMH.LV: "+.@lv, RB_DEFAULT|RB_SPEECH|RB_ISFATAL); + } + setq .@q, .@q1, .@q2, 0; + } + + // Maybe there is no monster to kill + if (!.@q2) { + mesn l("Eldrin, Taskmaster"); + mesq l("You've already completed this quest today. Try again tomorrow."); + close; + } + + // You only need to slay one boss + if (.@q3 && .@lv == 50) + .@q3 += 50; + + // Maybe you finished the quest? + // Reuses everything from Kreist + if (.@q3 >= 50) { + mesn l("Eldrin, Taskmaster"); + mesq l("Good job, you've killed the @@ @@ and reported back in time!", 50, getmonsterlink(.@q2)); + next; + inventoryplace MercBoxA, 1; + if (MERCENARY_DAILYQUEST == 100) { + inventoryplace BountyHunterHelmet, 1; + getitem BountyHunterHelmet, 1; + } + mesn l("Eldrin, Taskmaster"); + mesq l("It's not much of a reward, but doesn't it feels great to help others in need?! HAHAHA!"); + .@overkill=.@q3-50; + Zeny+=.@lv*(42+MERCENARY_DAILYQUEST); + // Raise LV according to monster level + .@lv+=getmonsterinfo(.@q2, MOB_LV)+MERCENARY_DAILYQUEST*11/10; + getexp BaseLevel*.@lv, .@lv+.@overkill; + setq2 .@q, 0; + setq3 .@q, 0; + MERCENARY_DAILYQUEST+=1; + if (MERCENARY_DAILYQUEST % 5 == 0) { + getitem MercBoxA, 1; + } + close; + } + + mesn l("Eldrin, Taskmaster"); + if (.@lv != 50) + mesq l("So, please kill @@/@@ @@ for us and make the world a safer place!", .@q3, 50, getmonsterlink(.@q2)); + else + mesq l("So, please kill a %s for us and make the world a safer place!", getmonsterlink(.@q2)); + close; + +OnInit: + .@npcId = getnpcid(.name$); + setunitdata(.@npcId, UDT_HEADBOTTOM, CottonTrousers); + setunitdata(.@npcId, UDT_HEADMIDDLE, Chainmail); + setunitdata(.@npcId, UDT_HEADTOP, VikingHelmet); + setunitdata(.@npcId, UDT_HAIRSTYLE, 7); + setunitdata(.@npcId, UDT_HAIRCOLOR, 11); + + .sex = G_MALE; + .distance = 5; + end; +} + diff --git a/npc/024-10/haircut.txt b/npc/024-10/haircut.txt new file mode 100644 index 0000000..a7d9311 --- /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; +} + |