1턴"; foreach(Util::range(1, GameConst::$maxTurn) as $turnIdx){ $turnText = $turnIdx + 1; $turnList[] = ""; } $turnText = join("\n", $turnList); return " "; } function chiefTurnTable() { $turnList = []; $turnList[] = ""; foreach(Util::range(1, GameConst::$maxChiefTurn) as $turnIdx){ $turnText = $turnIdx + 1; $turnList[] = ""; } $turnText = join("\n", $turnList); return " "; } function displayiActionObjInfo(?iAction $action){ if($action === null){ $info = ''; $text = '-'; } else{ $info = $action->getInfo(); $text = $action->getName(); } $templates = new \League\Plates\Engine(__DIR__.'/templates'); return $templates->render('tooltip', [ 'text'=>$text, 'info'=>$info, ]); } function displayCharInfo(string $type):string{ $class = buildPersonalityClass($type); $info = $class->getInfo(); $text = $class->getName(); $templates = new \League\Plates\Engine(__DIR__.'/templates'); return $templates->render('tooltip', [ 'text'=>$text, 'info'=>$info, ]); } function displaySpecialWarInfo(?string $type):string{ $class = buildGeneralSpecialWarClass($type); $info = $class->getInfo(); $name = $class->getName(); $templates = new \League\Plates\Engine(__DIR__.'/templates'); return $templates->render('tooltip', [ 'text'=>$name, 'info'=>$info, ]); } function displaySpecialDomesticInfo(?string $type):string{ $class = buildGeneralSpecialDomesticClass($type); $info = $class->getInfo(); $name = $class->getName(); $templates = new \League\Plates\Engine(__DIR__.'/templates'); return $templates->render('tooltip', [ 'text'=>$name, 'info'=>$info, ]); } function allButton(bool $seizeNPCMode) { if($seizeNPCMode) { $site = "a_npcList.php"; $call = "빙의일람"; } else { $site = "a_vote.php"; $call = "설문조사"; } if(\file_exists(__DIR__."/d_setting/templates/allButton.php")){ $templates = new \League\Plates\Engine(__DIR__.'/d_setting/templates'); } else{ $templates = new \League\Plates\Engine(__DIR__.'/templates'); } return $templates->render('allButton', [ 'call' => $call, 'site' => $site ]); } function commandButton() { $session = Session::getInstance(); $userID = Session::getUserID(); if(!$session->isGameLoggedIn()){ return ''; } $db = DB::db(); $me = $db->queryFirstRow("select no,nation,officer_level,belong,permission,penalty from general where owner=%i", $userID); $nation = $db->queryFirstRow("select nation,level,color,secretlimit from nation where nation=%i",$me['nation'])??[ 'nation'=>0, 'level'=>0, 'secretlimit'=>99, 'color'=>'#000000' ]; $bgColor = Util::array_get($nation['color'])?:'#000000'; $fgColor = newColor($bgColor); $templates = new \League\Plates\Engine(__DIR__.'/templates'); $showSecret = false; $permission = checkSecretPermission($me); if($permission >= 1){ $showSecret = true; } else if($me['officer_level']== 0){ $showSecret = false; } return $templates->render('commandButton', [ 'bgColor'=>$bgColor, 'fgColor'=>$fgColor, 'meLevel'=>$me['officer_level'], 'nationLevel'=>$nation['level'], 'showSecret'=>$showSecret, 'permission'=>$permission, ]); } function formatWounded(int $value, int $wound): string{ if($wound == 0){ return "$value"; } $woundedValue = intdiv($value * (100 - $wound), 100); return "$woundedValue"; } function formatDefenceTrain(int $value): string{ if($value === 999){ return "×"; } else if($value >= 80){ return "◎"; } else{ return "○"; } } function formatLeadershipBonus(int $value): string{ if($value == 0){ return ''; } return "+{$value}"; } function formatName(string $name, int $npc): string{ if($npc==1){ $name = "$name"; } else if($npc>1){ $name = "$name"; } return $name; } function getMapHtml(?string $mapTheme=null){ $templates = new \League\Plates\Engine(__DIR__.'/templates'); if($mapTheme === null){ $db = DB::db(); $gameStor = KVStorage::getStorage($db, 'game_env'); $mapTheme = $gameStor->map_theme??'che'; } return $templates->render('map', [ 'mapTheme'=>$mapTheme ]); } function getInvitationList(array $nationList){ $templates = new \League\Plates\Engine(__DIR__.'/templates'); foreach($nationList as &$nation){ $nation['textColor'] = newColor($nation['color']); } return $templates->render('invitationList', [ 'nationList'=>$nationList ]); }