feat,fix,wip: 버그 수정, 연장 시간 로직 변경
This commit is contained in:
+14
-7
@@ -4,6 +4,7 @@ namespace sammo;
|
||||
|
||||
use DateTime;
|
||||
use Ds\Set;
|
||||
use sammo\Enums\AuctionType;
|
||||
use sammo\Enums\InheritanceKey;
|
||||
use sammo\Enums\RankColumn;
|
||||
use sammo\Event\Action;
|
||||
@@ -1558,6 +1559,7 @@ function CheckHall($no)
|
||||
function giveRandomUniqueItem(RandUtil $rng, General $general, string $acquireType): bool
|
||||
{
|
||||
$db = DB::db();
|
||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||
//아이템 습득 상황
|
||||
$availableUnique = [];
|
||||
|
||||
@@ -1589,6 +1591,18 @@ function giveRandomUniqueItem(RandUtil $rng, General $general, string $acquireTy
|
||||
}
|
||||
}
|
||||
|
||||
$auctionItems = $db->queryFirstColumn(
|
||||
'SELECT `target` FROM `ng_auction` WHERE `type` = %s AND `finished` = 0',
|
||||
AuctionType::UniqueItem->value
|
||||
);
|
||||
foreach ($auctionItems as $itemCode) {
|
||||
if (key_exists($itemCode, $occupiedUnique)) {
|
||||
$occupiedUnique[$itemCode]++;
|
||||
} else {
|
||||
$occupiedUnique[$itemCode] = 1;
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($db->queryAllLists('SELECT namespace, count(*) as cnt FROM `storage` WHERE namespace LIKE "ut_%" GROUP BY namespace') as [$uniqueNS, $cnt]) {
|
||||
$itemCode = substr($uniqueNS, 3);
|
||||
$itemClass = buildItemClass($itemCode);
|
||||
@@ -1632,10 +1646,7 @@ function giveRandomUniqueItem(RandUtil $rng, General $general, string $acquireTy
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if ($general->getAuxVar('inheritRandomUnique')) {
|
||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||
[$year, $month, $initYear, $initMonth] = $gameStor->getValuesAsArray(['year', 'month', 'init_year', 'init_month']);
|
||||
|
||||
$relMonthByInit = Util::joinYearMonth($year, $month) - Util::joinYearMonth($initYear, $initMonth);
|
||||
@@ -1666,10 +1677,6 @@ 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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user