summaryrefslogtreecommitdiff
path: root/npc/008-0/master.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/008-0/master.txt')
-rw-r--r--npc/008-0/master.txt23
1 files changed, 16 insertions, 7 deletions
diff --git a/npc/008-0/master.txt b/npc/008-0/master.txt
index 2cf7129f7..7a7f3ed8c 100644
--- a/npc/008-0/master.txt
+++ b/npc/008-0/master.txt
@@ -24,7 +24,7 @@
mesn;
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.");
if (!party_expon(getcharid(1)))
- mesc l("Note: your party is not sharing experience, and will suffer a time penalty. Your time will be halved.");
+ mesc l("Note: Your party is currently not sharing experience, and will suffer a time penalty. Your time will be halved."), 6;
next;
// Get info about your party, and backup it
getpartymember(getcharid(1));
@@ -117,26 +117,35 @@ OnStart:
@pmloop=0;
OnLoop:
@pmloop+=1;
+ .@lost="";
// Anti-Crazyfefeâ„¢ Alpha System
if (getcharid(1) <= 0) {
// Left the party!
- @pmloop=0;
- warp "008-0", 47, 64;
- dispbottom l("You are not a member of a party anymore.");
+ .@lost=l("You are not a member of a party anymore.");
}
if (!party_expon(getcharid(1))) {
// Party exp sharing disabled means time penalty.
@pmloop+=1;
}
+ // Check if party master still alive and in caves.
+ if (getmapxy(.@m$, .@x, .@y, 0, getpartyleader(getcharid(1))) <= 0)
+ .@lost=l("Party leader is gone.");
+ else if (!(.@m$ ~= "008-*"))
+ .@lost=l("Party leader is not on dungeons.");
+
// Add new cycle or finish.
- if (@pmloop < 1200) {
+ if (@pmloop < 1200 && .@lost == "")
addtimer(1000, "Party Master::OnLoop");
- } else {
+ else
+ .@lost=l("You ran out of time...");
+
+ // See if it is time to finish
+ if (.@lost != "") {
@pmloop=0;
warp "008-0", 47, 64;
- dispbottom l("You ran out of time...");
+ dispbottom str(.@lost);
}
end;