summaryrefslogtreecommitdiff
path: root/npc/instances
diff options
context:
space:
mode:
Diffstat (limited to 'npc/instances')
-rw-r--r--npc/instances/EndlessTower.txt28
-rw-r--r--npc/instances/NydhoggsNest.txt19
-rw-r--r--npc/instances/OrcsMemory.txt19
-rw-r--r--npc/instances/SealedShrine.txt7
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.";