feat,wip: 유니크 경매 시작, 입찰 구현

- 누군가는 무작위로 유니크를 하나를 먹을 수 있도록 설계?
This commit is contained in:
2022-06-09 01:21:21 +09:00
parent 9b1a57bbd2
commit 3784aa09fc
9 changed files with 234 additions and 159 deletions
+10
View File
@@ -3,6 +3,7 @@
namespace sammo;
use DateTime;
use Ds\Set;
use sammo\Enums\InheritanceKey;
use sammo\Enums\RankColumn;
use sammo\Event\Action;
@@ -1665,6 +1666,10 @@ function giveRandomUniqueItem(RandUtil $rng, General $general, string $acquireTy
$logger->pushGlobalActionLog("<Y>{$generalName}</>{$josaYi} <C>{$itemName}</>{$josaUl} 습득했습니다!");
$logger->pushGlobalHistoryLog("<C><b>【{$acquireType}】</b></><D><b>{$nationName}</b></>의 <Y>{$generalName}</>{$josaYi} <C>{$itemName}</>{$josaUl} 습득했습니다!");
$givenUnique =$gameStor->getValue('givenUnique') ?? [];
$givenUnique[$itemCode] = ($givenUnique[$itemCode] ?? 0) + 1;
$gameStor->setValue('givenUnique', $givenUnique);
return true;
}
@@ -1866,6 +1871,11 @@ function tryInheritUniqueItem(RandUtil $rng, General $general, string $acquireTy
$general->applyDB($db);
$gameStor = KVStorage::getStorage($db, 'game_env');
$givenUnique =$gameStor->getValue('givenUnique') ?? [];
$givenUnique[$ownTarget] = ($givenUnique[$ownTarget] ?? 0) + 1;
$gameStor->setValue('givenUnique', $givenUnique);
//같은 종류의 유니크를 입찰했을 수 있으니 한번 더 검사한다.
tryRollbackInheritUniqueItem($rng, $general);