diff --git a/hwe/b_currentCity.php b/hwe/b_currentCity.php index 37f2dd6f..0a6a289e 100644 --- a/hwe/b_currentCity.php +++ b/hwe/b_currentCity.php @@ -170,7 +170,7 @@ if($valid == 0 && $session->userGrade < 5) { $city = $db->queryFirstRow('SELECT * FROM city WHERE city=%i', $citylist); -$nation = getNationStaticInfo($city['nation']); +$cityNation = getNationStaticInfo($city['nation']); //태수, 군사, 시중 $gen1 = $db->queryFirstRow('SELECT `name`, npc FROM general WHERE `no`=%i', $city['gen1']); @@ -180,81 +180,7 @@ $gen3 = $db->queryFirstRow('SELECT `name`, npc FROM general WHERE `no`=%i', $cit if($city['trade'] == 0) { $city['trade'] = "- "; } -?> - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
"; bgcolor=>【 |
주민/농업/상업/치안/수비/성벽/
민심시세%인구%태수군사시중
장수 - -
- - -
- - - - - - - - - - - - - - - - - -render('cityGeneral', [ + $generalsFormat[] = [ 'ourGeneral'=>$ourGeneral, 'isNPC'=>$isNPC, 'wounded'=>$wounded, @@ -366,7 +295,159 @@ for($j=0; $j < $gencount; $j++) { 'nation'=>$nation, 'nationName'=>$nationName, 'turnText'=>$turnText - ]); + ]; +} + +$generalsName = array_map(function($gen){return $gen['name'];}, $generalsFormat); + +$enemyCrew = 0; +$enemyCnt = 0; +$enemyArmedCnt = 0; +$crew90 = 0; +$gen90 = 0; +$crew80 = 0; +$gen80 = 0; +$crew60 = 0; +$gen60 = 0; + +$crewDef = 0; +$genDef = 0 ; + +$crewTotal = 0; +$armedGenTotal = 0; +$genTotal = 0; + + +foreach($generalsFormat as $general){ + if($general['nation'] == 0){ + continue; + } + if($general['nation'] != $myNation['nation']){ + $enemyCnt += 1; + $enemyCrew += $general['crew']; + if($general['crew'] > 0){ + $enemyArmedCnt += 1; + } + continue; + } + + $crewTotal += $general['crew']; + $genTotal += 1; + + if($general['crew'] == 0){ + continue; + } + $armedGenTotal += 1; + + if($general['train'] >= 90 && $general['atmos'] >= 90){ + $crew90 += $general['crew']; + $gen90 += 1; + } + + $chkDef = false; + if($general['train'] >= 80 && $general['atmos'] >= 80){ + $crew80 += $general['crew']; + $gen80 += 1; + if($general['defenceMode'] == 2){ + $crewDef += $general['crew']; + $genDef += 1; + $chkDef = true; + } + } + + if($general['train'] >= 60 && $general['atmos'] >= 60){ + $crew60 += $general['crew']; + $gen60 += 1; + + if($general['defenceMode'] == 1 && !$chkDef){ + $crewDef += $general['crew']; + $genDef += 1; + $chkDef = true; + } + } + +} + +?> + +
얼 굴이 름통솔무력지력관 직병 종병 사훈련사기명 령
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
; background:'>【 | ; background:' class='center'>
주민/농업/상업/치안/수비/성벽/
민심시세%인구%태수군사시중
도시명적군/()병장(총)/()90병장/60병장/수비○/
장수
+ +
+ + + + + + + + + + + + + + + + + +render('cityGeneral', $general); } ?> diff --git a/hwe/b_genList.php b/hwe/b_genList.php index 7250156e..56795135 100644 --- a/hwe/b_genList.php +++ b/hwe/b_genList.php @@ -9,8 +9,6 @@ if ($type <= 0 || $type > 8) { $type = 7; } -extractMissingPostToGlobals(); - //로그인 검사 $session = Session::requireGameLogin()->setReadOnly(); $userID = Session::getUserID(); @@ -19,7 +17,7 @@ $db = DB::db(); $gameStor = KVStorage::getStorage($db, 'game_env'); $connect=$db->get(); -increaseRefresh("암행부", 2); +increaseRefresh("암행부", 1); $query = "select no,nation,level,con,turntime,belong from general where owner='{$userID}'"; $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), ""); @@ -43,6 +41,8 @@ if ($me['level'] == 0 || ($me['level'] == 1 && $me['belong'] < $nation['secretli $sel = []; $sel[$type] = "selected"; +$templates = new \League\Plates\Engine('templates'); + ?> @@ -65,7 +65,7 @@ $sel[$type] = "selected";
얼 굴이 름통솔무력지력관 직병 종병 사훈련사기명 령
-
암 행 부
정렬순서 : +
정렬순서 :
queryAllLists('SELECT troop, name FROM troop WHERE nation=%i', $me['nation']) as [$troopID, $tName]){ + $troopName[$troopID] = $tName; } +$orderSQL = ''; switch ($type) { - case 1: $query = "select npc,mode,no,level,troop,city,injury,leader,power,intel,experience,name,gold,rice,crewtype,crew,train,atmos,killturn,turntime,term,turn0,turn1,turn2,turn3,turn4 from general where nation='{$me['nation']}' order by gold desc"; break; - case 2: $query = "select npc,mode,no,level,troop,city,injury,leader,power,intel,experience,name,gold,rice,crewtype,crew,train,atmos,killturn,turntime,term,turn0,turn1,turn2,turn3,turn4 from general where nation='{$me['nation']}' order by rice desc"; break; - case 3: $query = "select npc,mode,no,level,troop,city,injury,leader,power,intel,experience,name,gold,rice,crewtype,crew,train,atmos,killturn,turntime,term,turn0,turn1,turn2,turn3,turn4 from general where nation='{$me['nation']}' order by city"; break; - case 4: $query = "select npc,mode,no,level,troop,city,injury,leader,power,intel,experience,name,gold,rice,crewtype,crew,train,atmos,killturn,turntime,term,turn0,turn1,turn2,turn3,turn4 from general where nation='{$me['nation']}' order by crewtype desc"; break; - case 5: $query = "select npc,mode,no,level,troop,city,injury,leader,power,intel,experience,name,gold,rice,crewtype,crew,train,atmos,killturn,turntime,term,turn0,turn1,turn2,turn3,turn4 from general where nation='{$me['nation']}' order by crew desc"; break; - case 6: $query = "select npc,mode,no,level,troop,city,injury,leader,power,intel,experience,name,gold,rice,crewtype,crew,train,atmos,killturn,turntime,term,turn0,turn1,turn2,turn3,turn4 from general where nation='{$me['nation']}' order by killturn"; break; - case 7: $query = "select npc,mode,no,level,troop,city,injury,leader,power,intel,experience,name,gold,rice,crewtype,crew,train,atmos,killturn,turntime,term,turn0,turn1,turn2,turn3,turn4 from general where nation='{$me['nation']}' order by turntime"; break; - case 8: $query = "select npc,mode,no,level,troop,city,injury,leader,power,intel,experience,name,gold,rice,crewtype,crew,train,atmos,killturn,turntime,term,turn0,turn1,turn2,turn3,turn4 from general where nation='{$me['nation']}' order by troop desc"; break; + case 1: $orderSQL = "order by gold desc"; break; + case 2: $orderSQL = "order by rice desc"; break; + case 3: $orderSQL = "order by city"; break; + case 4: $orderSQL = "order by crewtype desc"; break; + case 5: $orderSQL = "order by crew desc"; break; + case 6: $orderSQL = "order by killturn"; break; + case 7: $orderSQL = "order by turntime"; break; + case 8: $orderSQL = "order by troop desc"; break; } -$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), ""); -$gencount = MYDB_num_rows($genresult); -?> - - - - - - - - - - - - - - - - - - - - -name; - $troop = $troopName[$general['troop']]??'-'; +$generals = $db->query('SELECT npc,mode,no,level,troop,city,injury,leader,power,intel,experience,name,gold,rice,crewtype,crew,train,atmos,killturn,turntime,term,turn0,turn1,turn2,turn3,turn4 from general WHERE nation = %i %l', $me['nation'], $orderSQL); + +foreach ($generals as &$general) { + $general['cityText'] = CityConst::byID($general['city'])->name; + $general['troopText'] = $troopName[$general['troop']]??'-'; if ($general['level'] == 12) { $lbonus = $nation['level'] * 2; @@ -137,81 +111,128 @@ for ($j=0; $j < $gencount; $j++) { $lbonus = 0; } if ($lbonus > 0) { - $lbonus = "+{$lbonus}"; + $lbonusText = "+{$lbonus}"; } else { - $lbonus = ""; + $lbonusText = ""; } + $general['lbonus'] = $lbonus; + $general['lbonusText'] = $lbonusText; if ($general['injury'] > 0) { $leader = intdiv($general['leader'] * (100 - $general['injury']), 100); $power = intdiv($general['power'] * (100 - $general['injury']), 100); $intel = intdiv($general['intel'] * (100 - $general['injury']), 100); - $leader = "{$leader}{$lbonus}"; + $leader = "{$leader}{$lbonusText}"; $power = "{$power}"; $intel = "{$intel}"; } else { - $leader = "{$general['leader']}{$lbonus}"; + $leader = "{$general['leader']}{$lbonusText}"; $power = "{$general['power']}"; $intel = "{$general['intel']}"; } + $general['leaderText'] = $leader; + $general['powerText'] = $power; + $general['intelText'] = $intel; + + $general['expLevelText'] = getExpLevel($general['experience']); + if ($general['npc'] >= 2) { $name = "{$general['name']}"; } elseif ($general['npc'] == 1) { $name = "{$general['name']}"; } else { - $name = "{$general['name']}"; + $name = $general['name']; } + //TODO: npc 코드를 일원화 + $general['nameText'] = $name; switch ($general['mode']) { case 0: $mode = "×"; break; case 1: $mode = "○"; break; case 2: $mode = "◎"; break; } + $general['modeText'] = $mode; + $general['crewtypeText'] = GameUnitConst::byId($general['crewtype'])->name; - echo " - - - - - - - - - - - - "; - if ($general['npc'] >= 2) { - echo " - - - - "; } -echo " + + +$genCnt = count($generals); +$totalGold = 0; +$totalRice = 0; +$crew90 = 0; +$gen90 = 0; +$crew80 = 0; +$gen80 = 0; +$crew60 = 0; +$gen60 = 0; +$crewTotal = 0; +//$genTotal = 0; +foreach($generals as $general){ + $totalGold += $general['gold']; + $totalRice += $general['rice']; + + $crewTotal += $general['crew']; + + if($general['crew'] == 0){ + continue; + } + if($general['train'] >= 90 && $general['atmos'] >= 90){ + $crew90 += $general['crew']; + $gen90 += 1; + } + + if($general['train'] >= 80 && $general['atmos'] >= 80){ + $crew80 += $general['crew']; + $gen80 += 1; + } + + if($general['train'] >= 60 && $general['atmos'] >= 60){ + $crew60 += $general['crew']; + $gen60 += 1; + } +} +?> + +
이 름통무지부 대자 금군 량도시병 종병 사훈련사기명 령삭턴
$name
Lv ".getExpLevel($general['experience'])."
{$leader}∥{$power}∥{$intel}$troop{$general['gold']}{$general['rice']}$city$mode".GameUnitConst::byId($general['crewtype'])->name."{$general['crew']}{$general['train']}{$general['atmos']} - NPC 장수"; - } else { - echo " - - "; + + if ($general['npc'] < 2) { + $turntext = []; $turn = getTurn($general, 1, 0); for ($i=0; $i < 5; $i++) { $turn[$i] = StringUtil::subStringForWidth($turn[$i], 0, 20); $k = $i+1; - echo " -  $k : $turn[$i]
"; + $turntext[] = " $k : $turn[$i]"; } + $general['turntext'] = join("
\n", $turntext); } - echo " -
-
{$general['killturn']}".substr($general['turntime'], 14, 5)."
+ ++++++ + + + + + + + + + + + + + +
전체 금전체 쌀평균 금평균 쌀
전체 병력/장수/훈사 90 병력/장수/훈사 80 병력/장수/훈사 60 병력/장수/
-"; -?> +render('generalList', ['generals'=>$generals])?> diff --git a/hwe/templates/generalList.php b/hwe/templates/generalList.php new file mode 100644 index 00000000..c37d6964 --- /dev/null +++ b/hwe/templates/generalList.php @@ -0,0 +1,64 @@ +
+ + + + + + + + + + + + + + + + + + + + +' + data-general-id="" + data-is-npc="=2?'true':'false'?>" + data-general-wounded="" + data-general-name="" + data-general-leadership="" + data-general-power="" + data-general-intel="" + data-general-level="" + data-general-leadership-bonus="" + data-general-defence-mode="" + data-general-crew-type="" + data-general-crew="" + data-general-train="" + data-general-atmos="" +> + + + + + + + + + + + + + + + + + +
이 름통무지부 대자 금군 량도시병 종병 사훈련사기명 령삭턴

Lv
+ = 2): ?> + NPC 장수 + + + + + +
\ No newline at end of file