From cb8a91761ff1a521591b5003bac8277ca58ef251 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Tue, 3 Jul 2018 12:59:16 -0300 Subject: 008-2 prototype --- npc/008-1/master.txt | 36 +++++++++++++++++++----------------- 1 file changed, 19 insertions(+), 17 deletions(-) (limited to 'npc/008-1') diff --git a/npc/008-1/master.txt b/npc/008-1/master.txt index a3394581f..ad9f1d53b 100644 --- a/npc/008-1/master.txt +++ b/npc/008-1/master.txt @@ -3,8 +3,9 @@ // Jesusalva // Description: // This NPC is a work on progress. It measures all players equal. +// Controls the first floor, but not many things to control. -008-1,48,117,0 script #FPDM1 NPC_HIDDEN,0,0,{ +008-1,48,117,0 script #FPDM12 NPC_HIDDEN,0,0,{ end; OnTouch: // IMPORTANT: Prevent party master from returning here @@ -16,13 +17,14 @@ OnTouch: mobcount("008-1", "First Dungeon Master::OnBossDeath") == 0 && @pmloop) { dispbottom l("Go and follow @@, your party leader!", getpartyleader(getcharid(1))); - warp "008-1", 176, 20; // 008-2 + warp "008-2", 135, 20; } else if (BaseLevel > 20) { 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); mesc l("Newbies can only get past their limits once, with their party leader level help! If they die, they can't rejoin!"); - // I thought it would be better this way. There was at least three different ways to prevent that. + // I thought it would be better to allow first passage based on leader level. + // Parties are not meant to be permanent, and this helps a lot. } end; } @@ -47,6 +49,7 @@ OnTouch: mesq l("I can summon the BOSS for the level 0~20 area."); next; if (strcharinfo(0) != getpartyleader(getcharid(1))) goto L_NotYou; + if (BaseLevel < 20) goto L_TooWeak; mesn; mesq l("He is strong though, so keep your party togheter!"); next; @@ -106,35 +109,34 @@ L_TooSmall: mesq l("However, I need to see at least three volunteers here, to allow you in."); close; -// Second Floor special monsters -OnMobTime: - getmapxy(.@m$, .@x, .@y, 0); - areatimer(.@m$, .@x-4, .@y-4, .@x+4, .@y+4, 10, "Party Master::OnAddTime"); - end; +// 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; +// Boss death causes 008-2 to be set OnBossDeath: // Give every party member in map a reward partytimer("008-1", 200, "First Dungeon Master::OnReward", getcharid(1)); // Warp everyone and add timers - warpparty("008-1", 176, 20, getcharid(1), "008-1", true); + warpparty("008-2", 135, 20, getcharid(1), "008-1", true); // Bonus Monsters - monster("008-1", 90, 69, "Time Bonus", Scorpion, 1, "Party Master::OnMobTime"); + monster("008-2", 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-2", 38, 104, "Mysterious Chest", any(BronzeChest, BronzeMimic), 1); + monster("008-2", 41, 104, "Mysterious Chest", any(BronzeChest, BronzeMimic), 1); + monster("008-2", 44, 104, "Mysterious Chest", any(BronzeChest, BronzeMimic), 1); + monster("008-2", 47, 104, "Mysterious Chest", any(BronzeChest, BronzeMimic), 1); end; OnInit: -- cgit v1.2.3-70-g09d2