summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/014-4/kamelot.txt45
1 files changed, 44 insertions, 1 deletions
diff --git a/npc/014-4/kamelot.txt b/npc/014-4/kamelot.txt
index 122b8134d..a3036d125 100644
--- a/npc/014-4/kamelot.txt
+++ b/npc/014-4/kamelot.txt
@@ -30,11 +30,54 @@
end;
OnTouch:
+ // XXX STATUS: STAGING XXX
if (!is_staff())
end;
+
+ // Not in a guild: Gate is sealed (MK might be excluded as well)
+ if (getcharid(2) <= 0) {
+ dispbottom l("The gates are firmly shut. A warning is on the door, \"DO NOT ENTER. Guild Only.\"");
+ end;
+ }
+
+ // Save your GID for reference
+ .@g=getcharid(2);
+
+ // TODO: Cooldown expired? Defeat artifact?
+
+ // Quest already started
+ if ($KAMELOT_QUEST[.@g] & 1) {
+ dispbottom l("The gates are firmly shut by some weird magical power.");
+ end;
+ }
+
+ // Build instance if it doesn't exists
+ if (!isinstance($KAMELOT_ID[.@g])) {
+ debugmes "Creating Instance";
+ .@inst=instance_create("Kamelot@"+.@g, 0, IOT_GUILD);
+ if (.@inst < 0)
+ Exception("Kamelot Instance Error", RB_DEFAULT|RB_ISFATAL);
+ instance_attachmap("042-0", .@inst, 0, "042-0@"+.@g);
+ instance_attachmap("042-1", .@inst, 0, "042-1@"+.@g);
+ instance_attachmap("042-2", .@inst, 0, "042-2@"+.@g);
+ instance_attachmap("042-3", .@inst, 0, "042-3@"+.@g);
+ instance_attachmap("042-4", .@inst, 0, "042-4@"+.@g);
+ instance_attachmap("042-5", .@inst, 0, "042-5@"+.@g);
+ instance_attachmap("042-6", .@inst, 0, "042-6@"+.@g);
+ instance_attachmap("042-7", .@inst, 0, "042-7@"+.@g);
+ instance_attachmap("042-8", .@inst, 0, "042-8@"+.@g);
+ instance_attachmap("042-9", .@inst, 0, "042-9@"+.@g);
+ instance_attachmap("042-10", .@inst, 0, "042-10@"+.@g);
+ instance_attachmap("042-11", .@inst, 0, "042-11@"+.@g);
+ instance_set_timeout(0, 0, .@inst);
+ instance_init(.@inst);
+ $KAMELOT_ID[.@g] = .@inst;
+ }
+
+ // You can enter in every other stage
dispbottom l("Advised Raid Party: One Thief, one Mage");
if (is_admin())
- warp "042-0", any(59, 60), 80;
+ warp "042-0@"+.@g, any(59, 60), 80;
end;
}