summaryrefslogtreecommitdiff
path: root/npc/015-2
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/015-2
downloadserverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.gz
serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.bz2
serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.tar.xz
serverdata-a7c45a192268da2601cef47a4cdba987ae2327ca.zip
Initial commit (Moubootaur Legends fork)
Diffstat (limited to 'npc/015-2')
-rw-r--r--npc/015-2/_import.txt8
-rw-r--r--npc/015-2/_mobs.txt51
-rw-r--r--npc/015-2/_warps.txt24
-rw-r--r--npc/015-2/ben.txt162
-rw-r--r--npc/015-2/contrabandist.txt115
-rw-r--r--npc/015-2/guard.txt71
-rw-r--r--npc/015-2/lordcave.txt27
7 files changed, 458 insertions, 0 deletions
diff --git a/npc/015-2/_import.txt b/npc/015-2/_import.txt
new file mode 100644
index 0000000..29bd5d5
--- /dev/null
+++ b/npc/015-2/_import.txt
@@ -0,0 +1,8 @@
+// Map 015-2: Bandit Cave
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+"npc/015-2/_mobs.txt",
+"npc/015-2/_warps.txt",
+"npc/015-2/ben.txt",
+"npc/015-2/contrabandist.txt",
+"npc/015-2/guard.txt",
+"npc/015-2/lordcave.txt",
diff --git a/npc/015-2/_mobs.txt b/npc/015-2/_mobs.txt
new file mode 100644
index 0000000..876f5a4
--- /dev/null
+++ b/npc/015-2/_mobs.txt
@@ -0,0 +1,51 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 015-2: Bandit Cave mobs
+015-2,152,72,141,63 monster Silk Worm 1034,9,30000,100000
+015-2,263,38,15,17 monster Bandit 1024,1,30000,30000
+015-2,262,114,19,19 monster Bandit 1024,1,30000,30000
+015-2,132,119,8,10 monster Bandit 1024,1,30000,30000
+015-2,170,66,8,10 monster Bandit 1024,1,30000,30000
+015-2,67,70,8,10 monster Bandit 1024,1,30000,30000
+015-2,196,107,8,10 monster Bandit 1024,1,30000,30000
+015-2,196,29,8,10 monster Bandit 1024,1,30000,30000
+015-2,36,37,8,10 monster Bandit 1024,1,30000,30000
+015-2,112,40,22,24 monster Bandit 1024,2,30000,60000
+015-2,31,99,8,10 monster Bandit 1024,1,30000,30000
+015-2,223,250,61,32 monster Bat 1039,5,30000,100000
+015-2,270,175,13,12 monster Bat 1039,3,30000,100000
+015-2,257,77,2,63 monster Bat 1039,6,30000,100000
+015-2,192,77,2,63 monster Bat 1039,9,30000,100000
+015-2,167,110,43,6 monster Bat 1039,9,30000,100000
+015-2,75,70,52,48 monster Bat 1039,21,30000,100000
+015-2,78,195,64,48 monster Bat 1039,9,30000,100000
+015-2,168,109,18,18 monster Snake 1122,1,30000,100000
+015-2,199,76,18,18 monster Snake 1122,2,30000,100000
+015-2,88,163,14,13 monster Snake 1122,1,30000,100000
+015-2,48,113,17,9 monster Snake 1122,2,30000,100000
+015-2,177,94,10,14 monster Angry Red Scorpion 1130,4,30000,100000
+015-2,194,49,10,14 monster Angry Red Scorpion 1130,2,30000,100000
+015-2,51,115,23,12 monster Angry Red Scorpion 1130,2,30000,100000
+015-2,63,169,6,8 monster Angry Red Scorpion 1130,2,30000,100000
+015-2,100,226,14,7 monster Snake 1122,2,30000,100000
+015-2,260,44,26,8 monster Snake 1122,3,30000,100000
+015-2,272,48,10,14 monster Angry Red Scorpion 1130,2,30000,100000
+015-2,95,78,15,12 monster Yellow Slime 1091,3,30000,100000
+015-2,59,36,9,12 monster Yellow Slime 1091,3,30000,100000
+015-2,26,69,9,12 monster Yellow Slime 1091,3,30000,100000
+015-2,61,101,7,5 monster Yellow Slime 1091,3,30000,100000
+015-2,50,61,4,6 monster Yellow Slime 1091,2,30000,100000
+015-2,128,39,4,6 monster Yellow Slime 1091,2,30000,100000
+015-2,41,178,4,6 monster Yellow Slime 1091,1,30000,100000
+015-2,70,229,4,6 monster Yellow Slime 1091,1,30000,100000
+015-2,20,204,4,6 monster Yellow Slime 1091,1,30000,100000
+015-2,114,190,4,6 monster Yellow Slime 1091,3,30000,100000
+015-2,137,205,4,6 monster Yellow Slime 1091,2,30000,100000
+015-2,79,220,14,7 monster Cave Snake 1035,3,30000,100000
+015-2,115,210,14,7 monster Cave Snake 1035,3,30000,100000
+015-2,41,193,15,15 monster Cave Snake 1035,3,30000,100000
+015-2,70,143,15,15 monster Cave Snake 1035,3,30000,100000
+015-2,97,183,14,7 monster Cave Snake 1035,3,30000,100000
+015-2,172,252,4,6 monster Cave Maggot 1027,4,30000,100000
+015-2,263,236,8,2 monster Cave Maggot 1027,3,30000,100000
+015-2,143,128,140,125 monster Small Diamond Biff 1107,8,30000,100000
+015-2,93,172,6,8 monster Angry Red Scorpion 1130,2,30000,100000
diff --git a/npc/015-2/_warps.txt b/npc/015-2/_warps.txt
new file mode 100644
index 0000000..1a63c34
--- /dev/null
+++ b/npc/015-2/_warps.txt
@@ -0,0 +1,24 @@
+// This file is generated automatically. All manually added changes will be removed when running the Converter.
+// Map 015-2: Bandit Cave warps
+015-2,51,75,0 warp #015-2_51_75 0,0,015-2,260,127
+015-2,61,71,0 warp #015-2_61_71 0,0,015-2,270,124
+015-2,270,125,0 warp #015-2_270_125 0,0,015-2,61,72
+015-2,260,128,0 warp #015-2_260_128 0,0,015-2,51,76
+015-2,145,118,0 warp #015-2_145_118 0,0,015-2,47,119
+015-2,196,26,0 warp #015-2_196_26 0,0,015-2,261,46
+015-2,261,47,0 warp #015-2_261_47 0,0,015-2,196,27
+015-2,271,52,0 warp #015-2_271_52 0,0,015-2,98,31
+015-2,98,30,0 warp #015-2_98_30 0,0,015-2,271,51
+015-2,47,120,0 warp #015-2_47_120 0,0,015-2,145,117
+015-2,49,101,0 warp #015-2_49_101 0,0,014-3,120,68
+015-2,24,206,0 warp #015-2_24_206 0,0,015-2,122,212
+015-2,47,185,0 warp #015-2_47_185 0,0,015-2,113,183
+015-2,97,169,0 warp #015-2_97_169 0,0,015-2,68,234
+015-2,113,182,0 warp #015-2_113_182 0,0,015-2,47,184
+015-2,122,211,0 warp #015-2_122_211 0,0,015-2,24,205
+015-2,68,235,0 warp #015-2_68_235 0,0,015-2,97,168
+015-2,251,278,0 warp #015-2_251_278 0,0,015-2,94,226
+015-2,266,182,0 warp #015-2_266_182 0,0,015-2,264,237
+015-2,174,256,0 warp #015-2_174_256 0,0,015-2,249,233
+015-2,249,232,0 warp #015-2_249_232 0,0,015-2,174,255
+015-2,264,236,0 warp #015-2_264_236 0,0,015-2,266,181
diff --git a/npc/015-2/ben.txt b/npc/015-2/ben.txt
new file mode 100644
index 0000000..4f81e19
--- /dev/null
+++ b/npc/015-2/ben.txt
@@ -0,0 +1,162 @@
+// TMW2 Scripts.
+// Author:
+// Saulc
+// Jesusalva
+// Description:
+// Ben Parkison invites players to the TMW2 Project
+// Part of the THIEF/MERCHANT branches
+
+015-2,269,172,0 script Ben Parkison NPC_MOUBOO,{
+ if (JobLevel > 20 && MERC_RANK == 0) goto L_Quest;
+
+L_Intro:
+ mesn;
+ mesq l("Hey newbie... I am a dangerous bandit.");
+ next;
+ mesq l("Yes, I am a mouboo. Why? Can't a mouboo be a dangerous bandit?!");
+ next;
+ mesq l("Fear not! You can check our [@@https://wiki.moubootaurlegends.org|Wiki@@] to find that and other awesome stuff!");
+ mesc l("(Even bandits doesn't breaks the rules. To see the rules, use ##B@rules##b.)");
+ next;
+ mesq l("You can even join the project there. Contributors are greatly appreciated! %%N");
+ close;
+
+L_Quest:
+ if (THIEF_RANK == 0)
+ goto L_Recruit;
+ mesn;
+ mesq l("Hello there, @@ the @@.", strcharinfo(0), thiefrank());
+ if (THIEF_RANK == 5) goto L_Menu;
+ mesq l("I see you have collected some experience. Let me try to rank you up!");
+ next;
+ if (THIEF_EXP > (THIEF_RANK*2)**5) {
+ THIEF_EXP-=(THIEF_RANK*2)**5;
+ THIEF_EXP=(THIEF_EXP*8/10); // Penalty for postponing rank up (you keep 80%)
+ THIEF_RANK+=1;
+ mesn;
+ mesq l("Congrats! You rank up! You are now a(n) @@!", thiefrank());
+ if (THIEF_RANK == 2) goto L_Rank2;
+ if (THIEF_RANK == 3) goto L_Rank3;
+ if (THIEF_RANK == 4) goto L_Rank4;
+ } else {
+ mesn;
+ mesq l("Well, you need more experience. Keep trying!");
+ mesc l("You may obtain Thief Exp by using @@.", getitemlink(Lockpicks));
+ }
+ goto L_Menu;
+ close;
+
+L_Recruit:
+ mesn;
+ mesq l("You seem to be doing some money. Would you consider fighting for your own greed, or even be a Robin-Hood-of-sorts, stealing from the rich?");
+ //mesc l("Notice: If you join the ##BBandits Guild##b now, you WON'T BE ABLE to be a merchant police later!"), 1;
+ mesc l("Note: You won't be able to leave the class later."), 1;
+ next;
+ if (askyesno() == ASK_YES) {
+ THIEF_EXP=0;
+ THIEF_RANK=1;
+ mes "";
+ mesn;
+ mesq l("Welcome to the ##BThieves Guild##b! Follow those with higher rank than you, and happy stealing!");
+ mesc l("You've learned how to use @@. Simple locks can now be broken.", getitemlink(Lockpicks));
+ } else {
+ goto L_Intro;
+ }
+ close;
+
+// Learn STEAL
+L_Rank2:
+ skill(TF_STEAL,1,0);
+ next;
+ mesn;
+ mesq l("Now, you'll learn a thief trick! This one allows you to steal drops from monsters! Ka-pow! Amazing!");
+ next;
+ mesn;
+ mesq l("You must be close to it, and stealing won't change drops! If you fail, just try again! Good luck!");
+ close;
+
+// Learn INCCARRY
+L_Rank3:
+ skill(ALL_INCCARRY,1,0);
+ next;
+ mesn;
+ mesq l("Now, you'll learn a thief trick! What sort of thief loots so much that they get overweight penalty? That's not cool!");
+ next;
+ mesn;
+ mesq l("You now gained two extra kilograms to your weight quota! Ka-pow, that's fantastic! Good luck!");
+ close;
+
+// Learn OVERCHARGE
+L_Rank4:
+ skill(MC_OVERCHARGE,1,0);
+ next;
+ mesn;
+ mesq l("Now, you'll learn an important trick! Stealing is nice, but scamming is even better!");
+ mesc l("We must blame Saulc!");
+ next;
+ mesn;
+ mesq l("This new skill will allow you to pinch every gold piece from a NPC when selling stuff! Ka-pow, now you can steal items and resell them for moar GP! AMAZING!");
+ close;
+
+// Allow to level up thief skills
+L_Menu:
+ next;
+ mesn;
+ mesq l("Do you want me to teach you how to improve an existing skill with MAGIC? There are no better mages than Mouboos!");
+ mesc l("You also need @@/@@ Mob Points to improve thief skills.", 1000, format_number(Mobpt));
+ if (Mobpt < 1000)
+ close;
+ next;
+ /*
+ menuint
+ rif(getskilllv(TF_STEAL), l("Stealing")), TF_STEAL,
+ rif(getskilllv(ALL_INCCARRY), l("Stealing")), ALL_INCCARRY,
+ rif(getskilllv(MC_OVERCHARGE), l("Stealing")), MC_OVERCHARGE,
+ l("None at the moment."), 0;
+
+ // Handle result
+ if (@menuret) {
+ if (!learn_magic(@menuret))
+ mesc l("You do not meet all requisites for this skill."), 1;
+ } else {
+ close;
+ }
+ */
+
+ select
+ rif(getskilllv(TF_STEAL), l("Improve Stealing to level ")+(getskilllv(TF_STEAL)+1)),
+ rif(getskilllv(ALL_INCCARRY), l("Improve Max Weight to level ")+(getskilllv(ALL_INCCARRY)+1)),
+ rif(getskilllv(MC_OVERCHARGE), l("Improve Barter to level ")+(getskilllv(MC_OVERCHARGE)+1)),
+ l("None at the moment.");
+ mes "";
+ // BlueCoral, {CrocClaw, OceanCrocClaw: Empty Box}, PlushroomBox
+ switch (@menu) {
+ case 1:
+ if (!mlearn(TF_STEAL, 10, 1, BlueCoral, 6*getskilllv(TF_STEAL)))
+ mesc l("You do not meet all requisites for this skill."), 1;
+ else
+ Mobpt-=1000;
+ break;
+ case 2:
+ if (!mlearn(ALL_INCCARRY, 10, 1, BlueCoral, 9*getskilllv(ALL_INCCARRY)))
+ mesc l("You do not meet all requisites for this skill."), 1;
+ else
+ Mobpt-=1000;
+ break;
+ case 3:
+ if (!mlearn(MC_OVERCHARGE, 8, 1, PlushroomBox, 2*getskilllv(MC_OVERCHARGE))) // Max 21% discount (out of 24%)
+ mesc l("You do not meet all requisites for this skill."), 1;
+ else
+ Mobpt-=1000;
+ break;
+ default:
+ close;
+ }
+ goto L_Menu;
+
+OnInit:
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
+
diff --git a/npc/015-2/contrabandist.txt b/npc/015-2/contrabandist.txt
new file mode 100644
index 0000000..41f4a3c
--- /dev/null
+++ b/npc/015-2/contrabandist.txt
@@ -0,0 +1,115 @@
+// TMW-2 Script
+// Author:
+// Jesusalva
+// Description:
+// Contraband of foreing goods.
+
+015-2,166,250,0 script #Contraband NPC_NO_SPRITE,{
+
+ // Store not available
+ if (!.active)
+ end;
+
+ mesn;
+ mesc l("I have a few items for sale...");
+ next;
+ menuint
+ rif(.CurrentValue & 1, l("Treasure Map")), 1,
+ rif(.CurrentValue & 2, l("Lock Picks")), 2,
+ rif(.CurrentValue & 4, l("Return Potion")), 4,
+ rif(.CurrentValue & 8, l("Golden Pearl Ring")), 8,
+ rif(.CurrentValue & 16, l("Mysterious Bottle")), 16,
+ rif(.CurrentValue & 32, l("Ancient Blueprint")), 32,
+ rif(.CurrentValue & 64, l("Arcmage Boxset")), 64,
+ rif($ARKIM_ST > 7500 && .CurrentValue & 128, l("Dark Desert Mushroom")), 128,
+ l("Nothing"), 0;
+ mes "";
+
+ // Fallback
+ if (!@menuret)
+ close;
+
+ switch (@menuret) {
+ case 1:
+ .@price=600;
+ .@prize=TreasureMap;
+ break;
+ case 2:
+ .@price=1000;
+ .@prize=Lockpicks;
+ break;
+ case 4:
+ .@price=2200;
+ .@prize=ReturnPotion;
+ break;
+ case 8:
+ .@price=500000;
+ .@prize=GoldenPearlRing;
+ break;
+ case 16:
+ .@price=4000;
+ .@prize=MysteriousBottle;
+ break;
+ case 32:
+ .@price=15000;
+ .@prize=AncientBlueprint;
+ break;
+ case 64:
+ .@price=21000;
+ .@prize=ArcmageBoxset;
+ break;
+ case 128:
+ .@price=.DDMPrice;
+ .@prize=DarkDesertMushroom;
+ break;
+ default:
+ .@price=999999999;
+ .@prize=Acorn;
+ break;
+ }
+ mesc l("Only @@ GP.", .@price);
+ if (Zeny < .@price)
+ close;
+ if (askyesno() == ASK_YES) {
+ if (!(.CurrentValue & @menuret)) {
+ mesc l("Out of Stock."), 1;
+ close;
+ }
+ .CurrentValue=.CurrentValue^@menuret;
+ Zeny-=.@price;
+ getitem .@prize, 1;
+ mesc l("Item sold!"), 2;
+ }
+ close;
+
+// Load
+OnMinute21:
+OnMinute46:
+ setnpcdisplay .name$, NPC_KOGA;
+ .active=1;
+
+ .CurrentValue=rand2(1,255);
+ .DDMPrice=max(30000,50000-($ARKIM_ST/2)+(7500/2));
+ end;
+
+// Unload
+OnMinute23:
+OnMinute48:
+ setnpcdisplay .name$, NPC_NO_SPRITE;
+ .active=0;
+ end;
+
+OnInit:
+ .active=0;
+ .sex = G_OTHER;
+ .distance = 12;
+
+ /*
+ if (debug) {
+ setnpcdisplay .name$, NPC_KOGA;
+ .active=1;
+ }
+ */
+ end;
+
+}
diff --git a/npc/015-2/guard.txt b/npc/015-2/guard.txt
new file mode 100644
index 0000000..28d505e
--- /dev/null
+++ b/npc/015-2/guard.txt
@@ -0,0 +1,71 @@
+// TMW2 Script.
+// Author:
+// Jesusalva
+// Description:
+// Part of Helena's quest
+// Gives spoilers about what Jesusalva plans in doing with Bryant
+
+015-2,28,199,0 script Helena's Teammate NPC_ORC,{
+ .@q=getq(HurnscaldQuest_Bandits);
+ if (.@q == 5) goto L_SilverKey;
+ if (.@q == 6) goto L_BanditLord;
+ mesn;
+ mesq lg("Welcome.");
+ mesq l("This small island is a good place to heal our wounds, and the monsters here are not threating.");
+ close;
+
+L_SilverKey:
+ mesn;
+ mesq l("Don't say anything, I can smell the scent of Helena's hair on you.");
+ next;
+ inventoryplace SilverKey, 1, PiberriesInfusion, 3;
+ getitem SilverKey, 1;
+ getitem PiberriesInfusion, 3;
+ setq HurnscaldQuest_Bandits, 6;
+ mesn;
+ mesq l("I guess she sent you to kill another Bandit Lord, right? Ok, I'll give you the key for his room.");
+ next;
+ mesn;
+ mesq l("It is pretty close to here. I advise you to use a good sword, and heal yourself often.");
+ next;
+ mesn;
+ mesq l("I will give you 3 @@. Use them on this fight, or you're doomed to fail.", getitemlink(PiberriesInfusion));
+ close;
+
+L_BanditLord:
+ mesn;
+ mesq l("What are you waiting for? Go kill the bandit lord.");
+ next;
+ mesn strcharinfo(0);
+ select
+ l("I'm going, don't worry."),
+ l("There was nobody on the Bandit Lord's room.");
+ if (@menu == 1)
+ close;
+ mes "";
+ mesn;
+ mesq l("...Have you ever gone there yet?");
+ next;
+ mesn;
+ mesq l("This is not The Mana World. My name is not Bryant.");
+ next;
+ mesn;
+ mesq l("In fact, Bryant is my brother, and he lives in a cave, and he probably have a high level quest too, but that's not important now.");
+ next;
+ mesn;
+ mesq l("Go kill the Bandit Lord!");
+ close;
+
+OnInit:
+ .@npcId = getnpcid(.name$);
+ setunitdata(.@npcId, UDT_HEADTOP, FairyHat);
+ setunitdata(.@npcId, UDT_HEADMIDDLE, ForestArmor);
+ setunitdata(.@npcId, UDT_HEADBOTTOM, JeansChaps);
+ setunitdata(.@npcId, UDT_WEAPON, DeepBlackBoots);
+ setunitdata(.@npcId, UDT_HAIRSTYLE, 24);
+ setunitdata(.@npcId, UDT_HAIRCOLOR, 1);
+
+ .sex = G_MALE;
+ .distance = 5;
+ end;
+}
diff --git a/npc/015-2/lordcave.txt b/npc/015-2/lordcave.txt
new file mode 100644
index 0000000..6303b2c
--- /dev/null
+++ b/npc/015-2/lordcave.txt
@@ -0,0 +1,27 @@
+// TMW2 Script
+// Author:
+// Jesusalva
+
+015-2,94,225,0 script #BanditLordDen NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ if (countitem(SilverKey) >= 1) goto L_Summon;
+ dispbottom l("This passage seems sealed. If I only had a @@...", getitemlink(SilverKey));
+ end;
+
+L_Summon:
+ .@q=getq(HurnscaldQuest_Bandits);
+ if (mobcount("015-2", "#BanditLordDen::OnLordDeath") == 0 && .@q == 6)
+ monster "015-2",260,250,"Bandit Lord",BanditLord,1, "#BanditLordDen::OnLordDeath";
+ slide 251, 277;
+ end;
+
+OnLordDeath:
+ .@q=getq(HurnscaldQuest_Bandits);
+ if (.@q == 6 && !ispcdead()) {
+ setq HurnscaldQuest_Bandits, 7;
+ dispbottom l("Phew! The Bandit Lord was killed.");
+ }
+ end;
+}