From 3844e61a6b9996de7c84420dad65e98275d927ca Mon Sep 17 00:00:00 2001
From: masao87 <masao87@54d463be-8e91-2dee-dedb-b68131a5f0ec>
Date: Sat, 12 May 2012 20:49:09 +0000
Subject: - Added an extra check to all instance script if there are actually 2
 Players online in the Party to be able to enter the Dungeon. bugreport:3970 -
 Added a few new statuses to not disappear upon death. bugreport:2652

git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16107 54d463be-8e91-2dee-dedb-b68131a5f0ec
---
 npc/instances/EndlessTower.txt | 10 ++++++++--
 npc/instances/NydhoggsNest.txt | 10 ++++++++--
 npc/instances/OrcsMemory.txt   | 10 ++++++++--
 npc/instances/SealedShrine.txt | 10 ++++++++--
 4 files changed, 32 insertions(+), 8 deletions(-)

(limited to 'npc')

diff --git a/npc/instances/EndlessTower.txt b/npc/instances/EndlessTower.txt
index 48d9bf98d..43bde99a5 100644
--- a/npc/instances/EndlessTower.txt
+++ b/npc/instances/EndlessTower.txt
@@ -210,7 +210,7 @@ e_tower,81,105,0	script	Tower Protection Stone	406,{
 	set .@md_name$,"Endless Tower";
 	set .@p_name2$,strcharinfo(0);
 
-	getpartymember(.@party_id);
+	getpartymember(.@party_id),1;
 	set .@partymembercount,$@partymembercount;
 	copyarray .@partymembername$[0],$@partymembername$[0],.@partymembercount;
 
@@ -225,7 +225,13 @@ e_tower,81,105,0	script	Tower Protection Stone	406,{
 	set .@dun_m,(.@dun_ent_t - (.@dun_h * 3600)) / 60;
 	set .@dun_s,.@dun_ent_t - ((.@dun_h * 3600) + (.@dun_m * 60));
 
-	if ((.@party_id > 0) && (.@partymembercount > 1)) {
+	for(set .@i,0; .@i < .@partymembercount; set .@i,.@i+1){
+		if(isloggedin($@partymemberaid[.@i],$@partymembercid[.@i])){
+			set .@loggedin,.@loggedin+1;
+		}
+	}
+
+	if ((.@party_id > 0) && (.@partymembercount > 1) && (.@loggedin > 1)) {
 		if (.@etower_timer == -1) {
 			if (.@ins_mas == getcharid(0)) {
 				mes "Confirmed the party has been made. Would you like to reserve entrance to the Endless Tower?";
diff --git a/npc/instances/NydhoggsNest.txt b/npc/instances/NydhoggsNest.txt
index c497cffe8..2ff7438a1 100644
--- a/npc/instances/NydhoggsNest.txt
+++ b/npc/instances/NydhoggsNest.txt
@@ -127,11 +127,17 @@ nyd_dun02,100,201,3	script	Yggdrasil Gatekeeper	111,8,8,{
 				set .@leader,getpartyleader(.@party,2);
 				set .@md_name$,"Nidhoggur's Nest";
 
-				getpartymember(.@party);
+				getpartymember(.@party),1;
 				set .@partymembercount,$@partymembercount;
 				copyarray .@partymembername$[0],$@partymembername$[0],.@partymembercount;
 
-				if ((.@party > 0) && ((.@partymembercount > 1)) && (.@leader == getcharid(0))) {
+				for(set .@i,0; .@i < .@partymembercount; set .@i,.@i+1){
+					if(isloggedin($@partymemberaid[.@i],$@partymembercid[.@i])){
+						set .@loggedin,.@loggedin+1;
+					}
+				}
+
+				if ((.@party > 0) && ((.@partymembercount > 1)) && (.@leader == getcharid(0)) && (.@loggedin > 1)) {
 					set .@instance, instance_create(.@md_name$, .@party);
 					if (.@instance < 0) {
 						mes "[Yggdrasil Gatekeeper]";
diff --git a/npc/instances/OrcsMemory.txt b/npc/instances/OrcsMemory.txt
index ef5968a97..d3b82f802 100644
--- a/npc/instances/OrcsMemory.txt
+++ b/npc/instances/OrcsMemory.txt
@@ -43,12 +43,18 @@ gef_fild10,242,202,0	script	Dimensional Gorge Piece	406,{
 	set .@p_reader$,strcharinfo(0);
 	set .@md_name$,"Orc's Memory";
 
-	getpartymember(.@party_id);
+	getpartymember(.@party_id),1;
 	set .@partymembercount,$@partymembercount;
 	copyarray .@partymembername$[0],$@partymembername$[0],.@partymembercount;
+	
+	for(set .@i,0; .@i < .@partymembercount; set .@i,.@i+1){
+		if(isloggedin($@partymemberaid[.@i],$@partymembercid[.@i])){
+			set .@loggedin,.@loggedin+1;
+		}
+	}
 
 	set .@orctime,checkquest(12059,PLAYTIME);
-	if ((.@party_id > 0) && ((.@partymembercount > 1))) {
+	if ((.@party_id > 0) && (.@partymembercount > 1) && (.@loggedin > 1)) {
 		if (.@orctime == -1) {
 			if (.@ins_mas == getcharid(0)) {
 				mes "Party status confirmed. Would you like to book entrance to the " + .@md_name$ + "?";
diff --git a/npc/instances/SealedShrine.txt b/npc/instances/SealedShrine.txt
index 06eefab6b..9ffa659fd 100644
--- a/npc/instances/SealedShrine.txt
+++ b/npc/instances/SealedShrine.txt
@@ -91,7 +91,7 @@ monk_test,309,146,3	script	Friar Patrick#edq	412,{
 		if (BaseLevel > 74) {
 
 			set .@party_id,getcharid(1);
-			getpartymember(.@party_id);
+			getpartymember(.@party_id),1;
 			set .@partymembercount,$@partymembercount;
 			copyarray .@partymembername$[0],$@partymembername$[0],.@partymembercount;
 
@@ -104,8 +104,14 @@ monk_test,309,146,3	script	Friar Patrick#edq	412,{
 			// Two hour play limit
 			//set .@ins_bapho_check2,checkquest(3045,PLAYTIME);
 
+			for(set .@i,0; .@i < .@partymembercount; set .@i,.@i+1){
+				if(isloggedin($@partymemberaid[.@i],$@partymembercid[.@i])){
+					set .@loggedin,.@loggedin+1;
+				}
+			}
+
 			if (.@ins_bapho_check == -1) {
-				if ((getpartyleader(.@party_id,2) == getcharid(0)) && (.@partymembercount > 1)) {
+				if ((getpartyleader(.@party_id,2) == getcharid(0)) && (.@partymembercount > 1) && (.@loggedin > 1)) {
 					set .@instance, instance_create("Sealed Catacombs", .@party_id);
 					if (.@instance < 0) {
 						mes "[Friar Patrick]";
-- 
cgit v1.2.3-70-g09d2