summaryrefslogtreecommitdiff
path: root/npc/025-1/ctrl.c
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2021-01-13 19:19:23 -0300
committerJesusaves <cpntb1@ymail.com>2021-01-13 19:19:23 -0300
commit77a8522b9a7a7125447b059af90debc7c5c506e6 (patch)
treee448a7002b19b7f214db36a472500a3d46f73964 /npc/025-1/ctrl.c
parentc3d9873fbf3a5076a3b435e312e748e7e440353c (diff)
downloadserverdata-77a8522b9a7a7125447b059af90debc7c5c506e6.tar.gz
serverdata-77a8522b9a7a7125447b059af90debc7c5c506e6.tar.bz2
serverdata-77a8522b9a7a7125447b059af90debc7c5c506e6.tar.xz
serverdata-77a8522b9a7a7125447b059af90debc7c5c506e6.zip
Conditional connection between 025-1 and 025-2
Blacklist check included, but no name is written on it... Yet.
Diffstat (limited to 'npc/025-1/ctrl.c')
-rw-r--r--npc/025-1/ctrl.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/npc/025-1/ctrl.c b/npc/025-1/ctrl.c
index 483f70c5f..44cba78e8 100644
--- a/npc/025-1/ctrl.c
+++ b/npc/025-1/ctrl.c
@@ -13,6 +13,8 @@
// $@FORTRESS_STATUE = bitmask
// 1,2,4,8,16 - broken statues
// 1024 - Fortress Gate
+// $@FORT_BLACKLIST = int array
+// Char ID which already raided this week
// TODO: Use bg() - maybe with dummysd? What will increase allies count?
// TODO: Gate control during siege (not $FORTRESS_STATE). Gate monster.
// TODO: Spawn the monster general for each statue. Count their deaths.
@@ -57,6 +59,7 @@ function script FTCleanup {
donpcevent "#025-1_99_112::OnEnable";
mapwarp("025-1", "025-2", 100, 27);
}
+ deletearray $@FORT_BLACKLIST;
return;
}
@@ -136,6 +139,7 @@ function script FTStatue {
// TODO: Initial defending waves
// TODO: Enable the statues
// TODO: Summon reinforcements
+ // TODO: Player blacklist (unable to use 025-2 warp)
close;
/////////////////////////////////////////////////////////
@@ -185,4 +189,20 @@ OnTouch:
+/////////////////////////////////////////////////////////
+// Real access to 025-1 map
+025-2,96,24,0 script Fortress Town Access NPC_HIDDEN,8,0,{
+ end;
+OnTouch:
+ // Disabled
+ if ($GAME_STORYLINE < 3 && !$@GM_OVERRIDE && !is_gm())
+ end;
+ // Blacklisted
+ if (array_find($@FORT_BLACKLIST, getcharid(0)) != -1)
+ end;
+ // Not blacklisted
+ warp "025-1", 99, 122;
+ end;
+}
+