From 1ebf8ad1d8a9f1d16ba4e70764a53c5af2528c22 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Tue, 3 Jul 2018 14:13:20 -0300 Subject: 008-2 is "ready", except the puzzle to reach boss room is not there yet. --- npc/008-2/master.txt | 66 +++++++++++++++++++++++++++++++++------------------- 1 file changed, 42 insertions(+), 24 deletions(-) (limited to 'npc/008-2/master.txt') diff --git a/npc/008-2/master.txt b/npc/008-2/master.txt index 89044832b..d5fc1c3c2 100644 --- a/npc/008-2/master.txt +++ b/npc/008-2/master.txt @@ -20,17 +20,19 @@ OnTouch: 008-2,135,19,0 script #FPDM23 NPC_HIDDEN,0,0,{ end; OnTouch: + end; // IMPORTANT: Prevent party master from returning here getmapxy(.@m$, .@x, .@y, 0, getpartyleader(getcharid(1))); if (.@m$ ~= "008-*" && .@m$ != "008-0" && .@m$ != "008-1" && - BaseLevel > 20 && - mobcount("008-1", "First Dungeon Master::OnBossDeath") == 0 && + .@m$ != "008-2" && + BaseLevel > 40 && + mobcount("008-2", "Second Dungeon Master::OnBossDeath") == 0 && @pmloop) { dispbottom l("Go and follow @@, your party leader!", getpartyleader(getcharid(1))); warp "008-1", 176, 20; // 008-2 - } else if (BaseLevel > 20) { + } else if (BaseLevel > 40) { dispbottom l("If I bring @@, my party leader, and the boss is defeated, I can go you in.", getpartyleader(getcharid(1))); } else { mesc l("I cannot pass, because I am only level @@.", BaseLevel); @@ -40,14 +42,14 @@ OnTouch: end; } -008-2,0,0,0 script Second Dungeon Master NPC_BRGUARD_SWORD,{ +008-2,75,240,0 script Second Dungeon Master NPC_BRGUARD_SWORD,{ // Double-check, you should have been flung out long ago. - if (getcharid(1) <= 0) { + if (getcharid(1) <= 0 || @pmloop <= 0) { mesn; - mesq l("Leaving your party? LAME."); + mesq l("Something seems wrong."); warp "SavePoint",0,0; } - if (mobcount("008-1", "First Dungeon Master::OnBossDeath") > 0) { + if (mobcount("008-2", "Second Dungeon Master::OnBossDeath") > 0) { npctalk3 l("What are you doing? Fight!"); end; } @@ -57,9 +59,10 @@ OnTouch: next; mesn; - mesq l("I can summon the BOSS for the level 0~20 area."); + mesq l("I can summon the BOSS for the level 21~40 area."); next; if (strcharinfo(0) != getpartyleader(getcharid(1))) goto L_NotYou; + if (BaseLevel < 40) goto L_TooWeak; mesn; mesq l("He is strong though, so keep your party togheter!"); next; @@ -95,7 +98,7 @@ OnTouch: // TODO: Instance for party // TODO: Second Floor npctalk l("@@: Fight!", getpartyname(getcharid(1))); - monster "008-1", rand(37,54), rand(109,122), "First Dungeon Boss", Sarracenus, 1, "First Dungeon Master::OnBossDeath"; + monster "008-2", rand(37,54), rand(109,122), "Second Dungeon Boss", BanditLord, 1, "Second Dungeon Master::OnBossDeath"; close; @@ -119,30 +122,45 @@ L_TooSmall: mesq l("However, I need to see at least three volunteers here, to allow you in."); close; +// Must have level to face boss +L_TooWeak: + mesn; + mesq l("This is the end for your party, as the leader doesn't have sufficient level."); + close; + // Second Floor special monsters OnReward: - Zeny=Zeny+200; - getexp 200, 20; - dispbottom l("Reward: 200 GP, 200 XP"); -OnAddTime: - @pmloop=60; - end; + // 40% odds of a Black Scorpion coming to avenge fallen monster leader + if (rand(1,5) % 2) { + getmapxy(.@m$, .@x, .@y, 0); + monster .@m$, .@x, .@y, "Semi Boss", BlackScorpion, 1; + } + Zeny=Zeny+700; + getexp 400, 60; + getitem CelestiaTea, 1; + dispbottom l("Reward: 700 GP, 400 XP, 1 @@", getitemlink(CelestiaTea)); + OnBossDeath: // Give every party member in map a reward - partytimer("008-1", 200, "First Dungeon Master::OnReward", getcharid(1)); + partytimer("008-2", 200, "Second Dungeon Master::OnReward", getcharid(1)); // Warp everyone and add timers - warpparty("008-1", 176, 20, getcharid(1), "008-1", true); + warpparty("008-1", 176, 20, getcharid(1), "008-2", true); // TODO 008-3 + // While we can't advance, we allow you to redo the dungeons + /* // Bonus Monsters - monster("008-1", 90, 69, "Time Bonus", Scorpion, 1, "Party Master::OnMobTime"); - - // Four Chests - monster("008-1", 38, 104, "Mysterious Chest", any(BronzeChest, BronzeMimic), 1); - monster("008-1", 41, 104, "Mysterious Chest", any(BronzeChest, BronzeMimic), 1); - monster("008-1", 44, 104, "Mysterious Chest", any(BronzeChest, BronzeMimic), 1); - monster("008-1", 47, 104, "Mysterious Chest", any(BronzeChest, BronzeMimic), 1); + monster("008-3", 104, 238, "Time Bonus", RobinBandit, 1, "Party Master::OnMobTime"); + monster("008-3", 85, 117, "Time Bonus", RobinBandit, 1, "Party Master::OnMobTime"); + + // Five Chests + monster("008-3", 38, 104, "Mysterious Chest", any(BronzeChest, BronzeMimic), 1); + monster("008-3", 41, 104, "Mysterious Chest", any(BronzeChest, BronzeMimic, EvilChest), 1); + monster("008-3", 44, 104, "Mysterious Chest", any(SilverChest, SilverMimic), 1); + monster("008-3", 47, 104, "Mysterious Chest", any(BronzeChest, BronzeMimic, EvilChest), 1); + monster("008-3", 50, 104, "Mysterious Chest", any(BronzeChest, BronzeMimic), 1); + */ end; OnInit: -- cgit v1.2.3-70-g09d2