From 890ecf58464cf97d5bbd9e90492d9042b6d751b2 Mon Sep 17 00:00:00 2001 From: hide_d Date: Sun, 9 Jun 2019 22:50:39 +0900 Subject: [PATCH] =?UTF-8?q?=EC=95=84=EC=9D=B4=ED=85=9C=20=EC=BD=94?= =?UTF-8?q?=EB=93=9C=EB=A5=BC=20String=EC=9C=BC=EB=A1=9C=20=EB=B0=94?= =?UTF-8?q?=EA=BE=B8=EC=97=88=EC=9C=BC=EB=AF=80=EB=A1=9C=20=EC=97=B0?= =?UTF-8?q?=EB=8F=99=20=EB=8C=80=EC=83=81=20=EB=98=90=ED=95=9C=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hwe/_admin2_submit.php | 6 +- hwe/a_bestGeneral.php | 28 +- hwe/battle_simulator.php | 6 +- hwe/func.old.php | 60 +-- hwe/func.php | 60 +-- hwe/func_auction.php | 6 +- hwe/func_command.old.php | 12 +- hwe/func_converter.php | 501 +++++---------------- hwe/func_gamerule.php | 6 +- hwe/func_process.old.php | 28 +- hwe/func_tournament.php | 92 ++-- hwe/j_get_general_list.php | 4 +- hwe/join_post.php | 6 +- hwe/join_post.php.orig | 6 +- hwe/processing.php | 48 +- hwe/sammo/ActionItem/che_Dummy.php | 6 +- hwe/sammo/Command/General/che_군량매매.php | 4 +- hwe/sammo/Command/General/che_장비매매.php | 33 +- hwe/sql/schema.sql | 8 +- 19 files changed, 315 insertions(+), 605 deletions(-) diff --git a/hwe/_admin2_submit.php b/hwe/_admin2_submit.php index d9f3c5df..140623a6 100644 --- a/hwe/_admin2_submit.php +++ b/hwe/_admin2_submit.php @@ -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){ diff --git a/hwe/a_bestGeneral.php b/hwe/a_bestGeneral.php index 9e598898..ae405253 100644 --- a/hwe/a_bestGeneral.php +++ b/hwe/a_bestGeneral.php @@ -14,6 +14,7 @@ $db = DB::db(); $gameStor = KVStorage::getStorage($db, 'game_env'); increaseRefresh("명장일람", 1); +$templates = new \League\Plates\Engine(__dir__.'/templates'); ?> @@ -223,23 +224,34 @@ foreach($types as $idx=>[$typeName, $typeValue, $typeFunc]){ '명 마', + '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; } diff --git a/hwe/battle_simulator.php b/hwe/battle_simulator.php index dd90b463..c98c5999 100644 --- a/hwe/battle_simulator.php +++ b/hwe/battle_simulator.php @@ -292,7 +292,7 @@ var defaultSpecialDomestic = ;
@@ -300,7 +300,7 @@ var defaultSpecialDomestic = ;
@@ -308,7 +308,7 @@ var defaultSpecialDomestic = ;
diff --git a/hwe/func.old.php b/hwe/func.old.php index 0712b329..b2bbc5c7 100644 --- a/hwe/func.old.php +++ b/hwe/func.old.php @@ -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[] = "".getWeapName($it)."{$josaUl} 습득했습니다!"; - $alllog[0] = "●{$admin['month']}월:{$general['name']}{$josaYi} ".getWeapName($it)."{$josaUl} 습득했습니다!"; - pushGeneralHistory($general, "●{$admin['year']}년 {$admin['month']}월:".getWeapName($it)."{$josaUl} 습득"); + $log[] = "".getItemName($it)."{$josaUl} 습득했습니다!"; + $alllog[0] = "●{$admin['month']}월:{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; + pushGeneralHistory($general, "●{$admin['year']}년 {$admin['month']}월:".getItemName($it)."{$josaUl} 습득"); if($vote == 0) { - $history[] = "●{$admin['year']}년 {$admin['month']}월:【아이템】{$nation['name']}{$general['name']}{$josaYi} ".getWeapName($it)."{$josaUl} 습득했습니다!"; + $history[] = "●{$admin['year']}년 {$admin['month']}월:【아이템】{$nation['name']}{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; } elseif($vote == 1) { - $history[] = "●{$admin['year']}년 {$admin['month']}월:【설문상품】{$nation['name']}{$general['name']}{$josaYi} ".getWeapName($it)."{$josaUl} 습득했습니다!"; + $history[] = "●{$admin['year']}년 {$admin['month']}월:【설문상품】{$nation['name']}{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; } elseif($vote == 2) { - $history[] = "●{$admin['year']}년 {$admin['month']}월:【랜덤임관상품】{$nation['name']}{$general['name']}{$josaYi} ".getWeapName($it)."{$josaUl} 습득했습니다!"; + $history[] = "●{$admin['year']}년 {$admin['month']}월:【랜덤임관상품】{$nation['name']}{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; } elseif($vote == 3) { - $history[] = "●{$admin['year']}년 {$admin['month']}월:【건국상품】{$nation['name']}{$general['name']}{$josaYi} ".getWeapName($it)."{$josaUl} 습득했습니다!"; + $history[] = "●{$admin['year']}년 {$admin['month']}월:【건국상품】{$nation['name']}{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; } break; case 1: - $josaUl = JosaUtil::pick(getBookName($it), '을'); + $josaUl = JosaUtil::pick(getItemName($it), '을'); $josaYi = JosaUtil::pick($general['name'], '이'); - $log[] = "".getBookName($it)."{$josaUl} 습득했습니다!"; - $alllog[0] = "●{$admin['month']}월:{$general['name']}{$josaYi} ".getBookName($it)."{$josaUl} 습득했습니다!"; - pushGeneralHistory($general, "●{$admin['year']}년 {$admin['month']}월:".getBookName($it)."{$josaUl} 습득"); + $log[] = "".getItemName($it)."{$josaUl} 습득했습니다!"; + $alllog[0] = "●{$admin['month']}월:{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; + pushGeneralHistory($general, "●{$admin['year']}년 {$admin['month']}월:".getItemName($it)."{$josaUl} 습득"); if($vote == 0) { - $history[] = "●{$admin['year']}년 {$admin['month']}월:【아이템】{$nation['name']}{$general['name']}{$josaYi} ".getBookName($it)."{$josaUl} 습득했습니다!"; + $history[] = "●{$admin['year']}년 {$admin['month']}월:【아이템】{$nation['name']}{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; } elseif($vote == 1) { - $history[] = "●{$admin['year']}년 {$admin['month']}월:【설문상품】{$nation['name']}{$general['name']}{$josaYi} ".getBookName($it)."{$josaUl} 습득했습니다!"; + $history[] = "●{$admin['year']}년 {$admin['month']}월:【설문상품】{$nation['name']}{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; } elseif($vote == 2) { - $history[] = "●{$admin['year']}년 {$admin['month']}월:【랜덤임관상품】{$nation['name']}{$general['name']}{$josaYi} ".getBookName($it)."{$josaUl} 습득했습니다!"; + $history[] = "●{$admin['year']}년 {$admin['month']}월:【랜덤임관상품】{$nation['name']}{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; } elseif($vote == 3) { - $history[] = "●{$admin['year']}년 {$admin['month']}월:【건국상품】{$nation['name']}{$general['name']}{$josaYi} ".getBookName($it)."{$josaUl} 습득했습니다!"; + $history[] = "●{$admin['year']}년 {$admin['month']}월:【건국상품】{$nation['name']}{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; } break; case 2: - $josaUl = JosaUtil::pick(getHorseName($it), '을'); + $josaUl = JosaUtil::pick(getItemName($it), '을'); $josaYi = JosaUtil::pick($general['name'], '이'); - $log[] = "".getHorseName($it)."{$josaUl} 습득했습니다!"; - $alllog[0] = "●{$admin['month']}월:{$general['name']}{$josaYi} ".getHorseName($it)."{$josaUl} 습득했습니다!"; - pushGeneralHistory($general, "●{$admin['year']}년 {$admin['month']}월:".getHorseName($it)."{$josaUl} 습득"); + $log[] = "".getItemName($it)."{$josaUl} 습득했습니다!"; + $alllog[0] = "●{$admin['month']}월:{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; + pushGeneralHistory($general, "●{$admin['year']}년 {$admin['month']}월:".getItemName($it)."{$josaUl} 습득"); if($vote == 0) { - $history[] = "●{$admin['year']}년 {$admin['month']}월:【아이템】{$nation['name']}{$general['name']}{$josaYi} ".getHorseName($it)."{$josaUl} 습득했습니다!"; + $history[] = "●{$admin['year']}년 {$admin['month']}월:【아이템】{$nation['name']}{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; } elseif($vote == 1) { - $history[] = "●{$admin['year']}년 {$admin['month']}월:【설문상품】{$nation['name']}{$general['name']}{$josaYi} ".getHorseName($it)."{$josaUl} 습득했습니다!"; + $history[] = "●{$admin['year']}년 {$admin['month']}월:【설문상품】{$nation['name']}{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; } elseif($vote == 2) { - $history[] = "●{$admin['year']}년 {$admin['month']}월:【랜덤임관상품】{$nation['name']}{$general['name']}{$josaYi} ".getHorseName($it)."{$josaUl} 습득했습니다!"; + $history[] = "●{$admin['year']}년 {$admin['month']}월:【랜덤임관상품】{$nation['name']}{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; } elseif($vote == 3) { - $history[] = "●{$admin['year']}년 {$admin['month']}월:【건국상품】{$nation['name']}{$general['name']}{$josaYi} ".getHorseName($it)."{$josaUl} 습득했습니다!"; + $history[] = "●{$admin['year']}년 {$admin['month']}월:【건국상품】{$nation['name']}{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; } break; case 3: diff --git a/hwe/func.php b/hwe/func.php index e0b64d3d..ffe942cc 100644 --- a/hwe/func.php +++ b/hwe/func.php @@ -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[] = "".getWeapName($it)."{$josaUl} 습득했습니다!"; - $alllog[0] = "●{$admin['month']}월:{$general['name']}{$josaYi} ".getWeapName($it)."{$josaUl} 습득했습니다!"; - pushGeneralHistory($general, "●{$admin['year']}년 {$admin['month']}월:".getWeapName($it)."{$josaUl} 습득"); + $log[] = "".getItemName($it)."{$josaUl} 습득했습니다!"; + $alllog[0] = "●{$admin['month']}월:{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; + pushGeneralHistory($general, "●{$admin['year']}년 {$admin['month']}월:".getItemName($it)."{$josaUl} 습득"); if($vote == 0) { - $history[] = "●{$admin['year']}년 {$admin['month']}월:【아이템】{$nation['name']}{$general['name']}{$josaYi} ".getWeapName($it)."{$josaUl} 습득했습니다!"; + $history[] = "●{$admin['year']}년 {$admin['month']}월:【아이템】{$nation['name']}{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; } elseif($vote == 1) { - $history[] = "●{$admin['year']}년 {$admin['month']}월:【설문상품】{$nation['name']}{$general['name']}{$josaYi} ".getWeapName($it)."{$josaUl} 습득했습니다!"; + $history[] = "●{$admin['year']}년 {$admin['month']}월:【설문상품】{$nation['name']}{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; } elseif($vote == 2) { - $history[] = "●{$admin['year']}년 {$admin['month']}월:【랜덤임관상품】{$nation['name']}{$general['name']}{$josaYi} ".getWeapName($it)."{$josaUl} 습득했습니다!"; + $history[] = "●{$admin['year']}년 {$admin['month']}월:【랜덤임관상품】{$nation['name']}{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; } elseif($vote == 3) { - $history[] = "●{$admin['year']}년 {$admin['month']}월:【건국상품】{$nation['name']}{$general['name']}{$josaYi} ".getWeapName($it)."{$josaUl} 습득했습니다!"; + $history[] = "●{$admin['year']}년 {$admin['month']}월:【건국상품】{$nation['name']}{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; } break; case 1: - $josaUl = JosaUtil::pick(getBookName($it), '을'); + $josaUl = JosaUtil::pick(getItemName($it), '을'); $josaYi = JosaUtil::pick($general['name'], '이'); - $log[] = "".getBookName($it)."{$josaUl} 습득했습니다!"; - $alllog[0] = "●{$admin['month']}월:{$general['name']}{$josaYi} ".getBookName($it)."{$josaUl} 습득했습니다!"; - pushGeneralHistory($general, "●{$admin['year']}년 {$admin['month']}월:".getBookName($it)."{$josaUl} 습득"); + $log[] = "".getItemName($it)."{$josaUl} 습득했습니다!"; + $alllog[0] = "●{$admin['month']}월:{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; + pushGeneralHistory($general, "●{$admin['year']}년 {$admin['month']}월:".getItemName($it)."{$josaUl} 습득"); if($vote == 0) { - $history[] = "●{$admin['year']}년 {$admin['month']}월:【아이템】{$nation['name']}{$general['name']}{$josaYi} ".getBookName($it)."{$josaUl} 습득했습니다!"; + $history[] = "●{$admin['year']}년 {$admin['month']}월:【아이템】{$nation['name']}{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; } elseif($vote == 1) { - $history[] = "●{$admin['year']}년 {$admin['month']}월:【설문상품】{$nation['name']}{$general['name']}{$josaYi} ".getBookName($it)."{$josaUl} 습득했습니다!"; + $history[] = "●{$admin['year']}년 {$admin['month']}월:【설문상품】{$nation['name']}{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; } elseif($vote == 2) { - $history[] = "●{$admin['year']}년 {$admin['month']}월:【랜덤임관상품】{$nation['name']}{$general['name']}{$josaYi} ".getBookName($it)."{$josaUl} 습득했습니다!"; + $history[] = "●{$admin['year']}년 {$admin['month']}월:【랜덤임관상품】{$nation['name']}{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; } elseif($vote == 3) { - $history[] = "●{$admin['year']}년 {$admin['month']}월:【건국상품】{$nation['name']}{$general['name']}{$josaYi} ".getBookName($it)."{$josaUl} 습득했습니다!"; + $history[] = "●{$admin['year']}년 {$admin['month']}월:【건국상품】{$nation['name']}{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; } break; case 2: - $josaUl = JosaUtil::pick(getHorseName($it), '을'); + $josaUl = JosaUtil::pick(getItemName($it), '을'); $josaYi = JosaUtil::pick($general['name'], '이'); - $log[] = "".getHorseName($it)."{$josaUl} 습득했습니다!"; - $alllog[0] = "●{$admin['month']}월:{$general['name']}{$josaYi} ".getHorseName($it)."{$josaUl} 습득했습니다!"; - pushGeneralHistory($general, "●{$admin['year']}년 {$admin['month']}월:".getHorseName($it)."{$josaUl} 습득"); + $log[] = "".getItemName($it)."{$josaUl} 습득했습니다!"; + $alllog[0] = "●{$admin['month']}월:{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; + pushGeneralHistory($general, "●{$admin['year']}년 {$admin['month']}월:".getItemName($it)."{$josaUl} 습득"); if($vote == 0) { - $history[] = "●{$admin['year']}년 {$admin['month']}월:【아이템】{$nation['name']}{$general['name']}{$josaYi} ".getHorseName($it)."{$josaUl} 습득했습니다!"; + $history[] = "●{$admin['year']}년 {$admin['month']}월:【아이템】{$nation['name']}{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; } elseif($vote == 1) { - $history[] = "●{$admin['year']}년 {$admin['month']}월:【설문상품】{$nation['name']}{$general['name']}{$josaYi} ".getHorseName($it)."{$josaUl} 습득했습니다!"; + $history[] = "●{$admin['year']}년 {$admin['month']}월:【설문상품】{$nation['name']}{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; } elseif($vote == 2) { - $history[] = "●{$admin['year']}년 {$admin['month']}월:【랜덤임관상품】{$nation['name']}{$general['name']}{$josaYi} ".getHorseName($it)."{$josaUl} 습득했습니다!"; + $history[] = "●{$admin['year']}년 {$admin['month']}월:【랜덤임관상품】{$nation['name']}{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; } elseif($vote == 3) { - $history[] = "●{$admin['year']}년 {$admin['month']}월:【건국상품】{$nation['name']}{$general['name']}{$josaYi} ".getHorseName($it)."{$josaUl} 습득했습니다!"; + $history[] = "●{$admin['year']}년 {$admin['month']}월:【건국상품】{$nation['name']}{$general['name']}{$josaYi} ".getItemName($it)."{$josaUl} 습득했습니다!"; } break; case 3: diff --git a/hwe/func_auction.php b/hwe/func_auction.php index 1cdc5bc1..62b1f216 100644 --- a/hwe/func_auction.php +++ b/hwe/func_auction.php @@ -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; } diff --git a/hwe/func_command.old.php b/hwe/func_command.old.php index fa32226b..56f205a8 100644 --- a/hwe/func_command.old.php +++ b/hwe/func_command.old.php @@ -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} 구입"; diff --git a/hwe/func_converter.php b/hwe/func_converter.php index 9187a908..51e0a030 100644 --- a/hwe/func_converter.php +++ b/hwe/func_converter.php @@ -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%
[전투] 계략 성공 확률 +20%p'], - 41 => ['신산', '[계략] 화계·탈취·파괴·선동 : 성공률 +10%p
[전투] 계략 시도 확률 +20%p, 계략 성공 확률 +20%p '], - 42 => ['환술', '[전투] 계략 성공 확률 +10%p, 계략 성공 시 대미지 +30%'], - 43 => ['집중', '[전투] 계략 성공 시 대미지 +50%'], - 44 => ['신중', '[전투] 계략 성공 확률 100%'], - 45 => ['반계', '[전투] 상대의 계략 성공 확률 -10%p, 상대의 계략을 40% 확률로 되돌림, 반목 성공시 대미지 추가(+60% → +100%)'], - - 50 => ['보병', '[군사] 보병 계통 징·모병비 -10%
[전투] 공격 시 아군 피해 -10%, 수비 시 아군 피해 -20%'], - 51 => ['궁병', '[군사] 궁병 계통 징·모병비 -10%
[전투] 회피 확률 +20%p'], - 52 => ['기병', '[군사] 기병 계통 징·모병비 -10%
[전투] 수비 시 대미지 +10%, 공격 시 대미지 +20%'], - 53 => ['공성', '[군사] 차병 계통 징·모병비 -10%
[전투] 성벽 공격 시 대미지 +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%) 부상 회복
[전투] 페이즈마다 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%) 부상 회복
[전투] 페이즈마다 20% 확률로 치료 발동(아군 피해 1/3 감소)'], - 24=>['태평청령(의술)', '[군사] 매 턴마다 자신(100%)과 소속 도시 장수(적 포함 50%) 부상 회복
[전투] 페이즈마다 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{ diff --git a/hwe/func_gamerule.php b/hwe/func_gamerule.php index b27c1f2d..ea6b2965 100644 --- a/hwe/func_gamerule.php +++ b/hwe/func_gamerule.php @@ -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', [ diff --git a/hwe/func_process.old.php b/hwe/func_process.old.php index f48fbb70..2dba4f3e 100644 --- a/hwe/func_process.old.php +++ b/hwe/func_process.old.php @@ -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[] = "●{$admin['month']}월:".getWeapName($type)."{$josaUl} 구입했습니다. <1>$date"; + $josaUl = JosaUtil::pick(getItemName($type), '을'); + $log[] = "●{$admin['month']}월:".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[] = "●{$admin['month']}월:".getWeapName($general['weap'])."{$josaUl} 판매했습니다. <1>$date"; + $josaUl = JosaUtil::pick(getItemName($general['weap']), '을'); + $log[] = "●{$admin['month']}월:".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[] = "●{$admin['month']}월:".getBookName($type)."{$josaUl} 구입했습니다. <1>$date"; + $josaUl = JosaUtil::pick(getItemName($type), '을'); + $log[] = "●{$admin['month']}월:".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[] = "●{$admin['month']}월:".getBookName($general['book'])."{$josaUl} 판매했습니다. <1>$date"; + $josaUl = JosaUtil::pick(getItemName($general['book']), '을'); + $log[] = "●{$admin['month']}월:".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[] = "●{$admin['month']}월:".getHorseName($type)."{$josaUl} 구입했습니다. <1>$date"; + $josaUl = JosaUtil::pick(getItemName($type), '을'); + $log[] = "●{$admin['month']}월:".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[] = "●{$admin['month']}월:".getHorseName($general['horse'])."{$josaUl} 판매했습니다. <1>$date"; + $josaUl = JosaUtil::pick(getItemName($general['horse']), '을'); + $log[] = "●{$admin['month']}월:".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[] = "●{$admin['month']}월:".getItemName($general['item'])."{$josaUl} 판매했습니다. <1>$date"; $query = "update general set resturn='SUCCESS',item='0',gold=gold+'$cost' where no='{$general['no']}'"; diff --git a/hwe/func_tournament.php b/hwe/func_tournament.php index f926d342..df72af0f 100644 --- a/hwe/func_tournament.php +++ b/hwe/func_tournament.php @@ -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[] = "{$gen1['name']}의 ".getHorseName($gen1['h'])."{$josaYi} 포효합니다!"; break; + $josaYi = JosaUtil::pick(getItemName($gen1['h']), '이'); + $log[] = "{$gen1['name']}의 ".getItemName($gen1['h'])."{$josaYi} 포효합니다!"; break; case 1: - $josaYi = JosaUtil::pick(getHorseName($gen1['h']), '이'); - $log[] = "{$gen1['name']}의 ".getHorseName($gen1['h'])."{$josaYi} 그 위용을 뽐냅니다!"; break; + $josaYi = JosaUtil::pick(getItemName($gen1['h']), '이'); + $log[] = "{$gen1['name']}의 ".getItemName($gen1['h'])."{$josaYi} 그 위용을 뽐냅니다!"; break; case 2: $josaYi = JosaUtil::pick($gen1['name'], '이'); - $josaUl = JosaUtil::pick(getHorseName($gen1['h']), '을'); - $log[] = "{$gen1['name']}{$josaYi} ".getHorseName($gen1['h'])."{$josaUl} 타고 있습니다!"; break; + $josaUl = JosaUtil::pick(getItemName($gen1['h']), '을'); + $log[] = "{$gen1['name']}{$josaYi} ".getItemName($gen1['h'])."{$josaUl} 타고 있습니다!"; break; case 3: - $josaYi = JosaUtil::pick(getHorseName($gen1['h']), '이'); - $log[] = "{$gen1['name']}의 ".getHorseName($gen1['h'])."{$josaYi} 갈기를 휘날립니다!"; break; + $josaYi = JosaUtil::pick(getItemName($gen1['h']), '이'); + $log[] = "{$gen1['name']}의 ".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[] = "{$gen1['name']}의 ".getWeapName($gen1['w'])."{$josaYi} 번뜩입니다!"; break; + $josaYi = JosaUtil::pick(getItemName($gen1['w']), '이'); + $log[] = "{$gen1['name']}의 ".getItemName($gen1['w'])."{$josaYi} 번뜩입니다!"; break; case 1: - $josaYi = JosaUtil::pick(getWeapName($gen1['w']), '이'); - $log[] = "{$gen1['name']}의 ".getWeapName($gen1['w'])."{$josaYi} 푸르게 빛납니다!"; break; + $josaYi = JosaUtil::pick(getItemName($gen1['w']), '이'); + $log[] = "{$gen1['name']}의 ".getItemName($gen1['w'])."{$josaYi} 푸르게 빛납니다!"; break; case 2: - $log[] = "{$gen1['name']}의 ".getWeapName($gen1['w'])."에서 살기가 느껴집니다!"; break; + $log[] = "{$gen1['name']}의 ".getItemName($gen1['w'])."에서 살기가 느껴집니다!"; break; case 3: - $josaYi = JosaUtil::pick(getWeapName($gen1['w']), '이'); - $log[] = "{$gen1['name']}의 손에는 ".getWeapName($gen1['w'])."{$josaYi} 쥐어져 있습니다!"; break; + $josaYi = JosaUtil::pick(getItemName($gen1['w']), '이'); + $log[] = "{$gen1['name']}의 손에는 ".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[] = "{$gen1['name']}{$josaYi} ".getBookName($gen1['b'])."{$josaUl} 펼쳐듭니다!"; break; + $josaUl = JosaUtil::pick(getItemName($gen1['b']), '을'); + $log[] = "{$gen1['name']}{$josaYi} ".getItemName($gen1['b'])."{$josaUl} 펼쳐듭니다!"; break; case 1: $josaYi = JosaUtil::pick($gen1['name'], '이'); - $josaUl = JosaUtil::pick(getBookName($gen1['b']), '을'); - $log[] = "{$gen1['name']}{$josaYi} ".getBookName($gen1['b'])."{$josaUl} 품에서 꺼냅니다!"; break; + $josaUl = JosaUtil::pick(getItemName($gen1['b']), '을'); + $log[] = "{$gen1['name']}{$josaYi} ".getItemName($gen1['b'])."{$josaUl} 품에서 꺼냅니다!"; break; case 2: $josaYi = JosaUtil::pick($gen1['name'], '이'); - $josaUl = JosaUtil::pick(getBookName($gen1['b']), '을'); - $log[] = "{$gen1['name']}{$josaYi} ".getBookName($gen1['b'])."{$josaUl} 들고 있습니다!"; break; + $josaUl = JosaUtil::pick(getItemName($gen1['b']), '을'); + $log[] = "{$gen1['name']}{$josaYi} ".getItemName($gen1['b'])."{$josaUl} 들고 있습니다!"; break; case 3: - $josaYi = JosaUtil::pick(getBookName($gen1['b']), '이'); - $log[] = "{$gen1['name']}의 손에는 ".getBookName($gen1['b'])."{$josaYi} 쥐어져 있습니다!"; break; + $josaYi = JosaUtil::pick(getItemName($gen1['b']), '이'); + $log[] = "{$gen1['name']}의 손에는 ".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[] = "{$gen2['name']}의 ".getHorseName($gen2['h'])."{$josaYi} 포효합니다!"; break; + $josaYi = JosaUtil::pick(getItemName($gen2['h']), '이'); + $log[] = "{$gen2['name']}의 ".getItemName($gen2['h'])."{$josaYi} 포효합니다!"; break; case 1: - $josaYi = JosaUtil::pick(getHorseName($gen2['h']), '이'); - $log[] = "{$gen2['name']}의 ".getHorseName($gen2['h'])."{$josaYi} 그 위용을 뽐냅니다!"; break; + $josaYi = JosaUtil::pick(getItemName($gen2['h']), '이'); + $log[] = "{$gen2['name']}의 ".getItemName($gen2['h'])."{$josaYi} 그 위용을 뽐냅니다!"; break; case 2: $josaYi = JosaUtil::pick($gen2['name'], '이'); - $josaUl = JosaUtil::pick(getHorseName($gen2['h']), '을'); - $log[] = "{$gen2['name']}{$josaYi} ".getHorseName($gen2['h'])."{$josaUl} 타고 있습니다!"; break; + $josaUl = JosaUtil::pick(getItemName($gen2['h']), '을'); + $log[] = "{$gen2['name']}{$josaYi} ".getItemName($gen2['h'])."{$josaUl} 타고 있습니다!"; break; case 3: - $josaYi = JosaUtil::pick(getHorseName($gen2['h']), '이'); - $log[] = "{$gen2['name']}의 ".getHorseName($gen2['h'])."{$josaYi} 갈기를 휘날립니다!"; break; + $josaYi = JosaUtil::pick(getItemName($gen2['h']), '이'); + $log[] = "{$gen2['name']}의 ".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[] = "{$gen2['name']}의 ".getWeapName($gen2['w'])."{$josaYi} 번뜩입니다!"; break; + $josaYi = JosaUtil::pick(getItemName($gen2['w']), '이'); + $log[] = "{$gen2['name']}의 ".getItemName($gen2['w'])."{$josaYi} 번뜩입니다!"; break; case 1: - $josaYi = JosaUtil::pick(getWeapName($gen2['w']), '이'); - $log[] = "{$gen2['name']}의 ".getWeapName($gen2['w'])."{$josaYi} 푸르게 빛납니다!"; break; + $josaYi = JosaUtil::pick(getItemName($gen2['w']), '이'); + $log[] = "{$gen2['name']}의 ".getItemName($gen2['w'])."{$josaYi} 푸르게 빛납니다!"; break; case 2: - $log[] = "{$gen2['name']}의 ".getWeapName($gen2['w'])."에서 살기가 느껴집니다!"; break; + $log[] = "{$gen2['name']}의 ".getItemName($gen2['w'])."에서 살기가 느껴집니다!"; break; case 3: - $josaYi = JosaUtil::pick(getWeapName($gen2['w']), '이'); - $log[] = "{$gen2['name']}의 손에는 ".getWeapName($gen2['w'])."{$josaYi} 쥐어져 있습니다!"; break; + $josaYi = JosaUtil::pick(getItemName($gen2['w']), '이'); + $log[] = "{$gen2['name']}의 손에는 ".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[] = "{$gen2['name']}{$josaYi} ".getBookName($gen2['b'])."{$josaUl} 펼쳐듭니다!"; break; + $josaUl = JosaUtil::pick(getItemName($gen2['b']), '을'); + $log[] = "{$gen2['name']}{$josaYi} ".getItemName($gen2['b'])."{$josaUl} 펼쳐듭니다!"; break; case 1: $josaYi = JosaUtil::pick($gen2['name'], '이'); - $josaUl = JosaUtil::pick(getBookName($gen2['b']), '을'); - $log[] = "{$gen2['name']}{$josaYi} ".getBookName($gen2['b'])."{$josaUl} 품에서 꺼냅니다!"; break; + $josaUl = JosaUtil::pick(getItemName($gen2['b']), '을'); + $log[] = "{$gen2['name']}{$josaYi} ".getItemName($gen2['b'])."{$josaUl} 품에서 꺼냅니다!"; break; case 2: $josaYi = JosaUtil::pick($gen2['name'], '이'); - $josaUl = JosaUtil::pick(getBookName($gen2['b']), '을'); - $log[] = "{$gen2['name']}{$josaYi} ".getBookName($gen2['b'])."{$josaUl} 들고 있습니다!"; break; + $josaUl = JosaUtil::pick(getItemName($gen2['b']), '을'); + $log[] = "{$gen2['name']}{$josaYi} ".getItemName($gen2['b'])."{$josaUl} 들고 있습니다!"; break; case 3: - $josaYi = JosaUtil::pick(getBookName($gen2['b']), '이'); - $log[] = "{$gen2['name']}의 손에는 ".getBookName($gen2['b'])."{$josaYi} 쥐어져 있습니다!"; break; + $josaYi = JosaUtil::pick(getItemName($gen2['b']), '이'); + $log[] = "{$gen2['name']}의 손에는 ".getItemName($gen2['b'])."{$josaYi} 쥐어져 있습니다!"; break; } } diff --git a/hwe/j_get_general_list.php b/hwe/j_get_general_list.php index 218692e2..aba61d2e 100644 --- a/hwe/j_get_general_list.php +++ b/hwe/j_get_general_list.php @@ -69,8 +69,8 @@ foreach($rawGeneralList as $rawGeneral){ $npc, $age, $nationArr['name'], - getGenSpecial($special), - getGenSpecial($special2), + getGeneralSpecialDomesticName($special), + getGeneralSpecialWarName($special2), getGenChar($personal), $name, $name2, diff --git a/hwe/join_post.php b/hwe/join_post.php index e99782d8..344ddac6 100644 --- a/hwe/join_post.php +++ b/hwe/join_post.php @@ -276,7 +276,7 @@ $mylog = []; $josaRa = JosaUtil::pick($name, '라'); if ($genius) { $log[0] = "●{$gameStor->month}월:{$cityname}에서 {$name}{$josaRa}는 기재가 천하에 이름을 알립니다."; - $log[1] = "●{$gameStor->month}월:".getGenSpecial($special2)." 특기를 가진 천재의 등장으로 온 천하가 떠들썩합니다."; + $log[1] = "●{$gameStor->month}월:".getGeneralSpecialWarName($special2)." 특기를 가진 천재의 등장으로 온 천하가 떠들썩합니다."; pushWorldHistory(["●{$gameStor->year}년 {$gameStor->month}월:【천재】{$cityname}에 천재가 등장했습니다."], $gameStor->year, $gameStor->month); } else { @@ -290,8 +290,8 @@ $mylog[] = "●부디 즐거운 삼모전 되시길 바랍니다 ^^"; $mylog[] = "●통솔 $pleader 무력 $ppower 지력 $pintel 의 보너스를 받으셨습니다."; $mylog[] = "●연령은 $age세로 시작합니다."; if ($genius) { - $mylog[] = "●축하합니다! 천재로 태어나 처음부터 ".getGenSpecial($special2)." 특기를 가지게 됩니다!"; - pushGeneralHistory($me, "●{$gameStor->year}년 {$gameStor->month}월:".getGenSpecial($special2)." 특기를 가진 천재로 탄생."); + $mylog[] = "●축하합니다! 천재로 태어나 처음부터 ".getGeneralSpecialWarName($special2)." 특기를 가지게 됩니다!"; + pushGeneralHistory($me, "●{$gameStor->year}년 {$gameStor->month}월:".getGeneralSpecialWarName($special2)." 특기를 가진 천재로 탄생."); } pushGenLog($me, $mylog); pushGeneralPublicRecord($log, $gameStor->year, $gameStor->month); diff --git a/hwe/join_post.php.orig b/hwe/join_post.php.orig index c796b36b..26591559 100644 --- a/hwe/join_post.php.orig +++ b/hwe/join_post.php.orig @@ -240,7 +240,7 @@ if($id_num) { $cityname = getCity($connect, $city, "name"); if($genius == 1) { $log[0] = "●{$admin[month]}월:$cityname[name]에서 $me[name](이)라는 기재가 천하에 이름을 알립니다."; - $log[1] = "●{$admin[month]}월:".getGenSpecial($special2)." 특기를 가진 천재의 등장으로 온 천하가 떠들썩합니다."; + $log[1] = "●{$admin[month]}월:".getGeneralSpecialWarName($special2)." 특기를 가진 천재의 등장으로 온 천하가 떠들썩합니다."; $history[0] = "●$admin[year]년 $admin[month]월:【천재】$cityname[name]에 천재가 등장했습니다."; pushHistory($connect, $history); @@ -255,8 +255,8 @@ if($id_num) { $mylog[count($mylog)] = "●통솔 $pleader 무력 $ppower 지력 $pintel 의 보너스를 받으셨습니다."; $mylog[count($mylog)] = "●연령은 $age세로 시작합니다."; if($genius == 1) { - $mylog[count($mylog)] = "●축하합니다! 천재로 태어나 처음부터 ".getGenSpecial($special2)." 특기를 가지게 됩니다!"; - $me = addHistory($connect, $me, "●$admin[year]년 $admin[month]월:".getGenSpecial($special2)." 특기를 가진 천재로 탄생."); + $mylog[count($mylog)] = "●축하합니다! 천재로 태어나 처음부터 ".getGeneralSpecialWarName($special2)." 특기를 가지게 됩니다!"; + $me = addHistory($connect, $me, "●$admin[year]년 $admin[month]월:".getGeneralSpecialWarName($special2)." 특기를 가진 천재로 탄생."); } pushGenLog($me, $mylog); pushAllLog($log); diff --git a/hwe/processing.php b/hwe/processing.php index 3f424e88..b18d2a5c 100644 --- a/hwe/processing.php +++ b/hwe/processing.php @@ -1368,33 +1368,33 @@ function command_48($turn, $command) {
장비 : "; diff --git a/hwe/sammo/ActionItem/che_Dummy.php b/hwe/sammo/ActionItem/che_Dummy.php index e3e4b527..30b631f8 100644 --- a/hwe/sammo/ActionItem/che_Dummy.php +++ b/hwe/sammo/ActionItem/che_Dummy.php @@ -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); } } \ No newline at end of file diff --git a/hwe/sammo/Command/General/che_군량매매.php b/hwe/sammo/Command/General/che_군량매매.php index 7de9cd59..9e581e82 100644 --- a/hwe/sammo/Command/General/che_군량매매.php +++ b/hwe/sammo/Command/General/che_군량매매.php @@ -15,9 +15,9 @@ use \sammo\{ use function \sammo\{ tryUniqueItemLottery, - getItemCost, getItemCost2, + getItemCost, getItemInfo, - getHorseName, getWeapName, getBookName, getItemName + getItemName }; use \sammo\Constraint\Constraint; diff --git a/hwe/sammo/Command/General/che_장비매매.php b/hwe/sammo/Command/General/che_장비매매.php index 4095df19..741d31cb 100644 --- a/hwe/sammo/Command/General/che_장비매매.php +++ b/hwe/sammo/Command/General/che_장비매매.php @@ -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(); diff --git a/hwe/sql/schema.sql b/hwe/sql/schema.sql index 690b3b81..3e18686c 100644 --- a/hwe/sql/schema.sql +++ b/hwe/sql/schema.sql @@ -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',