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
+40 -28
View File
@@ -4,67 +4,79 @@ namespace sammo;
use sammo\Enums\InheritanceKey;
class DummyGeneral extends General{
public function __construct(bool $initLogger=true){
class DummyGeneral extends General
{
public function __construct(bool $initLogger = true)
{
$raw = [
'no'=>0,
'name'=>'Dummy',
'npc'=>3,
'city'=>0,
'nation'=>0,
'officer_level'=>0,
'crewtype'=>-1,
'turntime'=>'2012-03-04 05:06:07.000000',
'experience'=>0,
'dedication'=>0,
'gold'=>0,
'rice'=>0,
'leadership'=>10,
'strength'=>10,
'intel'=>10,
'no' => 0,
'name' => 'Dummy',
'npc' => 3,
'city' => 0,
'nation' => 0,
'officer_level' => 0,
'crewtype' => -1,
'turntime' => '2012-03-04 05:06:07.000000',
'experience' => 0,
'dedication' => 0,
'gold' => 0,
'rice' => 0,
'leadership' => 10,
'strength' => 10,
'intel' => 10,
'imgsvr' => 0,
'picture' => 'default.jpg',
];
$this->raw = $raw;
$this->resultTurn = new LastTurn();
if($initLogger){
if ($initLogger) {
$this->initLogger(1, 1);
}
}
public function getBattleInitSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{
public function getBattleInitSkillTriggerList(WarUnit $unit): ?WarUnitTriggerCaller
{
return new WarUnitTriggerCaller();
}
public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{
public function getBattlePhaseSkillTriggerList(WarUnit $unit): ?WarUnitTriggerCaller
{
return new WarUnitTriggerCaller();
}
public function onCalcStat(General $general, string $statName, $value, $aux=null){
public function onCalcStat(General $general, string $statName, $value, $aux = null)
{
return $value;
}
public function onCalcOpposeStat(General $general, string $statName, $value, $aux=null){
public function onCalcOpposeStat(General $general, string $statName, $value, $aux = null)
{
return $value;
}
public function getInheritancePoint(InheritanceKey $key, &$aux = null, bool $forceCalc = false): int|float{
public function getInheritancePoint(InheritanceKey $key, &$aux = null, bool $forceCalc = false): int|float
{
return 0;
}
public function setInheritancePoint(InheritanceKey $key, $value, $aux = null){
public function setInheritancePoint(InheritanceKey $key, $value, $aux = null)
{
return;
}
public function increaseInheritancePoint(InheritanceKey $key, $value, $aux = null){
public function increaseInheritancePoint(InheritanceKey $key, $value, $aux = null)
{
return;
}
function applyDB($db):bool{
if($this->logger){
function applyDB($db): bool
{
if ($this->logger) {
$this->initLogger($this->logger->getYear(), $this->logger->getMonth());
}
return true;
}
}
}