diff --git a/hwe/sammo/Command/General/che_인재탐색.php b/hwe/sammo/Command/General/che_인재탐색.php index 61887541..fef60f9b 100644 --- a/hwe/sammo/Command/General/che_인재탐색.php +++ b/hwe/sammo/Command/General/che_인재탐색.php @@ -1,9 +1,12 @@ arg = null; return true; } - protected function init(){ + protected function init() + { $general = $this->generalObj; $this->setNation(['gennum', 'scout']); $env = $this->env; - + [$reqGold, $reqRice] = $this->getCost(); - $this->fullConditionConstraints=[ - ConstraintHelper::NotBeNeutral(), + $this->fullConditionConstraints = [ + ConstraintHelper::NotBeNeutral(), ConstraintHelper::NotWanderingNation(), ConstraintHelper::ReqGeneralGold($reqGold), - ConstraintHelper::ReqGeneralRice($reqRice), + ConstraintHelper::ReqGeneralRice($reqRice), ]; $relYear = $env['year'] - $env['startyear']; - if($this->nation['nation'] != 0 && $relYear < 3 && $this->nation['gennum'] >= GameConst::$initialNationGenLimit){ + if ($this->nation['nation'] != 0 && $relYear < 3 && $this->nation['gennum'] >= GameConst::$initialNationGenLimit) { $nationName = $this->nation['name']; $josaUn = JosaUtil::pick($nationName, '은'); $this->fullConditionConstraints[] = ConstraintHelper::AlwaysFail("현재 {$nationName}{$josaUn} 탐색이 제한되고 있습니다."); } - } - public function getCommandDetailTitle():string{ + public function getCommandDetailTitle(): string + { $db = DB::db(); $env = $this->env; @@ -68,13 +74,13 @@ class che_인재탐색 extends Command\GeneralCommand{ [$reqGold, $reqRice] = $this->getCost(); $foundProp = $this->calcFoundProp($maxGenCnt, $totalGenCnt, $totalNpcCnt); - $foundPropText = number_format($foundProp*100, 1); + $foundPropText = number_format($foundProp * 100, 1); $title = "{$name}(랜덤경험"; - if($reqGold > 0){ + if ($reqGold > 0) { $title .= ", 자금{$reqGold}"; } - if($reqRice > 0){ + if ($reqRice > 0) { $title .= ", 군량{$reqRice}"; } @@ -82,24 +88,28 @@ class che_인재탐색 extends Command\GeneralCommand{ return $title; } - public function getCost():array{ + public function getCost(): array + { return [$this->env['develcost'], 0]; } - - public function getPreReqTurn():int{ + + public function getPreReqTurn(): int + { return 0; } - public function getPostReqTurn():int{ + public function getPostReqTurn(): int + { return 0; } - public function calcFoundProp(int $maxGenCnt, int $totalGenCnt, int $totalNpcCnt):float{ + public function calcFoundProp(int $maxGenCnt, int $totalGenCnt, int $totalNpcCnt): float + { $currCnt = Util::toInt($totalGenCnt + $totalNpcCnt / 2); $remainSlot = $maxGenCnt - $currCnt; - if($remainSlot < 0){ + if ($remainSlot < 0) { $remainSlot = 0; } @@ -107,17 +117,17 @@ class che_인재탐색 extends Command\GeneralCommand{ $foundPropSmall = 1 / ($totalNpcCnt / 3 + 1); $foundPropBig = 1 / $maxGenCnt; - if($totalNpcCnt < 50){ + if ($totalNpcCnt < 50) { $foundProp = max($foundPropMain, $foundPropSmall); - } - else{ + } else { $foundProp = max($foundPropMain, $foundPropBig); } return $foundProp; } - public function run():bool{ - if(!$this->hasFullConditionMet()){ + public function run(): bool + { + if (!$this->hasFullConditionMet()) { throw new \RuntimeException('불가능한 커맨드를 강제로 실행 시도'); } @@ -145,16 +155,16 @@ class che_인재탐색 extends Command\GeneralCommand{ $logger = $general->getLogger(); - if(!$foundNpc){ + if (!$foundNpc) { $logger->pushGeneralActionLog("인재를 찾을 수 없었습니다. <1>$date"); $incStat = Util::choiceRandomUsingWeight([ - 'leadership_exp'=>$general->getLeadership(false, false, false, false), - 'strength_exp'=>$general->getStrength(false, false, false, false), - 'intel_exp'=>$general->getIntel(false, false, false, false) + 'leadership_exp' => $general->getLeadership(false, false, false, false), + 'strength_exp' => $general->getStrength(false, false, false, false), + 'intel_exp' => $general->getIntel(false, false, false, false) ]); [$reqGold, $reqRice] = $this->getCost(); - + $exp = 100; $ded = 70; @@ -174,18 +184,21 @@ class che_인재탐색 extends Command\GeneralCommand{ $exp = 200; $ded = 300; - $pickTypeList = ['무'=>6, '지'=>6, '무지'=>3]; + $pickTypeList = ['무' => 6, '지' => 6, '무지' => 3]; $pickType = Util::choiceRandomUsingWeight($pickTypeList); - $mainStat = GameConst::$defaultStatMax - Util::randRangeInt(0, 10); - $otherStat = GameConst::$defaultStatMin + Util::randRangeInt(0, 5); - $subStat = GameConst::$defaultStatTotal - $mainStat - $otherStat; - if($subStat < GameConst::$defaultStatMin){ + $totalStat = GameConst::$defaultStatNPCMax * 2 + 10; + $minStat = 10; + $mainStat = GameConst::$defaultStatNPCMax - Util::randRangeInt(0, 10); + //TODO: defaultStatNPCTotal, defaultStatNPCMin 추가 + $otherStat = $minStat + Util::randRangeInt(0, 5); + $subStat = $totalStat - $mainStat - $otherStat; + if ($subStat < $minStat) { $subStat = $otherStat; - $otherStat = GameConst::$defaultStatMin; - $mainStat = GameConst::$defaultStatTotal - $subStat - $otherStat; - if($mainStat){ + $otherStat = $minStat; + $mainStat = $totalStat - $subStat - $otherStat; + if ($mainStat) { throw new \LogicException('기본 스탯 설정값이 잘못되어 있음'); } } @@ -198,36 +211,34 @@ class che_인재탐색 extends Command\GeneralCommand{ ); $dexTotal = $avgGen['dex_t']; - if($pickType == '무'){ + if ($pickType == '무') { $leadership = $subStat; $strength = $mainStat; $intel = $otherStat; $dexVal = Util::choiceRandom([ - [$dexTotal*5/8, $dexTotal/8, $dexTotal/8, $dexTotal/8], - [$dexTotal/8, $dexTotal*5/8, $dexTotal/8, $dexTotal/8], - [$dexTotal/8, $dexTotal/8, $dexTotal*5/8, $dexTotal/8], + [$dexTotal * 5 / 8, $dexTotal / 8, $dexTotal / 8, $dexTotal / 8], + [$dexTotal / 8, $dexTotal * 5 / 8, $dexTotal / 8, $dexTotal / 8], + [$dexTotal / 8, $dexTotal / 8, $dexTotal * 5 / 8, $dexTotal / 8], ]); - } - else if($pickType == '지'){ + } else if ($pickType == '지') { $leadership = $subStat; $strength = $otherStat; $intel = $mainStat; - $dexVal = [$dexTotal/8, $dexTotal/8, $dexTotal*5/8, $dexTotal/8]; - } - else{ + $dexVal = [$dexTotal / 8, $dexTotal / 8, $dexTotal * 5 / 8, $dexTotal / 8]; + } else { $leadership = $otherStat; $strength = $subStat; $intel = $mainStat; - $dexVal = [$dexTotal/4, $dexTotal/4, $dexTotal/4, $dexTotal/4]; + $dexVal = [$dexTotal / 4, $dexTotal / 4, $dexTotal / 4, $dexTotal / 4]; } // 국내 최고능치 기준으로 랜덤성 스케일링 $maxLPI = $avgGen['stat_sum']; - if($maxLPI > 210) { + if ($maxLPI > 210) { $leadership *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.6, 0.9); $strength *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.6, 0.9); $intel *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.6, 0.9); - } elseif($maxLPI > 180) { + } elseif ($maxLPI > 180) { $leadership *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.75, 0.95); $strength *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.75, 0.95); $intel *= $avgGen['stat_sum'] / GameConst::$defaultStatTotal * Util::randRange(0.75, 0.95); @@ -243,14 +254,13 @@ class che_인재탐색 extends Command\GeneralCommand{ $joinProp = 0.55 * $avgCnt / (Util::valueFit($genCnt + $npcCnt, 1) / 2); $noScout = false; - if($this->nation['scout'] != 0){ + if ($this->nation['scout'] != 0) { $noScout = true; - } - else if($relYear < 3 && $this->nation['gennum'] >= GameConst::$initialNationGenLimit){ + } else if ($relYear < 3 && $this->nation['gennum'] >= GameConst::$initialNationGenLimit) { $noScout = true; } - if($noScout || !Util::randBool($joinProp)) { + if ($noScout || !Util::randBool($joinProp)) { $scoutType = "발견"; $scoutLevel = 0; $scoutNation = 0; @@ -259,7 +269,7 @@ class che_인재탐색 extends Command\GeneralCommand{ $scoutLevel = 1; $scoutNation = $nationID; $db->update('nation', [ - 'gennum'=>$db->sqleval('gennum + 1') + 'gennum' => $db->sqleval('gennum + 1') ], 'nation=%i', $nationID); } @@ -286,8 +296,8 @@ class che_인재탐색 extends Command\GeneralCommand{ $newNPC->setMoney(100, 100); $newNPC->setExpDed($avgGen['exp'], $avgGen['ded']); $newNPC->setSpecYear( - Util::round((GameConst::$retirementYear - $age)/12) + $age, - Util::round((GameConst::$retirementYear - $age)/3) + $age + Util::round((GameConst::$retirementYear - $age) / 12) + $age, + Util::round((GameConst::$retirementYear - $age) / 3) + $age ); $newNPC->setDex( $dexVal[0], @@ -309,9 +319,9 @@ class che_인재탐색 extends Command\GeneralCommand{ $logger->pushGeneralHistoryLog("$npcName{$josaRa}는 인재를 {$scoutType}"); $incStat = Util::choiceRandomUsingWeight([ - 'leadership_exp'=>$general->getLeadership(false, false, false, false), - 'strength_exp'=>$general->getStrength(false, false, false, false), - 'intel_exp'=>$general->getIntel(false, false, false, false) + 'leadership_exp' => $general->getLeadership(false, false, false, false), + 'strength_exp' => $general->getStrength(false, false, false, false), + 'intel_exp' => $general->getIntel(false, false, false, false) ]); [$reqGold, $reqRice] = $this->getCost(); @@ -329,6 +339,4 @@ class che_인재탐색 extends Command\GeneralCommand{ $general->applyDB($db); return true; } - - -} \ No newline at end of file +} diff --git a/hwe/sammo/Command/Nation/che_의병모집.php b/hwe/sammo/Command/Nation/che_의병모집.php index f0e00bf4..8e64cafd 100644 --- a/hwe/sammo/Command/Nation/che_의병모집.php +++ b/hwe/sammo/Command/Nation/che_의병모집.php @@ -1,9 +1,12 @@ arg = null; return true; } - protected function init(){ + protected function init() + { $general = $this->generalObj; @@ -39,42 +45,47 @@ class che_의병모집 extends Command\NationCommand{ $this->setCity(); $env = $this->env; $relYear = $env['year'] - $env['startyear']; - - $this->fullConditionConstraints=[ + + $this->fullConditionConstraints = [ ConstraintHelper::BeChief(), - ConstraintHelper::NotBeNeutral(), + ConstraintHelper::NotBeNeutral(), ConstraintHelper::OccupiedCity(), ConstraintHelper::AvailableStrategicCommand(), ConstraintHelper::NotOpeningPart($relYear), ]; } - public function getCommandDetailTitle():string{ + public function getCommandDetailTitle(): string + { $name = $this->getName(); - $reqTurn = $this->getPreReqTurn()+1; + $reqTurn = $this->getPreReqTurn() + 1; $postReqTurn = $this->getPostReqTurn(); return "{$name}/{$reqTurn}턴(전략$postReqTurn)"; } - public function getCost():array{ + public function getCost(): array + { return [0, 0]; } - - public function getPreReqTurn():int{ + + public function getPreReqTurn(): int + { return 2; } - public function getPostReqTurn():int{ + public function getPostReqTurn(): int + { $genCount = Util::valueFit($this->nation['gennum'], GameConst::$initialNationGenLimit); - $nextTerm = Util::round(sqrt($genCount*10)*10); + $nextTerm = Util::round(sqrt($genCount * 10) * 10); $nextTerm = $this->generalObj->onCalcStrategic($this->getName(), 'delay', $nextTerm); return $nextTerm; } - public function run():bool{ - if(!$this->hasFullConditionMet()){ + public function run(): bool + { + if (!$this->hasFullConditionMet()) { throw new \RuntimeException('불가능한 커맨드를 강제로 실행 시도'); } @@ -114,7 +125,7 @@ class che_의병모집 extends Command\NationCommand{ $broadcastMessage = "{$generalName}{$josaYi} {$commandName}{$josaUl} 발동하였습니다."; $nationGeneralList = $db->queryFirstColumn('SELECT no FROM general WHERE nation=%i AND no != %i', $nationID, $generalID); - foreach($nationGeneralList as $nationGeneralID){ + foreach ($nationGeneralList as $nationGeneralID) { $nationGeneralLogger = new ActionLogger($nationGeneralID, $nationID, $year, $month); $nationGeneralLogger->pushGeneralActionLog($broadcastMessage, ActionLogger::PLAIN); $nationGeneralLogger->flush(); @@ -133,7 +144,7 @@ class che_의병모집 extends Command\NationCommand{ $createGenIdx = $gameStor->npccount + 1; $lastCreatGenIdx = $createGenIdx + $createGenCnt; - $pickTypeList = ['무'=>5, '지'=>5]; + $pickTypeList = ['무' => 5, '지' => 5]; $avgGen = $db->queryFirstRow( 'SELECT max(leadership+strength+intel) as stat_sum, avg(dedication) as ded,avg(experience) as exp, @@ -143,51 +154,52 @@ class che_의병모집 extends Command\NationCommand{ ); $dexTotal = $avgGen['dex_t']; - for(;$createGenIdx <= $lastCreatGenIdx; $createGenIdx++){ + for (; $createGenIdx <= $lastCreatGenIdx; $createGenIdx++) { $pickType = Util::choiceRandomUsingWeight($pickTypeList); - $mainStat = GameConst::$defaultStatMax - Util::randRangeInt(0, 10); - $otherStat = GameConst::$defaultStatMin + Util::randRangeInt(0, 5); - $subStat = GameConst::$defaultStatTotal - $mainStat - $otherStat; - if($subStat < GameConst::$defaultStatMin){ + $totalStat = GameConst::$defaultStatNPCMax * 2 + 10; + $minStat = 10; + $mainStat = GameConst::$defaultStatNPCMax - Util::randRangeInt(0, 10); + //TODO: defaultStatNPCTotal, defaultStatNPCMin 추가 + $otherStat = $minStat + Util::randRangeInt(0, 5); + $subStat = $totalStat - $mainStat - $otherStat; + if ($subStat < $minStat) { $subStat = $otherStat; - $otherStat = GameConst::$defaultStatMin; - $mainStat = GameConst::$defaultStatTotal - $subStat - $otherStat; - if($mainStat){ + $otherStat = $minStat; + $mainStat = $totalStat - $subStat - $otherStat; + if ($mainStat) { throw new \LogicException('기본 스탯 설정값이 잘못되어 있음'); } } - - if($pickType == '무'){ + + if ($pickType == '무') { $leadership = $subStat; $strength = $mainStat; $intel = $otherStat; $dexVal = Util::choiceRandom([ - [$dexTotal*5/8, $dexTotal/8, $dexTotal/8, $dexTotal/8], - [$dexTotal/8, $dexTotal*5/8, $dexTotal/8, $dexTotal/8], - [$dexTotal/8, $dexTotal/8, $dexTotal*5/8, $dexTotal/8], + [$dexTotal * 5 / 8, $dexTotal / 8, $dexTotal / 8, $dexTotal / 8], + [$dexTotal / 8, $dexTotal * 5 / 8, $dexTotal / 8, $dexTotal / 8], + [$dexTotal / 8, $dexTotal / 8, $dexTotal * 5 / 8, $dexTotal / 8], ]); - } - else if($pickType == '지'){ + } else if ($pickType == '지') { $leadership = $subStat; $strength = $otherStat; $intel = $mainStat; - $dexVal = [$dexTotal/8, $dexTotal/8, $dexTotal*5/8, $dexTotal/8]; - } - else{ + $dexVal = [$dexTotal / 8, $dexTotal / 8, $dexTotal * 5 / 8, $dexTotal / 8]; + } else { $leadership = $otherStat; $strength = $subStat; $intel = $mainStat; - $dexVal = [$dexTotal/4, $dexTotal/4, $dexTotal/4, $dexTotal/4]; + $dexVal = [$dexTotal / 4, $dexTotal / 4, $dexTotal / 4, $dexTotal / 4]; } - + // 국내 최고능치 기준으로 랜덤성 스케일링 $maxLPI = $avgGen['stat_sum']; - if($maxLPI > 210) { + if ($maxLPI > 210) { $leadership *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.6, 0.9); $strength *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.6, 0.9); $intel *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.6, 0.9); - } elseif($maxLPI > 180) { + } elseif ($maxLPI > 180) { $leadership *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.75, 0.95); $strength *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.75, 0.95); $intel *= $avgGen['stat_sum'] / GameConst::$defaultStatTotal * Util::randRange(0.75, 0.95); @@ -199,9 +211,9 @@ class che_의병모집 extends Command\NationCommand{ $leadership = Util::round($leadership); $strength = Util::round($strength); $intel = Util::round($intel); - + $age = $avgGen['age']; - + $newNPC = new \sammo\Scenario\NPC( Util::randRangeInt(1, 150), "의병장{$createGenIdx}", @@ -228,21 +240,19 @@ class che_의병모집 extends Command\NationCommand{ $dexVal[3], $avgGen['dex5'] ); - + $newNPC->build($this->env); } $gameStor->npccount = $lastCreatGenIdx; $db->update('nation', [ - 'gennum'=>$db->sqleval('gennum + %i', $createGenCnt), + 'gennum' => $db->sqleval('gennum + %i', $createGenCnt), 'strategic_cmd_limit' => $this->getPostReqTurn() ], 'nation=%i', $nationID); - + $general->applyDB($db); return true; } - - -} \ No newline at end of file +} diff --git a/hwe/sammo/Scenario.php b/hwe/sammo/Scenario.php index 7dd37041..fc6c429d 100644 --- a/hwe/sammo/Scenario.php +++ b/hwe/sammo/Scenario.php @@ -235,7 +235,9 @@ class Scenario{ 'defaultStatTotal'=>$this->data['stat']['total']??$default['stat']['total'], 'defaultStatMin'=>$this->data['stat']['min']??$default['stat']['min'], 'defaultStatMax'=>$this->data['stat']['max']??$default['stat']['max'], + 'defaultStatNPCTotal'=>$this->data['stat']['npcTotal']??$default['stat']['npcTotal'], 'defaultStatNPCMax'=>$this->data['stat']['npcMax']??$default['stat']['npcMax'], + 'defaultStatNPCMin'=>$this->data['stat']['npcMin']??$default['stat']['npcMin'], 'chiefStatMin'=>$this->data['stat']['chiefMin']??$default['stat']['chiefMin'], ]; diff --git a/hwe/scenario/default.json b/hwe/scenario/default.json index 39082c58..cd29627a 100644 --- a/hwe/scenario/default.json +++ b/hwe/scenario/default.json @@ -3,7 +3,9 @@ "total":150, "min":10, "max":75, - "npcMax":95, + "npcTotal":155, + "npcMax":80, + "npcMin":10, "chiefMin":65 }, "iconPath":"." diff --git a/hwe/scenario/scenario_2011.json b/hwe/scenario/scenario_2011.json index 53c6684e..652b7a74 100644 --- a/hwe/scenario/scenario_2011.json +++ b/hwe/scenario/scenario_2011.json @@ -10,7 +10,9 @@ "total":220, "min":40, "max":95, - "npcMax":95 + "npcTotal":170, + "npcMax":95, + "npcMin":10 }, "const":{ "defaultMaxGeneral":800 diff --git a/hwe/scenario/scenario_2012.json b/hwe/scenario/scenario_2012.json index 31663c9d..4ee039f2 100644 --- a/hwe/scenario/scenario_2012.json +++ b/hwe/scenario/scenario_2012.json @@ -10,7 +10,9 @@ "total":220, "min":40, "max":95, - "npcMax":95 + "npcTotal":170, + "npcMax":95, + "npcMin":10 }, "map":{ "mapName":"miniche" diff --git a/hwe/scenario/scenario_2100.json b/hwe/scenario/scenario_2100.json index b9bc5dd8..18e7c144 100644 --- a/hwe/scenario/scenario_2100.json +++ b/hwe/scenario/scenario_2100.json @@ -7,7 +7,9 @@ "diplomacy":[ ], "stat":{ + "npcTotal":120, "npcMax":65, + "npcMin":10, "chiefMin":55 }, "const":{ diff --git a/hwe/scenario/scenario_2101.json b/hwe/scenario/scenario_2101.json index a136e7c6..82347dca 100644 --- a/hwe/scenario/scenario_2101.json +++ b/hwe/scenario/scenario_2101.json @@ -10,7 +10,9 @@ "total":260, "min":40, "max":120, + "npcTotal":120, "npcMax":65, + "npcMin":10, "chiefMin":55 }, "const":{ diff --git a/hwe/scenario/scenario_2102.json b/hwe/scenario/scenario_2102.json index 16669da0..7e71be62 100644 --- a/hwe/scenario/scenario_2102.json +++ b/hwe/scenario/scenario_2102.json @@ -10,7 +10,9 @@ "total":260, "min":40, "max":120, + "npcTotal":120, "npcMax":65, + "npcMin":10, "chiefMin":55 }, "map":{ diff --git a/hwe/scenario/scenario_2110.json b/hwe/scenario/scenario_2110.json index e67a1692..9d4ed099 100644 --- a/hwe/scenario/scenario_2110.json +++ b/hwe/scenario/scenario_2110.json @@ -10,7 +10,9 @@ "total":220, "min":40, "max":95, - "npcMax":95 + "npcTotal":170, + "npcMax":95, + "npcMin":10 }, "const":{ "defaultMaxGeneral":600 diff --git a/hwe/scenario/scenario_2120.json b/hwe/scenario/scenario_2120.json index f3b6b602..35e38f2e 100644 --- a/hwe/scenario/scenario_2120.json +++ b/hwe/scenario/scenario_2120.json @@ -10,7 +10,9 @@ "total":220, "min":40, "max":95, - "npcMax":95 + "npcTotal":170, + "npcMax":95, + "npcMin":10 }, "const":{ "defaultMaxGeneral":800 diff --git a/hwe/scenario/scenario_2121.json b/hwe/scenario/scenario_2121.json index 5a32cf63..8fab4071 100644 --- a/hwe/scenario/scenario_2121.json +++ b/hwe/scenario/scenario_2121.json @@ -10,7 +10,9 @@ "total":220, "min":40, "max":95, - "npcMax":95 + "npcTotal":170, + "npcMax":95, + "npcMin":10 }, "const":{ "defaultMaxGeneral":800 diff --git a/hwe/scenario/scenario_2130.json b/hwe/scenario/scenario_2130.json index a17d05c0..f53ed1d8 100644 --- a/hwe/scenario/scenario_2130.json +++ b/hwe/scenario/scenario_2130.json @@ -6,7 +6,9 @@ "total":250, "min":60, "max":110, - "npcMax":100 + "npcTotal":190, + "npcMax":100, + "npcMin":10 }, "iconPath":"환상향", "nation":[ diff --git a/hwe/scenario/scenario_2131.json b/hwe/scenario/scenario_2131.json index 32459fc5..457bb760 100644 --- a/hwe/scenario/scenario_2131.json +++ b/hwe/scenario/scenario_2131.json @@ -6,7 +6,9 @@ "total":250, "min":60, "max":110, - "npcMax":100 + "npcTotal":190, + "npcMax":100, + "npcMin":10 }, "iconPath":"환상향", "nation":[ diff --git a/hwe/scenario/scenario_2140.json b/hwe/scenario/scenario_2140.json index aea52b4a..d753b9bd 100644 --- a/hwe/scenario/scenario_2140.json +++ b/hwe/scenario/scenario_2140.json @@ -11,7 +11,9 @@ "total":220, "min":40, "max":95, - "npcMax":95 + "npcTotal":210, + "npcMax":95, + "npcMin":40 }, "general":[ [0, "아이유", null, 0, null, 90, 56, 100, 0, 160, 250, "의협", "집중"], diff --git a/hwe/scenario/scenario_2150.json b/hwe/scenario/scenario_2150.json index 57568a20..ade20e8d 100644 --- a/hwe/scenario/scenario_2150.json +++ b/hwe/scenario/scenario_2150.json @@ -10,7 +10,9 @@ "total":220, "min":40, "max":95, - "npcMax":95 + "npcTotal":200, + "npcMax":95, + "npcMin":20 }, "general":[ [0, "모에", null, 0, null, 68, 55, 82, 0, 160, 300, null, null], diff --git a/hwe/scenario/scenario_2151.json b/hwe/scenario/scenario_2151.json index a6321e6e..4d2a7538 100644 --- a/hwe/scenario/scenario_2151.json +++ b/hwe/scenario/scenario_2151.json @@ -10,7 +10,9 @@ "total":220, "min":40, "max":95, - "npcMax":95 + "npcTotal":200, + "npcMax":95, + "npcMin":20 }, "general":[ [0, "흑뢰의라이제", null, 0, null, 91, 71, 93, 0, 160, 300, "의협", "집중"], diff --git a/hwe/scenario/scenario_2200.json b/hwe/scenario/scenario_2200.json index 80635f0a..cc02e792 100644 --- a/hwe/scenario/scenario_2200.json +++ b/hwe/scenario/scenario_2200.json @@ -9,7 +9,9 @@ "total": 225, "min": 40, "max": 95, - "npcMax": 90, + "npcTotal":190, + "npcMax":90, + "npcMin":30, "chiefMin": 65 }, "iconPath": "스타1프로게이머", diff --git a/hwe/scenario/scenario_2210.json b/hwe/scenario/scenario_2210.json index 1a57ab8e..0c6061be 100644 --- a/hwe/scenario/scenario_2210.json +++ b/hwe/scenario/scenario_2210.json @@ -9,7 +9,9 @@ "total": 240, "min": 40, "max": 110, - "npcMax": 90, + "npcTotal":200, + "npcMax":90, + "npcMin":20, "chiefMin": 65 }, "iconPath": "포켓몬스터",