아이템 코드를 String으로 바꾸었으므로 연동 대상 또한 변경

This commit is contained in:
2019-06-09 22:50:39 +09:00
parent 8699a43a22
commit 59c0c6cfb8
19 changed files with 315 additions and 605 deletions
+3 -3
View File
@@ -220,7 +220,7 @@ switch($btn) {
$text = "무기 회수!";
}
else {
$text = getWeapName($weap)." 지급!";
$text = getItemName($weap)." 지급!";
}
foreach($genlist as $generalID){
@@ -244,7 +244,7 @@ switch($btn) {
$text = "책 회수!";
}
else {
$text = getBookName($weap)." 지급!";
$text = getItemName($weap)." 지급!";
}
foreach($genlist as $generalID){
@@ -268,7 +268,7 @@ switch($btn) {
$text = "말 회수!";
}
else {
$text = getHorseName($weap)." 지급!";
$text = getItemName($weap)." 지급!";
}
foreach($genlist as $generalID){
+20 -8
View File
@@ -14,6 +14,7 @@ $db = DB::db();
$gameStor = KVStorage::getStorage($db, 'game_env');
increaseRefresh("명장일람", 1);
$templates = new \League\Plates\Engine(__dir__.'/templates');
?>
<!DOCTYPE html>
@@ -223,23 +224,34 @@ foreach($types as $idx=>[$typeName, $typeValue, $typeFunc]){
<?php
//유니크 아이템 소유자
$itemTypes = [
["명 마", 'horse', function($v){return getHorseName($v);}, 7, 26, []],
["명 검", 'weap', function($v){return getWeapName($v);}, 7, 26, []],
["명 서", 'book', function($v){return getBookName($v);}, 7, 26, []],
["도 구", 'item', function($v){return displayItemInfo($v);}, 7, 26, []],
'horse'=>'명 마',
'weap'=>'명 검',
'book'=>'명 서',
'item'=>'도 구'
];
$simpleItemTypes = array_map(function($itemType){return $itemType[1];}, $itemTypes);
$simpleItemTypes = array_keys($itemTypes); array_map(function($itemType){return $itemType[1];}, $itemTypes);
foreach($generals as $general){
foreach($itemTypes as $itemIdx=>[,$itemType, $itemFunc,,,]){
$itemCode = $general[$itemType];
if($itemCode <= 6){
$itemClass = buildItemClass($itemCode);
if(!$itemClass->isBuyable()){
continue;
}
$itemName = ($itemFunc)($itemCode);
$general['rankName'] = $itemName;
$info = $itemClass->getInfo();
$name = $itemClass->getName();
if($info){
$name = $templates->render('tooltip', [
'text'=>$text,
'info'=>$info,
]);
}
$general['rankName'] = $name;
$general['value'] = $itemCode;
$itemTypes[$itemIdx][5][$itemCode] = $general;
}
+3 -3
View File
@@ -292,7 +292,7 @@ var defaultSpecialDomestic = <?=GameConst::$defaultSpecialDomestic?>;
</div>
<select class="custom-select form_general_horse">
<?php foreach(range(0, 26) as $horseID): ?>
<option value="<?=$horseID?>"><?=getHorseName($horseID)?></option>
<option value="<?=$horseID?>"><?=getItemName($horseID)?></option>
<?php endforeach; ?>
</select>
<div class="input-group-prepend">
@@ -300,7 +300,7 @@ var defaultSpecialDomestic = <?=GameConst::$defaultSpecialDomestic?>;
</div>
<select class="custom-select form_general_weap">
<?php foreach(range(0, 26) as $weapID): ?>
<option value="<?=$weapID?>"><?=getWeapName($weapID)?></option>
<option value="<?=$weapID?>"><?=getItemName($weapID)?></option>
<?php endforeach; ?>
</select>
<div class="input-group-prepend">
@@ -308,7 +308,7 @@ var defaultSpecialDomestic = <?=GameConst::$defaultSpecialDomestic?>;
</div>
<select class="custom-select form_general_book">
<?php foreach(range(0, 26) as $bookID): ?>
<option value="<?=$bookID?>"><?=getBookName($bookID)?></option>
<option value="<?=$bookID?>"><?=getItemName($bookID)?></option>
<?php endforeach; ?>
</select>
</div>
+30 -30
View File
@@ -818,9 +818,9 @@ function generalInfo($no) {
}
$call = getCall($general['leader'], $general['power'], $general['intel']);
$typename = GameUnitConst::byId($general['crewtype'])->name;
$weapname = getWeapName($general['weap']);
$bookname = getBookName($general['book']);
$horsename = getHorseName($general['horse']);
$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);
@@ -2237,9 +2237,9 @@ function uniqueItemEx(int $generalID, ActionLogger $logger, string $acquireType=
//아이템 습득 상황
$availableUnique = [];
$itemTypes = [
'horse'=>'getHorseName',
'weap'=>'getWeapName',
'book'=>'getBookName',
'horse'=>'getItemName',
'weap'=>'getItemName',
'book'=>'getItemName',
'item'=>'getItemName'
];
$itemCodeList = range(7, 26); // [7, 26] 20개
@@ -2340,51 +2340,51 @@ function uniqueItem($general, $log, $vote=0) {
switch($sel) {
case 0:
$josaUl = JosaUtil::pick(getWeapName($it), '을');
$josaUl = JosaUtil::pick(getItemName($it), '을');
$josaYi = JosaUtil::pick($general['name'], '이');
$log[] = "<C>●</><C>".getWeapName($it)."</>{$josaUl} 습득했습니다!";
$alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <C>".getWeapName($it)."</>{$josaUl} 습득했습니다!";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<C>".getWeapName($it)."</>{$josaUl} 습득");
$log[] = "<C>●</><C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
$alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<C>".getItemName($it)."</>{$josaUl} 습득");
if($vote == 0) {
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【아이템】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getWeapName($it)."</>{$josaUl} 습득했습니다!";
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【아이템】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 1) {
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【설문상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getWeapName($it)."</>{$josaUl} 습득했습니다!";
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【설문상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 2) {
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【랜덤임관상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getWeapName($it)."</>{$josaUl} 습득했습니다!";
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【랜덤임관상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 3) {
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【건국상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getWeapName($it)."</>{$josaUl} 습득했습니다!";
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【건국상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
}
break;
case 1:
$josaUl = JosaUtil::pick(getBookName($it), '을');
$josaUl = JosaUtil::pick(getItemName($it), '을');
$josaYi = JosaUtil::pick($general['name'], '이');
$log[] = "<C>●</><C>".getBookName($it)."</>{$josaUl} 습득했습니다!";
$alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <C>".getBookName($it)."</>{$josaUl} 습득했습니다!";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<C>".getBookName($it)."</>{$josaUl} 습득");
$log[] = "<C>●</><C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
$alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<C>".getItemName($it)."</>{$josaUl} 습득");
if($vote == 0) {
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【아이템】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getBookName($it)."</>{$josaUl} 습득했습니다!";
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【아이템】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 1) {
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【설문상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getBookName($it)."</>{$josaUl} 습득했습니다!";
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【설문상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 2) {
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【랜덤임관상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getBookName($it)."</>{$josaUl} 습득했습니다!";
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【랜덤임관상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 3) {
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【건국상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getBookName($it)."</>{$josaUl} 습득했습니다!";
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【건국상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
}
break;
case 2:
$josaUl = JosaUtil::pick(getHorseName($it), '을');
$josaUl = JosaUtil::pick(getItemName($it), '을');
$josaYi = JosaUtil::pick($general['name'], '이');
$log[] = "<C>●</><C>".getHorseName($it)."</>{$josaUl} 습득했습니다!";
$alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <C>".getHorseName($it)."</>{$josaUl} 습득했습니다!";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<C>".getHorseName($it)."</>{$josaUl} 습득");
$log[] = "<C>●</><C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
$alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
pushGeneralHistory($general, "<C>●</>{$admin['year']}{$admin['month']}월:<C>".getItemName($it)."</>{$josaUl} 습득");
if($vote == 0) {
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【아이템】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getHorseName($it)."</>{$josaUl} 습득했습니다!";
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【아이템】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 1) {
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【설문상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getHorseName($it)."</>{$josaUl} 습득했습니다!";
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【설문상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 2) {
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【랜덤임관상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getHorseName($it)."</>{$josaUl} 습득했습니다!";
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【랜덤임관상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 3) {
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【건국상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getHorseName($it)."</>{$josaUl} 습득했습니다!";
$history[] = "<C>●</>{$admin['year']}{$admin['month']}월:<C><b>【건국상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
}
break;
case 3:
+30 -30
View File
@@ -675,9 +675,9 @@ function generalInfo($no) {
}
$call = getCall($general['leader'], $general['power'], $general['intel']);
$typename = GameUnitConst::byId($general['crewtype'])->name;
$weapname = getWeapName($general['weap']);
$bookname = getBookName($general['book']);
$horsename = getHorseName($general['horse']);
$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);
@@ -1538,9 +1538,9 @@ function tryUniqueItemLottery(General $general, string $acquireType='아이템')
//아이템 습득 상황
$availableUnique = [];
$itemTypes = [
'horse'=>'getHorseName',
'weap'=>'getWeapName',
'book'=>'getBookName',
'horse'=>'getItemName',
'weap'=>'getItemName',
'book'=>'getItemName',
'item'=>'getItemName'
];
$itemCodeList = range(7, 26); // [7, 26] 20개
@@ -1647,51 +1647,51 @@ function uniqueItem($general, $log, $vote=0) {
switch($sel) {
case 0:
$josaUl = JosaUtil::pick(getWeapName($it), '을');
$josaUl = JosaUtil::pick(getItemName($it), '을');
$josaYi = JosaUtil::pick($general['name'], '이');
$log[] = "<C>●</><C>".getWeapName($it)."</>{$josaUl} 습득했습니다!";
$alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <C>".getWeapName($it)."</>{$josaUl} 습득했습니다!";
pushGeneralHistory($general, "<C>●</>{$admin['year']}년 {$admin['month']}월:<C>".getWeapName($it)."</>{$josaUl} 습득");
$log[] = "<C>●</><C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
$alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
pushGeneralHistory($general, "<C>●</>{$admin['year']}년 {$admin['month']}월:<C>".getItemName($it)."</>{$josaUl} 습득");
if($vote == 0) {
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【아이템】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getWeapName($it)."</>{$josaUl} 습득했습니다!";
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【아이템】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 1) {
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【설문상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getWeapName($it)."</>{$josaUl} 습득했습니다!";
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【설문상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 2) {
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【랜덤임관상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getWeapName($it)."</>{$josaUl} 습득했습니다!";
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【랜덤임관상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 3) {
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【건국상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getWeapName($it)."</>{$josaUl} 습득했습니다!";
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【건국상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
}
break;
case 1:
$josaUl = JosaUtil::pick(getBookName($it), '을');
$josaUl = JosaUtil::pick(getItemName($it), '을');
$josaYi = JosaUtil::pick($general['name'], '이');
$log[] = "<C>●</><C>".getBookName($it)."</>{$josaUl} 습득했습니다!";
$alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <C>".getBookName($it)."</>{$josaUl} 습득했습니다!";
pushGeneralHistory($general, "<C>●</>{$admin['year']}년 {$admin['month']}월:<C>".getBookName($it)."</>{$josaUl} 습득");
$log[] = "<C>●</><C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
$alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
pushGeneralHistory($general, "<C>●</>{$admin['year']}년 {$admin['month']}월:<C>".getItemName($it)."</>{$josaUl} 습득");
if($vote == 0) {
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【아이템】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getBookName($it)."</>{$josaUl} 습득했습니다!";
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【아이템】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 1) {
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【설문상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getBookName($it)."</>{$josaUl} 습득했습니다!";
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【설문상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 2) {
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【랜덤임관상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getBookName($it)."</>{$josaUl} 습득했습니다!";
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【랜덤임관상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 3) {
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【건국상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getBookName($it)."</>{$josaUl} 습득했습니다!";
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【건국상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
}
break;
case 2:
$josaUl = JosaUtil::pick(getHorseName($it), '을');
$josaUl = JosaUtil::pick(getItemName($it), '을');
$josaYi = JosaUtil::pick($general['name'], '이');
$log[] = "<C>●</><C>".getHorseName($it)."</>{$josaUl} 습득했습니다!";
$alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <C>".getHorseName($it)."</>{$josaUl} 습득했습니다!";
pushGeneralHistory($general, "<C>●</>{$admin['year']}년 {$admin['month']}월:<C>".getHorseName($it)."</>{$josaUl} 습득");
$log[] = "<C>●</><C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
$alllog[0] = "<C>●</>{$admin['month']}월:<Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
pushGeneralHistory($general, "<C>●</>{$admin['year']}년 {$admin['month']}월:<C>".getItemName($it)."</>{$josaUl} 습득");
if($vote == 0) {
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【아이템】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getHorseName($it)."</>{$josaUl} 습득했습니다!";
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【아이템】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 1) {
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【설문상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getHorseName($it)."</>{$josaUl} 습득했습니다!";
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【설문상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 2) {
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【랜덤임관상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getHorseName($it)."</>{$josaUl} 습득했습니다!";
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【랜덤임관상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
} elseif($vote == 3) {
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【건국상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getHorseName($it)."</>{$josaUl} 습득했습니다!";
$history[] = "<C>●</>{$admin['year']}년 {$admin['month']}월:<C><b>【건국상품】</b></><D><b>{$nation['name']}</b></>의 <Y>{$general['name']}</>{$josaYi} <C>".getItemName($it)."</>{$josaUl} 습득했습니다!";
}
break;
case 3:
+3 -3
View File
@@ -7,9 +7,9 @@ function GetStuffName($stuff) {
switch($type1) {
case 0: $str = ""; break;
case 1: $str = getWeapName($type2); break;
case 2: $str = getBookName($type2); break;
case 3: $str = getHorseName($type2); break;
case 1: $str = getItemName($type2); break;
case 2: $str = getItemName($type2); break;
case 3: $str = getItemName($type2); break;
case 4: $str = getItemName($type2); break;
default:$str = "?"; break;
}
+6 -6
View File
@@ -207,14 +207,14 @@ function getGeneralTurnBrief(General $generalObj, array $turnList) {
} elseif($double == 300) {
$str[$i] = "도구를 판매";
} elseif($double < 100) {
$josaUl = JosaUtil::pick(getWeapName($double), '을');
$str[$i] = "".getWeapName($double)."{$josaUl} 구입";
$josaUl = JosaUtil::pick(getItemName($double), '을');
$str[$i] = "".getItemName($double)."{$josaUl} 구입";
} elseif($double < 200) {
$josaUl = JosaUtil::pick(getBookName($double-100), '을');
$str[$i] = "".getBookName($double-100)."{$josaUl} 구입";
$josaUl = JosaUtil::pick(getItemName($double-100), '을');
$str[$i] = "".getItemName($double-100)."{$josaUl} 구입";
} elseif($double < 300) {
$josaUl = JosaUtil::pick(getHorseName($double-200), '을');
$str[$i] = "".getHorseName($double-200)."{$josaUl} 구입";
$josaUl = JosaUtil::pick(getItemName($double-200), '을');
$str[$i] = "".getItemName($double-200)."{$josaUl} 구입";
} elseif($double < 400) {
$josaUl = JosaUtil::pick(getItemName($double-300), '을');
$str[$i] = "".getItemName($double-300)."{$josaUl} 구입";
+109 -392
View File
@@ -18,179 +18,74 @@ function getCharacterList(){
return $infoText;
}
function CharCall($call) {
static $invTable = [];
if(\key_exists($call, $invTable)){
return $invTable[$call];
}
foreach(getCharacterList() as $id => [$name, $info]){
$invTable[$name] = $id;
}
if(!key_exists($call, $invTable)){
throw new \InvalidArgumentException("{$call}은 올바른 성격이 아님");
}
return $invTable[$call];
function getNationChiefLevel(int $level) {
return [
7=>5,
6=>5,
5=>7,
4=>7,
3=>9,
2=>9,
1=>11,
0=>11,
][$level];
}
function SpecCall($call) {
switch($call) {
case '-': $type = 0; break;
case '경작': $type = 1; break;
case '상재': $type = 2; break;
case '발명': $type = 3; break;
case '축성': $type = 10; break;
case '수비': $type = 11; break;
case '통찰': $type = 12; break;
case '인덕': $type = 20; break;
case '거상': $type = 30; break;
case '귀모': $type = 31; break;
case '귀병': $type = 40; break;
case '신산': $type = 41; break;
case '환술': $type = 42; break;
case '집중': $type = 43; break;
case '신중': $type = 44; break;
case '반계': $type = 45; break;
case '보병': $type = 50; break;
case '궁병': $type = 51; break;
case '기병': $type = 52; break;
case '공성': $type = 53; break;
case '돌격': $type = 60; break;
case '무쌍': $type = 61; break;
case '견고': $type = 62; break;
case '위압': $type = 63; break;
case '저격': $type = 70; break;
case '필살': $type = 71; break;
case '징병': $type = 72; break;
case '의술': $type = 73; break;
case '격노': $type = 74; break;
case '척사': $type = 75; break;
default: $type = 0; break;
}
return $type;
function getNationLevel(int $level) {
return [
7=>'황제',
6=>'왕',
5=>'공',
4=>'주목',
3=>'주자사',
2=>'군벌',
1=>'호족',
0=>'방랑군',
][$level];
}
function getNationChiefLevel($level) {
switch($level) {
case 7: $lv = 5; break;
case 6: $lv = 5; break;
case 5: $lv = 7; break;
case 4: $lv = 7; break;
case 3: $lv = 9; break;
case 2: $lv = 9; break;
case 1: $lv = 11; break;
case 0: $lv = 11; break;
}
return $lv;
}
function getNationLevel($level) {
switch($level) {
case 7: $call = '황제'; break;
case 6: $call = '왕'; break;
case 5: $call = '공'; break;
case 4: $call = '주목'; break;
case 3: $call = '주자사'; break;
case 2: $call = '군벌'; break;
case 1: $call = '호족'; break;
case 0: $call = '방랑군'; break;
}
return $call;
}
function getGenChar($type) {
return getCharacterList()[$type][0];
}
function getCharInfo(?int $type):?string {
function getGenChar(?string $type) {
if($type === null){
return null;
return '-';
}
return getCharacterList()[$type][1]??null;
return getPersonalityClass($type)::$name;
}
function getGenSpecial($type) {
switch($type) {
case 40: $call = '귀병'; break;
case 41: $call = '신산'; break;
case 42: $call = '환술'; break;
case 43: $call = '집중'; break;
case 44: $call = '신중'; break;
case 45: $call = '반계'; break;
case 50: $call = '보병'; break;
case 51: $call = '궁병'; break;
case 52: $call = '기병'; break;
case 53: $call = '공성'; break;
case 60: $call = '돌격'; break;
case 61: $call = '무쌍'; break;
case 62: $call = '견고'; break;
case 63: $call = '위압'; break;
case 70: $call = '저격'; break;
case 71: $call = '필살'; break;
case 72: $call = '징병'; break;
case 73: $call = '의술'; break;
case 74: $call = '격노'; break;
case 75: $call = '척사'; break;
default: $call = null;
function getGeneralSpecialDomesticName(?string $type):string{
if($type === null){
return '-';
}
return $call;
return (getGeneralSpecialDomesticClass($type)::$name)??'-';
}
function getGeneralSpecialWarName(?string $type):string{
if($type === null){
return '-';
}
return (getGeneralSpecialWarClass($type)::$name)??'-';
}
function getSpecialTextList():array{
//앞칸은 '설명을 위해' '그냥' 적어둠
return [
0 => ['-', null],
1 => ['경작', '[내정] 농지 개간 : 기본 보정 +10%, 성공률 +10%p, 비용 -20%'],
2 => ['상재', '[내정] 상업 투자 : 기본 보정 +10%, 성공률 +10%p, 비용 -20%'],
3 => ['발명', '[내정] 기술 연구 : 기본 보정 +10%, 성공률 +10%p, 비용 -20%'],
static $list = null;
if($list !== null){
return $list;
}
10 => ['축성', '[내정] 성벽 보수 : 기본 보정 +10%, 성공률 +10%p, 비용 -20%'],
11 => ['수비', '[내정] 수비 강화 : 기본 보정 +10%, 성공률 +10%p, 비용 -20%'],
12 => ['통찰', '[내정] 치안 강화 : 기본 보정 +10%, 성공률 +10%p, 비용 -20%'],
$list = ['None' => ['-', null]];
foreach(GameConst::$availableSpecialDomestic as $specialKey){
$specialClass = getGeneralSpecialDomesticClass($specialKey);
$list[$specialKey] = [$specialClass::$name, $specialClass::$info];
}
20 => ['인덕', '[내정] 주민 선정·정착 장려 : 기본 보정 +10%, 성공률 +10%p, 비용 -20%'],
foreach(GameConst::$availableSpecialWar as $specialKey){
$specialClass = getGeneralSpecialWarClass($specialKey);
$list[$specialKey] = [$specialClass::$name, $specialClass::$info];
}
30 => ['거상', '이것 저것'],
31 => ['귀모', '[계략] 화계·탈취·파괴·선동 : 성공률 +20%p'],
40 => ['귀병', '[군사] 귀병 계통 징·모병비 -10%<br>[전투] 계략 성공 확률 +20%p'],
41 => ['신산', '[계략] 화계·탈취·파괴·선동 : 성공률 +10%p<br>[전투] 계략 시도 확률 +20%p, 계략 성공 확률 +20%p '],
42 => ['환술', '[전투] 계략 성공 확률 +10%p, 계략 성공 시 대미지 +30%'],
43 => ['집중', '[전투] 계략 성공 시 대미지 +50%'],
44 => ['신중', '[전투] 계략 성공 확률 100%'],
45 => ['반계', '[전투] 상대의 계략 성공 확률 -10%p, 상대의 계략을 40% 확률로 되돌림, 반목 성공시 대미지 추가(+60% → +100%)'],
50 => ['보병', '[군사] 보병 계통 징·모병비 -10%<br>[전투] 공격 시 아군 피해 -10%, 수비 시 아군 피해 -20%'],
51 => ['궁병', '[군사] 궁병 계통 징·모병비 -10%<br>[전투] 회피 확률 +20%p'],
52 => ['기병', '[군사] 기병 계통 징·모병비 -10%<br>[전투] 수비 시 대미지 +10%, 공격 시 대미지 +20%'],
53 => ['공성', '[군사] 차병 계통 징·모병비 -10%<br>[전투] 성벽 공격 시 대미지 +100%'],
60 => ['돌격', '[전투] 상대 회피 불가, 공격 시 전투 페이즈 +1, 공격 시 대미지 +10%'],
61 => ['무쌍', '[전투] 대미지 +10%, 공격 시 필살 확률 +10%p'],
62 => ['견고', '[전투] 상대 필살, 격노, 위압, 저격 불가, 상대 계략 시도시 성공 확률 -10%p, 부상 없음, 아군 피해 -5%'],
63 => ['위압', '[전투] 훈련/사기≥90, 병력≥1,000 일 때 첫 페이즈 위압 발동(적 공격 불가)'],
70 => ['저격', '[전투] 전투 개시 시 1/3 확률로 저격 발동'],
71 => ['필살', '[전투] 필살 확률 +20%p'],
72 => ['징병', '[군사] 징·모병비 -50%, 통솔 순수 능력치 보정 +15%'],
73 => ['의술', '[군사] 매 턴마다 자신(100%)과 소속 도시 장수(적 포함 50%) 부상 회복<br>[전투] 페이즈마다 20% 확률로 치료 발동(아군 피해 1/3 감소)'],
74 => ['격노', '[전투] 상대방 필살 및 회피 시도시 일정 확률로 격노(필살) 발동, 공격 시 일정 확률로 진노(1페이즈 추가)'],
75 => ['척사', '[전투] 지역·도시 병종 상대로 대미지 +10%, 아군 피해 -10%']
];
return $list;
}
function getSpecialInfo(?int $type):?string{
function getSpecialInfo(?string $type):?string{
if($type === null){
return null;
}
@@ -397,53 +292,49 @@ function buildWarUnitTriggerClass(?string $type, WarUnit $unit, ?array $args = n
function getLevel($level, $nlevel=8) {
if($level >= 0 && $level <= 4) { $nlevel = 0; }
$code = $nlevel * 100 + $level;
switch($code) {
case 812: $call = '군주'; break;
case 811: $call = '참모'; break;
case 810: $call = '제1장군'; break;
case 809: $call = '제1모사'; break;
case 808: $call = '제2장군'; break;
case 807: $call = '제2모사'; break;
case 806: $call = '제3장군'; break;
case 805: $call = '제3모사'; break;
return [
812 => '군주',
811 => '참모',
810 => '제1장군',
809 => '제1모사',
808 => '제2장군',
807 => '제2모사',
806 => '제3장군',
805 => '제3모사',
case 712: $call = '황제'; break; case 612: $call = '왕'; break;
case 711: $call = '승상'; break; case 611: $call = '광록훈'; break;
case 710: $call = '표기장군'; break; case 610: $call = '좌장군'; break;
case 709: $call = '사공'; break; case 609: $call = '상서령'; break;
case 708: $call = '거기장군'; break; case 608: $call = '우장군'; break;
case 707: $call = '태위'; break; case 607: $call = '중서령'; break;
case 706: $call = '위장군'; break; case 606: $call = '전장군'; break;
case 705: $call = '사도'; break; case 605: $call = '비서령'; break;
712 => '황제', 612 => '왕',
711 => '승상', 611 => '광록훈',
710 => '표기장군', 610 => '좌장군',
709 => '사공', 609 => '상서령',
708 => '거기장군', 608 => '우장군',
707 => '태위', 607 => '중서령',
706 => '위장군', 606 => '전장군',
705 => '사도', 605 => '비서령',
case 512: $call = '공'; break; case 412: $call = '주목'; break;
case 511: $call = '광록대부'; break; case 411: $call = '태사령'; break;
case 510: $call = '안국장군'; break; case 410: $call = '아문장군'; break;
case 509: $call = '집금오'; break; case 409: $call = '낭중'; break;
case 508: $call = '파로장군'; break; case 408: $call = '호군'; break;
case 507: $call = '소부'; break; case 407: $call = '종사중랑'; break;
512 => '공', 412 => '주목',
511 => '광록대부', 411 => '태사령',
510 => '안국장군', 410 => '아문장군',
509 => '집금오', 409 => '낭중',
508 => '파로장군', 408 => '호군',
507 => '소부', 407 => '종사중랑',
case 312: $call = '주자사'; break; case 212: $call = '군벌'; break;
case 311: $call = '주부'; break; case 211: $call = '참모'; break;
case 310: $call = '편장군'; break; case 210: $call = '비장군'; break;
case 309: $call = '간의대부'; break; case 209: $call = '부참모'; break;
312 => '주자사', 212 => '군벌',
311 => '주부', 211 => '참모',
310 => '편장군', 210 => '비장군',
309 => '간의대부', 209 => '부참모',
case 112: $call = '영주'; break; case 12: $call = '두목'; break;
case 111: $call = '참모'; break; case 11: $call = '부두목'; break;
112 => '영주', 12 => '두목',
111 => '참모', 11 => '부두목',
case 4: $call = '태수'; break;
case 3: $call = '군사'; break;
case 2: $call = '종사'; break;
case 1: $call = '일반'; break;
case 0: $call = '재야'; break;
default: $call = '-'; break;
}
return $call;
4 => '태수',
3 => '군사',
2 => '종사',
1 => '일반',
0 => '재야',
][$code]??'-';
}
function getCall($leader, $power, $intel) {
$call = '평범';
if($leader < 40){
if($power + $intel < 40){
return '아둔';
@@ -636,14 +527,14 @@ function getDexLevel(int $dex) : int {
throw new \InvalidArgumentException();
}
$retVal = null;
$retVal = 0;
foreach(getDexLevelList() as $dexLevel => [$dexKey, $nextColor, $nextName]){
if($dex < $dexKey){
break;
}
$retVal = $dexLevel;
}
return $dexLevel;
return $retVal;
}
function getDexLog($dex1, $dex2) {
@@ -652,38 +543,12 @@ function getDexLog($dex1, $dex2) {
}
function getWeapName($weap) : ?string {
switch($weap) {
case 0: $weapname = '-'; break;
case 1: $weapname = '단도(+1)'; break;
case 2: $weapname = '단궁(+2)'; break;
case 3: $weapname = '단극(+3)'; break;
case 4: $weapname = '목검(+4)'; break;
case 5: $weapname = '죽창(+5)'; break;
case 6: $weapname = '소부(+6)'; break;
case 7: $weapname = '동추(+7)'; break;
case 8: $weapname = '철편(+7)'; break;
case 9: $weapname = '철쇄(+7)'; break;
case 10: $weapname = '맥궁(+7)'; break;
case 11: $weapname = '유성추(+8)'; break;
case 12: $weapname = '철질여골(+8)'; break;
case 13: $weapname = '쌍철극(+9)'; break;
case 14: $weapname = '동호비궁(+9)'; break;
case 15: $weapname = '삼첨도(+10)'; break;
case 16: $weapname = '대부(+10)'; break;
case 17: $weapname = '고정도(+11)'; break;
case 18: $weapname = '이광궁(+11)'; break;
case 19: $weapname = '철척사모(+12)'; break;
case 20: $weapname = '칠성검(+12)'; break;
case 21: $weapname = '사모(+13)'; break;
case 22: $weapname = '양유기궁(+13)'; break;
case 23: $weapname = '언월도(+14)'; break;
case 24: $weapname = '방천화극(+14)'; break;
case 25: $weapname = '청홍검(+15)'; break;
case 26: $weapname = '의천검(+15)'; break;
function getItemName(?string $item) : ?string {
if($item === null){
return '-';
}
return $weapname;
$itemClass = buildItemClass($item);
return $itemClass->getName();
}
function getWeapEff($weap) : ?int{
@@ -713,40 +578,6 @@ function getWeapEff($weap) : ?int{
return $weap;
}
function getBookName($book) : ?string {
switch($book) {
case 0: $bookname = '-'; break;
case 1: $bookname = '효경전(+1)'; break;
case 2: $bookname = '회남자(+2)'; break;
case 3: $bookname = '변도론(+3)'; break;
case 4: $bookname = '건상역주(+4)'; break;
case 5: $bookname = '여씨춘추(+5)'; break;
case 6: $bookname = '사민월령(+6)'; break;
case 7: $bookname = '위료자(+7)'; break;
case 8: $bookname = '사마법(+7)'; break;
case 9: $bookname = '한서(+7)'; break;
case 10: $bookname = '논어(+7)'; break;
case 11: $bookname = '전론(+8)'; break;
case 12: $bookname = '사기(+8)'; break;
case 13: $bookname = '장자(+9)'; break;
case 14: $bookname = '역경(+9)'; break;
case 15: $bookname = '시경(+10)'; break;
case 16: $bookname = '구국론(+10)'; break;
case 17: $bookname = '상군서(+11)'; break;
case 18: $bookname = '춘추전(+11)'; break;
case 19: $bookname = '산해경(+12)'; break;
case 20: $bookname = '맹덕신서(+12)'; break;
case 21: $bookname = '관자(+13)'; break;
case 22: $bookname = '병법24편(+13)'; break;
case 23: $bookname = '한비자(+14)'; break;
case 24: $bookname = '오자병법(+14)'; break;
case 25: $bookname = '노자(+15)'; break;
case 26: $bookname = '손자병법(+15)'; break;
}
return $bookname;
}
function getBookEff($book) : ?int {
switch($book) {
case 7: $book = 7; break;
@@ -774,40 +605,6 @@ function getBookEff($book) : ?int {
return $book;
}
function getHorseName($horse) : ?string {
switch($horse) {
case 0: $horsename = '-'; break;
case 1: $horsename = '노기(+1)'; break;
case 2: $horsename = '조랑(+2)'; break;
case 3: $horsename = '노새(+3)'; break;
case 4: $horsename = '나귀(+4)'; break;
case 5: $horsename = '갈색마(+5)'; break;
case 6: $horsename = '흑색마(+6)'; break;
case 7: $horsename = '백마(+7)'; break;
case 8: $horsename = '백마(+7)'; break;
case 9: $horsename = '기주마(+7)'; break;
case 10: $horsename = '기주마(+7)'; break;
case 11: $horsename = '양주마(+8)'; break;
case 12: $horsename = '양주마(+8)'; break;
case 13: $horsename = '과하마(+9)'; break;
case 14: $horsename = '과하마(+9)'; break;
case 15: $horsename = '대완마(+10)'; break;
case 16: $horsename = '대완마(+10)'; break;
case 17: $horsename = '서량마(+11)'; break;
case 18: $horsename = '서량마(+11)'; break;
case 19: $horsename = '사륜거(+12)'; break;
case 20: $horsename = '사륜거(+12)'; break;
case 21: $horsename = '절영(+13)'; break;
case 22: $horsename = '적로(+13)'; break;
case 23: $horsename = '적란마(+14)'; break;
case 24: $horsename = '조황비전(+14)'; break;
case 25: $horsename = '한혈마(+15)'; break;
case 26: $horsename = '적토마(+15)'; break;
}
return $horsename;
}
function getHorseEff($horse) : ?int {
switch($horse) {
case 7: $horse = 7; break;
@@ -835,109 +632,29 @@ function getHorseEff($horse) : ?int {
return $horse;
}
function isConsumable($item) : bool{
//XXX: 제거할 것. 정식 아이템 구현으로 이동
if(1 <= $item && $item <= 6){
return true;
function isConsumable(?string $item) : bool{
if($item === null){
return false;
}
return false;
$itemClass = buildItemClass($item);
return $itemClass->isConsumable();
}
function getItemName($item) : ?string {
switch($item) {
case 0: $itemname = '-'; break;
case 1: $itemname = '환약(치료)'; break;
case 2: $itemname = '수극(저격)'; break;
case 3: $itemname = '탁주(사기)'; break;
case 4: $itemname = '청주(훈련)'; break;
case 5: $itemname = '이추(계략)'; break;
case 6: $itemname = '향낭(계략)'; break;
case 7: $itemname = '오석산(치료)'; break;
case 8: $itemname = '무후행군(치료)'; break;
case 9: $itemname = '도소연명(치료)'; break;
case 10: $itemname = '칠엽청점(치료)'; break;
case 11: $itemname = '정력견혈(치료)'; break;
case 12: $itemname = '과실주(훈련)'; break;
case 13: $itemname = '이강주(훈련)'; break;
case 14: $itemname = '의적주(사기)'; break;
case 15: $itemname = '두강주(사기)'; break;
case 16: $itemname = '보령압주(사기)'; break;
case 17: $itemname = '철벽서(훈련)'; break;
case 18: $itemname = '단결도(훈련)'; break;
case 19: $itemname = '춘화첩(사기)'; break;
case 20: $itemname = '초선화(사기)'; break;
case 21: $itemname = '육도(계략)'; break;
case 22: $itemname = '삼략(계략)'; break;
case 23: $itemname = '청낭서(의술)'; break;
case 24: $itemname = '태평청령(의술)'; break;
case 25: $itemname = '태평요술(회피)'; break;
case 26: $itemname = '둔갑천서(회피)'; break;
default: $itemname = null;
function getItemInfo(?string $item):?array{
if($item === null){
return ['-', null];
}
return $itemname;
$itemClass = buildItemClass($item);
return [$itemClass->getName(), $itemClass->getInfo()];
}
function getItemInfo(?int $item):?array{
$itemInfo = [
1=>['환약(치료)', '[군사] 턴 실행 전 부상 회복. 1회용'],
2=>['수극(저격)', '[전투] 전투 개시 전 20% 확률로 저격 시도. 1회용'],
3=>['탁주(사기)', '[전투] 사기 보정 +3. 1회용'],
4=>['청주(훈련)', '[전투] 훈련 보정 +3. 1회용'],
5=>['이추(계략)', '[계략] 화계·탈취·파괴·선동 : 성공률 +10%p. 1회용'],
6=>['향낭(계략)', '[계략] 화계·탈취·파괴·선동 : 성공률 +20%p. 1회용'],
7=>['오석산(치료)', '[군사] 턴 실행 전 부상 회복.'],
8=>['무후행군(치료)', '[군사] 턴 실행 전 부상 회복.'],
9=>['도소연명(치료)', '[군사] 턴 실행 전 부상 회복.'],
10=>['칠엽청점(치료)', '[군사] 턴 실행 전 부상 회복.'],
11=>['정력견혈(치료)', '[군사] 턴 실행 전 부상 회복.'],
12=>['과실주(훈련)', '[전투] 훈련 보정 +5'],
13=>['이강주(훈련)', '[전투] 훈련 보정 +5'],
14=>['의적주(사기)', '[전투] 사기 보정 +5'],
15=>['두강주(사기)', '[전투] 사기 보정 +5'],
16=>['보령압주(사기)', '[전투] 사기 보정 +5'],
17=>['철벽서(훈련)', '[전투] 훈련 보정 +7'],
18=>['단결도(훈련)', '[전투] 훈련 보정 +7'],
19=>['춘화첩(사기)', '[전투] 사기 보정 +7'],
20=>['초선화(사기)', '[전투] 사기 보정 +7'],
21=>['육도(계략)', '[계략] 화계·탈취·파괴·선동 : 성공률 +20%p'],
22=>['삼략(계략)', '[계략] 화계·탈취·파괴·선동 : 성공률 +20%p'],
23=>['청낭서(의술)', '[군사] 매 턴마다 자신(100%)과 소속 도시 장수(적 포함 50%) 부상 회복<br>[전투] 페이즈마다 20% 확률로 치료 발동(아군 피해 1/3 감소)'],
24=>['태평청령(의술)', '[군사] 매 턴마다 자신(100%)과 소속 도시 장수(적 포함 50%) 부상 회복<br>[전투] 페이즈마다 20% 확률로 치료 발동(아군 피해 1/3 감소)'],
25=>['태평요술(회피)', '[전투] 회피 확률 +20%p'],
26=>['둔갑천서(회피)', '[전투] 회피 확률 +20%p'],
];
return $itemInfo[$item][1]??null;
}
function getItemCost2($weap) : int {
switch($weap) {
case 0: $weapcost = 0; break;
case 1: $weapcost = 100; break;
case 2: $weapcost = 1000; break;
case 3: $weapcost = 1000; break;
case 4: $weapcost = 1000; break;
case 5: $weapcost = 1000; break;
case 6: $weapcost = 3000; break;
default: $weapcost = 200; break;
function getItemCost(?string $item) : int {
if($item === null){
return 0;
}
return $weapcost;
}
function getItemCost($weap) : int {
switch($weap) {
case 0: $weapcost = 0; break;
case 1: $weapcost = 1000; break;
case 2: $weapcost = 3000; break;
case 3: $weapcost = 6000; break;
case 4: $weapcost = 10000; break;
case 5: $weapcost = 15000; break;
case 6: $weapcost = 21000; break;
default: $weapcost = 200; break;
}
return $weapcost;
$itemClass = buildItemClass($item);
return $itemClass->getCost();
}
function getNameColor(int $npcType):?string{
+3 -3
View File
@@ -1151,19 +1151,19 @@ function checkStatistic() {
$specialHistsStr = join(', ', array_map(function($histPair){
[$histKey, $cnt] = $histPair;
return getGenSpecial($histKey).'('.$cnt.')';
return getGeneralSpecialDomesticName($histKey).'('.$cnt.')';
}, Util::convertDictToArray($specialHists)));
$specialHists2Str = join(', ', array_map(function($histPair){
[$histKey, $cnt] = $histPair;
return getGenSpecial($histKey).'('.$cnt.')';
return getGeneralSpecialWarName($histKey).'('.$cnt.')';
}, Util::convertDictToArray($specialHists2)));
$specialHistsAllStr = "$specialHistsStr // $specialHists2Str";
$crewtypeHistsStr = join(', ', array_map(function($histPair){
[$histKey, $cnt] = $histPair;
return getGenSpecial($histKey).'('.$cnt.')';
return GameUnitConst::byID($hisKey)->getShortName().'('.$cnt.')';
}, Util::convertDictToArray($crewtypeHists)));
$db->insert('statistic', [
+14 -14
View File
@@ -2270,7 +2270,7 @@ function process_48(&$general) {
elseif($type < 400) { $type -= 300; $isweap = 3; }
else { $type = 7; }
if($isweap == 3) { $cost = getItemCost2($type); }
if($isweap == 3) { $cost = getItemCost($type); }
else { $cost = getItemCost($type); }
if($city['trade'] == 0) {
@@ -2292,40 +2292,40 @@ function process_48(&$general) {
} else {
if($isweap == 0) {
if($type != 0) {
$josaUl = JosaUtil::pick(getWeapName($type), '을');
$log[] = "<C>●</>{$admin['month']}월:<C>".getWeapName($type)."</>{$josaUl} 구입했습니다. <1>$date</>";
$josaUl = JosaUtil::pick(getItemName($type), '을');
$log[] = "<C>●</>{$admin['month']}월:<C>".getItemName($type)."</>{$josaUl} 구입했습니다. <1>$date</>";
$query = "update general set resturn='SUCCESS',weap='$type',gold=gold-'$cost' where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
} else {
$cost = Util::round(getItemCost($general['weap']) / 2);
$josaUl = JosaUtil::pick(getWeapName($general['weap']), '을');
$log[] = "<C>●</>{$admin['month']}월:<C>".getWeapName($general['weap'])."</>{$josaUl} 판매했습니다. <1>$date</>";
$josaUl = JosaUtil::pick(getItemName($general['weap']), '을');
$log[] = "<C>●</>{$admin['month']}월:<C>".getItemName($general['weap'])."</>{$josaUl} 판매했습니다. <1>$date</>";
$query = "update general set resturn='SUCCESS',weap='0',gold=gold+'$cost' where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
}
} elseif($isweap == 1) {
if($type != 0) {
$josaUl = JosaUtil::pick(getBookName($type), '을');
$log[] = "<C>●</>{$admin['month']}월:<C>".getBookName($type)."</>{$josaUl} 구입했습니다. <1>$date</>";
$josaUl = JosaUtil::pick(getItemName($type), '을');
$log[] = "<C>●</>{$admin['month']}월:<C>".getItemName($type)."</>{$josaUl} 구입했습니다. <1>$date</>";
$query = "update general set resturn='SUCCESS',book='$type',gold=gold-'$cost' where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
} else {
$cost = Util::round(getItemCost($general['book']) / 2);
$josaUl = JosaUtil::pick(getBookName($general['book']), '을');
$log[] = "<C>●</>{$admin['month']}월:<C>".getBookName($general['book'])."</>{$josaUl} 판매했습니다. <1>$date</>";
$josaUl = JosaUtil::pick(getItemName($general['book']), '을');
$log[] = "<C>●</>{$admin['month']}월:<C>".getItemName($general['book'])."</>{$josaUl} 판매했습니다. <1>$date</>";
$query = "update general set resturn='SUCCESS',book='0',gold=gold+'$cost' where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
}
} elseif($isweap == 2) {
if($type != 0) {
$josaUl = JosaUtil::pick(getHorseName($type), '을');
$log[] = "<C>●</>{$admin['month']}월:<C>".getHorseName($type)."</>{$josaUl} 구입했습니다. <1>$date</>";
$josaUl = JosaUtil::pick(getItemName($type), '을');
$log[] = "<C>●</>{$admin['month']}월:<C>".getItemName($type)."</>{$josaUl} 구입했습니다. <1>$date</>";
$query = "update general set resturn='SUCCESS',horse='$type',gold=gold-'$cost' where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
} else {
$cost = Util::round(getItemCost($general['horse']) / 2);
$josaUl = JosaUtil::pick(getHorseName($general['horse']), '을');
$log[] = "<C>●</>{$admin['month']}월:<C>".getHorseName($general['horse'])."</>{$josaUl} 판매했습니다. <1>$date</>";
$josaUl = JosaUtil::pick(getItemName($general['horse']), '을');
$log[] = "<C>●</>{$admin['month']}월:<C>".getItemName($general['horse'])."</>{$josaUl} 판매했습니다. <1>$date</>";
$query = "update general set resturn='SUCCESS',horse='0',gold=gold+'$cost' where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
}
@@ -2336,7 +2336,7 @@ function process_48(&$general) {
$query = "update general set resturn='SUCCESS',item='$type',gold=gold-'$cost' where no='{$general['no']}'";
MYDB_query($query, $connect) or Error(__LINE__.MYDB_error($connect),"");
} else {
$cost = Util::round(getItemCost2($general['item']) / 2);
$cost = Util::round(getItemCost($general['item']) / 2);
$josaUl = JosaUtil::pick(getItemName($general['item']), '을');
$log[] = "<C>●</>{$admin['month']}월:<C>".getItemName($general['item'])."</>{$josaUl} 판매했습니다. <1>$date</>";
$query = "update general set resturn='SUCCESS',item='0',gold=gold+'$cost' where no='{$general['no']}'";
+46 -46
View File
@@ -857,104 +857,104 @@ function fight($tnmt_type, $tnmt, $phs, $group, $g1, $g2, $type) {
if($gen1['h'] > 6 && ($tnmt_type == 0 || $tnmt_type == 1)) {
switch(rand()%4) {
case 0:
$josaYi = JosaUtil::pick(getHorseName($gen1['h']), '이');
$log[] = "<S>●</> <Y>{$gen1['name']}</>의 <S>".getHorseName($gen1['h'])."</>{$josaYi} 포효합니다!"; break;
$josaYi = JosaUtil::pick(getItemName($gen1['h']), '이');
$log[] = "<S>●</> <Y>{$gen1['name']}</>의 <S>".getItemName($gen1['h'])."</>{$josaYi} 포효합니다!"; break;
case 1:
$josaYi = JosaUtil::pick(getHorseName($gen1['h']), '이');
$log[] = "<S>●</> <Y>{$gen1['name']}</>의 <S>".getHorseName($gen1['h'])."</>{$josaYi} 그 위용을 뽐냅니다!"; break;
$josaYi = JosaUtil::pick(getItemName($gen1['h']), '이');
$log[] = "<S>●</> <Y>{$gen1['name']}</>의 <S>".getItemName($gen1['h'])."</>{$josaYi} 그 위용을 뽐냅니다!"; break;
case 2:
$josaYi = JosaUtil::pick($gen1['name'], '이');
$josaUl = JosaUtil::pick(getHorseName($gen1['h']), '을');
$log[] = "<S>●</> <Y>{$gen1['name']}</>{$josaYi} <S>".getHorseName($gen1['h'])."</>{$josaUl} 타고 있습니다!"; break;
$josaUl = JosaUtil::pick(getItemName($gen1['h']), '을');
$log[] = "<S>●</> <Y>{$gen1['name']}</>{$josaYi} <S>".getItemName($gen1['h'])."</>{$josaUl} 타고 있습니다!"; break;
case 3:
$josaYi = JosaUtil::pick(getHorseName($gen1['h']), '이');
$log[] = "<S>●</> <Y>{$gen1['name']}</>의 <S>".getHorseName($gen1['h'])."</>{$josaYi} 갈기를 휘날립니다!"; break;
$josaYi = JosaUtil::pick(getItemName($gen1['h']), '이');
$log[] = "<S>●</> <Y>{$gen1['name']}</>의 <S>".getItemName($gen1['h'])."</>{$josaYi} 갈기를 휘날립니다!"; break;
}
}
if($gen1['w'] > 6 && ($tnmt_type == 0 || $tnmt_type == 2)) {
switch(rand()%4) {
case 0:
$josaYi = JosaUtil::pick(getWeapName($gen1['w']), '이');
$log[] = "<S>●</> <Y>{$gen1['name']}</>의 <S>".getWeapName($gen1['w'])."</>{$josaYi} 번뜩입니다!"; break;
$josaYi = JosaUtil::pick(getItemName($gen1['w']), '이');
$log[] = "<S>●</> <Y>{$gen1['name']}</>의 <S>".getItemName($gen1['w'])."</>{$josaYi} 번뜩입니다!"; break;
case 1:
$josaYi = JosaUtil::pick(getWeapName($gen1['w']), '이');
$log[] = "<S>●</> <Y>{$gen1['name']}</>의 <S>".getWeapName($gen1['w'])."</>{$josaYi} 푸르게 빛납니다!"; break;
$josaYi = JosaUtil::pick(getItemName($gen1['w']), '이');
$log[] = "<S>●</> <Y>{$gen1['name']}</>의 <S>".getItemName($gen1['w'])."</>{$josaYi} 푸르게 빛납니다!"; break;
case 2:
$log[] = "<S>●</> <Y>{$gen1['name']}</>의 <S>".getWeapName($gen1['w'])."</>에서 살기가 느껴집니다!"; break;
$log[] = "<S>●</> <Y>{$gen1['name']}</>의 <S>".getItemName($gen1['w'])."</>에서 살기가 느껴집니다!"; break;
case 3:
$josaYi = JosaUtil::pick(getWeapName($gen1['w']), '이');
$log[] = "<S>●</> <Y>{$gen1['name']}</>의 손에는 <S>".getWeapName($gen1['w'])."</>{$josaYi} 쥐어져 있습니다!"; break;
$josaYi = JosaUtil::pick(getItemName($gen1['w']), '이');
$log[] = "<S>●</> <Y>{$gen1['name']}</>의 손에는 <S>".getItemName($gen1['w'])."</>{$josaYi} 쥐어져 있습니다!"; break;
}
}
if($gen1['b'] > 6 && ($tnmt_type == 0 || $tnmt_type == 3)) {
switch(rand()%4) {
case 0:
$josaYi = JosaUtil::pick($gen1['name'], '이');
$josaUl = JosaUtil::pick(getBookName($gen1['b']), '을');
$log[] = "<S>●</> <Y>{$gen1['name']}</>{$josaYi} <S>".getBookName($gen1['b'])."</>{$josaUl} 펼쳐듭니다!"; break;
$josaUl = JosaUtil::pick(getItemName($gen1['b']), '을');
$log[] = "<S>●</> <Y>{$gen1['name']}</>{$josaYi} <S>".getItemName($gen1['b'])."</>{$josaUl} 펼쳐듭니다!"; break;
case 1:
$josaYi = JosaUtil::pick($gen1['name'], '이');
$josaUl = JosaUtil::pick(getBookName($gen1['b']), '을');
$log[] = "<S>●</> <Y>{$gen1['name']}</>{$josaYi} <S>".getBookName($gen1['b'])."</>{$josaUl} 품에서 꺼냅니다!"; break;
$josaUl = JosaUtil::pick(getItemName($gen1['b']), '을');
$log[] = "<S>●</> <Y>{$gen1['name']}</>{$josaYi} <S>".getItemName($gen1['b'])."</>{$josaUl} 품에서 꺼냅니다!"; break;
case 2:
$josaYi = JosaUtil::pick($gen1['name'], '이');
$josaUl = JosaUtil::pick(getBookName($gen1['b']), '을');
$log[] = "<S>●</> <Y>{$gen1['name']}</>{$josaYi} <S>".getBookName($gen1['b'])."</>{$josaUl} 들고 있습니다!"; break;
$josaUl = JosaUtil::pick(getItemName($gen1['b']), '을');
$log[] = "<S>●</> <Y>{$gen1['name']}</>{$josaYi} <S>".getItemName($gen1['b'])."</>{$josaUl} 들고 있습니다!"; break;
case 3:
$josaYi = JosaUtil::pick(getBookName($gen1['b']), '이');
$log[] = "<S>●</> <Y>{$gen1['name']}</>의 손에는 <S>".getBookName($gen1['b'])."</>{$josaYi} 쥐어져 있습니다!"; break;
$josaYi = JosaUtil::pick(getItemName($gen1['b']), '이');
$log[] = "<S>●</> <Y>{$gen1['name']}</>의 손에는 <S>".getItemName($gen1['b'])."</>{$josaYi} 쥐어져 있습니다!"; break;
}
}
if($gen2['h'] > 6 && ($tnmt_type == 0 || $tnmt_type == 1)) {
$josaUl = JosaUtil::pick($gen2['h'], '을');
switch(rand()%4) {
case 0:
$josaYi = JosaUtil::pick(getHorseName($gen2['h']), '이');
$log[] = "<S>●</> <Y>{$gen2['name']}</>의 <S>".getHorseName($gen2['h'])."</>{$josaYi} 포효합니다!"; break;
$josaYi = JosaUtil::pick(getItemName($gen2['h']), '이');
$log[] = "<S>●</> <Y>{$gen2['name']}</>의 <S>".getItemName($gen2['h'])."</>{$josaYi} 포효합니다!"; break;
case 1:
$josaYi = JosaUtil::pick(getHorseName($gen2['h']), '이');
$log[] = "<S>●</> <Y>{$gen2['name']}</>의 <S>".getHorseName($gen2['h'])."</>{$josaYi} 그 위용을 뽐냅니다!"; break;
$josaYi = JosaUtil::pick(getItemName($gen2['h']), '이');
$log[] = "<S>●</> <Y>{$gen2['name']}</>의 <S>".getItemName($gen2['h'])."</>{$josaYi} 그 위용을 뽐냅니다!"; break;
case 2:
$josaYi = JosaUtil::pick($gen2['name'], '이');
$josaUl = JosaUtil::pick(getHorseName($gen2['h']), '을');
$log[] = "<S>●</> <Y>{$gen2['name']}</>{$josaYi} <S>".getHorseName($gen2['h'])."</>{$josaUl} 타고 있습니다!"; break;
$josaUl = JosaUtil::pick(getItemName($gen2['h']), '을');
$log[] = "<S>●</> <Y>{$gen2['name']}</>{$josaYi} <S>".getItemName($gen2['h'])."</>{$josaUl} 타고 있습니다!"; break;
case 3:
$josaYi = JosaUtil::pick(getHorseName($gen2['h']), '이');
$log[] = "<S>●</> <Y>{$gen2['name']}</>의 <S>".getHorseName($gen2['h'])."</>{$josaYi} 갈기를 휘날립니다!"; break;
$josaYi = JosaUtil::pick(getItemName($gen2['h']), '이');
$log[] = "<S>●</> <Y>{$gen2['name']}</>의 <S>".getItemName($gen2['h'])."</>{$josaYi} 갈기를 휘날립니다!"; break;
}
}
if($gen2['w'] > 6 && ($tnmt_type == 0 || $tnmt_type == 2)) {
switch(rand()%4) {
case 0:
$josaYi = JosaUtil::pick(getWeapName($gen2['w']), '이');
$log[] = "<S>●</> <Y>{$gen2['name']}</>의 <S>".getWeapName($gen2['w'])."</>{$josaYi} 번뜩입니다!"; break;
$josaYi = JosaUtil::pick(getItemName($gen2['w']), '이');
$log[] = "<S>●</> <Y>{$gen2['name']}</>의 <S>".getItemName($gen2['w'])."</>{$josaYi} 번뜩입니다!"; break;
case 1:
$josaYi = JosaUtil::pick(getWeapName($gen2['w']), '이');
$log[] = "<S>●</> <Y>{$gen2['name']}</>의 <S>".getWeapName($gen2['w'])."</>{$josaYi} 푸르게 빛납니다!"; break;
$josaYi = JosaUtil::pick(getItemName($gen2['w']), '이');
$log[] = "<S>●</> <Y>{$gen2['name']}</>의 <S>".getItemName($gen2['w'])."</>{$josaYi} 푸르게 빛납니다!"; break;
case 2:
$log[] = "<S>●</> <Y>{$gen2['name']}</>의 <S>".getWeapName($gen2['w'])."</>에서 살기가 느껴집니다!"; break;
$log[] = "<S>●</> <Y>{$gen2['name']}</>의 <S>".getItemName($gen2['w'])."</>에서 살기가 느껴집니다!"; break;
case 3:
$josaYi = JosaUtil::pick(getWeapName($gen2['w']), '이');
$log[] = "<S>●</> <Y>{$gen2['name']}</>의 손에는 <S>".getWeapName($gen2['w'])."</>{$josaYi} 쥐어져 있습니다!"; break;
$josaYi = JosaUtil::pick(getItemName($gen2['w']), '이');
$log[] = "<S>●</> <Y>{$gen2['name']}</>의 손에는 <S>".getItemName($gen2['w'])."</>{$josaYi} 쥐어져 있습니다!"; break;
}
}
if($gen2['b'] > 6 && ($tnmt_type == 0 || $tnmt_type == 3)) {
switch(rand()%4) {
case 0:
$josaYi = JosaUtil::pick($gen2['name'], '이');
$josaUl = JosaUtil::pick(getBookName($gen2['b']), '을');
$log[] = "<S>●</> <Y>{$gen2['name']}</>{$josaYi} <S>".getBookName($gen2['b'])."</>{$josaUl} 펼쳐듭니다!"; break;
$josaUl = JosaUtil::pick(getItemName($gen2['b']), '을');
$log[] = "<S>●</> <Y>{$gen2['name']}</>{$josaYi} <S>".getItemName($gen2['b'])."</>{$josaUl} 펼쳐듭니다!"; break;
case 1:
$josaYi = JosaUtil::pick($gen2['name'], '이');
$josaUl = JosaUtil::pick(getBookName($gen2['b']), '을');
$log[] = "<S>●</> <Y>{$gen2['name']}</>{$josaYi} <S>".getBookName($gen2['b'])."</>{$josaUl} 품에서 꺼냅니다!"; break;
$josaUl = JosaUtil::pick(getItemName($gen2['b']), '을');
$log[] = "<S>●</> <Y>{$gen2['name']}</>{$josaYi} <S>".getItemName($gen2['b'])."</>{$josaUl} 품에서 꺼냅니다!"; break;
case 2:
$josaYi = JosaUtil::pick($gen2['name'], '이');
$josaUl = JosaUtil::pick(getBookName($gen2['b']), '을');
$log[] = "<S>●</> <Y>{$gen2['name']}</>{$josaYi} <S>".getBookName($gen2['b'])."</>{$josaUl} 들고 있습니다!"; break;
$josaUl = JosaUtil::pick(getItemName($gen2['b']), '을');
$log[] = "<S>●</> <Y>{$gen2['name']}</>{$josaYi} <S>".getItemName($gen2['b'])."</>{$josaUl} 들고 있습니다!"; break;
case 3:
$josaYi = JosaUtil::pick(getBookName($gen2['b']), '이');
$log[] = "<S>●</> <Y>{$gen2['name']}</>의 손에는 <S>".getBookName($gen2['b'])."</>{$josaYi} 쥐어져 있습니다!"; break;
$josaYi = JosaUtil::pick(getItemName($gen2['b']), '이');
$log[] = "<S>●</> <Y>{$gen2['name']}</>의 손에는 <S>".getItemName($gen2['b'])."</>{$josaYi} 쥐어져 있습니다!"; break;
}
}
+2 -2
View File
@@ -69,8 +69,8 @@ foreach($rawGeneralList as $rawGeneral){
$npc,
$age,
$nationArr['name'],
getGenSpecial($special),
getGenSpecial($special2),
getGeneralSpecialDomesticName($special),
getGeneralSpecialWarName($special2),
getGenChar($personal),
$name,
$name2,
+3 -3
View File
@@ -276,7 +276,7 @@ $mylog = [];
$josaRa = JosaUtil::pick($name, '라');
if ($genius) {
$log[0] = "<C>●</>{$gameStor->month}월:<G><b>{$cityname}</b></>에서 <Y>{$name}</>{$josaRa}는 기재가 천하에 이름을 알립니다.";
$log[1] = "<C>●</>{$gameStor->month}월:<C>".getGenSpecial($special2)."</> 특기를 가진 <C>천재</>의 등장으로 온 천하가 떠들썩합니다.";
$log[1] = "<C>●</>{$gameStor->month}월:<C>".getGeneralSpecialWarName($special2)."</> 특기를 가진 <C>천재</>의 등장으로 온 천하가 떠들썩합니다.";
pushWorldHistory(["<C>●</>{$gameStor->year}{$gameStor->month}월:<L><b>【천재】</b></><G><b>{$cityname}</b></>에 천재가 등장했습니다."], $gameStor->year, $gameStor->month);
} else {
@@ -290,8 +290,8 @@ $mylog[] = "<C>●</>부디 즐거운 삼모전 되시길 바랍니다 ^^";
$mylog[] = "<C>●</>통솔 <C>$pleader</> 무력 <C>$ppower</> 지력 <C>$pintel</> 의 보너스를 받으셨습니다.";
$mylog[] = "<C>●</>연령은 <C>$age</>세로 시작합니다.";
if ($genius) {
$mylog[] = "<C>●</>축하합니다! 천재로 태어나 처음부터 <C>".getGenSpecial($special2)."</> 특기를 가지게 됩니다!";
pushGeneralHistory($me, "<C>●</>{$gameStor->year}{$gameStor->month}월:<C>".getGenSpecial($special2)."</> 특기를 가진 천재로 탄생.");
$mylog[] = "<C>●</>축하합니다! 천재로 태어나 처음부터 <C>".getGeneralSpecialWarName($special2)."</> 특기를 가지게 됩니다!";
pushGeneralHistory($me, "<C>●</>{$gameStor->year}{$gameStor->month}월:<C>".getGeneralSpecialWarName($special2)."</> 특기를 가진 천재로 탄생.");
}
pushGenLog($me, $mylog);
pushGeneralPublicRecord($log, $gameStor->year, $gameStor->month);
+3 -3
View File
@@ -240,7 +240,7 @@ if($id_num) {
$cityname = getCity($connect, $city, "name");
if($genius == 1) {
$log[0] = "<C>●</>{$admin[month]}월:<G><b>$cityname[name]</b></>에서 <Y>$me[name]</>(이)라는 기재가 천하에 이름을 알립니다.";
$log[1] = "<C>●</>{$admin[month]}월:<C>".getGenSpecial($special2)."</> 특기를 가진 <C>천재</>의 등장으로 온 천하가 떠들썩합니다.";
$log[1] = "<C>●</>{$admin[month]}월:<C>".getGeneralSpecialWarName($special2)."</> 특기를 가진 <C>천재</>의 등장으로 온 천하가 떠들썩합니다.";
$history[0] = "<C>●</>$admin[year]년 $admin[month]월:<L><b>【천재】</b></><G><b>$cityname[name]</b></>에 천재가 등장했습니다.";
pushHistory($connect, $history);
@@ -255,8 +255,8 @@ if($id_num) {
$mylog[count($mylog)] = "<C>●</>통솔 <C>$pleader</> 무력 <C>$ppower</> 지력 <C>$pintel</> 의 보너스를 받으셨습니다.";
$mylog[count($mylog)] = "<C>●</>연령은 <C>$age</>세로 시작합니다.";
if($genius == 1) {
$mylog[count($mylog)] = "<C>●</>축하합니다! 천재로 태어나 처음부터 <C>".getGenSpecial($special2)."</> 특기를 가지게 됩니다!";
$me = addHistory($connect, $me, "<C>●</>$admin[year]년 $admin[month]월:<C>".getGenSpecial($special2)."</> 특기를 가진 천재로 탄생.");
$mylog[count($mylog)] = "<C>●</>축하합니다! 천재로 태어나 처음부터 <C>".getGeneralSpecialWarName($special2)."</> 특기를 가지게 됩니다!";
$me = addHistory($connect, $me, "<C>●</>$admin[year]년 $admin[month]월:<C>".getGeneralSpecialWarName($special2)."</> 특기를 가진 천재로 탄생.");
}
pushGenLog($me, $mylog);
pushAllLog($log);
+24 -24
View File
@@ -1368,33 +1368,33 @@ function command_48($turn, $command) {
<form name=form1 action=c_double.php method=post>
장비 : <select name=double size=1 style=color:white;background-color:black>
<option value=0 style=color:skyblue>_____무기매각(반값)____</option>
<option value=1 style=color:$color[1]>".getWeapName(1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(1)."</option>
<option value=2 style=color:$color[2]>".getWeapName(2)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(2)."</option>
<option value=3 style=color:$color[3]>".getWeapName(3)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(3)."</option>
<option value=4 style=color:$color[4]>".getWeapName(4)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(4)."</option>
<option value=5 style=color:$color[5]>".getWeapName(5)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(5)."</option>
<option value=6 style=color:$color[6]>".getWeapName(6)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(6)."</option>
<option value=1 style=color:$color[1]>".getItemName(1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(1)."</option>
<option value=2 style=color:$color[2]>".getItemName(2)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(2)."</option>
<option value=3 style=color:$color[3]>".getItemName(3)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(3)."</option>
<option value=4 style=color:$color[4]>".getItemName(4)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(4)."</option>
<option value=5 style=color:$color[5]>".getItemName(5)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(5)."</option>
<option value=6 style=color:$color[6]>".getItemName(6)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(6)."</option>
<option value=100 style=color:skyblue>_____서적매각(반값)____</option>
<option value=101 style=color:$color[1]>".getBookName(1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(1)."</option>
<option value=102 style=color:$color[2]>".getBookName(2)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(2)."</option>
<option value=103 style=color:$color[3]>".getBookName(3)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(3)."</option>
<option value=104 style=color:$color[4]>".getBookName(4)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(4)."</option>
<option value=105 style=color:$color[5]>".getBookName(5)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(5)."</option>
<option value=106 style=color:$color[6]>".getBookName(6)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(6)."</option>
<option value=101 style=color:$color[1]>".getItemName(1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(1)."</option>
<option value=102 style=color:$color[2]>".getItemName(2)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(2)."</option>
<option value=103 style=color:$color[3]>".getItemName(3)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(3)."</option>
<option value=104 style=color:$color[4]>".getItemName(4)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(4)."</option>
<option value=105 style=color:$color[5]>".getItemName(5)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(5)."</option>
<option value=106 style=color:$color[6]>".getItemName(6)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(6)."</option>
<option value=200 style=color:skyblue>_____명마매각(반값)____</option>
<option value=201 style=color:$color[1]>".getHorseName(1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(1)."</option>
<option value=202 style=color:$color[2]>".getHorseName(2)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(2)."</option>
<option value=203 style=color:$color[3]>".getHorseName(3)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(3)."</option>
<option value=204 style=color:$color[4]>".getHorseName(4)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(4)."</option>
<option value=205 style=color:$color[5]>".getHorseName(5)."&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(5)."</option>
<option value=206 style=color:$color[6]>".getHorseName(6)."&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(6)."</option>
<option value=201 style=color:$color[1]>".getItemName(1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(1)."</option>
<option value=202 style=color:$color[2]>".getItemName(2)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(2)."</option>
<option value=203 style=color:$color[3]>".getItemName(3)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(3)."</option>
<option value=204 style=color:$color[4]>".getItemName(4)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(4)."</option>
<option value=205 style=color:$color[5]>".getItemName(5)."&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(5)."</option>
<option value=206 style=color:$color[6]>".getItemName(6)."&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(6)."</option>
<option value=300 style=color:skyblue>_____도구매각(반값)____</option>
<option value=301 style=color:$color[1]>".getItemName(1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost2(1)."</option>
<option value=302 style=color:$color[2]>".getItemName(2)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost2(2)."</option>
<option value=303 style=color:$color[3]>".getItemName(3)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost2(3)."</option>
<option value=304 style=color:$color[4]>".getItemName(4)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost2(4)."</option>
<option value=305 style=color:$color[5]>".getItemName(5)."&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost2(5)."</option>
<option value=306 style=color:$color[6]>".getItemName(6)."&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost2(6)."</option>
<option value=301 style=color:$color[1]>".getItemName(1)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(1)."</option>
<option value=302 style=color:$color[2]>".getItemName(2)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(2)."</option>
<option value=303 style=color:$color[3]>".getItemName(3)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(3)."</option>
<option value=304 style=color:$color[4]>".getItemName(4)."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(4)."</option>
<option value=305 style=color:$color[5]>".getItemName(5)."&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(5)."</option>
<option value=306 style=color:$color[6]>".getItemName(6)."&nbsp;&nbsp;&nbsp;&nbsp;가격: ".getItemCost(6)."</option>
</select>
<input type=submit value=거래>
<input type=hidden name=command value=$command>";
+3 -3
View File
@@ -5,7 +5,7 @@ use \sammo\General;
use \sammo\GeneralTrigger;
use function sammo\isConsumable;
use function sammo\getItemInfo;
use function sammo\getItemCost2;
use function sammo\getItemCost;
//XXX:임시용!
class che_Dummy extends \sammo\BaseItem{
@@ -32,11 +32,11 @@ class che_Dummy extends \sammo\BaseItem{
return $this->_consumable;
}
public function __construct(int $itemCode)
public function __construct(string $itemCode)
{
$this->_id = $itemCode;
[$this->_name, $this->_info] = getItemInfo($itemCode);
$this->_cost = getItemCost2($itemCode);
$this->_cost = getItemCost($itemCode);
$this->_consumable = isConsumable($itemCode);
}
}
@@ -15,9 +15,9 @@ use \sammo\{
use function \sammo\{
tryUniqueItemLottery,
getItemCost, getItemCost2,
getItemCost,
getItemInfo,
getHorseName, getWeapName, getBookName, getItemName
getItemName
};
use \sammo\Constraint\Constraint;
+7 -26
View File
@@ -15,9 +15,9 @@ use \sammo\{
use function \sammo\{
tryUniqueItemLottery,
getItemCost, getItemCost2,
getItemCost,
getItemInfo,
getHorseName, getWeapName, getBookName, getItemName
getItemName
};
use \sammo\Constraint\Constraint;
@@ -95,12 +95,8 @@ class che_장비매매 extends Command\GeneralCommand{
$itemType = $this->arg['itemType'];
$itemCode = $this->arg['itemCode'];
if($itemType == 'item'){
$reqGold = getItemCost2($itemCode);
}
else{
$reqGold = getItemCost($itemCode);
}
$reqGold = getItemCost($itemCode);
return [$reqGold, 0];
}
@@ -128,30 +124,15 @@ class che_장비매매 extends Command\GeneralCommand{
if($itemCode == 0){
$buying = false;
$itemCode = $general->getVar($itemType);
if($itemType == 'item'){
$cost = getItemCost2($itemCode);
}
else{
$cost = getItemCost($itemCode);
}
$cost = getItemCost($itemCode);
}
else{
$buying = true;
$cost = $this->getCost()[0];
}
if($itemType == 'horse'){
$itemName = getHorseName($itemCode);
}
else if($itemType == 'weap'){
$itemName = getWeapName($itemCode);
}
else if($itemType == 'book'){
$itemName = getBookName($itemCode);
}
else{
$itemName = getItemName($itemCode);
}
$itemName = getItemName($itemCode);
$josaUl = JosaUtil::pick($itemName, '을');
$logger = $general->getLogger();
+4 -4
View File
@@ -47,10 +47,10 @@ CREATE TABLE `general` (
`crewtype` INT(2) NOT NULL DEFAULT '0',
`train` INT(3) NOT NULL DEFAULT '0',
`atmos` INT(3) NOT NULL DEFAULT '0',
`weap` INT(2) NOT NULL DEFAULT '0',
`book` INT(2) NOT NULL DEFAULT '0',
`horse` INT(2) NOT NULL DEFAULT '0',
`item` INT(2) NOT NULL DEFAULT '0',
`weap` VARCHAR(20) NOT NULL DEFAULT 'None',
`book` VARCHAR(20) NOT NULL DEFAULT 'None',
`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,
`makelimit` INT(2) NULL DEFAULT '0',