game: 이미 같은 부위에 유니크를 가지고 있다면 유산 입찰 금지

- 이미 입찰한 같은 부위 유니크는 반환
This commit is contained in:
2022-05-11 00:12:57 +09:00
parent 83c34c5245
commit b1395e7ff8
2 changed files with 17 additions and 2 deletions
+4 -2
View File
@@ -1758,12 +1758,11 @@ function tryInheritUniqueItem(General $general, string $acquireType = '아이템
$reasons[] = '이미 그 유니크를 가지고 있습니다.';
continue;
}
/*
if (!$ownItem->isBuyable()) {
$reasons[] = '이미 다른 유니크를 가지고 있습니다.';
continue;
}
*/
$availableCnt = $itemList[$itemKey];
$occupiedCnt = $db->queryFirstField('SELECT count(*) FROM general WHERE %b = %s', $itemType, $itemKey);
@@ -1865,6 +1864,9 @@ function tryInheritUniqueItem(General $general, string $acquireType = '아이템
$general->applyDB($db);
//같은 종류의 유니크를 입찰했을 수 있으니 한번 더 검사한다.
tryRollbackInheritUniqueItem($general);
return true;
}
@@ -67,6 +67,19 @@ class BuySpecificUnique extends \sammo\BaseAPI
return '이미 입찰한 아이템입니다. 다음 턴에 시도해 주세요.';
}
foreach(GameConst::$allItems as $itemType => $items){
if(!key_exists($itemKey, $items)){
continue;
}
$prevItem = $general->getItem($itemType);
if(!$prevItem->isBuyable()){
return '이미 같은 자리에 유니크를 보유하고 있습니다.';
}
break;
}
$db = DB::db();
$inheritStor = KVStorage::getStorage($db, "inheritance_{$userID}");
$trialStor = KVStorage::getStorage($db, "ut_{$itemKey}");