forked from devsam/core
game: 필살 전투 특기가 '항상 최대 필살 대미지 계수'를 갖도록 수정
- 1.3 ~ 2.0에서 2.0 고정
This commit is contained in:
@@ -1,17 +1,20 @@
|
||||
<?php
|
||||
namespace sammo\ActionSpecialWar;
|
||||
|
||||
use sammo\BaseWarUnitTrigger;
|
||||
use \sammo\iAction;
|
||||
use \sammo\General;
|
||||
use \sammo\SpecialityHelper;
|
||||
use \sammo\WarUnit;
|
||||
use sammo\WarUnitTriggerCaller;
|
||||
use sammo\WarUnitTrigger\che_필살강화_회피불가;
|
||||
use sammo\WarUnitTrigger\WarActivateSkills;
|
||||
|
||||
class che_필살 extends \sammo\BaseSpecial{
|
||||
|
||||
protected $id = 71;
|
||||
protected $name = '필살';
|
||||
protected $info = '[전투] 필살 확률 +30%p, 필살 발동시 대상 회피 불가';
|
||||
protected $info = '[전투] 필살 확률 +30%p, 필살 발동시 대상 회피 불가, 필살 계수 항상 최대';
|
||||
|
||||
static $selectWeightType = SpecialityHelper::WEIGHT_NORM;
|
||||
static $selectWeight = 1;
|
||||
@@ -25,6 +28,11 @@ class che_필살 extends \sammo\BaseSpecial{
|
||||
if($statName === 'warCriticalRatio'){
|
||||
return $value + 0.30;
|
||||
}
|
||||
if($statName === 'criticalDamageRange'){
|
||||
[, $rangeMax] = $value;
|
||||
return [$rangeMax, $rangeMax];
|
||||
}
|
||||
|
||||
return $value;
|
||||
}
|
||||
|
||||
|
||||
@@ -436,8 +436,14 @@ class WarUnit
|
||||
|
||||
function criticalDamage(): float
|
||||
{
|
||||
$range = [1.3, 2.0];
|
||||
|
||||
if($this instanceof WarUnitGeneral){
|
||||
$general = $this->general;
|
||||
$range = $general->onCalcStat($general, 'criticalDamageRange', $range);
|
||||
}
|
||||
//전특, 병종에 따라 필살 데미지가 달라질지도 모르므로 static 함수는 아닌 것으로
|
||||
return Util::randRange(1.3, 2.0);
|
||||
return Util::randRange(...$range);
|
||||
}
|
||||
|
||||
function applyDB(\MeekroDB $db): bool
|
||||
|
||||
Reference in New Issue
Block a user