diff --git a/hwe/_admin2_submit.php b/hwe/_admin2_submit.php
index c0726bd4..eb1faacb 100644
--- a/hwe/_admin2_submit.php
+++ b/hwe/_admin2_submit.php
@@ -111,7 +111,7 @@ switch($btn) {
[$year, $month] = $gameStor->getValuesAsArray(['year', 'month']);
$text = "특기 부여!";
- foreach($db->query("SELECT `no`,leadership,strength,intel,dex0,dex10,dex20,dex30,dex40 FROM general WHERE `no` IN %li", $genlist) as $general){
+ foreach($db->query("SELECT `no`,leadership,strength,intel,dex1,dex2,dex3,dex4,dex5 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);
@@ -156,7 +156,7 @@ switch($btn) {
$msg->send(true);
}
$db->update('general',[
- 'dex0'=>$db->sqleval('dex0+10000')
+ 'dex1'=>$db->sqleval('dex1+10000')
], '`no` IN %li', $genlist);
break;
case "궁숙10000":
@@ -166,7 +166,7 @@ switch($btn) {
$msg->send(true);
}
$db->update('general',[
- 'dex10'=>$db->sqleval('dex10+10000')
+ 'dex2'=>$db->sqleval('dex2+10000')
], '`no` IN %li', $genlist);
break;
case "기숙10000":
@@ -177,7 +177,7 @@ switch($btn) {
$msg->send(true);
}
$db->update('general',[
- 'dex20'=>$db->sqleval('dex20+10000')
+ 'dex3'=>$db->sqleval('dex3+10000')
], '`no` IN %li', $genlist);
break;
case "귀숙10000":
@@ -188,7 +188,7 @@ switch($btn) {
$msg->send(true);
}
$db->update('general',[
- 'dex30'=>$db->sqleval('dex30+10000')
+ 'dex4'=>$db->sqleval('dex4+10000')
], '`no` IN %li', $genlist);
break;
case "차숙10000":
@@ -199,7 +199,7 @@ switch($btn) {
$msg->send(true);
}
$db->update('general',[
- 'dex40'=>$db->sqleval('dex40+10000')
+ 'dex5'=>$db->sqleval('dex5+10000')
], '`no` IN %li', $genlist);
break;
case "접속 허용":
diff --git a/hwe/_admin5.php b/hwe/_admin5.php
index 0ca12e81..ecbc1053 100644
--- a/hwe/_admin5.php
+++ b/hwe/_admin5.php
@@ -160,11 +160,11 @@ SELECT
COUNT(B.nation) AS gennum,
ROUND(AVG(B.connect), 1) AS connect,
ROUND(AVG(B.con), 1) AS con,
- ROUND(AVG(B.dex0)) AS dex0,
- ROUND(AVG(B.dex10)) AS dex10,
- ROUND(AVG(B.dex20)) AS dex20,
- ROUND(AVG(B.dex30)) AS dex30,
- ROUND(AVG(B.dex40)) AS dex40
+ ROUND(AVG(B.dex1)) AS dex1,
+ ROUND(AVG(B.dex2)) AS dex2,
+ ROUND(AVG(B.dex3)) AS dex3,
+ ROUND(AVG(B.dex4)) AS dex4,
+ ROUND(AVG(B.dex5)) AS dex5
FROM nation A, general B
WHERE A.nation=B.nation
GROUP BY B.nation
@@ -184,11 +184,11 @@ switch($type) {
case 10: $query .= " order by avg(B.explevel) desc"; break;
case 11: $query .= " order by avg(B.connect) desc"; break;
case 12: $query .= " order by avg(B.con) desc"; break;
- case 13: $query .= " order by avg(B.dex0) desc"; break;
- case 14: $query .= " order by avg(B.dex10) desc"; break;
- case 15: $query .= " order by avg(B.dex20) desc"; break;
- case 16: $query .= " order by avg(B.dex30) desc"; break;
- case 17: $query .= " order by avg(B.dex40) desc"; break;
+ case 13: $query .= " order by avg(B.dex1) desc"; break;
+ case 14: $query .= " order by avg(B.dex2) desc"; break;
+ case 15: $query .= " order by avg(B.dex3) desc"; break;
+ case 16: $query .= " order by avg(B.dex4) desc"; break;
+ case 17: $query .= " order by avg(B.dex5) desc"; break;
}
$result = MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
$nationCount = MYDB_num_rows($result);
@@ -238,11 +238,11 @@ for($i=0; $i < $nationCount; $i++) {
{$gen['avgs']} |
{$gen['avgi']} |
{$gen['avge']} |
- {$nation['dex0']} |
- {$nation['dex10']} |
- {$nation['dex20']} |
- {$nation['dex30']} |
- {$nation['dex40']} |
+ {$nation['dex1']} |
+ {$nation['dex2']} |
+ {$nation['dex3']} |
+ {$nation['dex4']} |
+ {$nation['dex5']} |
{$gen['crew']}/{$gen['leadership']}00 |
{$city['pop']}/{$city['pop_max']} |
".sprintf('%.1f',$city['pop']/$city['pop_max']*100)."% |
diff --git a/hwe/_admin7.php b/hwe/_admin7.php
index d29cade9..f46838cd 100644
--- a/hwe/_admin7.php
+++ b/hwe/_admin7.php
@@ -13,8 +13,8 @@ $queryMap = [
'turntime' => ['최근턴', 0, function($lhs, $rhs){
return -($lhs['turntime']<=>$rhs['turntime']);
}],
- 'recwar' => ['최근전투', 1, function($lhs, $rhs){
- return -($lhs['recwar']<=>$rhs['recwar']);
+ 'recent_war' => ['최근전투', 1, function($lhs, $rhs){
+ return -($lhs['recent_war']<=>$rhs['recent_war']);
}],
'name' => ['장수명', 0, function($lhs, $rhs){
if($lhs['npc'] !== $rhs['npc']){
diff --git a/hwe/a_bestGeneral.php b/hwe/a_bestGeneral.php
index 98852212..5d3c818d 100644
--- a/hwe/a_bestGeneral.php
+++ b/hwe/a_bestGeneral.php
@@ -101,11 +101,11 @@ $types = [
}
return $v;
}],
- ["보 병 숙 련 도", "int", function($v){$v['value'] = $v['dex0']; return $v; }],
- ["궁 병 숙 련 도", "int", function($v){$v['value'] = $v['dex10']; return $v; }],
- ["기 병 숙 련 도", "int", function($v){$v['value'] = $v['dex20']; return $v; }],
- ["귀 병 숙 련 도", "int", function($v){$v['value'] = $v['dex30']; return $v; }],
- ["차 병 숙 련 도", "int", function($v){$v['value'] = $v['dex40']; return $v; }],
+ ["보 병 숙 련 도", "int", function($v){$v['value'] = $v['dex1']; return $v; }],
+ ["궁 병 숙 련 도", "int", function($v){$v['value'] = $v['dex2']; return $v; }],
+ ["기 병 숙 련 도", "int", function($v){$v['value'] = $v['dex3']; return $v; }],
+ ["귀 병 숙 련 도", "int", function($v){$v['value'] = $v['dex4']; return $v; }],
+ ["차 병 숙 련 도", "int", function($v){$v['value'] = $v['dex5']; return $v; }],
["전 력 전 승 률", "percent", function($v){
$totalCnt = $v['ttw']+$v['ttd']+$v['ttl'];
if($totalCnt < 50){
@@ -165,7 +165,7 @@ $generals = [];
foreach($db->query(
"SELECT nation,no,name,name2 as owner_name, owner, picture, imgsvr,
experience, dedication,
- dex0, dex10, dex20, dex30, dex40,
+ dex1, dex2, dex3, dex4, dex5,
horse, weapon, book, item
FROM general WHERE %l", $btn == "NPC 보기"?"npc>=2":"npc<2") as $general
){
diff --git a/hwe/b_battleCenter.php b/hwe/b_battleCenter.php
index c0e0cf02..fff48a97 100644
--- a/hwe/b_battleCenter.php
+++ b/hwe/b_battleCenter.php
@@ -17,8 +17,8 @@ $queryMap = [
'turntime' => ['최근턴', 0, function($lhs, $rhs){
return -($lhs['turntime']<=>$rhs['turntime']);
}],
- 'recwar' => ['최근전투', 1, function($lhs, $rhs){
- return -($lhs['recwar']<=>$rhs['recwar']);
+ 'recent_war' => ['최근전투', 1, function($lhs, $rhs){
+ return -($lhs['recent_war']<=>$rhs['recent_war']);
}],
'name' => ['장수명', 0, function($lhs, $rhs){
if($lhs['npc'] !== $rhs['npc']){
diff --git a/hwe/func.php b/hwe/func.php
index 104f8f59..8e46e9d0 100644
--- a/hwe/func.php
+++ b/hwe/func.php
@@ -819,29 +819,29 @@ function generalInfo2(General $generalObj) {
$dedication = getHonor($general['dedication'])." ({$general['dedication']})";
}
- $dex0 = $general['dex0'] / GameConst::$dexLimit * 100;
- $dex10 = $general['dex10'] / GameConst::$dexLimit * 100;
- $dex20 = $general['dex20'] / GameConst::$dexLimit * 100;
- $dex30 = $general['dex30'] / GameConst::$dexLimit * 100;
- $dex40 = $general['dex40'] / GameConst::$dexLimit * 100;
+ $dex1 = $general['dex1'] / GameConst::$dexLimit * 100;
+ $dex2 = $general['dex2'] / GameConst::$dexLimit * 100;
+ $dex3 = $general['dex3'] / GameConst::$dexLimit * 100;
+ $dex4 = $general['dex4'] / GameConst::$dexLimit * 100;
+ $dex5 = $general['dex5'] / GameConst::$dexLimit * 100;
- if($dex0 > 100) { $dex0 = 100; }
- if($dex10 > 100) { $dex10 = 100; }
- if($dex20 > 100) { $dex20 = 100; }
- if($dex30 > 100) { $dex30 = 100; }
- if($dex40 > 100) { $dex40 = 100; }
+ if($dex1 > 100) { $dex1 = 100; }
+ if($dex2 > 100) { $dex2 = 100; }
+ if($dex3 > 100) { $dex3 = 100; }
+ if($dex4 > 100) { $dex4 = 100; }
+ if($dex5 > 100) { $dex5 = 100; }
- $general['dex0_text'] = getDexCall($general['dex0']);
- $general['dex10_text'] = getDexCall($general['dex10']);
- $general['dex20_text'] = getDexCall($general['dex20']);
- $general['dex30_text'] = getDexCall($general['dex30']);
- $general['dex40_text'] = getDexCall($general['dex40']);
+ $general['dex1_text'] = getDexCall($general['dex1']);
+ $general['dex2_text'] = getDexCall($general['dex2']);
+ $general['dex3_text'] = getDexCall($general['dex3']);
+ $general['dex4_text'] = getDexCall($general['dex4']);
+ $general['dex5_text'] = getDexCall($general['dex5']);
- $general['dex0_short'] = sprintf('%.1fK', $general['dex0']/1000);
- $general['dex10_short'] = sprintf('%.1fK', $general['dex10']/1000);
- $general['dex20_short'] = sprintf('%.1fK', $general['dex20']/1000);
- $general['dex30_short'] = sprintf('%.1fK', $general['dex30']/1000);
- $general['dex40_short'] = sprintf('%.1fK', $general['dex40']/1000);
+ $general['dex1_short'] = sprintf('%.1fK', $general['dex1']/1000);
+ $general['dex2_short'] = sprintf('%.1fK', $general['dex2']/1000);
+ $general['dex3_short'] = sprintf('%.1fK', $general['dex3']/1000);
+ $general['dex4_short'] = sprintf('%.1fK', $general['dex4']/1000);
+ $general['dex5_short'] = sprintf('%.1fK', $general['dex5']/1000);
echo "
| 추 가 정 보 |
@@ -880,33 +880,33 @@ function generalInfo2(General $generalObj) {
| 숙 련 도 |
| 보병 |
- {$general['dex0_text']} |
- {$general['dex0_short']} |
- ".bar($dex0, 16)." |
+ {$general['dex1_text']} |
+ {$general['dex1_short']} |
+ ".bar($dex1, 16)." |
| 궁병 |
- {$general['dex10_text']} |
- {$general['dex10_short']} |
- ".bar($dex10, 16)." |
+ {$general['dex2_text']} |
+ {$general['dex2_short']} |
+ ".bar($dex2, 16)." |
| 기병 |
- {$general['dex20_text']} |
- {$general['dex20_short']} |
- ".bar($dex20, 16)." |
+ {$general['dex3_text']} |
+ {$general['dex3_short']} |
+ ".bar($dex3, 16)." |
| 귀병 |
- {$general['dex30_text']} |
- {$general['dex30_short']} |
- ".bar($dex30, 16)." |
+ {$general['dex4_text']} |
+ {$general['dex4_short']} |
+ ".bar($dex4, 16)." |
| 차병 |
- {$general['dex40_text']} |
- {$general['dex40_short']} |
- ".bar($dex40, 16)." |
+ {$general['dex5_text']} |
+ {$general['dex5_short']} |
+ ".bar($dex5, 16)." |
";
}
@@ -1300,7 +1300,7 @@ function addAge() {
pushGenLog($general, "●>특기 【{$specialText}>】{$josaUl} 익혔습니다!");
}
- 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){
+ foreach($db->query('SELECT no,name,nation,leadership,strength,intel,npc,dex1,dex2,dex3,dex4,dex5 from general where specage2<=age and special2=%s', GameConst::$defaultSpecialWar) as $general){
$special2 = SpecialityConst::pickSpecialWar($general);
$specialClass = buildGeneralSpecialWarClass($special2);
$specialText = $specialClass->getName();
@@ -1371,11 +1371,11 @@ function CheckHall($no) {
["winrate", 'rank'],
["killcrew", 'rank'],
["killrate", 'calc'],
- ["dex0", 'natural'],
- ["dex10", 'natural'],
- ["dex20", 'natural'],
- ["dex30", 'natural'],
- ["dex40", 'natural'],
+ ["dex1", 'natural'],
+ ["dex2", 'natural'],
+ ["dex3", 'natural'],
+ ["dex4", 'natural'],
+ ["dex5", 'natural'],
["ttrate", 'calc'],
["tlrate", 'calc'],
["tprate", 'calc'],
diff --git a/hwe/func_gamerule.php b/hwe/func_gamerule.php
index 5aea070a..7fba9fcf 100644
--- a/hwe/func_gamerule.php
+++ b/hwe/func_gamerule.php
@@ -409,7 +409,7 @@ function postUpdateMonthly() {
) from city where nation=A.nation and supply=1
))
+(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(dex1+dex2+dex3+dex4+dex5)/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)
)/10)
@@ -1009,8 +1009,8 @@ function checkStatistic() {
];
$avgGeneral = $db->queryFirstRow(
- 'SELECT avg(gold) as avggold, avg(rice) as avgrice, avg(dex0+dex10+dex20+dex30) as avgdex,
- max(dex0+dex10+dex20+dex30) as maxdex, avg(experience+dedication) as avgexpded, max(experience+dedication) as maxexpded
+ 'SELECT avg(gold) as avggold, avg(rice) as avgrice, avg(dex1+dex2+dex3+dex4) as avgdex,
+ max(dex1+dex2+dex3+dex4) as maxdex, avg(experience+dedication) as avgexpded, max(experience+dedication) as maxexpded
FROM general'
);
$auxData['generals']['avg'] = $avgGeneral;
@@ -1047,7 +1047,7 @@ function checkStatistic() {
$nationGeneralInfos = Util::convertArrayToDict(
$db->query(
'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
+ sum(dex1+dex2+dex3+dex4) as dex,sum(experience+dedication) as expded
from general GROUP BY nation'
),
'nation'
@@ -1114,7 +1114,7 @@ function checkStatistic() {
}
foreach($db->queryAllLists(
- 'SELECT crewtype, count(crewtype) AS cnt FROM general WHERE recwar != NULL GROUP BY crewtype'
+ 'SELECT crewtype, count(crewtype) AS cnt FROM general WHERE recent_war != NULL GROUP BY crewtype'
) as [$crewtype, $cnt]
){
$crewtypeHists[$crewtype] = $cnt;
diff --git a/hwe/func_process_chief.php b/hwe/func_process_chief.php
index fbbbacec..857e9f31 100644
--- a/hwe/func_process_chief.php
+++ b/hwe/func_process_chief.php
@@ -1494,7 +1494,7 @@ function process_76(&$general) {
$avgGenNum = $db->queryFirstField('SELECT avg(gennum) FROM nation');
$addGenCount = 5 + Util::round($avgGenNum / 10);
- $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']);
+ $avgGen = $db->queryFirstRow('SELECT max(leadership+strength+intel) as stat_sum, avg(dedication) as ded,avg(experience) as exp, avg(dex1+dex2+dex3+dex4) as dex_t, avg(age) as age, avg(dex5) as dex5 from general where npc < 5 and nation = %i', $general['nation']);
$dexTotal = $avgGen['dex_t'];
@@ -1608,14 +1608,14 @@ function process_76(&$general) {
level,gold,rice,crew,crewtype,train,atmos,tnmt,
weapon,book,horse,turntime,killturn,age,belong,personal,special,specage,special2,specage2,npcmsg,
makelimit,bornyear,deadyear,
- dex0, dex10, dex20, dex30, dex40
+ dex1, dex2, dex3, dex4, dex5
) values (
'$npc','$npc','$affinity','$name','$picture','{$nation['nation']}',
'{$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',
- '{$dexVal[0]}','{$dexVal[1]}','{$dexVal[2]}','{$dexVal[3]}','{$avgGen['dex40']}'
+ '{$dexVal[0]}','{$dexVal[1]}','{$dexVal[2]}','{$dexVal[3]}','{$avgGen['dex5']}'
)",
$connect
) or Error(__LINE__.MYDB_error($connect),"");
diff --git a/hwe/j_simulate_battle.php b/hwe/j_simulate_battle.php
index 05b06b35..bacd2da9 100644
--- a/hwe/j_simulate_battle.php
+++ b/hwe/j_simulate_battle.php
@@ -83,13 +83,13 @@ $generalCheck = [
'required'=>[
'no', 'name', 'nation', 'turntime', 'personal', 'special2', 'crew', 'crewtype', 'atmos', 'train',
'intel', 'intel_exp', 'book', 'strength', 'strength_exp', 'weapon', 'injury', 'leadership', 'leadership_exp', 'horse', 'item',
- 'explevel', 'experience', 'dedication', 'level', 'gold', 'rice', 'dex0', 'dex10', 'dex20', 'dex30', 'dex40',
- 'recwar'
+ 'explevel', 'experience', 'dedication', 'level', 'gold', 'rice', 'dex1', 'dex2', 'dex3', 'dex4', 'dex5',
+ 'recent_war'
],
'integer'=>[
'no', 'nation', 'personal', 'special2', 'crew', 'crewtype', 'atmos', 'train',
'intel', 'intel_exp', 'book', 'strength', 'strength_exp', 'weapon', 'injury', 'leadership', 'leadership_exp', 'horse', 'item',
- 'explevel', 'experience', 'dedication', 'level', 'gold', 'rice', 'dex0', 'dex10', 'dex20', 'dex30', 'dex40',
+ 'explevel', 'experience', 'dedication', 'level', 'gold', 'rice', 'dex1', 'dex2', 'dex3', 'dex4', 'dex5',
],
'min'=>[
['no', 1],
@@ -101,11 +101,11 @@ $generalCheck = [
['experience', 0],
['gold', 0],
['rice', 0],
- ['dex0', 0],
- ['dex10', 0],
- ['dex20', 0],
- ['dex30', 0],
- ['dex40', 0],
+ ['dex1', 0],
+ ['dex2', 0],
+ ['dex3', 0],
+ ['dex4', 0],
+ ['dex5', 0],
],
'between'=>[
['train', [40, GameConst::$maxTrainByWar]],
diff --git a/hwe/join_post.php b/hwe/join_post.php
index 2214eee5..dc28a022 100644
--- a/hwe/join_post.php
+++ b/hwe/join_post.php
@@ -162,11 +162,11 @@ if ($genius) {
'leadership'=>$leadership,
'strength'=>$strength,
'intel'=>$intel,
- 'dex0'=>0,
- 'dex10'=>0,
- 'dex20'=>0,
- 'dex30'=>0,
- 'dex40'=>0
+ 'dex1'=>0,
+ 'dex2'=>0,
+ 'dex3'=>0,
+ 'dex4'=>0,
+ 'dex5'=>0
]);
} else {
$specage2 = Util::valueFit(Util::round((GameConst::$retirementYear - $age)/4 - $relYear / 2), 3) + $age;
diff --git a/hwe/js/battle_simulator.js b/hwe/js/battle_simulator.js
index 1025fefd..e473cc5c 100644
--- a/hwe/js/battle_simulator.js
+++ b/hwe/js/battle_simulator.js
@@ -176,11 +176,11 @@ jQuery(function($){
setVal('.form_atmos', data.atmos);
setVal('.form_train', data.train);
- setVal('.form_dex0', data.dex0);
- setVal('.form_dex10', data.dex10);
- setVal('.form_dex20', data.dex20);
- setVal('.form_dex30', data.dex30);
- setVal('.form_dex40', data.dex40);
+ setVal('.form_dex0', data.dex1);
+ setVal('.form_dex10', data.dex2);
+ setVal('.form_dex20', data.dex3);
+ setVal('.form_dex30', data.dex4);
+ setVal('.form_dex40', data.dex5);
setVal('.form_defence_train', data.defence_train);
if(!setGeneralNo($general, data.no)){
@@ -223,11 +223,11 @@ jQuery(function($){
atmos:getInt('.form_atmos'),
train:getInt('.form_train'),
- dex0:getInt('.form_dex0'),
- dex10:getInt('.form_dex10'),
- dex20:getInt('.form_dex20'),
- dex30:getInt('.form_dex30'),
- dex40:getInt('.form_dex40'),
+ dex1:getInt('.form_dex0'),
+ dex2:getInt('.form_dex10'),
+ dex3:getInt('.form_dex20'),
+ dex4:getInt('.form_dex30'),
+ dex5:getInt('.form_dex40'),
defence_train:getInt('.form_defence_train'),
};
}
@@ -373,7 +373,7 @@ jQuery(function($){
dedication:0,
- recwar:'2018-08-26 12:00',
+ recent_war:'2018-08-26 12:00',
experience:Math.pow(generalData.explevel, 2),
};
diff --git a/hwe/sammo/Command/General/che_인재탐색.php b/hwe/sammo/Command/General/che_인재탐색.php
index c0e9c9d1..034675a2 100644
--- a/hwe/sammo/Command/General/che_인재탐색.php
+++ b/hwe/sammo/Command/General/che_인재탐색.php
@@ -175,7 +175,7 @@ class che_인재탐색 extends Command\GeneralCommand{
$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
+ avg(dex1+dex2+dex3+dex4) as dex_t, avg(age) as age, avg(dex5) as dex5
from general where nation=%i',
$nationID
);
@@ -275,7 +275,7 @@ class che_인재탐색 extends Command\GeneralCommand{
$dexVal[1],
$dexVal[2],
$dexVal[3],
- $avgGen['dex40']
+ $avgGen['dex5']
);
$newNPC->build($this->env);
diff --git a/hwe/sammo/Command/Nation/che_의병모집.php b/hwe/sammo/Command/Nation/che_의병모집.php
index ccc26331..3e65542f 100644
--- a/hwe/sammo/Command/Nation/che_의병모집.php
+++ b/hwe/sammo/Command/Nation/che_의병모집.php
@@ -153,7 +153,7 @@ class che_의병모집 extends Command\NationCommand{
$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
+ avg(dex1+dex2+dex3+dex4) as dex_t, avg(age) as age, avg(dex5) as dex5
from general where nation=%i',
$nationID
);
@@ -242,7 +242,7 @@ class che_의병모집 extends Command\NationCommand{
$dexVal[1],
$dexVal[2],
$dexVal[3],
- $avgGen['dex40']
+ $avgGen['dex5']
);
$newNPC->build($this->env);
diff --git a/hwe/sammo/Event/Action/RaiseInvader.php b/hwe/sammo/Event/Action/RaiseInvader.php
index c7ed4d7d..f853481c 100644
--- a/hwe/sammo/Event/Action/RaiseInvader.php
+++ b/hwe/sammo/Event/Action/RaiseInvader.php
@@ -110,7 +110,7 @@ class RaiseInvader extends \sammo\Event\Action{
$dex = $this->dex;
if($dex < 0){
- $dex = $db->queryFirstField("SELECT avg(dex0 + dex10 + dex20 + dex30 + dex40)/5 from nation where `level`>0");
+ $dex = $db->queryFirstField("SELECT avg(dex1 + dex2 + dex3 + dex4 + dex5)/5 from nation where `level`>0");
$dex /= -1 * $this->dex;
}
diff --git a/hwe/sammo/GameUnitConstBase.php b/hwe/sammo/GameUnitConstBase.php
index 41a2982c..341af7e5 100644
--- a/hwe/sammo/GameUnitConstBase.php
+++ b/hwe/sammo/GameUnitConstBase.php
@@ -6,13 +6,13 @@ class GameUnitConstBase{
}
- const T_CASTLE = -1;
- const T_MISC = -2;
- const T_FOOTMAN = 0;
- const T_ARCHER = 1;
- const T_CAVALRY = 2;
- const T_WIZARD = 3;
- const T_SIEGE = 4;
+ const T_CASTLE = 0;
+ const T_FOOTMAN = 1;
+ const T_ARCHER = 2;
+ const T_CAVALRY = 3;
+ const T_WIZARD = 4;
+ const T_SIEGE = 5;
+ const T_MISC = 6;
const DEFAULT_CREWTYPE = 0;
@@ -34,7 +34,7 @@ class GameUnitConstBase{
protected static $_buildData = [
[
- -1, self::T_CASTLE, '성벽',
+ 1000, self::T_CASTLE, '성벽',
100, 100, 7, 0, 0, 99, 9,
999999, null, null, 999999,
[],//성벽은 공격할 수 없다.
@@ -44,7 +44,7 @@ class GameUnitConstBase{
],
[
- 0, self::T_FOOTMAN, '보병',
+ 1100, self::T_FOOTMAN, '보병',
100, 150, 7, 10, 0, 9, 9,
0, null, null, 0,
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
@@ -53,7 +53,7 @@ class GameUnitConstBase{
null, null
],
[
- 1, self::T_FOOTMAN, '청주병',
+ 1101, self::T_FOOTMAN, '청주병',
100, 200, 7, 10, 0, 10, 11,
1000, null, ['중원'], 0,
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
@@ -62,7 +62,7 @@ class GameUnitConstBase{
null, null
],
[
- 2, self::T_FOOTMAN, '수병',
+ 1102, self::T_FOOTMAN, '수병',
150, 150, 7, 10, 0, 11, 10,
1000, null, ['오월'], 0,
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
@@ -71,7 +71,7 @@ class GameUnitConstBase{
null, null
],
[
- 3, self::T_FOOTMAN, '자객병',
+ 1103, self::T_FOOTMAN, '자객병',
100, 150, 8, 20, 0, 10, 10,
2000, ['저'], null, 0,
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
@@ -80,7 +80,7 @@ class GameUnitConstBase{
null, null
],
[
- 4, self::T_FOOTMAN, '근위병',
+ 1104, self::T_FOOTMAN, '근위병',
150, 200, 7, 10, 0, 12, 12,
3000, ['낙양'], null, 0,
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
@@ -89,7 +89,7 @@ class GameUnitConstBase{
null, null
],
[
- 5, self::T_FOOTMAN, '등갑병',
+ 1105, self::T_FOOTMAN, '등갑병',
100, 225, 7, 5, 0, 13, 10,
1000, null, ['남중'], 0,
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
@@ -99,7 +99,7 @@ class GameUnitConstBase{
],
[
- 10, self::T_ARCHER, '궁병',
+ 1200, self::T_ARCHER, '궁병',
100, 100, 7, 20, 0, 10, 10,
0, null, null, 0,
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
@@ -108,7 +108,7 @@ class GameUnitConstBase{
null, null
],
[
- 11, self::T_ARCHER, '궁기병',
+ 1201, self::T_ARCHER, '궁기병',
100, 100, 8, 30, 0, 11, 12,
1000, null, ['동이'], 0,
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
@@ -117,7 +117,7 @@ class GameUnitConstBase{
null, null
],
[
- 12, self::T_ARCHER, '연노병',
+ 1202, self::T_ARCHER, '연노병',
150, 100, 8, 20, 0, 12, 11,
1000, null, ['서촉'], 0,
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
@@ -126,7 +126,7 @@ class GameUnitConstBase{
null, null
],
[
- 13, self::T_ARCHER, '강궁병',
+ 1203, self::T_ARCHER, '강궁병',
150, 150, 7, 20, 0, 13, 13,
3000, ['양양'], null, 0,
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
@@ -135,7 +135,7 @@ class GameUnitConstBase{
null, null
],
[
- 14, self::T_ARCHER, '석궁병',
+ 1204, self::T_ARCHER, '석궁병',
200, 100, 7, 20, 0, 13, 13,
3000, ['건업'], null, 0,
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
@@ -145,7 +145,7 @@ class GameUnitConstBase{
],
[
- 20, self::T_CAVALRY, '기병',
+ 1300, self::T_CAVALRY, '기병',
150, 100, 7, 5, 0, 11, 11,
0, null, null, 0,
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
@@ -154,7 +154,7 @@ class GameUnitConstBase{
null, null
],
[
- 21, self::T_CAVALRY, '백마병',
+ 1301, self::T_CAVALRY, '백마병',
200, 100, 7, 5, 0, 12, 13,
1000, null, ['하북'], 0,
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
@@ -163,7 +163,7 @@ class GameUnitConstBase{
null, null
],
[
- 22, self::T_CAVALRY, '중장기병',
+ 1302, self::T_CAVALRY, '중장기병',
150, 150, 7, 5, 0, 13, 12,
1000, null, ['서북'], 0,
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
@@ -172,7 +172,7 @@ class GameUnitConstBase{
null, null
],
[
- 23, self::T_CAVALRY, '돌격기병',
+ 1303, self::T_CAVALRY, '돌격기병',
200, 100, 8, 5, 0, 13, 11,
2000, ['흉노'], null, 0,
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
@@ -181,7 +181,7 @@ class GameUnitConstBase{
null, null
],
[
- 24, self::T_CAVALRY, '철기병',
+ 1304, self::T_CAVALRY, '철기병',
100, 200, 7, 5, 0, 11, 13,
2000, ['강'], null, 0,
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
@@ -190,7 +190,7 @@ class GameUnitConstBase{
null, null
],
[
- 25, self::T_CAVALRY, '수렵기병',
+ 1305, self::T_CAVALRY, '수렵기병',
150, 100, 8, 15, 0, 12, 12,
2000, ['산월'], null, 0,
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
@@ -199,7 +199,7 @@ class GameUnitConstBase{
null, null
],
[
- 26, self::T_CAVALRY, '맹수병',
+ 1306, self::T_CAVALRY, '맹수병',
250, 175, 6, 0, 0, 16, 16,
2000, ['남만'], null, 0,
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
@@ -208,7 +208,7 @@ class GameUnitConstBase{
null, null
],
[
- 27, self::T_CAVALRY, '호표기병',
+ 1307, self::T_CAVALRY, '호표기병',
200, 150, 7, 5, 0, 14, 14,
3000, ['허창'], null, 0,
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
@@ -218,7 +218,7 @@ class GameUnitConstBase{
],
[
- 30, self::T_WIZARD, '귀병',
+ 1400, self::T_WIZARD, '귀병',
80, 80, 7, 5, 0.5, 9, 9,
0, null, null, 0,
[self::T_SIEGE=>1.2],
@@ -227,7 +227,7 @@ class GameUnitConstBase{
null, null
],
[
- 31, self::T_WIZARD, '신귀병',
+ 1401, self::T_WIZARD, '신귀병',
80, 80, 7, 20, 0.6, 10, 10,
1000, null, ['초'], 0,
[self::T_SIEGE=>1.2],
@@ -236,7 +236,7 @@ class GameUnitConstBase{
null, null
],
[
- 32, self::T_WIZARD, '백귀병',
+ 1402, self::T_WIZARD, '백귀병',
80, 130, 7, 5, 0.6, 9, 11,
2000, ['오환'], null, 0,
[self::T_SIEGE=>1.2],
@@ -245,7 +245,7 @@ class GameUnitConstBase{
null, null
],
[
- 33, self::T_WIZARD, '흑귀병',
+ 1403, self::T_WIZARD, '흑귀병',
130, 80, 7, 5, 0.6, 11, 9,
2000, ['왜'], null, 0,
[self::T_SIEGE=>1.2],
@@ -254,7 +254,7 @@ class GameUnitConstBase{
null, null
],
[
- 34, self::T_WIZARD, '악귀병',
+ 1404, self::T_WIZARD, '악귀병',
130, 130, 7, 0, 0.6, 12, 12,
3000, ['장안'], null, 0,
[self::T_SIEGE=>1.2],
@@ -263,7 +263,7 @@ class GameUnitConstBase{
null, null
],
[
- 35, self::T_WIZARD, '남귀병',
+ 1405, self::T_WIZARD, '남귀병',
60, 60, 7, 10, 0.8, 8, 8,
1000, null, null, 0,
[self::T_SIEGE=>1.2],
@@ -272,7 +272,7 @@ class GameUnitConstBase{
null, null
],
[
- 36, self::T_WIZARD, '황귀병',
+ 1406, self::T_WIZARD, '황귀병',
110, 110, 7, 0, 0.8, 13, 10,
3000, ['낙양'], null, 0,
[self::T_SIEGE=>1.2],
@@ -281,7 +281,7 @@ class GameUnitConstBase{
null, null
],
[
- 37, self::T_WIZARD, '천귀병',
+ 1407, self::T_WIZARD, '천귀병',
80, 130, 7, 15, 0.6, 11, 12,
3000, ['성도'], null, 0,
[self::T_SIEGE=>1.2],
@@ -290,7 +290,7 @@ class GameUnitConstBase{
null, null
],
[
- 38, self::T_WIZARD, '마귀병',
+ 1408, self::T_WIZARD, '마귀병',
130, 80, 7, 15, 0.6, 12, 11,
3000, ['업'], null, 0,
[self::T_SIEGE=>1.2],
@@ -300,7 +300,7 @@ class GameUnitConstBase{
],
[
- 40, self::T_SIEGE, '정란',
+ 1500, self::T_SIEGE, '정란',
100, 100, 6, 0, 0, 15, 5,
0, null, null, 3,
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>1.8],
@@ -309,7 +309,7 @@ class GameUnitConstBase{
['che_성벽부상무효'], null
],
[
- 41, self::T_SIEGE, '충차',
+ 1501, self::T_SIEGE, '충차',
150, 100, 6, 0, 0, 20, 5,
1000, null, null, 3,
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>2.4],
@@ -318,7 +318,7 @@ class GameUnitConstBase{
['che_성벽부상무효'], null
],
[
- 42, self::T_SIEGE, '벽력거',
+ 1502, self::T_SIEGE, '벽력거',
200, 100, 6, 0, 0, 25, 5,
3000, ['업'], null, 0,
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>1.8],
@@ -327,7 +327,7 @@ class GameUnitConstBase{
['che_성벽부상무효'], null
],
[
- 43, self::T_SIEGE, '목우',
+ 1503, self::T_SIEGE, '목우',
50, 200, 5, 0, 0, 30, 5,
3000, ['성도'], null, 0,
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8],
@@ -378,6 +378,9 @@ class GameUnitConstBase{
}
public static function byID(int $id): ?GameUnitDetail{
+ if($id < 1000){
+ throw new \InvalidArgumentException('적절한 id는 1000이상이어야합니다:'.$id);
+ }
static::_generate();
return static::$constID[$id]??null;
}
diff --git a/hwe/sammo/GameUnitDetail.php b/hwe/sammo/GameUnitDetail.php
index 0c6b9c2e..94ca47d6 100644
--- a/hwe/sammo/GameUnitDetail.php
+++ b/hwe/sammo/GameUnitDetail.php
@@ -83,20 +83,22 @@ class GameUnitDetail implements iAction{
return $this->cost * getTechCost($tech) * $crew / 100;
}
- public function getAttackCoef($armType):float{
- if($armType instanceof GameUnitDetail){
- $armType = $armType->armType;
+ public function getAttackCoef(GameUnitDetail $opposeCrewType):float{
+ $opposeCrewTypeID = $opposeCrewType->id;
+ if(key_exists($opposeCrewTypeID, $this->attackCoef)){
+ return $this->attackCoef[$opposeCrewTypeID];
}
- assert(is_numeric($armType), '$armType should be int or GameUnitDetail');
- return $this->attackCoef[$armType]??1;
+ $opposeArmType = $opposeCrewType->armType;
+ return $this->attackCoef[$opposeArmType]??1;
}
- public function getDefenceCoef($armType):float{
- if($armType instanceof GameUnitDetail){
- $armType = $armType->armType;
+ public function getDefenceCoef(GameUnitDetail $opposeCrewType):float{
+ $opposeCrewTypeID = $opposeCrewType->id;
+ if(key_exists($opposeCrewTypeID, $this->defenceCoef)){
+ return $this->defenceCoef[$opposeCrewTypeID];
}
- assert(is_numeric($armType), '$armType should be int or GameUnitDetail');
- return $this->defenceCoef[$armType]??1;
+ $opposeArmType = $opposeCrewType->armType;
+ return $this->defenceCoef[$opposeArmType]??1;
}
public function getComputedAttack(General $general, int $tech){
diff --git a/hwe/sammo/General.php b/hwe/sammo/General.php
index e59ee39a..78aee85f 100644
--- a/hwe/sammo/General.php
+++ b/hwe/sammo/General.php
@@ -366,8 +366,7 @@ class General implements iAction{
$exp *= ($this->getVar('train') + $this->getVar('atmos')) / 200;
}
- $ntype = $armType*10;
- $dexType = "dex{$ntype}";
+ $dexType = "dex{$armType}";
$this->increaseVar($dexType, $exp);
}
@@ -446,11 +445,11 @@ class General implements iAction{
$this->setVar('age', 20);
$this->setVar('specage', 0);
$this->setVar('specage2', 0);
- $this->multiplyVar('dex0', 0.5);
- $this->multiplyVar('dex10', 0.5);
- $this->multiplyVar('dex20', 0.5);
- $this->multiplyVar('dex30', 0.5);
- $this->multiplyVar('dex40', 0.5);
+ $this->multiplyVar('dex1', 0.5);
+ $this->multiplyVar('dex2', 0.5);
+ $this->multiplyVar('dex3', 0.5);
+ $this->multiplyVar('dex4', 0.5);
+ $this->multiplyVar('dex5', 0.5);
$this->setRankVar('firenum', 0);
$this->setRankVar('warnum', 0);
@@ -769,8 +768,8 @@ class General implements iAction{
'experience', 'dedication', 'level', 'gold', 'rice', 'crew', 'crewtype', 'train', 'atmos', 'turntime',
'makelimit', 'killturn', 'block', 'dedlevel', 'explevel', 'age', 'startage', 'belong',
'personal', 'special', 'special2', 'defence_train', 'tnmt', 'npc', 'npc_org', 'deadyear', 'npcmsg',
- 'dex0', 'dex10', 'dex20', 'dex30', 'dex40',
- 'recwar', 'last_turn', 'myset',
+ 'dex1', 'dex2', 'dex3', 'dex4', 'dex5',
+ 'recent_war', 'last_turn', 'myset',
'specage', 'specage2', 'con', 'connect', 'owner', 'aux'
];
diff --git a/hwe/sammo/Scenario/NPC.php b/hwe/sammo/Scenario/NPC.php
index 123bfdad..f9ce0d74 100644
--- a/hwe/sammo/Scenario/NPC.php
+++ b/hwe/sammo/Scenario/NPC.php
@@ -52,11 +52,11 @@ class NPC{
public $killturn = null;
//XXX: 코드 못 바꾸나?
- protected $dex0 = 0;
- protected $dex10 = 0;
- protected $dex20 = 0;
- protected $dex30 = 0;
- protected $dex40 = 0;
+ protected $dex1 = 0;
+ protected $dex2 = 0;
+ protected $dex3 = 0;
+ protected $dex4 = 0;
+ protected $dex5 = 0;
public function __construct(
int $affinity,
@@ -149,11 +149,11 @@ class NPC{
}
public function setDex(int $footman, int $archer, int $cavalry, int $wizard, int $siege):self{
- $this->dex0 = $footman;
- $this->dex10 = $archer;
- $this->dex20 = $cavalry;
- $this->dex30 = $wizard;
- $this->dex40 = $siege;
+ $this->dex1 = $footman;
+ $this->dex2 = $archer;
+ $this->dex3 = $cavalry;
+ $this->dex4 = $wizard;
+ $this->dex5 = $siege;
return $this;
}
@@ -339,11 +339,11 @@ class NPC{
'makelimit'=>0,
'bornyear'=>$this->birth,
'deadyear'=>$this->death,
- 'dex0'=>$this->dex0,
- 'dex10'=>$this->dex10,
- 'dex20'=>$this->dex20,
- 'dex30'=>$this->dex30,
- 'dex40'=>$this->dex40,
+ 'dex1'=>$this->dex1,
+ 'dex2'=>$this->dex2,
+ 'dex3'=>$this->dex3,
+ 'dex4'=>$this->dex4,
+ 'dex5'=>$this->dex5,
]);
$this->generalID = $db->insertId();
$turnRows = [];
diff --git a/hwe/sammo/SpecialityConst.php b/hwe/sammo/SpecialityConst.php
index aede893b..0e458633 100644
--- a/hwe/sammo/SpecialityConst.php
+++ b/hwe/sammo/SpecialityConst.php
@@ -136,11 +136,11 @@ class SpecialityConst{
private static function calcCondDexterity(array $general) : int {
$dex = [
- static::ARMY_FOOTMAN => $general['dex0']??0,
- static::ARMY_ARCHER => $general['dex10']??0,
- static::ARMY_CAVALRY => $general['dex20']??0,
- static::ARMY_WIZARD => $general['dex30']??0,
- static::ARMY_SIEGE => $general['dex40']??0,
+ static::ARMY_FOOTMAN => $general['dex1']??0,
+ static::ARMY_ARCHER => $general['dex2']??0,
+ static::ARMY_CAVALRY => $general['dex3']??0,
+ static::ARMY_WIZARD => $general['dex4']??0,
+ static::ARMY_SIEGE => $general['dex5']??0,
];
$dexSum = array_sum($dex);
diff --git a/hwe/sammo/WarUnitGeneral.php b/hwe/sammo/WarUnitGeneral.php
index ecf95e4a..fe519b94 100644
--- a/hwe/sammo/WarUnitGeneral.php
+++ b/hwe/sammo/WarUnitGeneral.php
@@ -49,10 +49,10 @@ class WarUnitGeneral extends WarUnit{
$this->general->increaseVar('warnum', 1);
if($this->isAttacker){
- $general->updateVar('recwar', $general->getTurnTime());
+ $general->updateVar('recent_war', $general->getTurnTime());
}
else if($oppose !== null){
- $general->updateVar('recwar', $oppose->getGeneral()->getTurnTime());
+ $general->updateVar('recent_war', $oppose->getGeneral()->getTurnTime());
}
}
@@ -203,29 +203,7 @@ class WarUnitGeneral extends WarUnit{
}
function addDex(GameUnitDetail $crewType, float $exp){
- $general = $this->general;
- $armType = $crewType->armType;
-
- if($armType == GameUnitConst::T_CASTLE){
- $armType = GameUnitConst::T_SIEGE;
- }
-
- if($armType < 0){
- return;
- }
-
- if($armType == GameUnitConst::T_WIZARD) {
- $exp *= 0.9;
- }
- else if($armType == GameUnitConst::T_SIEGE) {
- $exp *= 0.9;
- }
- $exp *= ($this->getComputedTrain() + $this->getComputedAtmos()) / 200;
-
- $ntype = $armType*10;
- $dexType = "dex{$ntype}";
-
- $general->increaseVar($dexType, $exp);
+ $this->general->addDex($crewType, $exp, false);
}
function decreaseHP(int $damage):int{
diff --git a/hwe/scenario/unit/basic.php b/hwe/scenario/unit/basic.php
index c7c3e61e..f3a3acfb 100644
--- a/hwe/scenario/unit/basic.php
+++ b/hwe/scenario/unit/basic.php
@@ -7,7 +7,7 @@ class GameUnitConst extends GameUnitConstBase
protected static $_buildData = [
[
- -1, self::T_CASTLE, '성벽',
+ 1000, self::T_CASTLE, '성벽',
100, 100, 7, 0, 0, 99, 9,
999999, null, null, 999999,
[],//성벽은 공격할 수 없다.
@@ -17,7 +17,7 @@ class GameUnitConst extends GameUnitConstBase
],
[
- 0, self::T_FOOTMAN, '보병',
+ 1100, self::T_FOOTMAN, '보병',
100, 150, 7, 10, 0, 9, 9,
0, null, null, 0,
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
@@ -27,7 +27,7 @@ class GameUnitConst extends GameUnitConstBase
],
[
- 10, self::T_ARCHER, '궁병',
+ 1200, self::T_ARCHER, '궁병',
100, 100, 7, 20, 0, 10, 10,
0, null, null, 0,
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
@@ -37,7 +37,7 @@ class GameUnitConst extends GameUnitConstBase
],
[
- 20, self::T_CAVALRY, '기병',
+ 1300, self::T_CAVALRY, '기병',
150, 100, 7, 5, 0, 11, 11,
0, null, null, 0,
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
@@ -47,7 +47,7 @@ class GameUnitConst extends GameUnitConstBase
],
[
- 30, self::T_WIZARD, '귀병',
+ 1400, self::T_WIZARD, '귀병',
80, 80, 7, 5, 0.5, 9, 9,
0, null, null, 0,
[self::T_SIEGE=>1.2],
@@ -56,7 +56,7 @@ class GameUnitConst extends GameUnitConstBase
null, null
],
[
- 35, self::T_WIZARD, '남귀병',
+ 1405, self::T_WIZARD, '남귀병',
60, 60, 7, 10, 0.8, 8, 8,
1000, null, null, 0,
[self::T_SIEGE=>1.2],
@@ -66,7 +66,7 @@ class GameUnitConst extends GameUnitConstBase
],
[
- 40, self::T_SIEGE, '정란',
+ 1500, self::T_SIEGE, '정란',
100, 100, 6, 0, 0, 15, 5,
0, null, null, 3,
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>1.8],
@@ -75,7 +75,7 @@ class GameUnitConst extends GameUnitConstBase
['che_성벽부상무효'], null
],
[
- 41, self::T_SIEGE, '충차',
+ 1501, self::T_SIEGE, '충차',
150, 100, 6, 0, 0, 20, 5,
1000, null, null, 3,
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>2.4],
diff --git a/hwe/scenario/unit/ludo_rathowm.php b/hwe/scenario/unit/ludo_rathowm.php
index 5eb8040d..825059e3 100644
--- a/hwe/scenario/unit/ludo_rathowm.php
+++ b/hwe/scenario/unit/ludo_rathowm.php
@@ -15,7 +15,7 @@ class GameUnitConst extends GameUnitConstBase
protected static $_buildData = [
[
- -1, self::T_CASTLE, '성벽',
+ 1000, self::T_CASTLE, '성벽',
100, 100, 7, 0, 0, 99, 9,
999999, null, null, 999999,
[],//성벽은 공격할 수 없다.
@@ -25,280 +25,280 @@ class GameUnitConst extends GameUnitConstBase
],
[
- 217001, self::T_FOOTMAN, '보병',
+ 217100, self::T_FOOTMAN, '보병',
100, 150, 7, 10, 0, 9, 9,
0, null, null, 0,
- [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
- [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
+ [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
+ [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["표준적인 보병입니다. 보병은 방어특화입니다."],
null, null
],
[
- 217002, self::T_FOOTMAN, '마물병',
+ 217101, self::T_FOOTMAN, '마물병',
110, 160, 7, 10, 0, 9, 10,
0, null, ["호넷 마인령","케이브리스 마인령"], 0,
- [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
- [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
+ [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
+ [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["마군 지역 기본병종입니다. 조금더 강하지만 쌀을 많이 소비합니다."],
null, null
],
[
- 217003, self::T_FOOTMAN, '중장보병',
+ 217102, self::T_FOOTMAN, '중장보병',
100, 250, 7, 5, 0, 13, 10,
1000, null, ["헬만 동부"], 0,
- [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
- [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
+ [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
+ [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["헬만 특유의 견고한 보병입니다."],
null, null
],
[
- 217004, self::T_FOOTMAN, '흑의 군 보병',
+ 217103, self::T_FOOTMAN, '흑의 군 보병',
150, 150, 7, 10, 0, 12, 11,
1000, null, ["리자스 남부","리자스 북부"], 0,
- [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
- [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
+ [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
+ [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["흑의 군 전통의 체계적인 훈련으로 공격력을 보완했습니다."],
null, null
],
[
- 217005, self::T_FOOTMAN, '용병',
+ 217104, self::T_FOOTMAN, '용병',
125, 175, 7, 10, 0, 12, 11,
1000, null, ["자유도시 동부"], 0,
- [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
- [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
+ [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
+ [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["일반 보병보다 비싸지만 받은 만큼은 일해줍니다."],
null, null
],
[
- 217006, self::T_FOOTMAN, '사메라이',
+ 217105, self::T_FOOTMAN, '사메라이',
175, 150, 7, 0, 0, 11, 10,
1000, null, ["제스 남부"], 0,
- [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
- [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
+ [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
+ [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["검으로 난무를 가하는 몬스터 보병입니다."],
null, null
],
[
- 217007, self::T_FOOTMAN, '템플나이트병',
+ 217106, self::T_FOOTMAN, '템플나이트병',
75, 275, 7, 0, 0, 11, 12,
1000, null, ["AL교"], 0,
- [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
- [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
+ [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
+ [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["공격을 포기하고 오직 방어에만 집중합니다."],
null, null
],
[
- 217008, self::T_FOOTMAN, '메이드병',
+ 217107, self::T_FOOTMAN, '메이드병',
150, 150, 7, 20, 0, 13, 11,
2000, ["메이드의 묘지"], null, 0,
- [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
- [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
+ [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
+ [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["켓셀링크 휘하의 날렵한 전투메이드입니다."],
null, null
],
[
- 217009, self::T_FOOTMAN, '요괴병',
+ 217108, self::T_FOOTMAN, '요괴병',
150, 150, 8, 0, 0, 11, 13,
2000, ["오슈"], null, 0,
- [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
- [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
+ [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
+ [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["단단한 육체를 믿고 적진을 돌파합니다."],
null, null
],
[
- 217010, self::T_FOOTMAN, '리자스 친위병',
+ 217109, self::T_FOOTMAN, '리자스 친위병',
150, 200, 7, 10, 0, 12, 12,
3000, ["리자스성"], null, 0,
- [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
- [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
+ [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
+ [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["여왕을 수호하는 리자스 최강의 보병 정예보병입니다."],
null, null
],
[
- 217011, self::T_FOOTMAN, '케이브리스 마물병',
+ 217110, self::T_FOOTMAN, '케이브리스 마물병',
200, 150, 7, 5, 0, 13, 14,
3000, ["케이브리스의 성"], null, 0,
- [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
- [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
+ [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
+ [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["케이브리스 직속의 마물 정예 전투보병입니다."],
null, null
],
[
- 217012, self::T_FOOTMAN, '투신',
+ 217111, self::T_FOOTMAN, '투신',
200, 300, 7, 5, 0, 28, 23,
5000, ["투신도시"], null, 0,
- [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
- [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
+ [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
+ [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["성마교단 유적에서 발굴된 사상 최강의 보병입니다."],
null, null
],
[
- 217101, self::T_ARCHER, '궁병',
+ 217200, self::T_ARCHER, '궁병',
100, 100, 7, 20, 0, 10, 10,
0, null, null, 0,
- [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2],
- [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8],
+ [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
+ [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
["표준적인 궁병입니다. 궁병은 회피특화입니다."],
null, null
],
[
- 217102, self::T_ARCHER, '투척마물병',
+ 217201, self::T_ARCHER, '투척마물병',
150, 100, 7, 10, 0, 11, 12,
1000, null, ["호넷 마인령"], 0,
- [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2],
- [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8],
+ [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
+ [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
["날렵함을 포기하고 도끼를 투척합니다."],
null, null
],
[
- 217103, self::T_ARCHER, '백의 군 궁병',
+ 217202, self::T_ARCHER, '백의 군 궁병',
100, 100, 8, 30, 0, 11, 11,
1000, null, ["리자스 남부"], 0,
- [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2],
- [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8],
+ [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
+ [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
["전략을 활용하여 치고 빠지기에 능합니다."],
null, null
],
[
- 217104, self::T_ARCHER, '벌레술사병',
+ 217203, self::T_ARCHER, '벌레술사병',
100, 150, 7, 20, 0, 12, 12,
2000, ["호박성"], null, 0,
- [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2],
- [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8],
+ [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
+ [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
["벌레들을 부려 몸을 보호하는 궁병입니다."],
null, null
],
[
- 217105, self::T_ARCHER, '저격암살병',
+ 217204, self::T_ARCHER, '저격암살병',
225, 75, 5, 10, 0, 14, 11,
2000, ["블라디보스토크"], null, 0,
- [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2],
- [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8],
+ [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
+ [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
["독을 바른 탄환으로 적의 목숨을 앗아갑니다."],
null, null
],
[
- 217106, self::T_ARCHER, '호루스병',
+ 217205, self::T_ARCHER, '호루스병',
150, 100, 8, 20, 0, 11, 12,
2000, ["거대전함"], null, 0,
- [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2],
- [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8],
+ [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
+ [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
["민첩하게 파고드는 호루스족 궁병입니다."],
null, null
],
[
- 217107, self::T_ARCHER, '튤립병',
+ 217206, self::T_ARCHER, '튤립병',
200, 100, 7, 20, 0, 13, 13,
3000, ["커스텀"], null, 0,
- [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2],
- [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8],
+ [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
+ [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
["최첨단병기 튤립으로 적을 폭격합니다."],
null, null
],
[
- 217108, self::T_ARCHER, '아이스플레임 궁병',
+ 217207, self::T_ARCHER, '아이스플레임 궁병',
150, 150, 7, 20, 0, 13, 13,
3000, ["라그나로크 아크"], null, 0,
- [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2],
- [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8],
+ [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
+ [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
["혁명을 성공으로 이끈 정예 게릴라 궁병입니다."],
null, null
],
[
- 217109, self::T_ARCHER, '카라 궁병',
+ 217208, self::T_ARCHER, '카라 궁병',
225, 225, 7, 30, 0, 25, 25,
5000, ["펜실 카우"], null, 0,
- [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2],
- [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8],
+ [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
+ [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
["선조의 힘을 이어받은 최강의 카라 정예 궁병입니다."],
null, null
],
[
- 217201, self::T_CAVALRY, '기동병',
+ 217300, self::T_CAVALRY, '기동병',
150, 100, 7, 5, 0, 11, 11,
0, null, null, 0,
- [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
- [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
+ [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
+ [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["표준적인 기동병입니다. 기동병은 공격특화입니다."],
null, null
],
[
- 217202, self::T_CAVALRY, '하치온나',
+ 217301, self::T_CAVALRY, '하치온나',
175, 100, 7, 15, 0, 12, 12,
1000, null, ["자유도시 서부"], 0,
- [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
- [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
+ [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
+ [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["작은 몸으로 회피하며 따끔한 일격을 먹이는 몬스터 기동병입니다."],
null, null
],
[
- 217203, self::T_CAVALRY, '적의 군 기동병',
+ 217302, self::T_CAVALRY, '적의 군 기동병',
200, 100, 7, 5, 0, 12, 13,
1000, null, ["리자스 북부"], 0,
- [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
- [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
+ [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
+ [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["리자스군의 자랑인 기동부대입니다."],
null, null
],
[
- 217204, self::T_CAVALRY, '안드로이드 기동병',
+ 217303, self::T_CAVALRY, '안드로이드 기동병',
175, 150, 7, 10, 0, 13, 12,
2000, ["악의 탑"], null, 0,
- [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
- [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
+ [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
+ [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["파이아르가 개발한 최첨단 안드로이드 기동병입니다."],
null, null
],
[
- 217205, self::T_CAVALRY, '파란쵸 기동병',
+ 217304, self::T_CAVALRY, '파란쵸 기동병',
200, 100, 8, 5, 0, 13, 11,
2000, ["파란쵸 왕국"], null, 0,
- [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
- [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
+ [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
+ [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["적진을 일점돌파하는 파란쵸왕국의 돌격 기동병입니다. "],
null, null
],
[
- 217206, self::T_CAVALRY, '비행마물병',
+ 217305, self::T_CAVALRY, '비행마물병',
150, 100, 8, 15, 0, 12, 12,
2000, ["죽음의 대지"], null, 0,
- [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
- [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
+ [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
+ [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["비행마물에 올라탄 기동마물병입니다."],
null, null
],
[
- 217207, self::T_CAVALRY, '마물조련사병',
+ 217306, self::T_CAVALRY, '마물조련사병',
250, 200, 6, 0, 0, 16, 16,
3000, ["랑그바우"], null, 0,
- [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
- [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
+ [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
+ [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["무시무시한 몬스터에 올라타서 싸우는 극강의 기동병입니다."],
null, null
],
[
- 217208, self::T_CAVALRY, '기마병',
+ 217307, self::T_CAVALRY, '기마병',
200, 150, 7, 5, 0, 14, 14,
3000, ["오와리"], null, 0,
- [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
- [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
+ [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
+ [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["JAPAN 특유의 기마에 올라타 적을 짓밟는 기동병입니다."],
null, null
],
[
- 217209, self::T_CAVALRY, '엔젤나이트',
+ 217308, self::T_CAVALRY, '엔젤나이트',
300, 200, 7, 5, 0, 25, 25,
5000, ["떨어진 궁도"], null, 0,
- [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
- [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
+ [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
+ [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["신의 명령으로 파멸을 내리기 위해 강림했습니다."],
null, null
],
[
- 217301, self::T_WIZARD, '마법병',
+ 217400, self::T_WIZARD, '마법병',
80, 80, 7, 5, 0.6, 9, 9,
0, null, null, 0,
[self::T_SIEGE=>1.2],
@@ -307,7 +307,7 @@ class GameUnitConst extends GameUnitConstBase
null, null
],
[
- 217302, self::T_WIZARD, '마물 마법병',
+ 217401, self::T_WIZARD, '마물 마법병',
90, 90, 7, 0, 0.6, 11, 9,
0, null, ["호넷 마인령","케이브리스 마인령"], 0,
[self::T_SIEGE=>1.2],
@@ -316,7 +316,7 @@ class GameUnitConst extends GameUnitConstBase
null, null
],
[
- 217303, self::T_WIZARD, '카라 마법병',
+ 217402, self::T_WIZARD, '카라 마법병',
80, 80, 7, 20, 0.6, 10, 10,
1000, null, ["카라의 숲"], 0,
[self::T_SIEGE=>1.2],
@@ -325,7 +325,7 @@ class GameUnitConst extends GameUnitConstBase
null, null
],
[
- 217304, self::T_WIZARD, '제스 마법병',
+ 217403, self::T_WIZARD, '제스 마법병',
100, 100, 7, 0, 0.6, 10, 10,
1000, null, ["제스 북부"], 0,
[self::T_SIEGE=>1.2],
@@ -334,7 +334,7 @@ class GameUnitConst extends GameUnitConstBase
null, null
],
[
- 217305, self::T_WIZARD, '무녀',
+ 217404, self::T_WIZARD, '무녀',
80, 80, 8, 10, 0.6, 10, 10,
1000, null, ["JAPAN"], 0,
[self::T_SIEGE=>1.2],
@@ -343,7 +343,7 @@ class GameUnitConst extends GameUnitConstBase
null, null
],
[
- 217306, self::T_WIZARD, '프로즌',
+ 217405, self::T_WIZARD, '프로즌',
90, 70, 7, 10, 0.8, 10, 10,
1000, null, ["헬만 서부"], 0,
[self::T_SIEGE=>1.2],
@@ -352,7 +352,7 @@ class GameUnitConst extends GameUnitConstBase
null, null
],
[
- 217307, self::T_WIZARD, '마소한 마법병',
+ 217406, self::T_WIZARD, '마소한 마법병',
70, 90, 7, 10, 0.8, 11, 10,
1000, null, ["케이브리스 마인령"], 0,
[self::T_SIEGE=>1.2],
@@ -361,7 +361,7 @@ class GameUnitConst extends GameUnitConstBase
null, null
],
[
- 217308, self::T_WIZARD, '신관병',
+ 217407, self::T_WIZARD, '신관병',
80, 130, 7, 5, 0.6, 9, 11,
2000, ["카이즈"], null, 0,
[self::T_SIEGE=>1.2],
@@ -370,7 +370,7 @@ class GameUnitConst extends GameUnitConstBase
null, null
],
[
- 217309, self::T_WIZARD, '중장마법병',
+ 217408, self::T_WIZARD, '중장마법병',
80, 130, 7, 15, 0.6, 11, 12,
3000, ["로제스그라드"], null, 0,
[self::T_SIEGE=>1.2],
@@ -379,7 +379,7 @@ class GameUnitConst extends GameUnitConstBase
null, null
],
[
- 217310, self::T_WIZARD, '악마병',
+ 217409, self::T_WIZARD, '악마병',
130, 80, 7, 15, 0.6, 11, 12,
3000, ["올드제스"], null, 0,
[self::T_SIEGE=>1.2],
@@ -388,7 +388,7 @@ class GameUnitConst extends GameUnitConstBase
null, null
],
[
- 217311, self::T_WIZARD, '호넷 마물병',
+ 217410, self::T_WIZARD, '호넷 마물병',
130, 130, 7, 0, 0.6, 12, 12,
3000, ["구 마왕성"], null, 0,
[self::T_SIEGE=>1.2],
@@ -397,7 +397,7 @@ class GameUnitConst extends GameUnitConstBase
null, null
],
[
- 217312, self::T_WIZARD, 'Z가디언',
+ 217411, self::T_WIZARD, 'Z가디언',
180, 180, 7, 0, 0.7, 28, 20,
5000, ["라그나로크 아크"], null, 0,
[self::T_SIEGE=>1.2],
@@ -407,7 +407,7 @@ class GameUnitConst extends GameUnitConstBase
],
[
- 217401, self::T_SIEGE, '정란',
+ 217500, self::T_SIEGE, '정란',
150, 150, 6, 0, 0, 15, 5,
0, null, null, 3,
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>1.8],
@@ -416,7 +416,7 @@ class GameUnitConst extends GameUnitConstBase
['che_성벽부상무효'], null
],
[
- 217402, self::T_SIEGE, '충차',
+ 217501, self::T_SIEGE, '충차',
150, 100, 6, 0, 0, 20, 5,
1000, null, null, 3,
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>2.4],
@@ -425,7 +425,7 @@ class GameUnitConst extends GameUnitConstBase
['che_성벽부상무효'], null
],
[
- 217403, self::T_SIEGE, '튤립3호',
+ 217502, self::T_SIEGE, '튤립3호',
275, 300, 6, 0, 0, 35, 15,
5000, ["커스텀"], null, 0,
[ ],
diff --git a/hwe/scenario/unit/siegetank.php b/hwe/scenario/unit/siegetank.php
index cb9bfb33..805a1543 100644
--- a/hwe/scenario/unit/siegetank.php
+++ b/hwe/scenario/unit/siegetank.php
@@ -7,7 +7,7 @@ class GameUnitConst extends GameUnitConstBase
protected static $_buildData = [
[
- -1, self::T_CASTLE, '성벽',
+ 1000, self::T_CASTLE, '성벽',
100, 100, 7, 0, 0, 99, 9,
999999, null, null, 999999,
[],//성벽은 공격할 수 없다.
@@ -16,7 +16,7 @@ class GameUnitConst extends GameUnitConstBase
null, null
],
[
- 0, self::T_FOOTMAN, '보병',
+ 1100, self::T_FOOTMAN, '보병',
100, 150, 7, 10, 0, 18, 18,
0, null, null, 0,
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8],
@@ -26,7 +26,7 @@ class GameUnitConst extends GameUnitConstBase
],
[
- 10, self::T_ARCHER, '궁병',
+ 1200, self::T_ARCHER, '궁병',
100, 100, 7, 20, 0, 20, 20,
0, null, null, 0,
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8],
@@ -36,7 +36,7 @@ class GameUnitConst extends GameUnitConstBase
],
[
- 20, self::T_CAVALRY, '기병',
+ 1300, self::T_CAVALRY, '기병',
150, 100, 7, 5, 0, 22, 22,
0, null, null, 0,
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8],
@@ -46,7 +46,7 @@ class GameUnitConst extends GameUnitConstBase
],
[
- 30, self::T_WIZARD, '귀병',
+ 1400, self::T_WIZARD, '귀병',
80, 80, 7, 5, 0.5, 18, 18,
0, null, null, 0,
[],
@@ -55,7 +55,7 @@ class GameUnitConst extends GameUnitConstBase
null, null
],
[
- 35, self::T_WIZARD, '남귀병',
+ 1405, self::T_WIZARD, '남귀병',
60, 60, 7, 10, 0.8, 16, 16,
1000, null, null, 0,
[],
@@ -65,7 +65,7 @@ class GameUnitConst extends GameUnitConstBase
],
[
- 40, self::T_SIEGE, '정란',
+ 1500, self::T_SIEGE, '정란',
100, 100, 6, 0, 0, 7, 3,
0, null, null, 0,
[self::T_CASTLE=>1.8],
@@ -74,7 +74,7 @@ class GameUnitConst extends GameUnitConstBase
['che_성벽부상무효'], null
],
[
- 41, self::T_SIEGE, '충차',
+ 1501, self::T_SIEGE, '충차',
150, 100, 6, 0, 0, 10, 3,
1000, null, null, 3,
[self::T_CASTLE=>2.4],
@@ -83,7 +83,7 @@ class GameUnitConst extends GameUnitConstBase
['che_성벽부상무효'], null
],
[
- 42, self::T_SIEGE, '벽력거',
+ 1502, self::T_SIEGE, '벽력거',
200, 100, 6, 0, 0, 20, 4,
3000, ['업'], null, 0,
[self::T_CASTLE=>1.8],
@@ -92,7 +92,7 @@ class GameUnitConst extends GameUnitConstBase
['che_성벽부상무효'], null
],
[
- 43, self::T_SIEGE, '목우',
+ 1503, self::T_SIEGE, '목우',
50, 200, 5, 0, 0, 15, 3,
3000, ['성도'], null, 0,
[],
diff --git a/hwe/sql/schema.sql b/hwe/sql/schema.sql
index 6b289896..72c6b471 100644
--- a/hwe/sql/schema.sql
+++ b/hwe/sql/schema.sql
@@ -33,11 +33,11 @@ CREATE TABLE `general` (
`injury` INT(2) NOT NULL DEFAULT '0',
`experience` INT(6) NOT NULL DEFAULT '0',
`dedication` INT(6) NOT NULL DEFAULT '0',
- `dex0` INT(8) NOT NULL DEFAULT '0',
- `dex10` INT(8) NOT NULL DEFAULT '0',
- `dex20` INT(8) NOT NULL DEFAULT '0',
- `dex30` INT(8) NOT NULL DEFAULT '0',
- `dex40` INT(8) NOT NULL DEFAULT '0',
+ `dex1` INT(8) NOT NULL DEFAULT '0',
+ `dex2` INT(8) NOT NULL DEFAULT '0',
+ `dex3` INT(8) NOT NULL DEFAULT '0',
+ `dex4` INT(8) NOT NULL DEFAULT '0',
+ `dex5` INT(8) NOT NULL DEFAULT '0',
`level` INT(2) NOT NULL DEFAULT '0',
`permission` ENUM('normal','auditor','ambassador') NULL DEFAULT 'normal',
`gold` INT(6) NOT NULL DEFAULT '1000',
@@ -51,7 +51,7 @@ CREATE TABLE `general` (
`horse` VARCHAR(20) NOT NULL DEFAULT 'None',
`item` VARCHAR(20) NOT NULL DEFAULT 'None',
`turntime` DATETIME(6) NOT NULL,
- `recwar` DATETIME(6) NULL DEFAULT NULL,
+ `recent_war` DATETIME(6) NULL DEFAULT NULL,
`makelimit` INT(2) NULL DEFAULT '0',
`killturn` INT(3) NULL DEFAULT NULL,
`lastconnect` DATETIME NULL DEFAULT NULL,