summaryrefslogtreecommitdiff
path: root/npc/004-1
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/004-1
downloadserverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.gz
serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.bz2
serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.xz
serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.zip
Initial commit (Moubootaur Legends fork)
Diffstat (limited to 'npc/004-1')
-rw-r--r--npc/004-1/_import.txt7
-rw-r--r--npc/004-1/_mobs.txt9
-rw-r--r--npc/004-1/_warps.txt8
-rw-r--r--npc/004-1/anwar.txt222
-rw-r--r--npc/004-1/elanore.txt118
-rw-r--r--npc/004-1/sign.txt19
6 files changed, 383 insertions, 0 deletions
diff --git a/npc/004-1/_import.txt b/npc/004-1/_import.txt
new file mode 100644
index 0000000..f53a354
--- /dev/null
+++ b/npc/004-1/_import.txt
@@ -0,0 +1,7 @@
+// Map 004-1: Tulimshar
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/004-1/_mobs.txt",
+"npc/004-1/_warps.txt",
+"npc/004-1/anwar.txt",
+"npc/004-1/elanore.txt",
+"npc/004-1/sign.txt",
diff --git a/npc/004-1/_mobs.txt b/npc/004-1/_mobs.txt
new file mode 100644
index 0000000..261dc2b
--- /dev/null
+++ b/npc/004-1/_mobs.txt
@@ -0,0 +1,9 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-1: Tulimshar mobs
+004-1,0,0,0,0 monster Maggot 1030,50,35000,420000
+004-1,48,35,5,13 monster Croc 1006,3,25000,60000
+004-1,49,77,10,21 monster Scorpion 1071,20,35000,270000
+004-1,109,66,15,8 monster Giant Maggot 1031,4,35000,270000
+004-1,112,113,12,5 monster Golden Scorpion 1078,1,99000,300000
+004-1,84,98,18,15 monster Fire Goblin 1067,6,45000,45000
+004-1,45,106,19,12 monster Red Scorpion 1072,3,95000,60000
diff --git a/npc/004-1/_warps.txt b/npc/004-1/_warps.txt
new file mode 100644
index 0000000..4acf882
--- /dev/null
+++ b/npc/004-1/_warps.txt
@@ -0,0 +1,8 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 004-1: Tulimshar warps
+004-1,126,95,0 warp #004-1_126_95 0,2,004-2,31,51
+004-1,55,20,0 warp #004-1_55_20 0,0,003-1-1,29,61
+004-1,69,56,0 warp #004-1_69_56 4,0,003-1,60,156
+004-1,39,109,0 warp #004-1_39_109 0,0,007-1,56,36
+004-1,98,114,0 warp #004-1_98_114 0,0,007-1,90,51
+004-1,119,107,0 warp #004-1_119_107 0,0,007-1-1,35,37
diff --git a/npc/004-1/anwar.txt b/npc/004-1/anwar.txt
new file mode 100644
index 0000000..ca5371e
--- /dev/null
+++ b/npc/004-1/anwar.txt
@@ -0,0 +1,222 @@
+// TMW2 Script
+// Author:
+// TMW Org.
+// Jesusalva
+// Description:
+// Part of Anwar Field quest
+
+004-1,113,67,0 script Anwar NPC_RAIJIN,{
+ .@q=getq(TulimsharQuest_AnwarField);
+ if (BaseLevel < 18) goto L_Weak;
+
+ if (.@q > 10) goto L_Complete;
+ if (.@q == 10) goto L_SecondReward;
+ if (.@q == 9) goto L_FirstReward;
+ if (.@q == 8) goto L_SecondTry;
+ if (.@q == 7) goto L_AnwarField;
+ if (.@q == 6) goto L_FirstTry;
+ if (.@q == 5) goto L_TryIt;
+ if (.@q >= 1) goto L_FirstTry;
+
+ mesn;
+ mesq l("Hi. Could you perhaps be interested in doing some small errand for me?");
+ menu
+ l("Sure!"),L_Sure,
+ l("I'm busy, sorry."),L_Close;
+
+L_Complete:
+ mesn;
+ mesq l("Thanks for saving Tulimshar from a famine. I'll be forever grateful.");
+ next;
+ mesn;
+ mesq l("Dealing with elves is too bothersome to me.");
+ close;
+
+L_AnwarField:
+ mesn;
+ mesq l("My crops! Hurry up, and talk to Eomie!!");
+ close;
+
+L_Sure:
+ mes "";
+ mesn;
+ mesq l("Great! Eomie, the girl on Tulimshar's magic academy, is an alchemist. She probably makes fertilizers.");
+ next;
+ mesn;
+ mesq l("This farm is dying due constant monster attacks, and without them, Tulimshar might face a famine.");
+ next;
+ mesn;
+ mesq l("Please, talk to her. Maybe she understands the direness of the situation and help... But you know. Elves.");
+ setq TulimsharQuest_AnwarField, 1;
+ close;
+
+L_FirstTry:
+ mesn;
+ mesq l("Good luck getting the fertilizer from Eomie! Many elves simply refuse to cooperate until it affects them directly.");
+ close;
+
+L_TryIt:
+ .@q2=getq2(TulimsharQuest_AnwarField);
+ mesn;
+ mesq l("You've brought me fertilizer! Let me see if it works...");
+ next;
+ setq2 TulimsharQuest_AnwarField, .@q2+1;
+
+ // Fail chances are 100% - 13% per attempt
+ if (rand2(0,100) < 100-(.@q2*13)) {
+ setq1 TulimsharQuest_AnwarField, 6;
+ mesc l("Nothing happens.");
+ next;
+ mesn;
+ mesq l("Uh... Something should happen, right? Can you get another one?");
+ } else {
+ setq1 TulimsharQuest_AnwarField, 7;
+ mesc l("Evil worms crawl from earth and starts devouring the plants!");
+ next;
+ mesn;
+ mesq l("Uh... That should not happen, right? RIGHT?");
+ next;
+ mesn;
+ mesq l("Don't just stand here! Go fetch help, NOW!!");
+ }
+
+ close;
+
+L_SecondTry:
+ mesn strcharinfo(0);
+ mesq l("Here is the bug bomb! Eomie just gave me. Hurry up!");
+ next;
+ getexp 20, 0;
+ specialeffect(51);
+ setq TulimsharQuest_AnwarField, 9;
+ mesn;
+ mesq l("Thanks God... The crops are safe. Not only that, but the fertilizer works!");
+ next;
+ mesn;
+ mesq l("Ah, that was tiresome... I'll go make a reward for them, talk to me again later.");
+ close;
+
+L_FirstReward:
+ mesn;
+ mesq l("Here are two @@. Please deliver it to them. I hope they'll like it.", getitemlink(TortugaShell));
+ setq TulimsharQuest_AnwarField, 10, 0;
+ getitembound(TortugaShell, 2, 4); // Prevent accidental item loss
+ close;
+
+L_SecondReward:
+ .@q2=getq2(TulimsharQuest_AnwarField);
+ if (.@q2 < 3){
+ mesn;
+ mesq l("Please deliver the two @@ to Tinris and Eomie, and then I'll give you something for your help.", getitemlink(TortugaShell));
+ close;
+ }
+ setq TulimsharQuest_AnwarField, 11, 0;
+ getitem2(FarmerPants, 1, 1, 0, 0, OrangeDye, 0,0,0); // EXPERIMENTAL, required for Inspector Quest
+ getexp 750, 0;
+ mesn;
+ mesq l("Many thanks for your help! Here, take this. I'm sure it can be very useful later. It always is.");
+ close;
+
+L_Weak:
+ hello;
+ end;
+
+L_Close:
+ close;
+
+OnTimer1000:
+ domovestep;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, FarmerHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, DesertShirt);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, LeatherTrousers);
+ setunitdata(.@npcId, UDT_WEAPON, Boots); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 6);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 14);
+
+ .sex = G_MALE;
+ .distance = 5;
+
+ initpath "move", 99, 84,//A
+ "dir", RIGHT, 0,
+ "wait", 30, 0,
+ "move", 90, 60,//C
+ "dir", UP, 0,
+ "wait", 12, 0,
+ "move", 123, 64,//K
+ "dir", LEFT, 0,
+ "wait", 8, 0,
+ "move", 101, 84,//B
+ "dir", DOWN, 0,
+ "wait", 29, 0,
+ "move", 98, 68,//R
+ "dir", DOWN, 0,
+ "wait", 14, 0,
+ "move", 100, 80,//F
+ "dir", UP, 0,
+ "wait", 13, 0,
+ "move", 136, 73,//I
+ "dir", DOWN, 0,
+ "wait", 14, 0,
+ "move", 101, 84,//B
+ "dir", DOWN, 0,
+ "wait", 28, 0,
+ "move", 99, 64,//D
+ "dir", UP, 0,
+ "wait", 11, 0,
+ "move", 114, 60,//M
+ "dir", RIGHT, 0,
+ "wait", 8, 0,
+ "move", 99, 84,//A
+ "dir", RIGHT, 0,
+ "wait", 27, 0,
+ "move", 104, 60,//O
+ "dir", UP, 0,
+ "wait", 18, 0,
+ "move", 95, 62,//P
+ "dir", DOWN, 0,
+ "wait", 7, 0,
+ "move", 101, 84,//B
+ "dir", DOWN, 0,
+ "wait", 26, 0,
+ "move", 91, 66,//Q
+ "dir", UP, 0,
+ "wait", 21, 0,
+ "move", 95, 82,//G
+ "dir", UP, 0,
+ "wait", 10, 0,
+ "move", 99, 84,//A
+ "dir", RIGHT, 0,
+ "wait", 25, 0,
+ "move", 111, 78,//H
+ "dir", UP, 0,
+ "wait", 17, 0,
+ "move", 120, 63,//L
+ "dir", UP, 0,
+ "wait", 1, 0,
+ "move", 101, 84,//B
+ "dir", DOWN, 0,
+ "wait", 24, 0,
+ "move", 115, 69,//J
+ "dir", DOWN, 0,
+ "wait", 15, 0,
+ "move", 110, 63,//N
+ "dir", LEFT, 0,
+ "wait", 1, 0,
+ "move", 101, 84,//B
+ "dir", DOWN, 0,
+ "wait", 23, 0,
+ "move", 100, 80,//F
+ "dir", UP, 0,
+ "wait", 9, 0,
+ "move", 81, 63,//S
+ "dir", UP, 0,
+ "wait", 15, 0;
+
+ initialmove;
+ initnpctimer;
+ end;
+}
+
diff --git a/npc/004-1/elanore.txt b/npc/004-1/elanore.txt
new file mode 100644
index 0000000..8f690be
--- /dev/null
+++ b/npc/004-1/elanore.txt
@@ -0,0 +1,118 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+
+004-1,80,62,0 script Elanore the Healer NPC_FEMALE,{
+ .@price=Nurse(.name$, 10, 5, 1);
+ mesq l("For you, it'll be @@ GP.", .@price);
+ mes "";
+ menu
+ rif(Zeny >= .@price, l("Please heal me!")), L_Healing,
+ l("Do you make Lifestones?"), L_Lifestones,
+ l("Another time, maybe."), -;
+ close;
+
+
+L_Healing:
+ Nurse(.name$, 10, 5, 2);
+ close;
+
+L_Lifestones:
+ mes "";
+ mesn;
+ mesq l("Lifestones have the potential to heal the user, and thus are used for potions.");
+ next;
+ mesq l("I will need 3 @@, 5 @@ and 100 GP to craft a single stone.", getitemlink(BugLeg), getitemlink(MaggotSlime));
+ next;
+ mes "";
+ menu
+ l("OK, I will get them."), -,
+ l("No way!"), -,
+ l("Here you are!"), L_Trade,
+ l("I want more than one!"), L_Trade_Input;
+ close;
+
+L_Trade:
+ if (countitem(BugLeg) < 3) goto L_Trade_Missing;
+ if (countitem(MaggotSlime) < 5) goto L_Trade_Missing;
+ if (Zeny < 100) goto L_Trade_Missing;
+
+ inventoryplace Lifestone, 1;
+
+ delitem BugLeg, 3;
+ delitem MaggotSlime, 5;
+ set Zeny, Zeny - 100;
+
+ getitem Lifestone, 1;
+ goto L_TradeOK;
+
+L_Trade_Input:
+ mesc l("How many?");
+ input .@am;
+ if (.@am <= 0)
+ close;
+
+ if (countitem(BugLeg) < 3*.@am) goto L_Trade_Missing;
+ if (countitem(MaggotSlime) < 5*.@am) goto L_Trade_Missing;
+ if (Zeny < 100*.@am) goto L_Trade_Missing;
+
+ inventoryplace Lifestone, 1*.@am;
+
+ delitem BugLeg, 3*.@am;
+ delitem MaggotSlime, 5*.@am;
+ set Zeny, Zeny - 100*.@am;
+
+ getitem Lifestone, 1*.@am;
+ goto L_TradeOK;
+
+L_TradeOK:
+ mes "";
+
+ // Only grant Experience on first craft
+ if (getq(TulimsharQuest_Lifestone) == 0) {
+ setq TulimsharQuest_Lifestone, 1;
+ getexp 84, 10;
+ }
+
+ // Second tier stuff
+ if (ST_TIER == 8) {
+ if (gettimetick(2) > QUEST_ELEVARTEMPO) {
+ mesc l(".:: Second Tier Quest - Timed Out ::."), 1;
+ } else {
+ getexp 44, 0;
+ ST_TIER=9;
+ mes l("##9.:: Second Tier Quest - Time Remaining: @@ ::.", FuzzyTime(QUEST_ELEVARTEMPO,2,2));
+ }
+ }
+
+ mesn;
+ mesq l("These will do just fine.");
+ next;
+ mesn;
+ mes l("Elanore casts a chant over the items, closes her hands, and vóila! A lifestone.");
+ next;
+ mesq l("I guess that you could use these lifestones to gain a regeneration effect, too, but I do not know how.");
+ next;
+ mes l("She smiles.");
+ close;
+
+L_Trade_Missing:
+ mesn;
+ mesq l("This is not what I asked for.");
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ //setunitdata(.@npcId, UDT_HEADTOP, 2929);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, SorcererRobe);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, NPCEyes);
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots); // Boots
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 8);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 17);
+ npcsit;
+
+ .sex = G_FEMALE;
+ .distance = 5;
+ end;
+
+}
diff --git a/npc/004-1/sign.txt b/npc/004-1/sign.txt
new file mode 100644
index 0000000..649b229
--- /dev/null
+++ b/npc/004-1/sign.txt
@@ -0,0 +1,19 @@
+// TMW2 Script.
+// Author:
+// Jesusalva
+// Description:
+// Sign
+
+004-1,70,74,0 script Sign#HalinarzoGoto NPC_SWORDS_SIGN,{
+ mesc "↑ "+l("Tulimshar");
+ mesc "→ "+l("Halinarzo Route");
+ mesc "← "+l("Tulimshar Beach");
+ mesc "↓ "+l("Tulimshar Mines");
+ close;
+
+OnInit:
+ .sex = G_OTHER;
+ .distance = 3;
+ end;
+}
+