game: 시작한지 4개월째부터 유산으로 유니그 획득 가능
This commit is contained in:
+8
-4
@@ -1887,7 +1887,8 @@ function tryUniqueItemLottery(General $general, string $acquireType = '아이템
|
|||||||
|
|
||||||
$itemTypeCnt = count(GameConst::$allItems);
|
$itemTypeCnt = count(GameConst::$allItems);
|
||||||
|
|
||||||
[$startYear, $year] = $gameStor->getValuesAsArray(['startyear', 'year']);
|
|
||||||
|
[$startYear, $year, $month, $initYear, $initMonth] = $gameStor->getValuesAsArray(['startyear', 'year', 'month', 'init_year', 'init_month']);
|
||||||
$relYear = $year - $startYear;
|
$relYear = $year - $startYear;
|
||||||
$maxTrialCountByYear = 1;
|
$maxTrialCountByYear = 1;
|
||||||
foreach(GameConst::$maxUniqueItemLimit as $tmpVals){
|
foreach(GameConst::$maxUniqueItemLimit as $tmpVals){
|
||||||
@@ -1901,6 +1902,9 @@ function tryUniqueItemLottery(General $general, string $acquireType = '아이템
|
|||||||
$trialCnt = Util::valueFit($itemTypeCnt, null, $maxTrialCountByYear);
|
$trialCnt = Util::valueFit($itemTypeCnt, null, $maxTrialCountByYear);
|
||||||
$maxCnt = $itemTypeCnt;
|
$maxCnt = $itemTypeCnt;
|
||||||
|
|
||||||
|
$relMonthByInit = Util::joinYearMonth($year, $month) - Util::joinYearMonth($initYear, $initMonth);
|
||||||
|
$availableBuyUnique = $relMonthByInit >= 4;
|
||||||
|
|
||||||
foreach ($general->getItems() as $item) {
|
foreach ($general->getItems() as $item) {
|
||||||
if (!$item->isBuyable()) {
|
if (!$item->isBuyable()) {
|
||||||
$trialCnt -= 1;
|
$trialCnt -= 1;
|
||||||
@@ -1910,7 +1914,7 @@ function tryUniqueItemLottery(General $general, string $acquireType = '아이템
|
|||||||
|
|
||||||
if ($trialCnt <= 0) {
|
if ($trialCnt <= 0) {
|
||||||
LogText("{$general->getName()}, {$general->getID()} 모든 아이템", $trialCnt);
|
LogText("{$general->getName()}, {$general->getID()} 모든 아이템", $trialCnt);
|
||||||
if ($general->getAuxVar('inheritRandomUnique')) {
|
if ($general->getAuxVar('inheritRandomUnique') && $availableBuyUnique) {
|
||||||
$general->setAuxVar('inheritRandomUnique', null);
|
$general->setAuxVar('inheritRandomUnique', null);
|
||||||
$general->increaseInheritancePoint('previous', GameConst::$inheritItemRandomPoint);
|
$general->increaseInheritancePoint('previous', GameConst::$inheritItemRandomPoint);
|
||||||
$userLogger = new UserLogger($general->getVar('owner'));
|
$userLogger = new UserLogger($general->getVar('owner'));
|
||||||
@@ -1921,7 +1925,7 @@ function tryUniqueItemLottery(General $general, string $acquireType = '아이템
|
|||||||
}
|
}
|
||||||
|
|
||||||
$inheritUnique = $general->getAuxVar('inheritUniqueTrial');
|
$inheritUnique = $general->getAuxVar('inheritUniqueTrial');
|
||||||
if ($acquireType != '설문조사' && $inheritUnique && count($inheritUnique)) {
|
if ($acquireType != '설문조사' && $inheritUnique && count($inheritUnique) && $availableBuyUnique) {
|
||||||
$trialResult = tryInheritUniqueItem($general, $acquireType);
|
$trialResult = tryInheritUniqueItem($general, $acquireType);
|
||||||
if ($trialResult) {
|
if ($trialResult) {
|
||||||
return true;
|
return true;
|
||||||
@@ -1951,7 +1955,7 @@ function tryUniqueItemLottery(General $general, string $acquireType = '아이템
|
|||||||
$prob /= sqrt(2);
|
$prob /= sqrt(2);
|
||||||
$moreProb = pow(2, 1 / 4);
|
$moreProb = pow(2, 1 / 4);
|
||||||
|
|
||||||
if ($general->getAuxVar('inheritRandomUnique')) {
|
if ($general->getAuxVar('inheritRandomUnique') && $availableBuyUnique) {
|
||||||
//포인트로 랜덤 유니크 획득
|
//포인트로 랜덤 유니크 획득
|
||||||
$prob = 1;
|
$prob = 1;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user