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(); -?> - - - 장비를 구입하거나 매각합니다.
- 현재 구입 불가능한 것은 붉은색으로 표시됩니다.
- 현재 도시 치안 :    현재 자금 :
- 장비 : -
-