diff --git a/hwe/sammo/Command/General/che_인재탐색.php b/hwe/sammo/Command/General/che_인재탐색.php index fef60f9b..66a9eb78 100644 --- a/hwe/sammo/Command/General/che_인재탐색.php +++ b/hwe/sammo/Command/General/che_인재탐색.php @@ -204,7 +204,7 @@ class che_인재탐색 extends Command\GeneralCommand } $avgGen = $db->queryFirstRow( - 'SELECT max(leadership+strength+intel) as stat_sum, avg(dedication) as ded,avg(experience) as exp, + 'SELECT avg(dedication) as ded,avg(experience) as exp, avg(dex1+dex2+dex3+dex4) as dex_t, avg(age) as age, avg(dex5) as dex5 from general where nation=%i', $nationID @@ -232,21 +232,6 @@ class che_인재탐색 extends Command\GeneralCommand $dexVal = [$dexTotal / 4, $dexTotal / 4, $dexTotal / 4, $dexTotal / 4]; } - // 국내 최고능치 기준으로 랜덤성 스케일링 - $maxLPI = $avgGen['stat_sum']; - 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) { - $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); - } else { - $leadership *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.9, 1); - $strength *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.9, 1); - $intel *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.9, 1); - } $leadership = Util::round($leadership); $strength = Util::round($strength); $intel = Util::round($intel); diff --git a/hwe/sammo/Command/Nation/che_의병모집.php b/hwe/sammo/Command/Nation/che_의병모집.php index 8e64cafd..20a7a6c2 100644 --- a/hwe/sammo/Command/Nation/che_의병모집.php +++ b/hwe/sammo/Command/Nation/che_의병모집.php @@ -147,7 +147,7 @@ class che_의병모집 extends Command\NationCommand $pickTypeList = ['무' => 5, '지' => 5]; $avgGen = $db->queryFirstRow( - 'SELECT max(leadership+strength+intel) as stat_sum, avg(dedication) as ded,avg(experience) as exp, + 'SELECT avg(dedication) as ded,avg(experience) as exp, avg(dex1+dex2+dex3+dex4) as dex_t, avg(age) as age, avg(dex5) as dex5 from general where nation=%i', $nationID @@ -193,21 +193,6 @@ class che_의병모집 extends Command\NationCommand $dexVal = [$dexTotal / 4, $dexTotal / 4, $dexTotal / 4, $dexTotal / 4]; } - // 국내 최고능치 기준으로 랜덤성 스케일링 - $maxLPI = $avgGen['stat_sum']; - 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) { - $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); - } else { - $leadership *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.9, 1); - $strength *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.9, 1); - $intel *= $maxLPI / GameConst::$defaultStatTotal * Util::randRange(0.9, 1); - } $leadership = Util::round($leadership); $strength = Util::round($strength); $intel = Util::round($intel); diff --git a/hwe/sammo/Event/Action/CreateManyNPC.php b/hwe/sammo/Event/Action/CreateManyNPC.php index b22a8795..433d8fe4 100644 --- a/hwe/sammo/Event/Action/CreateManyNPC.php +++ b/hwe/sammo/Event/Action/CreateManyNPC.php @@ -15,14 +15,17 @@ class CreateManyNPC extends \sammo\Event\Action{ $pickType = Util::choiceRandomUsingWeightPair($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('기본 스탯 설정값이 잘못되어 있음'); } } @@ -43,21 +46,6 @@ class CreateManyNPC extends \sammo\Event\Action{ $intel = $mainStat; } - // 국내 최고능치 기준으로 랜덤성 스케일링 - $maxLPI = GameConst::$defaultStatTotal; - if($maxLPI > 210) { - $leadership *= Util::randRange(0.6, 0.9); - $strength *= Util::randRange(0.6, 0.9); - $intel *= Util::randRange(0.6, 0.9); - } elseif($maxLPI > 180) { - $leadership *= Util::randRange(0.75, 0.95); - $strength *= Util::randRange(0.75, 0.95); - $intel *= Util::randRange(0.75, 0.95); - } else { - $leadership *= Util::randRange(0.9, 1); - $strength *= Util::randRange(0.9, 1); - $intel *= Util::randRange(0.9, 1); - } $leadership = Util::round($leadership); $strength = Util::round($strength); $intel = Util::round($intel);