NPC 생성시 스케일러 제거

This commit is contained in:
2020-05-17 13:47:28 +09:00
parent 5f016d74a1
commit 0db2009e65
3 changed files with 12 additions and 54 deletions
+1 -16
View File
@@ -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);
+1 -16
View File
@@ -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);
+10 -22
View File
@@ -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);