diff --git a/hwe/b_currentCity.php b/hwe/b_currentCity.php index cc9c80b1..53c6ec29 100644 --- a/hwe/b_currentCity.php +++ b/hwe/b_currentCity.php @@ -25,6 +25,8 @@ $query = "select nation,level,spy from nation where nation='{$me['nation']}'"; $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""); $myNation = MYDB_fetch_array($result); +$templates = new \League\Plates\Engine('templates'); + ?> @@ -34,15 +36,28 @@ $myNation = MYDB_fetch_array($result); + - +
도 시 정 보
- +
+ data-general-defence-mode="" + data-general-crew-type="" + data-general-crew="" + data-general-train="" + data-general-atmos="" + + data-general-crew="" + + data-general-nation="" + data-general-nation-name="" +> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file
도시선택 : @@ -160,44 +175,44 @@ if($city['trade'] == 0) { } ?> - +
- +
- + - + - + - + - + - + - + - + - + - + - + - + - +
"; bgcolor=>【 |
주민주민 /농업농업 /상업상업 /치안치안 /수비수비 /성벽성벽 /
민심민심 시세시세 %인구인구 %태수태수 군사군사 시중시중
장수장수
+ + +
+ + + + + + + + + + + + + + + + + -
얼 굴이 름통솔무력지력관 직병 종병 사훈련사기명 령
- - - - - - - - - - - - - - "; -} for($j=0; $j < $gencount; $j++) { $general = MYDB_fetch_array($genresult); + $nationInfo = getNationStaticInfo($general['nation']); + + if($general['nation'] != 0 && $general['nation'] == $myNation['nation']){ + $ourGeneral = true; + } + else{ + $ourGeneral = false; + } + + $isNPC = $general['npc']>1; + $wounded = $general['injury']; + + + $name = $general['name']; + $nameText = formatName($name, $general['npc']); + + $leadership = $general['leader']; + $power = $general['power']; + $intel = $general['intel']; + + $leadershipText = formatWounded($leadership, $general['injury']); + $powerText = formatWounded($power, $general['injury']); + $intelText = formatWounded($intel, $general['injury']); + + $level = $general['level']; + $levelText = getLevel($general['level']); + if($general['level'] == 12) { - $lbonus = $nationlevel[$general['nation']] * 2; + $leadershipBonus = $nationInfo['level'] * 2; } elseif($general['level'] >= 5) { - $lbonus = $nationlevel[$general['nation']]; + $leadershipBonus = $nationInfo['level']; } else { - $lbonus = 0; + $leadershipBonus = 0; } - if($lbonus > 0) { - $lbonus = "+{$lbonus}"; - } else { - $lbonus = ""; + $leadershipBonusText = formatLeadershipBonus($leadershipBonus); + + if($ourGeneral){ + $defenceMode = $general['mode']; + $defenceModeText = formatDefenceMode($defenceMode); + $crewType = $general['crewtype']; + $crewTypeText = GameUnitConst::byId($crewType)->name; + $crew = $general['crew']; + $train = $general['train']; + $atmos = $general['atmos']; + } + else{ + $defenceMode = 0; + $defenceModeText = ''; + $crewType = 0; + $crewTypeText = ''; + $crew = $general['crew']; + $train = -1; + $atmos = -1; } - 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}"; - $power = "{$power}"; - $intel = "{$intel}"; - } else { - $leader = "{$general['leader']}{$lbonus}"; - $power = "{$general['power']}"; - $intel = "{$general['intel']}"; - } + $nation = $general['nation']; + $nationName = $nationInfo['name']; - if($general['npc'] >= 2) { $general['name'] = "{$general['name']}"; } - elseif($general['npc'] == 1) { $general['name'] = "{$general['name']}"; } - $imageTemp = GetImageURL($general['imgsvr']); + if($ourGeneral && !$isNPC){ + $turnText = []; + foreach(getTurn($general, 1) as $turnIdx=>$turn){ + $turnText[] = "{$turnIdx} : $turn"; + } + $turnText = join('
', $turnText); + } + else{ + $turnText = ''; + } + + echo $templates->render('cityGeneral', [ + 'ourGeneral'=>$ourGeneral, + 'isNPC'=>$isNPC, + 'wounded'=>$wounded, + 'name'=>$name, + 'nameText'=>$nameText, + 'leadership'=>$leadership, + 'leadershipText'=>$leadershipText, + 'leadershipBonus'=>$leadershipBonus, + 'leadershipBonusText'=>$leadershipBonusText, + 'level'=>$level, + 'levelText'=>$levelText, + 'power'=>$power, + 'powerText'=>$powerText, + 'intel'=>$intel, + 'intelText'=>$intelText, + 'defenceMode'=>$defenceMode, + 'defenceModeText'=>$defenceModeText, + 'crewType'=>$crewType, + 'crewTypeText'=>$crewTypeText, + 'crew'=>$crew, + 'train'=>$train, + 'atmos'=>$atmos, + 'nation'=>$nation, + 'nationName'=>$nationName, + 'turnText'=>$turnText + ]); + +/* echo " - - - - - - "; + + + + + + "; //아국장수이거나 보는 사람이 운영자일때 보여줌 if(($general['nation'] != 0 && $general['nation'] == $myNation['nation']) || $session->userGrade >= 5) { switch($general['mode']) { @@ -293,54 +378,45 @@ for($j=0; $j < $gencount; $j++) { } echo " - - - - - "; + + + + + "; if($general['npc'] >= 2) { echo " - - - - + + + + + - - - - + + + + + - "; + ";*/ } ?> +
얼 굴이 름통솔무력지력관 직병 종병 사훈련사기명 령
{$general['name']}$leader$power$intel".getLevel($general['level'])."{$general['name']}$leadership$power$intel".getLevel($general['level'])."$mode".GameUnitConst::byId($general['crewtype'])->name."{$general['crew']}{$general['train']}{$general['atmos']}$mode".GameUnitConst::byId($general['crewtype'])->name."{$general['crew']}{$general['train']}{$general['atmos']}NPC 장수"; } else { echo " - - "; - $turn = getTurn($general, 1); - - for($i=0; $i < 5; $i++) { - $k = $i+1; - echo " -   $k : $turn[$i]
"; - } - echo " -
"; +
$turnText"; } } elseif($general['nation'] != 0) { echo " - ??{$general['crew']}????{$general['crew']}?? 【{$nationname[$general['nation']]}】 장수"; } else { echo " - ??{$general['crew']}????{$general['crew']}??   재 야"; } echo "
- +
diff --git a/hwe/func_command.php b/hwe/func_command.php index 871219ee..485c1b57 100644 --- a/hwe/func_command.php +++ b/hwe/func_command.php @@ -2,6 +2,7 @@ namespace sammo; function getTurn($general, $type, $font=1) { + //TODO: 왜 'Type' 인가. 그냥 count로 하자. $str = []; $db = DB::db(); $connect=$db->get(); diff --git a/hwe/func_template.php b/hwe/func_template.php index c313a3a0..4fbd7692 100644 --- a/hwe/func_template.php +++ b/hwe/func_template.php @@ -130,7 +130,39 @@ function commandButton() { ]); } +function formatWounded(int $value, int $wound): string{ + if($wound == 0){ + return "$value"; + } + $woundedValue = intdiv($value * (100 - $wound), 100); + return "$woundedvalue"; +} +function formatDefenceMode(int $value): string{ + switch($value) { + case 0: return "×"; break; + case 1: return "○"; break; + case 2: return "◎"; break; + } + 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(){ //NOTE: 필요한가? diff --git a/hwe/templates/cityGeneral.php b/hwe/templates/cityGeneral.php new file mode 100644 index 00000000..7aa86c74 --- /dev/null +++ b/hwe/templates/cityGeneral.php @@ -0,0 +1,53 @@ +
NPC 장수????】 장수재 야