diff --git a/hwe/j_myBossInfo.php b/hwe/j_myBossInfo.php index df03cf50..0e74958e 100644 --- a/hwe/j_myBossInfo.php +++ b/hwe/j_myBossInfo.php @@ -241,7 +241,7 @@ function do추방(General $general, int $myOfficerLevel):?string{ } $general->setVar('troop', 0); - if($general->getNPCType() >= 2 && ($env['scenario'] < 100 || Util::randBool(0.01))) { + if($general->getNPCType() >= 2 && Util::randBool(GameConst::$npcBanMessageProb)) { $str = Util::choiceRandom([ '날 버리다니... 곧 전장에서 복수해주겠다...', diff --git a/hwe/sammo/Command/Nation/che_몰수.php b/hwe/sammo/Command/Nation/che_몰수.php index 42cf261a..6f90ea69 100644 --- a/hwe/sammo/Command/Nation/che_몰수.php +++ b/hwe/sammo/Command/Nation/che_몰수.php @@ -168,7 +168,7 @@ class che_몰수 extends Command\NationCommand ); $amountText = number_format($amount, 0); - if ($destGeneral->getNPCType() >= 2 && Util::randBool(0.01)) { + if ($destGeneral->getNPCType() >= 2 && Util::randBool(GameConst::$npcSeizureMessageProb)) { $npcTexts = [ '몰수를 하다니... 이것이 윗사람이 할 짓이란 말입니까...', '사유재산까지 몰수해가면서 이 나라가 잘 될거라 믿습니까? 정말 이해할 수가 없군요...', diff --git a/hwe/sammo/GameConstBase.php b/hwe/sammo/GameConstBase.php index 11b97f7d..d9daf957 100644 --- a/hwe/sammo/GameConstBase.php +++ b/hwe/sammo/GameConstBase.php @@ -394,4 +394,8 @@ class GameConstBase '임', '정', '제', '조', '주', '준', '지', '찬', '책', '충', '탁', '택', '통', '패', '평', '포', '합', '해', '혁', '현', '화', '환', '회', '횡', '후', '훈', '휴', '흠', '흥' ]; + + public static $npcBanMessageProb = 0.01; + public static $npcSeizureMessageProb = 0.01; + public static $npcMessageFreqByDay = 4; } diff --git a/hwe/sammo/GeneralAI.php b/hwe/sammo/GeneralAI.php index 9ff69c9e..68d6ab56 100644 --- a/hwe/sammo/GeneralAI.php +++ b/hwe/sammo/GeneralAI.php @@ -2004,6 +2004,7 @@ class GeneralAI //수도와 연결된 도시 탐색 while (!$queue->isEmpty()) { + /** @var int */ $cityID = $queue->dequeue(); foreach (array_keys(CityConst::byID($cityID)->path) as $nextCityID) { @@ -3643,9 +3644,9 @@ class GeneralAI $npcType = $general->getNPCType(); $nationID = $general->getNationID(); - //특별 메세지 있는 경우 출력 하루 4번 + //특별 메세지 있는 경우 출력 $term = $this->env['turnterm']; - if ($general->getVar('npcmsg') && Util::randBool($term / (6 * 60))) { + if ($general->getVar('npcmsg') && Util::randBool(GameConst::$npcMessageFreqByDay * $term / (60 * 24))) { $src = new MessageTarget( $general->getID(), $general->getVar('name'), diff --git a/hwe/scenario/scenario_0.json b/hwe/scenario/scenario_0.json index 659285b2..9bba628a 100644 --- a/hwe/scenario/scenario_0.json +++ b/hwe/scenario/scenario_0.json @@ -4,7 +4,8 @@ "history":[ ], "const": { - "joinRuinedNPCProp":0 + "joinRuinedNPCProp":0, + "npcBanMessageProb":1 }, "events":[ [ diff --git a/hwe/scenario/scenario_1.json b/hwe/scenario/scenario_1.json index 2df34f7c..d2edb5a7 100644 --- a/hwe/scenario/scenario_1.json +++ b/hwe/scenario/scenario_1.json @@ -7,7 +7,8 @@ "history":[ ], "const": { - "joinRuinedNPCProp":0 + "joinRuinedNPCProp":0, + "npcBanMessageProb":1 }, "events":[ [ diff --git a/hwe/scenario/scenario_2.json b/hwe/scenario/scenario_2.json index 46064e58..c7c4defe 100644 --- a/hwe/scenario/scenario_2.json +++ b/hwe/scenario/scenario_2.json @@ -11,7 +11,8 @@ "expandCityDevelIncreaseAmount": 1350, "expandCityWallIncreaseAmount": 1600, "defaultMaxGeneral":300, - "joinRuinedNPCProp":0 + "joinRuinedNPCProp":0, + "npcBanMessageProb":1 }, "events":[ [ diff --git a/hwe/scenario/scenario_900.json b/hwe/scenario/scenario_900.json index 8745bd1d..17ae7298 100644 --- a/hwe/scenario/scenario_900.json +++ b/hwe/scenario/scenario_900.json @@ -11,6 +11,9 @@ "history": [ "●180년 1월:【이벤트】병기로 싸운다! 최고의 충차 지휘관을 가린다" ], + "const": { + "npcBanMessageProb":1 + }, "initialEvents":[ [ true, diff --git a/hwe/scenario/scenario_901.json b/hwe/scenario/scenario_901.json index 1626f32f..065895e9 100644 --- a/hwe/scenario/scenario_901.json +++ b/hwe/scenario/scenario_901.json @@ -8,6 +8,7 @@ ], "const": { "expandCityDefaultCost": 30000, - "expandCityCostCoef": 250 + "expandCityCostCoef": 250, + "npcBanMessageProb":1 } } \ No newline at end of file diff --git a/hwe/scenario/scenario_902.json b/hwe/scenario/scenario_902.json index 0ca1b5e0..56ebaf16 100644 --- a/hwe/scenario/scenario_902.json +++ b/hwe/scenario/scenario_902.json @@ -8,6 +8,7 @@ ], "const": { "joinRuinedNPCProp":0, + "npcBanMessageProb":1, "availableSpecialWar":[ "che_귀병", "che_신산", "che_환술", "che_집중", "che_신중", "che_반계", "che_보병", "che_궁병", "che_기병", "che_공성", diff --git a/hwe/scenario/scenario_903.json b/hwe/scenario/scenario_903.json index ab39c555..27a9ce6e 100644 --- a/hwe/scenario/scenario_903.json +++ b/hwe/scenario/scenario_903.json @@ -9,6 +9,9 @@ "history": [ "●180년 1월:【이벤트】29기까지 내로라 하는 모든 장수들이 모였다!" ], + "const": { + "npcBanMessageProb":1 + }, "events": [ [ "month", 1000, diff --git a/hwe/scenario/scenario_904.json b/hwe/scenario/scenario_904.json index 05452c20..8abd7985 100644 --- a/hwe/scenario/scenario_904.json +++ b/hwe/scenario/scenario_904.json @@ -9,6 +9,7 @@ ], "const": { "joinRuinedNPCProp":0, + "npcBanMessageProb":1, "availableGeneralCommand": { "": [ "휴식",