getTypename 삭제. GameUnitDetail::byID(), ::all()로 대체가능

This commit is contained in:
2018-03-31 18:52:12 +09:00
parent 8dc7f3bad5
commit 29a21c41ab
11 changed files with 52 additions and 83 deletions
+2 -1
View File
@@ -32,4 +32,5 @@ d_setting/*.php
!*/d_setting/*.orig.php
!*/d_setting/_*.php
**/old/*
**/old/*
test.php
+2 -2
View File
@@ -150,7 +150,7 @@ if($isgen == "장수공격" || $isgen == "성벽공격" || $isgen == "장수평
while($phase < $warphase) {
// 장수가 없어서 도시 공격
if($opposecount == 0) {
$msg .= "<C>●</>".getTypename($general['crewtype'])."(으)로 성을 <M>공격</>합니다.<br>";
$msg .= "<C>●</>".GameUnitConst::byID($general['crewtype'])->name."(으)로 성을 <M>공격</>합니다.<br>";
$mykillnum = 0; $mydeathnum = 0;
while($phase < $warphase) {
@@ -340,7 +340,7 @@ if($isgen == "장수공격" || $isgen == "성벽공격" || $isgen == "장수평
}
// 장수 대결
} else {
$msg .= "<C>●</>".getTypename($general['crewtype'])."(으)로 <Y>수비장수</>의 ".getTypename($oppose['crewtype'])."(을)를 공격합니다.<br>";
$msg .= "<C>●</>".GameUnitConst::byID($general['crewtype'])->name."(으)로 <Y>수비장수</>의 ".GameUnitConst::byID($oppose['crewtype'])->name."(을)를 공격합니다.<br>";
$mykillnum = 0; $mydeathnum = 0;
while($phase < $warphase) {
+1 -1
View File
@@ -288,7 +288,7 @@ for($j=0; $j < $gencount; $j++) {
echo "
<td align=center>$mode</td>
<td align=center>".getTypename($general['crewtype'])."</td>
<td align=center>".GameUnitConst::byId($general['crewtype'])->name."</td>
<td align=center>{$general['crew']}</td>
<td align=center>{$general['train']}</td>
<td align=center>{$general['atmos']}</td>";
+1 -1
View File
@@ -152,7 +152,7 @@ for($j=0; $j < $gencount; $j++) {
<td align=center>{$general['rice']}</td>
<td align=center>$city</td>
<td align=center>$mode</td>
<td align=center>".getTypename($general['crewtype'])."</td>
<td align=center>".GameUnitConst::byId($general['crewtype'])->name."</td>
<td align=center>{$general['crew']}</td>
<td align=center>{$general['train']}</td>
<td align=center>{$general['atmos']}</td>";
+1 -1
View File
@@ -892,7 +892,7 @@ function generalInfo($connect, $no) {
$level = $city['name']." ".$level;
}
$call = getCall($general['leader'], $general['power'], $general['intel']);
$typename = getTypename($general['crewtype']);
$typename = GameUnitConst::byId($general['crewtype'])->name;
$weapname = getWeapName($general['weap']);
$bookname = getBookName($general['book']);
$horsename = getHorseName($general['horse']);
+2 -2
View File
@@ -52,12 +52,12 @@ function getTurn($connect, $general, $type, $font=1) {
case 9: $str[$i] = "물자 조달"; break; //조달
case 11: //징병
$third = getTypename($command[2]);
$third = GameUnitConst::byID($command[2])->name;
$double = $command[1];
$str[$i] = "{$third}{$double}00명 징병";
break;
case 12: //모병
$third = getTypename($command[2]);
$third = GameUnitConst::byID($command[2])->name;
$double = $command[1];
$str[$i] = "{$third}{$double}00명 모병";
break;
-43
View File
@@ -359,49 +359,6 @@ function getHonor($experience) {
return $honor;
}
function getTypename($type) {
switch($type) {
case 0: $typename = '보병'; break;
case 1: $typename = '청주병'; break;
case 2: $typename = '수병'; break;
case 3: $typename = '자객병'; break;
case 4: $typename = '근위병'; break;
case 5: $typename = '등갑병'; break;
case 10: $typename = '궁병'; break;
case 11: $typename = '궁기병'; break;
case 12: $typename = '연노병'; break;
case 13: $typename = '강궁병'; break;
case 14: $typename = '석궁병'; break;
case 20: $typename = '기병'; break;
case 21: $typename = '백마병'; break;
case 22: $typename = '중장기병'; break;
case 23: $typename = '돌격기병'; break;
case 24: $typename = '철기병'; break;
case 25: $typename = '수렵기병'; break;
case 26: $typename = '맹수병'; break;
case 27: $typename = '호표기병'; break;
case 30: $typename = '귀병'; break;
case 31: $typename = '신귀병'; break;
case 32: $typename = '백귀병'; break;
case 33: $typename = '흑귀병'; break;
case 34: $typename = '악귀병'; break;
case 35: $typename = '남귀병'; break;
case 36: $typename = '황귀병'; break;
case 37: $typename = '천귀병'; break;
case 38: $typename = '마귀병'; break;
case 40: $typename = '정란'; break;
case 41: $typename = '충차'; break;
case 42: $typename = '벽력거'; break;
case 43: $typename = '목우'; break;
}
return $typename;
}
function getExpLevel($experience) {
if($experience < 1000) {
$level = floor($experience / 100);
+9 -2
View File
@@ -1089,12 +1089,19 @@ function checkStatistic($connect) {
$crewtype = '';
$types = array(0, 1, 2, 3, 4, 5, 10, 11, 12, 13, 14, 20, 21, 22, 23, 24, 25, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43);
$count = count($types);
foreach(GameUnitConst::all() as $unit){
$userCnt = DB::db()->queryFirstField(
"SELECT count(*) as type from general where crewtype=%i and crew>=100",
$unit->id
);
$crewtype .= "{$unit->name}({$userCnt}), ";
}
for($i=0; $i < $count; $i++) {
$query = "select count(*) as type from general where crewtype={$types[$i]} and crew>=100";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$general = MYDB_fetch_array($result);
$crewtype .= getTypeName($types[$i])."({$general['type']}), ";
}
$query = "
+14 -10
View File
@@ -953,7 +953,7 @@ function process_11($connect, &$general, $type) {
} elseif($city['rate'] < 20) {
$log[] = "<C>●</>{$admin['month']}월:민심이 낮아 주민들이 도망갑니다. $dtype 실패. <1>$date</>";
} else {
$log[] = "<C>●</>{$admin['month']}월:".getTypename($armtype)."을(를) <C>{$crew}00</>명 {$dtype}했습니다. <1>$date</>";
$log[] = "<C>●</>{$admin['month']}월:".GameUnitConst::byId($armtype)->name."을(를) <C>{$crew}00</>명 {$dtype}했습니다. <1>$date</>";
$exp = $crew;
$ded = $crew;
// 숙련도 증가
@@ -1558,6 +1558,7 @@ function process_31($connect, &$general) {
$log = array();
$alllog = array();
$date = substr($general['turntime'],11,5);
$msg = [];
$query = "select year,month,develcost from game where no='1'";
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
@@ -1602,17 +1603,20 @@ function process_31($connect, &$general) {
} else {
$alllog[] = "<C>●</>{$admin['month']}월:누군가가 <G><b>{$city['name']}</b></>(을)를 살피는 것 같습니다.";
$log[] = "<C>●</>{$admin['month']}월:<G><b>{$city['name']}</b></>의 많은 정보를 얻었습니다. <1>$date</>";
$msg[count($msg)] = "【<S>병종</>】";
for($i=0; $i <= 5; $i++) { if($typecount[$i] != 0) { $msg[count($msg)] = StringUtil::SubStr(getTypename($i), 0, 2).":$typecount[$i]"; } }
for($i=10; $i <= 14; $i++) { if($typecount[$i] != 0) { $msg[count($msg)] = StringUtil::SubStr(getTypename($i), 0, 2).":$typecount[$i]"; } }
for($i=20; $i <= 27; $i++) { if($typecount[$i] != 0) { $msg[count($msg)] = StringUtil::SubStr(getTypename($i), 0, 2).":$typecount[$i]"; } }
for($i=30; $i <= 38; $i++) { if($typecount[$i] != 0) { $msg[count($msg)] = StringUtil::SubStr(getTypename($i), 0, 2).":$typecount[$i]"; } }
for($i=40; $i <= 43; $i++) { if($typecount[$i] != 0) { $msg[count($msg)] = StringUtil::SubStr(getTypename($i), 0, 2).":$typecount[$i]"; } }
$msg[] = "【<S>병종</>】";
$count = ceil(count($msg) / 8) * 8;
for($i=$count; $i > 0; $i-=8) {
$log[] = "{$msg[$i-8]} {$msg[$i-7]} {$msg[$i-6]} {$msg[$i-5]} {$msg[$i-4]} {$msg[$i-3]} {$msg[$i-2]} {$msg[$i-1]}";
foreach(GameUnitConst::all() as $unit){
if($typecount[$unit->id] == 0){
continue;
}
$unitStr = mb_substr($unit->name, 0, 2);
$msg[] = "{$unitStr}:{$typecount[$unit->id]}";
}
$log[] = join(' ', $msg);
$msg = [];
$log[] = "【<M>첩보</>】농업:{$city['agri']}, 상업:{$city['comm']}, 치안:{$city['secu']}, 수비:{$city['def']}, 성벽:{$city['wall']}";
$log[] = "【<G>{$city['name']}</>】주민:{$city['pop']}, 민심:{$city['rate']}, 장수:$gencount, 병력:$crew";
+18 -18
View File
@@ -133,8 +133,8 @@ function processWar($connect, $general, $city) {
break;
// 장수가 없어서 도시 공격
} elseif($opposecount == 0) {
$alllog[] = "<C>●</>{$game['month']}월:<Y>{$general['name']}</>(이)가 ".getTypename($general['crewtype'])."(으)로 성벽을 공격합니다.";
$log[] = "<C>●</>".getTypename($general['crewtype'])."(으)로 성벽을 <M>공격</>합니다.";
$alllog[] = "<C>●</>{$game['month']}월:<Y>{$general['name']}</>(이)가 ".GameUnitConst::byId($general['crewtype'])->name."(으)로 성벽을 공격합니다.";
$log[] = "<C>●</>".GameUnitConst::byId($general['crewtype'])->name."(으)로 성벽을 <M>공격</>합니다.";
$general['train'] += 1; //훈련 상승
if($general['train'] > $_maximumtrain) { $general['train'] = $_maximumtrain; }
@@ -380,7 +380,7 @@ function processWar($connect, $general, $city) {
}
$render_attacker = [
'crewtype' => StringUtil::SubStr(getTypename($general['crewtype']), 0, 2),
'crewtype' => StringUtil::SubStr(GameUnitConst::byId($general['crewtype'])->name, 0, 2),
'name'=> $general['name'],
'remain_crew' => $general['crew'],
'killed_crew' => -$mydeathnum
@@ -494,14 +494,14 @@ function processWar($connect, $general, $city) {
break;
// 공격 장수 병사 소진시 실패 처리
} elseif($general['crew'] <= 0) {
$alllog[] = "<C>●</>{$game['month']}월:<Y>{$general['name']}</>의 ".getTypename($general['crewtype'])."(이)가 퇴각했습니다.";
$alllog[] = "<C>●</>{$game['month']}월:<Y>{$general['name']}</>의 ".GameUnitConst::byId($general['crewtype'])->name."(이)가 퇴각했습니다.";
$log[] = "<C>●</>퇴각했습니다.";
$query = "update general set deathnum=deathnum+1 where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
break;
} elseif($myRice <= round($general['crew']/100)) {
$alllog[] = "<C>●</>{$game['month']}월:<Y>{$general['name']}</>의 ".getTypename($general['crewtype'])."(이)가 퇴각했습니다.";
$alllog[] = "<C>●</>{$game['month']}월:<Y>{$general['name']}</>의 ".GameUnitConst::byId($general['crewtype'])->name."(이)가 퇴각했습니다.";
$log[] = "<C>●</>군량 부족으로 퇴각합니다.";
$query = "update general set deathnum=deathnum+1 where no='{$general['no']}'";
@@ -511,9 +511,9 @@ function processWar($connect, $general, $city) {
// 장수 대결
} else {
$oppose = MYDB_fetch_array($result);
$alllog[] = "<C>●</>{$game['month']}월:<Y>{$general['name']}</>의 ".getTypename($general['crewtype'])."(와)과 <Y>{$oppose['name']}</>의 ".getTypename($oppose['crewtype'])."(이)가 대결합니다.";
$log[] = "<C>●</>".getTypename($general['crewtype'])."(으)로 <Y>{$oppose['name']}</>의 ".getTypename($oppose['crewtype'])."(을)를 <M>공격</>합니다.";
$opplog[count($opplog)] = "<C>●</>".getTypename($oppose['crewtype'])."(으)로 <Y>{$general['name']}</>의 ".getTypename($general['crewtype'])."(을)를 <M>수비</>합니다.";
$alllog[] = "<C>●</>{$game['month']}월:<Y>{$general['name']}</>의 ".GameUnitConst::byId($general['crewtype'])->name."(와)과 <Y>{$oppose['name']}</>의 ".GameUnitConst::byId($oppose['crewtype'])->name."(이)가 대결합니다.";
$log[] = "<C>●</>".GameUnitConst::byId($general['crewtype'])->name."(으)로 <Y>{$oppose['name']}</>의 ".GameUnitConst::byId($oppose['crewtype'])->name."(을)를 <M>공격</>합니다.";
$opplog[count($opplog)] = "<C>●</>".GameUnitConst::byId($oppose['crewtype'])->name."(으)로 <Y>{$general['name']}</>의 ".GameUnitConst::byId($general['crewtype'])->name."(을)를 <M>수비</>합니다.";
$oppAtmos = 0;
if($oppose['item'] == 3) {
@@ -1257,13 +1257,13 @@ function processWar($connect, $general, $city) {
}
$render_attacker = [
'crewtype' => StringUtil::SubStr(getTypename($general['crewtype']), 0, 2),
'crewtype' => StringUtil::SubStr(GameUnitConst::byId($general['crewtype'])->name, 0, 2),
'name'=> $general['name'],
'remain_crew' => $general['crew'],
'killed_crew' => -$mydeathnum
];
$render_defender = [
'crewtype' => StringUtil::SubStr(getTypename($oppose['crewtype']), 0, 2),
'crewtype' => StringUtil::SubStr(GameUnitConst::byId($oppose['crewtype'])->name, 0, 2),
'name'=> $oppose['name'],
'remain_crew' => $oppose['crew'],
'killed_crew' => -$opdeathnum
@@ -1363,12 +1363,12 @@ function processWar($connect, $general, $city) {
// 상대 병사 소진이나 쌀 소진시 다음 장수
if($oppose['crew'] <= 0 || ($opRice <= round($oppose['crew']/100) && $general['crew'] > 0)) {
if($opRice <= round($oppose['crew']/100)) {
$alllog[] = "<C>●</>{$game['month']}월:<Y>{$oppose['name']}</>의 ".getTypename($oppose['crewtype'])."(이)가 패퇴했습니다.";
$log[] = "<C>●</><Y>{$oppose['name']}</>의 ".getTypename($oppose['crewtype'])."(이)가 패퇴했습니다.";
$alllog[] = "<C>●</>{$game['month']}월:<Y>{$oppose['name']}</>의 ".GameUnitConst::byId($oppose['crewtype'])->name."(이)가 패퇴했습니다.";
$log[] = "<C>●</><Y>{$oppose['name']}</>의 ".GameUnitConst::byId($oppose['crewtype'])->name."(이)가 패퇴했습니다.";
$opplog[count($opplog)] = "<C>●</>군량 부족으로 패퇴합니다.";
} else {
$alllog[] = "<C>●</>{$game['month']}월:<Y>{$oppose['name']}</>의 ".getTypename($oppose['crewtype'])."(이)가 전멸했습니다.";
$log[] = "<C>●</><Y>{$oppose['name']}</>의 ".getTypename($oppose['crewtype'])."(이)가 전멸했습니다.";
$alllog[] = "<C>●</>{$game['month']}월:<Y>{$oppose['name']}</>의 ".GameUnitConst::byId($oppose['crewtype'])->name."(이)가 전멸했습니다.";
$log[] = "<C>●</><Y>{$oppose['name']}</>의 ".GameUnitConst::byId($oppose['crewtype'])->name."(이)가 전멸했습니다.";
$opplog[count($opplog)] = "<C>●</>전멸했습니다.";
}
$opposecount--;
@@ -1401,13 +1401,13 @@ function processWar($connect, $general, $city) {
// 공격 장수 병사 소진이나 쌀 소진시 실패 처리
} elseif($general['crew'] <= 0 || $myRice <= round($general['crew']/100)) {
if($myRice <= round($general['crew']/100)) {
$alllog[] = "<C>●</>{$game['month']}월:<Y>{$general['name']}</>의 ".getTypename($general['crewtype'])."(이)가 퇴각했습니다.";
$alllog[] = "<C>●</>{$game['month']}월:<Y>{$general['name']}</>의 ".GameUnitConst::byId($general['crewtype'])->name."(이)가 퇴각했습니다.";
$log[] = "<C>●</>군량 부족으로 퇴각합니다.";
$opplog[count($opplog)] = "<C>●</><Y>{$general['name']}</>의 ".getTypename($general['crewtype'])."(이)가 퇴각했습니다.";
$opplog[count($opplog)] = "<C>●</><Y>{$general['name']}</>의 ".GameUnitConst::byId($general['crewtype'])->name."(이)가 퇴각했습니다.";
} else {
$alllog[] = "<C>●</>{$game['month']}월:<Y>{$general['name']}</>의 ".getTypename($general['crewtype'])."(이)가 퇴각했습니다.";
$alllog[] = "<C>●</>{$game['month']}월:<Y>{$general['name']}</>의 ".GameUnitConst::byId($general['crewtype'])->name."(이)가 퇴각했습니다.";
$log[] = "<C>●</>퇴각했습니다.";
$opplog[count($opplog)] = "<C>●</><Y>{$general['name']}</>의 ".getTypename($general['crewtype'])."(이)가 퇴각했습니다.";
$opplog[count($opplog)] = "<C>●</><Y>{$general['name']}</>의 ".GameUnitConst::byId($general['crewtype'])->name."(이)가 퇴각했습니다.";
}
// 경험치 상승
+2 -2
View File
@@ -317,7 +317,7 @@ function calc(cost, formnum) {
<td colspan=10 align=center id=bg2>
현재 기술력 : <input type=text style=text-align:right;color:white;background-color:black size=5 readonly value=".getTechCall($nation['tech']).">
현재 통솔 : <input type=text style=text-align:right;color:white;background-color:black size=3 readonly value=$leader>
현재 병종 : <input type=text size=8 style=text-align:right;color:white;background-color:black readonly value=".getTypename($me['crewtype']).">
현재 병종 : <input type=text size=8 style=text-align:right;color:white;background-color:black readonly value=".GameUnitConst::byID($me['crewtype'])->name.">
현재 병사 : <input type=text size=5 style=text-align:right;color:white;background-color:black readonly value={$me['crew']}>
현재 자금 : <input type=text size=5 style=text-align:right;color:white;background-color:black readonly value={$me['gold']}>
</td>
@@ -523,7 +523,7 @@ function calc(cost, formnum) {
<td colspan=10 align=center id=bg2>
현재 기술력 : <input type=text style=text-align:right;color:white;background-color:black size=5 readonly value=".getTechCall($nation['tech']).">
현재 통솔 : <input type=text style=text-align:right;color:white;background-color:black size=3 readonly value=$leader>
현재 병종 : <input type=text size=8 style=text-align:right;color:white;background-color:black readonly value=".getTypename($me['crewtype']).">
현재 병종 : <input type=text size=8 style=text-align:right;color:white;background-color:black readonly value=".GameUnitConst::byID($me['crewtype'])->name.">
현재 병사 : <input type=text size=5 style=text-align:right;color:white;background-color:black readonly value={$me['crew']}>
현재 자금 : <input type=text size=5 style=text-align:right;color:white;background-color:black readonly value={$me['gold']}>
</td>