summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--npc/042-0/arthur.txt13
-rw-r--r--npc/042-1/_import.txt1
-rw-r--r--npc/042-1/_warps.txt3
-rw-r--r--npc/042-1/door.txt27
4 files changed, 35 insertions, 9 deletions
diff --git a/npc/042-0/arthur.txt b/npc/042-0/arthur.txt
index 30e00890e..878502077 100644
--- a/npc/042-0/arthur.txt
+++ b/npc/042-0/arthur.txt
@@ -178,10 +178,19 @@ OnInstanceInit:
OnTouch:
.@g=getcharid(2);
- if ($KAMELOT_QUEST[.@g] & 1)
+ if ($KAMELOT_QUEST[.@g] & 1) {
warp "042-1@"+.@g, 55, 99;
- else
+ } else {
dispbottom l("The door is locked.");
+ end;
+ }
+
+ // Maybe event must be fired
+ if (!($KAMELOT_KEYMASK[.@g] & 16)) {
+ .@label$=instance_npcname("#KDoor0421", $@KAMELOT_ID[.@g])+"::OnArrival";
+ deltimer .@label$;
+ addtimer 15000, .@label$;
+ }
end;
}
diff --git a/npc/042-1/_import.txt b/npc/042-1/_import.txt
index 491ca4354..9e6aaffb1 100644
--- a/npc/042-1/_import.txt
+++ b/npc/042-1/_import.txt
@@ -1,4 +1,3 @@
// Map 042-1: Camelot - Weapon Room
// This file is generated automatically. All manually added changes will be removed when running the Converter.
-"npc/042-1/_warps.txt",
"npc/042-1/door.txt",
diff --git a/npc/042-1/_warps.txt b/npc/042-1/_warps.txt
deleted file mode 100644
index 4e77e91b8..000000000
--- a/npc/042-1/_warps.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-// This file is generated automatically. All manually added changes will be removed when running the Converter.
-// Map 042-1: Camelot - Weapon Room warps
-042-1,55,100,0 warp #042-1_55_100 0,0,042-0,69,25
diff --git a/npc/042-1/door.txt b/npc/042-1/door.txt
index 110a0321d..fd1386b6c 100644
--- a/npc/042-1/door.txt
+++ b/npc/042-1/door.txt
@@ -43,7 +43,7 @@ OnKillBoss:
end;
OnKillMob:
- .@label$=instance_npcname(.name$)+"::OnKillMob");
+ .@label$=instance_npcname(.name$)+"::OnKillMob";
// Oh noes! No player attached D:
// This kill is meaningless, RESPAWN IT, RESPAWN IT
if (!playerattached()) {
@@ -76,7 +76,7 @@ OnKillMob:
// Maybe we should advance the wave
if ($@KAMELOT_WAVE == 3) {
- debugmes "Boss Spawn";
+ debugmes "Kamelot %d: Boss Spawn", .@g;
initnpctimer;
setd("$@GTEMP_"+getmap(), .@avg);
.@mcount=.@gcount;
@@ -136,7 +136,7 @@ OnTimer5000:
end;
OnTimer10000:
- .@label$=instance_npcname(.name$)+"::OnKillBoss");
+ .@label$=instance_npcname(.name$)+"::OnKillBoss";
.@m$=instance_mapname("042-1");
mapannounce .@m$, "I'll get rid of you myself!!", 0;
.@mobId=any(CursedSoldier, CursedArcher);
@@ -168,5 +168,26 @@ OnTimer10000:
setunitdata(.@mob, UDT_CRIT, rand2(.@min, .@max));
stopnpctimer;
end;
+
+OnArrival:
+ if ($@KAMELOT_WAVE == 0)
+ goto OnKillMob;
+ end;
+}
+
+
+// Required exit
+042-1,55,100,0 script #KDoor0421B NPC_HIDDEN,0,0,{
+ end;
+
+OnTouch:
+ .@g=getcharid(2);
+ if ($KAMELOT_KEYMASK[.@g] & 16) {
+ dispbottom l("WARNING: If you walk out the main gate you WON'T be able to return!");
+ warp "042-0@"+.@g, 69, 25;
+ } else {
+ dispbottom l("Oh noes! The guards locked the door!");
+ }
+ end;
}