From f27609e2376719e9033e1d42fb36336731414af4 Mon Sep 17 00:00:00 2001 From: j-tkay Date: Mon, 13 Aug 2012 12:03:21 +0000 Subject: - Fixed bugreport:6460 where players can enter instances without generating it. (EndlessTower.txt & SealedShrine.txt) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16628 54d463be-8e91-2dee-dedb-b68131a5f0ec --- npc/instances/EndlessTower.txt | 38 ++++++++++++++------------------------ npc/instances/NydhoggsNest.txt | 2 +- npc/instances/OrcsMemory.txt | 2 +- npc/instances/SealedShrine.txt | 26 ++++++++++---------------- 4 files changed, 26 insertions(+), 42 deletions(-) (limited to 'npc') diff --git a/npc/instances/EndlessTower.txt b/npc/instances/EndlessTower.txt index ecdc3bed0..14cf31b27 100644 --- a/npc/instances/EndlessTower.txt +++ b/npc/instances/EndlessTower.txt @@ -3,11 +3,11 @@ //===== By: ================================================== //= L0ne_W0lf //===== Current Version: ===================================== -//= 1.9 +//= 2.0 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] +//= [Official Conversion] //= Endless Tower Memorial Dungeon //= Consists of 101 floors. //===== Additional Comments: ================================= @@ -31,6 +31,7 @@ //= only 1@tower -> 5@tower (bugreport:4983) //= 1.9 Added 'instance_check_party' command to the script for proper checking if //= the invoking party meets the requirements to join the Memorial Dungeon. +//= 2.0 Fixed broken else/if chaining. [Joseph] //============================================================ alberta,214,77,6 script Captain Janssen 709,{ @@ -238,8 +239,7 @@ e_tower,81,105,0 script Tower Protection Stone 406,{ mes "Party Name:"+.@p_name$+""; mes "Party Leader:"+.@p_reader$+""; mes "^0000ff"+.@md_name$+" ^000000- Reservation Failed!"; - } - else { + } else { mes "^0000ff"+.@md_name$+"^000000 - Try to reserve"; mes "After making a reservation, you have to talk to NPC behind and select the menu 'Enter the Dungeon' to enter the dungeon."; // 1,2,3,4,5,6 @@ -283,16 +283,14 @@ e_tower,81,105,0 script Tower Protection Stone 406,{ if (has_instance("1@tower") == "") { mes "The memorial dungeon " + .@md_name$ + " does not exist."; mes "The party leader did not generate the dungeon yet."; - } - if((party_instance_id != 0) && (party_instance_id != getcharid(1))) { + } else if((party_instance_id != 0) && (party_instance_id != getcharid(1))) { mes "Due to the tower's aftereffects, you cannot enter the dungeon right now, " + .@dun_h + "hours " + .@dun_m + "minutes " + .@dun_s + "seconds left to enter the next dungeon."; next; mes "It is dangerous here. Let me move you to Alberta."; close2; warp "alberta",223,36; end; - } - else { + } else { mapannounce "e_tower", .@p_name2$ + " of the party, " + .@p_name$ + ", is entering the dungeon, " + .@md_name$ + ".",bc_map,"0x00ff99",FW_NORMAL,12; set party_instance_id,getcharid(1); set etower_timer,gettimetick(2); @@ -311,23 +309,20 @@ e_tower,81,105,0 script Tower Protection Stone 406,{ break; } close; - } - else { + } else { switch(select(.@md_name$ + " Enter the dungeon:Return to Alberta:Cancel")) { case 1: if (has_instance("1@tower") == "") { mes "The memorial dungeon " + .@md_name$ + " does not exist."; mes "The party leader did not generate the dungeon yet."; - } - if((party_instance_id != 0) && (party_instance_id != getcharid(1))) { + } else if((party_instance_id != 0) && (party_instance_id != getcharid(1))) { mes "Due to the tower's aftereffects, you cannot enter the dungeon right now, " + .@dun_h + "hours " + .@dun_m + "minutes " + .@dun_s + "seconds left to enter the next dungeon."; next; mes "It is dangerous here. Let me move you to Alberta."; close2; warp "alberta",223,36; end; - } - else { + } else { mapannounce "e_tower", .@p_name2$ + " of the party, " + .@p_name$ + ", is entering the dungeon, " + .@md_name$ + ".",bc_map,"0x00ff99",FW_NORMAL,12; set party_instance_id,getcharid(1); set etower_timer,gettimetick(2); @@ -347,8 +342,7 @@ e_tower,81,105,0 script Tower Protection Stone 406,{ } close; } - } - else if ((.@etower_timer >= 0) && (.@etower_timer2 < 2)) { + } else if ((.@etower_timer >= 0) && (.@etower_timer2 < 2)) { mes "If you have the dungeon generated already, you can enter it. "; next; switch(select(.@md_name$ + " Enter the dungeon:Return to Alberta:Cancel")) { @@ -356,16 +350,14 @@ e_tower,81,105,0 script Tower Protection Stone 406,{ if (has_instance("1@tower") == "") { mes "The memorial dungeon " + .@md_name$ + " does not exist."; mes "The party leader did not generate the dungeon yet."; - } - if((party_instance_id != 0) && (party_instance_id != getcharid(1))) { + } else if((party_instance_id != 0) && (party_instance_id != getcharid(1))) { mes "Due to the tower's aftereffects, you cannot enter the dungeon right now, " + .@dun_h + "hours " + .@dun_m + "minutes " + .@dun_s + "seconds left to enter the next dungeon."; next; mes "It is dangerous here. Let me move you to Alberta."; close2; warp "alberta",223,36; end; - } - else { + } else { mapannounce "e_tower", .@p_name2$ + " of the party, " + .@p_name$ + ", is entering the dungeon, " + .@md_name$ + ".",bc_map,"0x00ff99",FW_NORMAL,12; set party_instance_id,getcharid(1); warp "1@tower",52,354; @@ -381,16 +373,14 @@ e_tower,81,105,0 script Tower Protection Stone 406,{ break; } close; - } - else if ((.@etower_timer >= 0) && (.@etower_timer < 2) && (.@etower_timer2 == 2)) { + } else if ((.@etower_timer >= 0) && (.@etower_timer < 2) && (.@etower_timer2 == 2)) { mes "Due to the tower's aftereffects, you cannot enter the dungeon right now, " + .@dun_h + "hours " + .@dun_m + "minutes " + .@dun_s + "seconds left to enter the next dungeon."; next; mes "It is dangerous here. Let me move you to Alberta."; close2; warp "alberta",223,36; end; - } - else { + } else { set etower_timer,0; erasequest 60200; erasequest 60201; diff --git a/npc/instances/NydhoggsNest.txt b/npc/instances/NydhoggsNest.txt index 1afecc123..8de9852d8 100644 --- a/npc/instances/NydhoggsNest.txt +++ b/npc/instances/NydhoggsNest.txt @@ -7,7 +7,7 @@ //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] +//= [Official Conversion] //= Nidhoggr's Nest Instance //===== Additional Comments: ================================= //= 1.0 First version. diff --git a/npc/instances/OrcsMemory.txt b/npc/instances/OrcsMemory.txt index a1d8618ca..b2886778b 100644 --- a/npc/instances/OrcsMemory.txt +++ b/npc/instances/OrcsMemory.txt @@ -7,7 +7,7 @@ //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] +//= [Official Conversion] //= Relive the memory of an orc. //===== Additional Comments: ================================= //= 1.0 First version. [L0ne_W0lf] diff --git a/npc/instances/SealedShrine.txt b/npc/instances/SealedShrine.txt index ada7dabcb..ed6965462 100644 --- a/npc/instances/SealedShrine.txt +++ b/npc/instances/SealedShrine.txt @@ -3,11 +3,11 @@ //===== By: ================================================== //= L0ne_W0lf //===== Current Version: ===================================== -//= 1.8 +//= 1.9 //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= -//= [Aegis Conversion] +//= [Official Conversion] //= Seal away the Great Demon Baphomet. //===== Additional Comments: ================================= //= 1.0 First version. [L0ne_W0lf] @@ -22,6 +22,7 @@ //= 1.7 Fixed a checkquest condition never setting quest. [L0ne_W0lf] //= 1.8 Added 'instance_check_party' command to the script for proper checking if //= the invoking party meets the requirements to join the Memorial Dungeon. +//= 1.9 Fixed broken else/if chaining. [Joseph] //============================================================ // Sealed Catacomb Entrance @@ -255,48 +256,41 @@ monk_test,309,146,3 script Friar Patrick#edq 412,{ } monk_test,306,151,3 script Grave of Baphomet#edq 111,{ - if (countitem(6002) > 0) - delitem 6002,countitem(6002); //Token_Of_Apostle + if (countitem(6002)) delitem 6002,countitem(6002); //Token_Of_Apostle mes "This gravestone has a carving of a wicked devil with large horns. It arouses an ominous feeling."; next; switch(select("Touch the stone.:Step back.")) { case 1: - set .@party_id,getcharid(1); set .@instance, instance_id(1); instance_attach(.@instance); - + // 12 hour cooldown set .@ins_bapho_check,checkquest(3040,PLAYTIME); // Two hour play limit //set .@ins_bapho_check2,checkquest(3045,PLAYTIME); - + if(!instance_check_party(.@party_id,2,75)){ mes "I'm sorry but your Party does not meet the requirements to join the Memorial Dungeon."; close; } - if (.@ins_bapho_check == -1) { if (has_instance("1@cata") == "") { mes "It's cold to the touch. It doesn't respond."; - } - if((party_instance_id4 != 0) && (party_instance_id4 != getcharid(1))) { + } else if((party_instance_id4 != 0) && (party_instance_id4 != getcharid(1))) { mes "It seems you have entered this shrine recently... You cannot reenter because Baphomet's Curse still remains. Baphomet's Curse disappears only after a certain amount of time has passed."; - } - else { + } else { mapannounce "monk_test","[" + strcharinfo(0) + "] member of the [" + getpartyname(.@party_id) + "] party has entered the Sealed Shrine.",bc_map,"0x00ff99"; if (checkquest(3040) == -1) setquest 3040; set party_instance_id4,getcharid(1); warp "1@cata",100,224; end; } - } - else if (.@ins_bapho_check == 0 || .@ins_bapho_check == 1) { + } else if (.@ins_bapho_check == 0 || .@ins_bapho_check == 1) { mes "[Friar Patrick]"; mes "It seems you have entered this shrine recently... You cannot reenter because the curse of Baphomet still remains."; mes "The curse of Baphomet disappears after a certain amount of time after you entered."; - } - else if (.@ins_bapho_check == 2) { + } else if (.@ins_bapho_check == 2) { mes "[Friar Patrick]"; mes "Umm... It seems the curse of Baphomet weakened. I'll clear the bad curse."; next; -- cgit v1.2.3-70-g09d2