summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorL0ne_W0lf <L0ne_W0lf@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-10-20 02:02:55 +0000
committerL0ne_W0lf <L0ne_W0lf@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-10-20 02:02:55 +0000
commitf174652995ddf8b5f29f18adc26ce70f92a64766 (patch)
tree98737066c62330eb1857638a9fdf608004d69b92
parent649b8c9c50f453cb15f9a48c7c8e6c6bf393d171 (diff)
downloadhercules-f174652995ddf8b5f29f18adc26ce70f92a64766.tar.gz
hercules-f174652995ddf8b5f29f18adc26ce70f92a64766.tar.bz2
hercules-f174652995ddf8b5f29f18adc26ce70f92a64766.tar.xz
hercules-f174652995ddf8b5f29f18adc26ce70f92a64766.zip
* Implemented proper Juperos Core event-driven access.
- Bug testing and further optimization required. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@11523 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--npc/Changelog.txt3
-rw-r--r--npc/quests/quests_juperos.txt3418
-rw-r--r--npc/warps/dungeons/juperos.txt82
3 files changed, 3393 insertions, 110 deletions
diff --git a/npc/Changelog.txt b/npc/Changelog.txt
index a13cce0b2..d730dc62b 100644
--- a/npc/Changelog.txt
+++ b/npc/Changelog.txt
@@ -1,5 +1,8 @@
Date Added
======
+2007/10/19
+ * Rev. 11523 Implemented proper Juperos Core event-driven access. [L0ne_W0lf]
+ - Bug testing and further optimization required.
2007/10/18
* Rev. 11516 Cleaned up several duplicates and NPC names. [L0ne_W0lf]
2007/10/16
diff --git a/npc/quests/quests_juperos.txt b/npc/quests/quests_juperos.txt
index 1a38aead7..9a1520622 100644
--- a/npc/quests/quests_juperos.txt
+++ b/npc/quests/quests_juperos.txt
@@ -3,16 +3,19 @@
//===== By ===================================================
//= MasterOfMuppets
//===== Version ==============================================
-//= 1.2
+//= 1.3
//===== Compatible With ======================================
-//= eAthena 1.0
+//= eAthena SVN
//===== Description ==========================================
-//= Juperos Ruins related Quests
+//= [Partial Aegis COnversion]
+//= Juperos Ruins related Quests/Events
//===== Comments =============================================
//= 1.0 First version, partly implemented [MasterOfMuppets]
//= 1.1 Added official Juperos Ruins History Quest. Thanks
//= to Keplerk for his first version. [SinSloth]
//= 1.2 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf]
+//= 1.3 Removed semi-official core access NPCs, replaced with [L0ne_W0lf]
+//= event-driven story progressive NPCs. Optimization needed.
//============================================================
yuno_in04,190,125,4 script Scholar 700,{
@@ -1745,57 +1748,3400 @@ juperos_01,215,127,4 script Machine Statue 844,{
close;
}
-juperos_02,1,1,1 script JuperosLvl2QuestInit -1,{
+//============================================================
+// Jupers Core access Story Event
+//============================================================
+//============================================================
+// 3rd Floor Entrance Guards
+//============================================================
+juperos_01,100,91,0 script jupe_goto#1 -1,2,2,{
+ end;
+
+OnTouch:
+ initnpctimer;
+ mes "^777777["+ strcharinfo(0) +"]^000000";
+ mes "This light...";
+ mes "It feels like...";
+ mes "Its warmth is...";
+ mes "Wrapping all over me...";
+ next;
+ switch(select("Ah, it's so nice...:No! This is wrong!")) {
+ case 1:
+ mes "^777777["+ strcharinfo(0) +"]^000000";
+ mes "Ahhhh...";
+ mes "It feels like";
+ mes "I'm floating...";
+ specialeffect2 348; // EF_LIGHTSPHERE
+ next;
+ stopnpctimer;
+ warp "juperos_02",128,278;
+ close;
+ case 2:
+ mes "^777777["+ strcharinfo(0) +"]^000000";
+ mes "N-No! This is";
+ mes "wrong! Something";
+ mes "weird's happening!";
+ mes "I gotta get away!";
+ next;
+ warp "juperos_01",96,91;
+ stopnpctimer;
+ close;
+ }
+ close;
+
+OnTimer10000:
+ warp "juperos_02",128,278;
+ enablenpc "jupe_goto#2";
+ disablenpc "jupe_goto#1";
+ end;
+}
+
+juperos_01,100,91,0 script jupe_goto#2 -1,2,2,{
OnInit:
-while(1)
- {
+ disablenpc "jupe_goto#2";
+ end;
+
+OnEnable:
+ enablenpc "jupe_goto#2";
+ initnpctimer;
+ end;
+
+OnTouch:
+ warp "juperos_02",128,278;
+ end;
+
+OnTimer2000:
+ enablenpc "jupe_goto#1";
+ disablenpc "jupe_goto#2";
+ end;
+}
+
+juperos_02,97,70,0 script 3F Gate Switch#jupe -1,{
+OnInit:
+ initnpctimer;
+ end;
+
+Onreset:
+ killmonster "juperos_02","3F Gate Switch#jupe::OnMyMobDead";
+ end;
+
+OnEnable:
+ enablenpc "3F Gate Switch#jupe";
+ initnpctimer;
+ end;
+
+OnTimer5000:
+ set .MyMobs,3;
+ monster "juperos_02",24,275,"1st Gate Switch",1674,1,"3F Gate Switch#jupe::OnMyMobDead";
+ monster "juperos_02",240,29,"2nd Gate Switch",1674,1,"3F Gate Switch#jupe::OnMyMobDead";
+ monster "juperos_02",282,183,"3rd Gate Switch",1674,1,"3F Gate Switch#jupe::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ set .MyMobs,.MyMobs-1;
+ if (.MyMobs == 2)
+ mapannounce "juperos_02","Who are you to come here?",bc_map,"0xFF0000";
+ else if (.MyMobs == 1)
+ mapannounce "juperos_02","Have you come seeking Juperos?! It no longer exists...",bc_map,"0xFF0000";
+ else if (.MyMobs == 0) {
+ mapannounce "juperos_02","Have you come to see me? Fine! Find me first!",bc_map,"0xFF0000";
+ specialeffect2 563; // 563
+ soundeffectall "earth_quake.wav",0;
+ disablenpc "3F Gate Switch#jupe";
+ donpcevent "Restricted Area#jupe::OnEnable";
+ }
+ end;
+}
+
+
+juperos_02,130,149,0 script Restricted Area#jupe 139,2,2,{
+OnInit:
+ disablenpc "Restricted Area#jupe";
+ end;
+
+OnEnable:
+ enablenpc "Restricted Area#jupe";
+ initnpctimer;
+ end;
+
+OnTimer5000:
+ mapannounce "juperos_02","Vroom! Vroom!",bc_map,"0xE559A2";
+ end;
+
+OnTimer7000:
+ mapannounce "juperos_02","Attention, visitors.",bc_map,"0xE559A2";
+ end;
+
+OnTimer9000:
+ mapannounce "juperos_02","You are allowed to enter the next zone for a short period of time. Please use the portal in the center of the map.",bc_map,"0xE559A2";
+ end;
+
+OnTimer9001:
+OnTimer23000:
+OnTimer46000:
+OnTimer69000:
+OnTimer92000:
+OnTimer115000:
+OnTimer161000:
+OnTimer184000:
+OnTimer207000:
+OnTimer230000:
+OnTimer253000:
+OnTimer276000:
+OnTimer299000:
+OnTimer322000:
+OnTimer345000:
+OnTimer368000:
+OnTimer391000:
+OnTimer414000:
+OnTimer460000:
+OnTimer483000:
+OnTimer506000:
+OnTimer529000:
+OnTimer552000:
+ specialeffect 561; //"Restricted Area#jupe" 561
+ end;
+
+OnTimer556000:
+ mapannounce "juperos_02","Attention, visitors. The gate to the next zone will close shortly.",bc_map,"0xE559A2";
+ end;
+
+OnTimer561000:
+ mapannounce "juperos_02","1 minute remaining until Gate Closure. ",bc_map,"0xE559A2";
+ end;
+
+OnTimer598000:
+ specialeffect 561; //"Restricted Area#jupe" 561
+ end;
+
+OnTimer600000:
+ mapannounce "juperos_02","The gate is being closed...",bc_map,"0xE559A2";
+ end;
+
+OnTimer603000:
+ mapannounce "juperos_02"," Switches will reactivate shortly.",bc_map,"0xE559A2";
+ end;
+
+OnTimer621000:
+ disablenpc "Restricted Area#jupe";
+ end;
+
+OnTimer1200000:
+ donpcevent "3F Gate Switch#jupe::OnEnable";
+ end;
+
+OnTouch:
+ warp "jupe_gate",50,167;
+ end;
+}
+
+//============================================================
+// Security Checkpoint 1-1
+//============================================================
+jupe_area1,88,224,0 script #hole#1-1 844,{
+ cutin "1",2;
+ if ($@JupreArea1InUse == 1) {
+ mes "^3355FFThis seems like";
+ mes "some kind of device";
+ mes "that will allow you to";
+ mes "pass to the other side.";
+ mes "There's a slot where you";
+ mes "probably need to insert";
+ mes "some kind of object...^000000";
+ close2;
+ cutin "1",255;
+ end;
+ }
+ else if (countitem(7356) > 0 || countitem(7359) > 0 || countitem(7357) > 0 || countitem(7358) > 0) {
+ mes "^3355FFThis seems like";
+ mes "some kind of device";
+ mes "that will allow you to";
+ mes "pass to the other side.";
+ mes "There's a slot where you";
+ mes "probably need to insert";
+ mes "some kind of object...^000000";
+ next;
+ switch(select("Insert a Crest Piece.:Cancel.")) {
+ case 1:
+ if (countitem(7356) > 0) {
+ mes "^3355FFYou take out your";
+ mes "Crest Piece and place";
+ mes "it into the slot where it";
+ mes "happens to fit perfectly.^000000";
+ specialeffect 159; //"#hole#1-1" EF_TOPRANK
+ cutin "1-1",2;
+ next;
+ if ($@JupreArea1InUse == 1) {
+ mes "^3355FFNothing happens.";
+ mes "Perhaps an alarm or";
+ mes "some other safety measure";
+ mes "was activated to keep the";
+ mes "Crest Piece from activating";
+ mes "this transportation device.";
+ mes "You retrieve the Crest Piece.^000000";
+ close2;
+ cutin "1-1",255;
+ end;
+ }
+ else {
+ mes "^3355FFThe slot rotates and";
+ mes "the Crest Piece moves as";
+ mes "if it were turning a key. You";
+ mes "feel a weak tremor as a Warp";
+ mes "Portal to the other side is";
+ mes "activated. You then retrieve";
+ mes "your Crest Piece.^000000";
+ initnpctimer;
+ donpcevent "Warp#1-1::OnEnable";
+ enablenpc "Red Alarm#1-1";
+ disablenpc "#hole#1-1";
+ close2;
+ cutin "1-1",255;
+ end;
+ }
+ }
+ else {
+ mes "^3355FFUnfortunately, you're";
+ mes "not carrying anything";
+ mes "that might be able to fit";
+ mes "into the slot and activate";
+ mes "this mechanical device.^000000";
+ close2;
+ cutin "1",255;
+ end;
+ }
+ case 2:
+ mes "[" + strcharinfo(0) + "]";
+ mes "Hmmm...";
+ mes "Do I have anything";
+ mes "that might make this";
+ mes "weird machine work?";
+ close2;
+ cutin "1",255;
+ end;
+ }
+ close;
+ }
+ else {
+ mes "^3355FFThis seems like";
+ mes "some kind of device";
+ mes "that will allow you to";
+ mes "pass to the other side.";
+ mes "There's a slot where you";
+ mes "probably need to insert";
+ mes "some kind of object...^000000";
+ close2;
+ cutin "1",255;
+ end;
+ }
+
+Onstop_timer:
+ stopnpctimer;
+ end;
+
+OnTimer22500:
+ enablenpc "#hole#1-1";
+ disablenpc "Red Alarm#1-1";
+ end;
+}
+
+jupe_area1,83,221,0 script Warp#1-1 139,2,2,{
+OnInit:
+ disablenpc "Warp#1-1";
+ end;
+
+OnEnable:
+ enablenpc "Warp#1-1";
+ specialeffect 561; //"Warp#1-1" 561
+ soundeffectall "jupe_warp.wav",0;
+ initnpctimer;
+ end;
+
+OnTouch:
+ warp "jupe_area1",47,259;
+ end;
+
+OnTimer22500:
+ disablenpc "Warp#1-1";
+ end;
+}
+
+jupe_area1,47,259,0 script Red Alarm#1-1 -1,2,2,{
+OnInit:
+ disablenpc "Red Alarm#1-1";
+ end;
+
+OnTouch:
+ set $@JupreArea1InUse,1;
+ donpcevent "Red Alarm On#1-1::OnEnable";
+ disablenpc "Red Alarm#1-1";
+ donpcevent "#hole#1-1::Onstop_timer";
+ end;
+}
+
+- script Red Alarm On#1-1 -1,{
+OnInit:
+ disablenpc "Red Alarm On#1-1";
+ end;
+
+OnEnable:
+ enablenpc "Red Alarm On#1-1";
+ initnpctimer;
+ end;
+
+OnTimer1000:
+ mapannounce "jupe_area1","Those of you who have come here...",bc_map,"0xFF0000";
+ end;
+
+OnTimer3000:
+ mapannounce "jupe_area1","I do not intend to stop you.",bc_map,"0xFF0000";
+ soundeffectall "jupe_warning.wav",0,"jupe_area1";
+ soundeffectall "jupe_warning.wav",0,"jupe_area1";
+ disablenpc "#hole#1-1";
+ end;
+
+OnTimer5000:
+ mapannounce "jupe_area1","But I assume you are prepared for a few obstacles...",bc_map,"0xFF0000";
+ donpcevent "Monster1#1-1::OnEnable";
+ end;
+
+OnTimer7000:
+ mapannounce "jupe_area1","After all, you are venturing through a forbidden area!",bc_map,"0xFF0000";
+ end;
+
+OnTimer8000:
+ disablenpc "Red Alarm On#1-1";
+ soundeffectall "jupe_warning.wav",0,"jupe_area1";
+ soundeffectall "jupe_warning.wav",0,"jupe_area1";
+ end;
+}
+
+- script Monster1#1-1 -1,{
+OnInit:
+ disablenpc "Monster1#1-1";
+ end;
+
+Onreset:
+ killmonster "jupe_area1","Monster1#1-1::OnMyMobDead";
+ end;
+
+OnEnable:
+ enablenpc "Monster1#1-1";
+ initnpctimer;
+ set .MyMobs,8;
+ monster "jupe_area1",30,263,"Security Guard",1675,1,"Monster1#1-1::OnMyMobDead";
+ monster "jupe_area1",30,262,"Security Guard",1669,1,"Monster1#1-1::OnMyMobDead";
+ monster "jupe_area1",30,261,"Security Guard",1675,1,"Monster1#1-1::OnMyMobDead";
+ monster "jupe_area1",30,260,"Security Guard",1669,1,"Monster1#1-1::OnMyMobDead";
+ monster "jupe_area1",30,259,"Security Guard",1675,1,"Monster1#1-1::OnMyMobDead";
+ monster "jupe_area1",30,258,"Security Guard",1669,1,"Monster1#1-1::OnMyMobDead";
+ monster "jupe_area1",30,257,"Security Guard",1675,1,"Monster1#1-1::OnMyMobDead";
+ monster "jupe_area1",30,256,"Security Guard",1669,1,"Monster1#1-1::OnMyMobDead";
+ end;
+
+OnTimer300000:
+ mapannounce "jupe_area1","Do you realize this is a hallucination?",bc_map,"0xFF0000";
+ set $@JupreArea1InUse,0;
+ end;
+
+OnTimer300002:
+ disablenpc "Monster1#1-1";
+ enablenpc "#hole#1-1";
+ end;
+
+OnMyMobDead:
+ set .MyMobs,.MyMobs-1;
+ if (.MyMobs < 1) {
+ donpcevent "Monster2#1-1::OnEnable";
+ disablenpc "Monster1#1-1";
+ stopnpctimer;
+ }
+ end;
+}
+
+- script Monster2#1-1 -1,{
+OnInit:
+ disablenpc "Monster2#1-1";
+ end;
+
+Onreset:
+ killmonster "jupe_area1","Monster2#1-1::OnMyMobDead";
+ end;
+
+OnEnable:
+ enablenpc "Monster2#1-1";
+ initnpctimer;
+ end;
+
+OnTimer2000:
+ mapannounce "jupe_area1","How about now?",bc_map,"0xFF0000";
+ soundeffectall "jupe_warning.wav",0,"jupe_area1";
+ soundeffectall "jupe_warning.wav",0,"jupe_area1";
+ end;
+
+OnTimer4000:
+ mapannounce "jupe_area1","Let me see...",bc_map,"0xFF0000";
+ end;
+
+OnTimer7000:
+ mapannounce "jupe_area1","Just how strong you are!",bc_map,"0xFF0000";
+ soundeffectall "jupe_warning.wav",0,"jupe_area1";
+ soundeffectall "jupe_warning.wav",0,"jupe_area1";
+ set .MyMobs,8;
+ monster "jupe_area1",30,238,"Security Guard",1675,1,"Monster2#1-1::OnMyMobDead";
+ monster "jupe_area1",31,238,"Security Guard",1669,1,"Monster2#1-1::OnMyMobDead";
+ monster "jupe_area1",32,238,"Security Guard",1675,1,"Monster2#1-1::OnMyMobDead";
+ monster "jupe_area1",33,238,"Security Guard",1669,1,"Monster2#1-1::OnMyMobDead";
+ monster "jupe_area1",34,238,"Security Guard",1675,1,"Monster2#1-1::OnMyMobDead";
+ monster "jupe_area1",35,238,"Security Guard",1669,1,"Monster2#1-1::OnMyMobDead";
+ monster "jupe_area1",36,238,"Security Guard",1675,1,"Monster2#1-1::OnMyMobDead";
+ monster "jupe_area1",37,238,"Security Guard",1669,1,"Monster2#1-1::OnMyMobDead";
+ end;
+
+OnTimer300000:
+ mapannounce "jupe_area1","Bwahaha! You're only good at running away!",bc_map,"0xFF0000";
+ disablenpc "Monster2#1-1";
+ enablenpc "#hole#1-1";
+ disablenpc "Red Alarm#1-1";
+ set $@JupreArea1InUse,0;
+ end;
+
+OnTimer300002:
+ donpcevent "Monster2#1-1::OnDisable";
+ end;
+
+OnMyMobDead:
+ set .MyMobs,.MyMobs-1;
+ if (.MyMobs < 1) {
+ mapannounce "jupe_area1","Zzzzt. Zzzzt..... ",bc_map,"0xFF0000";
+ disablenpc "Monster2#1-1";
+ enablenpc "#hole#1-1";
+ disablenpc "Red Alarm#1-1";
+ set $@JupreArea1InUse,0;
+ stopnpctimer;
+ }
+ end;
+}
+
+//============================================================
+// Security Checkpoint 1-2
+//============================================================
+jupe_area1,25,238,0 script #hole#1-2 844,{
+ cutin "2",2;
+ if ($@JupreArea1InUse == 1) {
+ mes "^3355FFThis seems like";
+ mes "some kind of device";
+ mes "that will allow you to";
+ mes "pass to the other side.";
+ mes "There's a slot where you";
+ mes "probably need to insert";
+ mes "some kind of object...^000000";
+ close2;
+ cutin "2",255;
+ end;
+ }
+ else if (countitem(7356) > 0 || countitem(7359) > 0 || countitem(7357) > 0 || countitem(7358) > 0) {
+ mes "^3355FFThis seems like";
+ mes "some kind of device";
+ mes "that will allow you to";
+ mes "pass to the other side.";
+ mes "There's a slot where you";
+ mes "probably need to insert";
+ mes "some kind of object...^000000";
+ next;
+ switch(select("Insert a Crest Piece.:Cancel.")) {
+ case 1:
+ if (countitem(7357) > 0) {
+ mes "^3355FFYou take out your";
+ mes "Crest Piece and place";
+ mes "it into the slot where it";
+ mes "happens to fit perfectly.^000000";
+ specialeffect 159; //"#hole#1-2" EF_TOPRANK
+ cutin "2-1",2;
+ next;
+ if ($@JupreArea1InUse == 1) {
+ mes "^3355FFNothing happens.";
+ mes "Perhaps an alarm or";
+ mes "some other safety measure";
+ mes "was activated to keep the";
+ mes "Crest Piece from activating";
+ mes "this transportation device.";
+ mes "You retrieve the Crest Piece.^000000";
+ close2;
+ cutin "2-1",255;
+ end;
+ }
+ else {
+ mes "^3355FFThe slot rotates and";
+ mes "the Crest Piece moves as";
+ mes "if it were turning a key. You";
+ mes "feel a weak tremor as a Warp";
+ mes "Portal to the other side is";
+ mes "activated. You then retrieve";
+ mes "your Crest Piece.^000000";
+ initnpctimer;
+ donpcevent "Warp#1-2::OnEnable";
+ enablenpc "Red Alarm#1-2";
+ disablenpc "#hole#1-2";
+ close2;
+ cutin "2-1",255;
+ end;
+ }
+ }
+ else {
+ mes "^3355FFUnfortunately, you're";
+ mes "not carrying anything";
+ mes "that might be able to fit";
+ mes "into the slot and activate";
+ mes "this mechanical device.^000000";
+ close2;
+ cutin "2",255;
+ end;
+ }
+ break;
+ case 2:
+ mes "[" + strcharinfo(0) + "]";
+ mes "Hmmm...";
+ mes "Do I have anything";
+ mes "that might make this";
+ mes "weird machine work?";
+ close2;
+ cutin "2",255;
+ end;
+ }
+ close;
+ }
+ else {
+ mes "^3355FFThis seems like";
+ mes "some kind of device";
+ mes "that will allow you to";
+ mes "pass to the other side.";
+ mes "There's a slot where you";
+ mes "probably need to insert";
+ mes "some kind of object...^000000";
+ close2;
+ cutin "2",255;
+ end;
+ }
+ end;
+
+Onstop_timer:
+ stopnpctimer;
+ end;
+
+OnTimer22500:
+ enablenpc "#hole#1-2";
+ disablenpc "Red Alarm#1-2";
+ end;
+}
+
+jupe_area1,21,225,0 script Warp#1-2 139,2,2,{
+OnInit:
+ disablenpc "Warp#1-2";
+ end;
+
+OnEnable:
+ enablenpc "Warp#1-2";
+ specialeffect 561; //"Warp#1-2" 561
+ soundeffectall "jupe_warp.wav",0;
+ initnpctimer;
+ end;
+
+OnTouch:
+ warp "jupe_area1",21,191;
+ end;
+
+OnTimer22500:
+ disablenpc "Warp#1-2";
+ end;
+}
+
+jupe_area1,21,191,0 script Red Alarm#1-2 -1,2,2,{
+OnInit:
+ disablenpc "Red Alarm#1-2";
+ end;
+
+OnTouch:
+ set $@JupreArea1InUse,1;
+ donpcevent "Red Alarm On#1-2::OnEnable";
+ disablenpc "Red Alarm#1-2";
+ disablenpc "#hole#1-2";
+ end;
+}
+
+- script Red Alarm On#1-2 -1,{
+OnInit:
+ disablenpc "Red Alarm On#1-2";
+ end;
+
+OnEnable:
+ enablenpc "Red Alarm On#1-2";
+ initnpctimer;
+ end;
+
+OnTimer1000:
+ mapannounce "jupe_area1","Come on, come on!",bc_map,"0xFF0000";
+ end;
+
+OnTimer3000:
+ mapannounce "jupe_area1","Yes. Run... Right into my hands!",bc_map,"0xFF0000";
+ disablenpc "#hole#1-2";
+ end;
+
+OnTimer5000:
+ mapannounce "jupe_area1","Do you want to know who I am?",bc_map,"0xFF0000";
+ donpcevent "Monster1#1-2::OnEnable";
+ end;
+
+OnTimer7000:
+ mapannounce "jupe_area1","You will know, once you defeat all of my minions!",bc_map,"0xFF0000";
+ end;
+
+OnTimer8000:
+ disablenpc "Red Alarm On#1-2";
+ end;
+}
+
+- script Monster1#1-2 -1,{
+OnInit:
+ disablenpc "Monster1#1-2";
+ end;
+
+Onreset:
+ killmonster "jupe_area1","Monster1#1-2::OnMyMobDead";
+ end;
+
+OnEnable:
+ initnpctimer;
+ enablenpc "Monster1#1-2";
+ set .MyMobs,8;
+ monster "jupe_area1",30,176,"High Guard",1669,1,"Monster1#1-2::OnMyMobDead";
+ monster "jupe_area1",31,176,"High Guard",1675,1,"Monster1#1-2::OnMyMobDead";
+ monster "jupe_area1",32,176,"High Guard",1669,1,"Monster1#1-2::OnMyMobDead";
+ monster "jupe_area1",33,176,"High Guard",1675,1,"Monster1#1-2::OnMyMobDead";
+ monster "jupe_area1",34,176,"High Guard",1669,1,"Monster1#1-2::OnMyMobDead";
+ monster "jupe_area1",35,176,"High Guard",1675,1,"Monster1#1-2::OnMyMobDead";
+ monster "jupe_area1",36,176,"High Guard",1669,1,"Monster1#1-2::OnMyMobDead";
+ monster "jupe_area1",37,176,"High Guard",1675,1,"Monster1#1-2::OnMyMobDead";
+ end;
+
+OnTimer300000:
+ mapannounce "jupe_area1","I can't believe how cowardly you really are...",bc_map,"0xFF0000";
+ set $@JupreArea1InUse,0;
+ end;
+
+OnTimer300002:
+ disablenpc "Monster1#1-2";
+ enablenpc "#hole#1-2";
+ end;
+
+OnMyMobDead:
+ set .MyMobs,.MyMobs-1;
+ if (.MyMobs < 1) {
+ donpcevent "Monster2#1-2::OnEnable";
+ disablenpc "Monster1#1-2";
+ stopnpctimer;
+ }
+ end;
+}
+
+- script Monster2#1-2 -1,{
+OnInit:
+ disablenpc "Monster2#1-2";
+ end;
+
+Onreset:
+ killmonster "jupe_area1","Monster2#1-2::OnMyMobDead";
+ end;
+
+OnEnable:
+ initnpctimer;
+ end;
+
+OnTimer2000:
+ mapannounce "jupe_area1","I was the head of this underground laboratory.",bc_map,"0xFF0000";
+ end;
+
+OnTimer4000:
+ mapannounce "jupe_area1","But that was a long time ago, back when I was merely a human.",bc_map,"0xFF0000";
+ end;
+
+OnTimer6000:
+ mapannounce "jupe_area1","I was called Vesper Newton. Hahah, they called me a mad man back then.",bc_map,"0xFF0000";
+ enablenpc "Monster2#1-2";
+ set .MyMobs,13;
+ monster "jupe_area1",30,152,"Security Guard",1669,1,"Monster2#1-2::OnMyMobDead";
+ monster "jupe_area1",31,152,"Security Guard",1675,1,"Monster2#1-2::OnMyMobDead";
+ monster "jupe_area1",32,152,"Security Guard",1669,1,"Monster2#1-2::OnMyMobDead";
+ monster "jupe_area1",33,152,"Security Guard",1675,1,"Monster2#1-2::OnMyMobDead";
+ monster "jupe_area1",34,152,"Security Guard",1669,1,"Monster2#1-2::OnMyMobDead";
+ monster "jupe_area1",35,152,"Security Guard",1675,1,"Monster2#1-2::OnMyMobDead";
+ monster "jupe_area1",36,152,"Security Guard",1669,1,"Monster2#1-2::OnMyMobDead";
+ monster "jupe_area1",37,152,"Security Guard",1675,1,"Monster2#1-2::OnMyMobDead";
+ monster "jupe_area1",30,150,"Security Guard",1669,1,"Monster2#1-2::OnMyMobDead";
+ monster "jupe_area1",31,150,"Security Guard",1675,1,"Monster2#1-2::OnMyMobDead";
+ monster "jupe_area1",32,150,"Security Guard",1669,1,"Monster2#1-2::OnMyMobDead";
+ monster "jupe_area1",33,150,"Security Guard",1675,1,"Monster2#1-2::OnMyMobDead";
+ monster "jupe_area1",34,150,"Security Guard",1669,1,"Monster2#1-2::OnMyMobDead";
+ end;
+
+OnTimer300000:
+ mapannounce "jupe_area1","...Not yet.",bc_map,"0xFF0000";
+ disablenpc "Monster2#1-2";
+ enablenpc "#hole#1-2";
+ disablenpc "Red Alarm#1-2";
+ set $@JupreArea1InUse,0;
+ end;
+
+OnTimer300002:
+ donpcevent "Monster2#1-2::OnDisable";
+ end;
+
+OnMyMobDead:
+ set .MyMobs,.MyMobs-1;
+ if (.MyMobs < 1) {
+ mapannounce "jupe_area1","Not yet!",bc_map,"0xFF0000";
+ disablenpc "Monster2#1-2";
+ enablenpc "#hole#1-2";
+ disablenpc "Red Alarm#1-2";
+ set $@JupreArea1InUse,0;
+ stopnpctimer;
+ }
+ end;
+}
+
+//============================================================
+// Security Checkpoint 1-3
+//============================================================
+jupe_area1,36,146,0 script #hole#1-3 844,{
+ cutin "3",2;
+ if ($@JupreArea1InUse == 1) {
+ mes "^3355FFThis seems like";
+ mes "some kind of device";
+ mes "that will allow you to";
+ mes "pass to the other side.";
+ mes "There's a slot where you";
+ mes "probably need to insert";
+ mes "some kind of object...^000000";
+ close2;
+ cutin "3",255;
+ end;
+ }
+ else if (countitem(7356) > 0 || countitem(7359) > 0 || countitem(7357) > 0 || countitem(7358) > 0) {
+ mes "^3355FFThis seems like";
+ mes "some kind of device";
+ mes "that will allow you to";
+ mes "pass to the other side.";
+ mes "There's a slot where you";
+ mes "probably need to insert";
+ mes "some kind of object...^000000";
+ next;
+ switch(select("Insert a Crest Piece.:Cancel.")) {
+ case 1:
+ if (countitem(7358) > 0) {
+ mes "^3355FFYou take out your";
+ mes "Crest Piece and place";
+ mes "it into the slot where it";
+ mes "happens to fit perfectly.^000000";
+ specialeffect 159; //"#hole#1-3" EF_TOPRANK
+ cutin "3-1",2;
+ next;
+ if ($@JupreArea1InUse == 1) {
+ mes "^3355FFNothing happens.";
+ mes "Perhaps an alarm or";
+ mes "some other safety measure";
+ mes "was activated to keep the";
+ mes "Crest Piece from activating";
+ mes "this transportation device.";
+ mes "You retrieve the Crest Piece.^000000";
+ close2;
+ cutin "3-1",255;
+ end;
+ }
+ else {
+ mes "^3355FFThe slot rotates and";
+ mes "the Crest Piece moves as";
+ mes "if it were turning a key. You";
+ mes "feel a weak tremor as a Warp";
+ mes "Portal to the other side is";
+ mes "activated. You then retrieve";
+ mes "your Crest Piece.^000000";
+ initnpctimer;
+ donpcevent "Warp#1-3::OnEnable";
+ enablenpc "Red Alarm#1-3";
+ disablenpc "#hole#1-3";
+ close2;
+ cutin "3-1",255;
+ end;
+ }
+ }
+ else {
+ mes "^3355FFUnfortunately, you're";
+ mes "not carrying anything";
+ mes "that might be able to fit";
+ mes "into the slot and activate";
+ mes "this mechanical device.^000000";
+ close2;
+ cutin "3",255;
+ end;
+ }
+ case 2:
+ mes "[" + strcharinfo(0) + "]";
+ mes "Hmmm...";
+ mes "Do I have anything";
+ mes "that might make this";
+ mes "weird machine work?";
+ close2;
+ cutin "3",255;
+ end;
+ }
+ }
+ else {
+ mes "^3355FFThis seems like";
+ mes "some kind of device";
+ mes "that will allow you to";
+ mes "pass to the other side.";
+ mes "There's a slot where you";
+ mes "probably need to insert";
+ mes "some kind of object...^000000";
+ close2;
+ cutin "3",255;
+ end;
+ }
+ end;
+
+Onstop_timer:
+ stopnpctimer;
+ end;
+
+OnTimer22500:
+ enablenpc "#hole#1-3";
+ disablenpc "Red Alarm#1-3";
+ end;
+}
+
+jupe_area1,33,137,0 script Warp#1-3 139,2,2,{
+OnInit:
+ disablenpc "Warp#1-3";
+ end;
+
+OnEnable:
+ enablenpc "Warp#1-3";
+ specialeffect 561; //"Warp#1-3" 561
+ soundeffectall "jupe_warp.wav",0;
+ initnpctimer;
+ end;
+
+OnTouch:
+ warp "jupe_area1",33,105;
+ end;
+
+OnTimer22500:
+ disablenpc "Warp#1-3";
+ end;
+}
+
+jupe_area1,33,105,0 script Red Alarm#1-3 -1,0,4,{
+OnInit:
+ disablenpc "Red Alarm#1-3";
+ end;
+
+OnTouch:
+ set $@JupreArea1InUse,1;
+ donpcevent "Red Alarm On#1-3::OnEnable";
+ disablenpc "Red Alarm#1-3";
+ disablenpc "#hole#1-3";
+ end;
+}
+
+- script Red Alarm On#1-3 -1,{
+OnInit:
+ disablenpc "Red Alarm On#1-3";
+ end;
+
+OnEnable:
+ enablenpc "Red Alarm On#1-3";
+ initnpctimer;
+ end;
+
+OnTimer1000:
+ mapannounce "jupe_area1","These security systems...",bc_map,"0xFF0000";
+ end;
+
+OnTimer3000:
+ mapannounce "jupe_area1","They're not really for protection.",bc_map,"0xFF0000";
+ disablenpc "#hole#1-3";
+ end;
+
+OnTimer5000:
+ mapannounce "jupe_area1","It's sort of just a hobby to pass the time...",bc_map,"0xFF0000";
+ donpcevent "Monster1#1-3::OnEnable";
+ end;
+
+OnTimer7000:
+ mapannounce "jupe_area1","Being immortal, I have a lot of time on my hands...",bc_map,"0xFF0000";
+ end;
+
+OnTimer8000:
+ disablenpc "Red Alarm On#1-3";
+ end;
+}
+
+- script Monster1#1-3 -1,{
+OnInit:
+ disablenpc "Monster1#1-3";
+ end;
+
+Onreset:
+ killmonster "jupe_area1","Monster1#1-3::OnMyMobDead";
+ end;
+
+OnEnable:
+ initnpctimer;
+ enablenpc "Monster1#1-3";
+ set .MyMobs,8;
+ monster "jupe_area1",30,89,"Security Guard",1675,1,"Monster1#1-3::OnMyMobDead";
+ monster "jupe_area1",31,89,"Security Guard",1669,1,"Monster1#1-3::OnMyMobDead";
+ monster "jupe_area1",32,89,"Security Guard",1675,1,"Monster1#1-3::OnMyMobDead";
+ monster "jupe_area1",33,89,"Security Guard",1669,1,"Monster1#1-3::OnMyMobDead";
+ monster "jupe_area1",34,89,"Security Guard",1675,1,"Monster1#1-3::OnMyMobDead";
+ monster "jupe_area1",35,89,"Security Guard",1669,1,"Monster1#1-3::OnMyMobDead";
+ monster "jupe_area1",36,89,"Security Guard",1675,1,"Monster1#1-3::OnMyMobDead";
+ monster "jupe_area1",37,89,"Security Guard",1669,1,"Monster1#1-3::OnMyMobDead";
+ end;
+
+OnTimer300000:
+ mapannounce "jupe_area1","Zzzzt...Zzzzt....",bc_map,"0xFF0000";
+ set $@JupreArea1InUse,0;
+ end;
+
+OnTimer300002:
+ disablenpc "Monster1#1-3";
+ enablenpc "#hole#1-3";
+ end;
+
+OnMyMobDead:
+ set .MyMobs,.MyMobs-1;
+ if (.MyMobs < 1) {
+ donpcevent "Monster2#1-3::OnEnable";
+ disablenpc "Monster1#1-3";
+ stopnpctimer;
+ }
+ end;
+}
+
+- script Monster2#1-3 -1,{
+OnInit:
+ disablenpc "Monster2#1-3";
+ end;
+
+Onreset:
+ killmonster "jupe_area1","Monster2#1-3::OnMyMobDead";
+ end;
+
+OnEnable:
+ initnpctimer;
+ end;
+
+OnTimer2000:
+ mapannounce "jupe_area1","Why have you come?",bc_map,"0xFF0000";
+ end;
+
+OnTimer5000:
+ mapannounce "jupe_area1","Were you hoping to find something wonderful? Something miraculous?",bc_map,"0xFF0000";
+ end;
+
+OnTimer8000:
+ mapannounce "jupe_area1","You're wrong! Welcome to Hell!",bc_map,"0xFF0000";
+ enablenpc "Monster2#1-3";
+ set .MyMobs,15;
+ monster "jupe_area1",42,64,"Security Guard",1669,1,"Monster2#1-3::OnMyMobDead";
+ monster "jupe_area1",43,64,"Security Guard",1675,1,"Monster2#1-3::OnMyMobDead";
+ monster "jupe_area1",44,64,"Security Guard",1669,1,"Monster2#1-3::OnMyMobDead";
+ monster "jupe_area1",45,64,"Security Guard",1675,1,"Monster2#1-3::OnMyMobDead";
+ monster "jupe_area1",46,64,"Security Guard",1669,1,"Monster2#1-3::OnMyMobDead";
+ monster "jupe_area1",47,64,"Security Guard",1675,1,"Monster2#1-3::OnMyMobDead";
+ monster "jupe_area1",48,64,"Security Guard",1669,1,"Monster2#1-3::OnMyMobDead";
+ monster "jupe_area1",49,64,"Security Guard",1675,1,"Monster2#1-3::OnMyMobDead";
+ monster "jupe_area1",42,62,"Security Guard",1669,1,"Monster2#1-3::OnMyMobDead";
+ monster "jupe_area1",43,62,"Security Guard",1675,1,"Monster2#1-3::OnMyMobDead";
+ monster "jupe_area1",44,62,"Security Guard",1669,1,"Monster2#1-3::OnMyMobDead";
+ monster "jupe_area1",45,62,"Security Guard",1675,1,"Monster2#1-3::OnMyMobDead";
+ monster "jupe_area1",46,62,"Security Guard",1669,1,"Monster2#1-3::OnMyMobDead";
+ monster "jupe_area1",47,62,"Security Guard",1675,1,"Monster2#1-3::OnMyMobDead";
+ monster "jupe_area1",48,62,"Security Guard",1669,1,"Monster2#1-3::OnMyMobDead";
+ end;
+
+OnTimer300000:
+ mapannounce "jupe_area1","Do you still have your courage? Come. Prove it.",bc_map,"0xFF0000";
+ disablenpc "Monster2#1-3";
+ enablenpc "#hole#1-3";
+ disablenpc "Red Alarm#1-3";
+ set $@JupreArea1InUse,0;
+ end;
+
+OnTimer300002:
+ donpcevent "Monster2#1-3::OnDisable";
+ end;
+
+OnMyMobDead:
+ set .MyMobs,.MyMobs-1;
+ if (.MyMobs < 1) {
+ mapannounce "jupe_area1","Do you still have your courage? Come. Prove it.",bc_map,"0xFF0000";
+ disablenpc "Monster2#1-3";
+ enablenpc "#hole#1-3";
+ disablenpc "Red Alarm#1-3";
+ set $@JupreArea1InUse,0;
+ stopnpctimer;
+ }
+ end;
+}
+
+//============================================================
+// Security Checkpoint 1-4
+//============================================================
+jupe_area1,50,49,0 script #hole#1-4 844,{
+ cutin "4",2;
+ if ($@JupreArea1InUse == 1) {
+ mes "^3355FFThis seems like";
+ mes "some kind of device";
+ mes "that will allow you to";
+ mes "pass to the other side.";
+ mes "There's a slot where you";
+ mes "probably need to insert";
+ mes "some kind of object...^000000";
+ close2;
+ cutin "4",255;
+ end;
+ }
+ else if (countitem(7356) > 0 || countitem(7359) > 0 || countitem(7357) > 0 || countitem(7358) > 0) {
+ mes "^3355FFThis seems like";
+ mes "some kind of device";
+ mes "that will allow you to";
+ mes "pass to the other side.";
+ mes "There's a slot where you";
+ mes "probably need to insert";
+ mes "some kind of object...^000000";
+ next;
+ switch(select("Insert a Crest Piece.:Cancel.")) {
+ case 1:
+ if (countitem(7359) > 0) {
+ mes "^3355FFYou take out your";
+ mes "Crest Piece and place";
+ mes "it into the slot where it";
+ mes "happens to fit perfectly.^000000";
+ specialeffect 159; //"#hole#1-4" EF_TOPRANK
+ cutin "4-1",2;
+ next;
+ if ($@JupreArea1InUse == 1) {
+ mes "^3355FFNothing happens.";
+ mes "Perhaps an alarm or";
+ mes "some other safety measure";
+ mes "was activated to keep the";
+ mes "Crest Piece from activating";
+ mes "this transportation device.";
+ mes "You retrieve the Crest Piece.^000000";
+ close2;
+ cutin "4-1",255;
+ end;
+ }
+ else {
+ mes "^3355FFThe slot rotates and";
+ mes "the Crest Piece moves as";
+ mes "if it were turning a key. You";
+ mes "feel a weak tremor as a Warp";
+ mes "Portal to the other side is";
+ mes "activated. You then retrieve";
+ mes "your Crest Piece.^000000";
+ initnpctimer;
+ donpcevent "Warp#1-4::OnEnable";
+ donpcevent "Red Alarm#1-4::OnEnable";
+ disablenpc "#hole#1-4";
+ close2;
+ cutin "4-1",255;
+ end;
+ }
+ }
+ else {
+ mes "^3355FFUnfortunately, you're";
+ mes "not carrying anything";
+ mes "that might be able to fit";
+ mes "into the slot and activate";
+ mes "this mechanical device.^000000";
+ close2;
+ cutin "4",255;
+ end;
+ }
+ break;
+ case 2:
+ mes "[" + strcharinfo(0) + "]";
+ mes "Hmmm...";
+ mes "Do I have anything";
+ mes "that might make this";
+ mes "weird machine work?";
+ close2;
+ cutin "4",255;
+ end;
+ }
+ }
+ else {
+ mes "^3355FFThis seems like";
+ mes "some kind of device";
+ mes "that will allow you to";
+ mes "pass to the other side.";
+ mes "There's a slot where you";
+ mes "probably need to insert";
+ mes "some kind of object...^000000";
+ close2;
+ cutin "4",255;
+ end;
+ }
+ end;
+
+Onstop_timer:
+ stopnpctimer;
+ end;
+
+OnTimer5000:
+ enablenpc "#hole#1-4";
+ disablenpc "Red Alarm#1-4";
+ end;
+}
+
+jupe_area1,57,53,0 script Warp#1-4 139,2,2,{
+OnInit:
+ disablenpc "Warp#1-4";
+ end;
+
+OnEnable:
+ enablenpc "Warp#1-4";
+ specialeffect 561; //"Warp#1-4" 561
+ soundeffectall "jupe_warp.wav",0;
+ initnpctimer;
+ end;
+
+OnTouch:
+ warp "jupe_area1",83,157;
+ end;
+
+OnTimer5000:
+ disablenpc "Warp#1-4";
+ end;
+}
+
+jupe_area1,83,157,0 script Red Alarm#1-4 -1,2,2,{
+OnInit:
+ disablenpc "Red Alarm#1-4";
+ end;
+
+OnEnable:
+ enablenpc "Red Alarm#1-4";
+ end;
+
+OnTouch:
+ set $@JupreArea1InUse,1;
+ donpcevent "Red Alarm On#1-4::OnEnable";
+ disablenpc "Red Alarm#1-4";
+ disablenpc "#hole#1-4";
+ end;
+}
+
+- script Red Alarm On#1-4 -1,{
+OnInit:
+ disablenpc "Red Alarm On#1-4";
+ end;
+
+OnEnable:
+ enablenpc "Red Alarm On#1-4";
+ initnpctimer;
+ end;
+
+OnTimer1000:
+ mapannounce "jupe_area1","I've been waiting for someone strong enough to compete with me.",bc_map,"0xFF0000";
+ end;
+
+OnTimer3000:
+ mapannounce "jupe_area1","If you hear this, I wish you will be the one...",bc_map,"0xFF0000";
+ disablenpc "#hole#1-4";
+ end;
+
+OnTimer5000:
+ mapannounce "jupe_area1","Perhaps, a mere shadow of my former self...",bc_map,"0xFF0000";
+ donpcevent "Monster1#1-4::OnEnable";
+ end;
+
+OnTimer7000:
+ mapannounce "jupe_area1","Is somewhere down here, wandering...",bc_map,"0xFF0000";
+ end;
+
+OnTimer8000:
+ disablenpc "Red Alarm On#1-4";
+ end;
+}
+
+- script Monster1#1-4 -1,{
+OnInit:
+ disablenpc "Monster1#1-4";
+ end;
+
+Onreset:
+ killmonster "jupe_area1","Monster1#1-4::OnMyMobDead";
+ end;
+
+OnEnable:
+ initnpctimer;
+ enablenpc "Monster1#1-4";
+ set .MyMobs,8;
+ monster "jupe_area1",92,154,"Security Guard",1669,1,"Monster1#1-4::OnMyMobDead";
+ monster "jupe_area1",96,154,"Security Guard",1675,1,"Monster1#1-4::OnMyMobDead";
+ monster "jupe_area1",100,154,"Security Guard",1669,1,"Monster1#1-4::OnMyMobDead";
+ monster "jupe_area1",104,154,"Security Guard",1675,1,"Monster1#1-4::OnMyMobDead";
+ monster "jupe_area1",92,161,"Security Guard",1669,1,"Monster1#1-4::OnMyMobDead";
+ monster "jupe_area1",96,161,"Security Guard",1675,1,"Monster1#1-4::OnMyMobDead";
+ monster "jupe_area1",100,161,"Security Guard",1669,1,"Monster1#1-4::OnMyMobDead";
+ monster "jupe_area1",104,161,"Security Guard",1675,1,"Monster1#1-4::OnMyMobDead";
+ end;
+
+OnTimer300000:
+ mapannounce "jupe_area1","Zzzzt...Zzzzt....",bc_map,"0xFF0000";
+ set $@JupreArea1InUse,0;
+ end;
+
+OnTimer300002:
+ disablenpc "Monster1#1-4";
+ enablenpc "#hole#1-4";
+ end;
+
+OnMyMobDead:
+ set .MyMobs,.MyMobs-1;
+ if (.MyMobs < 1) {
+ donpcevent "Monster2#1-4::OnEnable";
+ disablenpc "Monster1#1-4";
+ stopnpctimer;
+ }
+ end;
+}
+
+- script Monster2#1-4 -1,{
+OnInit:
+ disablenpc "Monster2#1-4";
+ end;
+
+Onreset:
+ killmonster "jupe_area1","Monster2#1-4::OnMyMobDead";
+ end;
+
+OnEnable:
+ initnpctimer;
+ end;
+
+OnTimer2000:
+ mapannounce "jupe_area1","I can never rest in peace...",bc_map,"0xFF0000";
+ end;
+
+OnTimer4000:
+ mapannounce "jupe_area1","I'll wait forever or until someone can put me out of my misery...",bc_map,"0xFF0000";
+ end;
+
+OnTimer6000:
+ mapannounce "jupe_area1","I will be waiting for you!",bc_map,"0xFF0000";
+ enablenpc "Monster2#1-4";
+ set .MyMobs,10;
+ monster "jupe_area1",104,161,"Security Guard",1675,1,"Monster2#1-4::OnMyMobDead";
+ monster "jupe_area1",108,161,"Security Guard",1669,1,"Monster2#1-4::OnMyMobDead";
+ monster "jupe_area1",111,161,"Security Guard",1675,1,"Monster2#1-4::OnMyMobDead";
+ monster "jupe_area1",112,161,"Security Guard",1669,1,"Monster2#1-4::OnMyMobDead";
+ monster "jupe_area1",115,161,"Security Guard",1675,1,"Monster2#1-4::OnMyMobDead";
+ monster "jupe_area1",104,154,"Security Guard",1669,1,"Monster2#1-4::OnMyMobDead";
+ monster "jupe_area1",108,154,"Security Guard",1675,1,"Monster2#1-4::OnMyMobDead";
+ monster "jupe_area1",111,154,"Security Guard",1669,1,"Monster2#1-4::OnMyMobDead";
+ monster "jupe_area1",112,154,"Security Guard",1675,1,"Monster2#1-4::OnMyMobDead";
+ monster "jupe_area1",115,154,"Security Guard",1669,1,"Monster2#1-4::OnMyMobDead";
+ end;
+
+OnTimer300000:
+ mapannounce "jupe_area1","It's funny... Isn't it?",bc_map,"0xFF0000";
+ disablenpc "Monster2#1-4";
+ enablenpc "#hole#1-4";
+ disablenpc "Red Alarm#1-4";
+ set $@JupreArea1InUse,0;
+ end;
- monster "juperos_02",24,276,"1st Gate Switch",1674,1,"JuperosLvl2QuestInit::OnGate1Dead";
- monster "juperos_02",240,29,"2nd Gate Switch",1674,1,"JuperosLvl2QuestInit::OnGate2Dead";
- monster "juperos_02",282,183,"3rd Gate Switch",1674,1,"JuperosLvl2QuestInit::OnGate3Dead";
+OnTimer300002:
+ disablenpc "Monster2#1-4";
+ end;
+
+OnMyMobDead:
+ set .MyMobs,.MyMobs-1;
+ if (.MyMobs < 1) {
+ mapannounce "jupe_area1","It's funny... Isn't it?",bc_map,"0xFF0000";
+ disablenpc "Monster2#1-4";
+ enablenpc "#hole#1-4";
+ disablenpc "Red Alarm#1-4";
+ set $@JupreArea1InUse,0;
+ stopnpctimer;
+ }
+ end;
+}
+
+//============================================================
+// Move to Elevator
+//============================================================
+jupe_area1,112,162,0 script Lever#ufe 844,{
+ mes "^3355FFIt's a lever";
+ mes "whose function";
+ mes "is not known to you.^000000";
+ next;
+ switch(select("Pull.:Cancel.")) {
+ case 1:
+ initnpctimer;
+ donpcevent "LeverWarp#ufe::OnEnable";
+ disablenpc "Lever#ufe";
+ close;
+ case 2:
+ mes "[" + strcharinfo(0) + "]";
+ mes "Pull this lever?";
+ mes "I don't even know";
+ mes "what will happen...";
+ close;
+ }
+ close;
+
+Onstop_timer:
+ stopnpctimer;
+ end;
+
+OnTimer3000:
+ enablenpc "Lever#ufe";
+ end;
+}
+
+jupe_area1,117,157,0 script LeverWarp#ufe 139,2,2,{
+OnInit:
+ disablenpc "LeverWarp#ufe";
+ end;
+
+Onreset:
+ disablenpc "LeverWarp#ufe";
+ end;
+
+OnEnable:
+ enablenpc "LeverWarp#ufe";
+ specialeffect 561; //"LeverWarp#ufe" 561
+ soundeffectall "jupe_warp.wav",0;
+ initnpctimer;
+ end;
+
+OnTouch:
+ warp "jupe_gate",28,30;
+ end;
+
+OnTimer3000:
+ disablenpc "LeverWarp#ufe";
+ end;
+}
+
+//============================================================
+// Security Checkpoint 2-1
+//============================================================
+jupe_area2,74,224,0 script #hole#2-1 844,{
+ cutin "1",2;
+ if ($@JupreArea1InUse2 == 1) {
+ mes "^3355FFThis seems like";
+ mes "some kind of device";
+ mes "that will allow you to";
+ mes "pass to the other side.";
+ mes "There's a slot where you";
+ mes "probably need to insert";
+ mes "some kind of object...^000000";
+ close2;
+ cutin "1",255;
+ end;
+ }
+ else if (countitem(7356) > 0 || countitem(7359) > 0 || countitem(7357) > 0 || countitem(7358) > 0) {
+ mes "^3355FFThis seems like";
+ mes "some akind of device";
+ mes "that will allow you to";
+ mes "pass to the other side.";
+ mes "There's a slot where you";
+ mes "probably need to insert";
+ mes "some kind of object...^000000";
+ next;
+ switch(select("Insert a Crest Piece.:Cancel.")) {
+ case 1:
+ if (countitem(7356) > 0) {
+ mes "^3355FFYou take out your";
+ mes "Crest Piece and place";
+ mes "it into the slot where it";
+ mes "happens to fit perfectly.^000000";
+ specialeffect 159; //"#hole#2-1" EF_TOPRANK
+ cutin "1-1",2;
+ next;
+ if ($@JupreArea1InUse2 == 1) {
+ mes "^3355FFNothing happens.";
+ mes "Perhaps an alarm or";
+ mes "some other safety measure";
+ mes "was activated to keep the";
+ mes "Crest Piece from activating";
+ mes "this transportation device.";
+ mes "You retrieve the Crest Piece.^000000";
+ close2;
+ cutin "1-1",255;
+ end;
+ }
+ else {
+ mes "^3355FFThe slot rotates and";
+ mes "the Crest Piece moves as";
+ mes "if it were turning a key. You";
+ mes "feel a weak tremor as a Warp";
+ mes "Portal to the other side is";
+ mes "activated. You then retrieve";
+ mes "your Crest Piece.^000000";
+ initnpctimer;
+ donpcevent "Warp#2-1::OnEnable";
+ enablenpc "Red Alarm#2-1";
+ disablenpc "#hole#2-1";
+ close2;
+ cutin "1-1",255;
+ end;
+ }
+ }
+ else {
+ mes "^3355FFUnfortunately, you're";
+ mes "not carrying anything";
+ mes "that might be able to fit";
+ mes "into the slot and activate";
+ mes "this mechanical device.^000000";
+ close2;
+ cutin "1",255;
+ end;
+ }
+ case 2:
+ mes "[" + strcharinfo(0) + "]";
+ mes "Hmmm...";
+ mes "Do I have anything";
+ mes "that might make this";
+ mes "weird machine work?";
+ close2;
+ cutin "1",255;
+ end;
+ }
+ close;
+ }
+ else {
+ mes "^3355FFThis seems like";
+ mes "some kind of device";
+ mes "that will allow you to";
+ mes "pass to the other side.";
+ mes "There's a slot where you";
+ mes "probably need to insert";
+ mes "some kind of object...^000000";
+ close2;
+ cutin "1",255;
+ end;
+ }
+
+Onstop_timer:
+ stopnpctimer;
+ end;
+
+OnTimer22500:
+ enablenpc "#hole#2-1";
+ disablenpc "Red Alarm#2-1";
+ end;
+}
+
+jupe_area2,80,221,0 script Warp#2-1 139,2,2,{
+OnInit:
+ disablenpc "Warp#2-1";
+ end;
+
+OnEnable:
+ enablenpc "Warp#2-1";
+ specialeffect 561; //"Warp#2-1" 561
+ soundeffectall "jupe_warp.wav",0;
+ initnpctimer;
+ end;
+
+OnTouch:
+ warp "jupe_area2",116,259;
+ end;
+
+OnTimer22500:
+ disablenpc "Warp#2-1";
+ end;
+}
+
+jupe_area2,116,259,0 script Red Alarm#2-1 -1,2,2,{
+OnInit:
+ disablenpc "Red Alarm#2-1";
+ end;
+
+OnTouch:
+ set $@JupreArea1InUse2,1;
+ donpcevent "Red Alarm On#2-1::OnEnable";
+ disablenpc "Red Alarm#2-1";
+ donpcevent "#hole#2-1::Onstop_timer";
+ end;
+}
+
+- script Red Alarm On#2-1 -1,{
+OnInit:
+ disablenpc "Red Alarm On#2-1";
+ end;
+
+OnEnable:
+ enablenpc "Red Alarm On#2-1";
+ initnpctimer;
+ end;
+
+OnTimer1000:
+ mapannounce "jupe_area2","Those of you who have come here...",bc_map,"0xFF0000";
+ end;
+
+OnTimer3000:
+ mapannounce "jupe_area2","I do not intend to stop you.",bc_map,"0xFF0000";
+ soundeffectall "jupe_warning.wav",0,"jupe_area2";
+ soundeffectall "jupe_warning.wav",0,"jupe_area2";
+ disablenpc "#hole#2-1";
+ end;
+
+OnTimer5000:
+ mapannounce "jupe_area2","But I assume you are prepared for a few obstacles...",bc_map,"0xFF0000";
+ donpcevent "Monster1#2-1::OnEnable";
+ end;
+
+OnTimer7000:
+ mapannounce "jupe_area2","After all, you are venturing through a forbidden area!",bc_map,"0xFF0000";
+ end;
+
+OnTimer8000:
+ disablenpc "Red Alarm On#2-1";
+ soundeffectall "jupe_warning.wav",0,"jupe_area2";
+ soundeffectall "jupe_warning.wav",0,"jupe_area2";
+ end;
+}
+
+- script Monster1#2-1 -1,{
+OnInit:
+ disablenpc "Monster1#2-1";
+ end;
+
+Onreset:
+ killmonster "jupe_area2","Monster1#2-1::OnMyMobDead";
+ end;
+
+OnEnable:
+ enablenpc "Monster1#2-1";
+ initnpctimer;
+ set .MyMobs,8;
+ monster "jupe_area2",126,252,"Security Guard",1669,1,"Monster1#2-1::OnMyMobDead";
+ monster "jupe_area2",127,252,"Security Guard",1675,1,"Monster1#2-1::OnMyMobDead";
+ monster "jupe_area2",128,252,"Security Guard",1669,1,"Monster1#2-1::OnMyMobDead";
+ monster "jupe_area2",129,252,"Security Guard",1675,1,"Monster1#2-1::OnMyMobDead";
+ monster "jupe_area2",130,252,"Security Guard",1669,1,"Monster1#2-1::OnMyMobDead";
+ monster "jupe_area2",131,252,"Security Guard",1675,1,"Monster1#2-1::OnMyMobDead";
+ monster "jupe_area2",132,252,"Security Guard",1669,1,"Monster1#2-1::OnMyMobDead";
+ monster "jupe_area2",133,252,"Security Guard",1675,1,"Monster1#2-1::OnMyMobDead";
+ end;
+
+OnTimer300000:
+ mapannounce "jupe_area2","Do you realize this is a hallucination?",bc_map,"0xFF0000";
+ set $@JupreArea1InUse2,0;
+ end;
+
+OnTimer300002:
+ disablenpc "Monster1#2-1";
+ enablenpc "#hole#2-1";
+ end;
+
+OnMyMobDead:
+ set .MyMobs,.MyMobs-1;
+ if (.MyMobs < 1) {
+ donpcevent "Monster2#2-1::OnEnable";
+ disablenpc "Monster1#2-1";
+ stopnpctimer;
+ }
+ end;
+}
+
+- script Monster2#2-1 -1,{
+OnInit:
+ disablenpc "Monster2#2-1";
+ end;
+
+Onreset:
+ killmonster "jupe_area2","Monster2#2-1::OnMyMobDead";
+ end;
+
+OnEnable:
+ enablenpc "Monster2#2-1";
+ initnpctimer;
+ end;
+
+OnTimer2000:
+ mapannounce "jupe_area2","How about now?",bc_map,"0xFF0000";
+ soundeffectall "jupe_warning.wav",0,"jupe_area2";
+ soundeffectall "jupe_warning.wav",0,"jupe_area2";
+ end;
+
+OnTimer4000:
+ mapannounce "jupe_area2","Let me see...",bc_map,"0xFF0000";
+ end;
+
+OnTimer7000:
+ mapannounce "jupe_area2","Just how strong you are!",bc_map,"0xFF0000";
+ soundeffectall "jupe_warning.wav",0,"jupe_area2";
+ soundeffectall "jupe_warning.wav",0,"jupe_area2";
+ set .MyMobs,8;
+ monster "jupe_area2",126,236,"Security Guard",1675,1,"Monster2#2-1::OnMyMobDead";
+ monster "jupe_area2",127,236,"Security Guard",1669,1,"Monster2#2-1::OnMyMobDead";
+ monster "jupe_area2",128,236,"Security Guard",1675,1,"Monster2#2-1::OnMyMobDead";
+ monster "jupe_area2",129,236,"Security Guard",1669,1,"Monster2#2-1::OnMyMobDead";
+ monster "jupe_area2",130,236,"Security Guard",1675,1,"Monster2#2-1::OnMyMobDead";
+ monster "jupe_area2",131,236,"Security Guard",1669,1,"Monster2#2-1::OnMyMobDead";
+ monster "jupe_area2",132,236,"Security Guard",1675,1,"Monster2#2-1::OnMyMobDead";
+ monster "jupe_area2",133,236,"Security Guard",1669,1,"Monster2#2-1::OnMyMobDead";
+ end;
+
+OnTimer300000:
+ mapannounce "jupe_area2","Bwahaha! You're only good at running away!",bc_map,"0xFF0000";
+ disablenpc "Monster2#2-1";
+ enablenpc "#hole#2-1";
+ disablenpc "Red Alarm#2-1";
+ set $@JupreArea1InUse2,0;
+ end;
+
+OnTimer300002:
+ donpcevent "Monster2#2-1::OnDisable";
+ end;
+
+OnMyMobDead:
+ set .MyMobs,.MyMobs-1;
+ if (.MyMobs < 1) {
+ mapannounce "jupe_area2","Zzzzt. Zzzzt..... ",bc_map,"0xFF0000";
+ disablenpc "Monster2#2-1";
+ enablenpc "#hole#2-1";
+ disablenpc "Red Alarm#2-1";
+ set $@JupreArea1InUse2,0;
+ stopnpctimer;
+ }
+ end;
+}
+
+//============================================================
+// Security Checkpoint 2-2
+//============================================================
+jupe_area2,138,238,0 script #hole#2-2 844,{
+ cutin "2",2;
+ if ($@JupreArea1InUse2 == 1) {
+ mes "^3355FFThis seems like";
+ mes "some kind of device";
+ mes "that will allow you to";
+ mes "pass to the other side.";
+ mes "There's a slot where you";
+ mes "probably need to insert";
+ mes "some kind of object...^000000";
+ close2;
+ cutin "2",255;
+ end;
+ }
+ else if (countitem(7356) > 0 || countitem(7359) > 0 || countitem(7357) > 0 || countitem(7358) > 0) {
+ mes "^3355FFThis seems like";
+ mes "some kind of device";
+ mes "that will allow you to";
+ mes "pass to the other side.";
+ mes "There's a slot where you";
+ mes "probably need to insert";
+ mes "some kind of object...^000000";
+ next;
+ switch(select("Insert a Crest Piece.:Cancel.")) {
+ case 1:
+ if (countitem(7357) > 0) {
+ mes "^3355FFYou take out your";
+ mes "Crest Piece and place";
+ mes "it into the slot where it";
+ mes "happens to fit perfectly.^000000";
+ specialeffect 159; //"#hole#2-2" EF_TOPRANK
+ cutin "2-1",2;
+ next;
+ if ($@JupreArea1InUse2 == 1) {
+ mes "^3355FFNothing happens.";
+ mes "Perhaps an alarm or";
+ mes "some other safety measure";
+ mes "was activated to keep the";
+ mes "Crest Piece from activating";
+ mes "this transportation device.";
+ mes "You retrieve the Crest Piece.^000000";
+ close2;
+ cutin "2-1",255;
+ end;
+ }
+ else {
+ mes "^3355FFThe slot rotates and";
+ mes "the Crest Piece moves as";
+ mes "if it were turning a key. You";
+ mes "feel a weak tremor as a Warp";
+ mes "Portal to the other side is";
+ mes "activated. You then retrieve";
+ mes "your Crest Piece.^000000";
+ initnpctimer;
+ donpcevent "Warp#2-2::OnEnable";
+ enablenpc "Red Alarm#2-2";
+ disablenpc "#hole#2-2";
+ close2;
+ cutin "2-1",255;
+ end;
+ }
+ }
+ else {
+ mes "^3355FFUnfortunately, you're";
+ mes "not carrying anything";
+ mes "that might be able to fit";
+ mes "into the slot and activate";
+ mes "this mechanical device.^000000";
+ close2;
+ cutin "2",255;
+ end;
+ }
+ break;
+ case 2:
+ mes "[" + strcharinfo(0) + "]";
+ mes "Hmmm...";
+ mes "Do I have anything";
+ mes "that might make this";
+ mes "weird machine work?";
+ close2;
+ cutin "2",255;
+ end;
+ }
+ close;
+ }
+ else {
+ mes "^3355FFThis seems like";
+ mes "some kind of device";
+ mes "that will allow you to";
+ mes "pass to the other side.";
+ mes "There's a slot where you";
+ mes "probably need to insert";
+ mes "some kind of object...^000000";
+ close2;
+ cutin "2",255;
end;
+ }
+ end;
+
+Onstop_timer:
+ stopnpctimer;
+ end;
+
+OnTimer22500:
+ enablenpc "#hole#2-2";
+ disablenpc "Red Alarm#2-2";
+ end;
+}
-OnGate1Dead:
+jupe_area2,142,225,0 script Warp#2-2 139,2,2,{
+OnInit:
+ disablenpc "Warp#2-2";
+ end;
+
+OnEnable:
+ enablenpc "Warp#2-2";
+ specialeffect 561; //"Warp#2-2" 561
+ soundeffectall "jupe_warp.wav",0;
+ initnpctimer;
+ end;
+
+OnTouch:
+ warp "jupe_area2",142,191;
+ end;
+
+OnTimer22500:
+ disablenpc "Warp#2-2";
+ end;
+}
+
+jupe_area2,142,191,0 script Red Alarm#2-2 -1,2,2,{
+OnInit:
+ disablenpc "Red Alarm#2-2";
+ end;
+
+OnTouch:
+ set $@JupreArea1InUse2,1;
+ donpcevent "Red Alarm On#2-2::OnEnable";
+ disablenpc "Red Alarm#2-2";
+ disablenpc "#hole#2-2";
+ end;
+}
+
+- script Red Alarm On#2-2 -1,{
+OnInit:
+ disablenpc "Red Alarm On#2-2";
+ end;
+
+OnEnable:
+ enablenpc "Red Alarm On#2-2";
+ initnpctimer;
+ end;
+
+OnTimer1000:
+ mapannounce "jupe_area2","Come on, come on!",bc_map,"0xFF0000";
+ end;
+
+OnTimer3000:
+ mapannounce "jupe_area2","Yes. Run... Right into my hands!",bc_map,"0xFF0000";
+ disablenpc "#hole#2-2";
+ end;
+
+OnTimer5000:
+ mapannounce "jupe_area2","Do you want to know who I am?",bc_map,"0xFF0000";
+ donpcevent "Monster1#2-2::OnEnable";
+ end;
+
+OnTimer7000:
+ mapannounce "jupe_area2","You will know, once you defeat all of my minions!",bc_map,"0xFF0000";
+ end;
+
+OnTimer8000:
+ disablenpc "Red Alarm On#2-2";
+ end;
+}
+
+- script Monster1#2-2 -1,{
+OnInit:
+ disablenpc "Monster1#2-2";
+ end;
+
+Onreset:
+ killmonster "jupe_area2","Monster1#2-2::OnMyMobDead";
+ end;
- mapannounce "juperos_02","Have you come seeking Juperos?! It no longer exists...",1,0xFF0000;
- set $JupeGate1,1;
- if($JupeGate1 && $JupeGate2 && $JupeGate3)goto s_WarpOpen;
+OnEnable:
+ initnpctimer;
+ enablenpc "Monster1#2-2";
+ set .MyMobs,8;
+ monster "jupe_area2",126,176,"High Guard",1669,1,"Monster1#2-2::OnMyMobDead";
+ monster "jupe_area2",127,176,"High Guard",1675,1,"Monster1#2-2::OnMyMobDead";
+ monster "jupe_area2",128,176,"High Guard",1669,1,"Monster1#2-2::OnMyMobDead";
+ monster "jupe_area2",129,176,"High Guard",1675,1,"Monster1#2-2::OnMyMobDead";
+ monster "jupe_area2",130,176,"High Guard",1669,1,"Monster1#2-2::OnMyMobDead";
+ monster "jupe_area2",131,176,"High Guard",1675,1,"Monster1#2-2::OnMyMobDead";
+ monster "jupe_area2",132,176,"High Guard",1669,1,"Monster1#2-2::OnMyMobDead";
+ monster "jupe_area2",133,176,"High Guard",1675,1,"Monster1#2-2::OnMyMobDead";
end;
-OnGate2Dead:
+OnTimer300000:
+ mapannounce "jupe_area2","I can't believe how cowardly you really are...",bc_map,"0xFF0000";
+ set $@JupreArea1InUse2,0;
+ end;
- mapannounce "juperos_02","Who are you to come here?",1,0xFF0000;
- set $JupeGate2,1;
- if($JupeGate1 && $JupeGate2 && $JupeGate3)goto s_WarpOpen;
+OnTimer300002:
+ disablenpc "Monster1#2-2";
+ enablenpc "#hole#2-2";
+ end;
+
+OnMyMobDead:
+ set .MyMobs,.MyMobs-1;
+ if (.MyMobs < 1) {
+ donpcevent "Monster2#2-2::OnEnable";
+ disablenpc "Monster1#2-2";
+ stopnpctimer;
+ }
end;
+}
-OnGate3Dead:
+- script Monster2#2-2 -1,{
+OnInit:
+ disablenpc "Monster2#2-2";
+ end;
- mapannounce "juperos_02","Have you come to see me? Fine! Find me first!",1,0xFF0000;
- set $JupeGate3,1;
- if($JupeGate1 && $JupeGate2 && $JupeGate3)goto s_WarpOpen;
+Onreset:
+ killmonster "jupe_area2","Monster2#2-2::OnMyMobDead";
end;
-s_WarpOpen:
- attachnpctimer;
+OnEnable:
initnpctimer;
+ end;
+
+OnTimer2000:
+ mapannounce "jupe_area2","I was the head of this underground laboratory.",bc_map,"0xFF0000";
+ end;
+
+OnTimer4000:
+ mapannounce "jupe_area2","But that was a long time ago, back when I was merely a human.",bc_map,"0xFF0000";
+ end;
+
+OnTimer6000:
+ mapannounce "jupe_area2","I was called Vesper Newton. Hahah, they called me a mad man back then.",bc_map,"0xFF0000";
+ enablenpc "Monster2#2-2";
+ set .MyMobs,13;
+ monster "jupe_area2",126,156,"Security Guard",1675,1,"Monster2#2-2::OnMyMobDead";
+ monster "jupe_area2",127,156,"Security Guard",1669,1,"Monster2#2-2::OnMyMobDead";
+ monster "jupe_area2",128,156,"Security Guard",1675,1,"Monster2#2-2::OnMyMobDead";
+ monster "jupe_area2",129,156,"Security Guard",1669,1,"Monster2#2-2::OnMyMobDead";
+ monster "jupe_area2",130,156,"Security Guard",1675,1,"Monster2#2-2::OnMyMobDead";
+ monster "jupe_area2",131,156,"Security Guard",1669,1,"Monster2#2-2::OnMyMobDead";
+ monster "jupe_area2",132,156,"Security Guard",1675,1,"Monster2#2-2::OnMyMobDead";
+ monster "jupe_area2",133,156,"Security Guard",1669,1,"Monster2#2-2::OnMyMobDead";
+ monster "jupe_area2",133,156,"Security Guard",1675,1,"Monster2#2-2::OnMyMobDead";
+ monster "jupe_area2",127,152,"Security Guard",1669,1,"Monster2#2-2::OnMyMobDead";
+ monster "jupe_area2",129,152,"Security Guard",1675,1,"Monster2#2-2::OnMyMobDead";
+ monster "jupe_area2",130,152,"Security Guard",1669,1,"Monster2#2-2::OnMyMobDead";
+ monster "jupe_area2",132,152,"Security Guard",1675,1,"Monster2#2-2::OnMyMobDead";
+ end;
+
+OnTimer300000:
+ mapannounce "jupe_area2","...Not yet.",bc_map,"0xFF0000";
+ disablenpc "Monster2#2-2";
+ enablenpc "#hole#2-2";
+ disablenpc "Red Alarm#2-2";
+ set $@JupreArea1InUse2,0;
+ end;
+
+OnTimer300002:
+ donpcevent "Monster2#2-2::OnDisable";
+ end;
+
+OnMyMobDead:
+ set .MyMobs,.MyMobs-1;
+ if (.MyMobs < 1) {
+ mapannounce "jupe_area2","Not yet!",bc_map,"0xFF0000";
+ disablenpc "Monster2#2-2";
+ enablenpc "#hole#2-2";
+ disablenpc "Red Alarm#2-2";
+ set $@JupreArea1InUse2,0;
+ stopnpctimer;
+ }
+ end;
+}
+
+//============================================================
+// Security Checkpoint 2-3
+//============================================================
+jupe_area2,127,146,0 script #hole#2-3 844,{
+ cutin "3",2;
+ if ($@JupreArea1InUse2 == 1) {
+ mes "^3355FFThis seems like";
+ mes "some kind of device";
+ mes "that will allow you to";
+ mes "pass to the other side.";
+ mes "There's a slot where you";
+ mes "probably need to insert";
+ mes "some kind of object...^000000";
+ close2;
+ cutin "3",255;
end;
- OnTimer3000:
- mapannounce "juperos_02","Vroom! Vroom!",1,0xBA55D3;
+ }
+ else if (countitem(7356) > 0 || countitem(7359) > 0 || countitem(7357) > 0 || countitem(7358) > 0) {
+ mes "^3355FFThis seems like";
+ mes "some kind of device";
+ mes "that will allow you to";
+ mes "pass to the other side.";
+ mes "There's a slot where you";
+ mes "probably need to insert";
+ mes "some kind of object...^000000";
+ next;
+ switch(select("Insert a Crest Piece.:Cancel.")) {
+ case 1:
+ if (countitem(7358) > 0) {
+ mes "^3355FFYou take out your";
+ mes "Crest Piece and place";
+ mes "it into the slot where it";
+ mes "happens to fit perfectly.^000000";
+ specialeffect 159; //"#hole#2-3" EF_TOPRANK
+ cutin "3-1",2;
+ next;
+ if ($@JupreArea1InUse2 == 1) {
+ mes "^3355FFNothing happens.";
+ mes "Perhaps an alarm or";
+ mes "some other safety measure";
+ mes "was activated to keep the";
+ mes "Crest Piece from activating";
+ mes "this transportation device.";
+ mes "You retrieve the Crest Piece.^000000";
+ close2;
+ cutin "3-1",255;
+ end;
+ }
+ else {
+ mes "^3355FFThe slot rotates and";
+ mes "the Crest Piece moves as";
+ mes "if it were turning a key. You";
+ mes "feel a weak tremor as a Warp";
+ mes "Portal to the other side is";
+ mes "activated. You then retrieve";
+ mes "your Crest Piece.^000000";
+ initnpctimer;
+ donpcevent "Warp#2-3::OnEnable";
+ enablenpc "Red Alarm#2-3";
+ disablenpc "#hole#2-3";
+ close2;
+ cutin "3-1",255;
+ end;
+ }
+ }
+ else {
+ mes "^3355FFUnfortunately, you're";
+ mes "not carrying anything";
+ mes "that might be able to fit";
+ mes "into the slot and activate";
+ mes "this mechanical device.^000000";
+ close2;
+ cutin "3",255;
+ end;
+ }
+ case 2:
+ mes "[" + strcharinfo(0) + "]";
+ mes "Hmmm...";
+ mes "Do I have anything";
+ mes "that might make this";
+ mes "weird machine work?";
+ close2;
+ cutin "3",255;
+ end;
+ }
+ }
+ else {
+ mes "^3355FFThis seems like";
+ mes "some kind of device";
+ mes "that will allow you to";
+ mes "pass to the other side.";
+ mes "There's a slot where you";
+ mes "probably need to insert";
+ mes "some kind of object...^000000";
+ close2;
+ cutin "3",255;
end;
- OnTimer6000:
- mapannounce "juperos_02","Attention, visitors.",1,0xBA55D3;
+ }
+ end;
+
+Onstop_timer:
+ stopnpctimer;
+ end;
+
+OnTimer22500:
+ enablenpc "#hole#2-3";
+ disablenpc "Red Alarm#2-3";
+ end;
+}
+
+jupe_area2,130,137,0 script Warp#2-3 139,2,2,{
+OnInit:
+ disablenpc "Warp#2-3";
+ end;
+
+OnEnable:
+ enablenpc "Warp#2-3";
+ specialeffect 561; //"Warp#2-3" 561
+ soundeffectall "jupe_warp.wav",0;
+ initnpctimer;
+ end;
+
+OnTouch:
+ warp "jupe_area2",130,105;
+ end;
+
+OnTimer22500:
+ disablenpc "Warp#2-3";
+ end;
+}
+
+jupe_area2,130,105,0 script Red Alarm#2-3 -1,0,4,{
+OnInit:
+ disablenpc "Red Alarm#2-3";
+ end;
+
+OnTouch:
+ set $@JupreArea1InUse2,1;
+ donpcevent "Red Alarm On#2-3::OnEnable";
+ disablenpc "Red Alarm#2-3";
+ disablenpc "#hole#2-3";
+ end;
+}
+
+- script Red Alarm On#2-3 -1,{
+OnInit:
+ disablenpc "Red Alarm On#2-3";
+ end;
+
+OnEnable:
+ enablenpc "Red Alarm On#2-3";
+ initnpctimer;
+ end;
+
+OnTimer1000:
+ mapannounce "jupe_area2","These security systems...",bc_map,"0xFF0000";
+ end;
+
+OnTimer3000:
+ mapannounce "jupe_area2","They're not really for protection.",bc_map,"0xFF0000";
+ disablenpc "#hole#2-3";
+ end;
+
+OnTimer5000:
+ mapannounce "jupe_area2","It's sort of just a hobby to pass the time...",bc_map,"0xFF0000";
+ donpcevent "Monster1#2-3::OnEnable";
+ end;
+
+OnTimer7000:
+ mapannounce "jupe_area2","Being immortal, I have a lot of time on my hands...",bc_map,"0xFF0000";
+ end;
+
+OnTimer8000:
+ disablenpc "Red Alarm On#2-3";
+ end;
+}
+
+- script Monster1#2-3 -1,{
+OnInit:
+ disablenpc "Monster1#2-3";
+ end;
+
+Onreset:
+ killmonster "jupe_area2","Monster1#2-3::OnMyMobDead";
+ end;
+
+OnEnable:
+ initnpctimer;
+ enablenpc "Monster1#2-3";
+ set .MyMobs,8;
+ monster "jupe_area2",126,89,"Security Guard",1675,1,"Monster1#2-3::OnMyMobDead";
+ monster "jupe_area2",127,89,"Security Guard",1669,1,"Monster1#2-3::OnMyMobDead";
+ monster "jupe_area2",128,89,"Security Guard",1675,1,"Monster1#2-3::OnMyMobDead";
+ monster "jupe_area2",129,89,"Security Guard",1669,1,"Monster1#2-3::OnMyMobDead";
+ monster "jupe_area2",130,89,"Security Guard",1675,1,"Monster1#2-3::OnMyMobDead";
+ monster "jupe_area2",131,89,"Security Guard",1669,1,"Monster1#2-3::OnMyMobDead";
+ monster "jupe_area2",132,89,"Security Guard",1675,1,"Monster1#2-3::OnMyMobDead";
+ monster "jupe_area2",133,89,"Security Guard",1669,1,"Monster1#2-3::OnMyMobDead";
+ end;
+
+OnTimer300000:
+ mapannounce "jupe_area2","Zzzzt...Zzzzt....",bc_map,"0xFF0000";
+ set $@JupreArea1InUse2,0;
+ end;
+
+OnTimer300002:
+ disablenpc "Monster1#2-3";
+ enablenpc "#hole#2-3";
+ end;
+
+OnMyMobDead:
+ set .MyMobs,.MyMobs-1;
+ if (.MyMobs < 1) {
+ donpcevent "Monster2#2-3::OnEnable";
+ disablenpc "Monster1#2-3";
+ stopnpctimer;
+ }
+ end;
+}
+
+- script Monster2#2-3 -1,{
+OnInit:
+ disablenpc "Monster2#2-3";
+ end;
+
+Onreset:
+ killmonster "jupe_area2","Monster2#2-3::OnMyMobDead";
+ end;
+
+OnEnable:
+ initnpctimer;
+ end;
+
+OnTimer2000:
+ mapannounce "jupe_area2","Why have you come?",bc_map,"0xFF0000";
+ end;
+
+OnTimer5000:
+ mapannounce "jupe_area2","Were you hoping to find something wonderful? Something miraculous?",bc_map,"0xFF0000";
+ end;
+
+OnTimer8000:
+ mapannounce "jupe_area2","You're wrong! Welcome to Hell!",bc_map,"0xFF0000";
+ enablenpc "Monster2#2-3";
+ set .MyMobs,16;
+ monster "jupe_area2",114,64,"Security Guard",1675,1,"Monster2#2-3::OnMyMobDead";
+ monster "jupe_area2",115,64,"Security Guard",1669,1,"Monster2#2-3::OnMyMobDead";
+ monster "jupe_area2",116,64,"Security Guard",1675,1,"Monster2#2-3::OnMyMobDead";
+ monster "jupe_area2",117,64,"Security Guard",1669,1,"Monster2#2-3::OnMyMobDead";
+ monster "jupe_area2",118,64,"Security Guard",1675,1,"Monster2#2-3::OnMyMobDead";
+ monster "jupe_area2",119,64,"Security Guard",1669,1,"Monster2#2-3::OnMyMobDead";
+ monster "jupe_area2",120,64,"Security Guard",1675,1,"Monster2#2-3::OnMyMobDead";
+ monster "jupe_area2",121,64,"Security Guard",1669,1,"Monster2#2-3::OnMyMobDead";
+ monster "jupe_area2",114,62,"Security Guard",1675,1,"Monster2#2-3::OnMyMobDead";
+ monster "jupe_area2",115,62,"Security Guard",1669,1,"Monster2#2-3::OnMyMobDead";
+ monster "jupe_area2",116,62,"Security Guard",1675,1,"Monster2#2-3::OnMyMobDead";
+ monster "jupe_area2",117,62,"Security Guard",1669,1,"Monster2#2-3::OnMyMobDead";
+ monster "jupe_area2",118,62,"Security Guard",1675,1,"Monster2#2-3::OnMyMobDead";
+ monster "jupe_area2",119,62,"Security Guard",1669,1,"Monster2#2-3::OnMyMobDead";
+ monster "jupe_area2",120,62,"Security Guard",1675,1,"Monster2#2-3::OnMyMobDead";
+ monster "jupe_area2",121,62,"Security Guard",1669,1,"Monster2#2-3::OnMyMobDead";
+ end;
+
+OnTimer300000:
+ mapannounce "jupe_area2","Do you still have your courage? Come. Prove it.",bc_map,"0xFF0000";
+ disablenpc "Monster2#2-3";
+ enablenpc "#hole#2-3";
+ disablenpc "Red Alarm#2-3";
+ set $@JupreArea1InUse2,0;
+ end;
+
+OnTimer300002:
+ donpcevent "Monster2#2-3::OnDisable";
+ end;
+
+OnMyMobDead:
+ set .MyMobs,.MyMobs-1;
+ if (.MyMobs < 1) {
+ mapannounce "jupe_area2","Do you still have your courage? Come. Prove it.",bc_map,"0xFF0000";
+ disablenpc "Monster2#2-3";
+ enablenpc "#hole#2-3";
+ disablenpc "Red Alarm#2-3";
+ set $@JupreArea1InUse2,0;
+ stopnpctimer;
+ }
+ end;
+}
+
+//============================================================
+// Security Checkpoint 2-4
+//============================================================
+jupe_area2,113,49,0 script #hole#2-4 844,{
+ cutin "4",2;
+ if ($@JupreArea1InUse2 == 1) {
+ mes "^3355FFThis seems like";
+ mes "some kind of device";
+ mes "that will allow you to";
+ mes "pass to the other side.";
+ mes "There's a slot where you";
+ mes "probably need to insert";
+ mes "some kind of object...^000000";
+ close2;
+ cutin "4",255;
end;
- OnTimer9000:
- mapannounce "juperos_02","You are allowed to enter the next zone for a short period of time. Please use the portal in the center of the map.",1,0xBA55D3;
- enablenpc "JupeWarp2";
+ }
+ else if (countitem(7356) > 0 || countitem(7359) > 0 || countitem(7357) > 0 || countitem(7358) > 0) {
+ mes "^3355FFThis seems like";
+ mes "some kind of device";
+ mes "that will allow you to";
+ mes "pass to the other side.";
+ mes "There's a slot where you";
+ mes "probably need to insert";
+ mes "some kind of object...^000000";
+ next;
+ switch(select("Insert a Crest Piece.:Cancel.")) {
+ case 1:
+ if (countitem(7359) > 0) {
+ mes "^3355FFYou take out your";
+ mes "Crest Piece and place";
+ mes "it into the slot where it";
+ mes "happens to fit perfectly.^000000";
+ specialeffect 159; //"#hole#2-4" EF_TOPRANK
+ cutin "4-1",2;
+ next;
+ if ($@JupreArea1InUse2 == 1) {
+ mes "^3355FFNothing happens.";
+ mes "Perhaps an alarm or";
+ mes "some other safety measure";
+ mes "was activated to keep the";
+ mes "Crest Piece from activating";
+ mes "this transportation device.";
+ mes "You retrieve the Crest Piece.^000000";
+ close2;
+ cutin "4-1",255;
+ end;
+ }
+ else {
+ mes "^3355FFThe slot rotates and";
+ mes "the Crest Piece moves as";
+ mes "if it were turning a key. You";
+ mes "feel a weak tremor as a Warp";
+ mes "Portal to the other side is";
+ mes "activated. You then retrieve";
+ mes "your Crest Piece.^000000";
+ initnpctimer;
+ donpcevent "Warp#2-4::OnEnable";
+ donpcevent "Red Alarm#2-4::OnEnable";
+ disablenpc "#hole#2-4";
+ close2;
+ cutin "4-1",255;
+ end;
+ }
+ }
+ else {
+ mes "^3355FFUnfortunately, you're";
+ mes "not carrying anything";
+ mes "that might be able to fit";
+ mes "into the slot and activate";
+ mes "this mechanical device.^000000";
+ close2;
+ cutin "4",255;
+ end;
+ }
+ break;
+ case 2:
+ mes "[" + strcharinfo(0) + "]";
+ mes "Hmmm...";
+ mes "Do I have anything";
+ mes "that might make this";
+ mes "weird machine work?";
+ close2;
+ cutin "4",255;
+ end;
+ }
+ }
+ else {
+ mes "^3355FFThis seems like";
+ mes "some kind of device";
+ mes "that will allow you to";
+ mes "pass to the other side.";
+ mes "There's a slot where you";
+ mes "probably need to insert";
+ mes "some kind of object...^000000";
+ close2;
+ cutin "4",255;
end;
- OnTimer309000:
- mapannounce "juperos_02","The portal has now closed.",1,0xBA55D3;
- disablenpc "JupeWarp2";
- set $JupeGate1,0;
- set $JupeGate2,0;
- set $JupeGate3,0;
+ }
+ end;
+
+Onstop_timer:
+ stopnpctimer;
+ end;
+
+OnTimer5000:
+ enablenpc "#hole#2-4";
+ disablenpc "Red Alarm#2-4";
+ end;
+}
+
+jupe_area2,106,53,0 script Warp#2-4 139,2,2,{
+OnInit:
+ disablenpc "Warp#2-4";
+ end;
+
+OnEnable:
+ enablenpc "Warp#2-4";
+ specialeffect 561; //"Warp#2-4" 561
+ soundeffectall "jupe_warp.wav",0;
+ initnpctimer;
+ end;
+
+OnTouch:
+ warp "jupe_area2",80,157;
+ end;
+
+OnTimer5000:
+ disablenpc "Warp#2-4";
+ end;
+}
+
+jupe_area2,80,157,0 script Red Alarm#2-4 -1,2,2,{
+OnInit:
+ disablenpc "Red Alarm#2-4";
+ end;
+
+OnEnable:
+ enablenpc "Red Alarm#2-4";
+ end;
+
+OnTouch:
+ set $@JupreArea1InUse2,1;
+ donpcevent "Red Alarm On#2-4::OnEnable";
+ disablenpc "Red Alarm#2-4";
+ disablenpc "#hole#2-4";
+ end;
+}
+
+- script Red Alarm On#2-4 -1,{
+OnInit:
+ disablenpc "Red Alarm On#2-4";
+ end;
+
+OnEnable:
+ enablenpc "Red Alarm On#2-4";
+ initnpctimer;
+ end;
+
+OnTimer1000:
+ mapannounce "jupe_area2","I've been waiting for someone strong enough to compete with me.",bc_map,"0xFF0000";
+ end;
+
+OnTimer3000:
+ mapannounce "jupe_area2","If you hear this, I wish you will be the one...",bc_map,"0xFF0000";
+ disablenpc "#hole#2-4";
+ end;
+
+OnTimer5000:
+ mapannounce "jupe_area2","Perhaps, a mere shadow of my former self...",bc_map,"0xFF0000";
+ donpcevent "Monster1#2-4::OnEnable";
+ end;
+
+OnTimer7000:
+ mapannounce "jupe_area2","Is somewhere down here, wandering...",bc_map,"0xFF0000";
+ end;
+
+OnTimer8000:
+ disablenpc "Red Alarm On#2-4";
+ end;
+}
+
+- script Monster1#2-4 -1,{
+OnInit:
+ disablenpc "Monster1#2-4";
+ end;
+
+Onreset:
+ killmonster "jupe_area2","Monster1#2-4::OnMyMobDead";
+ end;
+
+OnEnable:
+ initnpctimer;
+ enablenpc "Monster1#2-4";
+ set .MyMobs,8;
+ monster "jupe_area2",75,161,"Security Guard",1675,1,"Monster1#2-4::OnMyMobDead";
+ monster "jupe_area2",72,161,"Security Guard",1669,1,"Monster1#2-4::OnMyMobDead";
+ monster "jupe_area2",71,161,"Security Guard",1675,1,"Monster1#2-4::OnMyMobDead";
+ monster "jupe_area2",68,161,"Security Guard",1669,1,"Monster1#2-4::OnMyMobDead";
+ monster "jupe_area2",75,154,"Security Guard",1675,1,"Monster1#2-4::OnMyMobDead";
+ monster "jupe_area2",72,154,"Security Guard",1669,1,"Monster1#2-4::OnMyMobDead";
+ monster "jupe_area2",71,154,"Security Guard",1675,1,"Monster1#2-4::OnMyMobDead";
+ monster "jupe_area2",68,154,"Security Guard",1669,1,"Monster1#2-4::OnMyMobDead";
+ end;
+
+OnTimer300000:
+ mapannounce "jupe_area2","Zzzzt...Zzzzt....",bc_map,"0xFF0000";
+ set $@JupreArea1InUse2,0;
+ end;
+
+OnTimer300002:
+ disablenpc "Monster1#2-4";
+ enablenpc "#hole#2-4";
+ end;
+
+OnMyMobDead:
+ set .MyMobs,.MyMobs-1;
+ if (.MyMobs < 1) {
+ donpcevent "Monster2#2-4::OnEnable";
+ disablenpc "Monster1#2-4";
+ stopnpctimer;
+ }
+ end;
+}
+
+- script Monster2#2-4 -1,{
+OnInit:
+ disablenpc "Monster2#2-4";
+ end;
+
+Onreset:
+ killmonster "jupe_area2","Monster2#2-4::OnMyMobDead";
+ end;
+
+OnEnable:
+ initnpctimer;
+ end;
+
+OnTimer2000:
+ mapannounce "jupe_area2","I can never rest in peace...",bc_map,"0xFF0000";
+ end;
+
+OnTimer4000:
+ mapannounce "jupe_area2","I'll wait forever or until someone can put me out of my misery...",bc_map,"0xFF0000";
+ end;
+
+OnTimer6000:
+ mapannounce "jupe_area2","I will be waiting for you!",bc_map,"0xFF0000";
+ enablenpc "Monster2#2-4";
+ set .MyMobs,12;
+ monster "jupe_area2",63,161,"Security Guard",1675,1,"Monster2#2-4::OnMyMobDead";
+ monster "jupe_area2",61,161,"Security Guard",1669,1,"Monster2#2-4::OnMyMobDead";
+ monster "jupe_area2",59,161,"Security Guard",1675,1,"Monster2#2-4::OnMyMobDead";
+ monster "jupe_area2",57,161,"Security Guard",1669,1,"Monster2#2-4::OnMyMobDead";
+ monster "jupe_area2",55,161,"Security Guard",1675,1,"Monster2#2-4::OnMyMobDead";
+ monster "jupe_area2",53,161,"Security Guard",1669,1,"Monster2#2-4::OnMyMobDead";
+ monster "jupe_area2",53,154,"Security Guard",1675,1,"Monster2#2-4::OnMyMobDead";
+ monster "jupe_area2",55,154,"Security Guard",1669,1,"Monster2#2-4::OnMyMobDead";
+ monster "jupe_area2",57,154,"Security Guard",1675,1,"Monster2#2-4::OnMyMobDead";
+ monster "jupe_area2",59,154,"Security Guard",1669,1,"Monster2#2-4::OnMyMobDead";
+ monster "jupe_area2",61,154,"Security Guard",1675,1,"Monster2#2-4::OnMyMobDead";
+ monster "jupe_area2",63,154,"Security Guard",1669,1,"Monster2#2-4::OnMyMobDead";
+ end;
+
+OnTimer300000:
+ mapannounce "jupe_area2","It's funny... Isn't it?",bc_map,"0xFF0000";
+ disablenpc "Monster2#2-4";
+ enablenpc "#hole#2-4";
+ disablenpc "Red Alarm#2-4";
+ set $@JupreArea1InUse2,0;
+ end;
+
+OnTimer300002:
+ disablenpc "Monster2#2-4";
+ end;
+
+OnMyMobDead:
+ set .MyMobs,.MyMobs-1;
+ if (.MyMobs < 1) {
+ mapannounce "jupe_area2","It's funny... Isn't it?",bc_map,"0xFF0000";
+ disablenpc "Monster2#2-4";
+ enablenpc "#hole#2-4";
+ disablenpc "Red Alarm#2-4";
+ set $@JupreArea1InUse2,0;
+ stopnpctimer;
+ }
+ end;
+}
+
+//============================================================
+// Move to Elevator
+//============================================================
+jupe_area2,51,162,0 script Lever#ufe2 844,{
+ mes "^3355FFIt's a lever";
+ mes "whose function";
+ mes "is not known to you.^000000";
+ next;
+ switch(select("Pull.:Cancel.")) {
+ case 1:
+ initnpctimer;
+ donpcevent "LeverWarp#ufe2::OnEnable";
+ disablenpc "Lever#ufe2";
+ close;
+ case 2:
+ mes "[" + strcharinfo(0) + "]";
+ mes "Pull this lever?";
+ mes "I don't even know";
+ mes "what will happen...";
+ close;
+ }
+ close;
+
+Onstop_timer:
+ stopnpctimer;
+ end;
+
+OnTimer3000:
+ enablenpc "Lever#ufe2";
+ end;
+}
+
+jupe_area2,46,157,0 script LeverWarp#ufe2 139,2,2,{
+OnInit:
+ disablenpc "LeverWarp#ufe2";
+ end;
+
+Onreset:
+ disablenpc "LeverWarp#ufe2";
+ end;
+
+OnEnable:
+ enablenpc "LeverWarp#ufe2";
+ specialeffect 561; //"LeverWarp#ufe2" 561
+ soundeffectall "jupe_warp.wav",0;
+ initnpctimer;
+ end;
+
+OnTouch:
+ warp "jupe_gate",71,29;
+ end;
+
+OnTimer3000:
+ disablenpc "LeverWarp#ufe2";
+ end;
+}
+
+//============================================================
+// Elevator Reception Room
+//============================================================
+jupe_ele_r,51,98,0 script Switch#ufe 844,{
+ if ($@JupeElevatorInUse == 1) {
+ mes "^3355FFIt's some sort of";
+ mes "lever that looks like";
+ mes "it was already pulled";
+ mes "by someone else.^000000";
+ close;
+ }
+ else {
+ cutin "5",2;
+ mes "^3355FFIt's some sort of";
+ mes "lever that's located";
+ mes "next to four empty slots.^000000";
+ next;
+ switch(select("Pull the lever.:Leave it alone.")) {
+ case 1:
+ mes "^3355FF*Snap Snap*^000000";
+ next;
+ mes "^3355FFYou pull the lever,";
+ mes "but nothing happened.";
+ mes "You probably need to";
+ mes "insert the correct objects";
+ mes "into the slots in order";
+ mes "for the lever to operate.^000000";
+ next;
+ if (countitem(7356) > 0 && countitem(7359) > 0 && countitem(7357) > 0 && countitem(7358) > 0) {
+ switch(select("Insert all of your Crest Pieces.")) {
+ case 1:
+ mes "^3300FF*Snap!*^000000";
+ mes "^3300FFStrangely enough,";
+ mes "all four of the Crest";
+ mes "Pieces fit perfectly into";
+ mes "the slots and begin to";
+ mes "emit a strange light.^000000";
+ cutin "5-1",2;
+ specialeffect 72; //"Switch#ufe" EF_SPHERE
+ delitem 7356,1; //Piece_Of_Crest1
+ delitem 7359,1; //Piece_Of_Crest4
+ delitem 7357,1; //Piece_Of_Crest2
+ delitem 7358,1; //Piece_Of_Crest3
+ next;
+ switch(select("Pull out the Crest Pieces.:Pull the lever.")) {
+ case 1:
+ cutin "5",2;
+ mes "^3355FFYou pull out all";
+ mes "the Crest Pieces";
+ mes "that you inserted";
+ mes "into the slots.^000000";
+ getitem 7356,1; //Piece_Of_Crest1
+ getitem 7359,1; //Piece_Of_Crest4
+ getitem 7357,1; //Piece_Of_Crest2
+ getitem 7358,1; //Piece_Of_Crest3
+ close2;
+ cutin "5",255;
+ end;
+ case 2:
+ if ($@JupeElevatorInUse == 1) {
+ mes "^3355FFIt's strange,";
+ mes "but this lever has";
+ mes "already been pulled.^000000";
+ close2;
+ cutin "5",255;
+ end;
+ }
+ else {
+ mes "^3355FFOnce you pull the lever,";
+ mes "the Crest Piece slots are";
+ mes "suddenly covered, making";
+ mes "them irretrievable, and the";
+ mes "ground begins to shake";
+ mes "violently. This isn't normal!^000000";
+ next;
+ set $@JupeElevatorInUse,1;
+ disablenpc "Switch#ufe";
+ enablenpc "Switch On#ufe";
+ initnpctimer;
+ specialeffect2 563; // 563
+ //sound "earth_quake.wav" 2 0 0
+ close2;
+ cutin "5-1",255;
+ end;
+ }
+ }
+ }
+ }
+ else if (countitem(7356) > 0 || countitem(7359) > 0 || countitem(7357) > 0 || countitem(7358) > 0) {
+ select("Insert Crest Pieces.");
+ mes "^3355FFRight now, you don't";
+ mes "have enough Crest Pieces";
+ mes "to place into all four of these";
+ mes "slots. You'll need to find and^FFFFFF ^3355FF bring them all to make this work.^000000";
+ close2;
+ cutin "5-1",255;
+ end;
+ }
+ else {
+ mes "^3355FFYou need to find";
+ mes "some kind of object";
+ mes "that you can fit into";
+ mes "each of these four slots...^000000";
+ close2;
+ cutin "5-1",255;
+ end;
+ }
+ case 2:
+ mes "^3355FFWho knows what";
+ mes "this lever may do?";
+ mes "You'll never know unless";
+ mes "you have the courage to try.^000000";
+ close2;
+ cutin "5",255;
+ end;
+ }
+ }
+ end;
+
+OnTimer2000:
+ mapannounce "jupe_ele_r","My descendents...",bc_map,"0x66FF00";
+ end;
+
+OnTimer3000:
+ mapannounce "jupe_ele_r","Do you want to know why this city was buried beneath the earth...?",bc_map,"0x66FF00";
+ end;
+
+OnTimer7000:
+ mapannounce "jupe_ele_r","If so, follow my voice...",bc_map,"0x66FF00";
+ end;
+
+OnTimer10000:
+ mapannounce "jupe_ele_r","I shall let you see for yourself what you desire to know...",bc_map,"0x66FF00";
+ end;
+
+OnTimer17000:
+ mapannounce "jupe_ele_r","Overcome all the hallucinations.",bc_map,"0xCC6600";
+ end;
+
+OnTimer20000:
+ mapannounce "jupe_ele_r","Open your eyes and see past all of the lies.",bc_map,"0xFF0000";
+ end;
+
+OnTimer23000:
+ mapannounce "jupe_ele_r","I can only maintain this vision for you for 20 minutes.",bc_map,"0xFF0000";
+ donpcevent "Elevator Guard1#ufe::OnEnable";
+ end;
+
+OnTimer27000:
+ mapannounce "jupe_ele_r","Look! And remember!",bc_map,"0xFF0000";
+ end;
+}
+
+jupe_ele_r,51,98,0 script Switch On#ufe 844,{
+ mes "^3355FFIt seems like";
+ mes "someone else is";
+ mes "using this machine...^000000";
+ close;
+
+OnInit:
+ disablenpc "Switch On#ufe";
+ end;
+}
+
+//============================================================
+// Elevator Receptoin Guards
+//============================================================
+jupe_ele_r,10,50,0 script Elevator Guard1#ufe -1,{
+OnInit:
+ disablenpc "Elevator Guard1#ufe";
+ end;
+
+OnEnable:
+ set .MyMobs,9;
+ enablenpc "Elevator Guard1#ufe";
+ initnpctimer;
+ end;
+
+OnTimer1000:
+ monster "jupe_ele_r",44,99,"Guard",1669,1,"Elevator Guard1#ufe::OnMyMobDead";
+ end;
+
+OnTimer1200:
+ monster "jupe_ele_r",55,99,"Guard",1675,1,"Elevator Guard1#ufe::OnMyMobDead";
+ end;
+
+OnTimer1400:
+ monster "jupe_ele_r",45,84,"Guard",1683,1,"Elevator Guard1#ufe::OnMyMobDead";
+ end;
+
+OnTimer1600:
+ monster "jupe_ele_r",54,84,"Guard",1675,1,"Elevator Guard1#ufe::OnMyMobDead";
+ end;
+
+OnTimer1800:
+ monster "jupe_ele_r",45,99,"Guard",1669,1,"Elevator Guard1#ufe::OnMyMobDead";
+ end;
+
+OnTimer2000:
+ monster "jupe_ele_r",54,99,"Guard",1683,1,"Elevator Guard1#ufe::OnMyMobDead";
+ end;
+
+OnTimer2200:
+ monster "jupe_ele_r",48,84,"Guard",1669,1,"Elevator Guard1#ufe::OnMyMobDead";
+ end;
+
+OnTimer2400:
+ monster "jupe_ele_r",52,84,"Guard",1683,1,"Elevator Guard1#ufe::OnMyMobDead";
+ end;
+
+OnTimer2600:
+ monster "jupe_ele_r",50,84,"Chief Guard",1684,1,"Elevator Guard1#ufe::OnMyMobDead";
+ end;
+
+OnTimer120000:
+ mapannounce "jupe_ele_r","It is disappointing to see that you are too weak to even defeat a hallucination...",bc_map,"0x66FF00";
+ donpcevent "Switch#ufe::OnEnable";
+ disablenpc "Switch On#ufe";
+ donpcevent "Annihilation#ufe::OnEnable";
+ set $@JupeElevatorInUse,0;
+ end;
+
+OnTimer120005:
+ killmonster "jupe_ele_r","Elevator Guard1#ufe::OnMyMobDead";
+ stopnpctimer;
+ end;
+
+OnMyMobDead:
+ set .MyMobs,.MyMobs-1;
+ if (.MyMobs < 1) {
+ set $@JupeElevatorInUse,0;
+ donpcevent "Elevator Safety#ufe::OnEnable";
+ stopnpctimer;
+ }
+ end;
+}
+
+jupe_ele_r,10,52,0 script Elevator Safety#ufe -1,{
+OnInit:
+ disablenpc "Elevator Safety#ufe";
+ end;
+
+OnEnable:
+ enablenpc "Elevator Safety#ufe";
+ initnpctimer;
+ end;
+
+OnTimer5000:
+ mapannounce "jupe_ele_r","Those of you who have defeated the hallucination, step forward.",bc_map,"0x66FF00";
+ //sound "earth_quake.wav" 2 0 0
+ end;
+
+OnTimer8000:
+ donpcevent "Elevator On#ufe::OnEnable";
+ end;
+
+OnTimer10000:
+ disablenpc "Elevator Safety#ufe";
+ stopnpctimer;
+ end;
+}
+
+jupe_ele_r,50,89,0 script Annihilation#ufe -1,35,50,{
+OnInit:
+ disablenpc "Annihilation#ufe";
+ end;
+
+OnEnable:
+ disablenpc "Annihilation#ufe";
+ initnpctimer;
+ end;
+
+OnTouch:
+ percentheal 99,100;
+ end;
+
+OnTimer1000:
+ mapwarp "jupe_ele_r", "jupe_gate",49,138;
+ end;
+
+OnTimer1100:
+ enablenpc "Annihilation#ufe";
+ end;
+
+OnTimer1600:
+ enablenpc "Elevator Escape#ufe";
+ end;
+
+OnTimer3000:
+ disablenpc "Annihilation#ufe";
+ disablenpc "Elevator Escape#ufe";
+ end;
+}
+
+jupe_ele_r,50,89,0 script Elevator Escape#ufe -1,35,50,{
+OnInit:
+ disablenpc "Elevator Escape#ufe";
+ end;
+
+OnTouch:
+ mapwarp "jupe_ele_r", "jupe_gate",49,138;
+ end;
+}
+
+jupe_ele_r,10,54,0 script Elevator On#ufe -1,{
+OnInit:
+ disablenpc "Elevator On#ufe";
+ end;
+
+OnEnable:
+ enablenpc "Elevator On#ufe";
+ initnpctimer;
+ end;
+
+OnTimer1000:
+ mapwarp "jupe_ele_r", "jupe_ele",42,47;
+ set $@JupeElevatorInUse2,0;
+ donpcevent "TimeOut#ufe::OnEnable";
+ donpcevent "Guard-1#ufe::OnEnable";
+ end;
+
+OnTimer10000:
+ disablenpc "Elevator On#ufe";
+ end;
+}
+
+//============================================================
+// Elevator NPCs
+//============================================================
+jupe_ele,14,6,1 script TimeOut#ufe 844,{
+OnEnable:
+ initnpctimer;
+ end;
+
+OnDisable:
+ stopnpctimer;
+ end;
+
+OnTimer59000:
+ if (getmapusers("jupe_ele") == 0) {
+ set $@JupeElevatorInUse2,5;
+ killmonsterall "jupe_ele";
+ disablenpc "Guard-1#ufe";
+ disablenpc "Guard-2#ufe";
+ disablenpc "Guard-3#ufe";
+ disablenpc "Guard-4#ufe";
+ stopnpctimer;
+ set $@JupeElevatorInUse2,0;
+ set $@JupeElevatorInUse,0;
+ disablenpc "Switch On#ufe";
+ enablenpc "Switch#ufe";
+ }
+ end;
+
+OnTimer120000:
+ killmonsterall "jupe_ele";
+ disablenpc "Guard-1#ufe";
+ disablenpc "Guard-2#ufe";
+ disablenpc "Guard-3#ufe";
+ disablenpc "Guard-4#ufe";
+ mapannounce "jupe_ele","In the end, you can't even overcome your inner fear...",bc_map,"0xFF0000";
+ end;
+
+OnTimer122000:
+ mapannounce "jupe_ele","You have never encountered your inner fears, have you?",bc_map,"0xFF0000";
+ end;
+
+OnTimer125000:
+ mapannounce "jupe_ele","Did you expect this would be the end of the hallucination?",bc_map,"0xFF0000";
+ end;
+
+OnTimer127000:
+ mapannounce "jupe_ele","What if the voice you're hearing is also a hallucination?",bc_map,"0xFF0000";
+ end;
+
+OnTimer129000:
+ mapannounce "jupe_ele","What if you're just dreaming all of this?",bc_map,"0xFF0000";
+ end;
+
+OnTimer131000:
+ mapannounce "jupe_ele","What if the existence of this city is a lie?",bc_map,"0xFF0000";
+ end;
+
+OnTimer133000:
+ mapannounce "jupe_ele","Are you even real?",bc_map,"0xFF0000";
+ end;
+
+OnTimer134000:
+ mapwarp "jupe_ele", "jupe_gate",49,138;
+ end;
+
+OnTimer135000:
+ mapwarp "jupe_ele", "jupe_gate",49,138;
+ end;
+
+OnTimer132000:
+ disablenpc "GuardEnd#ufe";
+ disablenpc "4F Enter#ufe";
+ donpcevent "TimeOut#ufe::OnDisable";
+ set $@JupeElevatorInUse2,0;
+ set $@JupeElevatorInUse,0;
+ disablenpc "Switch On#ufe";
+ enablenpc "Switch#ufe";
+ stopnpctimer;
+ end;
+}
+
+jupe_ele,15,6,1 script Guard-1#ufe 844,{
+OnEnable:
+ initnpctimer;
+ end;
+
+OnDisable:
+ stopnpctimer;
+ end;
+
+Onreset:
+ killmonsterall "jupe_ele";
+ end;
+
+OnTimer2000:
+ mapannounce "jupe_ele","I admire your patience.",bc_map,"0xFF0000";
+ end;
+
+OnTimer5000:
+ mapannounce "jupe_ele","Let's see if everything you have experienced",bc_map,"0xFF0000";
+ end;
+
+OnTimer8000:
+ mapannounce "jupe_ele","were traps for intruders...",bc_map,"0xFF0000";
+ end;
+
+OnTimer12000:
+ set .MyMobs,8;
+ monster "jupe_ele",48,44,"Guard",1675,1,"Guard-1#ufe::OnMyMobDead";
+ monster "jupe_ele",45,42,"Guard",1669,1,"Guard-1#ufe::OnMyMobDead";
+ monster "jupe_ele",38,42,"Guard",1675,1,"Guard-1#ufe::OnMyMobDead";
+ monster "jupe_ele",35,44,"Guard",1669,1,"Guard-1#ufe::OnMyMobDead";
+ monster "jupe_ele",35,51,"Guard",1675,1,"Guard-1#ufe::OnMyMobDead";
+ monster "jupe_ele",38,53,"Guard",1669,1,"Guard-1#ufe::OnMyMobDead";
+ monster "jupe_ele",45,53,"Guard",1675,1,"Guard-1#ufe::OnMyMobDead";
+ monster "jupe_ele",48,51,"Guard",1669,1,"Guard-1#ufe::OnMyMobDead";
+ end;
+
+OnTimer30000:
+ if ($@JupeElevatorInUse2 == 0) {
+ set $@JupeElevatorInUse2,1;
+ donpcevent "Guard-2#ufe::OnEnable";
+ stopnpctimer;
+ }
+ end;
+
+OnMyMobDead:
+ set .MyMobs,.MyMobs-1;
+ if (.MyMobs < 1) {
+ if ($@JupeElevatorInUse2 == 0) {
+ set $@JupeElevatorInUse2,1;
+ donpcevent "Guard-2#ufe::OnEnable";
+ stopnpctimer;
+ }
+ else if ($@JupeElevatorInUse2 == 4) {
+ if (getvariableofnpc(.MyMobs,"Guard-1#ufe") < 1) {
+ if (getvariableofnpc(.MyMobs,"Guard-3#ufe") < 1) {
+ if (getvariableofnpc(.MyMobs,"Guard-2#ufe") < 1) {
+ donpcevent "GuardEnd#ufe::OnEnable";
+ stopnpctimer;
+ }
+ }
+ }
+ }
+ }
+ end;
+}
+
+jupe_ele,16,6,1 script Guard-2#ufe 844,{
+OnEnable:
+ initnpctimer;
+ end;
+
+OnDisable:
+ stopnpctimer;
+ end;
+
+Onreset:
+ killmonsterall "jupe_ele";
+ end;
+
+OnTimer2000:
+ mapannounce "jupe_ele","This city was not",bc_map,"0xFF0000";
+ end;
+
+OnTimer5000:
+ mapannounce "jupe_ele","as magnificient as you thought.",bc_map,"0xFF0000";
+ end;
+
+OnTimer8000:
+ mapannounce "jupe_ele","This is a place where all the fears of humans flourish.",bc_map,"0xFF0000";
+ end;
+
+OnTimer11000:
+ mapannounce "jupe_ele","Yes. Nobody leaves alive!",bc_map,"0xFF0000";
+ end;
+
+OnTimer12000:
+ set .MyMobs,8;
+ monster "jupe_ele",48,44,"Guard",1683,1,"Guard-2#ufe::OnMyMobDead";
+ monster "jupe_ele",45,42,"Guard",1669,1,"Guard-2#ufe::OnMyMobDead";
+ monster "jupe_ele",38,42,"Guard",1683,1,"Guard-2#ufe::OnMyMobDead";
+ monster "jupe_ele",35,44,"Guard",1669,1,"Guard-2#ufe::OnMyMobDead";
+ monster "jupe_ele",35,51,"Guard",1683,1,"Guard-2#ufe::OnMyMobDead";
+ monster "jupe_ele",38,53,"Guard",1669,1,"Guard-2#ufe::OnMyMobDead";
+ monster "jupe_ele",45,53,"Guard",1683,1,"Guard-2#ufe::OnMyMobDead";
+ monster "jupe_ele",48,51,"Guard",1669,1,"Guard-2#ufe::OnMyMobDead";
+ end;
+
+OnTimer30000:
+ if ($@JupeElevatorInUse2 == 1) {
+ set $@JupeElevatorInUse2,2;
+ donpcevent "Guard-3#ufe::OnEnable";
+ stopnpctimer;
+ }
+ end;
+
+OnMyMobDead:
+ set .MyMobs,.MyMobs-1;
+ if (.MyMobs < 1) {
+ if ($@JupeElevatorInUse2 == 1) {
+ set $@JupeElevatorInUse2,2;
+ donpcevent "Guard-3#ufe::OnEnable";
+ stopnpctimer;
+ }
+ else if ($@JupeElevatorInUse2 == 4) {
+ if (getvariableofnpc(.MyMobs,"Guard-4#ufe") < 1) {
+ if (getvariableofnpc(.MyMobs,"Guard-3#ufe") < 1) {
+ if (getvariableofnpc(.MyMobs,"Guard-1#ufe") < 1) {
+ donpcevent "GuardEnd#ufe::OnEnable";
+ stopnpctimer;
+ }
+ }
+ }
+ }
+ }
+ end;
+}
+
+jupe_ele,17,6,1 script Guard-3#ufe 844,{
+OnEnable:
+ initnpctimer;
+ end;
+
+OnDisable:
+ stopnpctimer;
+ end;
+
+Onreset:
+ killmonsterall "jupe_ele";
+ end;
+
+OnTimer2000:
+ mapannounce "jupe_ele","What do you see?",bc_map,"0xFF0000";
+ end;
+
+OnTimer5000:
+ mapannounce "jupe_ele","Are your eyes actually seeing something?",bc_map,"0xFF0000";
+ end;
+
+OnTimer8000:
+ mapannounce "jupe_ele","Or do you just believe you are seeing?",bc_map,"0xFF0000";
+ end;
+
+OnTimer12000:
+ set .MyMobs,8;
+ monster "jupe_ele",48,44,"Guard",1675,1,"Guard-3#ufe::OnMyMobDead";
+ monster "jupe_ele",45,42,"Guard",1669,1,"Guard-3#ufe::OnMyMobDead";
+ monster "jupe_ele",38,42,"Guard",1683,1,"Guard-3#ufe::OnMyMobDead";
+ monster "jupe_ele",35,44,"Guard",1675,1,"Guard-3#ufe::OnMyMobDead";
+ monster "jupe_ele",35,51,"Guard",1669,1,"Guard-3#ufe::OnMyMobDead";
+ monster "jupe_ele",38,53,"Guard",1683,1,"Guard-3#ufe::OnMyMobDead";
+ monster "jupe_ele",45,53,"Guard",1675,1,"Guard-3#ufe::OnMyMobDead";
+ monster "jupe_ele",48,51,"Guard",1669,1,"Guard-3#ufe::OnMyMobDead";
+ end;
+
+OnTimer30000:
+ if ($@JupeElevatorInUse2 == 2) {
+ set $@JupeElevatorInUse2,3;
+ donpcevent "Guard-4#ufe::OnEnable";
+ stopnpctimer;
+ }
+ end;
+
+OnMyMobDead:
+ set .MyMobs,.MyMobs-1;
+ if (.MyMobs < 1) {
+ if ($@JupeElevatorInUse2 == 2) {
+ set $@JupeElevatorInUse2,3;
+ donpcevent "Guard-4#ufe::OnEnable";
+ stopnpctimer;
+ }
+ else if ($@JupeElevatorInUse2 == 4) {
+ if (getvariableofnpc(.MyMobs,"Guard-4#ufe") < 1) {
+ if (getvariableofnpc(.MyMobs,"Guard-2#ufe") < 1) {
+ if (getvariableofnpc(.MyMobs,"Guard-1#ufe") < 1) {
+ donpcevent "GuardEnd#ufe::OnEnable";
+ stopnpctimer;
+ }
+ }
+ }
+ }
+ }
+ end;
+}
+
+jupe_ele,18,6,1 script Guard-4#ufe 844,{
+OnEnable:
+ initnpctimer;
+ end;
+
+OnDisable:
stopnpctimer;
+ end;
+
+Onreset:
+ killmonsterall "jupe_ele";
+ end;
+
+OnTimer2000:
+ mapannounce "jupe_ele","Do not forget. That which limits you is nothing but yourself.",bc_map,"0xFF0000";
+ end;
+
+OnTimer5000:
+ mapannounce "jupe_ele","Nothing is what you fear and you have nothing to fear...",bc_map,"0xFF0000";
+ end;
+
+OnTimer8000:
+ set $@JupeElevatorInUse2,4;
+ set .MyMobs,8;
+ monster "jupe_ele",48,44,"Guard",1684,1,"Guard-4#ufe::OnMyMobDead";
+ monster "jupe_ele",45,42,"Guard",1669,1,"Guard-4#ufe::OnMyMobDead";
+ monster "jupe_ele",38,42,"Guard",1684,1,"Guard-4#ufe::OnMyMobDead";
+ monster "jupe_ele",35,44,"Guard",1669,1,"Guard-4#ufe::OnMyMobDead";
+ monster "jupe_ele",35,51,"Guard",1675,1,"Guard-4#ufe::OnMyMobDead";
+ monster "jupe_ele",38,53,"Guard",1669,1,"Guard-4#ufe::OnMyMobDead";
+ monster "jupe_ele",45,53,"Guard",1683,1,"Guard-4#ufe::OnMyMobDead";
+ monster "jupe_ele",48,51,"Guard",1675,1,"Guard-4#ufe::OnMyMobDead";
+ end;
+
+OnMyMobDead:
+ set .MyMobs,.MyMobs-1;
+ if (getvariableofnpc(.MyMobs,"Guard-1#ufe") < 1) {
+ if (getvariableofnpc(.MyMobs,"Guard-2#ufe") < 1) {
+ if (getvariableofnpc(.MyMobs,"Guard-3#ufe") < 1) {
+ if (getvariableofnpc(.MyMobs,"Guard-4#ufe") < 1) {
+ donpcevent "GuardEnd#ufe::OnEnable";
+ stopnpctimer;
+ }
+ }
+ }
+ }
+ end;
+}
+
+jupe_ele,19,6,1 script GuardEnd#ufe 844,{
+OnInit:
+ disablenpc "GuardEnd#ufe";
+ end;
+
+OnEnable:
+ enablenpc "GuardEnd#ufe";
+ donpcevent "TimeOut#ufe::OnDisable";
+ initnpctimer;
+ end;
+
+OnDisable:
+ disablenpc "GuardEnd#ufe";
+ stopnpctimer;
+ end;
+
+OnTimer2000:
+ mapannounce "jupe_ele","I am not going to tell you anything.",bc_map,"0x66FF00";
+ end;
+
+OnTimer5000:
+ mapannounce "jupe_ele","My city, my people are now but a memory.",bc_map,"0x66FF00";
+ end;
+
+OnTimer8000:
+ mapannounce "jupe_ele","Everything was a mistake. We were not supposed to be here.",bc_map,"0x66FF00";
+ end;
+
+OnTimer11000:
+ mapannounce "jupe_ele","Is this a place where humans are forbidden?",bc_map,"0x66FF00";
+ end;
+
+OnTimer12000:
+ mapannounce "jupe_ele","You want to know, don't you? Go ahead... Go deeper.",bc_map,"0x66FF00";
+ enablenpc "4F Enter#ufe";
+ end;
+
+OnTimer22000:
+ mapannounce "jupe_ele","It's not real anyway. All of it's safe, it can't hurt you...",bc_map,"0x66FF00";
+ //sound "earth_quake.wav" 2 0 0
+ disablenpc "4F Enter#ufe";
+ end;
+
+OnTimer24000:
+ mapwarp "jupe_ele","jupe_core",150,286;
+ end;
+
+OnTimer25000:
+ mapwarp "jupe_ele","jupe_core",151,286;
+ end;
+
+OnTimer26000:
+ donpcevent "GuardEnd#ufe::OnDisable";
+ disablenpc "4F Enter#ufe";
+ donpcevent "TimeOut#ufe::OnDisable";
+ set $@JupeElevatorInUse2,0;
+ set $@JupeElevatorInUse,0;
+ disablenpc "Switch On#ufe";
+ enablenpc "Switch#ufe";
+ stopnpctimer;
+}
+
+jupe_ele,41,33,0 script 4F Enter#ufe 45,4,4,{
+OnInit:
+ disablenpc "4F Enter#ufe";
+ end;
+
+OnTouch:
+ warp "jupe_core",rand(149,151),286;
+ end;
+}
+
+//============================================================
+// Warps
+//============================================================
+jupe_gate,50,173,0 script gate#start -1,2,3,{
+ end;
+
+OnTouch:
+ initnpctimer;
+ mes "^3355FFIt's a Warp Portal";
+ mes "that will teleport you";
+ mes "to the previous floor.^000000";
+ next;
+ switch(select("Use it.:Ignore it.")) {
+ case 1:
+ specialeffect2 348; // EF_LIGHTSPHERE
+ next;
+ stopnpctimer;
+ warp "juperos_02",130,142;
+ close;
+ case 2:
+ mes "[" + strcharinfo(0) + "]";
+ mes "Not now!";
+ mes "I can't leave yet!";
+ next;
+ warp "jupe_gate",50,168;
+ stopnpctimer;
+ close;
}
+ end;
+
+OnTimer10000:
+ warp "juperos_02",128,278;
+ enablenpc "gate#start#2";
+ disablenpc "gate#start";
+ end;
+}
+
+jupe_gate,50,171,0 script gate#start#2 -1,2,2,{
+OnInit:
+ disablenpc "gate#start#2";
+ end;
+
+OnTouch:
+ warp "juperos_02",130,142;
+ end;
+
+OnTimer2000:
+ enablenpc "gate#start";
+ disablenpc "gate#start#2";
+ end;
+}
+
+juperos_02,33,59,0 script jupe_goto2F 45,2,2,{
+OnTouch:
+ switch(rand(1,4)) {
+ case 1: warp "juperos_01",120,72; end;
+ case 2: warp "juperos_01",120,112; end;
+ case 3: warp "juperos_01",79,112; end;
+ case 4: warp "juperos_01",79,72; end;
+ }
+ end;
}
diff --git a/npc/warps/dungeons/juperos.txt b/npc/warps/dungeons/juperos.txt
index 3208e4c3d..5d23cc273 100644
--- a/npc/warps/dungeons/juperos.txt
+++ b/npc/warps/dungeons/juperos.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= Muad-Dib (1.0)
//===== Current Version: =====================================
-//= 1.3
+//= 1.6
//===== Compatible With: =====================================
//= eAthena with independant npctimer support; RO Episode 8+
//===== Description: =========================================
@@ -15,6 +15,8 @@
//= 1.3 Fixed getting stuck when player relogs in. [Lance]
//= 1.4 Added attachnpctimer to the initnpctimer calls. [Skotlex]
//= 1.5 Implemented a part of the Juperos quest [MasterOfMuppets]
+//= 1.6 Removed area1 and area2 warps. These are event warps. [L0ne_W0lf]
+//= Added static warps for gate -> area1/2/elevator.
//============================================================
yuno_fild07,207,175,0 warp jupwrp01 1,1,jupe_cave,143,52
@@ -54,76 +56,8 @@ s_Nice:
}
-juperos_02,33,60,0 warp jupwrp06 1,1,juperos_01,99,88
-jupe_ele_r,49,27,0 warp jupwrp07 1,1,jupe_gate,49,52
-jupe_gate,49,55,0 warp jupwrp08 1,1,jupe_ele_r,49,30
-
-jupe_gate,28,30,0 warp jupwrp11 1,1,jupe_area1,115,158
-jupe_area1,118,158,0 warp jupwrp12 1,1,jupe_gate,31,30
-jupe_gate,71,30,0 warp jupwrp13 1,1,jupe_area2,48,158
-jupe_area2,45,158,0 warp jupwrp14 1,1,jupe_gate,68,30
-jupe_gate,28,146,0 warp jupwrp15 1,1,jupe_area1,101,222
-jupe_area1,103,222,0 warp jupwrp16 1,1,jupe_gate,31,146
-jupe_gate,71,146,0 warp jupwrp17 1,1,jupe_area2,62,222
-jupe_area2,60,222,0 warp jupwrp18 1,1,jupe_gate,68,146
-
-jupe_area1,84,222,0 warp jupwrp21 1,1,jupe_area1,45,260
-jupe_area1,48,260,0 warp jupwrp22 1,1,jupe_area1,86,222
-jupe_area1,22,226,0 warp jupwrp23 1,1,jupe_area1,22,189
-jupe_area1,22,192,0 warp jupwrp24 1,1,jupe_area1,22,228
-jupe_area1,34,138,0 warp jupwrp25 1,1,jupe_area1,34,103
-jupe_area1,34,106,0 warp jupwrp26 1,1,jupe_area1,34,140
-jupe_area1,58,54,0 warp jupwrp27 1,1,jupe_area1,86,158
-jupe_area1,84,158,0 warp jupwrp28 1,1,jupe_area1,55,54
-
-jupe_area2,79,222,0 warp jupwrp31 1,1,jupe_area2,118,260
-jupe_area2,115,260,0 warp jupwrp32 1,1,jupe_area2,77,222
-jupe_area2,141,226,0 warp jupwrp33 1,1,jupe_area2,141,189
-jupe_area2,141,192,0 warp jupwrp34 1,1,jupe_area2,141,228
-jupe_area2,129,138,0 warp jupwrp35 1,1,jupe_area2,129,103
-jupe_area2,129,106,0 warp jupwrp36 1,1,jupe_area2,129,140
-jupe_area2,105,54,0 warp jupwrp37 1,1,jupe_area2,77,158
-jupe_area2,79,158,0 warp jupwrp38 1,1,jupe_area2,108,54
-
-juperos_02,129,150,0 script JupeWarp2 -1,1,1{
-OnInit:
- disablenpc "JupeWarp2";
- end;
-OnTouch:
- warp "jupe_gate",49,162;
- end;
-}
-
-jupe_gate,49,168,0 script JupeWarp3 -1,1,1,{
-OnTouch:
- warp "juperos_02",129,147;
- end;
-}
-
-jupe_ele_r,50,98,0 script Juperos Guard 111,{
- mes "Are you sure you want to enter the Juperos Core?";
- next;
- if(select("Yes","No") == 1){
- attachnpctimer;
- initnpctimer;
- soundeffect "jupe_warning.wav",0;
- }
- close;
-
-OnTimer5000:
- stopnpctimer;
- setnpctimer 0;
- warp "jupe_core",150,20;
- end;
-}
-
-jupe_core,150,17,0 script Juperos Guard#2 111,{
- mes "Leave Juperos Core?";
- next;
- if(select("Yes", "No") == 1){
- close2;
- warp "jupe_ele_r",50,94;
- end;
- }
- close;
-}
+jupe_gate,28,145,0 warp gate#left1 45,2,4,jupe_area1",100,222
+jupe_area1,103,222,0 warp gate#left2 45,2,4,jupe_gate",31,145
+jupe_gate,71,145,0 warp gate#right1 45,2,4,jupe_area2",63,222
+jupe_area2,60,222,0 warp gate#right2 45,2,4,jupe_gate",68,145
+jupe_gate,49,55,0 warp gate#ele 45,4,2,jupe_ele_r,49,30