main = $main; $this->server = $main->getServer(); } /** * Tick tack... * * @param int $tick * @return void */ public function onRun(int $tick) { foreach(self::$ghosts as $i => $g){ self::$ghosts[$i]->currentSec += 0.1; switch(self::$ghosts[$i]->currentSec){ case 48: // 0m48s self::$ghosts[$i]->getPlayer()->getLevel()->setTime(16000); // Set time to night break; case 64: // 1m04s self::$ghosts[$i]->blackOutEnterPhase(); break; case 66: // 1m06s self::$ghosts[$i]->blackOutExitPhase(); self::$ghosts[$i]->intenseFight(); break; case 82: // 1m22s self::$ghosts[$i]->movePlayerRandomly(); self::$ghosts[$i]->repeatFunc = "move"; break; case 88: // 1m28s self::$ghosts[$i]->calmFight(); self::$ghosts[$i]->repeatFunc = null; break; case 95: // 1m35s self::$ghosts[$i]->destroyBlocksRandomly(); self::$ghosts[$i]->repeatFunc = "blockdis"; break; case 100: // 1m40s self::$ghosts[$i]->repeatFunc = null; self::$ghosts[$i]->blackOutEnterPhase(); break; case 103: // 1m43s self::$ghosts[$i]->blackOutExitPhase(); self::$ghosts[$i]->intenseFight(); break; case 136: // 2m16s self::$ghosts[$i]->calmFight(); break; case 151: // 2m31s self::$ghosts[$i]->fightType = 0; break; case 152: // 2m32s self::$ghosts[$i]->blackOutEnterPhase(); break; case 153: // 2m33s self::$ghosts[$i]->blackOutExitPhase(); self::$ghosts[$i]->intenseFight(); break; case 168: // 2m48s self::$ghosts[$i]->movePlayerRandomly(); self::$ghosts[$i]->repeatFunc = "move"; break; case 176: // 2m56s self::$ghosts[$i]->destroyBlocksRandomly(); self::$ghosts[$i]->repeatFunc = "blockdis"; break; case 183: // 3m03s self::$ghosts[$i]->repeatFunc = null; self::$ghosts[$i]->intenseFight(); break; case 197: // 3m17s self::$ghosts[$i]->blackOutEnterPhase(); break; case 198: // 3m18s self::$ghosts[$i]->blackOutExitPhase(); self::$ghosts[$i]->intenseFight(); break; case 227: // 3m47s self::$ghosts[$i]->calmFight(); break; case 262: // 4m22 self::unregisterGhost(self::$ghosts[$i]); self::$ghosts[$i]->close(); break; default: switch(self::$ghosts[$i]->repeatFunc){ case "move": self::$ghosts[$i]->movePlayerRandomly(); break; case "blockdis": self::$ghosts[$i]->destroyBlocksRandomly(); break; } break; } } } /** * Registers a ghost to the class * * @param Ghost $g * @return void */ public static function registerGhost(Ghost $g){ $g->currentSec = 0; $g->repeatFunc = null; self::$ghosts[$g->getId()] = $g; } /** * Unregisters a ghost from the class * * @param Ghost $g * @return void */ public static function unregisterGhost(Ghost $g){ unset(self::$ghosts[$g->getId()]); } }