WarUnit의 일부 요소를 General과 ActionSpecialWar 등으로 분리

This commit is contained in:
2019-04-28 05:43:59 +09:00
parent ef40f299ef
commit 477ec440bc
28 changed files with 256 additions and 191 deletions
@@ -3,6 +3,7 @@ namespace sammo\ActionSpecialWar;
use \sammo\iAction;
use \sammo\General;
use \sammo\SpecialityConst;
use \sammo\WarUnit;
class che_격노 implements iAction{
use \sammo\DefaultAction;
@@ -3,6 +3,7 @@ namespace sammo\ActionSpecialWar;
use \sammo\iAction;
use \sammo\General;
use \sammo\SpecialityConst;
use \sammo\WarUnit;
class che_견고 implements iAction{
use \sammo\DefaultAction;
@@ -4,6 +4,8 @@ use \sammo\iAction;
use \sammo\General;
use \sammo\SpecialityConst;
use \sammo\GameUnitConst;
use \sammo\WarUnit;
use \sammo\WarUnitCity;
class che_공성 implements iAction{
use \sammo\DefaultAction;
@@ -27,4 +29,11 @@ class che_공성 implements iAction{
return $value;
}
public function getWarPowerMultiplier(WarUnit $unit):array{
if($unit->getOppose() instanceof WarUnitCity){
return [2, 1];
}
return [1, 1];
}
}
@@ -27,4 +27,11 @@ class che_궁병 implements iAction{
return $value;
}
public function onCalcStat(General $general, string $statName, $value, $aux=null){
if($statName === 'warAvoidRatio'){
return $value += 0.2;
}
return $value;
}
}
@@ -4,6 +4,7 @@ use \sammo\iAction;
use \sammo\General;
use \sammo\SpecialityConst;
use \sammo\GameUnitConst;
use \sammo\WarUnit;
class che_귀병 implements iAction{
use \sammo\DefaultAction;
@@ -4,6 +4,7 @@ use \sammo\iAction;
use \sammo\General;
use \sammo\SpecialityConst;
use \sammo\GameUnitConst;
use \sammo\WarUnit;
class che_기병 implements iAction{
use \sammo\DefaultAction;
@@ -26,4 +27,11 @@ class che_기병 implements iAction{
return $value;
}
public function getWarPowerMultiplier(WarUnit $unit):array{
if($unit->isAttacker()){
return [1.2, 1];
}
return [1.1, 1];
}
}
@@ -3,6 +3,7 @@ namespace sammo\ActionSpecialWar;
use \sammo\iAction;
use \sammo\General;
use \sammo\SpecialityConst;
use \sammo\WarUnit;
class che_돌격 implements iAction{
use \sammo\DefaultAction;
@@ -24,4 +25,11 @@ class che_돌격 implements iAction{
}
return $value;
}
public function getWarPowerMultiplier(WarUnit $unit):array{
if($unit->isAttacker()){
return [1.1, 1];
}
return [1, 1];
}
}
@@ -3,6 +3,7 @@ namespace sammo\ActionSpecialWar;
use \sammo\iAction;
use \sammo\General;
use \sammo\SpecialityConst;
use \sammo\WarUnit;
class che_무쌍 implements iAction{
use \sammo\DefaultAction;
@@ -24,4 +25,8 @@ class che_무쌍 implements iAction{
}
return $value;
}
public function getWarPowerMultiplier(WarUnit $unit):array{
return [1.1, 1];
}
}
@@ -3,6 +3,7 @@ namespace sammo\ActionSpecialWar;
use \sammo\iAction;
use \sammo\General;
use \sammo\SpecialityConst;
use \sammo\WarUnit;
class che_반계 implements iAction{
use \sammo\DefaultAction;
@@ -4,6 +4,7 @@ use \sammo\iAction;
use \sammo\General;
use \sammo\SpecialityConst;
use \sammo\GameUnitConst;
use \sammo\WarUnit;
class che_보병 implements iAction{
use \sammo\DefaultAction;
@@ -26,4 +27,11 @@ class che_보병 implements iAction{
return $value;
}
public function getWarPowerMultiplier(WarUnit $unit):array{
if($unit->isAttacker()){
return [0, 0.9];
}
return [0, 0.8];
}
}
@@ -3,6 +3,7 @@ namespace sammo\ActionSpecialWar;
use \sammo\iAction;
use \sammo\General;
use \sammo\SpecialityConst;
use \sammo\WarUnit;
class che_신산 implements iAction{
use \sammo\DefaultAction;
@@ -3,6 +3,7 @@ namespace sammo\ActionSpecialWar;
use \sammo\iAction;
use \sammo\General;
use \sammo\SpecialityConst;
use \sammo\WarUnit;
class che_신중 implements iAction{
use \sammo\DefaultAction;
@@ -3,6 +3,7 @@ namespace sammo\ActionSpecialWar;
use \sammo\iAction;
use \sammo\General;
use \sammo\SpecialityConst;
use \sammo\WarUnit;
class che_위압 implements iAction{
use \sammo\DefaultAction;
@@ -6,6 +6,7 @@ use sammo\SpecialityConst;
use \sammo\General;
use \sammo\GeneralTrigger;
use \sammo\GeneralTriggerCaller;
use \sammo\WarUnit;
class che_의술 implements iAction{
use \sammo\DefaultAction;
@@ -3,6 +3,7 @@ namespace sammo\ActionSpecialWar;
use \sammo\iAction;
use \sammo\General;
use \sammo\SpecialityConst;
use \sammo\WarUnit;
class che_저격 implements iAction{
use \sammo\DefaultAction;
@@ -3,6 +3,7 @@ namespace sammo\ActionSpecialWar;
use \sammo\iAction;
use \sammo\General;
use \sammo\SpecialityConst;
use \sammo\WarUnit;
class che_집중 implements iAction{
use \sammo\DefaultAction;
@@ -3,6 +3,7 @@ namespace sammo\ActionSpecialWar;
use \sammo\iAction;
use \sammo\General;
use \sammo\SpecialityConst;
use \sammo\WarUnit;
class che_징병 implements iAction{
use \sammo\DefaultAction;
@@ -3,6 +3,7 @@ namespace sammo\ActionSpecialWar;
use \sammo\iAction;
use \sammo\General;
use \sammo\SpecialityConst;
use \sammo\WarUnit;
class che_척사 implements iAction{
use \sammo\DefaultAction;
@@ -18,4 +19,12 @@ class che_척사 implements iAction{
SpecialityConst::STAT_POWER,
SpecialityConst::STAT_INTEL
];
public function getWarPowerMultiplier(WarUnit $unit):array{
$opposeCrewType = $unit->getOppose()->getCrewType();
if($opposeCrewType->reqCities || $opposeCrewType->reqRegions){
return [1.1, 0.9];
}
return [1, 1];
}
}
@@ -3,6 +3,7 @@ namespace sammo\ActionSpecialWar;
use \sammo\iAction;
use \sammo\General;
use \sammo\SpecialityConst;
use \sammo\WarUnit;
class che_필살 implements iAction{
use \sammo\DefaultAction;
@@ -3,6 +3,7 @@ namespace sammo\ActionSpecialWar;
use \sammo\iAction;
use \sammo\General;
use \sammo\SpecialityConst;
use \sammo\WarUnit;
class che_환술 implements iAction{
use \sammo\DefaultAction;