game: 수뇌/관직 전투력 보정을 조정
- 수비시, 공격시가 아니라 항시 작동 - 군주: 공격 5%, 피해 -5% - 참모: 공격 3%, 피해 -3% - 무장 수뇌: 공격 3% - 지장 수뇌: 피해 -3% - 도시 관직: 공격 1.5%, 피해 -1.5%
This commit is contained in:
@@ -47,8 +47,8 @@ class TriggerOfficerLevel implements iAction{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
return $value;
|
||||
}
|
||||
|
||||
@@ -58,4 +58,30 @@ class TriggerOfficerLevel implements iAction{
|
||||
}
|
||||
return $value;
|
||||
}
|
||||
|
||||
public function getWarPowerMultiplier(WarUnit $unit): array
|
||||
{
|
||||
$officerLevel = $this->officerLevel;
|
||||
$warPowerMultiply = 1;
|
||||
$opposeWarPowerMultiply = 1;
|
||||
if ($officerLevel == 12) {
|
||||
$warPowerMultiply = 1.05;
|
||||
$opposeWarPowerMultiply = 0.95;
|
||||
}
|
||||
else if($officerLevel == 11){
|
||||
$warPowerMultiply = 1.03;
|
||||
$opposeWarPowerMultiply = 0.97;
|
||||
}
|
||||
else if(in_array($officerLevel, [10, 8, 6])){
|
||||
$warPowerMultiply = 1.03;
|
||||
}
|
||||
else if(in_array($officerLevel, [9, 7, 5])){
|
||||
$opposeWarPowerMultiply = 0.97;
|
||||
}
|
||||
else if(in_array($officerLevel, [4, 3, 2])){
|
||||
$warPowerMultiply = 1.015;
|
||||
$opposeWarPowerMultiply = 0.985;
|
||||
}
|
||||
return [$warPowerMultiply, $opposeWarPowerMultiply];
|
||||
}
|
||||
}
|
||||
@@ -209,25 +209,6 @@ class WarUnitGeneral extends WarUnit
|
||||
[$warPower, $opposeWarPowerMultiply] = parent::computeWarPower();
|
||||
|
||||
$general = $this->general;
|
||||
$cityID = $general->getCityID();
|
||||
$officerLevel = $general->getVar('officer_level');
|
||||
$officerCity = $general->getVar('officer_city');
|
||||
|
||||
if ($this->isAttacker) {
|
||||
if ($officerLevel == 12) {
|
||||
$warPower *= 1.10;
|
||||
} else if ($officerLevel == 11 || $officerLevel == 10 || $officerLevel == 8 || $officerLevel == 6) {
|
||||
$warPower *= 1.05;
|
||||
}
|
||||
} else {
|
||||
if ($officerLevel == 12) {
|
||||
$opposeWarPowerMultiply *= 0.90;
|
||||
} else if ($officerLevel == 11 || $officerLevel == 9 || $officerLevel == 7 || $officerLevel == 5) {
|
||||
$opposeWarPowerMultiply *= 0.95;
|
||||
} else if (2 <= $officerLevel && $officerLevel <= 4 && $officerCity == $cityID) {
|
||||
$opposeWarPowerMultiply *= 0.95;
|
||||
}
|
||||
}
|
||||
|
||||
$expLevel = $general->getVar('explevel');
|
||||
|
||||
@@ -238,7 +219,6 @@ class WarUnitGeneral extends WarUnit
|
||||
$opposeWarPowerMultiply *= max(0.01, 1 - $expLevel / 300);
|
||||
}
|
||||
|
||||
|
||||
[$specialMyWarPowerMultiply, $specialOpposeWarPowerMultiply] = $this->general->getWarPowerMultiplier($this);
|
||||
$warPower *= $specialMyWarPowerMultiply;
|
||||
$opposeWarPowerMultiply *= $specialOpposeWarPowerMultiply;
|
||||
|
||||
Reference in New Issue
Block a user