preprocessCommand 정리
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
namespace sammo\GeneralTrigger;
|
||||
use sammo\BaseGeneralTrigger;
|
||||
use sammo\General;
|
||||
use sammo\ActionLogger;
|
||||
use sammo\DB;
|
||||
use sammo\Util;
|
||||
use sammo\JosaUtil;
|
||||
|
||||
class che_강제소집해제 extends BaseGeneralTrigger{
|
||||
static protected $priority = 50000;
|
||||
|
||||
public function action(?array $env=null, $arg=null):?array{
|
||||
|
||||
/** @var \sammo\General $general */
|
||||
$general = $this->object;
|
||||
|
||||
if($general->getVar('crew') >= 100){
|
||||
$currentRice = $general->getVar('rice');
|
||||
$consumeRice = Util::toInt($general->getVar('crew') / 100);
|
||||
if($consumeRice <= $currentRice){
|
||||
$general->increaseVar('rice', -$consumeRice);
|
||||
}
|
||||
else{
|
||||
$general->setVar('rice', 0);
|
||||
$general->getLogger()->pushGeneralActionLog(
|
||||
'군량이 모자라 병사들이 <R>소집해제</>되었습니다!', ActionLogger::PLAIN
|
||||
);
|
||||
}
|
||||
$general->activateSkill('pre.소집해제');
|
||||
}
|
||||
|
||||
return $env;
|
||||
}
|
||||
}
|
||||
@@ -8,7 +8,7 @@ use sammo\Util;
|
||||
use sammo\JosaUtil;
|
||||
|
||||
class che_도시치료 extends BaseGeneralTrigger{
|
||||
static protected $priority = 50000;
|
||||
static protected $priority = 10000;
|
||||
|
||||
public function action(?array $env=null, $arg=null):?array{
|
||||
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
namespace sammo\GeneralTrigger;
|
||||
use sammo\BaseGeneralTrigger;
|
||||
use sammo\General;
|
||||
use sammo\ActionLogger;
|
||||
use sammo\DB;
|
||||
use sammo\Util;
|
||||
use sammo\JosaUtil;
|
||||
|
||||
class che_부상경감 extends BaseGeneralTrigger{
|
||||
static protected $priority = 30000;
|
||||
|
||||
public function action(?array $env=null, $arg=null):?array{
|
||||
|
||||
/** @var \sammo\General $general */
|
||||
$general = $this->object;
|
||||
|
||||
if($general->getVar('injury') && !$general->hasActivatedSkill('pre.부상경감')){
|
||||
$general->increaseVarWithLimit('injury', -10, 0);
|
||||
$general->activateSkill('pre.부상경감');
|
||||
}
|
||||
|
||||
return $env;
|
||||
}
|
||||
}
|
||||
@@ -33,29 +33,13 @@ class TurnExecutionHelper
|
||||
public function preprocessCommand(){
|
||||
$general = $this->getGeneral();
|
||||
$caller = $general->getPreTurnExecuteTriggerList($general);
|
||||
$caller->merge(new GeneralTriggerCaller([
|
||||
new GeneralTrigger\che_부상경감($general),
|
||||
new GeneralTrigger\che_강제소집해제($general),
|
||||
]));
|
||||
|
||||
$caller->fire();
|
||||
|
||||
if($general->getVar('injury') && !$general->hasActivatedSkill('pre.부상경감')){
|
||||
$general->increaseVarWithLimit('injury', -10, 0);
|
||||
$general->activateSkill('pre.부상경감');
|
||||
}
|
||||
|
||||
if($general->getVar('crew') >= 100){
|
||||
$currentRice = $general->getVar('rice');
|
||||
$consumeRice = Util::toInt($general->getVar('crew') / 100);
|
||||
if($consumeRice <= $currentRice){
|
||||
$general->increaseVar('rice', -$consumeRice);
|
||||
}
|
||||
else{
|
||||
$general->setVar('rice', 0);
|
||||
$general->getLogger()->pushGeneralActionLog(
|
||||
'군량이 모자라 병사들이 <R>소집해제</>되었습니다!', ActionLogger::PLAIN
|
||||
);
|
||||
}
|
||||
$general->activateSkill('pre.소집해제');
|
||||
}
|
||||
|
||||
$general->clearActivatedSkill();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user