견고 버그 수정, 저격 상향
This commit is contained in:
@@ -291,6 +291,7 @@ var defaultSpecialDomestic = '<?=GameConst::$defaultSpecialDomestic?>';
|
|||||||
<span class="input-group-text">명마</span>
|
<span class="input-group-text">명마</span>
|
||||||
</div>
|
</div>
|
||||||
<select class="custom-select form_general_horse">
|
<select class="custom-select form_general_horse">
|
||||||
|
<option value='None'>-</option>
|
||||||
<?php foreach(GameConst::$allItems['horse'] as $horseID=>$cnt): ?>
|
<?php foreach(GameConst::$allItems['horse'] as $horseID=>$cnt): ?>
|
||||||
<option value="<?=$horseID?>"><?=getItemName($horseID)?></option>
|
<option value="<?=$horseID?>"><?=getItemName($horseID)?></option>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
@@ -299,6 +300,7 @@ var defaultSpecialDomestic = '<?=GameConst::$defaultSpecialDomestic?>';
|
|||||||
<span class="input-group-text">무기</span>
|
<span class="input-group-text">무기</span>
|
||||||
</div>
|
</div>
|
||||||
<select class="custom-select form_general_weap">
|
<select class="custom-select form_general_weap">
|
||||||
|
<option value='None'>-</option>
|
||||||
<?php foreach(GameConst::$allItems['weapon'] as $weaponID=>$cnt): ?>
|
<?php foreach(GameConst::$allItems['weapon'] as $weaponID=>$cnt): ?>
|
||||||
<option value="<?=$weaponID?>"><?=getItemName($weaponID)?></option>
|
<option value="<?=$weaponID?>"><?=getItemName($weaponID)?></option>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
@@ -307,6 +309,7 @@ var defaultSpecialDomestic = '<?=GameConst::$defaultSpecialDomestic?>';
|
|||||||
<span class="input-group-text">서적</span>
|
<span class="input-group-text">서적</span>
|
||||||
</div>
|
</div>
|
||||||
<select class="custom-select form_general_book">
|
<select class="custom-select form_general_book">
|
||||||
|
<option value='None'>-</option>
|
||||||
<?php foreach(GameConst::$allItems['book'] as $bookID=>$cnt): ?>
|
<?php foreach(GameConst::$allItems['book'] as $bookID=>$cnt): ?>
|
||||||
<option value="<?=$bookID?>"><?=getItemName($bookID)?></option>
|
<option value="<?=$bookID?>"><?=getItemName($bookID)?></option>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
@@ -328,6 +331,7 @@ var defaultSpecialDomestic = '<?=GameConst::$defaultSpecialDomestic?>';
|
|||||||
<span class="input-group-text">도구</span>
|
<span class="input-group-text">도구</span>
|
||||||
</div>
|
</div>
|
||||||
<select class="custom-select form_general_item">
|
<select class="custom-select form_general_item">
|
||||||
|
<option value='None'>-</option>
|
||||||
<?php foreach(GameConst::$allItems['item'] as $itemID=>$cnt): ?>
|
<?php foreach(GameConst::$allItems['item'] as $itemID=>$cnt): ?>
|
||||||
<option value="<?=$itemID?>"><?=getItemName($itemID)?></option>
|
<option value="<?=$itemID?>"><?=getItemName($itemID)?></option>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
|
|||||||
@@ -117,10 +117,10 @@ $generalCheck = [
|
|||||||
['personal', array_merge(GameConst::$availablePersonality, GameConst::$optionalPersonality)],
|
['personal', array_merge(GameConst::$availablePersonality, GameConst::$optionalPersonality)],
|
||||||
['special2', array_merge(GameConst::$availableSpecialWar, GameConst::$optionalSpecialWar)],
|
['special2', array_merge(GameConst::$availableSpecialWar, GameConst::$optionalSpecialWar)],
|
||||||
['crewtype', array_keys(GameUnitConst::all())],
|
['crewtype', array_keys(GameUnitConst::all())],
|
||||||
['horse', array_keys(GameConst::$allItems['horse'])],
|
['horse', array_merge(array_keys(GameConst::$allItems['horse']), ['None'])],
|
||||||
['weapon', array_keys(GameConst::$allItems['weapon'])],
|
['weapon', array_merge(array_keys(GameConst::$allItems['weapon']), ['None'])],
|
||||||
['book', array_keys(GameConst::$allItems['book'])],
|
['book', array_merge(array_keys(GameConst::$allItems['book']), ['None'])],
|
||||||
['item', array_keys(GameConst::$allItems['item'])],
|
['item', array_merge(array_keys(GameConst::$allItems['item']), ['None'])],
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -371,6 +371,7 @@ $attackerActivatedSkills = [];
|
|||||||
$defendersActivatedSkills = [];
|
$defendersActivatedSkills = [];
|
||||||
|
|
||||||
foreach(Util::range($repeatCnt) as $repeatIdx){
|
foreach(Util::range($repeatCnt) as $repeatIdx){
|
||||||
|
/** @var WarUnit $attacker */
|
||||||
[$attacker, $city, $battleResult, $conquerCity, $attackerRice, $defenderRice] = simulateBattle(
|
[$attacker, $city, $battleResult, $conquerCity, $attackerRice, $defenderRice] = simulateBattle(
|
||||||
$rawAttacker, $rawAttackerCity, $rawAttackerNation,
|
$rawAttacker, $rawAttackerCity, $rawAttackerNation,
|
||||||
$rawDefenderList, $rawDefenderCity, $rawDefenderNation,
|
$rawDefenderList, $rawDefenderCity, $rawDefenderNation,
|
||||||
|
|||||||
+3
-3
@@ -424,9 +424,6 @@ function processWar_NG(
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$attacker->finishBattle();
|
|
||||||
$defender->finishBattle();
|
|
||||||
|
|
||||||
if($currPhase == $attacker->getMaxPhase()){
|
if($currPhase == $attacker->getMaxPhase()){
|
||||||
//마지막 페이즈의 전투 마무리
|
//마지막 페이즈의 전투 마무리
|
||||||
$attacker->logBattleResult();
|
$attacker->logBattleResult();
|
||||||
@@ -436,6 +433,9 @@ function processWar_NG(
|
|||||||
$defender->tryWound();
|
$defender->tryWound();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$attacker->finishBattle();
|
||||||
|
$defender->finishBattle();
|
||||||
|
|
||||||
if($defender instanceof WarUnitCity){
|
if($defender instanceof WarUnitCity){
|
||||||
$newConflict = $defender->addConflict();
|
$newConflict = $defender->addConflict();
|
||||||
if($newConflict){
|
if($newConflict){
|
||||||
|
|||||||
@@ -6,13 +6,14 @@ use \sammo\SpecialityHelper;
|
|||||||
use \sammo\WarUnit;
|
use \sammo\WarUnit;
|
||||||
use sammo\WarUnitTriggerCaller;
|
use sammo\WarUnitTriggerCaller;
|
||||||
use sammo\BaseWarUnitTrigger;
|
use sammo\BaseWarUnitTrigger;
|
||||||
|
use sammo\WarUnitTrigger\che_부상무효;
|
||||||
use sammo\WarUnitTrigger\WarActivateSkills;
|
use sammo\WarUnitTrigger\WarActivateSkills;
|
||||||
|
|
||||||
class che_견고 extends \sammo\BaseSpecial{
|
class che_견고 extends \sammo\BaseSpecial{
|
||||||
|
|
||||||
protected $id = 62;
|
protected $id = 62;
|
||||||
protected $name = '견고';
|
protected $name = '견고';
|
||||||
protected $info = '[전투] 상대 필살 불가, 상대 계략 시도시 성공 확률 -10%p';
|
protected $info = '[전투] 상대 필살, 격노, 위압, 저격 불가, 상대 계략 시도시 성공 확률 -10%p, 부상 없음, 아군 피해 -5%';
|
||||||
|
|
||||||
static $selectWeightType = SpecialityHelper::WEIGHT_NORM;
|
static $selectWeightType = SpecialityHelper::WEIGHT_NORM;
|
||||||
static $selectWeight = 1;
|
static $selectWeight = 1;
|
||||||
@@ -20,9 +21,19 @@ class che_견고 extends \sammo\BaseSpecial{
|
|||||||
SpecialityHelper::STAT_STRENGTH
|
SpecialityHelper::STAT_STRENGTH
|
||||||
];
|
];
|
||||||
|
|
||||||
|
public function getBattleInitSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{
|
||||||
|
return new WarUnitTriggerCaller(
|
||||||
|
new che_부상무효($unit, BaseWarUnitTrigger::TYPE_NONE)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{
|
public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{
|
||||||
return new WarUnitTriggerCaller(
|
return new WarUnitTriggerCaller(
|
||||||
new WarActivateSkills($unit, BaseWarUnitTrigger::TYPE_NONE, false, '필살불가', '위압불가', '격노불가', '계략약화')
|
new WarActivateSkills($unit, BaseWarUnitTrigger::TYPE_NONE, false, '필살불가', '위압불가', '격노불가', '계략약화')
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getWarPowerMultiplier(WarUnit $unit):array{
|
||||||
|
return [1, 0.95];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -12,7 +12,7 @@ class che_저격 extends \sammo\BaseSpecial{
|
|||||||
|
|
||||||
protected $id = 70;
|
protected $id = 70;
|
||||||
protected $name = '저격';
|
protected $name = '저격';
|
||||||
protected $info = '[전투] 전투 개시 시 1/3 확률로 저격 발동';
|
protected $info = '[전투] 전투 개시 시 1/3 확률로 저격 발동, 성공 시 사기+10';
|
||||||
|
|
||||||
static $selectWeightType = SpecialityHelper::WEIGHT_NORM;
|
static $selectWeightType = SpecialityHelper::WEIGHT_NORM;
|
||||||
static $selectWeight = 1;
|
static $selectWeight = 1;
|
||||||
|
|||||||
@@ -96,7 +96,6 @@ class che_증축 extends Command\NationCommand{
|
|||||||
$lastTurn = $this->getLastTurn();
|
$lastTurn = $this->getLastTurn();
|
||||||
$commandName = $this->getName();
|
$commandName = $this->getName();
|
||||||
if($lastTurn->getCommand() != $commandName || $lastTurn->getArg() !== $this->arg){
|
if($lastTurn->getCommand() != $commandName || $lastTurn->getArg() !== $this->arg){
|
||||||
\sammo\LogText('증축', '여기서 걸려?');
|
|
||||||
$this->setResultTurn(new LastTurn(
|
$this->setResultTurn(new LastTurn(
|
||||||
$commandName,
|
$commandName,
|
||||||
$this->arg,
|
$this->arg,
|
||||||
@@ -108,7 +107,6 @@ class che_증축 extends Command\NationCommand{
|
|||||||
|
|
||||||
if($lastTurn->getSeq() < $this->nation['capset']){
|
if($lastTurn->getSeq() < $this->nation['capset']){
|
||||||
//NOTE: 최근에 천도, 증축이 일어났으면 리셋됨
|
//NOTE: 최근에 천도, 증축이 일어났으면 리셋됨
|
||||||
\sammo\LogText('증축', '으으음?'.$this->nation['capset'].','.$lastTurn->getSeq());
|
|
||||||
$this->setResultTurn(new LastTurn(
|
$this->setResultTurn(new LastTurn(
|
||||||
$commandName,
|
$commandName,
|
||||||
$this->arg,
|
$this->arg,
|
||||||
@@ -119,7 +117,6 @@ class che_증축 extends Command\NationCommand{
|
|||||||
}
|
}
|
||||||
|
|
||||||
if($lastTurn->getTerm() < $this->getPreReqTurn()){
|
if($lastTurn->getTerm() < $this->getPreReqTurn()){
|
||||||
\sammo\LogText('증축', '잘된다는데?');
|
|
||||||
$this->setResultTurn(new LastTurn(
|
$this->setResultTurn(new LastTurn(
|
||||||
$commandName,
|
$commandName,
|
||||||
$this->arg,
|
$this->arg,
|
||||||
|
|||||||
@@ -264,6 +264,8 @@ class WarUnitGeneral extends WarUnit{
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->activateSkill('부상');
|
||||||
|
|
||||||
$general->increaseVarWithLimit('injury', Util::randRangeInt(10, 80), null, 80);
|
$general->increaseVarWithLimit('injury', Util::randRangeInt(10, 80), null, 80);
|
||||||
$this->getLogger()->pushGeneralActionLog("전투중 <R>부상</>당했다!", ActionLogger::PLAIN);
|
$this->getLogger()->pushGeneralActionLog("전투중 <R>부상</>당했다!", ActionLogger::PLAIN);
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ use sammo\GameUnitDetail;
|
|||||||
use sammo\Util;
|
use sammo\Util;
|
||||||
use sammo\ObjectTrigger;
|
use sammo\ObjectTrigger;
|
||||||
use sammo\ActionLogger;
|
use sammo\ActionLogger;
|
||||||
|
use sammo\GameConst;
|
||||||
|
|
||||||
class che_저격발동 extends BaseWarUnitTrigger{
|
class che_저격발동 extends BaseWarUnitTrigger{
|
||||||
protected $priority = ObjectTrigger::PRIORITY_POST + 100;
|
protected $priority = ObjectTrigger::PRIORITY_POST + 100;
|
||||||
@@ -29,6 +30,7 @@ class che_저격발동 extends BaseWarUnitTrigger{
|
|||||||
$self->getLogger()->pushGeneralActionLog("상대에게 <R>저격</>당했다!", ActionLogger::PLAIN);
|
$self->getLogger()->pushGeneralActionLog("상대에게 <R>저격</>당했다!", ActionLogger::PLAIN);
|
||||||
$self->getLogger()->pushGeneralBattleDetailLog("상대에게 <R>저격</>당했다!", ActionLogger::PLAIN);
|
$self->getLogger()->pushGeneralBattleDetailLog("상대에게 <R>저격</>당했다!", ActionLogger::PLAIN);
|
||||||
|
|
||||||
|
$general->increaseVarWithLimit('atmos', 10, GameConst::$maxAtmosByWar);
|
||||||
$general->increaseVarWithLimit('injury', Util::randRangeInt($opposeEnv['woundMin'], $opposeEnv['woundMax']), null, 80);
|
$general->increaseVarWithLimit('injury', Util::randRangeInt($opposeEnv['woundMin'], $opposeEnv['woundMax']), null, 80);
|
||||||
|
|
||||||
$this->processConsumableItem();
|
$this->processConsumableItem();
|
||||||
|
|||||||
Reference in New Issue
Block a user