feat,refac: 게임 로직 내 '랜덤'을 RandUtil을 활용하여 재설정
- 기존의 랜덤 코드는 deprecated 처리 - 서버 시작 시 랜덤하게 정해진 hiddenSeed를 활용 - 랜덤 생성 단위 - 월 실행 - 사령턴 실행 결과 - 커맨드 실행 결과 - 작위 보상 - 부대장 생성 - 유니크 획득 시도 - 설문 조사 - 장수 생성 - NPC국 생성, NPC 생성, NPC의 토너먼트 베팅 - 전투 - 도시 점령 - 자율 행동 선택 - 랜덤 턴 변경 - 거래장, 토너먼트 등 구 랜덤 코드를 이용하는 잔여 코드 있음
This commit is contained in:
@@ -22,14 +22,14 @@ class che_격노시도 extends BaseWarUnitTrigger{
|
||||
if($oppose->hasActivatedSkill('필살')){
|
||||
$self->activateSkill('격노');
|
||||
$oppose->deactivateSkill('회피');
|
||||
if($self->isAttacker() && Util::randBool(1/2)){
|
||||
if($self->isAttacker() && $self->rng->nextBool(1/2)){
|
||||
$self->activateSkill('진노');
|
||||
}
|
||||
}
|
||||
else if(Util::randBool(1/4)){
|
||||
else if($self->rng->nextBool(1/4)){
|
||||
$self->activateSkill('격노');
|
||||
$oppose->deactivateSkill('회피');
|
||||
if($self->isAttacker() && Util::randBool(1/2)){
|
||||
if($self->isAttacker() && $self->rng->nextBool(1/2)){
|
||||
$self->activateSkill('진노');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ class che_계략시도 extends BaseWarUnitTrigger{
|
||||
$magicTrialProb *= 3;
|
||||
}
|
||||
|
||||
if(!Util::randBool($magicTrialProb)){
|
||||
if(!$self->rng->nextBool($magicTrialProb)){
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -57,11 +57,11 @@ class che_계략시도 extends BaseWarUnitTrigger{
|
||||
$magicSuccessProb = $oppose->getGeneral()->onCalcOpposeStat($general, 'warMagicSuccessProb', $magicSuccessProb);
|
||||
|
||||
if($oppose instanceof WarUnitCity){
|
||||
$magic = Util::choiceRandom(array_keys(static::$tableToCity));
|
||||
$magic = $self->rng->choice(array_keys(static::$tableToCity));
|
||||
[$successDamage, $failDamage] = static::$tableToCity[$magic];
|
||||
}
|
||||
else{
|
||||
$magic = Util::choiceRandom(array_keys(static::$tableToGeneral));
|
||||
$magic = $self->rng->choice(array_keys(static::$tableToGeneral));
|
||||
[$successDamage, $failDamage] = static::$tableToGeneral[$magic];
|
||||
}
|
||||
|
||||
@@ -70,7 +70,7 @@ class che_계략시도 extends BaseWarUnitTrigger{
|
||||
|
||||
|
||||
$self->activateSkill('계략시도', $magic);
|
||||
if(Util::randBool($magicSuccessProb)){
|
||||
if($self->rng->nextBool($magicSuccessProb)){
|
||||
$self->activateSkill('계략');
|
||||
$selfEnv['magic'] = [$magic, $successDamage];
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ class che_반계시도 extends BaseWarUnitTrigger{
|
||||
return true;
|
||||
}
|
||||
|
||||
if(!Util::randBool($this->prob)){
|
||||
if(!$self->rng->nextBool($this->prob)){
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ class che_약탈시도 extends BaseWarUnitTrigger{
|
||||
if($self->hasActivatedSkill('약탈불가')){
|
||||
return true;
|
||||
}
|
||||
if(!Util::randBool($this->ratio)){
|
||||
if(!$self->rng->nextBool($this->ratio)){
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ class che_저격발동 extends BaseWarUnitTrigger
|
||||
$general->increaseVarWithLimit('atmos', $selfEnv['addAtmos'], 0, GameConst::$maxAtmosByWar);
|
||||
|
||||
if (!$oppose->hasActivatedSkill('부상무효') && $oppose instanceof WarUnitGeneral) {
|
||||
$oppose->getGeneral()->increaseVarWithLimit('injury', Util::randRangeInt($selfEnv['woundMin'], $selfEnv['woundMax']), null, 80);
|
||||
$oppose->getGeneral()->increaseVarWithLimit('injury', $self->rng->nextRangeInt($selfEnv['woundMin'], $selfEnv['woundMax']), null, 80);
|
||||
}
|
||||
|
||||
$this->processConsumableItem();
|
||||
|
||||
@@ -36,7 +36,7 @@ class che_저격시도 extends BaseWarUnitTrigger{
|
||||
if($self->hasActivatedSkill('저격불가')){
|
||||
return true;
|
||||
}
|
||||
if(!Util::randBool($this->ratio)){
|
||||
if(!$self->rng->nextBool($this->ratio)){
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -22,12 +22,12 @@ class che_저지시도 extends BaseWarUnitTrigger{
|
||||
if($self->hasActivatedSkill('저지불가')){
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
$ratio = $self->getComputedAtmos() + $self->getComputedTrain();
|
||||
if(Util::randBool($ratio / 400)){
|
||||
if($self->rng->nextBool($ratio / 400)){
|
||||
$self->activateSkill('특수', '저지');
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -19,13 +19,13 @@ class che_전투치료시도 extends BaseWarUnitTrigger{
|
||||
if($self->hasActivatedSkill('치료불가')){
|
||||
return true;
|
||||
}
|
||||
if(!Util::randBool(0.4)){
|
||||
if(!$self->rng->nextBool(0.4)){
|
||||
return true;
|
||||
}
|
||||
|
||||
$self->activateSkill('치료');
|
||||
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -22,13 +22,13 @@ class che_필살시도 extends BaseWarUnitTrigger{
|
||||
return true;
|
||||
}
|
||||
|
||||
if(!Util::randBool($self->getComputedCriticalRatio())){
|
||||
if(!$self->rng->nextBool($self->getComputedCriticalRatio())){
|
||||
return true;
|
||||
}
|
||||
|
||||
$self->activateSkill('필살시도', '필살');
|
||||
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -22,13 +22,13 @@ class che_회피시도 extends BaseWarUnitTrigger{
|
||||
return true;
|
||||
}
|
||||
|
||||
if(!Util::randBool($self->getComputedAvoidRatio())){
|
||||
if(!$self->rng->nextBool($self->getComputedAvoidRatio())){
|
||||
return true;
|
||||
}
|
||||
|
||||
$self->activateSkill('회피시도', '회피');
|
||||
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user