feat: 전투 상대방의 특정 수치를 접근할 수 있는 callback류 생성
This commit is contained in:
@@ -25,10 +25,12 @@ class che_계략발동 extends BaseWarUnitTrigger{
|
||||
$general = $self->getGeneral();
|
||||
|
||||
[$magic, $damage] = $selfEnv['magic'];
|
||||
|
||||
|
||||
$damage = $general->onCalcStat($general, 'warMagicFailDamage', $damage, $magic);
|
||||
$damage = $oppose->getGeneral()->onCalcOpposeStat($general, 'warMagicFailDamage', $damage, $magic);
|
||||
$josaUl = \sammo\JosaUtil::pick($magic, '을');
|
||||
|
||||
|
||||
$general->getLogger()->pushGeneralBattleDetailLog("<D>{$magic}</>{$josaUl} <C>성공</>했다!", ActionLogger::PLAIN);
|
||||
$oppose->getLogger()->pushGeneralBattleDetailLog("<D>{$magic}</>에 당했다!", ActionLogger::PLAIN);
|
||||
|
||||
|
||||
@@ -33,11 +33,13 @@ class che_계략시도 extends BaseWarUnitTrigger{
|
||||
if($self->hasActivatedSkill('계략불가')){
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
$magicTrialProb = $general->getIntel(true, true, true, false) / 100;
|
||||
$magicTrialProb *= $crewType->magicCoef;
|
||||
|
||||
$magicTrialProb = $general->onCalcStat($general, 'warMagicTrialProb', $magicTrialProb);
|
||||
$magicTrialProb = $oppose->getGeneral()->onCalcOpposeStat($general, 'warMagicTrialProb', $magicTrialProb);
|
||||
|
||||
if($magicTrialProb <= 0){
|
||||
return true;
|
||||
}
|
||||
@@ -45,13 +47,14 @@ class che_계략시도 extends BaseWarUnitTrigger{
|
||||
if($self->getPhase() == 0){
|
||||
$magicTrialProb *= 3;
|
||||
}
|
||||
|
||||
|
||||
if(!Util::randBool($magicTrialProb)){
|
||||
return true;
|
||||
}
|
||||
|
||||
$magicSuccessProb = 0.7;
|
||||
$magicSuccessProb = $general->onCalcStat($general, 'warMagicSuccessProb', $magicSuccessProb);
|
||||
$magicSuccessProb = $oppose->getGeneral()->onCalcOpposeStat($general, 'warMagicSuccessProb', $magicSuccessProb);
|
||||
if($self->hasActivatedSkill('계략약화')){
|
||||
$magicSuccessProb -= 0.1; //NOTE: 앞으로 이건 oppose의 onCalcStat에 들어가야하지 않을까?
|
||||
}
|
||||
@@ -66,6 +69,8 @@ class che_계략시도 extends BaseWarUnitTrigger{
|
||||
}
|
||||
|
||||
$successDamage = $general->onCalcStat($general, 'warMagicSuccessDamage', $successDamage, $magic);
|
||||
$successDamage = $oppose->getGeneral()->onCalcOpposeStat($general, 'warMagicSuccessDamage', $successDamage, $magic);
|
||||
|
||||
|
||||
$self->activateSkill('계략시도', $magic);
|
||||
if(Util::randBool($magicSuccessProb)){
|
||||
@@ -76,7 +81,7 @@ class che_계략시도 extends BaseWarUnitTrigger{
|
||||
$self->activateSkill('계략실패');
|
||||
$selfEnv['magic'] = [$magic, $failDamage];
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -27,11 +27,12 @@ class che_계략실패 extends BaseWarUnitTrigger{
|
||||
[$magic, $damage] = $selfEnv['magic'];
|
||||
|
||||
$damage = $general->onCalcStat($general, 'warMagicFailDamage', $damage, $magic);
|
||||
$damage = $oppose->getGeneral()->onCalcOpposeStat($general, 'warMagicFailDamage', $damage, $magic);
|
||||
$josaUl = \sammo\JosaUtil::pick($magic, '을');
|
||||
|
||||
$general->getLogger()->pushGeneralBattleDetailLog("<D>{$magic}</>{$josaUl} <R>실패</>했다!", ActionLogger::PLAIN);
|
||||
$oppose->getLogger()->pushGeneralBattleDetailLog("<D>{$magic}</>{$josaUl} 간파했다!", ActionLogger::PLAIN);
|
||||
|
||||
|
||||
$self->multiplyWarPowerMultiply(1/$damage);
|
||||
$oppose->multiplyWarPowerMultiply($damage);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user