From 91c46f465b01a6ddc170fd59dc4d0ee95bc34a5b Mon Sep 17 00:00:00 2001 From: hide_d Date: Sun, 20 Feb 2022 04:34:10 +0900 Subject: [PATCH] =?UTF-8?q?feat,game:=20=EC=9E=A5=EB=B9=84=EB=A7=A4?= =?UTF-8?q?=EB=A7=A4=EC=8B=9C=20=EB=B0=98=EC=9D=91=ED=95=98=EB=8A=94=20?= =?UTF-8?q?=ED=8A=B8=EB=A6=AC=EA=B1=B0=20=EC=B6=94=EA=B0=80,=20=ED=8C=90?= =?UTF-8?q?=EB=A7=A4=EC=8B=9C=20=EA=B5=AD=EA=B3=A0=EC=97=90=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=EB=90=98=EB=8A=94=20=EC=9C=A0=EB=8B=88=ED=81=AC=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hwe/sammo/ActionItem/che_보물_도기.php | 58 ++++++++++++ hwe/sammo/Command/General/che_장비매매.php | 101 +++++---------------- 2 files changed, 81 insertions(+), 78 deletions(-) create mode 100644 hwe/sammo/ActionItem/che_보물_도기.php diff --git a/hwe/sammo/ActionItem/che_보물_도기.php b/hwe/sammo/ActionItem/che_보물_도기.php new file mode 100644 index 00000000..a6aa0f6e --- /dev/null +++ b/hwe/sammo/ActionItem/che_보물_도기.php @@ -0,0 +1,58 @@ +getValuesAsArray(['year', 'startyear']); + $relYear = $year - $startYear; + + $score = 10000 * (1 + Util::valueFit(intdiv($relYear, 5), 0)); + + [$resName, $resKey] = Util::choiceRandom([ + ['금', 'gold'], + ['쌀', 'rice'] + ]); + + $db->update('nation', [ + $resKey => $db->sqleval('%b + %i', $resKey, $score) + ]); + + $score = Util::round($score); + $scoreText = number_format($score, 0); + + $logger = $general->getLogger(); + $logger->pushGeneralActionLog("국고에 {$resName} {$scoreText}을 보충합니다."); + return $aux; + } +} diff --git a/hwe/sammo/Command/General/che_장비매매.php b/hwe/sammo/Command/General/che_장비매매.php index ea8f4954..2e4a0172 100644 --- a/hwe/sammo/Command/General/che_장비매매.php +++ b/hwe/sammo/Command/General/che_장비매매.php @@ -173,11 +173,13 @@ class che_장비매매 extends Command\GeneralCommand if ($buying) { $logger->pushGeneralActionLog("{$itemName}{$josaUl} 구입했습니다. <1>$date"); $general->increaseVarWithLimit('gold', -$cost, 0); - $general->setVar($itemType, $itemCode); + $general->setItem($itemType, $itemCode); + $general->onArbitraryAction($general, '장비매매', '구매', ['itemCode' => $itemCode]); } else { $logger->pushGeneralActionLog("{$itemName}{$josaUl} 판매했습니다. <1>$date"); $general->increaseVarWithLimit('gold', $cost / 2); - $general->deleteItem($itemType); + $general->onArbitraryAction($general, '장비매매', '판매', ['itemCode' => $itemCode]); + $general->setItem($itemType, null); } $exp = 10; @@ -209,96 +211,39 @@ class che_장비매매 extends Command\GeneralCommand continue; } $values[] = [ - 'id'=>$itemCode, - 'name'=>$item->getName(), - 'reqSecu'=>$item->getReqSecu(), - 'cost'=>$item->getCost(), - 'info'=>$item->getInfo(), - 'isBuyable'=>$item->isBuyable(),//항상 true지만, 일관성을 위해 + 'id' => $itemCode, + 'name' => $item->getName(), + 'reqSecu' => $item->getReqSecu(), + 'cost' => $item->getCost(), + 'info' => $item->getInfo(), + 'isBuyable' => $item->isBuyable(), //항상 true지만, 일관성을 위해 ]; } $itemList[$itemType] = [ - 'typeName'=>$typeName, - 'values'=>$values + 'typeName' => $typeName, + 'values' => $values ]; } $ownItem = []; - foreach($general->getItems() as $itemType => $item){ + foreach ($general->getItems() as $itemType => $item) { $ownItem[$itemType] = [ - 'id'=>$item->getRawClassName(), - 'name'=>$item->getName(), - 'reqSecu'=>$item->getReqSecu(), - 'cost'=>$item->getCost(), - 'info'=>$item->getInfo(), - 'isBuyable'=>$item->isBuyable(), + 'id' => $item->getRawClassName(), + 'name' => $item->getName(), + 'reqSecu' => $item->getReqSecu(), + 'cost' => $item->getCost(), + 'info' => $item->getInfo(), + 'isBuyable' => $item->isBuyable(), ]; } return [ 'procRes' => [ - 'citySecu'=>$citySecu, - 'gold'=>$general->getVar('gold'), - 'itemList'=>$itemList, - 'ownItem'=>$ownItem, + 'citySecu' => $citySecu, + 'gold' => $general->getVar('gold'), + 'itemList' => $itemList, + 'ownItem' => $ownItem, ] ]; } - - public function getForm(): string - { - $form = []; - - $db = DB::db(); - - $citySecu = $db->queryFirstField('SELECT secu FROM city WHERE city = %i', $this->generalObj->getCityID()); - $gold = $this->generalObj->getVar('gold'); - - ob_start(); -?> - - - 장비를 구입하거나 매각합니다.
- 현재 구입 불가능한 것은 붉은색으로 표시됩니다.
- 현재 도시 치안 :    현재 자금 :
- 장비 : -
-