isunited; if(in_array($isunited, [0, 2])){ return [__CLASS__, "No Invader"]; } $nationCnt = $db->queryFirstField('SELECT count(*) FROM nation'); if($nationCnt >= 2){ return [__CLASS__, "On Event"]; } $gameStor = KVStorage::getStorage($db, 'game_env'); $logger = new ActionLogger(0, 0, $env['year'], $env['month']); $needStop = false; $userWin = false; $cityCnt = $db->queryFirstField('SELECT count(*) FROM city WHERE nation = 0'); if($cityCnt == 0){ $needStop = true; $nationName = $db->queryFirstField('SELECT name FROM nation LIMIT 1'); if(!\str_starts_with($nationName, 'ⓞ')){ $userWin = true; } } else if($cityCnt == count(CityConst::all())){ $needStop = true; $userWin = false; } if(!$needStop){ return [__CLASS__, "On Event"]; } if($userWin){ //천통 엔딩 $logger->pushGlobalHistoryLog("【이벤트】이민족을 모두 소탕했습니다!"); $logger->pushGlobalHistoryLog("【이벤트】중원은 당분간 태평성대를 누릴 것입니다."); } else { //이민족 엔딩 $logger->pushGlobalHistoryLog("【이벤트】중원은 이민족에 의해 혼란에 빠졌습니다."); $logger->pushGlobalHistoryLog("【이벤트】백성은 언젠가 영웅이 나타나길 기다립니다."); } $gameStor->setValue('isunited', 3); $logger->flush(); $gameStor->refreshLimit = $gameStor->refreshLimit * 100; $eventID = Util::array_get($env['currentEventID']); $db->delete('event', 'id = %i', $eventID); return [__CLASS__, 'Deleted']; } }