feat,refac: 경매장 재설계, 유니크 경매장 구현 (#221)

- 경매장을 모든 입찰 기록이 남는 새로운 경매장 로직으로 변경
  - ng_auction, ng_auction_bid
    - DTO 사용
  - 상회입찰 시 개인메시지로 알림
- 기존의 '배경에서 조용히 이루어지는' 유니크 입찰을 공개된 유니크 경매장으로 변경
  - 종료 기간 명시
    - 종료 기간에 가까워질때 입찰하면 자동 연장
    - 최대 연장기간 있음
  - 유니크 제한인 경우 24턴 연장
  - 중원정세에서 '보물수배'로 알림

Reviewed-on: https://storage.hided.net/gitea/devsam/core/pulls/221
This commit was merged in pull request #221.
This commit is contained in:
2022-06-09 01:21:55 +09:00
parent 7964aa5f6b
commit dd38344319
64 changed files with 3053 additions and 1530 deletions
@@ -13,8 +13,6 @@ use \sammo\{
use \sammo\Constraint\Constraint;
use \sammo\Constraint\ConstraintHelper;
use function sammo\tryRollbackInheritUniqueItem;
class che_NPC능동 extends Command\GeneralCommand{
static protected $actionName = 'NPC능동';
@@ -98,7 +96,6 @@ class che_NPC능동 extends Command\GeneralCommand{
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
}
tryRollbackInheritUniqueItem($rng, $general);
$general->applyDB($db);
return true;
@@ -15,8 +15,6 @@ use \sammo\Constraint\Constraint;
use \sammo\Constraint\ConstraintHelper;
use sammo\Enums\InheritanceKey;
use function sammo\tryRollbackInheritUniqueItem;
class che_모반시도 extends Command\GeneralCommand{
static protected $actionName = '모반시도';
@@ -99,7 +97,6 @@ class che_모반시도 extends Command\GeneralCommand{
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
$general->increaseInheritancePoint(InheritanceKey::active_action, 1);
$general->checkStatChange();
tryRollbackInheritUniqueItem($rng, $general);
$general->applyDB($db);
$lordGeneral->applyDB($db);
-2
View File
@@ -17,7 +17,6 @@ use sammo\Enums\InheritanceKey;
use function sammo\DeleteConflict;
use function sammo\refreshNationStaticInfo;
use function sammo\tryRollbackInheritUniqueItem;
class che_방랑 extends Command\GeneralCommand{
static protected $actionName = '방랑';
@@ -125,7 +124,6 @@ class che_방랑 extends Command\GeneralCommand{
refreshNationStaticInfo();
$general->increaseInheritancePoint(InheritanceKey::active_action, 1);
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
tryRollbackInheritUniqueItem($rng, $general);
$general->applyDB($db);
return true;
-3
View File
@@ -21,8 +21,6 @@ use \sammo\Constraint\Constraint;
use \sammo\Constraint\ConstraintHelper;
use sammo\Enums\InheritanceKey;
use function sammo\tryRollbackInheritUniqueItem;
class che_선양 extends Command\GeneralCommand
{
static protected $actionName = '선양';
@@ -139,7 +137,6 @@ class che_선양 extends Command\GeneralCommand
$general->increaseInheritancePoint(InheritanceKey::active_action, 1);
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
$general->checkStatChange();
tryRollbackInheritUniqueItem($rng, $general);
$general->applyDB($db);
$destGeneral->applyDB($db);
@@ -13,8 +13,6 @@ use \sammo\{
use \sammo\Constraint\Constraint;
use \sammo\Constraint\ConstraintHelper;
use function sammo\tryRollbackInheritUniqueItem;
class che_소집해제 extends Command\GeneralCommand{
static protected $actionName = '소집해제';
@@ -82,7 +80,6 @@ class che_소집해제 extends Command\GeneralCommand{
$general->addDedication($ded);
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
$general->checkStatChange();
tryRollbackInheritUniqueItem($rng, $general);
$general->applyDB($db);
return true;
-3
View File
@@ -13,8 +13,6 @@ use \sammo\{
use \sammo\Constraint\Constraint;
use \sammo\Constraint\ConstraintHelper;
use function sammo\tryRollbackInheritUniqueItem;
class che_요양 extends Command\GeneralCommand{
static protected $actionName = '요양';
@@ -71,7 +69,6 @@ class che_요양 extends Command\GeneralCommand{
$general->addDedication($ded);
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
$general->checkStatChange();
tryRollbackInheritUniqueItem($rng, $general);
$general->applyDB($db);
return true;
@@ -13,7 +13,8 @@ use \sammo\{
GameConst,
GameUnitConst,
LastTurn,
Command
Command,
KVStorage
};
use function \sammo\buildItemClass;
@@ -181,7 +182,7 @@ class che_장비매매 extends Command\GeneralCommand
$general->onArbitraryAction($general, $rng, '장비매매', '판매', ['itemCode' => $itemCode]);
$general->setItem($itemType, null);
if(!$itemObj->isBuyable()){
if (!$itemObj->isBuyable()) {
$generalName = $general->getName();
$josaYi = JosaUtil::pick($generalName, '이');
$nationName = $general->getStaticNation()['name'];
-2
View File
@@ -12,7 +12,6 @@ use \sammo\Command;
use \sammo\Json;
use function \sammo\searchDistance;
use function sammo\tryRollbackInheritUniqueItem;
use \sammo\Constraint\ConstraintHelper;
use sammo\CityConst;
@@ -214,7 +213,6 @@ class che_첩보 extends Command\GeneralCommand
$general->increaseVar('leadership_exp', 1);
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
$general->checkStatChange();
tryRollbackInheritUniqueItem($rng, $general);
$general->applyDB($db);
return true;
-3
View File
@@ -15,8 +15,6 @@ use \sammo\Constraint\ConstraintHelper;
use sammo\CityConst;
use sammo\Enums\InheritanceKey;
use function sammo\tryRollbackInheritUniqueItem;
class che_하야 extends Command\GeneralCommand{
static protected $actionName = '하야';
@@ -118,7 +116,6 @@ class che_하야 extends Command\GeneralCommand{
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
$general->checkStatChange();
tryRollbackInheritUniqueItem($rng, $general);
$general->applyDB($db);
return true;
-2
View File
@@ -20,7 +20,6 @@ use sammo\Event\EventHandler;
use function sammo\refreshNationStaticInfo;
use function sammo\deleteNation;
use function sammo\tryRollbackInheritUniqueItem;
class che_해산 extends Command\GeneralCommand{
static protected $actionName = '해산';
@@ -99,7 +98,6 @@ class che_해산 extends Command\GeneralCommand{
$oldGeneral->setVar('makelimit', 12);
$oldGeneral->applyDB($db);
}
tryRollbackInheritUniqueItem($rng, $general);
$general->applyDB($db);
// 이벤트 핸들러 동작
-3
View File
@@ -12,7 +12,6 @@ use \sammo\LastTurn;
use \sammo\Command;
use function \sammo\searchDistance;
use function sammo\tryRollbackInheritUniqueItem;
use \sammo\Constraint\ConstraintHelper;
use sammo\CityConst;
@@ -296,7 +295,6 @@ class che_화계 extends Command\GeneralCommand
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
$general->checkStatChange();
tryRollbackInheritUniqueItem($rng, $general);
$general->applyDB($db);
return false;
}
@@ -330,7 +328,6 @@ class che_화계 extends Command\GeneralCommand
$general->increaseRankVar(RankColumn::firenum, 1);
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
$general->checkStatChange();
tryRollbackInheritUniqueItem($rng, $general);
$general->applyDB($db);
return true;
-3
View File
@@ -7,8 +7,6 @@ use \sammo\JosaUtil;
use \sammo\LastTurn;
use \sammo\DB;
use function sammo\tryRollbackInheritUniqueItem;
class 휴식 extends Command\GeneralCommand{
static protected $actionName = '휴식';
@@ -41,7 +39,6 @@ class 휴식 extends Command\GeneralCommand{
$logger->pushGeneralActionLog("아무것도 실행하지 않았습니다. <1>$date</>");
$this->setResultTurn(new LastTurn());
tryRollbackInheritUniqueItem($rng, $general);
$general->applyDB(DB::db());
return true;
}