summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2018-07-03 10:45:38 -0300
committerJesusaves <cpntb1@ymail.com>2018-07-03 10:45:38 -0300
commitc87d43f590f01e17dc5dbd40575f412d31b902ad (patch)
treeb2f35c7f3a118cd4c0eac9fbc29a27a492591b4c
parentdc898d64d3dc02b9c2954eb208562e983b097300 (diff)
downloadserverdata-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.txt38
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;