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/015-2 | |
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/015-2')
-rw-r--r-- | npc/015-2/_import.txt | 8 | ||||
-rw-r--r-- | npc/015-2/_mobs.txt | 51 | ||||
-rw-r--r-- | npc/015-2/_warps.txt | 24 | ||||
-rw-r--r-- | npc/015-2/ben.txt | 162 | ||||
-rw-r--r-- | npc/015-2/contrabandist.txt | 115 | ||||
-rw-r--r-- | npc/015-2/guard.txt | 71 | ||||
-rw-r--r-- | npc/015-2/lordcave.txt | 27 |
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; +} |