feat,refac: 게임 로직 내 '랜덤'을 RandUtil을 활용하여 재설정
- 기존의 랜덤 코드는 deprecated 처리 - 서버 시작 시 랜덤하게 정해진 hiddenSeed를 활용 - 랜덤 생성 단위 - 월 실행 - 사령턴 실행 결과 - 커맨드 실행 결과 - 작위 보상 - 부대장 생성 - 유니크 획득 시도 - 설문 조사 - 장수 생성 - NPC국 생성, NPC 생성, NPC의 토너먼트 베팅 - 전투 - 도시 점령 - 자율 행동 선택 - 랜덤 턴 변경 - 거래장, 토너먼트 등 구 랜덤 코드를 이용하는 잔여 코드 있음
This commit is contained in:
@@ -3,10 +3,10 @@ namespace sammo;
|
||||
|
||||
/**
|
||||
* 내정 커맨드 사용시 성공 확률 계산
|
||||
*
|
||||
*
|
||||
* @param General $general 장수 정보
|
||||
* @param string $type 내정 커맨드 타입, 'leadership' = 통솔 기반, 'strength' = 무력 기반, 'intel' = 지력 기반
|
||||
*
|
||||
*
|
||||
* @return array 계산된 실패, 성공 확률 ('success' => 성공 확률, 'fail' => 실패 확률)
|
||||
*/
|
||||
function CriticalRatioDomestic(General $general, string $type) {
|
||||
@@ -24,7 +24,7 @@ function CriticalRatioDomestic(General $general, string $type) {
|
||||
506040(33%/30%), 505050(43%/40%), 504060(50%/50%)
|
||||
|
||||
* 통솔 내정 기준
|
||||
756510(25%/22%), 707010(31%/28%), 657510(38%,35%),
|
||||
756510(25%/22%), 707010(31%/28%), 657510(38%,35%),
|
||||
505050(50%,50%), 107070(50%,50%)
|
||||
*/
|
||||
switch($type) {
|
||||
@@ -60,13 +60,12 @@ function calcLeadershipBonus($officerLevel, $nationLevel):int{
|
||||
return $lbonus;
|
||||
}
|
||||
|
||||
function CriticalScoreEx(string $type):float {
|
||||
function CriticalScoreEx(RandUtil $rng, string $type):float {
|
||||
if ($type == 'success') {
|
||||
return Util::randRange(2.2, 3.0);
|
||||
return $rng->nextRange(2.2, 3.0);
|
||||
}
|
||||
if ($type == 'fail') {
|
||||
return Util::randRange(0.2, 0.4);
|
||||
return $rng->nextRange(0.2, 0.4);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user