fix: 유니크를 얻는 턴이 아니더라도 환불은 하도록 수정
This commit is contained in:
+13
-6
@@ -1286,12 +1286,11 @@ function addAge()
|
|||||||
$generalAux = Json::decode($general['aux']);
|
$generalAux = Json::decode($general['aux']);
|
||||||
|
|
||||||
$updateVars = [];
|
$updateVars = [];
|
||||||
if(key_exists('inheritSpecificSpecialWar', $generalAux)){
|
if (key_exists('inheritSpecificSpecialWar', $generalAux)) {
|
||||||
$special2 = $generalAux['inheritSpecificSpecialWar'];
|
$special2 = $generalAux['inheritSpecificSpecialWar'];
|
||||||
unset($generalAux['inheritSpecificSpecialWar']);
|
unset($generalAux['inheritSpecificSpecialWar']);
|
||||||
$updateVars['aux'] = Json::encode($generalAux);
|
$updateVars['aux'] = Json::encode($generalAux);
|
||||||
}
|
} else {
|
||||||
else{
|
|
||||||
$special2 = SpecialityHelper::pickSpecialWar(
|
$special2 = SpecialityHelper::pickSpecialWar(
|
||||||
$general,
|
$general,
|
||||||
($generalAux['prev_types_special2']) ?? []
|
($generalAux['prev_types_special2']) ?? []
|
||||||
@@ -1666,7 +1665,12 @@ function rollbackInheritUniqueTrial(General $general, string $itemKey, string $r
|
|||||||
$general->applyDB($db);
|
$general->applyDB($db);
|
||||||
}
|
}
|
||||||
|
|
||||||
function tryInheritUniqueItem(General $general, string $acquireType = '아이템'): bool
|
function tryRollbackInheritUniqueItem(General $general): void
|
||||||
|
{
|
||||||
|
tryInheritUniqueItem($general, 'Rollback', true);
|
||||||
|
}
|
||||||
|
|
||||||
|
function tryInheritUniqueItem(General $general, string $acquireType = '아이템', bool $justRollback = false): bool
|
||||||
{
|
{
|
||||||
$ownerID = $general->getVar('owner');
|
$ownerID = $general->getVar('owner');
|
||||||
if (!$ownerID) {
|
if (!$ownerID) {
|
||||||
@@ -1769,6 +1773,9 @@ function tryInheritUniqueItem(General $general, string $acquireType = '아이템
|
|||||||
if ($ownTarget === null) {
|
if ($ownTarget === null) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if ($justRollback) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
LogText("선택유니크획득{$ownerID}", $ownTarget);
|
LogText("선택유니크획득{$ownerID}", $ownTarget);
|
||||||
|
|
||||||
@@ -1859,9 +1866,9 @@ function tryUniqueItemLottery(General $general, string $acquireType = '아이템
|
|||||||
$result = false;
|
$result = false;
|
||||||
|
|
||||||
$prob /= sqrt(2);
|
$prob /= sqrt(2);
|
||||||
$moreProb = pow(2, 1/4);
|
$moreProb = pow(2, 1 / 4);
|
||||||
|
|
||||||
if($general->getAuxVar('inheritRandomUnique')){
|
if ($general->getAuxVar('inheritRandomUnique')) {
|
||||||
//포인트로 랜덤 유니크 획득
|
//포인트로 랜덤 유니크 획득
|
||||||
$prob = 1;
|
$prob = 1;
|
||||||
LogText("{$general->getName()}, {$general->getID()} 유산 포인트 유니크", $prob);
|
LogText("{$general->getName()}, {$general->getID()} 유산 포인트 유니크", $prob);
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ use \sammo\{
|
|||||||
use \sammo\Constraint\Constraint;
|
use \sammo\Constraint\Constraint;
|
||||||
use \sammo\Constraint\ConstraintHelper;
|
use \sammo\Constraint\ConstraintHelper;
|
||||||
|
|
||||||
|
use function sammo\tryRollbackInheritUniqueItem;
|
||||||
|
|
||||||
class che_NPC능동 extends Command\GeneralCommand{
|
class che_NPC능동 extends Command\GeneralCommand{
|
||||||
static protected $actionName = 'NPC능동';
|
static protected $actionName = 'NPC능동';
|
||||||
@@ -97,7 +98,7 @@ class che_NPC능동 extends Command\GeneralCommand{
|
|||||||
|
|
||||||
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
||||||
}
|
}
|
||||||
|
tryRollbackInheritUniqueItem($general);
|
||||||
$general->applyDB($db);
|
$general->applyDB($db);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ use \sammo\{
|
|||||||
use \sammo\Constraint\Constraint;
|
use \sammo\Constraint\Constraint;
|
||||||
use \sammo\Constraint\ConstraintHelper;
|
use \sammo\Constraint\ConstraintHelper;
|
||||||
|
|
||||||
|
use function sammo\tryRollbackInheritUniqueItem;
|
||||||
|
|
||||||
class che_모반시도 extends Command\GeneralCommand{
|
class che_모반시도 extends Command\GeneralCommand{
|
||||||
static protected $actionName = '모반시도';
|
static protected $actionName = '모반시도';
|
||||||
|
|
||||||
@@ -95,6 +97,7 @@ class che_모반시도 extends Command\GeneralCommand{
|
|||||||
|
|
||||||
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
||||||
$general->checkStatChange();
|
$general->checkStatChange();
|
||||||
|
tryRollbackInheritUniqueItem($general);
|
||||||
$general->applyDB($db);
|
$general->applyDB($db);
|
||||||
$lordGeneral->applyDB($db);
|
$lordGeneral->applyDB($db);
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ use \sammo\Constraint\ConstraintHelper;
|
|||||||
use sammo\CityConst;
|
use sammo\CityConst;
|
||||||
use function sammo\DeleteConflict;
|
use function sammo\DeleteConflict;
|
||||||
use function sammo\refreshNationStaticInfo;
|
use function sammo\refreshNationStaticInfo;
|
||||||
|
use function sammo\tryRollbackInheritUniqueItem;
|
||||||
|
|
||||||
class che_방랑 extends Command\GeneralCommand{
|
class che_방랑 extends Command\GeneralCommand{
|
||||||
static protected $actionName = '방랑';
|
static protected $actionName = '방랑';
|
||||||
@@ -123,6 +123,7 @@ class che_방랑 extends Command\GeneralCommand{
|
|||||||
refreshNationStaticInfo();
|
refreshNationStaticInfo();
|
||||||
|
|
||||||
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
||||||
|
tryRollbackInheritUniqueItem($general);
|
||||||
$general->applyDB($db);
|
$general->applyDB($db);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ use function\sammo\tryUniqueItemLottery;
|
|||||||
use \sammo\Constraint\Constraint;
|
use \sammo\Constraint\Constraint;
|
||||||
use \sammo\Constraint\ConstraintHelper;
|
use \sammo\Constraint\ConstraintHelper;
|
||||||
|
|
||||||
|
use function sammo\tryRollbackInheritUniqueItem;
|
||||||
|
|
||||||
class che_선양 extends Command\GeneralCommand
|
class che_선양 extends Command\GeneralCommand
|
||||||
{
|
{
|
||||||
@@ -136,6 +137,7 @@ class che_선양 extends Command\GeneralCommand
|
|||||||
|
|
||||||
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
||||||
$general->checkStatChange();
|
$general->checkStatChange();
|
||||||
|
tryRollbackInheritUniqueItem($general);
|
||||||
$general->applyDB($db);
|
$general->applyDB($db);
|
||||||
$destGeneral->applyDB($db);
|
$destGeneral->applyDB($db);
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,8 @@ use \sammo\{
|
|||||||
use \sammo\Constraint\Constraint;
|
use \sammo\Constraint\Constraint;
|
||||||
use \sammo\Constraint\ConstraintHelper;
|
use \sammo\Constraint\ConstraintHelper;
|
||||||
|
|
||||||
|
use function sammo\tryRollbackInheritUniqueItem;
|
||||||
|
|
||||||
class che_소집해제 extends Command\GeneralCommand{
|
class che_소집해제 extends Command\GeneralCommand{
|
||||||
static protected $actionName = '소집해제';
|
static protected $actionName = '소집해제';
|
||||||
|
|
||||||
@@ -80,6 +82,7 @@ class che_소집해제 extends Command\GeneralCommand{
|
|||||||
$general->addDedication($ded);
|
$general->addDedication($ded);
|
||||||
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
||||||
$general->checkStatChange();
|
$general->checkStatChange();
|
||||||
|
tryRollbackInheritUniqueItem($general);
|
||||||
$general->applyDB($db);
|
$general->applyDB($db);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ use \sammo\{
|
|||||||
use \sammo\Constraint\Constraint;
|
use \sammo\Constraint\Constraint;
|
||||||
use \sammo\Constraint\ConstraintHelper;
|
use \sammo\Constraint\ConstraintHelper;
|
||||||
|
|
||||||
|
use function sammo\tryRollbackInheritUniqueItem;
|
||||||
|
|
||||||
class che_요양 extends Command\GeneralCommand{
|
class che_요양 extends Command\GeneralCommand{
|
||||||
static protected $actionName = '요양';
|
static protected $actionName = '요양';
|
||||||
@@ -71,6 +71,7 @@ class che_요양 extends Command\GeneralCommand{
|
|||||||
$general->addDedication($ded);
|
$general->addDedication($ded);
|
||||||
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
||||||
$general->checkStatChange();
|
$general->checkStatChange();
|
||||||
|
tryRollbackInheritUniqueItem($general);
|
||||||
$general->applyDB($db);
|
$general->applyDB($db);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ use \sammo\Json;
|
|||||||
|
|
||||||
use function \sammo\searchDistance;
|
use function \sammo\searchDistance;
|
||||||
use function \sammo\printCitiesBasedOnDistance;
|
use function \sammo\printCitiesBasedOnDistance;
|
||||||
|
use function sammo\tryRollbackInheritUniqueItem;
|
||||||
|
|
||||||
use \sammo\Constraint\Constraint;
|
use \sammo\Constraint\Constraint;
|
||||||
use \sammo\Constraint\ConstraintHelper;
|
use \sammo\Constraint\ConstraintHelper;
|
||||||
@@ -217,6 +218,7 @@ class che_첩보 extends Command\GeneralCommand
|
|||||||
$general->increaseVar('leadership_exp', 1);
|
$general->increaseVar('leadership_exp', 1);
|
||||||
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
||||||
$general->checkStatChange();
|
$general->checkStatChange();
|
||||||
|
tryRollbackInheritUniqueItem($general);
|
||||||
$general->applyDB($db);
|
$general->applyDB($db);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ use \sammo\Constraint\Constraint;
|
|||||||
use \sammo\Constraint\ConstraintHelper;
|
use \sammo\Constraint\ConstraintHelper;
|
||||||
use sammo\CityConst;
|
use sammo\CityConst;
|
||||||
|
|
||||||
|
use function sammo\tryRollbackInheritUniqueItem;
|
||||||
|
|
||||||
class che_하야 extends Command\GeneralCommand{
|
class che_하야 extends Command\GeneralCommand{
|
||||||
static protected $actionName = '하야';
|
static protected $actionName = '하야';
|
||||||
@@ -104,6 +104,7 @@ class che_하야 extends Command\GeneralCommand{
|
|||||||
|
|
||||||
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
||||||
$general->checkStatChange();
|
$general->checkStatChange();
|
||||||
|
tryRollbackInheritUniqueItem($general);
|
||||||
$general->applyDB($db);
|
$general->applyDB($db);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -16,8 +16,7 @@ use \sammo\Constraint\ConstraintHelper;
|
|||||||
use sammo\CityConst;
|
use sammo\CityConst;
|
||||||
use function sammo\refreshNationStaticInfo;
|
use function sammo\refreshNationStaticInfo;
|
||||||
use function sammo\deleteNation;
|
use function sammo\deleteNation;
|
||||||
|
use function sammo\tryRollbackInheritUniqueItem;
|
||||||
|
|
||||||
|
|
||||||
class che_해산 extends Command\GeneralCommand{
|
class che_해산 extends Command\GeneralCommand{
|
||||||
static protected $actionName = '해산';
|
static protected $actionName = '해산';
|
||||||
@@ -96,7 +95,7 @@ class che_해산 extends Command\GeneralCommand{
|
|||||||
$oldGeneral->setVar('makelimit', 12);
|
$oldGeneral->setVar('makelimit', 12);
|
||||||
$oldGeneral->applyDB($db);
|
$oldGeneral->applyDB($db);
|
||||||
}
|
}
|
||||||
|
tryRollbackInheritUniqueItem($general);
|
||||||
$general->applyDB($db);
|
$general->applyDB($db);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ use \sammo\Command;
|
|||||||
|
|
||||||
use function \sammo\searchDistance;
|
use function \sammo\searchDistance;
|
||||||
use function \sammo\printCitiesBasedOnDistance;
|
use function \sammo\printCitiesBasedOnDistance;
|
||||||
|
use function sammo\tryRollbackInheritUniqueItem;
|
||||||
|
|
||||||
use \sammo\Constraint\Constraint;
|
use \sammo\Constraint\Constraint;
|
||||||
use \sammo\Constraint\ConstraintHelper;
|
use \sammo\Constraint\ConstraintHelper;
|
||||||
@@ -294,6 +295,7 @@ class che_화계 extends Command\GeneralCommand
|
|||||||
|
|
||||||
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
||||||
$general->checkStatChange();
|
$general->checkStatChange();
|
||||||
|
tryRollbackInheritUniqueItem($general);
|
||||||
$general->applyDB($db);
|
$general->applyDB($db);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -327,6 +329,7 @@ class che_화계 extends Command\GeneralCommand
|
|||||||
$general->increaseRankVar('firenum', 1);
|
$general->increaseRankVar('firenum', 1);
|
||||||
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
$this->setResultTurn(new LastTurn(static::getName(), $this->arg));
|
||||||
$general->checkStatChange();
|
$general->checkStatChange();
|
||||||
|
tryRollbackInheritUniqueItem($general);
|
||||||
$general->applyDB($db);
|
$general->applyDB($db);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ use \sammo\JosaUtil;
|
|||||||
use \sammo\LastTurn;
|
use \sammo\LastTurn;
|
||||||
use \sammo\DB;
|
use \sammo\DB;
|
||||||
|
|
||||||
|
use function sammo\tryRollbackInheritUniqueItem;
|
||||||
|
|
||||||
class 휴식 extends Command\GeneralCommand{
|
class 휴식 extends Command\GeneralCommand{
|
||||||
static protected $actionName = '휴식';
|
static protected $actionName = '휴식';
|
||||||
|
|
||||||
@@ -39,7 +41,7 @@ class 휴식 extends Command\GeneralCommand{
|
|||||||
$logger->pushGeneralActionLog("아무것도 실행하지 않았습니다. <1>$date</>");
|
$logger->pushGeneralActionLog("아무것도 실행하지 않았습니다. <1>$date</>");
|
||||||
|
|
||||||
$this->setResultTurn(new LastTurn());
|
$this->setResultTurn(new LastTurn());
|
||||||
|
tryRollbackInheritUniqueItem($general);
|
||||||
$general->applyDB(DB::db());
|
$general->applyDB(DB::db());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user