summaryrefslogtreecommitdiff
path: root/npc/025-1/ctrl.c
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2020-05-31 19:54:35 +0000
committerJesusaves <cpntb1@ymail.com>2020-05-31 19:54:35 +0000
commit997a016849e1dd360ba60be17225345d2bc1517b (patch)
tree37ddcf528b4d1c16cdd3fc197bbab72b0592616b /npc/025-1/ctrl.c
parent27070e4dc97ac0deb6085bb938e348ae70d79e7c (diff)
downloadserverdata-997a016849e1dd360ba60be17225345d2bc1517b.tar.gz
serverdata-997a016849e1dd360ba60be17225345d2bc1517b.tar.bz2
serverdata-997a016849e1dd360ba60be17225345d2bc1517b.tar.xz
serverdata-997a016849e1dd360ba60be17225345d2bc1517b.zip
[WebIDE] [Fortress Town] Magic Statue.
Sketch the function which the Magic Statues will use. Make a TODO list. Note: The statues aren't around yet!
Diffstat (limited to 'npc/025-1/ctrl.c')
-rw-r--r--npc/025-1/ctrl.c48
1 files changed, 47 insertions, 1 deletions
diff --git a/npc/025-1/ctrl.c b/npc/025-1/ctrl.c
index 4833c6561..28ae146d5 100644
--- a/npc/025-1/ctrl.c
+++ b/npc/025-1/ctrl.c
@@ -10,6 +10,15 @@
// $FORTRESS_STATE = int
// 0 - Locked
// 1 - Unlocked
+// $@FORTRESS_STATUE = bitmask
+// 1,2,4,8... broken statues
+// TODO: Use bg() - maybe with dummysd?
+// TODO: Gate control during siege (not $FORTRESS_STATE). Gate monster.
+// TODO: Spawn the monster general for each statue. Count their deaths.
+// TODO: Spawn Monster Governor (and add it) once statue is broken. ::OnConquest
+// TODO: Record nÂș of victories. Strengthen the governor.
+// TODO: Provide a way to resume failed attempts. Move Phoenix inside.
+// TODO: Testing
// MAPFLAGS
025-1 mapflag zone MMO
@@ -21,12 +30,49 @@
// FTCleanup(status)
function script FTCleanup {
$FORTRESS_STATE=getarg(0);
- //enablenpc
+ // TODO: Magic Statues (FTStatue)
+ $@FORTRESS_STATUE=0;
+ //enablenpc "Magic Statue#F_1";
+ //enablenpc "Magic Statue#F_2";
+ //enablenpc "Magic Statue#F_4";
+ //enablenpc "Magic Statue#F_8";
+ //enablenpc "Magic Statue#F_16";
+ // TODO: Gate
+ // TODO: ::OnConquest
+ // TODO: Kill stray monsters
//killmonsterall
return;
}
+// FTStatue(id)
+function script FTStatue {
+ .@id=getarg(0);
+ mesn l("Magic Statue");
+ mes l("There is a reading: The Mana Source. The Moubootaur. The Monster King.");
+ mes l("The war. The blood. The inspiration. The mana. The world. The defiance.");
+ mes l("The guard. The heir. The originals. The races. The later. The seal.");
+ mes l("The fragments. The war. The Terranite. AEGIS MAGNUS PROTECT SHIELD.");
+ next;
+ mesc l("It seems to be a defensive spell.");
+ if ($FORTRESS_STATE)
+ return;
+
+ // Break the statues?
+ mesc l("Break the Statue?"), 1;
+ next;
+ if (askyesno() == ASK_YES) {
+ if ($@FORTRESS_STATUE & .@id)
+ return;
+ sc_start SC_STUN, 10000, 1;
+ //getmapxy();
+ //areamonster();
+ //mapannounce();
+ //maybe spawn monster governor
+ $@FORTRESS_STATUE=$@FORTRESS_STATUE|.@id;
+ }
+ return;
+}