Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bb800f032e |
@@ -18,18 +18,22 @@ class event_전투특기_무쌍 extends \sammo\BaseItem{
|
|||||||
protected $reqSecu = 3000;
|
protected $reqSecu = 3000;
|
||||||
|
|
||||||
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
||||||
if($statName === 'warCriticalRatio' && $aux['isAttacker']??false){
|
if($statName === 'warCriticalRatio' && ($aux['isAttacker']??false)){
|
||||||
return $value += 0.1;
|
return $value += 0.1;
|
||||||
}
|
}
|
||||||
return $value;
|
return $value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getWarPowerMultiplier(WarUnit $unit):array{
|
public function getWarPowerMultiplier(WarUnit $unit):array{
|
||||||
$attackMultiplier = 1.1;
|
$generalWarSpecial = $unit->getGeneral()->getSpecialWar();
|
||||||
$defenceMultiplier = 0.95;
|
if($generalWarSpecial !== null && $generalWarSpecial->getName() == '무쌍'){
|
||||||
|
return [1, 1];
|
||||||
|
}
|
||||||
|
$attackMultiplier = 1;
|
||||||
|
$defenceMultiplier = 1;
|
||||||
$killnum = $unit->getGeneral()->getRankVar('killnum');
|
$killnum = $unit->getGeneral()->getRankVar('killnum');
|
||||||
$attackMultiplier += Util::valueFit($killnum * 0.01 * 0.2, null, 0.5);
|
$attackMultiplier += log(max(1, $killnum / 5), 2) / 20;
|
||||||
$defenceMultiplier -= Util::valueFit($killnum * 0.01 * 0.05, null, 0.2);
|
$defenceMultiplier -= log(max(1, $killnum / 5), 2) / 50;
|
||||||
return [$attackMultiplier, $defenceMultiplier];
|
return [$attackMultiplier, $defenceMultiplier];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -19,18 +19,22 @@ class che_event_무쌍 extends \sammo\BaseSpecial{
|
|||||||
];
|
];
|
||||||
|
|
||||||
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
||||||
if($statName === 'warCriticalRatio' && $aux['isAttacker']??false){
|
if($statName === 'warCriticalRatio' && ($aux['isAttacker']??false)){
|
||||||
return $value += 0.1;
|
return $value += 0.1;
|
||||||
}
|
}
|
||||||
return $value;
|
return $value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getWarPowerMultiplier(WarUnit $unit):array{
|
public function getWarPowerMultiplier(WarUnit $unit):array{
|
||||||
$attackMultiplier = 1.1;
|
$generalWarSpecial = $unit->getGeneral()->getSpecialWar();
|
||||||
|
if($generalWarSpecial !== null && $generalWarSpecial->getName() == '무쌍'){
|
||||||
|
return [1, 1];
|
||||||
|
}
|
||||||
|
$attackMultiplier = 1;
|
||||||
$defenceMultiplier = 1;
|
$defenceMultiplier = 1;
|
||||||
$killnum = $unit->getGeneral()->getRankVar('killnum');
|
$killnum = $unit->getGeneral()->getRankVar('killnum');
|
||||||
$attackMultiplier += Util::valueFit($killnum * 0.01 * 0.2, null, 0.4);
|
$attackMultiplier += log(max(1, $killnum / 5), 2) / 20;
|
||||||
$defenceMultiplier -= Util::valueFit($killnum * 0.01 * 0.05, null, 0.3);
|
$defenceMultiplier -= log(max(1, $killnum / 5), 2) / 50;
|
||||||
return [$attackMultiplier, $defenceMultiplier];
|
return [$attackMultiplier, $defenceMultiplier];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -10,7 +10,7 @@ class che_무쌍 extends \sammo\BaseSpecial{
|
|||||||
|
|
||||||
protected $id = 61;
|
protected $id = 61;
|
||||||
protected $name = '무쌍';
|
protected $name = '무쌍';
|
||||||
protected $info = '[전투] 대미지 +10%, 피해 -5%, 공격 시 필살 확률 +10%p, <br>승리 수만큼 대미지 0.20%씩 추가 상승(최대50%)<br>승리 수만큼 피해 0.05%씩 감소(최대20%)';
|
protected $info = '[전투] 공격 시 필살 확률 +10%p, <br>승리 수의 로그 비례로 대미지 상승(10회 ⇒ +5%, 40회 ⇒ +15%)<br>승리 수의 로그 비례로 피해 감소(10회 ⇒ -2%, 40회 ⇒ -6%)';
|
||||||
|
|
||||||
static $selectWeightType = SpecialityHelper::WEIGHT_NORM;
|
static $selectWeightType = SpecialityHelper::WEIGHT_NORM;
|
||||||
static $selectWeight = 1;
|
static $selectWeight = 1;
|
||||||
@@ -19,18 +19,18 @@ class che_무쌍 extends \sammo\BaseSpecial{
|
|||||||
];
|
];
|
||||||
|
|
||||||
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
public function onCalcStat(General $general, string $statName, $value, $aux=null){
|
||||||
if($statName === 'warCriticalRatio' && $aux['isAttacker']??false){
|
if($statName === 'warCriticalRatio' && ($aux['isAttacker']??false)){
|
||||||
return $value += 0.1;
|
return $value += 0.1;
|
||||||
}
|
}
|
||||||
return $value;
|
return $value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getWarPowerMultiplier(WarUnit $unit):array{
|
public function getWarPowerMultiplier(WarUnit $unit):array{
|
||||||
$attackMultiplier = 1.1;
|
$attackMultiplier = 1;
|
||||||
$defenceMultiplier = 0.95;
|
$defenceMultiplier = 1;
|
||||||
$killnum = $unit->getGeneral()->getRankVar('killnum');
|
$killnum = $unit->getGeneral()->getRankVar('killnum');
|
||||||
$attackMultiplier += Util::valueFit($killnum * 0.01 * 0.2, null, 0.5);
|
$attackMultiplier += log(max(1, $killnum / 5), 2) / 20;
|
||||||
$defenceMultiplier -= Util::valueFit($killnum * 0.01 * 0.05, null, 0.2);
|
$defenceMultiplier -= log(max(1, $killnum / 5), 2) / 50;
|
||||||
return [$attackMultiplier, $defenceMultiplier];
|
return [$attackMultiplier, $defenceMultiplier];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user