game: 도구 유니크 밸런스 수정

This commit is contained in:
2022-07-06 22:50:54 +09:00
parent e443f92ddb
commit 8089457aa8
14 changed files with 30 additions and 25 deletions
@@ -7,13 +7,13 @@ class che_간파_노군입산부 extends \sammo\BaseItem{
protected $rawName = '노군입산부';
protected $name = '노군입산부(간파)';
protected $info = '[전투] 상대 회피 확률 -30%p, 상대 필살 확률 -10%p';
protected $info = '[전투] 상대 회피 확률 -25%p, 상대 필살 확률 -10%p';
protected $cost = 200;
protected $consumable = false;
public function onCalcOpposeStat(General $general, string $statName, $value, $aux=null){
if($statName === 'warAvoidRatio'){
return $value - 0.30;
return $value - 0.25;
}
if($statName === 'warCriticalRatio'){
return $value - 0.10;
@@ -12,10 +12,15 @@ class che_격노_구정신단경 extends \sammo\BaseItem{
protected $rawName = '구정신단경';
protected $name = '구정신단경(격노)';
protected $info = '[전투] 상대방 필살 시 격노(필살) 발동, 회피 시도시 25% 확률로 격노 발동, 공격 시 일정 확률로 진노(1페이즈 추가)';
protected $info = '[전투] 상대방 필살 시 격노(필살) 발동, 회피 시도시 25% 확률로 격노 발동, 공격 시 일정 확률로 진노(1페이즈 추가), 격노마다 대미지 5% 추가 중첩';
protected $cost = 200;
protected $consumable = false;
public function getWarPowerMultiplier(WarUnit $unit):array{
$activatedCnt = $unit->hasActivatedSkillOnLog('격노');
return [1 + 0.05*$activatedCnt, 1];
}
public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{
return new WarUnitTriggerCaller(
new che_격노시도($unit, che_격노시도::TYPE_ITEM),
@@ -8,13 +8,13 @@ class che_내정_납금박산로 extends \sammo\BaseItem{
protected $rawName = '납금박산로';
protected $name = '납금박산로(내정)';
protected $info = '[내정] 내정 성공률 +20%p';
protected $info = '[내정] 내정 성공률 +15%p';
protected $cost = 200;
protected $consumable = false;
public function onCalcStrategic(string $turnType, string $varType, $value){
if(in_array($turnType, ['상업', '농업', '기술', '성벽', '수비', '치안', '민심', '인구'])){
if($varType == 'success') return $value + 0.2;
if($varType == 'success') return $value + 0.15;
}
return $value;
}
@@ -21,7 +21,7 @@ class che_능력치_무력_두강주 extends \sammo\BaseItem{
$gameStor = KVStorage::getStorage(DB::db(), 'game_env');
[$year, $startYear] = $gameStor->getValuesAsArray(['year', 'startyear']);
$relYear = $year - $startYear;
return $value + 5 + Util::valueFit(intdiv($relYear, 5), 0, GameConst::$maxTechLevel);
return $value + 5 + Util::valueFit(intdiv($relYear, 4), 0, GameConst::$maxTechLevel);
}
return $value;
}
@@ -21,7 +21,7 @@ class che_능력치_지력_이강주 extends \sammo\BaseItem{
$gameStor = KVStorage::getStorage(DB::db(), 'game_env');
[$year, $startYear] = $gameStor->getValuesAsArray(['year', 'startyear']);
$relYear = $year - $startYear;
return $value + 5 + Util::valueFit(intdiv($relYear, 5), 0, GameConst::$maxTechLevel);
return $value + 5 + Util::valueFit(intdiv($relYear, 4), 0, GameConst::$maxTechLevel);
}
return $value;
}
@@ -21,7 +21,7 @@ class che_능력치_통솔_보령압주 extends \sammo\BaseItem{
$gameStor = KVStorage::getStorage(DB::db(), 'game_env');
[$year, $startYear] = $gameStor->getValuesAsArray(['year', 'startyear']);
$relYear = $year - $startYear;
return $value + 5 + Util::valueFit(intdiv($relYear, 5), 0, GameConst::$maxTechLevel);
return $value + 5 + Util::valueFit(intdiv($relYear, 4), 0, GameConst::$maxTechLevel);
}
return $value;
}
+2 -2
View File
@@ -7,13 +7,13 @@ class che_명성_구석 extends \sammo\BaseItem{
protected $rawName = '구석';
protected $name = '구석(명성)';
protected $info = '명성 +15%';
protected $info = '명성 +20%';
protected $cost = 200;
protected $consumable = false;
public function onCalcStat(General $general, string $statName, $value, $aux=null){
if($statName == 'experience'){
return $value * 1.15;
return $value * 1.20;
}
return $value;
}
+2 -2
View File
@@ -14,7 +14,7 @@ class che_불굴_상편 extends \sammo\BaseItem
protected $rawName = '상편';
protected $name = '상편(불굴)';
protected $info = '[전투] 남은 병력이 적을수록 공격력 증가. 최대 +50%';
protected $info = '[전투] 남은 병력이 적을수록 공격력 증가. 최대 +60%';
protected $cost = 200;
protected $consumable = false;
@@ -25,7 +25,7 @@ class che_불굴_상편 extends \sammo\BaseItem
$crewRatio = Util::valueFit($crew / ($leadership * 100), 0, 1);
return new WarUnitTriggerCaller(
new 전투력보정($unit, 1 + 0.5 * (1 - $crewRatio))
new 전투력보정($unit, 1 + 0.6 * (1 - $crewRatio))
);
}
}
+2 -2
View File
@@ -7,13 +7,13 @@ class che_숙련_동작 extends \sammo\BaseItem{
protected $rawName = '동작';
protected $name = '동작(숙련)';
protected $info = '숙련 +15%';
protected $info = '숙련 +20%';
protected $cost = 200;
protected $consumable = false;
public function onCalcStat(General $general, string $statName, $value, $aux=null){
if($statName == 'addDex'){
return $value * 1.15;
return $value * 1.20;
}
return $value;
}
@@ -8,13 +8,13 @@ class che_전략_평만지장도 extends \sammo\BaseItem{
protected $rawName = '평만지장도';
protected $name = '평만지장도(전략)';
protected $info = '[전략] 국가전략 사용시 재사용 대기 기간 -15%';
protected $info = '[전략] 국가전략 사용시 재사용 대기 기간 -20%';
protected $cost = 200;
protected $consumable = false;
public function onCalcStrategic(string $turnType, string $varType, $value){
if($varType == 'delay'){
return Util::round($value * 0.85);
return Util::round($value * 0.80);
}
return $value;
}
@@ -7,17 +7,17 @@ use sammo\WarUnitTrigger\che_저지발동;
use sammo\WarUnitTrigger\WarActivateSkills;
use sammo\WarUnitTriggerCaller;
class che_반계저지_박혁론 extends \sammo\BaseItem{
class che_진압_박혁론 extends \sammo\BaseItem{
protected $rawName = '박혁론';
protected $name = '박혁론(반계저지)';
protected $info = '[전투] 상대의 계략 되돌림 불가';
protected $name = '박혁론(진압)';
protected $info = '[전투] 상대의 계략 되돌림, 격노 불가';
protected $cost = 200;
protected $consumable = false;
public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{
return new WarUnitTriggerCaller(
new WarActivateSkills($unit, BaseWarUnitTrigger::TYPE_NONE, false, '반계불가'),
new WarActivateSkills($unit, BaseWarUnitTrigger::TYPE_NONE, false, '반계불가', '격노불가'),
);
}
}
+2 -2
View File
@@ -9,13 +9,13 @@ class che_징병_낙주 extends \sammo\BaseItem{
protected $rawName = '낙주';
protected $name = '낙주(징병)';
protected $info = '[군사] 징·모병비 -50%, 통솔 순수 능력치 보정 +15%';
protected $info = '[군사] 징·모병비 -30%, 통솔 순수 능력치 보정 +15%';
protected $cost = 200;
protected $consumable = false;
public function onCalcDomestic(string $turnType, string $varType, float $value, $aux=null):float{
if(in_array($turnType, ['징병', '모병'])){
if($varType == 'cost') return $value * 0.5;
if($varType == 'cost') return $value * 0.7;
}
return $value;
@@ -7,13 +7,13 @@ class che_필살_둔갑천서 extends \sammo\BaseItem{
protected $rawName = '둔갑천서';
protected $name = '둔갑천서(필살)';
protected $info = '[전투] 필살 확률 +25%p';
protected $info = '[전투] 필살 확률 +20%p';
protected $cost = 200;
protected $consumable = false;
public function onCalcStat(General $general, string $statName, $value, $aux=null){
if($statName === 'warCriticalRatio'){
return $value + 0.25;
return $value + 0.20;
}
return $value;
}
+1 -1
View File
@@ -261,7 +261,7 @@ class GameConstBase
'che_저격_매화수전' => 1, 'che_저격_비도'=>1, 'che_위압_조목삭' => 1, 'che_공성_묵자' => 1,
'che_집중_전국책' => 1, 'che_환술_논어집해' => 1,
'che_반계저지_박혁론' => 1, 'che_부적_태현청생부' => 1, 'che_저지_삼황내문' => 1,
'che_진압_박혁론' => 1, 'che_부적_태현청생부' => 1, 'che_저지_삼황내문' => 1,
'che_행동_서촉지형도' => 1, 'che_간파_노군입산부' => 1, 'che_불굴_상편' => 1,
'che_약탈_옥벽' => 1,