leader->leadership, power->strength
This commit is contained in:
@@ -106,7 +106,7 @@ switch($btn) {
|
||||
[$year, $month] = $gameStor->getValuesAsArray(['year', 'month']);
|
||||
$text = "특기 부여!";
|
||||
|
||||
foreach($db->query("SELECT `no`,leader,power,intel,dex0,dex10,dex20,dex30,dex40 FROM general WHERE `no` IN %li", $genlist) as $general){
|
||||
foreach($db->query("SELECT `no`,leadership,strength,intel,dex0,dex10,dex20,dex30,dex40 FROM general WHERE `no` IN %li", $genlist) as $general){
|
||||
$msg = new Message(Message::MSGTYPE_PRIVATE, $src, MessageTarget::buildQuick($general['no']), $text, new \DateTime(), new \DateTime('9999-12-31'), []);
|
||||
$msg->send(true);
|
||||
|
||||
|
||||
+7
-7
@@ -181,8 +181,8 @@ switch($type) {
|
||||
case 4: $query .= " order by A.rice desc"; break;
|
||||
case 5: $query .= " order by avg(B.gold) desc"; break;
|
||||
case 6: $query .= " order by avg(B.rice) desc"; break;
|
||||
case 7: $query .= " order by avg(B.leader) desc"; break;
|
||||
case 8: $query .= " order by avg(B.power) desc"; break;
|
||||
case 7: $query .= " order by avg(B.leadership) desc"; break;
|
||||
case 8: $query .= " order by avg(B.strength) desc"; break;
|
||||
case 9: $query .= " order by avg(B.intel) desc"; break;
|
||||
case 10: $query .= " order by avg(B.explevel) desc"; break;
|
||||
case 11: $query .= " order by avg(B.connect) desc"; break;
|
||||
@@ -201,8 +201,8 @@ for($i=0; $i < $nationCount; $i++) {
|
||||
$query = "select COUNT(*) as cnt,
|
||||
ROUND(AVG(gold)) as avgg,
|
||||
ROUND(AVG(rice)) as avgr,
|
||||
SUM(leader) as leader, ROUND(AVG(leader), 1) as avgl,
|
||||
ROUND(AVG(power), 1) as avgp,
|
||||
SUM(leadership) as leadership, ROUND(AVG(leadership), 1) as avgl,
|
||||
ROUND(AVG(strength), 1) as avgs,
|
||||
ROUND(AVG(intel), 1) as avgi,
|
||||
ROUND(AVG(explevel), 1) as avge,
|
||||
SUM(crew) as crew
|
||||
@@ -227,7 +227,7 @@ for($i=0; $i < $nationCount; $i++) {
|
||||
<td align=center style=background-color:{$nation['color']};color:".newColor($nation['color']).";>{$nation['name']}</td>
|
||||
<td align=center> {$nation['connect']} </td>
|
||||
<td align=center> {$nation['con']} </td>
|
||||
<td align=center> {$nation['power']} </td>
|
||||
<td align=center> {$nation['strength']} </td>
|
||||
<td align=center> {$gen['cnt']} </td>
|
||||
<td align=center> {$city['cnt']} </td>
|
||||
<td align=center> {$nation['tech']} </td>
|
||||
@@ -237,7 +237,7 @@ for($i=0; $i < $nationCount; $i++) {
|
||||
<td align=center> {$gen['avgg']} </td>
|
||||
<td align=center> {$gen['avgr']} </td>
|
||||
<td align=center> {$gen['avgl']} </td>
|
||||
<td align=center> {$gen['avgp']} </td>
|
||||
<td align=center> {$gen['avgs']} </td>
|
||||
<td align=center> {$gen['avgi']} </td>
|
||||
<td align=center> {$gen['avge']} </td>
|
||||
<td align=center> {$nation['dex0']} </td>
|
||||
@@ -245,7 +245,7 @@ for($i=0; $i < $nationCount; $i++) {
|
||||
<td align=center> {$nation['dex20']} </td>
|
||||
<td align=center> {$nation['dex30']} </td>
|
||||
<td align=center> {$nation['dex40']} </td>
|
||||
<td align=center> {$gen['crew']}/{$gen['leader']}00 </td>
|
||||
<td align=center> {$gen['crew']}/{$gen['leadership']}00 </td>
|
||||
<td align=center> {$city['pop']}/{$city['pop2']} </td>
|
||||
<td align=center> ".round($city['trust'],1)."% </td>
|
||||
<td align=center> {$city['agri']}% </td>
|
||||
|
||||
@@ -127,12 +127,12 @@ $types = [
|
||||
return $v;
|
||||
}],
|
||||
["일 기 토 승 률", "percent", function($v){
|
||||
$totalCnt = $v['tpw']+$v['tpd']+$v['tpl'];
|
||||
$totalCnt = $v['tsw']+$v['tsd']+$v['tsl'];
|
||||
if($totalCnt < 50){
|
||||
$v['value'] = 0;
|
||||
}
|
||||
else{
|
||||
$v['value'] = $v['tpw']/max(1, $totalCnt);
|
||||
$v['value'] = $v['tsw']/max(1, $totalCnt);
|
||||
}
|
||||
return $v;
|
||||
}],
|
||||
|
||||
+13
-13
@@ -89,8 +89,8 @@ foreach (getAllNationStaticInfo() as $nation) {
|
||||
|
||||
[$orderKey, $orderDesc] = [
|
||||
1=>['nation', false],
|
||||
2=>['leader', true],
|
||||
3=>['power', true],
|
||||
2=>['leadership', true],
|
||||
3=>['strength', true],
|
||||
4=>['intel', true],
|
||||
5=>['experience', true],
|
||||
6=>['dedication', true],
|
||||
@@ -105,7 +105,7 @@ foreach (getAllNationStaticInfo() as $nation) {
|
||||
15=>['npc', true],
|
||||
][$type];
|
||||
|
||||
$generalList = $db->query('SELECT owner,no,picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect from general order by %b %l', $orderKey, $orderDesc?'desc':'');
|
||||
$generalList = $db->query('SELECT owner,no,picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leadership,strength,intel,experience,dedication,level,killturn,connect from general order by %b %l', $orderKey, $orderDesc?'desc':'');
|
||||
|
||||
echo"
|
||||
<table align=center width=1000 class='tb_layout bg0'>
|
||||
@@ -137,15 +137,15 @@ foreach($generalList as $general){
|
||||
}
|
||||
|
||||
if ($general['injury'] > 0) {
|
||||
$leader = intdiv($general['leader'] * (100 - $general['injury']), 100);
|
||||
$power = intdiv($general['power'] * (100 - $general['injury']), 100);
|
||||
$leadership = intdiv($general['leadership'] * (100 - $general['injury']), 100);
|
||||
$strength = intdiv($general['strength'] * (100 - $general['injury']), 100);
|
||||
$intel = intdiv($general['intel'] * (100 - $general['injury']), 100);
|
||||
$leader = "<font color=red>{$leader}</font>{$lbonusText}";
|
||||
$power = "<font color=red>{$power}</font>";
|
||||
$leadership = "<font color=red>{$leadership}</font>{$lbonusText}";
|
||||
$strength = "<font color=red>{$strength}</font>";
|
||||
$intel = "<font color=red>{$intel}</font>";
|
||||
} else {
|
||||
$leader = "{$general['leader']}{$lbonusText}";
|
||||
$power = "{$general['power']}";
|
||||
$leadership = "{$general['leadership']}{$lbonusText}";
|
||||
$strength = "{$general['strength']}";
|
||||
$intel = "{$general['intel']}";
|
||||
}
|
||||
|
||||
@@ -169,9 +169,9 @@ foreach($generalList as $general){
|
||||
echo "
|
||||
<tr data-general-id='{$general['no']}'
|
||||
data-general-wounded='{$general['injury']}'
|
||||
data-general-leadership='{$general['leader']}'
|
||||
data-general-leadership='{$general['leadership']}'
|
||||
data-general-leadership-bonus='{$lbonus}'
|
||||
data-general-power='{$general['power']}'
|
||||
data-general-strength='{$general['strength']}'
|
||||
data-general-intel='{$general['intel']}'
|
||||
data-is-npc='".($general['npc']>=2?'true':'false')."'
|
||||
>
|
||||
@@ -187,8 +187,8 @@ foreach($generalList as $general){
|
||||
<td align=center>";
|
||||
echo getLevel($general['level']);
|
||||
echo "</td>
|
||||
<td align=center>$leader</td>
|
||||
<td align=center>$power</td>
|
||||
<td align=center>$leadership</td>
|
||||
<td align=center>$strength</td>
|
||||
<td align=center>$intel</td>
|
||||
<td align=center>{$general['killturn']}</td>
|
||||
<td align=center>{$general['connect']}";
|
||||
|
||||
+10
-10
@@ -62,14 +62,14 @@ foreach (getAllNationStaticInfo() as $nation) {
|
||||
|
||||
switch ($type) {//FIXME: $query 처리 부실
|
||||
default:
|
||||
case 1: $query = "select npc,nation,name,name2,special,special2,personal,leader,power,intel,leader+power+intel as sum,explevel,experience,dedication from general where npc=1 order by binary(name)"; break;
|
||||
case 2: $query = "select npc,nation,name,name2,special,special2,personal,leader,power,intel,leader+power+intel as sum,explevel,experience,dedication from general where npc=1 order by nation"; break;
|
||||
case 3: $query = "select npc,nation,name,name2,special,special2,personal,leader,power,intel,leader+power+intel as sum,explevel,experience,dedication from general where npc=1 order by sum desc"; break;
|
||||
case 4: $query = "select npc,nation,name,name2,special,special2,personal,leader,power,intel,leader+power+intel as sum,explevel,experience,dedication from general where npc=1 order by leader"; break;
|
||||
case 5: $query = "select npc,nation,name,name2,special,special2,personal,leader,power,intel,leader+power+intel as sum,explevel,experience,dedication from general where npc=1 order by power"; break;
|
||||
case 6: $query = "select npc,nation,name,name2,special,special2,personal,leader,power,intel,leader+power+intel as sum,explevel,experience,dedication from general where npc=1 order by intel"; break;
|
||||
case 7: $query = "select npc,nation,name,name2,special,special2,personal,leader,power,intel,leader+power+intel as sum,explevel,experience,dedication from general where npc=1 order by experience"; break;
|
||||
case 8: $query = "select npc,nation,name,name2,special,special2,personal,leader,power,intel,leader+power+intel as sum,explevel,experience,dedication from general where npc=1 order by dedication"; break;
|
||||
case 1: $query = "select npc,nation,name,name2,special,special2,personal,leadership,strength,intel,leadership+strength+intel as sum,explevel,experience,dedication from general where npc=1 order by binary(name)"; break;
|
||||
case 2: $query = "select npc,nation,name,name2,special,special2,personal,leadership,strength,intel,leadership+strength+intel as sum,explevel,experience,dedication from general where npc=1 order by nation"; break;
|
||||
case 3: $query = "select npc,nation,name,name2,special,special2,personal,leadership,strength,intel,leadership+strength+intel as sum,explevel,experience,dedication from general where npc=1 order by sum desc"; break;
|
||||
case 4: $query = "select npc,nation,name,name2,special,special2,personal,leadership,strength,intel,leadership+strength+intel as sum,explevel,experience,dedication from general where npc=1 order by leadership"; break;
|
||||
case 5: $query = "select npc,nation,name,name2,special,special2,personal,leadership,strength,intel,leadership+strength+intel as sum,explevel,experience,dedication from general where npc=1 order by strength"; break;
|
||||
case 6: $query = "select npc,nation,name,name2,special,special2,personal,leadership,strength,intel,leadership+strength+intel as sum,explevel,experience,dedication from general where npc=1 order by intel"; break;
|
||||
case 7: $query = "select npc,nation,name,name2,special,special2,personal,leadership,strength,intel,leadership+strength+intel as sum,explevel,experience,dedication from general where npc=1 order by experience"; break;
|
||||
case 8: $query = "select npc,nation,name,name2,special,special2,personal,leadership,strength,intel,leadership+strength+intel as sum,explevel,experience,dedication from general where npc=1 order by dedication"; break;
|
||||
}
|
||||
$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$gencount = MYDB_num_rows($genresult);
|
||||
@@ -111,8 +111,8 @@ for ($j=0; $j < $gencount; $j++) {
|
||||
<td align=center>".displayCharInfo($general['personal'])."</td>
|
||||
<td align=center>".displaySpecialDomesticInfo($general['special'])." / ".displaySpecialWarInfo($general['special2'])."</td>
|
||||
<td align=center>{$general['sum']}</td>
|
||||
<td align=center>{$general['leader']}</td>
|
||||
<td align=center>{$general['power']}</td>
|
||||
<td align=center>{$general['leadership']}</td>
|
||||
<td align=center>{$general['strength']}</td>
|
||||
<td align=center>{$general['intel']}</td>
|
||||
<td align=center>{$general['experience']}</td>
|
||||
<td align=center>{$general['dedication']}</td>
|
||||
|
||||
+7
-7
@@ -32,10 +32,10 @@ if ($con >= 2) {
|
||||
|
||||
switch ($admin['tnmt_type']) {
|
||||
default: throw new \RuntimeException('Invalid tnmt_type');break;
|
||||
case 0: $tnmt_type = "<font color=cyan>전력전</font>"; $tp = "tot"; $tp2 = "종합"; $tp3 = "total"; break;
|
||||
case 1: $tnmt_type = "<font color=cyan>통솔전</font>"; $tp = "ldr"; $tp2 = "통솔"; $tp3 = "leader"; break;
|
||||
case 2: $tnmt_type = "<font color=cyan>일기토</font>"; $tp = "pwr"; $tp2 = "무력"; $tp3 = "power"; break;
|
||||
case 3: $tnmt_type = "<font color=cyan>설전</font>"; $tp = "itl"; $tp2 = "지력"; $tp3 = "intel"; break;
|
||||
case 0: $tnmt_type = "<font color=cyan>전력전</font>"; $tp = "total"; $tp2 = "종합"; $tp3 = "total"; break;
|
||||
case 1: $tnmt_type = "<font color=cyan>통솔전</font>"; $tp = "leadership"; $tp2 = "통솔"; $tp3 = "leadership"; break;
|
||||
case 2: $tnmt_type = "<font color=cyan>일기토</font>"; $tp = "strength"; $tp2 = "무력"; $tp3 = "strength"; break;
|
||||
case 3: $tnmt_type = "<font color=cyan>설전</font>"; $tp = "intel"; $tp2 = "지력"; $tp3 = "intel"; break;
|
||||
}
|
||||
|
||||
$str1 = getTournament($admin['tournament']);
|
||||
@@ -401,8 +401,8 @@ if ($admin['tournament'] == 6) {
|
||||
|
||||
$type1 = array("전 력 전", "통 솔 전", "일 기 토", "설 전");
|
||||
$type2 = array("종합", "통솔", "무력", "지력");
|
||||
$type3 = array("tt", "tl", "tp", "ti");
|
||||
$type4 = array("total", "leader", "power", "intel");
|
||||
$type3 = array("tt", "tl", "ts", "ti");
|
||||
$type4 = array("total", "leadership", "strength", "intel");
|
||||
|
||||
for ($i=0; $i < 4; $i++) {
|
||||
$grp = $i;
|
||||
@@ -412,7 +412,7 @@ for ($i=0; $i < 4; $i++) {
|
||||
<tr><td colspan=9 align=center style=color:white;background-color:black;><font size=4>{$type1[$i]}</font></td></tr>
|
||||
<tr id=bg1><td align=center>순</td><td align=center>장수</td><td align=center>{$type2[$i]}</td><td align=center>경</td><td align=center>승</td><td align=center>무</td><td align=center>패</td><td align=center>점</td><td align=center>勝</td></tr>";
|
||||
|
||||
$query = "select npc,name,leader,power,intel,leader+power+intel as total,{$type3[$i]}p as prize,{$type3[$i]}w+{$type3[$i]}d+{$type3[$i]}l as game,{$type3[$i]}w as win,{$type3[$i]}d as draw,{$type3[$i]}l as lose,{$type3[$i]}g as gl from general order by gl desc, game desc, win desc, draw desc, lose, no limit 0,30";
|
||||
$query = "select npc,name,leadership,strength,intel,leadership+strength+intel as total,{$type3[$i]}p as prize,{$type3[$i]}w+{$type3[$i]}d+{$type3[$i]}l as game,{$type3[$i]}w as win,{$type3[$i]}d as draw,{$type3[$i]}l as lose,{$type3[$i]}g as gl from general order by gl desc, game desc, win desc, draw desc, lose, no limit 0,30";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
for ($k=1; $k <= 30; $k++) {
|
||||
$general = MYDB_fetch_array($result);
|
||||
|
||||
@@ -188,12 +188,12 @@ if($city['trade'] === null) {
|
||||
$city['trade'] = "- ";
|
||||
}
|
||||
|
||||
$query = "select npc,mode,no,picture,imgsvr,name,injury,leader,power,intel,level,nation,crewtype,crew,train,atmos from general where city='{$city['city']}' order by dedication desc"; // 장수 목록
|
||||
$query = "select npc,mode,no,picture,imgsvr,name,injury,leadership,strength,intel,level,nation,crewtype,crew,train,atmos from general where city='{$city['city']}' order by dedication desc"; // 장수 목록
|
||||
$genresult = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$gencount = MYDB_num_rows($genresult);
|
||||
|
||||
$generals = $db->query(
|
||||
'SELECT npc,mode,no,picture,imgsvr,name,injury,leader,power,intel,level,nation,crewtype,crew,train,atmos from general where city=%i order by name',
|
||||
'SELECT npc,mode,no,picture,imgsvr,name,injury,leadership,strength,intel,level,nation,crewtype,crew,train,atmos from general where city=%i order by name',
|
||||
$city['city']
|
||||
);
|
||||
|
||||
@@ -244,12 +244,12 @@ for($j=0; $j < $gencount; $j++) {
|
||||
$name = $general['name'];
|
||||
$nameText = formatName($name, $general['npc']);
|
||||
|
||||
$leadership = $general['leader'];
|
||||
$power = $general['power'];
|
||||
$leadership = $general['leadership'];
|
||||
$strength = $general['strength'];
|
||||
$intel = $general['intel'];
|
||||
|
||||
$leadershipText = formatWounded($leadership, $general['injury']);
|
||||
$powerText = formatWounded($power, $general['injury']);
|
||||
$strengthText = formatWounded($strength, $general['injury']);
|
||||
$intelText = formatWounded($intel, $general['injury']);
|
||||
|
||||
$level = $general['level'];
|
||||
@@ -313,8 +313,8 @@ for($j=0; $j < $gencount; $j++) {
|
||||
'leadershipBonusText'=>$leadershipBonusText,
|
||||
'level'=>$level,
|
||||
'levelText'=>$levelText,
|
||||
'power'=>$power,
|
||||
'powerText'=>$powerText,
|
||||
'strength'=>$strength,
|
||||
'strengthText'=>$strengthText,
|
||||
'intel'=>$intel,
|
||||
'intelText'=>$intelText,
|
||||
'defenceMode'=>$defenceMode,
|
||||
|
||||
+9
-9
@@ -103,7 +103,7 @@ switch ($type) {
|
||||
}
|
||||
|
||||
$generals = $db->query(
|
||||
'SELECT npc,mode,no,level,troop,city,injury,leader,power,intel,experience,name,gold,rice,crewtype,crew,train,atmos,killturn,turntime,nation from general WHERE nation = %i %l',
|
||||
'SELECT npc,mode,no,level,troop,city,injury,leadership,strength,intel,experience,name,gold,rice,crewtype,crew,train,atmos,killturn,turntime,nation from general WHERE nation = %i %l',
|
||||
$me['nation'],
|
||||
$orderSQL
|
||||
);
|
||||
@@ -140,20 +140,20 @@ foreach ($generals as &$general) {
|
||||
$general['lbonusText'] = $lbonusText;
|
||||
|
||||
if ($general['injury'] > 0) {
|
||||
$leader = intdiv($general['leader'] * (100 - $general['injury']), 100);
|
||||
$power = intdiv($general['power'] * (100 - $general['injury']), 100);
|
||||
$leadership = intdiv($general['leadership'] * (100 - $general['injury']), 100);
|
||||
$strength = intdiv($general['strength'] * (100 - $general['injury']), 100);
|
||||
$intel = intdiv($general['intel'] * (100 - $general['injury']), 100);
|
||||
$leader = "<font color=red>{$leader}</font>{$lbonusText}";
|
||||
$power = "<font color=red>{$power}</font>";
|
||||
$leadership = "<font color=red>{$leadership}</font>{$lbonusText}";
|
||||
$strength = "<font color=red>{$strength}</font>";
|
||||
$intel = "<font color=red>{$intel}</font>";
|
||||
} else {
|
||||
$leader = "{$general['leader']}{$lbonusText}";
|
||||
$power = "{$general['power']}";
|
||||
$leadership = "{$general['leadership']}{$lbonusText}";
|
||||
$strength = "{$general['strength']}";
|
||||
$intel = "{$general['intel']}";
|
||||
}
|
||||
|
||||
$general['leaderText'] = $leader;
|
||||
$general['powerText'] = $power;
|
||||
$general['leadershipText'] = $leadership;
|
||||
$general['strengthText'] = $strength;
|
||||
$general['intelText'] = $intel;
|
||||
|
||||
$general['expLevelText'] = getExpLevel($general['experience']);
|
||||
|
||||
@@ -196,7 +196,7 @@ if($meLevel >= 5 && $nation["l{$meLevel}set"] == 0) {
|
||||
echo "
|
||||
<select name=outlist size=1 style=color:white;background-color:black;>";
|
||||
|
||||
$query = "select no,npc,name,level,leader,power,intel,killturn from general where nation='{$me['nation']}' and level!='12' and no!='{$me['no']}' order by npc,binary(name)";
|
||||
$query = "select no,npc,name,level,leadership,strength,intel,killturn from general where nation='{$me['nation']}' and level!='12' and no!='{$me['no']}' order by npc,binary(name)";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$gencount = MYDB_num_rows($result);
|
||||
|
||||
@@ -206,7 +206,7 @@ if($meLevel >= 5 && $nation["l{$meLevel}set"] == 0) {
|
||||
continue;
|
||||
}
|
||||
echo "
|
||||
<option value={$general['no']}>{$general['name']} <small>({$general['leader']}/{$general['power']}/{$general['intel']}, {$general['killturn']}턴)</small></option>";
|
||||
<option value={$general['no']}>{$general['name']} <small>({$general['leadership']}/{$general['strength']}/{$general['intel']}, {$general['killturn']}턴)</small></option>";
|
||||
}
|
||||
|
||||
echo "
|
||||
@@ -272,11 +272,11 @@ echo "
|
||||
";
|
||||
|
||||
$queries = [];
|
||||
$queries[10] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and power>='".GameConst::$chiefStatMin."' order by npc,binary(name)";
|
||||
$queries[10] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and strength>='".GameConst::$chiefStatMin."' order by npc,binary(name)";
|
||||
$queries[9] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and intel>='".GameConst::$chiefStatMin."' order by npc,binary(name)";
|
||||
$queries[8] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and power>='".GameConst::$chiefStatMin."' order by npc,binary(name)";
|
||||
$queries[8] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and strength>='".GameConst::$chiefStatMin."' order by npc,binary(name)";
|
||||
$queries[7] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and intel>='".GameConst::$chiefStatMin."' order by npc,binary(name)";
|
||||
$queries[6] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and power>='".GameConst::$chiefStatMin."' order by npc,binary(name)";
|
||||
$queries[6] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and strength>='".GameConst::$chiefStatMin."' order by npc,binary(name)";
|
||||
$queries[5] = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and intel>='".GameConst::$chiefStatMin."' order by npc,binary(name)";
|
||||
|
||||
for($i=10; $i >= $lv; $i--) {
|
||||
@@ -390,7 +390,7 @@ if($meLevel >= 5) {
|
||||
<option value=0>____공석____</option>
|
||||
";
|
||||
|
||||
$query = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and power>='".GameConst::$chiefStatMin."' order by npc,binary(name)";
|
||||
$query = "select no,name,level,city from general where nation='{$me['nation']}' and level!='12' and strength>='".GameConst::$chiefStatMin."' order by npc,binary(name)";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$count = MYDB_num_rows($result);
|
||||
for($i=0; $i < $count; $i++) {
|
||||
|
||||
+11
-11
@@ -85,8 +85,8 @@ $nationLevel = DB::db()->queryFirstField('select level from nation where nation
|
||||
1=>['level', true],
|
||||
2=>['dedication', true],
|
||||
3=>['experience', true],
|
||||
4=>['leader', true],
|
||||
5=>['power', true],
|
||||
4=>['leadership', true],
|
||||
5=>['strength', true],
|
||||
6=>['intel', true],
|
||||
7=>['gold', true],
|
||||
8=>['rice', true],
|
||||
@@ -99,7 +99,7 @@ $nationLevel = DB::db()->queryFirstField('select level from nation where nation
|
||||
15=>['npc', true],
|
||||
][$type];
|
||||
|
||||
$generalList = $db->query('SELECT owner,no,picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leader,power,intel,experience,dedication,level,killturn,connect,gold,rice,crew,belong from general where nation = %i order by %b %l', $me['nation'], $orderKey, $orderDesc?'desc':'');
|
||||
$generalList = $db->query('SELECT owner,no,picture,imgsvr,npc,age,nation,special,special2,personal,name,injury,leadership,strength,intel,experience,dedication,level,killturn,connect,gold,rice,crew,belong from general where nation = %i order by %b %l', $me['nation'], $orderKey, $orderDesc?'desc':'');
|
||||
|
||||
echo"
|
||||
<table align=center class='tb_layout bg0'>
|
||||
@@ -130,15 +130,15 @@ foreach($generalList as $general){
|
||||
}
|
||||
|
||||
if($general['injury'] > 0) {
|
||||
$leader = intdiv($general['leader'] * (100 - $general['injury']), 100);
|
||||
$power = intdiv($general['power'] * (100 - $general['injury']), 100);
|
||||
$leadership = intdiv($general['leadership'] * (100 - $general['injury']), 100);
|
||||
$strength = intdiv($general['strength'] * (100 - $general['injury']), 100);
|
||||
$intel = intdiv($general['intel'] * (100 - $general['injury']), 100);
|
||||
$leader = "<font color=red>{$leader}</font>{$lbonus}";
|
||||
$power = "<font color=red>{$power}</font>";
|
||||
$leadership = "<font color=red>{$leadership}</font>{$lbonus}";
|
||||
$strength = "<font color=red>{$strength}</font>";
|
||||
$intel = "<font color=red>{$intel}</font>";
|
||||
} else {
|
||||
$leader = "{$general['leader']}{$lbonus}";
|
||||
$power = "{$general['power']}";
|
||||
$leadership = "{$general['leadership']}{$lbonus}";
|
||||
$strength = "{$general['strength']}";
|
||||
$intel = "{$general['intel']}";
|
||||
}
|
||||
|
||||
@@ -159,8 +159,8 @@ foreach($generalList as $general){
|
||||
<td align=center>".getDed($general['dedication'])."</td>
|
||||
<td align=center>".getHonor($general['experience'])."</td>
|
||||
<td align=center>".getBill($general['dedication'])."</td>
|
||||
<td align=center>$leader</td>
|
||||
<td align=center>$power</td>
|
||||
<td align=center>$leadership</td>
|
||||
<td align=center>$strength</td>
|
||||
<td align=center>$intel</td>
|
||||
<td align=center>{$general['gold']}</td>
|
||||
<td align=center>{$general['rice']}</td>
|
||||
|
||||
@@ -68,7 +68,7 @@ for($j=0; $j < $citycount; $j++) {
|
||||
$maxpop += $city['pop2'];
|
||||
}
|
||||
|
||||
$query = "select sum(crew) as totcrew,sum(leader)*100 as maxcrew from general where nation='{$nation['nation']}'";
|
||||
$query = "select sum(crew) as totcrew,sum(leadership)*100 as maxcrew from general where nation='{$nation['nation']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$general = MYDB_fetch_array($result);
|
||||
|
||||
|
||||
@@ -28,10 +28,10 @@ if ($con >= 2) {
|
||||
|
||||
switch ($admin['tnmt_type']) {
|
||||
default: throw new \RuntimeException('invalid tnmt_type');
|
||||
case 0: $tnmt_type = "<font color=cyan>전력전</font>"; $tp = "tot"; $tp2 = "종합"; $tp3 = "total"; break;
|
||||
case 1: $tnmt_type = "<font color=cyan>통솔전</font>"; $tp = "ldr"; $tp2 = "통솔"; $tp3 = "leader"; break;
|
||||
case 2: $tnmt_type = "<font color=cyan>일기토</font>"; $tp = "pwr"; $tp2 = "무력"; $tp3 = "power"; break;
|
||||
case 3: $tnmt_type = "<font color=cyan>설전</font>"; $tp = "itl"; $tp2 = "지력"; $tp3 = "intel"; break;
|
||||
case 0: $tnmt_type = "<font color=cyan>전력전</font>"; $tp = "total"; $tp2 = "종합"; $tp3 = "total"; break;
|
||||
case 1: $tnmt_type = "<font color=cyan>통솔전</font>"; $tp = "leadership"; $tp2 = "통솔"; $tp3 = "leadership"; break;
|
||||
case 2: $tnmt_type = "<font color=cyan>일기토</font>"; $tp = "strength"; $tp2 = "무력"; $tp3 = "strength"; break;
|
||||
case 3: $tnmt_type = "<font color=cyan>설전</font>"; $tp = "intel"; $tp2 = "지력"; $tp3 = "intel"; break;
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -115,7 +115,7 @@ if ($session->userGrade >= 5) {
|
||||
case 1:
|
||||
echo "<select name=gen size=1 style=color:white;background-color:black;>";
|
||||
|
||||
$query = "select no,name,npc,tnmt,leader,power,intel,leader+power+intel as total from general where tournament=0 and gold>='{$admin['develcost']}' order by {$tp3} desc";
|
||||
$query = "select no,name,npc,tnmt,leadership,strength,intel,leadership+strength+intel as total from general where tournament=0 and gold>='{$admin['develcost']}' order by {$tp3} desc";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
$genCount = MYDB_num_rows($result);
|
||||
|
||||
@@ -442,7 +442,7 @@ for ($i=0; $i < 8; $i++) {
|
||||
<tr><td colspan=9 style=background-color:black;>{$num[$i]}조</td></tr>
|
||||
<tr id=bg1><td align=center>순</td><td align=center>장수</td><td align=center>{$tp2}</td><td align=center>경</td><td align=center>승</td><td align=center>무</td><td align=center>패</td><td align=center>점</td><td align=center>득</td></tr>";
|
||||
|
||||
$query = "select npc,name,ldr,pwr,itl,ldr+pwr+itl as tot,prmt,win+draw+lose as game,win,draw,lose,gl,win*3+draw as gd from tournament where grp='$grp' order by gd desc, gl desc, seq";
|
||||
$query = "select npc,name,leadership,strength,intel,leadership+strength+intel as total,prmt,win+draw+lose as game,win,draw,lose,gl,win*3+draw as gd from tournament where grp='$grp' order by gd desc, gl desc, seq";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
for ($k=1; $k <= 4; $k++) {
|
||||
$general = MYDB_fetch_array($result);
|
||||
@@ -468,7 +468,7 @@ for ($i=0; $i < 8; $i++) {
|
||||
<tr><td colspan=9 style=background-color:black;>{$num[$i]}조</td></tr>
|
||||
<tr id=bg1><td align=center>순</td><td align=center>장수</td><td align=center>{$tp2}</td><td align=center>경</td><td align=center>승</td><td align=center>무</td><td align=center>패</td><td align=center>점</td><td align=center>득</td></tr>";
|
||||
|
||||
$query = "select npc,name,ldr,pwr,itl,ldr+pwr+itl as tot,prmt,win+draw+lose as game,win,draw,lose,gl,win*3+draw as gd from tournament where grp='$grp' order by gd desc, gl desc, seq";
|
||||
$query = "select npc,name,leadership,strength,intel,leadership+strength+intel as total,prmt,win+draw+lose as game,win,draw,lose,gl,win*3+draw as gd from tournament where grp='$grp' order by gd desc, gl desc, seq";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect), "");
|
||||
for ($k=1; $k <= 8; $k++) {
|
||||
$general = MYDB_fetch_array($result);
|
||||
|
||||
@@ -280,7 +280,7 @@ var defaultSpecialDomestic = <?=GameConst::$defaultSpecialDomestic?>;
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">무력</span>
|
||||
</div>
|
||||
<input type="number" class="form-control form_power" value="50" min="1" max="300" step="1">
|
||||
<input type="number" class="form-control form_strength" value="50" min="1" max="300" step="1">
|
||||
<div class="input-group-prepend">
|
||||
<span class="input-group-text">지력</span>
|
||||
</div>
|
||||
|
||||
@@ -41,7 +41,7 @@ if($btn == "임명") {
|
||||
$general = [];
|
||||
}
|
||||
else{
|
||||
$general = $db->queryFirstRow('SELECT `no`,nation,`level`,leader,`power`,intel FROM general WHERE no = %i', $genlist);
|
||||
$general = $db->queryFirstRow('SELECT `no`,nation,`level`,leadership,`strength`,intel FROM general WHERE no = %i', $genlist);
|
||||
}
|
||||
|
||||
if($genlist != 0 && !$general){
|
||||
@@ -262,11 +262,11 @@ if($btn == "임명" && $level >= 5 && $level <= 11) {
|
||||
if($genlist != 0) {
|
||||
$valid = 0;
|
||||
switch($level) {
|
||||
case 10: if($general['power'] >= GameConst::$chiefStatMin) { $valid = 1; } break;
|
||||
case 10: if($general['strength'] >= GameConst::$chiefStatMin) { $valid = 1; } break;
|
||||
case 9: if($general['intel'] >= GameConst::$chiefStatMin) { $valid = 1; } break;
|
||||
case 8: if($general['power'] >= GameConst::$chiefStatMin) { $valid = 1; } break;
|
||||
case 8: if($general['strength'] >= GameConst::$chiefStatMin) { $valid = 1; } break;
|
||||
case 7: if($general['intel'] >= GameConst::$chiefStatMin) { $valid = 1; } break;
|
||||
case 6: if($general['power'] >= GameConst::$chiefStatMin) { $valid = 1; } break;
|
||||
case 6: if($general['strength'] >= GameConst::$chiefStatMin) { $valid = 1; } break;
|
||||
case 5: if($general['intel'] >= GameConst::$chiefStatMin) { $valid = 1; } break;
|
||||
default: $valid = 1; break;
|
||||
}
|
||||
@@ -321,7 +321,7 @@ if($btn == "임명" && $level >= 2 && $level <= 4 && $citylist > 0) {
|
||||
if($genlist != 0) {
|
||||
$valid = 0;
|
||||
switch($level) {
|
||||
case 4: if($general['power'] >= GameConst::$chiefStatMin) { $valid = 1; } break;
|
||||
case 4: if($general['strength'] >= GameConst::$chiefStatMin) { $valid = 1; } break;
|
||||
case 3: if($general['intel'] >= GameConst::$chiefStatMin) { $valid = 1; } break;
|
||||
default: $valid = 1; break;
|
||||
}
|
||||
|
||||
+24
-24
@@ -29,9 +29,9 @@ $result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),""
|
||||
$me = MYDB_fetch_array($result);
|
||||
|
||||
switch($admin['tnmt_type']) {
|
||||
case 0: $tp = "total"; $tp2 = "전력전"; $tp3 = "leader+power+intel"; break;
|
||||
case 1: $tp = "leader"; $tp2 = "통솔전"; $tp3 = "leader"; break;
|
||||
case 2: $tp = "power"; $tp2 = "일기토"; $tp3 = "power"; break;
|
||||
case 0: $tp = "total"; $tp2 = "전력전"; $tp3 = "leadership+strength+intel"; break;
|
||||
case 1: $tp = "leadership"; $tp2 = "통솔전"; $tp3 = "leadership"; break;
|
||||
case 2: $tp = "strength"; $tp2 = "일기토"; $tp3 = "strength"; break;
|
||||
case 3: $tp = "intel"; $tp2 = "설전"; $tp3 = "intel"; break;
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ if($btn == '참가') {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
$general = $db->queryFirstRow('SELECT no,name,npc,leader,power,intel,explevel,gold,horse,weap,book FROM general WHERE `no`=%i', $me['no']);
|
||||
$general = $db->queryFirstRow('SELECT no,name,npc,leadership,strength,intel,explevel,gold,horse,weap,book FROM general WHERE `no`=%i', $me['no']);
|
||||
|
||||
//{$admin['develcost']}원 참가비
|
||||
if($general['gold'] < $admin['develcost']) {
|
||||
@@ -64,9 +64,9 @@ if($btn == '참가') {
|
||||
'no'=>$general['no'],
|
||||
'npc'=>$general['npc'],
|
||||
'name'=>$general['name'],
|
||||
'ldr'=>$general['leader'],
|
||||
'pwr'=>$general['power'],
|
||||
'itl'=>$general['intel'],
|
||||
'leadership'=>$general['leadership'],
|
||||
'strength'=>$general['strength'],
|
||||
'intel'=>$general['intel'],
|
||||
'lvl'=>$general['explevel'],
|
||||
'grp'=>$grp,
|
||||
'grp_no'=>$grpMemberCount,
|
||||
@@ -104,7 +104,7 @@ if($btn == "자동개최설정") {
|
||||
$gameStor->phase = 0;
|
||||
} elseif($btn == "투입" || $btn == "무명투입" || $btn == "쪼렙투입" || $btn == "일반투입" || $btn == "굇수투입" || $btn == "랜덤투입") {
|
||||
if($btn == "투입") {
|
||||
$query = "select no,name,npc,leader,power,intel,explevel,gold,horse,weap,book from general where no='$gen'";
|
||||
$query = "select no,name,npc,leadership,strength,intel,explevel,gold,horse,weap,book from general where no='$gen'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$general = MYDB_fetch_array($result);
|
||||
$general['gold'] -= $admin['develcost'];
|
||||
@@ -112,14 +112,14 @@ if($btn == "자동개최설정") {
|
||||
$general['no'] = 0;
|
||||
$general['name'] = "무명장수";
|
||||
$general['npc'] = 2;
|
||||
$general['leader'] = 10;
|
||||
$general['power'] = 10;
|
||||
$general['leadership'] = 10;
|
||||
$general['strength'] = 10;
|
||||
$general['intel'] = 10;
|
||||
$general['explevel'] = 10;
|
||||
$general['gold'] = 0;
|
||||
} elseif($btn == "쪼렙투입") {
|
||||
$sel = rand() % 32;
|
||||
$query = "select no,name,npc,leader,power,intel,explevel,gold,leader+power+intel as total,horse,weap,book from general where tournament=0 and gold>='{$admin['develcost']}' and npc>=2 order by {$tp} limit {$sel},1";
|
||||
$query = "select no,name,npc,leadership,strength,intel,explevel,gold,leadership+strength+intel as total,horse,weap,book from general where tournament=0 and gold>='{$admin['develcost']}' and npc>=2 order by {$tp} limit {$sel},1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$general = MYDB_fetch_array($result);
|
||||
$general['gold'] -= $admin['develcost'];
|
||||
@@ -136,18 +136,18 @@ if($btn == "자동개최설정") {
|
||||
|
||||
$sel = rand() % 32 + $genCount - 8;
|
||||
|
||||
$query = "select no,name,npc,leader,power,intel,explevel,leader+power+intel as total,horse,weap,book from general where tournament=0 and gold>='{$admin['develcost']}' and npc>=2 order by {$tp} desc limit {$sel},1";
|
||||
$query = "select no,name,npc,leadership,strength,intel,explevel,leadership+strength+intel as total,horse,weap,book from general where tournament=0 and gold>='{$admin['develcost']}' and npc>=2 order by {$tp} desc limit {$sel},1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$general = MYDB_fetch_array($result);
|
||||
$general['gold'] -= $admin['develcost'];
|
||||
} elseif($btn == "굇수투입") {
|
||||
$sel = rand() % 32;
|
||||
$query = "select no,name,npc,leader,power,intel,explevel,gold,leader+power+intel as total,horse,weap,book from general where tournament=0 and gold>='{$admin['develcost']}' and npc>=2 order by {$tp} desc limit {$sel},1";
|
||||
$query = "select no,name,npc,leadership,strength,intel,explevel,gold,leadership+strength+intel as total,horse,weap,book from general where tournament=0 and gold>='{$admin['develcost']}' and npc>=2 order by {$tp} desc limit {$sel},1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$general = MYDB_fetch_array($result);
|
||||
$general['gold'] -= $admin['develcost'];
|
||||
} elseif($btn == "랜덤투입") {
|
||||
$query = "select no,name,npc,leader,power,intel,explevel,gold,leader+power+intel as total,horse,weap,book from general where tournament=0 and gold>='{$admin['develcost']}' and npc>=2 order by rand() limit 0,1";
|
||||
$query = "select no,name,npc,leadership,strength,intel,explevel,gold,leadership+strength+intel as total,horse,weap,book from general where tournament=0 and gold>='{$admin['develcost']}' and npc>=2 order by rand() limit 0,1";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$general = MYDB_fetch_array($result);
|
||||
$general['gold'] -= $admin['develcost'];
|
||||
@@ -167,9 +167,9 @@ if($btn == "자동개최설정") {
|
||||
'no'=>$general['no'],
|
||||
'npc'=>$general['npc'],
|
||||
'name'=>$general['name'],
|
||||
'ldr'=>$general['leader'],
|
||||
'pwr'=>$general['power'],
|
||||
'itl'=>$general['intel'],
|
||||
'leadership'=>$general['leadership'],
|
||||
'strength'=>$general['strength'],
|
||||
'intel'=>$general['intel'],
|
||||
'lvl'=>$general['explevel'],
|
||||
'grp'=>$grp,
|
||||
'grp_no'=>$grpMemberCount,
|
||||
@@ -211,7 +211,7 @@ if($btn == "자동개최설정") {
|
||||
for($i=0; $i < $z; $i++) {
|
||||
$sel = rand() % 32;
|
||||
if($btn == "쪼렙전부투입") {
|
||||
$query = "select no,name,npc,leader,power,intel,explevel,leader+power+intel as total,horse,weap,book from general where tournament=0 and gold>='{$admin['develcost']}' and npc>=2 order by {$tp} limit {$sel},1";
|
||||
$query = "select no,name,npc,leadership,strength,intel,explevel,leadership+strength+intel as total,horse,weap,book from general where tournament=0 and gold>='{$admin['develcost']}' and npc>=2 order by {$tp} limit {$sel},1";
|
||||
} elseif($btn == "일반전부투입") {
|
||||
//참가한 사람 평균치
|
||||
$query = "select AVG({$tp3}) as av from general where tournament=1";
|
||||
@@ -225,11 +225,11 @@ if($btn == "자동개최설정") {
|
||||
|
||||
$sel += $genCount - 8;
|
||||
|
||||
$query = "select no,name,npc,leader,power,intel,explevel,leader+power+intel as total,horse,weap,book from general where tournament=0 and gold>='{$admin['develcost']}' and npc>=2 order by {$tp} desc limit {$sel},1";
|
||||
$query = "select no,name,npc,leadership,strength,intel,explevel,leadership+strength+intel as total,horse,weap,book from general where tournament=0 and gold>='{$admin['develcost']}' and npc>=2 order by {$tp} desc limit {$sel},1";
|
||||
} elseif($btn == "굇수전부투입") {
|
||||
$query = "select no,name,npc,leader,power,intel,explevel,leader+power+intel as total,horse,weap,book from general where tournament=0 and gold>='{$admin['develcost']}' and npc>=2 order by {$tp} desc limit {$sel},1";
|
||||
$query = "select no,name,npc,leadership,strength,intel,explevel,leadership+strength+intel as total,horse,weap,book from general where tournament=0 and gold>='{$admin['develcost']}' and npc>=2 order by {$tp} desc limit {$sel},1";
|
||||
} else {
|
||||
$query = "select no,name,npc,leader,power,intel,explevel,leader+power+intel as total,horse,weap,book from general where tournament=0 and gold>='{$admin['develcost']}' and npc>=2 order by rand() limit 0,1";
|
||||
$query = "select no,name,npc,leadership,strength,intel,explevel,leadership+strength+intel as total,horse,weap,book from general where tournament=0 and gold>='{$admin['develcost']}' and npc>=2 order by rand() limit 0,1";
|
||||
}
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$general = MYDB_fetch_array($result);
|
||||
@@ -240,9 +240,9 @@ if($btn == "자동개최설정") {
|
||||
'no'=>$general['no'],
|
||||
'npc'=>$general['npc'],
|
||||
'name'=>$general['name'],
|
||||
'ldr'=>$general['leader'],
|
||||
'pwr'=>$general['power'],
|
||||
'itl'=>$general['intel'],
|
||||
'leadership'=>$general['leadership'],
|
||||
'strength'=>$general['strength'],
|
||||
'intel'=>$general['intel'],
|
||||
'lvl'=>$general['explevel'],
|
||||
'grp'=>$grp,
|
||||
'grp_no'=>$grp_no,
|
||||
|
||||
+35
-35
@@ -274,7 +274,7 @@ function myNationInfo() {
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$city = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select COUNT(*) as cnt, SUM(crew) as totcrew,SUM(leader)*100 as maxcrew from general where nation='{$nation['nation']}'"; // 장수 목록
|
||||
$query = "select COUNT(*) as cnt, SUM(crew) as totcrew,SUM(leadership)*100 as maxcrew from general where nation='{$nation['nation']}'"; // 장수 목록
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$general = MYDB_fetch_array($result);
|
||||
|
||||
@@ -778,7 +778,7 @@ function generalInfo($no) {
|
||||
|
||||
$show_img_level = $gameStor->show_img_level;
|
||||
|
||||
$query = "select block,no,name,picture,imgsvr,injury,nation,city,troop,leader,leader2,power,power2,intel,intel2,explevel,experience,level,gold,rice,crew,crewtype,train,atmos,weap,book,horse,item,turntime,killturn,age,personal,special,specage,special2,specage2,mode,con,connect from general where no='$no'";
|
||||
$query = "select block,no,name,picture,imgsvr,injury,nation,city,troop,leadership,leadership2,strength,strength2,intel,intel2,explevel,experience,level,gold,rice,crew,crewtype,train,atmos,weap,book,horse,item,turntime,killturn,age,personal,special,specage,special2,specage2,mode,con,connect from general where no='$no'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$general = MYDB_fetch_array($result);
|
||||
|
||||
@@ -816,18 +816,18 @@ function generalInfo($no) {
|
||||
$city = MYDB_fetch_array($result);
|
||||
$level = $city['name']." ".$level;
|
||||
}
|
||||
$call = getCall($general['leader'], $general['power'], $general['intel']);
|
||||
$call = getCall($general['leadership'], $general['power'], $general['intel']);
|
||||
$typename = GameUnitConst::byId($general['crewtype'])->name;
|
||||
$weapname = getItemName($general['weap']);
|
||||
$bookname = getItemName($general['book']);
|
||||
$horsename = getItemName($general['horse']);
|
||||
$itemname = displayItemInfo($general['item']);
|
||||
if($general['injury'] > 0) {
|
||||
$leader = intdiv($general['leader'] * (100 - $general['injury']), 100);
|
||||
$leadership = intdiv($general['leadership'] * (100 - $general['injury']), 100);
|
||||
$power = intdiv($general['power'] * (100 - $general['injury']), 100);
|
||||
$intel = intdiv($general['intel'] * (100 - $general['injury']), 100);
|
||||
} else {
|
||||
$leader = $general['leader'];
|
||||
$leadership = $general['leadership'];
|
||||
$power = $general['power'];
|
||||
$intel = $general['intel'];
|
||||
}
|
||||
@@ -881,11 +881,11 @@ function generalInfo($no) {
|
||||
</tr>
|
||||
<tr height=16>
|
||||
<td style='text-align:center;' class='bg1'><b>통솔</b></td>
|
||||
<td style='text-align:center;'> {$color}{$leader}</font>{$lbonus} </td>
|
||||
<td style='text-align:center;' width=45>".bar(expStatus($general['leader2']), 20)."</td>
|
||||
<td style='text-align:center;'> {$color}{$leadership}</font>{$lbonus} </td>
|
||||
<td style='text-align:center;' width=45>".bar(expStatus($general['leadership2']), 20)."</td>
|
||||
<td style='text-align:center;' class='bg1'><b>무력</b></td>
|
||||
<td style='text-align:center;'> {$color}{$power}</font> </td>
|
||||
<td style='text-align:center;' width=45>".bar(expStatus($general['power2']), 20)."</td>
|
||||
<td style='text-align:center;' width=45>".bar(expStatus($general['strength2']), 20)."</td>
|
||||
<td style='text-align:center;' class='bg1'><b>지력</b></td>
|
||||
<td style='text-align:center;'> {$color}{$intel}</font> </td>
|
||||
<td style='text-align:center;' width=45>".bar(expStatus($general['intel2']), 20)."</td>
|
||||
@@ -1746,8 +1746,8 @@ function addAge() {
|
||||
$admin = $gameStor->getValues(['startyear', 'year', 'month']);
|
||||
|
||||
if($admin['year'] >= $admin['startyear']+3) {
|
||||
foreach($db->query('SELECT no,name,nation,leader,power,intel from general where specage<=age and special=%s', GameConst::$defaultSpecialDomestic) as $general){
|
||||
$special = getSpecial($general['leader'], $general['power'], $general['intel']);
|
||||
foreach($db->query('SELECT no,name,nation,leadership,power,intel from general where specage<=age and special=%s', GameConst::$defaultSpecialDomestic) as $general){
|
||||
$special = getSpecial($general['leadership'], $general['power'], $general['intel']);
|
||||
$specialClass = getGeneralSpecialDomesticClass($special);
|
||||
$specialText = $specialClass::$name;
|
||||
$db->update('general', [
|
||||
@@ -1759,8 +1759,8 @@ function addAge() {
|
||||
pushGenLog($general, "<C>●</>특기 【<b><L>{$specialText}</></b>】{$josaUl} 익혔습니다!");
|
||||
}
|
||||
|
||||
foreach($db->query('SELECT no,name,nation,leader,power,intel,npc,dex0,dex10,dex20,dex30,dex40 from general where spec2age<=age and special2=%s', GameConst::$defaultSpecialWar) as $general){
|
||||
$special2 = getSpecial2($general['leader'], $general['power'], $general['intel'], 0, $general['dex0'], $general['dex10'], $general['dex20'], $general['dex30'], $general['dex40']);
|
||||
foreach($db->query('SELECT no,name,nation,leadership,power,intel,npc,dex0,dex10,dex20,dex30,dex40 from general where spec2age<=age and special2=%s', GameConst::$defaultSpecialWar) as $general){
|
||||
$special2 = getSpecial2($general['leadership'], $general['power'], $general['intel'], 0, $general['dex0'], $general['dex10'], $general['dex20'], $general['dex30'], $general['dex40']);
|
||||
$specialClass = getGeneralSpecialWarClass($special2);
|
||||
$specialText = $specialClass::$name;
|
||||
|
||||
@@ -2070,7 +2070,7 @@ function updateTurntime($no) {
|
||||
CheckHall($no);
|
||||
}
|
||||
|
||||
$query = "update general set leader=leader*0.85,power=power*0.85,intel=intel*0.85,injury=0,experience=experience*0.5,dedication=dedication*0.5,firenum=0,warnum=0,killnum=0,deathnum=0,killcrew=0,deathcrew=0,age=20,specage=0,specage2=0,crew=crew*0.85,dex0=dex0*0.5,dex10=dex10*0.5,dex20=dex20*0.5,dex30=dex30*0.5,dex40=dex40*0.5 where no='$no'";
|
||||
$query = "update general set leadership=leadership*0.85,power=power*0.85,intel=intel*0.85,injury=0,experience=experience*0.5,dedication=dedication*0.5,firenum=0,warnum=0,killnum=0,deathnum=0,killcrew=0,deathcrew=0,age=20,specage=0,specage2=0,crew=crew*0.85,dex0=dex0*0.5,dex10=dex10*0.5,dex20=dex20*0.5,dex30=dex30*0.5,dex40=dex40*0.5 where no='$no'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$josaYi = JosaUtil::pick($general['name'], '이');
|
||||
@@ -2122,7 +2122,7 @@ function CheckHall($no) {
|
||||
dex0,dex10,dex20,dex30,dex40,
|
||||
ttw/(ttw+ttd+ttl) as ttrate, ttw+ttd+ttl as tt,
|
||||
tlw/(tlw+tld+tll) as tlrate, tlw+tld+tll as tl,
|
||||
tpw/(tpw+tpd+tpl) as tprate, tpw+tpd+tpl as tp,
|
||||
tsw/(tsw+tsd+tsl) as tprate, tsw+tsd+tsl as ts,
|
||||
tiw/(tiw+tid+til) as tirate, tiw+tid+til as ti,
|
||||
betgold, betwin, betwingold, betwingold/betgold as betrate
|
||||
from general where no=%i', $no);
|
||||
@@ -2148,7 +2148,7 @@ function CheckHall($no) {
|
||||
//토너승률인데 50회 미만시 스킵
|
||||
if($typeName === 'tlrate' && $general['tl'] < 50) { continue; }
|
||||
//토너승률인데 50회 미만시 스킵
|
||||
if($typeName === 'tprate' && $general['tp'] < 50) { continue; }
|
||||
if($typeName === 'tprate' && $general['ts'] < 50) { continue; }
|
||||
//토너승률인데 50회 미만시 스킵
|
||||
if($typeName === 'tirate' && $general['ti'] < 50) { continue; }
|
||||
//수익률인데 1000미만시 스킵
|
||||
@@ -2413,24 +2413,24 @@ function uniqueItem($general, $log, $vote=0) {
|
||||
|
||||
function checkAbilityEx(int $generalID, ActionLogger $actLog){
|
||||
$db = DB::db();
|
||||
$general = $db->queryFirstRow('SELECT leader,leader2,power,power2,intel,intel2 FROM general WHERE no = %i',$generalID);
|
||||
$general = $db->queryFirstRow('SELECT leadership,leadership2,strength,strength2,intel,intel2 FROM general WHERE no = %i',$generalID);
|
||||
|
||||
if(!$general){
|
||||
return;
|
||||
}
|
||||
|
||||
if($general['leader2'] < 0){
|
||||
if($general['leadership2'] < 0){
|
||||
$db->update('general',[
|
||||
'leader2'=>$db->sqleval('leader2 + %i', GameConst::$upgradeLimit),
|
||||
'leader'=>$db->sqleval('leader - 1')
|
||||
'leadership2'=>$db->sqleval('leadership2 + %i', GameConst::$upgradeLimit),
|
||||
'leadership'=>$db->sqleval('leadership - 1')
|
||||
], 'no=%i', $generalID);
|
||||
$actLog->pushGeneralActionLog('<R>통솔</>이 <C>1</> 떨어졌습니다!', ActionLogger::PLAIN);
|
||||
return;
|
||||
}
|
||||
|
||||
if($general['power2'] < 0){
|
||||
if($general['strength2'] < 0){
|
||||
$db->update('general',[
|
||||
'power2'=>$db->sqleval('power2 + %i', GameConst::$upgradeLimit),
|
||||
'strength2'=>$db->sqleval('strength2 + %i', GameConst::$upgradeLimit),
|
||||
'power'=>$db->sqleval('power - 1')
|
||||
], 'no=%i', $generalID);
|
||||
$actLog->pushGeneralActionLog('<R>무력</>이 <C>1</> 떨어졌습니다!', ActionLogger::PLAIN);
|
||||
@@ -2446,18 +2446,18 @@ function checkAbilityEx(int $generalID, ActionLogger $actLog){
|
||||
return;
|
||||
}
|
||||
|
||||
if($general['leader2'] >= GameConst::$upgradeLimit){
|
||||
if($general['leadership2'] >= GameConst::$upgradeLimit){
|
||||
$db->update('general',[
|
||||
'leader2'=>$db->sqleval('leader2 - %i', GameConst::$upgradeLimit),
|
||||
'leader'=>$db->sqleval('leader + 1')
|
||||
'leadership2'=>$db->sqleval('leadership2 - %i', GameConst::$upgradeLimit),
|
||||
'leadership'=>$db->sqleval('leadership + 1')
|
||||
], 'no=%i', $generalID);
|
||||
$actLog->pushGeneralActionLog('<R>통솔</>이 <C>1</> 올랐습니다!', ActionLogger::PLAIN);
|
||||
return;
|
||||
}
|
||||
|
||||
if($general['power2'] >= GameConst::$upgradeLimit){
|
||||
if($general['strength2'] >= GameConst::$upgradeLimit){
|
||||
$db->update('general',[
|
||||
'power2'=>$db->sqleval('power2 - %i', GameConst::$upgradeLimit),
|
||||
'strength2'=>$db->sqleval('strength2 - %i', GameConst::$upgradeLimit),
|
||||
'power'=>$db->sqleval('power + 1')
|
||||
], 'no=%i', $generalID);
|
||||
$actLog->pushGeneralActionLog('<R>무력</>이 <C>1</> 올랐습니다!', ActionLogger::PLAIN);
|
||||
@@ -2480,29 +2480,29 @@ function checkAbility($general, $log) {
|
||||
|
||||
$limit = GameConst::$upgradeLimit;
|
||||
|
||||
$query = "select no,leader,leader2,power,power2,intel,intel2 from general where no='{$general['no']}'";
|
||||
$query = "select no,leadership,leadership2,power,strength2,intel,intel2 from general where no='{$general['no']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$general = MYDB_fetch_array($result);
|
||||
|
||||
if($general['leader2'] < 0) {
|
||||
$query = "update general set leader2='$limit'+leader2,leader=leader-1 where no='{$general['no']}'";
|
||||
if($general['leadership2'] < 0) {
|
||||
$query = "update general set leadership2='$limit'+leadership2,leadership=leadership-1 where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$log[] = "<C>●</><R>통솔</>이 <C>1</> 떨어졌습니다!";
|
||||
} elseif($general['leader2'] >= $limit) {
|
||||
$query = "update general set leader2=leader2-'$limit',leader=leader+1 where no='{$general['no']}'";
|
||||
} elseif($general['leadership2'] >= $limit) {
|
||||
$query = "update general set leadership2=leadership2-'$limit',leadership=leadership+1 where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$log[] = "<C>●</><Y>통솔</>이 <C>1</> 올랐습니다!";
|
||||
}
|
||||
|
||||
if($general['power2'] < 0) {
|
||||
$query = "update general set power2='$limit'+power2,power=power-1 where no='{$general['no']}'";
|
||||
if($general['strength2'] < 0) {
|
||||
$query = "update general set strength2='$limit'+strength2,power=power-1 where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$log[] = "<C>●</><R>무력</>이 <C>1</> 떨어졌습니다!";
|
||||
} elseif($general['power2'] >= $limit) {
|
||||
$query = "update general set power2=power2-'$limit',power=power+1 where no='{$general['no']}'";
|
||||
} elseif($general['strength2'] >= $limit) {
|
||||
$query = "update general set strength2=strength2-'$limit',power=power+1 where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$log[] = "<C>●</><Y>무력</>이 <C>1</> 올랐습니다!";
|
||||
|
||||
+37
-37
@@ -274,7 +274,7 @@ function myNationInfo() {
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$city = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select COUNT(*) as cnt, SUM(crew) as totcrew,SUM(leader)*100 as maxcrew from general where nation='{$nation['nation']}'"; // 장수 목록
|
||||
$query = "select COUNT(*) as cnt, SUM(crew) as totcrew,SUM(leadership)*100 as maxcrew from general where nation='{$nation['nation']}'"; // 장수 목록
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$general = MYDB_fetch_array($result);
|
||||
|
||||
@@ -635,7 +635,7 @@ function generalInfo($no) {
|
||||
|
||||
$show_img_level = $gameStor->show_img_level;
|
||||
|
||||
$query = "select block,no,name,picture,imgsvr,injury,nation,city,troop,leader,leader2,power,power2,intel,intel2,explevel,experience,level,gold,rice,crew,crewtype,train,atmos,weap,book,horse,item,turntime,killturn,age,personal,special,specage,special2,specage2,mode,con,connect from general where no='$no'";
|
||||
$query = "select block,no,name,picture,imgsvr,injury,nation,city,troop,leadership,leadership2,strength,strength2,intel,intel2,explevel,experience,level,gold,rice,crew,crewtype,train,atmos,weap,book,horse,item,turntime,killturn,age,personal,special,specage,special2,specage2,mode,con,connect from general where no='$no'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$general = MYDB_fetch_array($result);
|
||||
|
||||
@@ -684,19 +684,19 @@ function generalInfo($no) {
|
||||
$city = MYDB_fetch_array($result);
|
||||
$level = $city['name']." ".$level;
|
||||
}
|
||||
$call = getCall($general['leader'], $general['power'], $general['intel']);
|
||||
$call = getCall($general['leadership'], $general['strength'], $general['intel']);
|
||||
$typename = GameUnitConst::byId($general['crewtype'])->name;
|
||||
$weapname = getItemName($general['weap']);
|
||||
$bookname = getItemName($general['book']);
|
||||
$horsename = getItemName($general['horse']);
|
||||
$itemname = displayItemInfo($general['item']);
|
||||
if($general['injury'] > 0) {
|
||||
$leader = intdiv($general['leader'] * (100 - $general['injury']), 100);
|
||||
$power = intdiv($general['power'] * (100 - $general['injury']), 100);
|
||||
$leadership = intdiv($general['leadership'] * (100 - $general['injury']), 100);
|
||||
$strength = intdiv($general['strength'] * (100 - $general['injury']), 100);
|
||||
$intel = intdiv($general['intel'] * (100 - $general['injury']), 100);
|
||||
} else {
|
||||
$leader = $general['leader'];
|
||||
$power = $general['power'];
|
||||
$leadership = $general['leadership'];
|
||||
$strength = $general['strength'];
|
||||
$intel = $general['intel'];
|
||||
}
|
||||
if($general['injury'] > 60) { $color = "<font color=red>"; $injury = "위독"; }
|
||||
@@ -748,11 +748,11 @@ function generalInfo($no) {
|
||||
</tr>
|
||||
<tr height=16>
|
||||
<td style='text-align:center;' class='bg1'><b>통솔</b></td>
|
||||
<td style='text-align:center;'> {$color}{$leader}</font>{$lbonus} </td>
|
||||
<td style='text-align:center;' width=45>".bar(expStatus($general['leader2']), 20)."</td>
|
||||
<td style='text-align:center;'> {$color}{$leadership}</font>{$lbonus} </td>
|
||||
<td style='text-align:center;' width=45>".bar(expStatus($general['leadership2']), 20)."</td>
|
||||
<td style='text-align:center;' class='bg1'><b>무력</b></td>
|
||||
<td style='text-align:center;'> {$color}{$power}</font> </td>
|
||||
<td style='text-align:center;' width=45>".bar(expStatus($general['power2']), 20)."</td>
|
||||
<td style='text-align:center;'> {$color}{$strength}</font> </td>
|
||||
<td style='text-align:center;' width=45>".bar(expStatus($general['strength2']), 20)."</td>
|
||||
<td style='text-align:center;' class='bg1'><b>지력</b></td>
|
||||
<td style='text-align:center;'> {$color}{$intel}</font> </td>
|
||||
<td style='text-align:center;' width=45>".bar(expStatus($general['intel2']), 20)."</td>
|
||||
@@ -1319,7 +1319,7 @@ function addAge() {
|
||||
$admin = $gameStor->getValues(['startyear', 'year', 'month']);
|
||||
|
||||
if($admin['year'] >= $admin['startyear']+3) {
|
||||
foreach($db->query('SELECT no,name,nation,leader,power,intel from general where specage<=age and special=%s', GameConst::$defaultSpecialDomestic) as $general){
|
||||
foreach($db->query('SELECT no,name,nation,leadership,strength,intel from general where specage<=age and special=%s', GameConst::$defaultSpecialDomestic) as $general){
|
||||
$special = SpecialityConst::pickSpecialDomestic($general);
|
||||
$specialClass = getGeneralSpecialDomesticClass($special);
|
||||
$specialText = $specialClass::$name;
|
||||
@@ -1332,7 +1332,7 @@ function addAge() {
|
||||
pushGenLog($general, "<C>●</>특기 【<b><L>{$specialText}</></b>】{$josaUl} 익혔습니다!");
|
||||
}
|
||||
|
||||
foreach($db->query('SELECT no,name,nation,leader,power,intel,npc,dex0,dex10,dex20,dex30,dex40 from general where specage2<=age and special2=%s', GameConst::$defaultSpecialWar) as $general){
|
||||
foreach($db->query('SELECT no,name,nation,leadership,strength,intel,npc,dex0,dex10,dex20,dex30,dex40 from general where specage2<=age and special2=%s', GameConst::$defaultSpecialWar) as $general){
|
||||
$special2 = SpecialityConst::pickSpecialWar($general);
|
||||
$specialClass = getGeneralSpecialWarClass($special2);
|
||||
$specialText = $specialClass::$name;
|
||||
@@ -1424,7 +1424,7 @@ function CheckHall($no) {
|
||||
dex0,dex10,dex20,dex30,dex40,
|
||||
ttw/(ttw+ttd+ttl) as ttrate, ttw+ttd+ttl as tt,
|
||||
tlw/(tlw+tld+tll) as tlrate, tlw+tld+tll as tl,
|
||||
tpw/(tpw+tpd+tpl) as tprate, tpw+tpd+tpl as tp,
|
||||
tsw/(tsw+tsd+tsl) as tprate, tsw+tsd+tsl as ts,
|
||||
tiw/(tiw+tid+til) as tirate, tiw+tid+til as ti,
|
||||
betgold, betwin, betwingold, betwingold/betgold as betrate
|
||||
from general where no=%i', $no);
|
||||
@@ -1455,7 +1455,7 @@ function CheckHall($no) {
|
||||
//토너승률인데 50회 미만시 스킵
|
||||
if($typeName === 'tlrate' && $general['tl'] < 50) { continue; }
|
||||
//토너승률인데 50회 미만시 스킵
|
||||
if($typeName === 'tprate' && $general['tp'] < 50) { continue; }
|
||||
if($typeName === 'tsrate' && $general['ts'] < 50) { continue; }
|
||||
//토너승률인데 50회 미만시 스킵
|
||||
if($typeName === 'tirate' && $general['ti'] < 50) { continue; }
|
||||
//수익률인데 1000미만시 스킵
|
||||
@@ -1752,25 +1752,25 @@ function uniqueItem($general, $log, $vote=0) {
|
||||
|
||||
function checkAbilityEx(int $generalID, ActionLogger $actLog){
|
||||
$db = DB::db();
|
||||
$general = $db->queryFirstRow('SELECT leader,leader2,power,power2,intel,intel2 FROM general WHERE no = %i',$generalID);
|
||||
$general = $db->queryFirstRow('SELECT leadership,leadership2,strength,strength2,intel,intel2 FROM general WHERE no = %i',$generalID);
|
||||
|
||||
if(!$general){
|
||||
return;
|
||||
}
|
||||
|
||||
if($general['leader2'] < 0){
|
||||
if($general['leadership2'] < 0){
|
||||
$db->update('general',[
|
||||
'leader2'=>$db->sqleval('leader2 + %i', GameConst::$upgradeLimit),
|
||||
'leader'=>$db->sqleval('leader - 1')
|
||||
'leadership2'=>$db->sqleval('leadership2 + %i', GameConst::$upgradeLimit),
|
||||
'leadership'=>$db->sqleval('leadership - 1')
|
||||
], 'no=%i', $generalID);
|
||||
$actLog->pushGeneralActionLog('<R>통솔</>이 <C>1</> 떨어졌습니다!', ActionLogger::PLAIN);
|
||||
return;
|
||||
}
|
||||
|
||||
if($general['power2'] < 0){
|
||||
if($general['strength2'] < 0){
|
||||
$db->update('general',[
|
||||
'power2'=>$db->sqleval('power2 + %i', GameConst::$upgradeLimit),
|
||||
'power'=>$db->sqleval('power - 1')
|
||||
'strength2'=>$db->sqleval('strength2 + %i', GameConst::$upgradeLimit),
|
||||
'strength'=>$db->sqleval('strength - 1')
|
||||
], 'no=%i', $generalID);
|
||||
$actLog->pushGeneralActionLog('<R>무력</>이 <C>1</> 떨어졌습니다!', ActionLogger::PLAIN);
|
||||
return;
|
||||
@@ -1785,19 +1785,19 @@ function checkAbilityEx(int $generalID, ActionLogger $actLog){
|
||||
return;
|
||||
}
|
||||
|
||||
if($general['leader2'] >= GameConst::$upgradeLimit){
|
||||
if($general['leadership2'] >= GameConst::$upgradeLimit){
|
||||
$db->update('general',[
|
||||
'leader2'=>$db->sqleval('leader2 - %i', GameConst::$upgradeLimit),
|
||||
'leader'=>$db->sqleval('leader + 1')
|
||||
'leadership2'=>$db->sqleval('leadership2 - %i', GameConst::$upgradeLimit),
|
||||
'leadership'=>$db->sqleval('leadership + 1')
|
||||
], 'no=%i', $generalID);
|
||||
$actLog->pushGeneralActionLog('<S>통솔</>이 <C>1</> 올랐습니다!', ActionLogger::PLAIN);
|
||||
return;
|
||||
}
|
||||
|
||||
if($general['power2'] >= GameConst::$upgradeLimit){
|
||||
if($general['strength2'] >= GameConst::$upgradeLimit){
|
||||
$db->update('general',[
|
||||
'power2'=>$db->sqleval('power2 - %i', GameConst::$upgradeLimit),
|
||||
'power'=>$db->sqleval('power + 1')
|
||||
'strength2'=>$db->sqleval('strength2 - %i', GameConst::$upgradeLimit),
|
||||
'strength'=>$db->sqleval('strength + 1')
|
||||
], 'no=%i', $generalID);
|
||||
$actLog->pushGeneralActionLog('<S>무력</>이 <C>1</> 올랐습니다!', ActionLogger::PLAIN);
|
||||
return;
|
||||
@@ -1819,29 +1819,29 @@ function checkAbility($general, $log) {
|
||||
|
||||
$limit = GameConst::$upgradeLimit;
|
||||
|
||||
$query = "select no,leader,leader2,power,power2,intel,intel2 from general where no='{$general['no']}'";
|
||||
$query = "select no,leadership,leadership2,strength,strength2,intel,intel2 from general where no='{$general['no']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$general = MYDB_fetch_array($result);
|
||||
|
||||
if($general['leader2'] < 0) {
|
||||
$query = "update general set leader2='$limit'+leader2,leader=leader-1 where no='{$general['no']}'";
|
||||
if($general['leadership2'] < 0) {
|
||||
$query = "update general set leadership2='$limit'+leadership2,leadership=leadership-1 where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$log[] = "<C>●</><R>통솔</>이 <C>1</> 떨어졌습니다!";
|
||||
} elseif($general['leader2'] >= $limit) {
|
||||
$query = "update general set leader2=leader2-'$limit',leader=leader+1 where no='{$general['no']}'";
|
||||
} elseif($general['leadership2'] >= $limit) {
|
||||
$query = "update general set leadership2=leadership2-'$limit',leadership=leadership+1 where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$log[] = "<C>●</><S>통솔</>이 <C>1</> 올랐습니다!";
|
||||
}
|
||||
|
||||
if($general['power2'] < 0) {
|
||||
$query = "update general set power2='$limit'+power2,power=power-1 where no='{$general['no']}'";
|
||||
if($general['strength2'] < 0) {
|
||||
$query = "update general set strength2='$limit'+strength2,strength=strength-1 where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$log[] = "<C>●</><R>무력</>이 <C>1</> 떨어졌습니다!";
|
||||
} elseif($general['power2'] >= $limit) {
|
||||
$query = "update general set power2=power2-'$limit',power=power+1 where no='{$general['no']}'";
|
||||
} elseif($general['strength2'] >= $limit) {
|
||||
$query = "update general set strength2=strength2-'$limit',strength=strength+1 where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$log[] = "<C>●</><S>무력</>이 <C>1</> 올랐습니다!";
|
||||
|
||||
+10
-10
@@ -337,32 +337,32 @@ function getLevel($level, $nlevel=8) {
|
||||
][$code]??'-';
|
||||
}
|
||||
|
||||
function getCall($leader, $power, $intel) {
|
||||
if($leader < 40){
|
||||
if($power + $intel < 40){
|
||||
function getCall($leadership, $strength, $intel) {
|
||||
if($leadership < 40){
|
||||
if($strength + $intel < 40){
|
||||
return '아둔';
|
||||
}
|
||||
if($intel >= GameConst::$chiefStatMin && $power < $intel * 0.8){
|
||||
if($intel >= GameConst::$chiefStatMin && $strength < $intel * 0.8){
|
||||
return '학자';
|
||||
}
|
||||
if($power >= GameConst::$chiefStatMin && $intel < $power * 0.8){
|
||||
if($strength >= GameConst::$chiefStatMin && $intel < $strength * 0.8){
|
||||
return '장사';
|
||||
}
|
||||
return '명사';
|
||||
}
|
||||
|
||||
$maxStat = max($leader, $power, $intel);
|
||||
$sum2Stat = min($leader+$power, $power+$intel, $intel+$leader);
|
||||
$maxStat = max($leadership, $strength, $intel);
|
||||
$sum2Stat = min($leadership+$strength, $strength+$intel, $intel+$leadership);
|
||||
if($maxStat >= GameConst::$chiefStatMin + GameConst::$statGradeLevel && $sum2Stat >= $maxStat * 1.7){
|
||||
return '만능';
|
||||
}
|
||||
if($power >= GameConst::$chiefStatMin - GameConst::$statGradeLevel && $intel < $power * 0.8){
|
||||
if($strength >= GameConst::$chiefStatMin - GameConst::$statGradeLevel && $intel < $strength * 0.8){
|
||||
return '용장';
|
||||
}
|
||||
if($intel >= GameConst::$chiefStatMin - GameConst::$statGradeLevel && $power < $intel * 0.8){
|
||||
if($intel >= GameConst::$chiefStatMin - GameConst::$statGradeLevel && $strength < $intel * 0.8){
|
||||
return '명장';
|
||||
}
|
||||
if($leader >= GameConst::$chiefStatMin - GameConst::$statGradeLevel && $power + $intel < $leader){
|
||||
if($leadership >= GameConst::$chiefStatMin - GameConst::$statGradeLevel && $strength + $intel < $leadership){
|
||||
return '차장';
|
||||
}
|
||||
return '평범';
|
||||
|
||||
@@ -420,7 +420,7 @@ function postUpdateMonthly() {
|
||||
sum(pop)*sum(pop+agri+comm+secu+wall+def)/sum(pop2+agri2+comm2+secu2+wall2+def2)/100
|
||||
) from city where nation=A.nation and supply=1
|
||||
))
|
||||
+(select sum(leader+power+intel) from general where nation=A.nation)
|
||||
+(select sum(leadership+strength+intel) from general where nation=A.nation)
|
||||
+(select round(sum(dex0+dex10+dex20+dex30+dex40)/1000) from general where nation=A.nation)
|
||||
+(select round(sum(experience+dedication)/100) from general where nation=A.nation)
|
||||
+(select round(avg(connect)) from general where nation=A.nation)
|
||||
@@ -1059,7 +1059,7 @@ function checkStatistic() {
|
||||
|
||||
$nationGeneralInfos = Util::convertArrayToDict(
|
||||
$db->query(
|
||||
'SELECT nation, sum(leader+power+intel) as abil,sum(gold+rice) as goldrice,
|
||||
'SELECT nation, sum(leadership+strength+intel) as abil,sum(gold+rice) as goldrice,
|
||||
sum(dex0+dex10+dex20+dex30) as dex,sum(experience+dedication) as expded
|
||||
from general GROUP BY nation'
|
||||
),
|
||||
|
||||
+79
-79
@@ -6,7 +6,7 @@ use Constraint\Constraint;
|
||||
/**
|
||||
* 장수의 통솔을 받아옴
|
||||
*
|
||||
* @param array $general 장수 정보, leader, injury, lbonus, horse 사용
|
||||
* @param array $general 장수 정보, leadership, injury, lbonus, horse 사용
|
||||
* @param bool $withInjury 부상값 사용 여부
|
||||
* @param bool $withItem 아이템 적용 여부
|
||||
* @param bool $withStatAdjust 추가 능력치 보정 사용 여부
|
||||
@@ -18,7 +18,7 @@ function getGeneralLeadership($general, $withInjury, $withItem, $withStatAdjust,
|
||||
if($general === null){
|
||||
return 0;
|
||||
}
|
||||
$leadership = $general['leader'];
|
||||
$leadership = $general['leadership'];
|
||||
if($withInjury){
|
||||
$leadership *= (100 - $general['injury']) / 100;
|
||||
}
|
||||
@@ -58,7 +58,7 @@ function getGeneralLeadership($general, $withInjury, $withItem, $withStatAdjust,
|
||||
*
|
||||
* @return int|float 계산된 능력치
|
||||
*/
|
||||
function getGeneralPower($general, $withInjury, $withItem, $withStatAdjust, $useFloor = true){
|
||||
function getGeneralStrength($general, $withInjury, $withItem, $withStatAdjust, $useFloor = true){
|
||||
if($general === null){
|
||||
return 0;
|
||||
}
|
||||
@@ -107,7 +107,7 @@ function getGeneralIntel($general, $withInjury, $withItem, $withStatAdjust, $use
|
||||
}
|
||||
|
||||
if($withStatAdjust){
|
||||
$intel += Util::round(getGeneralPower($general, $withInjury, $withItem, false, false) / 4);
|
||||
$intel += Util::round(getGeneralStrength($general, $withInjury, $withItem, false, false) / 4);
|
||||
}
|
||||
|
||||
if($useFloor){
|
||||
@@ -120,16 +120,16 @@ function getGeneralIntel($general, $withInjury, $withItem, $withStatAdjust, $use
|
||||
* 내정 커맨드 사용시 성공 확률 계산
|
||||
*
|
||||
* @param array $general 장수 정보
|
||||
* @param int|string $type 내정 커맨드 타입, 0|'leader' = 통솔 기반, 1|'power' = 무력 기반, 2|'intel' = 지력 기반
|
||||
* @param int|string $type 내정 커맨드 타입, 0|'leadership' = 통솔 기반, 1|'power' = 무력 기반, 2|'intel' = 지력 기반
|
||||
*
|
||||
* @return array 계산된 실패, 성공 확률 ('success' => 성공 확률, 'fail' => 실패 확률)
|
||||
*/
|
||||
function CriticalRatioDomestic(&$general, $type) {
|
||||
$leader = getGeneralLeadership($general, false, true, true, false);
|
||||
$power = getGeneralPower($general, false, true, true, false);
|
||||
$leadership = getGeneralLeadership($general, false, true, true, false);
|
||||
$power = getGeneralStrength($general, false, true, true, false);
|
||||
$intel = getGeneralIntel($general, false, true, true, false);
|
||||
|
||||
$avg = ($leader+$power+$intel) / 3;
|
||||
$avg = ($leadership+$power+$intel) / 3;
|
||||
/*
|
||||
* 능력치가 높아질 수록 성공 확률 감소. 실패 확률도 감소
|
||||
|
||||
@@ -143,8 +143,8 @@ function CriticalRatioDomestic(&$general, $type) {
|
||||
505050(50%,50%), 107070(50%,50%)
|
||||
*/
|
||||
switch($type) {
|
||||
case 'leader':
|
||||
case 0: $ratio = $avg / $leader; break;
|
||||
case 'leadership':
|
||||
case 0: $ratio = $avg / $leadership; break;
|
||||
case 'power':
|
||||
case 1: $ratio = $avg / $power; break;
|
||||
case 'intel':
|
||||
@@ -507,8 +507,8 @@ function process_4(&$general) {
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
// 군량 하락 내정보다 2배 지력경험 경험, 공헌 상승
|
||||
$general['rice'] -= $admin['develcost'] * 2;
|
||||
$general['leader2']++;
|
||||
$query = "update general set resturn='SUCCESS',rice='{$general['rice']}',leader2='{$general['leader2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
$general['leadership2']++;
|
||||
$query = "update general set resturn='SUCCESS',rice='{$general['rice']}',leadership2='{$general['leadership2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$log = checkAbility($general, $log);
|
||||
@@ -558,7 +558,7 @@ function process_5(&$general, $type) {
|
||||
if($city['trust'] < GameConst::$develrate) { $city['trust'] = GameConst::$develrate; }
|
||||
$trust = $city['trust'] / 100;
|
||||
|
||||
$score = getGeneralPower($general, true, true, true, false) * $trust;
|
||||
$score = getGeneralStrength($general, true, true, true, false) * $trust;
|
||||
$score = $score * (100 + $general['explevel']/5)/100;
|
||||
$score = $score * (80 + rand() % 41)/100; // 80 ~ 120%
|
||||
|
||||
@@ -607,8 +607,8 @@ function process_5(&$general, $type) {
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
// 자금 하락, 무력 경험 경험, 공헌 상승
|
||||
$general['gold'] -= $admin['develcost'];
|
||||
$general['power2']++;
|
||||
$query = "update general set resturn='SUCCESS',gold='{$general['gold']}',power2='{$general['power2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
$general['strength2']++;
|
||||
$query = "update general set resturn='SUCCESS',gold='{$general['gold']}',strength2='{$general['strength2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$log = checkAbility($general, $log);
|
||||
@@ -697,8 +697,8 @@ function process_7(&$general) {
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
// 군량 하락 내정보다 2배 지력경험 경험, 공헌 상승
|
||||
$general['rice'] -= $admin['develcost'] * 2;
|
||||
$general['leader2']++;
|
||||
$query = "update general set resturn='SUCCESS',rice='{$general['rice']}',leader2='{$general['leader2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
$general['leadership2']++;
|
||||
$query = "update general set resturn='SUCCESS',rice='{$general['rice']}',leadership2='{$general['leadership2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$log = checkAbility($general, $log);
|
||||
@@ -747,7 +747,7 @@ function process_8(&$general) {
|
||||
if($city['trust'] < GameConst::$develrate) { $city['trust'] = GameConst::$develrate; }
|
||||
$trust = $city['trust'] / 100;
|
||||
|
||||
$score = getGeneralPower($general, true, true, true, false) * $trust;
|
||||
$score = getGeneralStrength($general, true, true, true, false) * $trust;
|
||||
$score = $score * (100 + $general['explevel']/5)/100;
|
||||
$score = $score * (80 + rand() % 41)/100; // 80 ~ 120%
|
||||
|
||||
@@ -795,8 +795,8 @@ function process_8(&$general) {
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
// 자금 하락, 무력 경험 경험, 공헌 상승
|
||||
$general['gold'] -= $admin['develcost'];
|
||||
$general['power2']++;
|
||||
$query = "update general set resturn='SUCCESS',gold='{$general['gold']}',power2='{$general['power2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
$general['strength2']++;
|
||||
$query = "update general set resturn='SUCCESS',gold='{$general['gold']}',strength2='{$general['strength2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$log = checkAbility($general, $log);
|
||||
@@ -837,7 +837,7 @@ function process_9(&$general) {
|
||||
else { $dtype = 1; $stype = "쌀"; }
|
||||
|
||||
$score = getGeneralLeadership($general, true, true, true)
|
||||
+ getGeneralPower($general, true, true, true)
|
||||
+ getGeneralStrength($general, true, true, true)
|
||||
+ getGeneralIntel($general, true, true, true);
|
||||
$score = $score * (100 + $general['explevel']/5)/100;
|
||||
$score = $score * (80 + rand() % 41)/100; // 80 ~ 120%
|
||||
@@ -874,14 +874,14 @@ function process_9(&$general) {
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
}
|
||||
|
||||
switch(Util::choiceRandomUsingWeight([$general['leader'], $general['power'], $general['intel']])) {
|
||||
switch(Util::choiceRandomUsingWeight([$general['leadership'], $general['power'], $general['intel']])) {
|
||||
case 0:
|
||||
$general['leader2']++;
|
||||
$query = "update general set resturn='SUCCESS',leader2='{$general['leader2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
$general['leadership2']++;
|
||||
$query = "update general set resturn='SUCCESS',leadership2='{$general['leadership2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
break;
|
||||
case 1:
|
||||
$general['power2']++;
|
||||
$query = "update general set resturn='SUCCESS',power2='{$general['power2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
$general['strength2']++;
|
||||
$query = "update general set resturn='SUCCESS',strength2='{$general['strength2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
break;
|
||||
case 2:
|
||||
$general['intel2']++;
|
||||
@@ -1048,10 +1048,10 @@ function process_11(&$general, $type) {
|
||||
], 'city = %i', $general['city']);
|
||||
|
||||
// 통솔경험, 병종 변경, 병사수 변경, 훈련치 변경, 사기치 변경, 자금 군량 하락, 공헌도, 명성 상승
|
||||
$general['leader2']++;
|
||||
$general['leadership2']++;
|
||||
$db->update('general', [
|
||||
'resturn'=>'SUCCESS',
|
||||
'leader2'=>$general['leader2'],
|
||||
'leadership2'=>$general['leadership2'],
|
||||
'crewtype'=>$crewTypeObj->id,
|
||||
'crew'=>$general['crew'],
|
||||
'train'=>$train,
|
||||
@@ -1120,8 +1120,8 @@ function process_13(&$general) {
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
// 경험치 상승 // 공헌도, 명성 상승
|
||||
$general['leader2']++;
|
||||
$query = "update general set resturn='SUCCESS',leader2='{$general['leader2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
$general['leadership2']++;
|
||||
$query = "update general set resturn='SUCCESS',leadership2='{$general['leadership2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$log = checkAbility($general, $log);
|
||||
@@ -1177,8 +1177,8 @@ function process_14(&$general) {
|
||||
// 사기치 변경 // 자금 감소 // 경험치 상승 // 공헌도, 명성 상승
|
||||
$score += $general['atmos'];
|
||||
if($score > GameConst::$maxAtmosByCommand) { $score = GameConst::$maxAtmosByCommand; }
|
||||
$general['leader2']++;
|
||||
$query = "update general set resturn='SUCCESS',atmos='$score',gold='$gold',leader2='{$general['leader2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
$general['leadership2']++;
|
||||
$query = "update general set resturn='SUCCESS',atmos='$score',gold='$gold',leadership2='{$general['leadership2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$log = checkAbility($general, $log);
|
||||
@@ -1249,8 +1249,8 @@ function process_15(&$general) {
|
||||
$ded = CharDedication($ded, $general['personal']);
|
||||
|
||||
// 훈련,사기치 변경 // 자금 감소 // 경험치 상승 // 공헌도, 명성 상승
|
||||
$general['leader2']+=3;
|
||||
$query = "update general set resturn='SUCCESS',term='0',atmos='95',train='95',gold='$gold',leader2='{$general['leader2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
$general['leadership2']+=3;
|
||||
$query = "update general set resturn='SUCCESS',term='0',atmos='95',train='95',gold='$gold',leadership2='{$general['leadership2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$log = checkAbility($general, $log);
|
||||
@@ -1412,13 +1412,13 @@ function process_21(&$general) {
|
||||
$exp = CharExperience($exp, $general['personal']);
|
||||
|
||||
// 이동, 경험치 상승, 명성 상승, 사기 감소
|
||||
$general['leader2']++;
|
||||
$general['leadership2']++;
|
||||
$db->update('general',[
|
||||
'resturn'=>'SUCCESS',
|
||||
'gold'=>$db->sqleval('gold - %i',$admin['develcost']),
|
||||
'city'=>$destCity->id,
|
||||
'atmos'=>$db->sqleval('atmos*0.95'),
|
||||
'leader2'=>$general['leader2'],
|
||||
'leadership2'=>$general['leadership2'],
|
||||
'experience'=>$db->sqleval('experience + %i',$exp)
|
||||
], 'no = %i', $general['no']);
|
||||
|
||||
@@ -1497,8 +1497,8 @@ function process_26(&$general) {
|
||||
$query = "update general set city='{$general['city']}' where troop='{$general['troop']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
// 경험치 명성 공헌 상승
|
||||
$general['leader2']++;
|
||||
$query = "update general set resturn='SUCCESS',leader2='{$general['leader2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
$general['leadership2']++;
|
||||
$query = "update general set resturn='SUCCESS',leadership2='{$general['leadership2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$log = checkAbility($general, $log);
|
||||
@@ -1564,8 +1564,8 @@ function process_28(&$general) {
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
// 경험치 상승 // 명성,공헌 상승
|
||||
$general['leader2']++;
|
||||
$query = "update general set resturn='SUCCESS',leader2='{$general['leader2']}',experience=experience+'$exp',dedication=dedication+'$ded' where no='{$general['no']}'";
|
||||
$general['leadership2']++;
|
||||
$query = "update general set resturn='SUCCESS',leadership2='{$general['leadership2']}',experience=experience+'$exp',dedication=dedication+'$ded' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$log = checkAbility($general, $log);
|
||||
@@ -1616,8 +1616,8 @@ function process_30(&$general) {
|
||||
$exp = CharExperience($exp, $general['personal']);
|
||||
|
||||
// 이동, 경험치 상승, 명성 상승, 병력/사기/훈련 감소
|
||||
$general['leader2']++;
|
||||
$query = "update general set resturn='SUCCESS',gold=gold-'$cost',city='$destination',crew=crew*0.95,atmos=atmos*0.9,train=train*0.95,leader2='{$general['leader2']}',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
$general['leadership2']++;
|
||||
$query = "update general set resturn='SUCCESS',gold=gold-'$cost',city='$destination',crew=crew*0.95,atmos=atmos*0.9,train=train*0.95,leadership2='{$general['leadership2']}',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
if($general['level'] == 12) {
|
||||
@@ -1747,10 +1747,10 @@ function process_31(&$general) {
|
||||
$exp = CharExperience($exp, $general['personal']);
|
||||
$ded = CharDedication($ded, $general['personal']);
|
||||
|
||||
$general['leader2']++;
|
||||
$general['leadership2']++;
|
||||
$general['gold'] -= $admin['develcost']*3;
|
||||
$general['rice'] -= $admin['develcost']*3;
|
||||
$query = "update general set resturn='SUCCESS',gold='{$general['gold']}',rice='{$general['rice']}',leader2='{$general['leader2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
$query = "update general set resturn='SUCCESS',gold='{$general['gold']}',rice='{$general['rice']}',leadership2='{$general['leadership2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
|
||||
@@ -1898,8 +1898,8 @@ function process_42(&$general) {
|
||||
case 5:
|
||||
$log[] = "<C>●</>{$admin['month']}월:동네 장사와 힘겨루기를 하여 멋지게 이겼습니다. <1>$date</>";
|
||||
// 경험치 상승 // 명성 상승
|
||||
$general['power2'] += 2;
|
||||
$query = "update general set resturn='SUCCESS',power2='{$general['power2']}',experience=experience+'$exp2' where no='{$general['no']}'";
|
||||
$general['strength2'] += 2;
|
||||
$query = "update general set resturn='SUCCESS',strength2='{$general['strength2']}',experience=experience+'$exp2' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
break;
|
||||
case 6:
|
||||
@@ -1911,8 +1911,8 @@ function process_42(&$general) {
|
||||
case 7:
|
||||
$log[] = "<C>●</>{$admin['month']}월:산적과 싸워 금 <C>300</>을 빼앗았습니다. <1>$date</>";
|
||||
// 자금 상승 // 경험치 상승 // 명성 상승
|
||||
$general['power2'] += 2;
|
||||
$query = "update general set resturn='SUCCESS',gold=gold+300,power2='{$general['power2']}',experience=experience+'$exp2' where no='{$general['no']}'";
|
||||
$general['strength2'] += 2;
|
||||
$query = "update general set resturn='SUCCESS',gold=gold+300,strength2='{$general['strength2']}',experience=experience+'$exp2' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
break;
|
||||
case 8:
|
||||
@@ -1926,31 +1926,31 @@ function process_42(&$general) {
|
||||
case 9:
|
||||
$log[] = "<C>●</>{$admin['month']}월:호랑이를 잡아 고기 <C>300</>을 얻었습니다. <1>$date</>";
|
||||
// 군량 상승 // 경험치 상승
|
||||
$general['power2'] += 2;
|
||||
$query = "update general set resturn='SUCCESS',rice=rice+300,power2='{$general['power2']}',experience=experience+'$exp2' where no='{$general['no']}'";
|
||||
$general['strength2'] += 2;
|
||||
$query = "update general set resturn='SUCCESS',rice=rice+300,strength2='{$general['strength2']}',experience=experience+'$exp2' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
break;
|
||||
case 10:
|
||||
$log[] = "<C>●</>{$admin['month']}월:호랑이에게 물려 다쳤습니다. <1>$date</>";
|
||||
// 경험치 하락 // 명성 상승
|
||||
$injury = rand() % 10 + 10;
|
||||
$general['power2']--;
|
||||
$query = "update general set resturn='SUCCESS',injury=injury+'$injury',power2='{$general['power2']}',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
$general['strength2']--;
|
||||
$query = "update general set resturn='SUCCESS',injury=injury+'$injury',strength2='{$general['strength2']}',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
break;
|
||||
case 11:
|
||||
$log[] = "<C>●</>{$admin['month']}월:곰을 잡아 고기 <C>300</>을 얻었습니다. <1>$date</>";
|
||||
// 군량 상승 // 경험치 상승 // 명성 상승
|
||||
$general['power2'] += 2;
|
||||
$query = "update general set resturn='SUCCESS',rice=rice+300,power2='{$general['power2']}',experience=experience+'$exp2' where no='{$general['no']}'";
|
||||
$general['strength2'] += 2;
|
||||
$query = "update general set resturn='SUCCESS',rice=rice+300,strength2='{$general['strength2']}',experience=experience+'$exp2' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
break;
|
||||
case 12:
|
||||
$log[] = "<C>●</>{$admin['month']}월:곰에게 할퀴어 다쳤습니다. <1>$date</>";
|
||||
// 경험치 하락 // 명성 상승
|
||||
$injury = rand() % 10 + 10;
|
||||
$general['power2']--;
|
||||
$query = "update general set resturn='SUCCESS',injury=injury+'$injury',power2='{$general['power2']}',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
$general['strength2']--;
|
||||
$query = "update general set resturn='SUCCESS',injury=injury+'$injury',strength2='{$general['strength2']}',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
break;
|
||||
case 13:
|
||||
@@ -1969,8 +1969,8 @@ function process_42(&$general) {
|
||||
$log[] = "<C>●</>{$admin['month']}월:위기에 빠진 사람을 구해주다가 다쳤습니다. <1>$date</>";
|
||||
// 경험치 하락 // 명성 상승
|
||||
$injury = rand() % 10 + 10;
|
||||
$general['power2']--;
|
||||
$query = "update general set resturn='SUCCESS',injury=injury+'$injury',power2='{$general['power2']}',experience=experience+'$exp2' where no='{$general['no']}'";
|
||||
$general['strength2']--;
|
||||
$query = "update general set resturn='SUCCESS',injury=injury+'$injury',strength2='{$general['strength2']}',experience=experience+'$exp2' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
break;
|
||||
case 16:
|
||||
@@ -2013,46 +2013,46 @@ function process_42(&$general) {
|
||||
case 21:
|
||||
$log[] = "<C>●</>{$admin['month']}월:백성들에게 현인의 가르침을 설파했습니다. <1>$date</>";
|
||||
// 경험치 상승 // 명성 상승
|
||||
$general['leader2'] += 2;
|
||||
$query = "update general set resturn='SUCCESS',leader2='{$general['leader2']}',experience=experience+'$exp2' where no='{$general['no']}'";
|
||||
$general['leadership2'] += 2;
|
||||
$query = "update general set resturn='SUCCESS',leadership2='{$general['leadership2']}',experience=experience+'$exp2' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
break;
|
||||
case 22:
|
||||
$log[] = "<C>●</>{$admin['month']}월:어느 집의 무너진 울타리를 고쳐주었습니다. <1>$date</>";
|
||||
// 경험치 상승 // 명성 상승
|
||||
$general['power2'] += 2;
|
||||
$query = "update general set resturn='SUCCESS',power2='{$general['power2']}',experience=experience+'$exp2' where no='{$general['no']}'";
|
||||
$general['strength2'] += 2;
|
||||
$query = "update general set resturn='SUCCESS',strength2='{$general['strength2']}',experience=experience+'$exp2' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
break;
|
||||
case 23:
|
||||
$log[] = "<C>●</>{$admin['month']}월:어느 집의 도망친 가축을 되찾아 주었습니다. <1>$date</>";
|
||||
// 경험치 상승 // 명성 상승
|
||||
$general['leader2'] += 2;
|
||||
$query = "update general set resturn='SUCCESS',leader2='{$general['leader2']}',experience=experience+'$exp2' where no='{$general['no']}'";
|
||||
$general['leadership2'] += 2;
|
||||
$query = "update general set resturn='SUCCESS',leadership2='{$general['leadership2']}',experience=experience+'$exp2' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
break;
|
||||
case 24:
|
||||
$log[] = "<C>●</>{$admin['month']}월:호랑이에게 물려 크게 다쳤습니다. <1>$date</>";
|
||||
// 경험치 하락 // 명성 상승
|
||||
$injury = rand() % 30 + 20;
|
||||
$general['power2']--;
|
||||
$query = "update general set resturn='SUCCESS',injury=injury+'$injury',power2='{$general['power2']}',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
$general['strength2']--;
|
||||
$query = "update general set resturn='SUCCESS',injury=injury+'$injury',strength2='{$general['strength2']}',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
break;
|
||||
case 25:
|
||||
$log[] = "<C>●</>{$admin['month']}월:곰에게 할퀴어 크게 다쳤습니다. <1>$date</>";
|
||||
// 경험치 하락 // 명성 상승
|
||||
$injury = rand() % 30 + 20;
|
||||
$general['power2']--;
|
||||
$query = "update general set resturn='SUCCESS',injury=injury+'$injury',power2='{$general['power2']}',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
$general['strength2']--;
|
||||
$query = "update general set resturn='SUCCESS',injury=injury+'$injury',strength2='{$general['strength2']}',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
break;
|
||||
case 26:
|
||||
$log[] = "<C>●</>{$admin['month']}월:위기에 빠진 사람을 구하다가 죽을뻔 했습니다. <1>$date</>";
|
||||
// 경험치 하락 // 명성 상승
|
||||
$injury = rand() % 50 + 30;
|
||||
$general['power2']--;
|
||||
$query = "update general set resturn='SUCCESS',injury=injury+'$injury',power2='{$general['power2']}',experience=experience+'$exp2' where no='{$general['no']}'";
|
||||
$general['strength2']--;
|
||||
$query = "update general set resturn='SUCCESS',injury=injury+'$injury',strength2='{$general['strength2']}',experience=experience+'$exp2' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
break;
|
||||
default:
|
||||
@@ -2147,8 +2147,8 @@ function process_43(&$general) {
|
||||
$ded = CharDedication($ded, $general['personal']);
|
||||
|
||||
// 경험치 상승 // 공헌도, 명성 상승
|
||||
$general['leader2']++;
|
||||
$query = "update general set resturn='SUCCESS',leader2='{$general['leader2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
$general['leadership2']++;
|
||||
$query = "update general set resturn='SUCCESS',leadership2='{$general['leadership2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$log = checkAbility($general, $log);
|
||||
@@ -2236,8 +2236,8 @@ function process_44(&$general) {
|
||||
$ded = CharDedication($ded, $general['personal']);
|
||||
|
||||
// 경험치 상승 // 공헌도, 명성 상승
|
||||
$general['leader2']++;
|
||||
$query = "update general set resturn='SUCCESS',leader2='{$general['leader2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
$general['leadership2']++;
|
||||
$query = "update general set resturn='SUCCESS',leadership2='{$general['leadership2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$log = checkAbility($general, $log);
|
||||
@@ -2462,15 +2462,15 @@ function process_49(&$general) {
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
// 경험치 상승
|
||||
switch(Util::choiceRandomUsingWeight([$general['leader'], $general['power'], $general['intel']])) {
|
||||
switch(Util::choiceRandomUsingWeight([$general['leadership'], $general['power'], $general['intel']])) {
|
||||
case 0:
|
||||
$general['leader2']++;
|
||||
$query = "update general set leader2='{$general['leader2']}' where no='{$general['no']}'";
|
||||
$general['leadership2']++;
|
||||
$query = "update general set leadership2='{$general['leadership2']}' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
break;
|
||||
case 1:
|
||||
$general['power2']++;
|
||||
$query = "update general set power2='{$general['power2']}' where no='{$general['no']}'";
|
||||
$general['strength2']++;
|
||||
$query = "update general set strength2='{$general['strength2']}' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
break;
|
||||
case 2:
|
||||
|
||||
@@ -7,16 +7,16 @@ use Constraint\Constraint;
|
||||
* 내정 커맨드 사용시 성공 확률 계산
|
||||
*
|
||||
* @param array $general 장수 정보
|
||||
* @param string $type 내정 커맨드 타입, 'leader' = 통솔 기반, 'power' = 무력 기반, 'intel' = 지력 기반
|
||||
* @param string $type 내정 커맨드 타입, 'leadership' = 통솔 기반, 'strength' = 무력 기반, 'intel' = 지력 기반
|
||||
*
|
||||
* @return array 계산된 실패, 성공 확률 ('success' => 성공 확률, 'fail' => 실패 확률)
|
||||
*/
|
||||
function CriticalRatioDomestic(General $general, string $type) {
|
||||
$leader = $general->getLeadership(false, true, true, false);
|
||||
$power = $general->getPower(false, true, true, false);
|
||||
$leadership = $general->getLeadership(false, true, true, false);
|
||||
$strength = $general->getStrength(false, true, true, false);
|
||||
$intel = $general->getIntel(false, true, true, false);
|
||||
|
||||
$avg = ($leader+$power+$intel) / 3;
|
||||
$avg = ($leadership+$strength+$intel) / 3;
|
||||
/*
|
||||
* 능력치가 높아질 수록 성공 확률 감소. 실패 확률도 감소
|
||||
|
||||
@@ -30,8 +30,8 @@ function CriticalRatioDomestic(General $general, string $type) {
|
||||
505050(50%,50%), 107070(50%,50%)
|
||||
*/
|
||||
switch($type) {
|
||||
case 'leader': $ratio = $avg / $leader; break;
|
||||
case 'power': $ratio = $avg / $power; break;
|
||||
case 'leadership': $ratio = $avg / $leadership; break;
|
||||
case 'strength': $ratio = $avg / $strength; break;
|
||||
case 'intel': $ratio = $avg / $intel; break;
|
||||
default:
|
||||
throw new MustNotBeReachedException();
|
||||
|
||||
@@ -1979,7 +1979,7 @@ function process_76(&$general) {
|
||||
$avgGenNum = $db->queryFirstField('SELECT avg(gennum) FROM nation');
|
||||
$addGenCount = 5 + Util::round($avgGenNum / 10);
|
||||
|
||||
$query = "select avg(age) as age, max(leader+power+intel) as lpi, avg(dedication) as ded,avg(experience) as exp, avg(dex0) as dex0, avg(dex10) as dex10, avg(dex20) as dex20, avg(dex30) as dex30, avg(dex40) as dex40 from general where nation='{$general['nation']}'";
|
||||
$query = "select avg(age) as age, max(leadership+power+intel) as stat_sum, avg(dedication) as ded,avg(experience) as exp, avg(dex0) as dex0, avg(dex10) as dex10, avg(dex20) as dex20, avg(dex30) as dex30, avg(dex40) as dex40 from general where nation='{$general['nation']}'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$avgGen = MYDB_fetch_array($result);
|
||||
|
||||
@@ -1991,42 +1991,42 @@ function process_76(&$general) {
|
||||
$type = rand() % 10;
|
||||
switch($type) {
|
||||
case 0: case 1: case 2: case 3:
|
||||
$leader = GameConst::$defaultStatMax - 10 + rand()%11;
|
||||
$leadership = GameConst::$defaultStatMax - 10 + rand()%11;
|
||||
$intel = GameConst::$defaultStatMin + rand()%6;
|
||||
$power = GameConst::$defaultStatTotal - $leader - $intel;
|
||||
$power = GameConst::$defaultStatTotal - $leadership - $intel;
|
||||
break;
|
||||
case 4: case 5: case 6: case 7:
|
||||
$leader = GameConst::$defaultStatMax - 10 + rand()%11;
|
||||
$leadership = GameConst::$defaultStatMax - 10 + rand()%11;
|
||||
$power = GameConst::$defaultStatMin + rand()%6;
|
||||
$intel = GameConst::$defaultStatTotal - $leader - $power;
|
||||
$intel = GameConst::$defaultStatTotal - $leadership - $power;
|
||||
break;
|
||||
case 8: case 9:
|
||||
$leader = GameConst::$defaultStatMin + rand()%6;
|
||||
$leadership = GameConst::$defaultStatMin + rand()%6;
|
||||
$power = GameConst::$defaultStatMax - 10 + rand()%11;
|
||||
$intel = GameConst::$defaultStatTotal - $leader - $power;
|
||||
$intel = GameConst::$defaultStatTotal - $leadership - $power;
|
||||
break;
|
||||
}
|
||||
// 국내 최고능치 기준으로 랜덤성 스케일링
|
||||
if($avgGen['lpi'] > 210) {
|
||||
$leader = Util::round($leader * $avgGen['lpi'] / GameConst::$defaultStatTotal * (60+rand()%31)/100);
|
||||
$power = Util::round($power * $avgGen['lpi'] / GameConst::$defaultStatTotal * (60+rand()%31)/100);
|
||||
$intel = Util::round($intel * $avgGen['lpi'] / GameConst::$defaultStatTotal * (60+rand()%31)/100);
|
||||
} elseif($avgGen['lpi'] > 180) {
|
||||
$leader = Util::round($leader * $avgGen['lpi'] / GameConst::$defaultStatTotal * (75+rand()%21)/100);
|
||||
$power = Util::round($power * $avgGen['lpi'] / GameConst::$defaultStatTotal * (75+rand()%21)/100);
|
||||
$intel = Util::round($intel * $avgGen['lpi'] / GameConst::$defaultStatTotal * (75+rand()%21)/100);
|
||||
if($avgGen['stat_sum'] > 210) {
|
||||
$leadership = Util::round($leadership * $avgGen['stat_sum'] / GameConst::$defaultStatTotal * (60+rand()%31)/100);
|
||||
$power = Util::round($power * $avgGen['stat_sum'] / GameConst::$defaultStatTotal * (60+rand()%31)/100);
|
||||
$intel = Util::round($intel * $avgGen['stat_sum'] / GameConst::$defaultStatTotal * (60+rand()%31)/100);
|
||||
} elseif($avgGen['stat_sum'] > 180) {
|
||||
$leadership = Util::round($leadership * $avgGen['stat_sum'] / GameConst::$defaultStatTotal * (75+rand()%21)/100);
|
||||
$power = Util::round($power * $avgGen['stat_sum'] / GameConst::$defaultStatTotal * (75+rand()%21)/100);
|
||||
$intel = Util::round($intel * $avgGen['stat_sum'] / GameConst::$defaultStatTotal * (75+rand()%21)/100);
|
||||
} else {
|
||||
$leader = Util::round($leader * $avgGen['lpi'] / GameConst::$defaultStatTotal * (90+rand()%11)/100);
|
||||
$power = Util::round($power * $avgGen['lpi'] / GameConst::$defaultStatTotal * (90+rand()%11)/100);
|
||||
$intel = Util::round($intel * $avgGen['lpi'] / GameConst::$defaultStatTotal * (90+rand()%11)/100);
|
||||
$leadership = Util::round($leadership * $avgGen['stat_sum'] / GameConst::$defaultStatTotal * (90+rand()%11)/100);
|
||||
$power = Util::round($power * $avgGen['stat_sum'] / GameConst::$defaultStatTotal * (90+rand()%11)/100);
|
||||
$intel = Util::round($intel * $avgGen['stat_sum'] / GameConst::$defaultStatTotal * (90+rand()%11)/100);
|
||||
}
|
||||
$over1 = 0;
|
||||
$over2 = 0;
|
||||
$over3 = 0;
|
||||
// 너무 높은 능치는 다른 능치로 분산
|
||||
if($leader > 90) {
|
||||
$over1 = rand() % ($leader - 90) + 5;
|
||||
$leader -= $over1;
|
||||
if($leadership > 90) {
|
||||
$over1 = rand() % ($leadership - 90) + 5;
|
||||
$leadership -= $over1;
|
||||
}
|
||||
if($power > 90) {
|
||||
$over2 = rand() % ($power - 90) + 5;
|
||||
@@ -2043,8 +2043,8 @@ function process_76(&$general) {
|
||||
$power = $power + $over1 + $over2 + $over3;
|
||||
}
|
||||
// 너무 높은 능치는 제한
|
||||
if($leader > GameConst::$defaultStatNPCMax) {
|
||||
$leader = GameConst::$defaultStatNPCMax;
|
||||
if($leadership > GameConst::$defaultStatNPCMax) {
|
||||
$leadership = GameConst::$defaultStatNPCMax;
|
||||
}
|
||||
if($power > GameConst::$defaultStatNPCMax) {
|
||||
$power = GameConst::$defaultStatNPCMax;
|
||||
@@ -2065,14 +2065,14 @@ function process_76(&$general) {
|
||||
@MYDB_query("
|
||||
insert into general (
|
||||
npc,npc_org,affinity,name,picture,nation,
|
||||
city,leader,power,intel,experience,dedication,
|
||||
city,leadership,power,intel,experience,dedication,
|
||||
level,gold,rice,crew,crewtype,train,atmos,tnmt,
|
||||
weap,book,horse,turntime,killturn,age,belong,personal,special,specage,special2,specage2,npcmsg,
|
||||
makelimit,bornyear,deadyear,
|
||||
dex0, dex10, dex20, dex30, dex40
|
||||
) values (
|
||||
'$npc','$npc','$affinity','$name','$picture','{$nation['nation']}',
|
||||
'{$general['city']}','$leader','$power','$intel','{$avgGen['exp']}','{$avgGen['ded']}',
|
||||
'{$general['city']}','$leadership','$power','$intel','{$avgGen['exp']}','{$avgGen['ded']}',
|
||||
'1','100','100','0','".GameUnitConst::DEFAULT_CREWTYPE."','0','0','0',
|
||||
'0','0','0','$turntime','$killturn','{$avgGen['age']}','1','$personal','0','0','0','0','',
|
||||
'0','$bornyear','$deadyear',
|
||||
|
||||
+42
-42
@@ -1472,7 +1472,7 @@ function process_76(&$general) {
|
||||
$avgGenNum = $db->queryFirstField('SELECT avg(gennum) FROM nation');
|
||||
$addGenCount = 5 + Util::round($avgGenNum / 10);
|
||||
|
||||
$avgGen = $db->queryFirstRow('SELECT max(leader+power+intel) as lpi, avg(dedication) as ded,avg(experience) as exp, avg(dex0+dex10+dex20+dex30) as dex_t, avg(age) as age, avg(dex40) as dex40 from general where npc < 5 and nation = %i', $general['nation']);
|
||||
$avgGen = $db->queryFirstRow('SELECT max(leadership+strength+intel) as stat_sum, avg(dedication) as ded,avg(experience) as exp, avg(dex0+dex10+dex20+dex30) as dex_t, avg(age) as age, avg(dex40) as dex40 from general where npc < 5 and nation = %i', $general['nation']);
|
||||
|
||||
$dexTotal = $avgGen['dex_t'];
|
||||
|
||||
@@ -1485,86 +1485,86 @@ function process_76(&$general) {
|
||||
$stat_tier3 = GameConst::$defaultStatMin + rand()%6;
|
||||
$stat_tier2 = GameConst::$defaultStatTotal - $stat_tier1 - $stat_tier3;
|
||||
$type = Util::choiceRandomUsingWeight([
|
||||
'power0'=>1,
|
||||
'power1'=>1,
|
||||
'power2'=>1,
|
||||
'strength0'=>1,
|
||||
'strength1'=>1,
|
||||
'strength2'=>1,
|
||||
'intel'=>3,
|
||||
'neutral'=>0
|
||||
]);
|
||||
switch($type){
|
||||
case 'power0':
|
||||
$leader = $stat_tier1;
|
||||
$power = $stat_tier2;
|
||||
case 'strength0':
|
||||
$leadership = $stat_tier1;
|
||||
$strength = $stat_tier2;
|
||||
$intel = $stat_tier3;
|
||||
$dexVal = [$dexTotal*5/8, $dexTotal/8, $dexTotal/8, $dexTotal/8];
|
||||
break;
|
||||
case 'power1':
|
||||
$leader = $stat_tier1;
|
||||
$power = $stat_tier2;
|
||||
case 'strength1':
|
||||
$leadership = $stat_tier1;
|
||||
$strength = $stat_tier2;
|
||||
$intel = $stat_tier3;
|
||||
$dexVal = [$dexTotal/8, $dexTotal*5/8, $dexTotal/8, $dexTotal/8];
|
||||
break;
|
||||
case 'power2':
|
||||
$leader = $stat_tier1;
|
||||
$power = $stat_tier2;
|
||||
case 'strength2':
|
||||
$leadership = $stat_tier1;
|
||||
$strength = $stat_tier2;
|
||||
$intel = $stat_tier3;
|
||||
$dexVal = [$dexTotal/8, $dexTotal/8, $dexTotal*5/8, $dexTotal/8];
|
||||
break;
|
||||
case 'intel':
|
||||
$leader = $stat_tier1;
|
||||
$power = $stat_tier3;
|
||||
$leadership = $stat_tier1;
|
||||
$strength = $stat_tier3;
|
||||
$intel = $stat_tier2;
|
||||
$dexVal = [$dexTotal/8, $dexTotal/8, $dexTotal/8, $dexTotal*5/8];
|
||||
break;
|
||||
default:
|
||||
$leader = $stat_tier3;
|
||||
$power = $stat_tier1;
|
||||
$leadership = $stat_tier3;
|
||||
$strength = $stat_tier1;
|
||||
$intel = $stat_tier2;
|
||||
$dexVal = [$dexTotal/4, $dexTotal/4, $dexTotal/4, $dexTotal/4];
|
||||
break;
|
||||
}
|
||||
// 국내 최고능치 기준으로 랜덤성 스케일링
|
||||
if($avgGen['lpi'] > 210) {
|
||||
$leader = Util::round($leader * $avgGen['lpi'] / GameConst::$defaultStatTotal * (60+rand()%31)/100);
|
||||
$power = Util::round($power * $avgGen['lpi'] / GameConst::$defaultStatTotal * (60+rand()%31)/100);
|
||||
$intel = Util::round($intel * $avgGen['lpi'] / GameConst::$defaultStatTotal * (60+rand()%31)/100);
|
||||
} elseif($avgGen['lpi'] > 180) {
|
||||
$leader = Util::round($leader * $avgGen['lpi'] / GameConst::$defaultStatTotal * (75+rand()%21)/100);
|
||||
$power = Util::round($power * $avgGen['lpi'] / GameConst::$defaultStatTotal * (75+rand()%21)/100);
|
||||
$intel = Util::round($intel * $avgGen['lpi'] / GameConst::$defaultStatTotal * (75+rand()%21)/100);
|
||||
if($avgGen['stat_sum'] > 210) {
|
||||
$leadership = Util::round($leadership * $avgGen['stat_sum'] / GameConst::$defaultStatTotal * (60+rand()%31)/100);
|
||||
$strength = Util::round($strength * $avgGen['stat_sum'] / GameConst::$defaultStatTotal * (60+rand()%31)/100);
|
||||
$intel = Util::round($intel * $avgGen['stat_sum'] / GameConst::$defaultStatTotal * (60+rand()%31)/100);
|
||||
} elseif($avgGen['stat_sum'] > 180) {
|
||||
$leadership = Util::round($leadership * $avgGen['stat_sum'] / GameConst::$defaultStatTotal * (75+rand()%21)/100);
|
||||
$strength = Util::round($strength * $avgGen['stat_sum'] / GameConst::$defaultStatTotal * (75+rand()%21)/100);
|
||||
$intel = Util::round($intel * $avgGen['stat_sum'] / GameConst::$defaultStatTotal * (75+rand()%21)/100);
|
||||
} else {
|
||||
$leader = Util::round($leader * $avgGen['lpi'] / GameConst::$defaultStatTotal * (90+rand()%11)/100);
|
||||
$power = Util::round($power * $avgGen['lpi'] / GameConst::$defaultStatTotal * (90+rand()%11)/100);
|
||||
$intel = Util::round($intel * $avgGen['lpi'] / GameConst::$defaultStatTotal * (90+rand()%11)/100);
|
||||
$leadership = Util::round($leadership * $avgGen['stat_sum'] / GameConst::$defaultStatTotal * (90+rand()%11)/100);
|
||||
$strength = Util::round($strength * $avgGen['stat_sum'] / GameConst::$defaultStatTotal * (90+rand()%11)/100);
|
||||
$intel = Util::round($intel * $avgGen['stat_sum'] / GameConst::$defaultStatTotal * (90+rand()%11)/100);
|
||||
}
|
||||
$over1 = 0;
|
||||
$over2 = 0;
|
||||
$over3 = 0;
|
||||
// 너무 높은 능치는 다른 능치로 분산
|
||||
if($leader > 90) {
|
||||
$over1 = rand() % ($leader - 90) + 5;
|
||||
$leader -= $over1;
|
||||
if($leadership > 90) {
|
||||
$over1 = rand() % ($leadership - 90) + 5;
|
||||
$leadership -= $over1;
|
||||
}
|
||||
if($power > 90) {
|
||||
$over2 = rand() % ($power - 90) + 5;
|
||||
$power -= $over2;
|
||||
if($strength > 90) {
|
||||
$over2 = rand() % ($strength - 90) + 5;
|
||||
$strength -= $over2;
|
||||
}
|
||||
if($intel > 90) {
|
||||
$over3 = rand() % ($intel - 90) + 5;
|
||||
$intel -= $over3;
|
||||
}
|
||||
// 낮은 능치쪽으로 합산
|
||||
if($type == 'power') {
|
||||
if($type == 'strength') {
|
||||
$intel = $intel + $over1 + $over2 + $over3;
|
||||
} else {
|
||||
$power = $power + $over1 + $over2 + $over3;
|
||||
$strength = $strength + $over1 + $over2 + $over3;
|
||||
}
|
||||
// 너무 높은 능치는 제한
|
||||
if($leader > GameConst::$defaultStatNPCMax) {
|
||||
$leader = GameConst::$defaultStatNPCMax;
|
||||
if($leadership > GameConst::$defaultStatNPCMax) {
|
||||
$leadership = GameConst::$defaultStatNPCMax;
|
||||
}
|
||||
if($power > GameConst::$defaultStatNPCMax) {
|
||||
$power = GameConst::$defaultStatNPCMax;
|
||||
if($strength > GameConst::$defaultStatNPCMax) {
|
||||
$strength = GameConst::$defaultStatNPCMax;
|
||||
}
|
||||
if($intel > GameConst::$defaultStatNPCMax) {
|
||||
$intel = GameConst::$defaultStatNPCMax;
|
||||
@@ -1582,14 +1582,14 @@ function process_76(&$general) {
|
||||
@MYDB_query("
|
||||
insert into general (
|
||||
npc,npc_org,affinity,name,picture,nation,
|
||||
city,leader,power,intel,experience,dedication,
|
||||
city,leadership,strength,intel,experience,dedication,
|
||||
level,gold,rice,crew,crewtype,train,atmos,tnmt,
|
||||
weap,book,horse,turntime,killturn,age,belong,personal,special,specage,special2,specage2,npcmsg,
|
||||
makelimit,bornyear,deadyear,
|
||||
dex0, dex10, dex20, dex30, dex40
|
||||
) values (
|
||||
'$npc','$npc','$affinity','$name','$picture','{$nation['nation']}',
|
||||
'{$general['city']}','$leader','$power','$intel','{$avgGen['exp']}','{$avgGen['ded']}',
|
||||
'{$general['city']}','$leadership','$strength','$intel','{$avgGen['exp']}','{$avgGen['ded']}',
|
||||
'1','100','100','0','".GameUnitConst::DEFAULT_CREWTYPE."','0','0','0',
|
||||
'0','0','0','$turntime','$killturn','{$avgGen['age']}','1','$personal','0','0','0','0','',
|
||||
'0','$bornyear','$deadyear',
|
||||
|
||||
@@ -330,9 +330,9 @@ function process_29(&$general) {
|
||||
if(!$found_npc) {
|
||||
$exp = 100;
|
||||
$ded = 70;
|
||||
switch(Util::choiceRandomUsingWeight([$general['leader'], $general['power'], $general['intel']])) {
|
||||
case 0: $general['leader2'] += 1; break;
|
||||
case 1: $general['power2'] += 1; break;
|
||||
switch(Util::choiceRandomUsingWeight([$general['leadership'], $general['power'], $general['intel']])) {
|
||||
case 0: $general['leadership2'] += 1; break;
|
||||
case 1: $general['strength2'] += 1; break;
|
||||
case 2: $general['intel2'] += 1; break;
|
||||
}
|
||||
$log[] = "<C>●</>{$admin['month']}월:인재를 찾을 수 없었습니다. <1>$date</>";
|
||||
@@ -340,9 +340,9 @@ function process_29(&$general) {
|
||||
// 탐색 성공
|
||||
$exp = 200;
|
||||
$ded = 300;
|
||||
switch(Util::choiceRandomUsingWeight([$general['leader'], $general['power'], $general['intel']])) {
|
||||
case 0: $general['leader2'] += 3; break;
|
||||
case 1: $general['power2'] += 3; break;
|
||||
switch(Util::choiceRandomUsingWeight([$general['leadership'], $general['power'], $general['intel']])) {
|
||||
case 0: $general['leadership2'] += 3; break;
|
||||
case 1: $general['strength2'] += 3; break;
|
||||
case 2: $general['intel2'] += 3; break;
|
||||
}
|
||||
|
||||
@@ -383,7 +383,7 @@ function process_29(&$general) {
|
||||
$alllog[] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <Y>$name</>{$josaRa}는 <C>인재</>를 {$scoutType}하였습니다!";
|
||||
pushGeneralHistory($general, "<C>●</>{$admin['year']}년 {$admin['month']}월:<Y>$name</>{$josaRa}는 <C>인재</>를 {$scoutType}");
|
||||
|
||||
$avgGen = $db->queryFirstRow('SELECT max(leader+power+intel) as lpi, avg(dedication) as ded,avg(experience) as exp, avg(dex0+dex10+dex20+dex30) as dex_t, avg(dex40) as dex40 from general where npc < 5 and nation = %i', $general['nation']);
|
||||
$avgGen = $db->queryFirstRow('SELECT max(leadership+power+intel) as stat_sum, avg(dedication) as ded,avg(experience) as exp, avg(dex0+dex10+dex20+dex30) as dex_t, avg(dex40) as dex40 from general where npc < 5 and nation = %i', $general['nation']);
|
||||
|
||||
$dexTotal = $avgGen['dex_t'];
|
||||
|
||||
@@ -392,39 +392,39 @@ function process_29(&$general) {
|
||||
$stat_tier3 = GameConst::$defaultStatMin + rand()%6;
|
||||
$stat_tier2 = GameConst::$defaultStatTotal - $stat_tier1 - $stat_tier3;
|
||||
$type = Util::choiceRandomUsingWeight([
|
||||
'power0'=>2,
|
||||
'power1'=>2,
|
||||
'power2'=>2,
|
||||
'strength0'=>2,
|
||||
'strength1'=>2,
|
||||
'strength2'=>2,
|
||||
'intel'=>6,
|
||||
'neutral'=>3
|
||||
]);
|
||||
switch($type){
|
||||
case 'power0':
|
||||
$leader = $stat_tier1;
|
||||
case 'strength0':
|
||||
$leadership = $stat_tier1;
|
||||
$power = $stat_tier2;
|
||||
$intel = $stat_tier3;
|
||||
$dexVal = [$dexTotal*5/8, $dexTotal/8, $dexTotal/8, $dexTotal/8];
|
||||
break;
|
||||
case 'power1':
|
||||
$leader = $stat_tier1;
|
||||
case 'strength1':
|
||||
$leadership = $stat_tier1;
|
||||
$power = $stat_tier2;
|
||||
$intel = $stat_tier3;
|
||||
$dexVal = [$dexTotal/8, $dexTotal*5/8, $dexTotal/8, $dexTotal/8];
|
||||
break;
|
||||
case 'power2':
|
||||
$leader = $stat_tier1;
|
||||
case 'strength2':
|
||||
$leadership = $stat_tier1;
|
||||
$power = $stat_tier2;
|
||||
$intel = $stat_tier3;
|
||||
$dexVal = [$dexTotal/8, $dexTotal/8, $dexTotal*5/8, $dexTotal/8];
|
||||
break;
|
||||
case 'intel':
|
||||
$leader = $stat_tier1;
|
||||
$leadership = $stat_tier1;
|
||||
$power = $stat_tier3;
|
||||
$intel = $stat_tier2;
|
||||
$dexVal = [$dexTotal/8, $dexTotal/8, $dexTotal/8, $dexTotal*5/8];
|
||||
break;
|
||||
default:
|
||||
$leader = $stat_tier3;
|
||||
$leadership = $stat_tier3;
|
||||
$power = $stat_tier1;
|
||||
$intel = $stat_tier2;
|
||||
$dexVal = [$dexTotal/4, $dexTotal/4, $dexTotal/4, $dexTotal/4];
|
||||
@@ -432,26 +432,26 @@ function process_29(&$general) {
|
||||
}
|
||||
|
||||
// 국내 최고능치 기준으로 랜덤성 스케일링
|
||||
if($avgGen['lpi'] > 210) {
|
||||
$leader = Util::round($leader * $avgGen['lpi'] / GameConst::$defaultStatTotal * (60+rand()%31)/100);
|
||||
$power = Util::round($power * $avgGen['lpi'] / GameConst::$defaultStatTotal * (60+rand()%31)/100);
|
||||
$intel = Util::round($intel * $avgGen['lpi'] / GameConst::$defaultStatTotal * (60+rand()%31)/100);
|
||||
} elseif($avgGen['lpi'] > 180) {
|
||||
$leader = Util::round($leader * $avgGen['lpi'] / GameConst::$defaultStatTotal * (75+rand()%21)/100);
|
||||
$power = Util::round($power * $avgGen['lpi'] / GameConst::$defaultStatTotal * (75+rand()%21)/100);
|
||||
$intel = Util::round($intel * $avgGen['lpi'] / GameConst::$defaultStatTotal * (75+rand()%21)/100);
|
||||
if($avgGen['stat_sum'] > 210) {
|
||||
$leadership = Util::round($leadership * $avgGen['stat_sum'] / GameConst::$defaultStatTotal * (60+rand()%31)/100);
|
||||
$power = Util::round($power * $avgGen['stat_sum'] / GameConst::$defaultStatTotal * (60+rand()%31)/100);
|
||||
$intel = Util::round($intel * $avgGen['stat_sum'] / GameConst::$defaultStatTotal * (60+rand()%31)/100);
|
||||
} elseif($avgGen['stat_sum'] > 180) {
|
||||
$leadership = Util::round($leadership * $avgGen['stat_sum'] / GameConst::$defaultStatTotal * (75+rand()%21)/100);
|
||||
$power = Util::round($power * $avgGen['stat_sum'] / GameConst::$defaultStatTotal * (75+rand()%21)/100);
|
||||
$intel = Util::round($intel * $avgGen['stat_sum'] / GameConst::$defaultStatTotal * (75+rand()%21)/100);
|
||||
} else {
|
||||
$leader = Util::round($leader * $avgGen['lpi'] / GameConst::$defaultStatTotal * (90+rand()%11)/100);
|
||||
$power = Util::round($power * $avgGen['lpi'] / GameConst::$defaultStatTotal * (90+rand()%11)/100);
|
||||
$intel = Util::round($intel * $avgGen['lpi'] / GameConst::$defaultStatTotal * (90+rand()%11)/100);
|
||||
$leadership = Util::round($leadership * $avgGen['stat_sum'] / GameConst::$defaultStatTotal * (90+rand()%11)/100);
|
||||
$power = Util::round($power * $avgGen['stat_sum'] / GameConst::$defaultStatTotal * (90+rand()%11)/100);
|
||||
$intel = Util::round($intel * $avgGen['stat_sum'] / GameConst::$defaultStatTotal * (90+rand()%11)/100);
|
||||
}
|
||||
$over1 = 0;
|
||||
$over2 = 0;
|
||||
$over3 = 0;
|
||||
// 너무 높은 능치는 다른 능치로 분산
|
||||
if($leader > 90) {
|
||||
$over1 = rand() % ($leader - 90) + 5;
|
||||
$leader -= $over1;
|
||||
if($leadership > 90) {
|
||||
$over1 = rand() % ($leadership - 90) + 5;
|
||||
$leadership -= $over1;
|
||||
}
|
||||
if($power > 90) {
|
||||
$over2 = rand() % ($power - 90) + 5;
|
||||
@@ -468,8 +468,8 @@ function process_29(&$general) {
|
||||
$power = $power + $over1 + $over2 + $over3;
|
||||
}
|
||||
// 너무 높은 능치는 제한
|
||||
if($leader > 95) {
|
||||
$leader = 95;
|
||||
if($leadership > 95) {
|
||||
$leadership = 95;
|
||||
}
|
||||
if($power > 95) {
|
||||
$power = 95;
|
||||
@@ -499,14 +499,14 @@ function process_29(&$general) {
|
||||
@MYDB_query("
|
||||
insert into general (
|
||||
npcid,npc,npc_org,affinity,name,picture,nation,
|
||||
city,leader,power,intel,experience,dedication,
|
||||
city,leadership,power,intel,experience,dedication,
|
||||
level,gold,rice,crew,crewtype,train,atmos,tnmt,
|
||||
weap,book,horse,turntime,killturn,age,belong,personal,special,specage,special2,specage2,npcmsg,
|
||||
makelimit,bornyear,deadyear,
|
||||
dex0, dex10, dex20, dex30, dex40
|
||||
) values (
|
||||
'$npccount','$npc','$npc','$affinity','$name','$picture','$scoutNation',
|
||||
'{$general['city']}','$leader','$power','$intel','{$avgGen['exp']}','{$avgGen['ded']}',
|
||||
'{$general['city']}','$leadership','$power','$intel','{$avgGen['exp']}','{$avgGen['ded']}',
|
||||
'$scoutLevel','100','100','0','".GameUnitConst::DEFAULT_CREWTYPE."','0','0','0',
|
||||
'0','0','0','$turntime','$killturn','$age','1','$personal','0','$specage','0','$specage2','',
|
||||
'0','$bornyear','$deadyear',
|
||||
@@ -534,7 +534,7 @@ function process_29(&$general) {
|
||||
$ded = CharDedication($ded, $general['personal']);
|
||||
|
||||
// 자금 감소 // 경험치 상승 // 공헌도, 명성 상승
|
||||
$query = "update general set resturn='SUCCESS',term='0',gold='$gold',leader2='{$general['leader2']}',power2='{$general['power2']}',intel2='{$general['intel2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
$query = "update general set resturn='SUCCESS',term='0',gold='$gold',leadership2='{$general['leadership2']}',strength2='{$general['strength2']}',intel2='{$general['intel2']}',dedication=dedication+'$ded',experience=experience+'$exp' where no='{$general['no']}'";
|
||||
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
$log = checkAbility($general, $log);
|
||||
|
||||
@@ -5,11 +5,11 @@ namespace sammo;
|
||||
function calcSabotageAttackScore(string $statType, array $general, array $nation):array{
|
||||
setLeadershipBonus($general, $nation['level']);
|
||||
|
||||
if($statType === 'leader'){
|
||||
if($statType === 'leadership'){
|
||||
$genScore = getGeneralLeadership($general, true, true, true);
|
||||
}
|
||||
else if($statType === 'power'){
|
||||
$genScore = getGeneralPower($general, true, true, true);
|
||||
else if($statType === 'strength'){
|
||||
$genScore = getGeneralStrength($general, true, true, true);
|
||||
}
|
||||
else if($statType === 'intel'){
|
||||
$genScore = getGeneralIntel($general, true, true, true);
|
||||
@@ -70,10 +70,10 @@ function calcSabotageDefendScore(string $statType, array $generalList, array $ci
|
||||
foreach ($generalList as $general) {
|
||||
setLeadershipBonus($general, $nation['level']);
|
||||
|
||||
if ($statType === 'leader') {
|
||||
if ($statType === 'leadership') {
|
||||
$maxGenScore = max($maxGenScore, getGeneralLeadership($general, true, true, true));
|
||||
} elseif ($statType === 'power') {
|
||||
$maxGenScore = max($maxGenScore, getGeneralPower($general, true, true, true));
|
||||
} elseif ($statType === 'strength') {
|
||||
$maxGenScore = max($maxGenScore, getGeneralStrength($general, true, true, true));
|
||||
} elseif ($statType === 'intel') {
|
||||
$maxGenScore = max($maxGenScore, getGeneralIntel($general, true, true, true));
|
||||
} else {
|
||||
@@ -161,7 +161,7 @@ function process_32(&$general) {
|
||||
$srcNation = getNationStaticInfo($srcNationID);
|
||||
$destNation = getNationStaticInfo($destNationID);
|
||||
|
||||
$generalList = $db->query('SELECT `no`,leader,horse,power,weap,intel,book,injury,level,special,special2 FROM general WHERE city=%i and nation=%i', $destCity['city'], $destCity['nation']);
|
||||
$generalList = $db->query('SELECT `no`,leadership,horse,strength,weap,intel,book,injury,level,special,special2 FROM general WHERE city=%i and nation=%i', $destCity['city'], $destCity['nation']);
|
||||
|
||||
[
|
||||
$srcGenScore,
|
||||
@@ -265,7 +265,7 @@ function process_33(&$general) {
|
||||
|
||||
$date = substr($general['turntime'],11,5);
|
||||
$sabotageName = '탈취';
|
||||
$statType = 'power';
|
||||
$statType = 'strength';
|
||||
|
||||
[$year, $month, $develCost] = $gameStor->getValuesAsArray(['year','month','develcost']);
|
||||
$logger = new ActionLogger($general['no'], $general['nation'], $year, $month);
|
||||
@@ -298,7 +298,7 @@ function process_33(&$general) {
|
||||
$srcNation = getNationStaticInfo($srcNationID);
|
||||
$destNation = getNationStaticInfo($destNationID);
|
||||
|
||||
$generalList = $db->query('SELECT `no`,leader,horse,power,weap,intel,book,injury,level,special,special2 FROM general WHERE city=%i and nation=%i', $destCity['city'], $destCity['nation']);
|
||||
$generalList = $db->query('SELECT `no`,leadership,horse,strength,weap,intel,book,injury,level,special,special2 FROM general WHERE city=%i and nation=%i', $destCity['city'], $destCity['nation']);
|
||||
|
||||
[
|
||||
$srcGenScore,
|
||||
@@ -436,7 +436,7 @@ function process_34(&$general) {
|
||||
|
||||
$date = substr($general['turntime'],11,5);
|
||||
$sabotageName = '파괴';
|
||||
$statType = 'power';
|
||||
$statType = 'strength';
|
||||
|
||||
[$year, $month, $develCost] = $gameStor->getValuesAsArray(['year','month','develcost']);
|
||||
$logger = new ActionLogger($general['no'], $general['nation'], $year, $month);
|
||||
@@ -467,7 +467,7 @@ function process_34(&$general) {
|
||||
$srcNation = getNationStaticInfo($srcNationID);
|
||||
$destNation = getNationStaticInfo($destNationID);
|
||||
|
||||
$generalList = $db->query('SELECT `no`,leader,horse,power,weap,intel,book,injury,level,special,special2 FROM general WHERE city=%i and nation=%i', $destCity['city'], $destCity['nation']);
|
||||
$generalList = $db->query('SELECT `no`,leadership,horse,strength,weap,intel,book,injury,level,special,special2 FROM general WHERE city=%i and nation=%i', $destCity['city'], $destCity['nation']);
|
||||
|
||||
[
|
||||
$srcGenScore,
|
||||
@@ -574,7 +574,7 @@ function process_35(&$general) {
|
||||
|
||||
$date = substr($general['turntime'],11,5);
|
||||
$sabotageName = '선동';
|
||||
$statType = 'leader';
|
||||
$statType = 'leadership';
|
||||
|
||||
[$year, $month, $develCost] = $gameStor->getValuesAsArray(['year','month','develcost']);
|
||||
$logger = new ActionLogger($general['no'], $general['nation'], $year, $month);
|
||||
@@ -607,7 +607,7 @@ function process_35(&$general) {
|
||||
$srcNation = getNationStaticInfo($srcNationID);
|
||||
$destNation = getNationStaticInfo($destNationID);
|
||||
|
||||
$generalList = $db->query('SELECT `no`,leader,horse,power,weap,intel,book,injury,level,special,special2 FROM general WHERE city=%i and nation=%i', $destCity['city'], $destCity['nation']);
|
||||
$generalList = $db->query('SELECT `no`,leadership,horse,strength,weap,intel,book,injury,level,special,special2 FROM general WHERE city=%i and nation=%i', $destCity['city'], $destCity['nation']);
|
||||
[
|
||||
$srcGenScore,
|
||||
$srcSpecialScore,
|
||||
|
||||
+22
-22
@@ -309,8 +309,8 @@ function fillLowGenAll() {
|
||||
'no'=>0,
|
||||
'npc'=>2,
|
||||
'name'=>'무명장수',
|
||||
'leader'=>10,
|
||||
'power'=>10,
|
||||
'leadership'=>10,
|
||||
'strength'=>10,
|
||||
'intel'=>10,
|
||||
'explevel'=>10
|
||||
];
|
||||
@@ -335,7 +335,7 @@ function fillLowGenAll() {
|
||||
|
||||
//자동신청하고, 돈 있고, 아직 참가 안한 장수
|
||||
$freeJoiners = $db->query(
|
||||
'SELECT no,npc,name,leader,power,intel,explevel,horse,weap,book from general where tnmt=1 and tournament=0 order by rand() limit %d',
|
||||
'SELECT no,npc,name,leadership,strength,intel,explevel,horse,weap,book from general where tnmt=1 and tournament=0 order by rand() limit %d',
|
||||
$toBeFilledCnt
|
||||
);
|
||||
|
||||
@@ -349,9 +349,9 @@ function fillLowGenAll() {
|
||||
'no'=>$general['no'],
|
||||
'npc'=>$general['npc'],
|
||||
'name'=>$general['name'],
|
||||
'ldr'=>$general['leader'],
|
||||
'pwr'=>$general['power'],
|
||||
'itl'=>$general['intel'],
|
||||
'leadership'=>$general['leadership'],
|
||||
'strength'=>$general['strength'],
|
||||
'intel'=>$general['intel'],
|
||||
'lvl'=>$general['explevel'],
|
||||
'grp'=>$grpIdx,
|
||||
'grp_no'=>$grpCnt,
|
||||
@@ -486,9 +486,9 @@ function selection($tnmt_type, $tnmt, $phase) {
|
||||
'no'=>$general['no'],
|
||||
'npc'=>$general['npc'],
|
||||
'name'=>$general['name'],
|
||||
'ldr'=>$general['ldr'],
|
||||
'pwr'=>$general['pwr'],
|
||||
'itl'=>$general['itl'],
|
||||
'leadership'=>$general['leadership'],
|
||||
'strength'=>$general['strength'],
|
||||
'intel'=>$general['intel'],
|
||||
'lvl'=>$general['lvl'],
|
||||
'grp'=>$grp,
|
||||
'grp_no'=>$grp_no,
|
||||
@@ -573,9 +573,9 @@ function final16set() {
|
||||
'no'=>$general['no'],
|
||||
'npc'=>$general['npc'],
|
||||
'name'=>$general['name'],
|
||||
'ldr'=>$general['ldr'],
|
||||
'pwr'=>$general['pwr'],
|
||||
'itl'=>$general['itl'],
|
||||
'leadership'=>$general['leadership'],
|
||||
'strength'=>$general['strength'],
|
||||
'intel'=>$general['intel'],
|
||||
'lvl'=>$general['lvl'],
|
||||
'grp'=>$newGrp,
|
||||
'grp_no'=>$newGrp_no,
|
||||
@@ -617,9 +617,9 @@ function finalFight($tnmt_type, $tnmt, $phase, $type) {
|
||||
'no'=>$general['no'],
|
||||
'npc'=>$general['npc'],
|
||||
'name'=>$general['name'],
|
||||
'ldr'=>$general['ldr'],
|
||||
'pwr'=>$general['pwr'],
|
||||
'itl'=>$general['itl'],
|
||||
'leadership'=>$general['leadership'],
|
||||
'strength'=>$general['strength'],
|
||||
'intel'=>$general['intel'],
|
||||
'lvl'=>$general['lvl'],
|
||||
'grp'=>$newGrp,
|
||||
'grp_no'=>$newGrp_no,
|
||||
@@ -649,7 +649,7 @@ function setGift($tnmt_type, $tnmt, $phase) {
|
||||
switch($tnmt_type) {
|
||||
case 0: $tp = "전력전"; $tp2 = "tt"; break;
|
||||
case 1: $tp = "통솔전"; $tp2 = "tl"; break;
|
||||
case 2: $tp = "일기토"; $tp2 = "tp"; break;
|
||||
case 2: $tp = "일기토"; $tp2 = "ts"; break;
|
||||
case 3: $tp = "설전"; $tp2 = "ti"; break;
|
||||
}
|
||||
|
||||
@@ -830,11 +830,11 @@ function fight($tnmt_type, $tnmt, $phs, $group, $g1, $g2, $type) {
|
||||
|
||||
eraseTnmtFightLog($group);
|
||||
|
||||
$query = "select *,(ldr+pwr+itl)*7/15 as tot,h,w,b from tournament where grp='$group' and grp_no='$g1'";
|
||||
$query = "select *,(leadership+strength+intel)*7/15 as total,h,w,b from tournament where grp='$group' and grp_no='$g1'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$gen1 = MYDB_fetch_array($result);
|
||||
|
||||
$query = "select *,(ldr+pwr+itl)*7/15 as tot,h,w,b from tournament where grp='$group' and grp_no='$g2'";
|
||||
$query = "select *,(leadership+strength+intel)*7/15 as total,h,w,b from tournament where grp='$group' and grp_no='$g2'";
|
||||
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
$gen2 = MYDB_fetch_array($result);
|
||||
|
||||
@@ -842,10 +842,10 @@ function fight($tnmt_type, $tnmt, $phs, $group, $g1, $g2, $type) {
|
||||
else { $turn = 100; }
|
||||
|
||||
|
||||
if($tnmt_type == 1) { $tp = "ldr"; $tp2 = "tl"; }
|
||||
elseif($tnmt_type == 2) { $tp = "pwr"; $tp2 = "tp"; }
|
||||
elseif($tnmt_type == 3) { $tp = "itl"; $tp2 = "ti"; }
|
||||
else /*$tnmt_type == 0*/{ $tp = "tot"; $tp2 = "tt"; }
|
||||
if($tnmt_type == 1) { $tp = "leadership"; $tp2 = "tl"; }
|
||||
elseif($tnmt_type == 2) { $tp = "strength"; $tp2 = "ts"; }
|
||||
elseif($tnmt_type == 3) { $tp = "intel"; $tp2 = "ti"; }
|
||||
else /*$tnmt_type == 0*/{ $tp = "total"; $tp2 = "tt"; }
|
||||
|
||||
$e1 = $energy1 = Util::round($gen1[$tp] * getLog($gen1['lvl'], $gen2['lvl']) * 10);
|
||||
$e2 = $energy2 = Util::round($gen2[$tp] * getLog($gen1['lvl'], $gen2['lvl']) * 10);
|
||||
|
||||
@@ -42,7 +42,7 @@ else{
|
||||
|
||||
$session->setReadOnly();
|
||||
|
||||
$rawGeneralList = $db->queryAllLists('SELECT owner,no,picture,imgsvr,npc,age,nation,special,special2,personal,name,name2,injury,leader,power,intel,experience,dedication,level,killturn,connect from general');
|
||||
$rawGeneralList = $db->queryAllLists('SELECT owner,no,picture,imgsvr,npc,age,nation,special,special2,personal,name,name2,injury,leadership,strength,intel,experience,dedication,level,killturn,connect from general');
|
||||
|
||||
$ownerNameList = [];
|
||||
if($gameStor->isunited){
|
||||
@@ -53,7 +53,7 @@ if($gameStor->isunited){
|
||||
|
||||
$generalList = [];
|
||||
foreach($rawGeneralList as $rawGeneral){
|
||||
[$owner,$no,$picture,$imgsvr,$npc,$age,$nation,$special,$special2,$personal,$name,$name2,$injury,$leader,$power,$intel,$experience,$dedication,$level,$killturn,$connect] = $rawGeneral;
|
||||
[$owner,$no,$picture,$imgsvr,$npc,$age,$nation,$special,$special2,$personal,$name,$name2,$injury,$leadership,$strength,$intel,$experience,$dedication,$level,$killturn,$connect] = $rawGeneral;
|
||||
|
||||
if(key_exists($owner, $ownerNameList)){
|
||||
$name2 = $ownerNameList[$owner];
|
||||
@@ -75,9 +75,9 @@ foreach($rawGeneralList as $rawGeneral){
|
||||
$name,
|
||||
$npc==1?$name2:null,
|
||||
$injury,
|
||||
$leader,
|
||||
$leadership,
|
||||
$lbonus,
|
||||
$power,
|
||||
$strength,
|
||||
$intel,
|
||||
getExpLevel($experience),
|
||||
getHonor($experience),
|
||||
|
||||
@@ -90,13 +90,13 @@ if($token && !$refresh){
|
||||
$candidates = [];
|
||||
|
||||
$weight = [];
|
||||
foreach($db->query('SELECT `no`, `name`, leader, power, intel, nation, imgsvr, picture, personal, special, special2 FROM general WHERE npc=2') as $general){
|
||||
foreach($db->query('SELECT `no`, `name`, leadership, strength, intel, nation, imgsvr, picture, personal, special, special2 FROM general WHERE npc=2') as $general){
|
||||
$general['special'] = (getGeneralSpecialDomesticClass($general['special']))::$name;
|
||||
$general['special2'] = (getGeneralSpecialWarClass($general['special2']))::$name;
|
||||
$general['personal'] = (getPersonalityClass($general['personal']));
|
||||
$general['nation'] = getNationStaticInfo($general['nation'])['name'];
|
||||
$candidates[$general['no']] = $general + ['keepCnt'=>KEEP_CNT];
|
||||
$allStat = $general['leader'] + $general['power'] + $general['intel'];
|
||||
$allStat = $general['leadership'] + $general['strength'] + $general['intel'];
|
||||
$weight[$general['no']] = pow($allStat, 1.5);
|
||||
}
|
||||
|
||||
|
||||
@@ -82,13 +82,13 @@ $rawDefenderNation = $query['defenderNation'];
|
||||
$generalCheck = [
|
||||
'required'=>[
|
||||
'no', 'name', 'nation', 'turntime', 'personal', 'special2', 'crew', 'crewtype', 'atmos', 'train',
|
||||
'intel', 'intel2', 'book', 'power', 'power2', 'weap', 'injury', 'leader', 'leader2', 'horse', 'item',
|
||||
'intel', 'intel2', 'book', 'strength', 'strength2', 'weap', 'injury', 'leadership', 'leadership2', 'horse', 'item',
|
||||
'explevel', 'experience', 'dedication', 'level', 'gold', 'rice', 'dex0', 'dex10', 'dex20', 'dex30', 'dex40',
|
||||
'warnum', 'killnum', 'deathnum', 'killcrew', 'deathcrew', 'recwar'
|
||||
],
|
||||
'integer'=>[
|
||||
'no', 'nation', 'personal', 'special2', 'crew', 'crewtype', 'atmos', 'train',
|
||||
'intel', 'intel2', 'book', 'power', 'power2', 'weap', 'injury', 'leader', 'leader2', 'horse', 'item',
|
||||
'intel', 'intel2', 'book', 'strength', 'strength2', 'weap', 'injury', 'leadership', 'leadership2', 'horse', 'item',
|
||||
'explevel', 'experience', 'dedication', 'level', 'gold', 'rice', 'dex0', 'dex10', 'dex20', 'dex30', 'dex40',
|
||||
'warnum', 'killnum', 'deathnum', 'killcrew', 'deathcrew'
|
||||
],
|
||||
@@ -97,8 +97,8 @@ $generalCheck = [
|
||||
['nation', 1],
|
||||
['crew', 0],
|
||||
['intel', 0],
|
||||
['power', 0],
|
||||
['leader', 0],
|
||||
['strength', 0],
|
||||
['leadership', 0],
|
||||
['experience', 0],
|
||||
['gold', 0],
|
||||
['rice', 0],
|
||||
|
||||
+2
-2
@@ -127,11 +127,11 @@ if ($admin['show_img_level'] >= 1 && $member['grade'] >= 1 && $member['picture']
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=498 align=right id=bg1>통솔</td>
|
||||
<td colspan=2><input type="number" name="leader" id="leader" value="50"></td>
|
||||
<td colspan=2><input type="number" name="leadership" id="leadership" value="50"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=498 align=right id=bg1>무력</td>
|
||||
<td colspan=2><input type="number" name="power" id="power" value="50"></td>
|
||||
<td colspan=2><input type="number" name="strength" id="strength" value="50"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width=498 align=right id=bg1>지력</td>
|
||||
|
||||
+24
-24
@@ -8,25 +8,25 @@ $v = new Validator($_POST + $_GET);
|
||||
$v
|
||||
->rule('required', [
|
||||
'name',
|
||||
'leader',
|
||||
'power',
|
||||
'leadership',
|
||||
'strength',
|
||||
'intel'
|
||||
])
|
||||
->rule('integer', [
|
||||
'leader',
|
||||
'power',
|
||||
'leadership',
|
||||
'strength',
|
||||
'intel',
|
||||
'character',
|
||||
])
|
||||
->rule('stringWidthBetween', 'name', 1, 18)
|
||||
->rule('min', [
|
||||
'leader',
|
||||
'power',
|
||||
'leadership',
|
||||
'strength',
|
||||
'intel'
|
||||
], GameConst::$defaultStatMin)
|
||||
->rule('max', [
|
||||
'leader',
|
||||
'power',
|
||||
'leadership',
|
||||
'strength',
|
||||
'intel'
|
||||
], GameConst::$defaultStatMax)
|
||||
->rule('min', 'character', 0)
|
||||
@@ -50,8 +50,8 @@ $name = StringUtil::textStrip($name);
|
||||
$pic = (int)Util::getReq('pic', 'bool', 0);
|
||||
$character = Util::getReq('character', 'int', 0);
|
||||
|
||||
$leader = Util::getReq('leader', 'int', 50);
|
||||
$power = Util::getReq('power', 'int', 50);
|
||||
$leadership = Util::getReq('leadership', 'int', 50);
|
||||
$strength = Util::getReq('strength', 'int', 50);
|
||||
$intel = Util::getReq('intel', 'int', 50);
|
||||
|
||||
$join = Util::getReq('join'); //쓸모 없음
|
||||
@@ -110,7 +110,7 @@ if (mb_strwidth($name) > 18) {
|
||||
</script>");
|
||||
exit;
|
||||
}
|
||||
if ($leader + $power + $intel > GameConst::$defaultStatTotal) {
|
||||
if ($leadership + $strength + $intel > GameConst::$defaultStatTotal) {
|
||||
echo("<script>
|
||||
window.alert('능력치가 ".GameConst::$defaultStatTotal."을 넘어섰습니다. 다시 가입해주세요!')
|
||||
history.go(-1)
|
||||
@@ -132,16 +132,16 @@ if (!$city) {
|
||||
$city = $db->queryFirstField("select city from city where level>=5 and level<=6 order by rand() limit 0,1");
|
||||
}
|
||||
|
||||
$pleader = 0;
|
||||
$ppower = 0;
|
||||
$pleadershipship = 0;
|
||||
$pstrength = 0;
|
||||
$pintel = 0;
|
||||
for ($statBonusCnt = 3 + mt_rand(0, 2); $statBonusCnt > 0; $statBonusCnt--) {
|
||||
switch (Util::choiceRandomUsingWeight([$leader, $power, $intel])) {
|
||||
switch (Util::choiceRandomUsingWeight([$leadership, $strength, $intel])) {
|
||||
case 0:
|
||||
$pleader++;
|
||||
$pleadership++;
|
||||
break;
|
||||
case 1:
|
||||
$ppower++;
|
||||
$pstrength++;
|
||||
break;
|
||||
case 2:
|
||||
$pintel++;
|
||||
@@ -149,20 +149,20 @@ for ($statBonusCnt = 3 + mt_rand(0, 2); $statBonusCnt > 0; $statBonusCnt--) {
|
||||
}
|
||||
}
|
||||
|
||||
$leader = $leader + $pleader;
|
||||
$power = $power + $ppower;
|
||||
$leadership = $leadership + $pleadership;
|
||||
$strength = $strength + $pstrength;
|
||||
$intel = $intel + $pintel;
|
||||
|
||||
$admin = $gameStor->getValues(['scenario', 'turnterm', 'turntime', 'show_img_level', 'startyear', 'year']);
|
||||
$relYear = Util::valueFit($admin['year'] - $admin['startyear'], 0);
|
||||
|
||||
$age = 20 + ($pleader + $ppower + $pintel) * 2 - (mt_rand(0, 1));
|
||||
$age = 20 + ($pleadership + $pstrength + $pintel) * 2 - (mt_rand(0, 1));
|
||||
// 아직 남았고 천재등록상태이면 특기 부여
|
||||
if ($genius) {
|
||||
$specage2 = $age;
|
||||
$special2 = SpecialityConst::pickSpecialWar([
|
||||
'leader'=>$leader,
|
||||
'power'=>$power,
|
||||
'leadership'=>$leadership,
|
||||
'strength'=>$strength,
|
||||
'intel'=>$intel,
|
||||
'dex0'=>0,
|
||||
'dex10'=>0,
|
||||
@@ -230,8 +230,8 @@ $db->insert('general', [
|
||||
'city' => $city,
|
||||
'troop' => 0,
|
||||
'affinity' => $affinity,
|
||||
'leader' => $leader,
|
||||
'power' => $power,
|
||||
'leadership' => $leadership,
|
||||
'strength' => $strength,
|
||||
'intel' => $intel,
|
||||
'experience' => $experience,
|
||||
'dedication' => 0,
|
||||
@@ -288,7 +288,7 @@ $mylog[] = "<C>●</>삼국지 모의전투 PHP의 세계에 오신 것을 환
|
||||
$mylog[] = "<C>●</>처음 하시는 경우에는 <D>도움말</>을 참고하시고,";
|
||||
$mylog[] = "<C>●</>문의사항이 있으시면 게시판에 글을 남겨주시면 되겠네요~";
|
||||
$mylog[] = "<C>●</>부디 즐거운 삼모전 되시길 바랍니다 ^^";
|
||||
$mylog[] = "<C>●</>통솔 <C>$pleader</> 무력 <C>$ppower</> 지력 <C>$pintel</> 의 보너스를 받으셨습니다.";
|
||||
$mylog[] = "<C>●</>통솔 <C>$pleadership</> 무력 <C>$pstrength</> 지력 <C>$pintel</> 의 보너스를 받으셨습니다.";
|
||||
$mylog[] = "<C>●</>연령은 <C>$age</>세로 시작합니다.";
|
||||
if ($genius) {
|
||||
$mylog[] = "<C>●</>축하합니다! 천재로 태어나 처음부터 <C>".getGeneralSpecialWarName($special2)."</> 특기를 가지게 됩니다!";
|
||||
|
||||
@@ -55,11 +55,11 @@ $token_num = MYDB_num_rows($result);
|
||||
|
||||
if($token_num == 1) {
|
||||
$token = MYDB_fetch_array($result);
|
||||
$leader = $token['leader'];
|
||||
$leadership = $token['leadership'];
|
||||
$power = $token['power'];
|
||||
$intel = $token['intel'];
|
||||
} else {
|
||||
$leader = 0;
|
||||
$leadership = 0;
|
||||
$power = 0;
|
||||
$intel = 0;
|
||||
}
|
||||
@@ -112,13 +112,13 @@ if($id_num) {
|
||||
history.go(-1)
|
||||
</script>");
|
||||
exit;
|
||||
} elseif($leader + $power + $intel > 150) {
|
||||
} elseif($leadership + $power + $intel > 150) {
|
||||
echo("<script>
|
||||
window.alert('능력치가 150을 넘어섰습니다. 다시 가입해주세요!')
|
||||
history.go(-1)
|
||||
</script>");
|
||||
exit;
|
||||
} elseif($leader > 75 || $leader < 10 || $power > 75 || $power < 10 || $intel > 75 || $intel < 10) {
|
||||
} elseif($leadership > 75 || $leadership < 10 || $power > 75 || $power < 10 || $intel > 75 || $intel < 10) {
|
||||
echo("<script>
|
||||
window.alert('능력치가 비정상적입니다. 다시 가입해주세요!')
|
||||
history.go(-1)
|
||||
@@ -168,7 +168,7 @@ if($id_num) {
|
||||
$ppower = floor($ppower / $rate * $total + 0.5);
|
||||
$pintel = floor($pintel / $rate * $total + 0.5);
|
||||
|
||||
$leader = $leader + $pleader;
|
||||
$leadership = $leadership + $pleader;
|
||||
$power = $power + $ppower;
|
||||
$intel = $intel + $pintel;
|
||||
|
||||
@@ -176,7 +176,7 @@ if($id_num) {
|
||||
// 아직 남았고 천재등록상태이면 특기 부여
|
||||
if($genius == 1) {
|
||||
$specage2 = $age;
|
||||
$special2 = getSpecial2($connect, $leader, $power, $intel);
|
||||
$special2 = getSpecial2($connect, $leadership, $power, $intel);
|
||||
} else {
|
||||
$specage2 = round((80 - $age)/3) + $age;
|
||||
$special2 = 0;
|
||||
@@ -217,11 +217,11 @@ if($id_num) {
|
||||
$query = "
|
||||
insert into general (
|
||||
user_id, password, name, picture, imgsvr, nation, city, troop, npcmatch,
|
||||
leader, power, intel, experience, dedication, gold, rice, crew, train, atmos,
|
||||
leadership, power, intel, experience, dedication, gold, rice, crew, train, atmos,
|
||||
userlevel, level, turntime, killturn, lastconnect, makelimit, age, startage, personal, specage, special, specage2, special2
|
||||
) values (
|
||||
'$id', '$pwTemp', '$name', '$face', '$imgsvr', '0', '$city', '0', '$npcmatch',
|
||||
'$leader', '$power', '$intel', '0', '0', '1000', '1000', '0', '0', '0',
|
||||
'$leadership', '$power', '$intel', '0', '0', '1000', '1000', '0', '0', '0',
|
||||
'$userlevel', '0', '$turntime', '6', '$lastconnect', '0', '$age', '$age', '$character', '$specage', '$special', '$specage2', '$special2'
|
||||
)";
|
||||
$result = MYDB_query($query,$connect) or Error(__LINE__.MYDB_error($connect),"");
|
||||
|
||||
@@ -156,9 +156,9 @@ jQuery(function($){
|
||||
setVal('.form_exp_level', data.explevel);
|
||||
setVal('.form_injury', data.injury);
|
||||
|
||||
setVal('.form_leadership', data.leader);
|
||||
setVal('.form_leadership', data.leadership);
|
||||
setVal('.form_general_horse', data.horse);
|
||||
setVal('.form_power', data.power);
|
||||
setVal('.form_strength', data.strength);
|
||||
setVal('.form_general_weap', data.weap);
|
||||
setVal('.form_intel', data.intel);
|
||||
setVal('.form_general_book', data.book);
|
||||
@@ -203,9 +203,9 @@ jQuery(function($){
|
||||
level:getInt('.form_general_level'),
|
||||
explevel:getInt('.form_exp_level'),
|
||||
|
||||
leader:getInt('.form_leadership'),
|
||||
leadership:getInt('.form_leadership'),
|
||||
horse:getInt('.form_general_horse'),
|
||||
power:getInt('.form_power'),
|
||||
strength:getInt('.form_strength'),
|
||||
weap:getInt('.form_general_weap'),
|
||||
intel:getInt('.form_intel'),
|
||||
book:getInt('.form_general_book'),
|
||||
@@ -365,8 +365,8 @@ jQuery(function($){
|
||||
city: (generalData.no)<=1 ? 1 : 3,
|
||||
turntime:'2018-08-26 12:00',
|
||||
special:defaultSpecialDomestic,
|
||||
leader2:0,
|
||||
power2:0,
|
||||
leadership2:0,
|
||||
strength2:0,
|
||||
intel2:0,
|
||||
|
||||
gold:10000,
|
||||
|
||||
@@ -77,7 +77,7 @@ $(function(){
|
||||
장수.국가 = 국가;
|
||||
장수.벌점 = parseInt($tds.eq(-1).text());
|
||||
장수.통 = parseInt($this.data('general-leadership'));
|
||||
장수.무 = parseInt($this.data('general-power'));
|
||||
장수.무 = parseInt($this.data('general-strength'));
|
||||
장수.지 = parseInt($this.data('general-intel'));
|
||||
장수.삭턴 = parseInt($tds.eq(-2).text());
|
||||
장수.종류 = getUserType(장수.통, 장수.무, 장수.지);
|
||||
|
||||
+68
-68
@@ -1,148 +1,148 @@
|
||||
|
||||
jQuery(function($){
|
||||
var $leader = $('#leader');
|
||||
var $power = $('#power');
|
||||
var $leadership = $('#leadership');
|
||||
var $strength = $('#strength');
|
||||
var $intel = $('#intel');
|
||||
|
||||
function abilityRand(){
|
||||
var leader = Math.random()*65 + 10;
|
||||
var power = Math.random()*65 + 10;
|
||||
var leadership = Math.random()*65 + 10;
|
||||
var strength = Math.random()*65 + 10;
|
||||
var intel = Math.random()*65 + 10;
|
||||
var rate = leader + power + intel;
|
||||
var rate = leadership + strength + intel;
|
||||
|
||||
leader = Math.floor(leader / rate * defaultStatTotal);
|
||||
power = Math.floor(power / rate * defaultStatTotal);
|
||||
leadership = Math.floor(leadership / rate * defaultStatTotal);
|
||||
strength = Math.floor(strength / rate * defaultStatTotal);
|
||||
intel = Math.floor(intel / rate * defaultStatTotal);
|
||||
|
||||
|
||||
while(leader+power+intel < defaultStatTotal){
|
||||
leader+=1;
|
||||
while(leadership+strength+intel < defaultStatTotal){
|
||||
leadership+=1;
|
||||
}
|
||||
|
||||
if(leader > defaultStatMax || power > defaultStatMax || intel > defaultStatMax || leader < defaultStatMin || power < defaultStatMin || intel < defaultStatMin){
|
||||
if(leadership > defaultStatMax || strength > defaultStatMax || intel > defaultStatMax || leadership < defaultStatMin || strength < defaultStatMin || intel < defaultStatMin){
|
||||
return abilityRand();
|
||||
}
|
||||
|
||||
$leader.val(leader);
|
||||
$power.val(power);
|
||||
$leadership.val(leadership);
|
||||
$strength.val(strength);
|
||||
$intel.val(intel);
|
||||
}
|
||||
|
||||
|
||||
function abilityLeadpow(){
|
||||
var leader = Math.random() * 6;
|
||||
var power = Math.random() * 6;
|
||||
var leadership = Math.random() * 6;
|
||||
var strength = Math.random() * 6;
|
||||
var intel = Math.random() * 1;
|
||||
var rate = leader + power + intel;
|
||||
var rate = leadership + strength + intel;
|
||||
|
||||
leader = Math.floor(leader / rate * defaultStatTotal);
|
||||
power = Math.floor(power / rate * defaultStatTotal);
|
||||
leadership = Math.floor(leadership / rate * defaultStatTotal);
|
||||
strength = Math.floor(strength / rate * defaultStatTotal);
|
||||
intel = Math.floor(intel / rate * defaultStatTotal);
|
||||
|
||||
while(leader+power+intel < defaultStatTotal){
|
||||
power+=1;
|
||||
while(leadership+strength+intel < defaultStatTotal){
|
||||
strength+=1;
|
||||
}
|
||||
|
||||
if(intel < defaultStatMin){
|
||||
leader -= defaultStatMin - intel;
|
||||
leadership -= defaultStatMin - intel;
|
||||
intel = defaultStatMin;
|
||||
}
|
||||
|
||||
if(leader > defaultStatMax){
|
||||
power += leader - defaultStatMax;
|
||||
leader = defaultStatMax;
|
||||
if(leadership > defaultStatMax){
|
||||
strength += leadership - defaultStatMax;
|
||||
leadership = defaultStatMax;
|
||||
}
|
||||
|
||||
if(power > defaultStatMax){
|
||||
leader += power - defaultStatMax;
|
||||
power = defaultStatMax;
|
||||
if(strength > defaultStatMax){
|
||||
leadership += strength - defaultStatMax;
|
||||
strength = defaultStatMax;
|
||||
}
|
||||
|
||||
if(leader > defaultStatMax){
|
||||
intel += leader - defaultStatMax;
|
||||
leader = defaultStatMax;
|
||||
if(leadership > defaultStatMax){
|
||||
intel += leadership - defaultStatMax;
|
||||
leadership = defaultStatMax;
|
||||
}
|
||||
|
||||
$leader.val(leader);
|
||||
$power.val(power);
|
||||
$leadership.val(leadership);
|
||||
$strength.val(strength);
|
||||
$intel.val(intel);
|
||||
}
|
||||
|
||||
function abilityLeadint(){
|
||||
var leader = Math.random() * 6;
|
||||
var power = Math.random() * 1;
|
||||
var leadership = Math.random() * 6;
|
||||
var strength = Math.random() * 1;
|
||||
var intel = Math.random() * 6;
|
||||
var rate = leader + power + intel;
|
||||
var rate = leadership + strength + intel;
|
||||
|
||||
leader = Math.floor(leader / rate * defaultStatTotal);
|
||||
power = Math.floor(power / rate * defaultStatTotal);
|
||||
leadership = Math.floor(leadership / rate * defaultStatTotal);
|
||||
strength = Math.floor(strength / rate * defaultStatTotal);
|
||||
intel = Math.floor(intel / rate * defaultStatTotal);
|
||||
|
||||
while(leader+power+intel < defaultStatTotal){
|
||||
while(leadership+strength+intel < defaultStatTotal){
|
||||
intel+=1;
|
||||
}
|
||||
|
||||
if(power < defaultStatMin){
|
||||
leader -= defaultStatMin - power;
|
||||
power = defaultStatMin;
|
||||
if(strength < defaultStatMin){
|
||||
leadership -= defaultStatMin - strength;
|
||||
strength = defaultStatMin;
|
||||
}
|
||||
|
||||
if(leader > defaultStatMax){
|
||||
intel += leader - defaultStatMax;
|
||||
leader = defaultStatMax;
|
||||
if(leadership > defaultStatMax){
|
||||
intel += leadership - defaultStatMax;
|
||||
leadership = defaultStatMax;
|
||||
}
|
||||
|
||||
if(intel > defaultStatMax){
|
||||
leader += intel - defaultStatMax;
|
||||
leadership += intel - defaultStatMax;
|
||||
intel = defaultStatMax;
|
||||
}
|
||||
|
||||
if(leader > defaultStatMax){
|
||||
power += leader - defaultStatMax;
|
||||
leader = defaultStatMax;
|
||||
if(leadership > defaultStatMax){
|
||||
strength += leadership - defaultStatMax;
|
||||
leadership = defaultStatMax;
|
||||
}
|
||||
|
||||
$leader.val(leader);
|
||||
$power.val(power);
|
||||
$leadership.val(leadership);
|
||||
$strength.val(strength);
|
||||
$intel.val(intel);
|
||||
}
|
||||
|
||||
function abilityPowint(){
|
||||
var leader = Math.random() * 1;
|
||||
var power = Math.random() * 6;
|
||||
var leadership = Math.random() * 1;
|
||||
var strength = Math.random() * 6;
|
||||
var intel = Math.random() * 6;
|
||||
var rate = leader + power + intel;
|
||||
var rate = leadership + strength + intel;
|
||||
|
||||
leader = Math.floor(leader / rate * defaultStatTotal);
|
||||
power = Math.floor(power / rate * defaultStatTotal);
|
||||
leadership = Math.floor(leadership / rate * defaultStatTotal);
|
||||
strength = Math.floor(strength / rate * defaultStatTotal);
|
||||
intel = Math.floor(intel / rate * defaultStatTotal);
|
||||
|
||||
while(leader+power+intel < defaultStatTotal){
|
||||
while(leadership+strength+intel < defaultStatTotal){
|
||||
intel+=1;
|
||||
}
|
||||
|
||||
if(leader < defaultStatMin){
|
||||
power -= defaultStatMin - leader;
|
||||
leader = defaultStatMin;
|
||||
if(leadership < defaultStatMin){
|
||||
strength -= defaultStatMin - leadership;
|
||||
leadership = defaultStatMin;
|
||||
}
|
||||
|
||||
if(power > defaultStatMax){
|
||||
intel += power - defaultStatMax;
|
||||
power = defaultStatMax;
|
||||
if(strength > defaultStatMax){
|
||||
intel += strength - defaultStatMax;
|
||||
strength = defaultStatMax;
|
||||
}
|
||||
|
||||
if(intel > defaultStatMax){
|
||||
power += intel - defaultStatMax;
|
||||
strength += intel - defaultStatMax;
|
||||
intel = defaultStatMax;
|
||||
}
|
||||
|
||||
if(power > defaultStatMax){
|
||||
leader += power - defaultStatMax;
|
||||
power = defaultStatMax;
|
||||
if(strength > defaultStatMax){
|
||||
leadership += strength - defaultStatMax;
|
||||
strength = defaultStatMax;
|
||||
}
|
||||
|
||||
$leader.val(leader);
|
||||
$power.val(power);
|
||||
$leadership.val(leadership);
|
||||
$strength.val(strength);
|
||||
$intel.val(intel);
|
||||
}
|
||||
|
||||
@@ -182,7 +182,7 @@ jQuery(function($){
|
||||
alert('장수 이름이 너무 깁니다!');
|
||||
return false;
|
||||
}
|
||||
var currentStatTotal = parseInt($leader.val()) + parseInt($power.val()) + parseInt($intel.val());
|
||||
var currentStatTotal = parseInt($leadership.val()) + parseInt($strength.val()) + parseInt($intel.val());
|
||||
if(currentStatTotal < defaultStatTotal){
|
||||
if(!confirm('현재 능력치 총합은 {0}으로, {1}보다 낮습니다. 장수 생성을 진행할까요?'.format(currentStatTotal, defaultStatTotal))){
|
||||
return false;
|
||||
|
||||
+10
-10
@@ -2,7 +2,7 @@ var templateGeneralCard =
|
||||
'<div class="general_card">\
|
||||
<h4 class="bg1 with_border"><%name%></h4>\
|
||||
<h4><img src="<%iconPath%>" height=64 width=64></h4>\
|
||||
<p><%leader%> / <%power%> / <%intel%><br>\
|
||||
<p><%leadership%> / <%strength%> / <%intel%><br>\
|
||||
<%nation%><br>\
|
||||
<%personalText%><br>\
|
||||
<%specialText%> / <%special2Text%></p>\
|
||||
@@ -31,8 +31,8 @@ var templateGeneralRow =
|
||||
<td><%dedication%></td>\
|
||||
<td><%level%></td>\
|
||||
<td><%total%></td>\
|
||||
<td><%leader%></td>\
|
||||
<td><%power%></td>\
|
||||
<td><%leadership%></td>\
|
||||
<td><%strength%></td>\
|
||||
<td><%intel%></td>\
|
||||
<td><%killturn%></td>\
|
||||
</tr>';
|
||||
@@ -111,8 +111,8 @@ function printGenerals(value){
|
||||
});
|
||||
|
||||
pick.sort(function(lhs, rhs){
|
||||
var lsum = lhs.leader+lhs.power+lhs.intel;
|
||||
var rsum = rhs.leader+rhs.power+rhs.intel;
|
||||
var lsum = lhs.leadership+lhs.strength+lhs.intel;
|
||||
var rsum = rhs.leadership+rhs.strength+rhs.intel;
|
||||
return lsum - rsum;
|
||||
});
|
||||
|
||||
@@ -181,9 +181,9 @@ function printGeneralList(value){
|
||||
name:general[9],
|
||||
name2:general[10],
|
||||
injury:general[11],
|
||||
leader:general[12],
|
||||
leadership:general[12],
|
||||
lbonus:general[13],
|
||||
power:general[14],
|
||||
strength:general[14],
|
||||
intel:general[15],
|
||||
explevel:general[16],
|
||||
experience:general[17],
|
||||
@@ -222,7 +222,7 @@ function printGeneralList(value){
|
||||
}
|
||||
|
||||
|
||||
general.total = general.leader + general.power + general.intel;
|
||||
general.total = general.leadership + general.strength + general.intel;
|
||||
general.iconPath = getIconPath(general.imgsvr, general.picture);
|
||||
|
||||
general.specialDomesticWithTooltip = TemplateEngine(templateSpecial, {
|
||||
@@ -253,8 +253,8 @@ function printGeneralList(value){
|
||||
if(lhs.total != rhs.total){
|
||||
return rhs.total - lhs.total;
|
||||
}
|
||||
if(lhs.leader != rhs.leader){
|
||||
return rhs.leader - lhs.total;
|
||||
if(lhs.leadership != rhs.leadership){
|
||||
return rhs.leadership - lhs.total;
|
||||
}
|
||||
|
||||
if(lhs.name < rhs.name){
|
||||
|
||||
+3
-3
@@ -34,7 +34,7 @@ function processWar(General $attackerGeneral, array $rawAttackerNation, array $r
|
||||
$city = new WarUnitCity($rawDefenderCity, $rawDefenderNation, $year, $month, $cityRate);
|
||||
|
||||
$defenderList = [];
|
||||
foreach ($db->query('SELECT no,name,nation,turntime,personal,special2,crew,crewtype,atmos,train,intel,intel2,book,power,power2,weap,injury,leader,leader2,horse,item,explevel,experience,dedication,level,gold,rice,dex0,dex10,dex20,dex30,dex40,warnum,killnum,deathnum,killcrew,deathcrew,recwar,mode FROM general WHERE nation=%i AND city=%i AND nation!=0 and crew > 0 and rice>(crew/100) and ((train>=60 and atmos>=60 and mode=1) or (train>=80 and atmos>=80 and mode=2))', $city->getVar('nation'), $city->getVar('city')) as $rawGeneral){
|
||||
foreach ($db->query('SELECT no,name,nation,turntime,personal,special2,crew,crewtype,atmos,train,intel,intel2,book,strength,strength2,weap,injury,leadership,leadership2,horse,item,explevel,experience,dedication,level,gold,rice,dex0,dex10,dex20,dex30,dex40,warnum,killnum,deathnum,killcrew,deathcrew,recwar,mode FROM general WHERE nation=%i AND city=%i AND nation!=0 and crew > 0 and rice>(crew/100) and ((train>=60 and atmos>=60 and mode=1) or (train>=80 and atmos>=80 and mode=2))', $city->getVar('nation'), $city->getVar('city')) as $rawGeneral){
|
||||
$defenderList[] = new General($rawGeneral, $rawDefenderCity, $year, $month);
|
||||
}
|
||||
|
||||
@@ -198,8 +198,8 @@ function extractBattleOrder(General $general){
|
||||
return 0;
|
||||
}
|
||||
|
||||
$realStat = $general->getLeadership() + $general->getPower() + $general->getIntel();
|
||||
$fullStat = $general->getLeadership(false) + $general->getPower(false) + $general->getIntel(false);
|
||||
$realStat = $general->getLeadership() + $general->getStrength() + $general->getIntel();
|
||||
$fullStat = $general->getLeadership(false) + $general->getStrength(false) + $general->getIntel(false);
|
||||
$totalStat = ($realStat + $fullStat) / 2;
|
||||
|
||||
$totalCrew = $general->getVar('crew') / 1000000 * (($general->getVar('train') * $general->getVar('atmos')) ** 1.5);
|
||||
|
||||
@@ -204,7 +204,7 @@ function command_11($turn, $command, bool $is모병 = false) {
|
||||
$userID = Session::getUserID();
|
||||
|
||||
$me = $db->queryFirstRow(
|
||||
'SELECT no,nation,level,personal,special2,level,city,crew,horse,injury,leader,crewtype,gold
|
||||
'SELECT no,nation,level,personal,special2,level,city,crew,horse,injury,leadership,crewtype,gold
|
||||
from general where owner=%i',
|
||||
$userID
|
||||
);
|
||||
@@ -231,8 +231,8 @@ function command_11($turn, $command, bool $is모병 = false) {
|
||||
$ownRegions[$city['region']] = 1;
|
||||
}
|
||||
|
||||
$leader = getGeneralLeadership($me, true, true, true);
|
||||
$fullLeader = getGeneralLeadership($me, false, true, true);
|
||||
$leadership = getGeneralLeadership($me, true, true, true);
|
||||
$fullLeadershipship = getGeneralLeadership($me, false, true, true);
|
||||
$abil = getTechAbil($tech);
|
||||
|
||||
$armTypes = [];
|
||||
@@ -315,8 +315,8 @@ function command_11($turn, $command, bool $is모병 = false) {
|
||||
'commandName'=>$commandName,
|
||||
'techLevelText'=>getTechCall($tech),
|
||||
'tech'=>$tech,
|
||||
'leader'=>$leader,
|
||||
'fullLeader'=>$fullLeader,
|
||||
'leadership'=>$leadership,
|
||||
'fullLeadership'=>$fullLeadership,
|
||||
'crewType'=>GameUnitConst::byId($me['crewtype'])->id,
|
||||
'crewTypeName'=>GameUnitConst::byId($me['crewtype'])->name,
|
||||
'crew'=>$me['crew'],
|
||||
|
||||
@@ -15,7 +15,7 @@ class che_귀모 implements iAction{
|
||||
static $selectWeight = 2.5;
|
||||
static $type = [
|
||||
SpecialityConst::STAT_LEADERSHIP,
|
||||
SpecialityConst::STAT_POWER,
|
||||
SpecialityConst::STAT_STRENGTH,
|
||||
SpecialityConst::STAT_INTEL
|
||||
];
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ class che_수비 implements iAction{
|
||||
static $selectWeightType = SpecialityConst::WEIGHT_NORM;
|
||||
static $selectWeight = 1;
|
||||
static $type = [
|
||||
SpecialityConst::STAT_POWER
|
||||
SpecialityConst::STAT_STRENGTH
|
||||
];
|
||||
|
||||
public function onCalcDomestic(string $turnType, string $varType, float $value, $aux=null):float{
|
||||
|
||||
@@ -14,7 +14,7 @@ class che_축성 implements iAction{
|
||||
static $selectWeightType = SpecialityConst::WEIGHT_NORM;
|
||||
static $selectWeight = 1;
|
||||
static $type = [
|
||||
SpecialityConst::STAT_POWER
|
||||
SpecialityConst::STAT_STRENGTH
|
||||
];
|
||||
|
||||
public function onCalcDomestic(string $turnType, string $varType, float $value, $aux=null):float{
|
||||
|
||||
@@ -14,7 +14,7 @@ class che_통찰 implements iAction{
|
||||
static $selectWeightType = SpecialityConst::WEIGHT_NORM;
|
||||
static $selectWeight = 1;
|
||||
static $type = [
|
||||
SpecialityConst::STAT_POWER
|
||||
SpecialityConst::STAT_STRENGTH
|
||||
];
|
||||
|
||||
public function onCalcDomestic(string $turnType, string $varType, float $value, $aux=null):float{
|
||||
|
||||
@@ -19,7 +19,7 @@ class che_격노 implements iAction{
|
||||
static $selectWeight = 1;
|
||||
static $type = [
|
||||
SpecialityConst::STAT_LEADERSHIP,
|
||||
SpecialityConst::STAT_POWER,
|
||||
SpecialityConst::STAT_STRENGTH,
|
||||
SpecialityConst::STAT_INTEL
|
||||
];
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ class che_견고 implements iAction{
|
||||
static $selectWeight = 1;
|
||||
static $type = [
|
||||
SpecialityConst::STAT_LEADERSHIP,
|
||||
SpecialityConst::STAT_POWER
|
||||
SpecialityConst::STAT_STRENGTH
|
||||
];
|
||||
|
||||
public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{
|
||||
|
||||
@@ -18,7 +18,7 @@ class che_공성 implements iAction{
|
||||
static $selectWeight = 1;
|
||||
static $type = [
|
||||
SpecialityConst::STAT_LEADERSHIP | SpecialityConst::REQ_DEXTERITY | SpecialityConst::ARMY_SIEGE,
|
||||
SpecialityConst::STAT_POWER | SpecialityConst::REQ_DEXTERITY | SpecialityConst::ARMY_SIEGE,
|
||||
SpecialityConst::STAT_STRENGTH | SpecialityConst::REQ_DEXTERITY | SpecialityConst::ARMY_SIEGE,
|
||||
SpecialityConst::STAT_INTEL | SpecialityConst::REQ_DEXTERITY | SpecialityConst::ARMY_SIEGE,
|
||||
];
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ class che_궁병 implements iAction{
|
||||
static $selectWeight = 1;
|
||||
static $type = [
|
||||
SpecialityConst::STAT_LEADERSHIP | SpecialityConst::REQ_DEXTERITY | SpecialityConst::ARMY_ARCHER,
|
||||
SpecialityConst::STAT_POWER | SpecialityConst::REQ_DEXTERITY | SpecialityConst::ARMY_ARCHER
|
||||
SpecialityConst::STAT_STRENGTH | SpecialityConst::REQ_DEXTERITY | SpecialityConst::ARMY_ARCHER
|
||||
];
|
||||
|
||||
public function onCalcDomestic(string $turnType, string $varType, float $value, $aux=null):float{
|
||||
|
||||
@@ -17,7 +17,7 @@ class che_기병 implements iAction{
|
||||
static $selectWeight = 1;
|
||||
static $type = [
|
||||
SpecialityConst::STAT_LEADERSHIP | SpecialityConst::REQ_DEXTERITY | SpecialityConst::ARMY_CAVALRY,
|
||||
SpecialityConst::STAT_POWER | SpecialityConst::REQ_DEXTERITY | SpecialityConst::ARMY_CAVALRY
|
||||
SpecialityConst::STAT_STRENGTH | SpecialityConst::REQ_DEXTERITY | SpecialityConst::ARMY_CAVALRY
|
||||
];
|
||||
|
||||
public function onCalcDomestic(string $turnType, string $varType, float $value, $aux=null):float{
|
||||
|
||||
@@ -18,7 +18,7 @@ class che_돌격 implements iAction{
|
||||
static $selectWeight = 1;
|
||||
static $type = [
|
||||
SpecialityConst::STAT_LEADERSHIP,
|
||||
SpecialityConst::STAT_POWER
|
||||
SpecialityConst::STAT_STRENGTH
|
||||
];
|
||||
|
||||
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
||||
|
||||
@@ -16,7 +16,7 @@ class che_무쌍 implements iAction{
|
||||
static $selectWeight = 1;
|
||||
static $type = [
|
||||
SpecialityConst::STAT_LEADERSHIP,
|
||||
SpecialityConst::STAT_POWER
|
||||
SpecialityConst::STAT_STRENGTH
|
||||
];
|
||||
|
||||
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
||||
|
||||
@@ -17,7 +17,7 @@ class che_보병 implements iAction{
|
||||
static $selectWeight = 1;
|
||||
static $type = [
|
||||
SpecialityConst::STAT_LEADERSHIP | SpecialityConst::REQ_DEXTERITY | SpecialityConst::ARMY_FOOTMAN,
|
||||
SpecialityConst::STAT_POWER | SpecialityConst::REQ_DEXTERITY | SpecialityConst::ARMY_FOOTMAN
|
||||
SpecialityConst::STAT_STRENGTH | SpecialityConst::REQ_DEXTERITY | SpecialityConst::ARMY_FOOTMAN
|
||||
];
|
||||
|
||||
public function onCalcDomestic(string $turnType, string $varType, float $value, $aux=null):float{
|
||||
|
||||
@@ -19,7 +19,7 @@ class che_위압 implements iAction{
|
||||
static $selectWeight = 1;
|
||||
static $type = [
|
||||
SpecialityConst::STAT_LEADERSHIP,
|
||||
SpecialityConst::STAT_POWER
|
||||
SpecialityConst::STAT_STRENGTH
|
||||
];
|
||||
|
||||
public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{
|
||||
|
||||
@@ -22,7 +22,7 @@ class che_의술 implements iAction{
|
||||
static $selectWeight = 2;
|
||||
static $type = [
|
||||
SpecialityConst::STAT_LEADERSHIP,
|
||||
SpecialityConst::STAT_POWER,
|
||||
SpecialityConst::STAT_STRENGTH,
|
||||
SpecialityConst::STAT_INTEL
|
||||
];
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ class che_저격 implements iAction{
|
||||
static $selectWeight = 1;
|
||||
static $type = [
|
||||
SpecialityConst::STAT_LEADERSHIP,
|
||||
SpecialityConst::STAT_POWER,
|
||||
SpecialityConst::STAT_STRENGTH,
|
||||
SpecialityConst::STAT_INTEL
|
||||
];
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ class che_징병 implements iAction{
|
||||
static $selectWeight = 1;
|
||||
static $type = [
|
||||
SpecialityConst::STAT_LEADERSHIP,
|
||||
SpecialityConst::STAT_POWER,
|
||||
SpecialityConst::STAT_STRENGTH,
|
||||
SpecialityConst::STAT_INTEL
|
||||
];
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ class che_척사 implements iAction{
|
||||
static $selectWeight = 1;
|
||||
static $type = [
|
||||
SpecialityConst::STAT_LEADERSHIP,
|
||||
SpecialityConst::STAT_POWER,
|
||||
SpecialityConst::STAT_STRENGTH,
|
||||
SpecialityConst::STAT_INTEL
|
||||
];
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ class che_필살 implements iAction{
|
||||
static $selectWeight = 1;
|
||||
static $type = [
|
||||
SpecialityConst::STAT_LEADERSHIP,
|
||||
SpecialityConst::STAT_POWER,
|
||||
SpecialityConst::STAT_STRENGTH,
|
||||
SpecialityConst::STAT_INTEL
|
||||
];
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ use \sammo\General;
|
||||
class BaseStatItem extends BaseItem{
|
||||
|
||||
protected $statNick = '통솔';
|
||||
protected $statType = 'leader';
|
||||
protected $statType = 'leadership';
|
||||
protected $statValue = 1;
|
||||
protected $cost = 1000;
|
||||
protected $rawName = '노기';
|
||||
@@ -14,14 +14,15 @@ class BaseStatItem extends BaseItem{
|
||||
protected $buyable = true;
|
||||
|
||||
protected const ITEM_TYPE = [
|
||||
'명마'=>['통솔', 'leader'],
|
||||
'무기'=>['무력', 'power'],
|
||||
'명마'=>['통솔', 'leadership'],
|
||||
'무기'=>['무력', 'strength'],
|
||||
'서적'=>['지력', 'intel']
|
||||
];
|
||||
|
||||
public function __construct(){
|
||||
$nameTokens = explode('_', static::class);
|
||||
$this->statValue = (int)$nameTokens[-1];
|
||||
assert(is_numeric($this->statValue));
|
||||
$this->rawName = $nameTokens[-2];
|
||||
[$this->statNick, $this->statType] = static::ITEM_TYPE[$nameTokens[-3]];
|
||||
|
||||
|
||||
@@ -127,7 +127,7 @@ class che_강행 extends Command\GeneralCommand{
|
||||
[$reqGold, $reqRice] = $this->getCost();
|
||||
$general->increaseVarWithLimit('gold', -$reqGold, 0);
|
||||
$general->increaseVar('experience', $exp);
|
||||
$general->increaseVar('leader2', 1);
|
||||
$general->increaseVar('leadership2', 1);
|
||||
$general->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
||||
$general->checkStatChange();
|
||||
$general->applyDB($db);
|
||||
|
||||
@@ -72,10 +72,10 @@ class che_견문 extends Command\GeneralCommand{
|
||||
$exp += 60;
|
||||
}
|
||||
if($type & SightseeingMessage::IncLeadership){
|
||||
$general->increaseVar('leader2', 2);
|
||||
$general->increaseVar('leadership2', 2);
|
||||
}
|
||||
if($type & SightseeingMessage::IncPower){
|
||||
$general->increaseVar('power2', 2);
|
||||
if($type & SightseeingMessage::IncStrength){
|
||||
$general->increaseVar('strength2', 2);
|
||||
}
|
||||
if($type & SightseeingMessage::IncIntel){
|
||||
$general->increaseVar('intel2', 2);
|
||||
|
||||
@@ -161,8 +161,8 @@ class che_군량매매 extends Command\GeneralCommand{
|
||||
$ded = $general->onCalcStat($general, 'dedication', $ded);
|
||||
|
||||
$incStat = Util::choiceRandomUsingWeight([
|
||||
'leader2'=>$general->getLeadership(false, false, false, false),
|
||||
'power2'=>$general->getPower(false, false, false, false),
|
||||
'leadership2'=>$general->getLeadership(false, false, false, false),
|
||||
'strength2'=>$general->getStrength(false, false, false, false),
|
||||
'intel2'=>$general->getIntel(false, false, false, false)
|
||||
]);
|
||||
|
||||
|
||||
@@ -91,7 +91,7 @@ class che_귀환 extends Command\GeneralCommand{
|
||||
|
||||
$general->increaseVar('experience', $exp);
|
||||
$general->increaseVar('dedication', $ded);
|
||||
$general->increaseVar('leader2', 1);
|
||||
$general->increaseVar('leadership2', 1);
|
||||
$general->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
||||
$general->checkStatChange();
|
||||
$general->applyDB($db);
|
||||
|
||||
@@ -101,8 +101,8 @@ class che_단련 extends Command\GeneralCommand{
|
||||
$general->addDex($general->getCrewTypeObj(), $score, false);
|
||||
|
||||
$incStat = Util::choiceRandomUsingWeight([
|
||||
'leader2'=>$general->getLeadership(false, false, false, false),
|
||||
'power2'=>$general->getPower(false, false, false, false),
|
||||
'leadership2'=>$general->getLeadership(false, false, false, false),
|
||||
'strength2'=>$general->getStrength(false, false, false, false),
|
||||
'intel2'=>$general->getIntel(false, false, false, false)
|
||||
]);
|
||||
[$reqGold, $reqRice] = $this->getCost();
|
||||
|
||||
@@ -73,7 +73,7 @@ class che_물자조달 extends Command\GeneralCommand{
|
||||
['쌀', 'rice']
|
||||
]);
|
||||
|
||||
$score = $general->getLeadership() + $general->getPower() + $general->getIntel();
|
||||
$score = $general->getLeadership() + $general->getStrength() + $general->getIntel();
|
||||
$score *= getDomesticExpLevelBonus($general->getVar('explevel'));
|
||||
$score *= Util::randRange(0.8, 1.2);
|
||||
|
||||
@@ -107,8 +107,8 @@ class che_물자조달 extends Command\GeneralCommand{
|
||||
$ded = $general->onCalcStat($general, 'dedication', $ded);
|
||||
|
||||
$incStat = Util::choiceRandomUsingWeight([
|
||||
'leader2'=>$general->getLeadership(false, false, false, false),
|
||||
'power2'=>$general->getPower(false, false, false, false),
|
||||
'leadership2'=>$general->getLeadership(false, false, false, false),
|
||||
'strength2'=>$general->getStrength(false, false, false, false),
|
||||
'intel2'=>$general->getIntel(false, false, false, false)
|
||||
]);
|
||||
|
||||
|
||||
@@ -93,7 +93,7 @@ class che_사기진작 extends Command\GeneralCommand{
|
||||
|
||||
$general->increaseVar('experience', $exp);
|
||||
$general->increaseVar('dedication', $ded);
|
||||
$general->increaseVar('leader2', 1);
|
||||
$general->increaseVar('leadership2', 1);
|
||||
$general->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
||||
$general->checkStatChange();
|
||||
tryUniqueItemLottery($general);
|
||||
|
||||
@@ -32,8 +32,8 @@ class che_상업투자 extends Command\GeneralCommand{
|
||||
public function getCommandDetailTitle():string{
|
||||
$name = $this->getName();
|
||||
$statTypeBase = [
|
||||
'leader'=>'통솔경험',
|
||||
'power'=>'무력경험',
|
||||
'leadership'=>'통솔경험',
|
||||
'strength'=>'무력경험',
|
||||
'intel'=>'지력경험',
|
||||
];
|
||||
$statType = $statTypeBase[static::$statKey];
|
||||
@@ -100,10 +100,10 @@ class che_상업투자 extends Command\GeneralCommand{
|
||||
if(static::$statKey == 'intel'){
|
||||
$score = $general->getIntel(true, true, true, false);
|
||||
}
|
||||
else if(static::$statKey == 'power'){
|
||||
$score = $general->getPower(true, true, true, false);
|
||||
else if(static::$statKey == 'strength'){
|
||||
$score = $general->getStrength(true, true, true, false);
|
||||
}
|
||||
else if(static::$statKey == 'leader'){
|
||||
else if(static::$statKey == 'leadership'){
|
||||
$score = $general->getLeadership(true, true, true, false);
|
||||
}
|
||||
else{
|
||||
|
||||
@@ -12,7 +12,7 @@ use \sammo\{
|
||||
class che_선동 extends che_화계{
|
||||
static protected $actionName = '선동';
|
||||
|
||||
static protected $statType = 'leader';
|
||||
static protected $statType = 'leadership';
|
||||
static protected $injuryGeneral = true;
|
||||
|
||||
protected function affectDestCity(int $injuryCount){
|
||||
|
||||
@@ -3,7 +3,7 @@ namespace sammo\Command\General;
|
||||
|
||||
class che_성벽보수 extends che_상업투자{
|
||||
static protected $cityKey = 'wall';
|
||||
static protected $statKey = 'power';
|
||||
static protected $statKey = 'strength';
|
||||
static protected $actionKey = '성벽';
|
||||
static protected $actionName = '성벽 보수';
|
||||
static protected $debuffFront = 0.25;
|
||||
|
||||
@@ -3,7 +3,7 @@ namespace sammo\Command\General;
|
||||
|
||||
class che_수비강화 extends che_상업투자{
|
||||
static protected $cityKey = 'def';
|
||||
static protected $statKey = 'power';
|
||||
static protected $statKey = 'strength';
|
||||
static protected $actionKey = '수비';
|
||||
static protected $actionName = '수비 강화';
|
||||
static protected $debuffFront = 0.5;
|
||||
|
||||
@@ -125,7 +125,7 @@ class che_이동 extends Command\GeneralCommand{
|
||||
[$reqGold, $reqRice] = $this->getCost();
|
||||
$general->increaseVarWithLimit('gold', -$reqGold, 0);
|
||||
$general->increaseVar('experience', $exp);
|
||||
$general->increaseVar('leader2', 1);
|
||||
$general->increaseVar('leadership2', 1);
|
||||
$general->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
||||
$general->checkStatChange();
|
||||
$general->applyDB($db);
|
||||
|
||||
@@ -98,8 +98,8 @@ class che_인재탐색 extends Command\GeneralCommand{
|
||||
$logger->pushGeneralActionLog("인재를 찾을 수 없었습니다. <1>$date</>");
|
||||
|
||||
$incStat = Util::choiceRandomUsingWeight([
|
||||
'leader2'=>$general->getLeadership(false, false, false, false),
|
||||
'power2'=>$general->getPower(false, false, false, false),
|
||||
'leadership2'=>$general->getLeadership(false, false, false, false),
|
||||
'strength2'=>$general->getStrength(false, false, false, false),
|
||||
'intel2'=>$general->getIntel(false, false, false, false)
|
||||
]);
|
||||
[$reqGold, $reqRice] = $this->getCost();
|
||||
@@ -148,45 +148,45 @@ class che_인재탐색 extends Command\GeneralCommand{
|
||||
}
|
||||
|
||||
$avgGen = $db->queryFirstRow(
|
||||
'SELECT max(leader+power+intel) as lpi, avg(dedication) as ded,avg(experience) as exp,
|
||||
'SELECT max(leadership+strength+intel) as stat_sum, avg(dedication) as ded,avg(experience) as exp,
|
||||
avg(dex0) as dex0, avg(dex10) as dex10, avg(dex20) as dex20, avg(dex30) as dex30, avg(dex40) as dex40
|
||||
from general where nation=%i',
|
||||
$nationID
|
||||
);
|
||||
|
||||
if($pickType == '무'){
|
||||
$leader = $subStat;
|
||||
$power = $mainStat;
|
||||
$leadership = $subStat;
|
||||
$strength = $mainStat;
|
||||
$intel = $otherStat;
|
||||
}
|
||||
else if($pickType == '지'){
|
||||
$leader = $subStat;
|
||||
$power = $otherStat;
|
||||
$leadership = $subStat;
|
||||
$strength = $otherStat;
|
||||
$intel = $mainStat;
|
||||
}
|
||||
else{
|
||||
$leader = $otherStat;
|
||||
$power = $subStat;
|
||||
$leadership = $otherStat;
|
||||
$strength = $subStat;
|
||||
$intel = $mainStat;
|
||||
}
|
||||
|
||||
// 국내 최고능치 기준으로 랜덤성 스케일링
|
||||
$maxLPI = $avgGen['lpi'];
|
||||
$maxLPI = $avgGen['stat_sum'];
|
||||
if($maxLPI > 210) {
|
||||
$leader *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.6, 0.9);
|
||||
$power *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.6, 0.9);
|
||||
$leadership *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.6, 0.9);
|
||||
$strength *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.6, 0.9);
|
||||
$intel *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.6, 0.9);
|
||||
} elseif($maxLPI > 180) {
|
||||
$leader *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.75, 0.95);
|
||||
$power *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.75, 0.95);
|
||||
$intel *= $avgGen['lpi'] / GameConst::$defaultStatTotal * Util::randRange(0.75, 0.95);
|
||||
$leadership *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.75, 0.95);
|
||||
$strength *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.75, 0.95);
|
||||
$intel *= $avgGen['stat_sum'] / GameConst::$defaultStatTotal * Util::randRange(0.75, 0.95);
|
||||
} else {
|
||||
$leader *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.9, 1);
|
||||
$power *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.9, 1);
|
||||
$leadership *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.9, 1);
|
||||
$strength *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.9, 1);
|
||||
$intel *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.9, 1);
|
||||
}
|
||||
$leader = Util::round($leader);
|
||||
$power = Util::round($power);
|
||||
$leadership = Util::round($leadership);
|
||||
$strength = Util::round($strength);
|
||||
$intel = Util::round($intel);
|
||||
|
||||
$isOurNation = $this->nation['scout'] == 0;
|
||||
@@ -199,8 +199,8 @@ class che_인재탐색 extends Command\GeneralCommand{
|
||||
null,
|
||||
$isOurNation?$nationID:0,
|
||||
$general->getCityID(),
|
||||
$leader,
|
||||
$power,
|
||||
$leadership,
|
||||
$strength,
|
||||
$intel,
|
||||
$isOurNation?1:0,
|
||||
$age,
|
||||
@@ -245,8 +245,8 @@ class che_인재탐색 extends Command\GeneralCommand{
|
||||
$logger->pushGeneralHistoryLog("<Y>$npcName</>{$josaRa}는 <C>인재</>를 {$scoutType}");
|
||||
|
||||
$incStat = Util::choiceRandomUsingWeight([
|
||||
'leader2'=>$general->getLeadership(false, false, false, false),
|
||||
'power2'=>$general->getPower(false, false, false, false),
|
||||
'leadership2'=>$general->getLeadership(false, false, false, false),
|
||||
'strength2'=>$general->getStrength(false, false, false, false),
|
||||
'intel2'=>$general->getIntel(false, false, false, false)
|
||||
]);
|
||||
[$reqGold, $reqRice] = $this->getCost();
|
||||
|
||||
@@ -123,7 +123,7 @@ class che_전투태세 extends Command\GeneralCommand{
|
||||
|
||||
$general->addDex($general->getCrewTypeObj(), $crew / 100 * 3, false);
|
||||
|
||||
$general->increaseVar('leader2', 3);
|
||||
$general->increaseVar('leadership2', 3);
|
||||
$general->setResultTurn($turnResult);
|
||||
$general->checkStatChange();
|
||||
tryUniqueItemLottery($general);
|
||||
|
||||
@@ -24,7 +24,7 @@ use \sammo\Constraint\ConstraintHelper;
|
||||
|
||||
class che_정착장려 extends Command\GeneralCommand{
|
||||
static protected $cityKey = 'pop';
|
||||
static protected $statKey = 'leader';
|
||||
static protected $statKey = 'leadership';
|
||||
static protected $actionKey = '인구';
|
||||
static protected $actionName = '정착 장려';
|
||||
|
||||
@@ -74,7 +74,7 @@ class che_정착장려 extends Command\GeneralCommand{
|
||||
protected function calcBaseScore():float{
|
||||
$general = $this->generalObj;
|
||||
|
||||
if(static::$statKey == 'leader'){
|
||||
if(static::$statKey == 'leadership'){
|
||||
$score = $general->getLeadership(true, true, true, false);
|
||||
}
|
||||
else{
|
||||
|
||||
@@ -24,7 +24,7 @@ use \sammo\Constraint\ConstraintHelper;
|
||||
|
||||
class che_주민선정 extends Command\GeneralCommand{
|
||||
static protected $cityKey = 'trust';
|
||||
static protected $statKey = 'leader';
|
||||
static protected $statKey = 'leadership';
|
||||
static protected $actionKey = '민심';
|
||||
static protected $actionName = '주민 선정';
|
||||
|
||||
@@ -74,7 +74,7 @@ class che_주민선정 extends Command\GeneralCommand{
|
||||
protected function calcBaseScore():float{
|
||||
$general = $this->generalObj;
|
||||
|
||||
if(static::$statKey == 'leader'){
|
||||
if(static::$statKey == 'leadership'){
|
||||
$score = $general->getLeadership(true, true, true, false);
|
||||
}
|
||||
else{
|
||||
|
||||
@@ -140,7 +140,7 @@ class che_증여 extends Command\GeneralCommand{
|
||||
|
||||
$general->increaseVar('experience', $exp);
|
||||
$general->increaseVar('dedication', $ded);
|
||||
$general->increaseVar('leader2', 1);
|
||||
$general->increaseVar('leadership2', 1);
|
||||
|
||||
$general->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
||||
$general->checkStatChange();
|
||||
|
||||
@@ -101,7 +101,7 @@ class che_집합 extends Command\GeneralCommand{
|
||||
|
||||
$general->increaseVar('experience', $exp);
|
||||
$general->increaseVar('dedication', $ded);
|
||||
$general->increaseVar('leader2', 1);
|
||||
$general->increaseVar('leadership2', 1);
|
||||
$general->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
||||
$general->checkStatChange();
|
||||
tryUniqueItemLottery($general);
|
||||
|
||||
@@ -190,7 +190,7 @@ class che_징병 extends Command\GeneralCommand{
|
||||
$general->increaseVar('dedication', $ded);
|
||||
$general->increaseVarWithLimit('gold', -$reqGold, 0);
|
||||
$general->increaseVarWithLimit('rice', -$reqRice, 0);
|
||||
$general->increaseVar('leader2', 1);
|
||||
$general->increaseVar('leadership2', 1);
|
||||
$general->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
||||
$general->checkStatChange();
|
||||
tryUniqueItemLottery($general);
|
||||
|
||||
@@ -175,7 +175,7 @@ class che_첩보 extends Command\GeneralCommand{
|
||||
$general->increaseVarWithLimit('rice', -$reqRice, 0);
|
||||
$general->increaseVar('experience', $exp);
|
||||
$general->increaseVar('dedication', $ded);
|
||||
$general->increaseVar('leader2', 1);
|
||||
$general->increaseVar('leadership2', 1);
|
||||
$general->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
||||
$general->checkStatChange();
|
||||
$general->applyDB($db);
|
||||
|
||||
@@ -3,7 +3,7 @@ namespace sammo\Command\General;
|
||||
|
||||
class che_치안강화 extends che_상업투자{
|
||||
static protected $cityKey = 'secu';
|
||||
static protected $statKey = 'power';
|
||||
static protected $statKey = 'strength';
|
||||
static protected $actionKey = '치안';
|
||||
static protected $actionName = '치안 강화';
|
||||
static protected $debuffFront = 1;
|
||||
|
||||
@@ -12,7 +12,7 @@ use \sammo\{
|
||||
class che_탈취 extends che_화계{
|
||||
static protected $actionName = '탈취';
|
||||
|
||||
static protected $statType = 'power';
|
||||
static protected $statType = 'strength';
|
||||
static protected $injuryGeneral = false;
|
||||
|
||||
protected function affectDestCity(int $injuryCount){
|
||||
|
||||
@@ -12,7 +12,7 @@ use \sammo\{
|
||||
class che_파괴 extends che_화계{
|
||||
static protected $actionName = '파괴';
|
||||
|
||||
static protected $statType = 'power';
|
||||
static protected $statType = 'strength';
|
||||
static protected $injuryGeneral = true;
|
||||
|
||||
protected function affectDestCity(int $injuryCount){
|
||||
|
||||
@@ -121,7 +121,7 @@ class che_헌납 extends Command\GeneralCommand{
|
||||
|
||||
$general->increaseVar('experience', $exp);
|
||||
$general->increaseVar('dedication', $ded);
|
||||
$general->increaseVar('leader2', 1);
|
||||
$general->increaseVar('leadership2', 1);
|
||||
|
||||
$general->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
||||
$general->checkStatChange();
|
||||
|
||||
@@ -49,11 +49,11 @@ class che_화계 extends Command\GeneralCommand{
|
||||
$general = $this->generalObj;
|
||||
$nation = $this->nation;
|
||||
|
||||
if($statType === 'leader'){
|
||||
if($statType === 'leadership'){
|
||||
$genScore = $general->getLeadership();
|
||||
}
|
||||
else if($statType === 'power'){
|
||||
$genScore = $general->getPower();
|
||||
else if($statType === 'strength'){
|
||||
$genScore = $general->getStrength();
|
||||
}
|
||||
else if($statType === 'intel'){
|
||||
$genScore = $general->getIntel();
|
||||
@@ -80,11 +80,11 @@ class che_화계 extends Command\GeneralCommand{
|
||||
continue;
|
||||
}
|
||||
|
||||
if($statType === 'leader'){
|
||||
if($statType === 'leadership'){
|
||||
$genScore = $destGeneral->getLeadership();
|
||||
}
|
||||
else if($statType === 'power'){
|
||||
$genScore = $destGeneral->getPower();
|
||||
else if($statType === 'strength'){
|
||||
$genScore = $destGeneral->getStrength();
|
||||
}
|
||||
else if($statType === 'intel'){
|
||||
$genScore = $destGeneral->getIntel();
|
||||
@@ -218,7 +218,7 @@ class che_화계 extends Command\GeneralCommand{
|
||||
[$year, $month] = [$env['year'], $env['month']];
|
||||
|
||||
foreach($db->query(
|
||||
'SELECT `no`,name,city,nation,level,leader,horse,power,weap,intel,book,item,last_turn,injury,special,special2 FROM general WHERE city = %i',
|
||||
'SELECT `no`,name,city,nation,level,leadership,horse,strength,weap,intel,book,item,last_turn,injury,special,special2 FROM general WHERE city = %i',
|
||||
$destCityID,
|
||||
$destNationID
|
||||
) as $rawDestCityGeneral){
|
||||
|
||||
@@ -89,7 +89,7 @@ class che_훈련 extends Command\GeneralCommand{
|
||||
|
||||
$general->increaseVar('experience', $exp);
|
||||
$general->increaseVar('dedication', $ded);
|
||||
$general->increaseVar('leader2', 1);
|
||||
$general->increaseVar('leadership2', 1);
|
||||
$general->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
||||
$general->checkStatChange();
|
||||
tryUniqueItemLottery($general);
|
||||
|
||||
@@ -20,7 +20,7 @@ class ReqGeneralCrewMargin extends Constraint{
|
||||
throw new \InvalidArgumentException("{$this->arg} is invalid crewtype");
|
||||
}
|
||||
|
||||
foreach(['leader','power','intel','crew','crewtype','nation','level'] as $key){
|
||||
foreach(['leadership','strength','intel','crew','crewtype','nation','level'] as $key){
|
||||
if(!key_exists($key, $this->general)){
|
||||
if(!$throwExeception){return false; }
|
||||
throw new \InvalidArgumentException("require {$key} in general");
|
||||
|
||||
@@ -96,7 +96,7 @@ class RaiseInvader extends \sammo\Event\Action{
|
||||
|
||||
$specAvg = $this->specAvg;
|
||||
if($specAvg < 0){
|
||||
$specAvg = $db->queryFirstField('SELECT avg(sum(`leader` + `power` + `intel`)) from general where npc < 9');
|
||||
$specAvg = $db->queryFirstField('SELECT avg(sum(`leadership` + `strength` + `intel`)) from general where npc < 9');
|
||||
$specAvg /= -1 * $this->specAvg;
|
||||
}
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ class RegNPC extends \sammo\Event\Action{
|
||||
int $nationID,
|
||||
$locatedCity,
|
||||
int $leadership,
|
||||
int $power,
|
||||
int $strength,
|
||||
int $intel,
|
||||
int $birth = 160,
|
||||
int $death = 300,
|
||||
@@ -28,7 +28,7 @@ class RegNPC extends \sammo\Event\Action{
|
||||
$nationID,
|
||||
$locatedCity,
|
||||
$leadership,
|
||||
$power,
|
||||
$strength,
|
||||
$intel,
|
||||
$birth,
|
||||
$death,
|
||||
|
||||
@@ -12,7 +12,7 @@ class RegNeutralNPC extends \sammo\Event\Action{
|
||||
int $nationID,
|
||||
$locatedCity,
|
||||
int $leadership,
|
||||
int $power,
|
||||
int $strength,
|
||||
int $intel,
|
||||
int $birth = 160,
|
||||
int $death = 300,
|
||||
@@ -27,7 +27,7 @@ class RegNeutralNPC extends \sammo\Event\Action{
|
||||
$nationID,
|
||||
$locatedCity,
|
||||
$leadership,
|
||||
$power,
|
||||
$strength,
|
||||
$intel,
|
||||
$birth,
|
||||
$death,
|
||||
|
||||
@@ -101,11 +101,11 @@ class GameUnitDetail implements iAction{
|
||||
else if($this->armType == GameUnitConst::T_MISC){
|
||||
$ratio = $general->getIntel(true, true, true) +
|
||||
$general->getLeadership(true, true, true) +
|
||||
$general->getPower(true, true, true);
|
||||
$general->getStrength(true, true, true);
|
||||
$ratio = $ratio*2/3 - 40;
|
||||
}
|
||||
else{
|
||||
$ratio = $general->getPower(true, true, true)*2 - 40;
|
||||
$ratio = $general->getStrength(true, true, true)*2 - 40;
|
||||
}
|
||||
if($ratio < 10){
|
||||
$ratio = 10;
|
||||
@@ -144,12 +144,12 @@ class GameUnitDetail implements iAction{
|
||||
else if($this->armType == GameUnitConst::T_MISC){
|
||||
$mainstat = $general->getIntel(false, true, true, false) +
|
||||
$general->getLeadership(false, true, true, false) +
|
||||
$general->getPower(false, true, true, false);
|
||||
$general->getStrength(false, true, true, false);
|
||||
$mainstat /= 3;
|
||||
$coef = 0.4;
|
||||
}
|
||||
else{
|
||||
$mainstat = $general->getPower(false, true, true, false);
|
||||
$mainstat = $general->getStrength(false, true, true, false);
|
||||
$coef = 0.5;
|
||||
}
|
||||
|
||||
|
||||
+11
-11
@@ -200,7 +200,7 @@ class General implements iAction{
|
||||
/**
|
||||
* 장수의 스탯을 계산해옴
|
||||
*
|
||||
* @param string $statName 스탯값, leadership, power, intel 가능
|
||||
* @param string $statName 스탯값, leadership, strength, intel 가능
|
||||
* @param bool $withInjury 부상값 사용 여부
|
||||
* @param bool $withItem 아이템 적용 여부
|
||||
* @param bool $withStatAdjust 추가 능력치 보정 사용 여부
|
||||
@@ -217,11 +217,11 @@ class General implements iAction{
|
||||
}
|
||||
|
||||
if($withStatAdjust){
|
||||
if($statName === 'power'){
|
||||
if($statName === 'strength'){
|
||||
$statValue *= Util::round($this->getStatValue('intel', $withInjury, $withItem, false, false) / 4);
|
||||
}
|
||||
else if($statName === 'intel'){
|
||||
$statValue *= Util::round($this->getStatValue('power', $withInjury, $withItem, false, false) / 4);
|
||||
$statValue *= Util::round($this->getStatValue('strength', $withInjury, $withItem, false, false) / 4);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -252,11 +252,11 @@ class General implements iAction{
|
||||
}
|
||||
|
||||
function getLeadership($withInjury = true, $withItem = true, $withStatAdjust = true, $useFloor = true):float{
|
||||
return $this->getStatValue('leader', $withInjury, $withItem, $withStatAdjust, $useFloor);
|
||||
return $this->getStatValue('leadership', $withInjury, $withItem, $withStatAdjust, $useFloor);
|
||||
}
|
||||
|
||||
function getPower($withInjury = true, $withItem = true, $withStatAdjust = true, $useFloor = true):float{
|
||||
return $this->getStatValue('power', $withInjury, $withItem, $withStatAdjust, $useFloor);
|
||||
function getStrength($withInjury = true, $withItem = true, $withStatAdjust = true, $useFloor = true):float{
|
||||
return $this->getStatValue('strength', $withInjury, $withItem, $withStatAdjust, $useFloor);
|
||||
}
|
||||
|
||||
function getIntel($withInjury = true, $withItem = true, $withStatAdjust = true, $useFloor = true):float{
|
||||
@@ -349,8 +349,8 @@ class General implements iAction{
|
||||
|
||||
$generalName = $this->getName();
|
||||
|
||||
$this->multiplyVarWithLimit('leader', 0.85, 10);
|
||||
$this->multiplyVarWithLimit('power', 0.85, 10);
|
||||
$this->multiplyVarWithLimit('leadership', 0.85, 10);
|
||||
$this->multiplyVarWithLimit('strength', 0.85, 10);
|
||||
$this->multiplyVarWithLimit('intel', 0.85, 10);
|
||||
$this->setVar('injury', 0);
|
||||
$this->multiplyVar('experience', 0.5);
|
||||
@@ -398,8 +398,8 @@ class General implements iAction{
|
||||
$limit = GameConst::$upgradeLimit;
|
||||
|
||||
$table = [
|
||||
['통솔', 'leader'],
|
||||
['무력', 'power'],
|
||||
['통솔', 'leadership'],
|
||||
['무력', 'strength'],
|
||||
['지력', 'intel'],
|
||||
];
|
||||
|
||||
@@ -616,7 +616,7 @@ class General implements iAction{
|
||||
];
|
||||
$fullColumn = [
|
||||
'no', 'name', 'name2', 'picture', 'imgsvr', 'nation', 'nations', 'city', 'troop', 'injury', 'affinity',
|
||||
'leader', 'leader2', 'power', 'power2', 'intel', 'intel2', 'weap', 'book', 'horse', 'item',
|
||||
'leadership', 'leadership2', 'strength', 'strength2', 'intel', 'intel2', 'weap', 'book', 'horse', 'item',
|
||||
'experience', 'dedication', 'level', 'gold', 'rice', 'crew', 'crewtype', 'train', 'atmos', 'turntime',
|
||||
'makelimit', 'killturn', 'block', 'dedlevel', 'explevel', 'age', 'startage', 'belong',
|
||||
'personal', 'special', 'special2', 'mode', 'npc', 'npc_org', 'deadyear', 'npcmsg',
|
||||
|
||||
+31
-31
@@ -14,7 +14,7 @@ class GeneralAI{
|
||||
protected $baseDevelCost;
|
||||
|
||||
protected $leadership;
|
||||
protected $power;
|
||||
protected $strength;
|
||||
protected $intel;
|
||||
|
||||
protected $dipState;
|
||||
@@ -67,7 +67,7 @@ class GeneralAI{
|
||||
];
|
||||
|
||||
$this->leadership = $general->getLeadership(true, true, true, true);
|
||||
$this->power = $general->getPower(true, true, true, true);
|
||||
$this->strength = $general->getStrength(true, true, true, true);
|
||||
$this->intel = $general->getIntel(true, true, true, true);
|
||||
|
||||
$this->calcGenType();
|
||||
@@ -82,14 +82,14 @@ class GeneralAI{
|
||||
|
||||
protected function calcGenType(){
|
||||
$leadership = $this->leadership;
|
||||
$power = $this->power;
|
||||
$intel = $this->intel;
|
||||
$strength = Util::valueFit($this->strength, 1);
|
||||
$intel = Util::valueFit($this->intel, 1);
|
||||
|
||||
//무장
|
||||
if ($power >= $intel) {
|
||||
if ($strength >= $intel) {
|
||||
$genType = self::t무장;
|
||||
if ($intel >= $power * 0.8) { //무지장
|
||||
if(Util::randBool($intel / $power / 2)){
|
||||
if ($intel >= $strength * 0.8) { //무지장
|
||||
if(Util::randBool($intel / $strength / 2)){
|
||||
$genType |= self::t지장;
|
||||
}
|
||||
|
||||
@@ -97,8 +97,8 @@ class GeneralAI{
|
||||
//지장
|
||||
} else {
|
||||
$genType = self::t지장;
|
||||
if ($power >= $intel * 0.8 && Util::randBool(0.2)) { //지무장
|
||||
if(Util::randBool($power / $intel / 2)){
|
||||
if ($strength >= $intel * 0.8 && Util::randBool(0.2)) { //지무장
|
||||
if(Util::randBool($strength / $intel / 2)){
|
||||
$genType |= self::t무장;
|
||||
}
|
||||
}
|
||||
@@ -172,7 +172,7 @@ class GeneralAI{
|
||||
|
||||
$genType = $this->genType;
|
||||
$leadership = $this->leadership;
|
||||
$power = $this->power;
|
||||
$strength = $this->strength;
|
||||
$intel = $this->intel;
|
||||
|
||||
$cityFull = false;
|
||||
@@ -198,7 +198,7 @@ class GeneralAI{
|
||||
if($develRate['secu'] < 0.99){
|
||||
$commandObj = buildGeneralCommandClass('che_치안강화', $general, $env);
|
||||
if($commandObj->isRunnable()){
|
||||
$commandList['che_치안강화'] = $power / 3;
|
||||
$commandList['che_치안강화'] = $strength / 3;
|
||||
if(in_array($city['front'], [1,3])){
|
||||
$commandList['che_치안강화'] /= 2;
|
||||
}
|
||||
@@ -207,13 +207,13 @@ class GeneralAI{
|
||||
if($develRate['def'] < 0.99){
|
||||
$commandObj = buildGeneralCommandClass('che_수비강화', $general, $env);
|
||||
if($commandObj->isRunnable()){
|
||||
$commandList['che_수비강화'] = $power / 3;
|
||||
$commandList['che_수비강화'] = $strength / 3;
|
||||
}
|
||||
}
|
||||
if($develRate['wall'] < 0.99){
|
||||
$commandObj = buildGeneralCommandClass('che_성벽보수', $general, $env);
|
||||
if($commandObj->isRunnable()){
|
||||
$commandList['che_성벽보수'] = $power / 3;
|
||||
$commandList['che_성벽보수'] = $strength / 3;
|
||||
if(in_array($city['front'], [1,3])){
|
||||
$commandList['che_성벽보수'] /= 2;
|
||||
}
|
||||
@@ -292,7 +292,7 @@ class GeneralAI{
|
||||
|
||||
$genType = $this->genType;
|
||||
$leadership = $this->leadership;
|
||||
$power = $this->power;
|
||||
$strength = $this->strength;
|
||||
$intel = $this->intel;
|
||||
|
||||
$tech = $nation['tech'];
|
||||
@@ -557,7 +557,7 @@ class GeneralAI{
|
||||
$npcCivilGenerals = [];
|
||||
$npcWarGenerals = [];
|
||||
|
||||
foreach($db->query('SELECT `no`, nation, city, npc, `gold`, `rice`, leader, `power`, intel, killturn, crew, train, atmos, `level`, troop FROM general WHERE nation = %i', $nationID) as $rawNationGeneral) {
|
||||
foreach($db->query('SELECT `no`, nation, city, npc, `gold`, `rice`, leadership, `strength`, intel, killturn, crew, train, atmos, `level`, troop FROM general WHERE nation = %i', $nationID) as $rawNationGeneral) {
|
||||
|
||||
$nationGeneral = (object)$rawNationGeneral;
|
||||
$cityID = $nationGeneral->city;
|
||||
@@ -580,7 +580,7 @@ class GeneralAI{
|
||||
if($nationGeneral->npc<2 && $nationGeneral->killturn >= 5){
|
||||
$userGenerals[] = $nationGeneral;
|
||||
}
|
||||
else if($nationGeneral->leader>=40 && $nationGeneral->killturn >= 5){
|
||||
else if($nationGeneral->leadership>=40 && $nationGeneral->killturn >= 5){
|
||||
$npcWarGenerals[] = $nationGeneral;
|
||||
}
|
||||
else{
|
||||
@@ -656,7 +656,7 @@ class GeneralAI{
|
||||
$isWarUser = null;
|
||||
|
||||
foreach($userGenerals as $compUser){
|
||||
if($compUser['leader'] >= 50){
|
||||
if($compUser['leadership'] >= 50){
|
||||
$isWarUser = true;
|
||||
break;
|
||||
}
|
||||
@@ -711,9 +711,9 @@ class GeneralAI{
|
||||
$compNpcWar = Util::array_last($npcWarGenerals);
|
||||
$compNpcCivil = Util::array_last($npcCivilGenerals);
|
||||
|
||||
$compUserRes = $compUser->$resName??0;
|
||||
$compNpcWarRes = $compNpcWar->$resName*5??0;
|
||||
$compNpcCivilRes = $compNpcCivil->$resName*10??0;
|
||||
$compUserRes = $compUser?$compUser->$resName:0;
|
||||
$compNpcWarRes = $compNpcWar?$compNpcWar->$resName*5:0;
|
||||
$compNpcCivilRes = $compNpcCivil?$compNpcCivil->$resName*10:0;
|
||||
|
||||
[$compRes, $targetGeneral] = max(
|
||||
[$compNpcCivilRes, $compNpcCivil],
|
||||
@@ -945,7 +945,7 @@ class GeneralAI{
|
||||
if(!$generalCity['front']){
|
||||
continue;
|
||||
}
|
||||
if($generalCity['pop'] - 33000 > $nationGeneral->leader){
|
||||
if($generalCity['pop'] - 33000 > $nationGeneral->leadership){
|
||||
continue;
|
||||
}
|
||||
if($nationGeneral->troop != 0){
|
||||
@@ -960,7 +960,7 @@ class GeneralAI{
|
||||
$popTrial = 5;
|
||||
for($popTrial = 0; $popTrial < 5; $popTrial++){
|
||||
$targetCity = $nationCities[Util::choiceRandom($backupCitiesID)];
|
||||
if($targetCity['pop'] < 33000 + $nationGeneral->leader){
|
||||
if($targetCity['pop'] < 33000 + $nationGeneral->leadership){
|
||||
continue;
|
||||
}
|
||||
if (Util::randBool($targetCity['pop'] / $targetCity['pop2'])) {
|
||||
@@ -1054,7 +1054,7 @@ class GeneralAI{
|
||||
case '거병_견문': //거병이나 견문
|
||||
// 초반이면서 능력이 좋은놈 위주로 1.4%확률로 거병
|
||||
$prop = Util::randF() * (GameConst::$defaultStatNPCMax + GameConst::$chiefStatMin) / 2;
|
||||
$ratio = ($general->getVar('leader') + $general->getVar('power') + $general->getVar('intel')) / 3;
|
||||
$ratio = ($general->getVar('leadership') + $general->getVar('strength') + $general->getVar('intel')) / 3;
|
||||
if($env['startyear']+2 > $env['year'] && $prop < $ratio && Util::randBool(0.014) && $general->getVar('makelimit') == 0) {
|
||||
//거병
|
||||
$command = 'che_거병';
|
||||
@@ -1133,7 +1133,7 @@ class GeneralAI{
|
||||
|
||||
$genType = $this->genType;
|
||||
$leadership = $this->leadership;
|
||||
$power = $this->power;
|
||||
$strength = $this->strength;
|
||||
$intel = $this->intel;
|
||||
|
||||
$startYear = $env['startyear'];
|
||||
@@ -1384,7 +1384,7 @@ class GeneralAI{
|
||||
return null;
|
||||
}
|
||||
|
||||
$sumLeadershipInCity = $db->queryFirstField('SELECT sum(leader) FROM general WHERE nation = %i AND city = %i AND leader > 40', $nationID, $cityID);
|
||||
$sumLeadershipInCity = $db->queryFirstField('SELECT sum(leadership) FROM general WHERE nation = %i AND city = %i AND leadership > 40', $nationID, $cityID);
|
||||
if(
|
||||
$city['pop'] > 30000 + $general->getLeadership(false) * 100 * 1.3 &&
|
||||
Util::randBool(($city['pop'] - 30000) / $sumLeadershipInCity * 100)
|
||||
@@ -1723,7 +1723,7 @@ class GeneralAI{
|
||||
|
||||
if(!$userChief){
|
||||
$candUserChief = $db->queryFirstField(
|
||||
'SELECT no FROM general WHERE nation = %i AND level = 1 AND killturn > %i AND npc < 2 AND belong >= %i ORDER BY leader DESC LIMIT 1',
|
||||
'SELECT no FROM general WHERE nation = %i AND level = 1 AND killturn > %i AND npc < 2 AND belong >= %i ORDER BY leadership DESC LIMIT 1',
|
||||
$nationID,
|
||||
$minKillturn,
|
||||
$maxBelong
|
||||
@@ -1738,7 +1738,7 @@ class GeneralAI{
|
||||
|
||||
if(!key_exists(11, $chiefCandidate)){
|
||||
$candChiefHead = $db->queryFirstField(
|
||||
'SELECT no FROM general WHERE nation = %i AND level = 1 AND npc >= 2 AND belong >= %i ORDER BY leader DESC LIMIT 1',
|
||||
'SELECT no FROM general WHERE nation = %i AND level = 1 AND npc >= 2 AND belong >= %i ORDER BY leadership DESC LIMIT 1',
|
||||
$nationID,
|
||||
$maxBelong
|
||||
);
|
||||
@@ -1750,8 +1750,8 @@ class GeneralAI{
|
||||
|
||||
if($minChiefLevel < 11){
|
||||
//무장 수뇌 후보
|
||||
$candChiefPower = $db->queryFirstColumn(
|
||||
'SELECT no FROM general WHERE nation = %i AND power >= %i AND level = 1 AND belong >= %i ORDER BY power DESC LIMIT %i',
|
||||
$candChiefStrength = $db->queryFirstColumn(
|
||||
'SELECT no FROM general WHERE nation = %i AND strength >= %i AND level = 1 AND belong >= %i ORDER BY strength DESC LIMIT %i',
|
||||
$nationID,
|
||||
GameConst::$chiefStatMin,
|
||||
$maxBelong, 12 - $minChiefLevel
|
||||
@@ -1766,7 +1766,7 @@ class GeneralAI{
|
||||
);
|
||||
//무력, 지력이 모두 높은 장수를 고려하여..
|
||||
|
||||
$iterCandChiefPower = new \ArrayIterator($candChiefPower);
|
||||
$iterCandChiefStrength = new \ArrayIterator($candChiefStrength);
|
||||
$iterCandChiefIntel = new \ArrayIterator($candChiefIntel);
|
||||
|
||||
foreach(range(10, $minChiefLevel, -1) as $cheifLevel){
|
||||
@@ -1775,7 +1775,7 @@ class GeneralAI{
|
||||
}
|
||||
|
||||
/** @var \ArrayIterator $iterCurrentType */
|
||||
$iterCurrentType = ($cheifLevel % 2 == 0)?$iterCandChiefPower:$iterCandChiefIntel;
|
||||
$iterCurrentType = ($cheifLevel % 2 == 0)?$iterCandChiefStrength:$iterCandChiefIntel;
|
||||
$candidate = $iterCurrentType->current();
|
||||
|
||||
while(key_exists($candidate, $promoted)){
|
||||
|
||||
@@ -76,7 +76,7 @@ class Scenario{
|
||||
|
||||
list(
|
||||
$affinity, $name, $picturePath, $nationName, $locatedCity,
|
||||
$leadership, $power, $intel, $level, $birth, $death, $ego,
|
||||
$leadership, $strength, $intel, $level, $birth, $death, $ego,
|
||||
$char, $text
|
||||
) = $rawGeneral;
|
||||
|
||||
@@ -99,7 +99,7 @@ class Scenario{
|
||||
$nationID,
|
||||
$locatedCity,
|
||||
$leadership,
|
||||
$power,
|
||||
$strength,
|
||||
$intel,
|
||||
$level,
|
||||
$birth,
|
||||
@@ -117,7 +117,7 @@ class Scenario{
|
||||
|
||||
list(
|
||||
$affinity, $name, $picturePath, $nationName, $locatedCity,
|
||||
$leadership, $power, $intel, $level, $birth, $death, $ego,
|
||||
$leadership, $strength, $intel, $level, $birth, $death, $ego,
|
||||
$char, $text
|
||||
) = $rawGeneral;
|
||||
|
||||
@@ -140,7 +140,7 @@ class Scenario{
|
||||
$nationID,
|
||||
$locatedCity,
|
||||
$leadership,
|
||||
$power,
|
||||
$strength,
|
||||
$intel,
|
||||
$level,
|
||||
$birth,
|
||||
@@ -159,7 +159,7 @@ class Scenario{
|
||||
|
||||
list(
|
||||
$affinity, $name, $picturePath, $nationName, $locatedCity,
|
||||
$leadership, $power, $intel, $level, $birth, $death, $ego,
|
||||
$leadership, $strength, $intel, $level, $birth, $death, $ego,
|
||||
$char, $text
|
||||
) = $rawGeneral;
|
||||
|
||||
@@ -182,7 +182,7 @@ class Scenario{
|
||||
$nationID,
|
||||
$locatedCity,
|
||||
$leadership,
|
||||
$power,
|
||||
$strength,
|
||||
$intel,
|
||||
$level,
|
||||
$birth,
|
||||
|
||||
@@ -20,7 +20,7 @@ class NPC{
|
||||
public $nationID;
|
||||
public $locatedCity;
|
||||
public $leadership;
|
||||
public $power;
|
||||
public $strength;
|
||||
public $intel;
|
||||
public $level;
|
||||
public $birth;
|
||||
@@ -63,7 +63,7 @@ class NPC{
|
||||
int $nationID,
|
||||
$locatedCity,
|
||||
int $leadership,
|
||||
int $power,
|
||||
int $strength,
|
||||
int $intel,
|
||||
int $level = 0,
|
||||
int $birth = 160,
|
||||
@@ -78,7 +78,7 @@ class NPC{
|
||||
$this->nationID = $nationID;
|
||||
$this->locatedCity = $locatedCity;
|
||||
$this->leadership = $leadership;
|
||||
$this->power = $power;
|
||||
$this->strength = $strength;
|
||||
$this->intel = $intel;
|
||||
$this->level = $level;
|
||||
$this->birth = $birth;
|
||||
@@ -90,8 +90,8 @@ class NPC{
|
||||
$this->rice = GameConst::$defaultRice;
|
||||
|
||||
$general = [
|
||||
'leader'=>$leadership,
|
||||
'power'=>$power,
|
||||
'leadership'=>$leadership,
|
||||
'strength'=>$strength,
|
||||
'intel'=>$intel
|
||||
];
|
||||
|
||||
@@ -307,8 +307,8 @@ class NPC{
|
||||
'picture'=>$picturePath,
|
||||
'nation'=>$nationID,
|
||||
'city'=>$city,
|
||||
'leader'=>$this->leadership,
|
||||
'power'=>$this->power,
|
||||
'leadership'=>$this->leadership,
|
||||
'strength'=>$this->strength,
|
||||
'intel'=>$this->intel,
|
||||
'experience'=>$experience,
|
||||
'dedication'=>$dedication,
|
||||
|
||||
@@ -145,7 +145,7 @@ class Nation{
|
||||
//군주가 없는지 확인
|
||||
$hasRuler = $db->queryFirstField('SELECT count(*) FROM general WHERE nation=%i AND level=12', $this->id);
|
||||
if(!$hasRuler){
|
||||
$newRuler = $db->queryFirstField('SELECT `no` FROM general WHERE nation=%i ORDER BY leader+power+intel DESC LIMIT 1', $this->id);
|
||||
$newRuler = $db->queryFirstField('SELECT `no` FROM general WHERE nation=%i ORDER BY leadership+strength+intel DESC LIMIT 1', $this->id);
|
||||
$db->update('general',['level'=>12], 'no=%i', $newRuler);
|
||||
}
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ class SpecialityConst{
|
||||
const DISABLED = 0x1;
|
||||
|
||||
const STAT_LEADERSHIP = 0x2;
|
||||
const STAT_POWER = 0x4;
|
||||
const STAT_STRENGTH = 0x4;
|
||||
const STAT_INTEL = 0x8;
|
||||
|
||||
const ARMY_FOOTMAN = 0x100;
|
||||
@@ -33,13 +33,13 @@ class SpecialityConst{
|
||||
'che_상재' => ['상재', 1, [self::STAT_INTEL]],
|
||||
'che_발명' => ['발명', 1, [self::STAT_INTEL]],
|
||||
|
||||
'che_축성' => ['축성', 1, [self::STAT_POWER]],
|
||||
'che_수비' => ['수비', 1, [self::STAT_POWER]],
|
||||
'che_통찰' => ['통찰', 1, [self::STAT_POWER]],
|
||||
'che_축성' => ['축성', 1, [self::STAT_STRENGTH]],
|
||||
'che_수비' => ['수비', 1, [self::STAT_STRENGTH]],
|
||||
'che_통찰' => ['통찰', 1, [self::STAT_STRENGTH]],
|
||||
|
||||
'che_인덕' => ['인덕', 1, [self::STAT_LEADERSHIP]],
|
||||
|
||||
'che_귀모' => ['귀모', -2.5, [self::STAT_LEADERSHIP, self::STAT_POWER, self::STAT_INTEL]],
|
||||
'che_귀모' => ['귀모', -2.5, [self::STAT_LEADERSHIP, self::STAT_STRENGTH, self::STAT_INTEL]],
|
||||
];
|
||||
|
||||
const WAR = [
|
||||
@@ -53,33 +53,33 @@ class SpecialityConst{
|
||||
|
||||
'che_보병' => ['보병', 1, [
|
||||
self::STAT_LEADERSHIP | self::REQ_DEXTERITY | self::ARMY_FOOTMAN,
|
||||
self::STAT_POWER | self::REQ_DEXTERITY | self::ARMY_FOOTMAN
|
||||
self::STAT_STRENGTH | self::REQ_DEXTERITY | self::ARMY_FOOTMAN
|
||||
]],
|
||||
'che_궁병' => ['궁병', 1, [
|
||||
self::STAT_LEADERSHIP | self::REQ_DEXTERITY | self::ARMY_ARCHER,
|
||||
self::STAT_POWER | self::REQ_DEXTERITY | self::ARMY_ARCHER
|
||||
self::STAT_STRENGTH | self::REQ_DEXTERITY | self::ARMY_ARCHER
|
||||
]],
|
||||
'che_기병' => ['기병', 1, [
|
||||
self::STAT_LEADERSHIP | self::REQ_DEXTERITY | self::ARMY_CAVALRY,
|
||||
self::STAT_POWER | self::REQ_DEXTERITY | self::ARMY_CAVALRY
|
||||
self::STAT_STRENGTH | self::REQ_DEXTERITY | self::ARMY_CAVALRY
|
||||
]],
|
||||
'che_공성' => ['공성', 1, [
|
||||
self::STAT_LEADERSHIP | self::REQ_DEXTERITY | self::ARMY_SIEGE,
|
||||
self::STAT_POWER | self::REQ_DEXTERITY | self::ARMY_SIEGE,
|
||||
self::STAT_STRENGTH | self::REQ_DEXTERITY | self::ARMY_SIEGE,
|
||||
self::STAT_INTEL | self::REQ_DEXTERITY | self::ARMY_SIEGE
|
||||
]],
|
||||
|
||||
'che_돌격' => ['돌격', 1, [self::STAT_LEADERSHIP, self::STAT_POWER]],
|
||||
'che_무쌍' => ['무쌍', 1, [self::STAT_LEADERSHIP, self::STAT_POWER]],
|
||||
'che_견고' => ['견고', 1, [self::STAT_LEADERSHIP, self::STAT_POWER]],
|
||||
'che_위압' => ['위압', 1, [self::STAT_LEADERSHIP, self::STAT_POWER]],
|
||||
'che_돌격' => ['돌격', 1, [self::STAT_LEADERSHIP, self::STAT_STRENGTH]],
|
||||
'che_무쌍' => ['무쌍', 1, [self::STAT_LEADERSHIP, self::STAT_STRENGTH]],
|
||||
'che_견고' => ['견고', 1, [self::STAT_LEADERSHIP, self::STAT_STRENGTH]],
|
||||
'che_위압' => ['위압', 1, [self::STAT_LEADERSHIP, self::STAT_STRENGTH]],
|
||||
|
||||
'che_저격' => ['저격', 1, [self::STAT_LEADERSHIP, self::STAT_POWER, self::STAT_INTEL]],
|
||||
'che_필살' => ['필살', 1, [self::STAT_LEADERSHIP, self::STAT_POWER, self::STAT_INTEL]],
|
||||
'che_징병' => ['징병', 1, [self::STAT_LEADERSHIP, self::STAT_POWER, self::STAT_INTEL]],
|
||||
'che_의술' => ['의술', -2, [self::STAT_LEADERSHIP, self::STAT_POWER, self::STAT_INTEL]],
|
||||
'che_격노' => ['격노', 1, [self::STAT_LEADERSHIP, self::STAT_POWER, self::STAT_INTEL]],
|
||||
'che_척사' => ['척사', 1, [self::STAT_LEADERSHIP, self::STAT_POWER, self::STAT_INTEL]],
|
||||
'che_저격' => ['저격', 1, [self::STAT_LEADERSHIP, self::STAT_STRENGTH, self::STAT_INTEL]],
|
||||
'che_필살' => ['필살', 1, [self::STAT_LEADERSHIP, self::STAT_STRENGTH, self::STAT_INTEL]],
|
||||
'che_징병' => ['징병', 1, [self::STAT_LEADERSHIP, self::STAT_STRENGTH, self::STAT_INTEL]],
|
||||
'che_의술' => ['의술', -2, [self::STAT_LEADERSHIP, self::STAT_STRENGTH, self::STAT_INTEL]],
|
||||
'che_격노' => ['격노', 1, [self::STAT_LEADERSHIP, self::STAT_STRENGTH, self::STAT_INTEL]],
|
||||
'che_척사' => ['척사', 1, [self::STAT_LEADERSHIP, self::STAT_STRENGTH, self::STAT_INTEL]],
|
||||
];
|
||||
|
||||
public static function getInvDomestic(string $name){
|
||||
@@ -117,15 +117,15 @@ class SpecialityConst{
|
||||
private static function calcCondGeneric(array $general) : int {
|
||||
$myCond = 0;
|
||||
|
||||
$leader = $general['leader']??50;
|
||||
$power = $general['power']??50;
|
||||
$leadership = $general['leadership']??50;
|
||||
$strength = $general['strength']??50;
|
||||
$intel = $general['intel']??50;
|
||||
|
||||
if ($leader * 0.95 > $power && $leader * 0.95 > $intel) {
|
||||
if ($leadership * 0.95 > $strength && $leadership * 0.95 > $intel) {
|
||||
$myCond |= self::STAT_LEADERSHIP;
|
||||
}
|
||||
else if($power >= $intel){
|
||||
$myCond |= self::STAT_POWER;
|
||||
else if($strength >= $intel){
|
||||
$myCond |= self::STAT_STRENGTH;
|
||||
}
|
||||
else {
|
||||
$myCond |= self::STAT_INTEL;
|
||||
|
||||
@@ -7,7 +7,7 @@ class SightseeingMessage{
|
||||
const IncExp = 0x1;
|
||||
const IncHeavyExp = 0x2;
|
||||
const IncLeadership = 0x10;
|
||||
const IncPower = 0x20;
|
||||
const IncStrength = 0x20;
|
||||
const IncIntel = 0x40;
|
||||
const IncGold = 0x100;
|
||||
const IncRice = 0x200;
|
||||
@@ -39,7 +39,7 @@ class SightseeingMessage{
|
||||
'백성들에게 현인의 가르침을 설파했습니다.',
|
||||
'어느 집의 도망친 가축을 되찾아 주었습니다.',
|
||||
]], 2],
|
||||
[[self::IncHeavyExp|self::IncPower,[
|
||||
[[self::IncHeavyExp|self::IncStrength,[
|
||||
'동네 장사와 힘겨루기를 하여 멋지게 이겼습니다.',
|
||||
'어느 집의 무너진 울타리를 고쳐주었습니다.',
|
||||
]], 2],
|
||||
@@ -74,10 +74,10 @@ class SightseeingMessage{
|
||||
[[self::IncHeavyExp|self::Wounded|self::HeavyWounded,[
|
||||
'위기에 빠진 사람을 구하다가 죽을뻔 했습니다.',
|
||||
]], 1],
|
||||
[[self::IncHeavyExp|self::IncPower|self::IncGold,[
|
||||
[[self::IncHeavyExp|self::IncStrength|self::IncGold,[
|
||||
'산적과 싸워 금 <C>:goldAmount:</>을 빼앗았습니다.',
|
||||
]], 1],
|
||||
[[self::IncHeavyExp|self::IncPower|self::IncRice,[
|
||||
[[self::IncHeavyExp|self::IncStrength|self::IncRice,[
|
||||
'호랑이를 잡아 고기 <C>:riceAmount:</>을 얻었습니다.',
|
||||
'곰을 잡아 고기 <C>:riceAmount:</>을 얻었습니다.',
|
||||
]], 1],
|
||||
|
||||
@@ -124,9 +124,9 @@ class WarUnitGeneral extends WarUnit{
|
||||
if($this->crewType->armType == GameUnitConst::T_WIZARD) { // 귀병
|
||||
$general->increaseVar('intel2', $value);
|
||||
} elseif($this->crewType->armType == GameUnitConst::T_SIEGE) { // 차병
|
||||
$general->increaseVar('leader2', $value);
|
||||
$general->increaseVar('leadership2', $value);
|
||||
} else {
|
||||
$general->increaseVar('power2', $value);
|
||||
$general->increaseVar('strength2', $value);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+6
-6
@@ -28,8 +28,8 @@ $general_schema = "
|
||||
nations char(64) default ',0,',
|
||||
city int(6) default 0,
|
||||
troop int(6) default 0,
|
||||
leader int(3) default 0, leader2 int(3) default 0,
|
||||
power int(3) default 0, power2 int(3) default 0,
|
||||
leadership int(3) default 0, leadership2 int(3) default 0,
|
||||
power int(3) default 0, strength2 int(3) default 0,
|
||||
intel int(3) default 0, intel2 int(3) default 0,
|
||||
injury int(2) default 0,
|
||||
experience int(6) default 0, dedication int(6) default 0,
|
||||
@@ -307,7 +307,7 @@ $token_schema = "
|
||||
create table token (
|
||||
token int(6) not null auto_increment,
|
||||
id char(16) not null,
|
||||
leader int(3) not null,
|
||||
leadership int(3) not null,
|
||||
power int(3) not null,
|
||||
intel int(3) not null,
|
||||
|
||||
@@ -528,9 +528,9 @@ $tournament_schema = "
|
||||
w int(2) default 0,
|
||||
b int(2) default 0,
|
||||
h int(2) default 0,
|
||||
ldr int(3) default 0,
|
||||
pwr int(3) default 0,
|
||||
itl int(3) default 0,
|
||||
leadership int(3) default 0,
|
||||
strength int(3) default 0,
|
||||
intel int(3) default 0,
|
||||
lvl int(3) default 0,
|
||||
grp int(2) default 0,
|
||||
grp_no int(2) default 0,
|
||||
|
||||
+12
-12
@@ -25,10 +25,10 @@ CREATE TABLE `general` (
|
||||
`nations` VARCHAR(64) NOT NULL DEFAULT '[0]',
|
||||
`city` INT(6) NOT NULL DEFAULT '3',
|
||||
`troop` INT(6) NOT NULL DEFAULT '0',
|
||||
`leader` INT(3) NOT NULL DEFAULT '50',
|
||||
`leader2` INT(3) NOT NULL DEFAULT '0',
|
||||
`power` INT(3) NOT NULL DEFAULT '50',
|
||||
`power2` INT(3) NOT NULL DEFAULT '0',
|
||||
`leadership` INT(3) NOT NULL DEFAULT '50',
|
||||
`leadership2` INT(3) NOT NULL DEFAULT '0',
|
||||
`strength` INT(3) NOT NULL DEFAULT '50',
|
||||
`strength2` INT(3) NOT NULL DEFAULT '0',
|
||||
`intel` INT(3) NOT NULL DEFAULT '50',
|
||||
`intel2` INT(3) NOT NULL DEFAULT '0',
|
||||
`injury` INT(2) NOT NULL DEFAULT '0',
|
||||
@@ -93,11 +93,11 @@ CREATE TABLE `general` (
|
||||
`tll` INT(4) NULL DEFAULT '0',
|
||||
`tlg` INT(4) NULL DEFAULT '0',
|
||||
`tlp` INT(4) NULL DEFAULT '0',
|
||||
`tpw` INT(4) NULL DEFAULT '0',
|
||||
`tpd` INT(4) NULL DEFAULT '0',
|
||||
`tpl` INT(4) NULL DEFAULT '0',
|
||||
`tpg` INT(4) NULL DEFAULT '0',
|
||||
`tpp` INT(4) NULL DEFAULT '0',
|
||||
`tsw` INT(4) NULL DEFAULT '0',
|
||||
`tsd` INT(4) NULL DEFAULT '0',
|
||||
`tsl` INT(4) NULL DEFAULT '0',
|
||||
`tsg` INT(4) NULL DEFAULT '0',
|
||||
`tsp` INT(4) NULL DEFAULT '0',
|
||||
`tiw` INT(4) NULL DEFAULT '0',
|
||||
`tid` INT(4) NULL DEFAULT '0',
|
||||
`til` INT(4) NULL DEFAULT '0',
|
||||
@@ -486,9 +486,9 @@ create table tournament (
|
||||
w varchar(20) default 'None',
|
||||
b varchar(20) default 'None',
|
||||
h varchar(20) default 'None',
|
||||
ldr int(3) default 0,
|
||||
pwr int(3) default 0,
|
||||
itl int(3) default 0,
|
||||
leadership int(3) default 0,
|
||||
strength int(3) default 0,
|
||||
intel int(3) default 0,
|
||||
lvl int(3) default 0,
|
||||
grp int(2) default 0,
|
||||
grp_no int(2) default 0,
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
data-general-wounded="<?=$wounded?>"
|
||||
data-general-name="<?=$this->e($name)?>"
|
||||
data-general-leadership="<?=$leadership?>"
|
||||
data-general-power="<?=$power?>"
|
||||
data-general-strength="<?=$strength?>"
|
||||
data-general-intel="<?=$intel?>"
|
||||
data-general-level="<?=$level?>"
|
||||
data-general-leadership-bonus="<?=$leadershipBonus?>"
|
||||
@@ -23,7 +23,7 @@
|
||||
<td height="64"><img class='generalIcon' width='64' height='64' src='<?=$iconPath?>'></td>
|
||||
<td><?=$nameText?></td>
|
||||
<td><?=$leadershipText?><?=$leadershipBonusText?></td>
|
||||
<td><?=$powerText?></td>
|
||||
<td><?=$strengthText?></td>
|
||||
<td><?=$intelText?></td>
|
||||
<td class="general_level"><?=$levelText?></td>
|
||||
<?php if($ourGeneral): ?>
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
data-is-npc="<?=$general['npc']>=2?'true':'false'?>"
|
||||
data-general-wounded="<?=$general['injury']?>"
|
||||
data-general-name="<?=$general['name']?>"
|
||||
data-general-leadership="<?=$general['leader']?>"
|
||||
data-general-power="<?=$general['power']?>"
|
||||
data-general-leadership="<?=$general['leadership']?>"
|
||||
data-general-strength="<?=$general['strength']?>"
|
||||
data-general-intel="<?=$general['intel']?>"
|
||||
data-general-level="<?=$general['expLevelText']?>"
|
||||
data-general-leadership-bonus="<?=$general['lbonus']?>"
|
||||
@@ -37,7 +37,7 @@
|
||||
>
|
||||
<td class='i_name center'><span class='t_name'><?=$general['nameText']?></span><br
|
||||
>Lv <span class='t_explevel'><?=$general['expLevelText']?></span></td>
|
||||
<td class='i_stat center'><?=$general['leaderText']?>∥<?=$general['powerText']?>∥<?=$general['intelText']?></td>
|
||||
<td class='i_stat center'><?=$general['leadershipText']?>∥<?=$general['strengthText']?>∥<?=$general['intelText']?></td>
|
||||
<td class='i_troop center'><?=$general['troopText']?></td>
|
||||
<td class='i_gold center'><?=$general['gold']?></td>
|
||||
<td class='i_rice center'><?=$general['rice']?></td>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user