diff options
Diffstat (limited to 'npc/instances')
-rw-r--r-- | npc/instances/EndlessTower.txt | 28 | ||||
-rw-r--r-- | npc/instances/NydhoggsNest.txt | 19 | ||||
-rw-r--r-- | npc/instances/OrcsMemory.txt | 19 | ||||
-rw-r--r-- | npc/instances/SealedShrine.txt | 7 |
4 files changed, 69 insertions, 4 deletions
diff --git a/npc/instances/EndlessTower.txt b/npc/instances/EndlessTower.txt index 7ad00e1ef..18c390858 100644 --- a/npc/instances/EndlessTower.txt +++ b/npc/instances/EndlessTower.txt @@ -284,8 +284,17 @@ e_tower,81,105,0 script Tower Protection Stone 406,{ 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))) { + 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 { 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); setquest 60200; setquest 60201; @@ -310,8 +319,17 @@ e_tower,81,105,0 script Tower Protection Stone 406,{ 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))) { + 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 { 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); setquest 60200; setquest 60201; @@ -339,8 +357,17 @@ e_tower,81,105,0 script Tower Protection Stone 406,{ 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))) { + 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 { 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; end; } @@ -367,6 +394,7 @@ e_tower,81,105,0 script Tower Protection Stone 406,{ set etower_timer,0; erasequest 60200; erasequest 60201; + set party_instance_id,0; mes "^0000ffThe records and after effects related to the Endless Tower have been removed. You can generate and enter the Endless Tower again.^000000"; close; } diff --git a/npc/instances/NydhoggsNest.txt b/npc/instances/NydhoggsNest.txt index 0852111ab..b771d4b65 100644 --- a/npc/instances/NydhoggsNest.txt +++ b/npc/instances/NydhoggsNest.txt @@ -27,7 +27,7 @@ nyd_dun02,100,201,3 script Yggdrasil Gatekeeper 111,8,8,{ case 1: if (ep13_1_edq == 14) { specialeffect2 EF_HOLYHIT; - PushPC 3,3; + pushpc 3,3; set ep13_1_edq,15; mes "A mysterious power prevents you from getting too close. It looks like there is something strong beyond the door..."; next; @@ -39,7 +39,7 @@ nyd_dun02,100,201,3 script Yggdrasil Gatekeeper 111,8,8,{ } else if (ep13_1_edq == 15) { specialeffect2 EF_HOLYHIT; - PushPC 3,3; + pushpc 3,3; mes "A mysterious power prevents you from getting too close. It looks like there is something strong beyond the door..."; next; mes "Perhaps there's a great hidden secret beyond the gate, beyond expectation."; @@ -50,7 +50,7 @@ nyd_dun02,100,201,3 script Yggdrasil Gatekeeper 111,8,8,{ } else { specialeffect2 EF_HOLYHIT; - PushPC 3,3; + pushpc 3,3; mes "A mysterious power prevents you from getting too close. It looks like there is something strong beyond the door..."; next; mes "Perhaps there's a great hidden secret beyond the gate, beyond expectation."; @@ -228,8 +228,18 @@ nyd_dun02,100,201,3 script Yggdrasil Gatekeeper 111,8,8,{ mes "You did not request for entrance. Please let your leader request entrance."; close; } + if((party_instance_id2 != 0) && (party_instance_id2 != getcharid(1))) { + //Custom + mes "[Yggdrasil Gatekeeper]"; + mes "You are no longer able to enter Nidhogger's Nest, as your instance has expired."; + next; + mes "[Yggdrasil Gatekeeper]"; + mes "After Nidhoggur's Shadow disappears, at least 3 days is needed for stabilizing."; + close; + } else { mapannounce "nyd_dun02", .@p_name$ + "'s Party member " + .@p_name2$ + " has entered " + .@md_name$,bc_map,"0x00ff99"; + set party_instance_id2,getcharid(1); if (checkquest(3135) == -1) setquest 3135; if (checkquest(3136) == -1) setquest 3136; warp "1@nyd",32,37; @@ -263,6 +273,7 @@ nyd_dun02,100,201,3 script Yggdrasil Gatekeeper 111,8,8,{ next; mes "[Yggdrasil Gatekeeper]"; mes "If you would like to enter again, please register with me."; + set party_instance_id2,0; erasequest 3135; erasequest 3136; set 'ins_nyd2,0; @@ -280,7 +291,7 @@ nyd_dun02,100,201,3 script Yggdrasil Gatekeeper 111,8,8,{ switch(select("Move closer to look more carefully.:Step back.")) { case 1: specialeffect2 EF_HOLYHIT; - PushPC 3,3; + pushpc 3,3; mes "A mysterious power prevents you from getting too close. It looks like there is something strong beyond the door..."; next; mes "Perhaps there's a great hidden secret beyond the gate, beyond expectation."; diff --git a/npc/instances/OrcsMemory.txt b/npc/instances/OrcsMemory.txt index 332159aeb..c8f5d2510 100644 --- a/npc/instances/OrcsMemory.txt +++ b/npc/instances/OrcsMemory.txt @@ -117,8 +117,14 @@ gef_fild10,242,202,0 script Dimensional Gorge Piece 406,{ mes "If your dungeon has been destroyed you must wait 7 days before re-entering."; close; } + if((party_instance_id3 != 0) && (party_instance_id3 != getcharid(1))) { + mes "The Memorial Dungeon "+.@md_name$+" does not exist."; + mes "The Memorial Dungeon has been destroyed by the Party Leader or because of the time limit. Please try again after 2 hours."; + close; + } mapannounce "gef_fild10", .@p_leader$ + " of the party, " + .@p_name$ + " is entering the "+.@md_name$+".",bc_map,"0x00ff99"; if (checkquest(12059)== -1) setquest 12059; + set party_instance_id3,getcharid(1); warp "1@orcs",179,15; end; case 3: @@ -132,7 +138,13 @@ gef_fild10,242,202,0 script Dimensional Gorge Piece 406,{ mes "The Memorial Dungeon has been destroyed by the Party Leader or because of the time limit. Please try again after 2 hours."; close; } + if((party_instance_id3 != 0) && (party_instance_id3 != getcharid(1))) { + mes "The Memorial Dungeon "+.@md_name$+" does not exist."; + mes "The Memorial Dungeon has been destroyed by the Party Leader or because of the time limit. Please try again after 2 hours."; + close; + } mapannounce "gef_fild10",.@p_name$+" Party's member "+.@p_leader$+" has entered the "+.@md_name$+".",bc_map,"0x00ff99"; + set party_instance_id3,getcharid(1); if (checkquest(12059)== -1) setquest 12059; warp "1@orcs",179,15; end; @@ -149,8 +161,14 @@ gef_fild10,242,202,0 script Dimensional Gorge Piece 406,{ mes "The Memorial Dungeon has been destroyed by the Party Leader or because of the time limit. Please try again after 2 hours."; close; } + if((party_instance_id3 != 0) && (party_instance_id3 != getcharid(1))) { + mes "The Memorial Dungeon "+.@md_name$+" does not exist."; + mes "The Memorial Dungeon has been destroyed by the Party Leader or because of the time limit. Please try again after 2 hours."; + close; + } mapannounce "gef_fild10",.@p_name$+" Party's member "+.@p_leader$+" has entered the "+.@md_name$+".",bc_map,"0x00ff99"; if (checkquest(12059)== -1) setquest 12059; + set party_instance_id3,getcharid(1); warp "1@orcs",179,15; end; case 2: @@ -159,6 +177,7 @@ gef_fild10,242,202,0 script Dimensional Gorge Piece 406,{ } else if (.@orctime == 2) { mes "^0000ffAll records and after-effects related to the Orc's Memory Dungeon are deleted. You can now regenerate or re-enter the dungeon.^000000"; + set party_instance_id2,0; erasequest 12059; close; } diff --git a/npc/instances/SealedShrine.txt b/npc/instances/SealedShrine.txt index f6a028dd9..05a14c931 100644 --- a/npc/instances/SealedShrine.txt +++ b/npc/instances/SealedShrine.txt @@ -209,6 +209,7 @@ monk_test,309,146,3 script Friar Patrick#edq 412,{ if (checkquest(3040)>=0) erasequest 3040; if (checkquest(3041)>=0) erasequest 3041; if (checkquest(3045)>=0) erasequest 3045; + set party_instance_id4,0; mes "[Friar Patrick]"; mes "Huu... It's over. Now that I've released Baphomet's Curse, you can enter again."; } @@ -279,10 +280,15 @@ monk_test,306,151,3 script Grave of Baphomet#edq 111,{ 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))) { + 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 { 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) { @@ -300,6 +306,7 @@ monk_test,306,151,3 script Grave of Baphomet#edq 111,{ if (checkquest(3040)>=0) erasequest 3040; if (checkquest(3041)>=0) erasequest 3041; if (checkquest(3045)>=0) erasequest 3045; + set party_instance_id4,0; next; mes "[Friar Patrick]"; mes "Huu... It's over. Now I released all of the curses on you. You can enter again."; |