diff options
author | Jesusaves <cpntb1@ymail.com> | 2018-07-03 10:45:38 -0300 |
---|---|---|
committer | Jesusaves <cpntb1@ymail.com> | 2018-07-03 10:45:38 -0300 |
commit | c87d43f590f01e17dc5dbd40575f412d31b902ad (patch) | |
tree | b2f35c7f3a118cd4c0eac9fbc29a27a492591b4c | |
parent | dc898d64d3dc02b9c2954eb208562e983b097300 (diff) | |
download | serverdata-c87d43f590f01e17dc5dbd40575f412d31b902ad.tar.gz serverdata-c87d43f590f01e17dc5dbd40575f412d31b902ad.tar.bz2 serverdata-c87d43f590f01e17dc5dbd40575f412d31b902ad.tar.xz serverdata-c87d43f590f01e17dc5dbd40575f412d31b902ad.zip |
You can now rejoin Party Dungeon as long that Party Leader lives and is inside.
But ff it was logout/disconnection, that won't be possible.
-rw-r--r-- | npc/008-0/master.txt | 38 |
1 files changed, 32 insertions, 6 deletions
diff --git a/npc/008-0/master.txt b/npc/008-0/master.txt index be216f8d5..64fecbaee 100644 --- a/npc/008-0/master.txt +++ b/npc/008-0/master.txt @@ -17,13 +17,12 @@ mesn; mesq l("I protect a very dangerous dungeon, and it is so dangerous, that only parties can go in."); next; - // TODO allow to go there if party leader is inside if (strcharinfo(0) != getpartyleader(getcharid(1))) goto L_NotYou; mesn; mesq l("There are five floors, and they're all very dangerous. But there are riches to be found."); next; mesn; - mesq l("You also can't stay there forever! You will have 25 minutes to entirely clear it out and defeat the last boss."); + mesq l("You also can't stay there forever! You will have about 20 minutes to entirely clear it out and defeat the last boss."); next; // Get info about your party, and backup it getpartymember(getcharid(1)); @@ -35,7 +34,7 @@ if (.@count < 3 && !$@GM_OVERRIDE) goto L_TooSmall; mesn; - mesc l("Are you and your party ready?", 1); + mesc l("Are you and your party ready?"), 1; if (askyesno() != ASK_YES) close; @@ -64,22 +63,49 @@ monster("008-1", 90, 69, "Time Bonus", Scorpion, 1, "Party Master::OnAddTime"); close; + + + + + + + + + +// Only the party leader can start this. But you can rejoin, as long map leader is on 008-x L_NotYou: - mesn; - mesq l("If you bring me @@, your party leader, I can let you in.", getpartyleader(getcharid(1))); + getmapxy(.@m$, .@x, .@y, 0, getpartyleader(getcharid(1))); + if (.@m$ ~= "008-*" && @pmloop) { + mesn; + mesq l("@@, your party leader, is inside, I'm not sure where.", getpartyleader(getcharid(1))); + mesc l("Enter dungeons? You won't be able to join anymore when he dies."), 1; + if (askyesno() != ASK_YES) + close; + // Double check + getmapxy(.@m$, .@x, .@y, 0, getpartyleader(getcharid(1))); + if (.@m$ ~= "008-*") + warp "008-1", 176, 20; + } else { + mesn; + mesq l("If you bring me @@, your party leader, I can let you in.", getpartyleader(getcharid(1))); + } close; +// Minimum 3 players L_TooSmall: mesn; mesq l("However, I need to see at least three volunteers here, to allow you in."); close; + + +// Main Loop OnStart: @pmloop=0; OnLoop: if (getmapname() ~= "008-*") { @pmloop+=1; - if (@pmloop < 1500) { + if (@pmloop < 1200) { addtimer(1000, "Party Master::OnLoop"); } else { warp "008-0", 47, 64; |