summaryrefslogtreecommitdiff
path: root/npc/024-10
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2022-10-23 21:44:22 -0300
committerJesusaves <cpntb1@ymail.com>2022-10-23 21:44:22 -0300
commita7c45a192268da2601cef47a4cdba987ae2327ca (patch)
treec5fb5b97db109fe7106496dd96498c475881046b /npc/024-10
downloadserverdata-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.txt5
-rw-r--r--npc/024-10/_warps.txt4
-rw-r--r--npc/024-10/eldrin.txt143
-rw-r--r--npc/024-10/haircut.txt66
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;
+}
+