game: 유니크 명마, 명검, 서적 갯수 2배

- 말 유니크로 백상, 오환마, 흉노마, 의남백마, 옥추마, 화종마, 옥란백용구 추가
  - 백상, 옥란백용구는 특수효과 부여
This commit is contained in:
2021-12-26 20:44:32 +09:00
parent 77a2e2b2d5
commit e72975f552
10 changed files with 193 additions and 84 deletions
@@ -0,0 +1,32 @@
<?php
namespace sammo\ActionItem;
use \sammo\iAction;
use \sammo\General;
use sammo\WarUnit;
class che_명마_07_백상 extends \sammo\BaseStatItem{
protected $cost = 200;
protected $buyable = false;
public function __construct()
{
parent::__construct();
$this->info .= "<br>[전투] 공격력 +20%, 소모 군량 +10%, 공격 시 페이즈 -1";
}
public function onCalcStat(General $general, string $statName, $value, $aux=null){
$value = parent::onCalcStat($general, $statName, $value, $aux);
if($statName == 'killRice'){
return $value * 1.1;
}
if($statName === 'initWarPhase'){
return $value - 1;
}
return $value;
}
public function getWarPowerMultiplier(WarUnit $unit): array
{
return [1.2, 1];
}
}
@@ -0,0 +1,7 @@
<?php
namespace sammo\ActionItem;
class che_명마_07_오환마 extends \sammo\BaseStatItem{
protected $cost = 200;
protected $buyable = false;
}
@@ -0,0 +1,7 @@
<?php
namespace sammo\ActionItem;
class che_명마_08_흉노마 extends \sammo\BaseStatItem{
protected $cost = 200;
protected $buyable = false;
}
@@ -0,0 +1,9 @@
<?php
namespace sammo\ActionItem;
use \sammo\iAction;
use \sammo\General;
class che_명마_09_의남백마 extends \sammo\BaseStatItem{
protected $cost = 200;
protected $buyable = false;
}
@@ -0,0 +1,9 @@
<?php
namespace sammo\ActionItem;
use \sammo\iAction;
use \sammo\General;
class che_명마_10_옥추마 extends \sammo\BaseStatItem{
protected $cost = 200;
protected $buyable = false;
}
@@ -0,0 +1,9 @@
<?php
namespace sammo\ActionItem;
use \sammo\iAction;
use \sammo\General;
class che_명마_11_화종마 extends \sammo\BaseStatItem{
protected $cost = 200;
protected $buyable = false;
}
@@ -0,0 +1,27 @@
<?php
namespace sammo\ActionItem;
use \sammo\iAction;
use \sammo\General;
class che_명마_12_옥란백용구 extends \sammo\BaseStatItem{
protected $cost = 200;
protected $buyable = false;
public function __construct()
{
parent::__construct();
$this->info .= "<br>[전투] 남은 병력에 따라 회피 확률 증가. 최대 +30%p";
}
public function onCalcStat(General $general, string $statName, $value, $aux = null)
{
$value = parent::onCalcStat($general, $statName, $value, $aux);
if($statName == 'warAvoidRatio'){
$leadership = $general->getLeadership(true, true, true, false);
$crewL = $general->getVar('crew') / 100;
return $value + \sammo\Util::valueFit((1 - $crewL / $leadership) * 0.3, 0, 0.3);
}
return $value;
}
}