// Evol script // Year: 2022 // //////////////////////////////////////////////// // Red Corsair Day -|script|#CRC2022|32767 { end; OnFirst: if (strcharinfo(0) != "Blanc" && 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) != "Cerise" && GM < G_SYSOP) end; wgm "==> CRC Day Phase 2 Started by "+strcharinfo(0); set $@CRC22, 2; disablenpc "Unknown Ship"; enablenpc "Zax De'Kagen#CRC"; fakenpcname "Zax De'Kagen#CRC", "Zax De'Kagen#CRC", 1142; initnpctimer; goto L_Extra; OnThird: if (strcharinfo(0) != "Cerise" && 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; } // Puppets 020-1,76,85,0|script|Zax De'Kagen#CRC|425 { mes "[Zax De'Kagen]"; mes "\"I will not tolerate people trying to defile my world. I'm sealing the lake, and that's final.\""; close; OnInit: disablenpc strnpcinfo(0); end; }