From 429f1d87a34997ebb053ee4b159fe30e6c6a3f85 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Mon, 11 Apr 2022 20:39:07 -0300 Subject: CRC Day utilities (#609) CRC Day utilities and minor bugfixes (revert upmarmu changes) --- world/map/npc/annuals/2022.txt | 273 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 273 insertions(+) create mode 100644 world/map/npc/annuals/2022.txt (limited to 'world/map/npc/annuals/2022.txt') diff --git a/world/map/npc/annuals/2022.txt b/world/map/npc/annuals/2022.txt new file mode 100644 index 00000000..3c4aa6de --- /dev/null +++ b/world/map/npc/annuals/2022.txt @@ -0,0 +1,273 @@ +// Evol script +// Year: 2022 +// +//////////////////////////////////////////////// +// Red Corsair Day + +-|script|#CRC2022|32767 +{ + end; + +OnFirst: + if (strcharinfo(0) != "Dave Sugar" && GM < G_SYSOP) end; + wgm "==> CRC Day Phase 1 Started by "+strcharinfo(0); + set $@CRC22, 1; + enablenpc "Unknown Ship"; + initnpctimer; + goto OnTimer30000; + +OnSecond: + if (strcharinfo(0) != "Zax De'Kagen" && GM < G_SYSOP) end; + wgm "==> CRC Day Phase 2 Started by "+strcharinfo(0); + set $@CRC22, 2; + disablenpc "Unknown Ship"; + initnpctimer; + goto L_Extra; + +OnThird: + if (strcharinfo(0) != "Red Reidy" && GM < G_SYSOP) end; + wgm "==> CRC Day Phase 3 Started by "+strcharinfo(0); + set $@CRC22, 3; + disablenpc "Enemy Ship"; + stopnpctimer; + end; + +OnStatus: + if (!$@CRC22) end; + set $@CRC22Mc, mobcount("007-1", "#CRC2022::OnDie")+ + mobcount("008-1", "#CRC2022::OnDie")+ + mobcount("009-1", "#CRC2022::OnDie")+ + mobcount("011-1", "#CRC2022::OnDie")+ + mobcount("031-1", "#CRC2022::OnDie")+ + mobcount("018-1", "#CRC2022::OnDie")+ + mobcount("018-3", "#CRC2022::OnDie")+ + 7; + message strcharinfo(0), "Monsters remaining: "+$@CRC22Mc; + if ($@CRC22Mc <= 0) + set $@CRC22, 0; + // TODO: Announce? + set $@CRC22Mc, 0; + end; + +OnTimer30000: + // Outskirts + set $@CRC22Mc, mobcount("008-1", "#CRC2022::OnDie")+1; + set $@CRC22Gl, 32; + set $@CRC22M$, "008-1"; + set $@CRC22Xm, 140; + set $@CRC22Ym, 100; + if ($@CRC22Mc >= $@CRC22Gl) goto L_End; + callsub S_Spawn; + end; + +L_End: + end; + +// Redundant +OnTimer15000: + goto OnTimer30000; + +// Redundant +OnTimer45000: + goto OnTimer30000; + +// Redundant +OnTimer60000: + goto OnTimer30000; + +OnTimer70000: + // Hurnscald [LOCKED DOWN] + set $@CRC22Mc, mobcount("009-1", "#CRC2022::OnDie")+1; + set $@CRC22Gl, 100; + set $@CRC22M$, "009-1"; + set $@CRC22Xm, 100; + set $@CRC22Ym, 60; + if ($@CRC22Mc >= $@CRC22Gl) end; + callsub S_Spawn; + end; + +OnTimer72000: + // Outskirts + set $@CRC22Mc, mobcount("008-1", "#CRC2022::OnDie")+1; + set $@CRC22Gl, 40; + set $@CRC22M$, "008-1"; + set $@CRC22Xm, 140; + set $@CRC22Ym, 100; + if ($@CRC22Mc >= $@CRC22Gl) end; + callsub S_Spawn; + end; + +// Duplicate for infinity loop bug +OnTimer74000: + // South Forest (LOCKED DOWN) + set $@CRC22Mc, mobcount("007-1", "#CRC2022::OnDie")+1; + set $@CRC22Gl, 110; + set $@CRC22M$, "007-1"; + set $@CRC22Xm, 130; + set $@CRC22Ym, 90; + if ($@CRC22Mc >= $@CRC22Gl) end; + callsub S_Spawn; + end; + +OnTimer75000: + // South Forest (LOCKED DOWN) + set $@CRC22Mc, mobcount("007-1", "#CRC2022::OnDie")+1; + set $@CRC22Gl, 220; + set $@CRC22M$, "007-1"; + set $@CRC22Xm, 130; + set $@CRC22Ym, 90; + if ($@CRC22Mc >= $@CRC22Gl) end; + callsub S_Spawn; + end; + +// Duplicate for infinity loop bug +OnTimer76000: + // West Forest (LOCKED DOWN) + set $@CRC22Mc, mobcount("011-1", "#CRC2022::OnDie")+1; + set $@CRC22Gl, 120; + set $@CRC22M$, "011-1"; + set $@CRC22Xm, 130; + set $@CRC22Ym, 110; + if ($@CRC22Mc >= $@CRC22Gl) end; + callsub S_Spawn; + end; + +OnTimer77000: + // West Forest (LOCKED DOWN) + set $@CRC22Mc, mobcount("011-1", "#CRC2022::OnDie")+1; + set $@CRC22Gl, 240; + set $@CRC22M$, "011-1"; + set $@CRC22Xm, 130; + set $@CRC22Ym, 110; + if ($@CRC22Mc >= $@CRC22Gl) end; + callsub S_Spawn; + end; + +OnTimer78000: + // Nivalis Port (LOCKED DOWN) + set $@CRC22Mc, mobcount("031-1", "#CRC2022::OnDie")+1; + set $@CRC22Gl, 100; + set $@CRC22M$, "031-1"; + set $@CRC22Xm, 110; + set $@CRC22Ym, 130; + if ($@CRC22Mc >= $@CRC22Gl) end; + callsub S_Spawn; + end; + +OnTimer80000: + if ($@CRC22 > 1) goto L_Extra; + // Nothing at mines yet + initnpctimer; + end; + +L_Extra: + // Outskirts [LOCKDOWN] + set $@CRC22Mc, mobcount("008-1", "#CRC2022::OnDie")+1; + set $@CRC22Gl, 80; + set $@CRC22M$, "008-1"; + set $@CRC22Xm, 140; + set $@CRC22Ym, 100; + if ($@CRC22Mc >= $@CRC22Gl) end; + callsub S_Spawn; + end; + +OnTimer84000: + // Hurnscald Mines (Outskirt) + set $@CRC22Mc, mobcount("018-1", "#CRC2022::OnDie")+1; + set $@CRC22Gl, 40; + set $@CRC22M$, "018-1"; + set $@CRC22Xm, 140; + set $@CRC22Ym, 100; + if ($@CRC22Mc >= $@CRC22Gl) end; + callsub S_Spawn; + end; + +// Duplicate for infinity loop bug +OnTimer86000: + // Obelisk Cave & Mines [LOCKED DOWN] + set $@CRC22Mc, mobcount("018-3", "#CRC2022::OnDie")+1; + set $@CRC22Gl, 100; + set $@CRC22M$, "018-3"; + set $@CRC22Xm, 180; + set $@CRC22Ym, 180; + if ($@CRC22Mc < $@CRC22Gl) end; + callsub S_Spawn; + end; + +// Duplicate for infinity loop bug +OnTimer88000: + // Obelisk Cave & Mines [LOCKED DOWN] + set $@CRC22Mc, mobcount("018-3", "#CRC2022::OnDie")+1; + set $@CRC22Gl, 200; + set $@CRC22M$, "018-3"; + set $@CRC22Xm, 180; + set $@CRC22Ym, 180; + if ($@CRC22Mc < $@CRC22Gl) end; + callsub S_Spawn; + end; + +OnTimer89000: + // Obelisk Cave & Mines [LOCKED DOWN] + set $@CRC22Mc, mobcount("018-3", "#CRC2022::OnDie")+1; + set $@CRC22Gl, 300; + set $@CRC22M$, "018-3"; + set $@CRC22Xm, 180; + set $@CRC22Ym, 180; + if ($@CRC22Mc < $@CRC22Gl) end; + callsub S_Spawn; + end; + +OnTimer90000: + initnpctimer; + end; + +// Extra wave control system [0] +S_Spawn: + set $@CRC_IDX, rand(getarraysize($@crc_mobs)); + + areamonster $@CRC22M$, 20, 20, $@CRC22Xm, $@CRC22Ym, "", $@crc_mobs[$@CRC_IDX], 1, "#CRC2022::OnDie"; + + set $@CRC22Mc, $@CRC22Mc + 1; + if($@CRC22Mc < $@CRC22Gl) goto S_Spawn; + return; + +OnDie: + end; + +OnInit: + setarray $@crc_mobs, 1119, 1120, 1121, 1119, 1120, 1121, 1157, 1155, 1163, 1090, 1064, 1119, 1120, 1121, 1119, 1120; + // Register commands + registercmd "#crcstart", strnpcinfo(0)+"::OnFirst"; + registercmd "#crcnext", strnpcinfo(0)+"::OnSecond"; + registercmd "#crclast", strnpcinfo(0)+"::OnThird"; + registercmd "#crcstatus", strnpcinfo(0)+"::OnStatus"; + end; +} + +// Puppets +008-1,140,72,0|script|Enemy Ship|395 +{ + end; +OnInit: + disablenpc strnpcinfo(0); + end; +} + +// Puppets +018-1,142,74,0|script|Unknown Ship|395 +{ + end; +OnInit: + disablenpc strnpcinfo(0); + end; +} + +// Puppets +008-1,140,70,0|script|Tal#CRC|427 +{ + end; +OnInit: + disablenpc strnpcinfo(0); + end; +} + -- cgit v1.2.3-60-g2f50