Trigger, Action 역할 재정의

This commit is contained in:
2018-10-01 02:02:30 +09:00
parent 5f8e4ae10c
commit d2c5c856ab
70 changed files with 372 additions and 262 deletions
+4 -4
View File
@@ -223,7 +223,7 @@ function getNationTypeClass(?string $type){
$type = GameConst::$neutralNationType; $type = GameConst::$neutralNationType;
} }
static $basePath = __NAMESPACE__.'\\TriggerNationType\\'; static $basePath = __NAMESPACE__.'\\ActionNationType\\';
$classPath = ($basePath.$type); $classPath = ($basePath.$type);
if(class_exists($classPath)){ if(class_exists($classPath)){
@@ -243,7 +243,7 @@ function getPersonalityClass(?string $type){
$type = GameConst::$neutralPersonality; $type = GameConst::$neutralPersonality;
} }
static $basePath = __NAMESPACE__.'\\TriggerPersonality\\'; static $basePath = __NAMESPACE__.'\\ActionPersonality\\';
$classPath = ($basePath.$type); $classPath = ($basePath.$type);
if(class_exists($classPath)){ if(class_exists($classPath)){
@@ -263,7 +263,7 @@ function getGeneralSpecialDomesticClass(?string $type){
$type = GameConst::$defaultSpecialDomestic; $type = GameConst::$defaultSpecialDomestic;
} }
static $basePath = __NAMESPACE__.'\\TriggerSpecialDomestic\\'; static $basePath = __NAMESPACE__.'\\ActionSpecialDomestic\\';
$classPath = ($basePath.$type); $classPath = ($basePath.$type);
if(class_exists($classPath)){ if(class_exists($classPath)){
@@ -283,7 +283,7 @@ function getGeneralSpecialWarClass(?string $type){
$type = GameConst::$defaultSpecialWar; $type = GameConst::$defaultSpecialWar;
} }
static $basePath = __NAMESPACE__.'\\TriggerSpecialWar\\'; static $basePath = __NAMESPACE__.'\\ActionSpecialWar\\';
$classPath = ($basePath.$type); $classPath = ($basePath.$type);
if(class_exists($classPath)){ if(class_exists($classPath)){
@@ -1,10 +1,10 @@
<?php <?php
namespace sammo\TriggerNationType; namespace sammo\ActionNationType;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
class che_덕가 implements iActionTrigger{ class che_덕가 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $name = '덕가'; static $name = '덕가';
static $info = ''; static $info = '';
@@ -1,10 +1,10 @@
<?php <?php
namespace sammo\TriggerNationType; namespace sammo\ActionNationType;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
class che_도가 implements iActionTrigger{ class che_도가 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $name = '도가'; static $name = '도가';
static $info = ''; static $info = '';
@@ -1,10 +1,10 @@
<?php <?php
namespace sammo\TriggerNationType; namespace sammo\ActionNationType;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
class che_도적 implements iActionTrigger{ class che_도적 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $name = '도적'; static $name = '도적';
static $info = ''; static $info = '';
@@ -1,10 +1,10 @@
<?php <?php
namespace sammo\TriggerNationType; namespace sammo\ActionNationType;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
class che_명가 implements iActionTrigger{ class che_명가 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $name = '명가'; static $name = '명가';
static $info = ''; static $info = '';
@@ -1,10 +1,10 @@
<?php <?php
namespace sammo\TriggerNationType; namespace sammo\ActionNationType;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
class che_묵가 implements iActionTrigger{ class che_묵가 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $name = '묵가'; static $name = '묵가';
static $info = ''; static $info = '';
@@ -1,10 +1,10 @@
<?php <?php
namespace sammo\TriggerNationType; namespace sammo\ActionNationType;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
class che_법가 implements iActionTrigger{ class che_법가 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $name = '법가'; static $name = '법가';
static $info = ''; static $info = '';
@@ -1,10 +1,10 @@
<?php <?php
namespace sammo\TriggerNationType; namespace sammo\ActionNationType;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
class che_병가 implements iActionTrigger{ class che_병가 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $name = '병가'; static $name = '병가';
static $info = ''; static $info = '';
@@ -1,10 +1,10 @@
<?php <?php
namespace sammo\TriggerNationType; namespace sammo\ActionNationType;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
class che_불가 implements iActionTrigger{ class che_불가 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $name = '불가'; static $name = '불가';
static $info = ''; static $info = '';
@@ -1,10 +1,10 @@
<?php <?php
namespace sammo\TriggerNationType; namespace sammo\ActionNationType;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
class che_오두미도 implements iActionTrigger{ class che_오두미도 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $name = '오두미도'; static $name = '오두미도';
static $info = ''; static $info = '';
@@ -1,10 +1,10 @@
<?php <?php
namespace sammo\TriggerNationType; namespace sammo\ActionNationType;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
class che_유가 implements iActionTrigger{ class che_유가 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $name = '유가'; static $name = '유가';
static $info = ''; static $info = '';
@@ -1,10 +1,10 @@
<?php <?php
namespace sammo\TriggerNationType; namespace sammo\ActionNationType;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
class che_음양가 implements iActionTrigger{ class che_음양가 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $name = '음양가'; static $name = '음양가';
static $info = ''; static $info = '';
@@ -1,10 +1,10 @@
<?php <?php
namespace sammo\TriggerNationType; namespace sammo\ActionNationType;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
class che_종횡가 implements iActionTrigger{ class che_종횡가 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $name = '종횡가'; static $name = '종횡가';
static $info = ''; static $info = '';
+15
View File
@@ -0,0 +1,15 @@
<?php
namespace sammo\ActionNationType;
use \sammo\iAction;
use \sammo\General;
class che_중립 implements iAction{
use \sammo\DefaultAction;
static $name = '-';
static $info = '';
static $pros = '';
static $cons = '';
}
@@ -1,10 +1,10 @@
<?php <?php
namespace sammo\TriggerNationType; namespace sammo\ActionNationType;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
class che_태평도 implements iActionTrigger{ class che_태평도 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $name = '태평도'; static $name = '태평도';
static $info = ''; static $info = '';
+11
View File
@@ -0,0 +1,11 @@
<?php
namespace sammo\ActionPersonality;
use \sammo\iAction;
class None implements iAction{
use \sammo\DefaultAction;
static $id = -1;
static $name = '-';
static $info = '';
}
@@ -1,10 +1,10 @@
<?php <?php
namespace sammo\TriggerPersonality; namespace sammo\ActionPersonality;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
class che_대의 implements iActionTrigger{ class che_대의 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 1; static $id = 1;
static $name = '대의'; static $name = '대의';
@@ -1,10 +1,10 @@
<?php <?php
namespace sammo\TriggerPersonality; namespace sammo\ActionPersonality;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
class che_안전 implements iActionTrigger{ class che_안전 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 9; static $id = 9;
static $name = '안전'; static $name = '안전';
@@ -1,10 +1,10 @@
<?php <?php
namespace sammo\TriggerPersonality; namespace sammo\ActionPersonality;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
class che_대의 implements iActionTrigger{ class che_대의 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 0; static $id = 0;
static $name = '왕좌'; static $name = '왕좌';
@@ -1,10 +1,10 @@
<?php <?php
namespace sammo\TriggerPersonality; namespace sammo\ActionPersonality;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
class che_유지 implements iActionTrigger{ class che_유지 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 8; static $id = 8;
static $name = '안전'; static $name = '안전';
@@ -1,10 +1,10 @@
<?php <?php
namespace sammo\TriggerPersonality; namespace sammo\ActionPersonality;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
class che_은둔 implements iActionTrigger{ class che_은둔 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 10; static $id = 10;
static $name = '은둔'; static $name = '은둔';
@@ -1,10 +1,10 @@
<?php <?php
namespace sammo\TriggerPersonality; namespace sammo\ActionPersonality;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
class che_의협 implements iActionTrigger{ class che_의협 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 2; static $id = 2;
static $name = '의협'; static $name = '의협';
@@ -1,10 +1,10 @@
<?php <?php
namespace sammo\TriggerPersonality; namespace sammo\ActionPersonality;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
class che_재간 implements iActionTrigger{ class che_재간 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 7; static $id = 7;
static $name = '재간'; static $name = '재간';
@@ -1,10 +1,10 @@
<?php <?php
namespace sammo\TriggerPersonality; namespace sammo\ActionPersonality;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
class che_정복 implements iActionTrigger{ class che_정복 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 4; static $id = 4;
static $name = '정복'; static $name = '정복';
@@ -1,10 +1,10 @@
<?php <?php
namespace sammo\TriggerPersonality; namespace sammo\ActionPersonality;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
class che_출세 implements iActionTrigger{ class che_출세 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 6; static $id = 6;
static $name = '출세'; static $name = '출세';
@@ -1,10 +1,10 @@
<?php <?php
namespace sammo\TriggerPersonality; namespace sammo\ActionPersonality;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
class che_패권 implements iActionTrigger{ class che_패권 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 3; static $id = 3;
static $name = '패권'; static $name = '패권';
@@ -1,10 +1,10 @@
<?php <?php
namespace sammo\TriggerPersonality; namespace sammo\ActionPersonality;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
class che_할거 implements iActionTrigger{ class che_할거 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 5; static $id = 5;
static $name = '할거'; static $name = '할거';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialWar; namespace sammo\ActionSpecialDomestic;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class None implements iActionTrigger{ class None implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 0; static $id = 0;
static $name = '-'; static $name = '-';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialDomestic; namespace sammo\ActionSpecialDomestic;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class che_경작 implements iActionTrigger{ class che_경작 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 1; static $id = 1;
static $name = '경작'; static $name = '경작';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialDomestic; namespace sammo\ActionSpecialDomestic;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class che_귀모 implements iActionTrigger{ class che_귀모 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 31; static $id = 31;
static $name = '귀모'; static $name = '귀모';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialDomestic; namespace sammo\ActionSpecialDomestic;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class che_발명 implements iActionTrigger{ class che_발명 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 3; static $id = 3;
static $name = '발명'; static $name = '발명';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialDomestic; namespace sammo\ActionSpecialDomestic;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class che_상재 implements iActionTrigger{ class che_상재 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 2; static $id = 2;
static $name = '상재'; static $name = '상재';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialDomestic; namespace sammo\ActionSpecialDomestic;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class che_수비 implements iActionTrigger{ class che_수비 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 11; static $id = 11;
static $name = '수비'; static $name = '수비';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialDomestic; namespace sammo\ActionSpecialDomestic;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class che_통찰 implements iActionTrigger{ class che_통찰 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 20; static $id = 20;
static $name = '인덕'; static $name = '인덕';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialDomestic; namespace sammo\ActionSpecialDomestic;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class che_축성 implements iActionTrigger{ class che_축성 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 10; static $id = 10;
static $name = '축성'; static $name = '축성';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialDomestic; namespace sammo\ActionSpecialDomestic;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class che_통찰 implements iActionTrigger{ class che_통찰 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 12; static $id = 12;
static $name = '통찰'; static $name = '통찰';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialDomestic; namespace sammo\ActionSpecialWar;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class None implements iActionTrigger{ class None implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 0; static $id = 0;
static $name = '-'; static $name = '-';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialWar; namespace sammo\ActionSpecialWar;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class che_격노 implements iActionTrigger{ class che_격노 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 74; static $id = 74;
static $name = '격노'; static $name = '격노';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialWar; namespace sammo\ActionSpecialWar;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class che_견고 implements iActionTrigger{ class che_견고 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 62; static $id = 62;
static $name = '견고'; static $name = '견고';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialWar; namespace sammo\ActionSpecialWar;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class che_공성 implements iActionTrigger{ class che_공성 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 53; static $id = 53;
static $name = '공성'; static $name = '공성';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialWar; namespace sammo\ActionSpecialWar;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class che_궁병 implements iActionTrigger{ class che_궁병 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 51; static $id = 51;
static $name = '궁병'; static $name = '궁병';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialWar; namespace sammo\ActionSpecialWar;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class che_귀병 implements iActionTrigger{ class che_귀병 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 40; static $id = 40;
static $name = '귀병'; static $name = '귀병';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialWar; namespace sammo\ActionSpecialWar;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class che_기병 implements iActionTrigger{ class che_기병 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 52; static $id = 52;
static $name = '기병'; static $name = '기병';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialWar; namespace sammo\ActionSpecialWar;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class che_돌격 implements iActionTrigger{ class che_돌격 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 60; static $id = 60;
static $name = '돌격'; static $name = '돌격';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialWar; namespace sammo\ActionSpecialWar;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class che_무쌍 implements iActionTrigger{ class che_무쌍 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 61; static $id = 61;
static $name = '무쌍'; static $name = '무쌍';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialWar; namespace sammo\ActionSpecialWar;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class che_신중 implements iActionTrigger{ class che_신중 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 45; static $id = 45;
static $name = '반계'; static $name = '반계';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialWar; namespace sammo\ActionSpecialWar;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class che_보병 implements iActionTrigger{ class che_보병 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 50; static $id = 50;
static $name = '보병'; static $name = '보병';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialWar; namespace sammo\ActionSpecialWar;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class che_신산 implements iActionTrigger{ class che_신산 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 41; static $id = 41;
static $name = '신산'; static $name = '신산';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialWar; namespace sammo\ActionSpecialWar;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class che_신중 implements iActionTrigger{ class che_신중 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 44; static $id = 44;
static $name = '신중'; static $name = '신중';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialWar; namespace sammo\ActionSpecialWar;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class che_위압 implements iActionTrigger{ class che_위압 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 63; static $id = 63;
static $name = '위압'; static $name = '위압';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialWar; namespace sammo\ActionSpecialWar;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class che_의술 implements iActionTrigger{ class che_의술 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 73; static $id = 73;
static $name = '의술'; static $name = '의술';
@@ -19,7 +19,7 @@ class che_의술 implements iActionTrigger{
SpecialityConst::STAT_INTEL SpecialityConst::STAT_INTEL
]; ];
public function onPreTurnExecute(General $general):array{ public function getPreTurnExecuteTriggerList(General $general):array{
return []; return [];
} }
} }
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialWar; namespace sammo\ActionSpecialWar;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class che_저격 implements iActionTrigger{ class che_저격 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 70; static $id = 70;
static $name = '저격'; static $name = '저격';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialWar; namespace sammo\ActionSpecialWar;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class che_집중 implements iActionTrigger{ class che_집중 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 43; static $id = 43;
static $name = '집중'; static $name = '집중';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialWar; namespace sammo\ActionSpecialWar;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class che_징병 implements iActionTrigger{ class che_징병 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 72; static $id = 72;
static $name = '징병'; static $name = '징병';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialWar; namespace sammo\ActionSpecialWar;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class che_척사 implements iActionTrigger{ class che_척사 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 75; static $id = 75;
static $name = '척사'; static $name = '척사';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialWar; namespace sammo\ActionSpecialWar;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class che_필살 implements iActionTrigger{ class che_필살 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 71; static $id = 71;
static $name = '필살'; static $name = '필살';
@@ -1,11 +1,11 @@
<?php <?php
namespace sammo\TriggerSpecialWar; namespace sammo\ActionSpecialWar;
use \sammo\iActionTrigger; use \sammo\iAction;
use \sammo\General; use \sammo\General;
use \sammo\SpecialityConst; use \sammo\SpecialityConst;
class che_환술 implements iActionTrigger{ class che_환술 implements iAction{
use \sammo\DefaultActionTrigger; use \sammo\DefaultAction;
static $id = 42; static $id = 42;
static $name = '환술'; static $name = '환술';
+2 -2
View File
@@ -1,8 +1,8 @@
<?php <?php
namespace sammo; namespace sammo;
trait DefaultActionTrigger{ trait DefaultAction{
public function onPreTurnExecute(General $general):array{ public function getPreTurnExecuteTriggerList(General $general):array{
return []; return [];
} }
public function onCalcDomestic(string $turnType, string $varType, float $value):float{ public function onCalcDomestic(string $turnType, string $varType, float $value):float{
+8 -8
View File
@@ -2,13 +2,13 @@
namespace sammo; namespace sammo;
class General implements iActionTrigger{ class General implements iAction{
use LazyVarUpdater; use LazyVarUpdater;
/** /**
* @var iActionTrigger $nationType * @var iAction $nationType
* @var iActionTrigger $levelObj * @var iAction $levelObj
* @var iActionTrigger $specialDomesticObj * @var iAction $specialDomesticObj
*/ */
protected $raw = []; protected $raw = [];
@@ -123,11 +123,11 @@ class General implements iActionTrigger{
return $this->logger; return $this->logger;
} }
public function getNationTypeObj():iActionTrigger{ public function getNationTypeObj():iAction{
return $this->nationType; return $this->nationType;
} }
public function getGeneralLevelObj():iActionTrigger{ public function getGeneralLevelObj():iAction{
return $this->levelObj; return $this->levelObj;
} }
@@ -276,7 +276,7 @@ class General implements iActionTrigger{
return $result; return $result;
} }
public function onPreTurnExecute(General $general):array{ public function getPreTurnExecuteTriggerList(General $general):array{
$chain = []; $chain = [];
foreach(array_merge([ foreach(array_merge([
$this->nationType, $this->nationType,
@@ -288,7 +288,7 @@ class General implements iActionTrigger{
if(!$iObj){ if(!$iObj){
continue; continue;
} }
$chain[] = $iObj->onPreTurnExecute($general); $chain[] = $iObj->getPreTurnExecuteTriggerList($general);
} }
return array_merge([], ...$chain); return array_merge([], ...$chain);
} }
+10
View File
@@ -0,0 +1,10 @@
<?php
namespace sammo;
class GeneralTriggerCaller extends TriggerCaller{
function checkValidTrigger(iObjectTrigger $trigger):bool{
if($trigger instanceof iGeneralTrigger){
return true;
}
return false;
}
}
+55
View File
@@ -0,0 +1,55 @@
<?php
namespace sammo;
abstract class TriggerCaller{
protected $triggerListByPriority = [];
protected $sorted = false;
abstract function checkValidTrigger(iObjectTrigger $trigger):bool;
function __construct(?array $triggerList=null)
{
if(!$triggerList){
return;
}
$this->merge($triggerList);
}
function merge(array $triggerList){
foreach($triggerList as $trigger){
if(!checkValidTrigger($trigger)){
throw new \InvalidArgumentException('Invalid Trigger Type');
}
/** @var iObjectTrigger $trigger */
$priority = $trigger->getPriority();
$uniqueID = $trigger->getUniqueID();
if(!key_exists($priority, $this->triggerListByPriority)){
$this->triggerListByPriority[$priority] = [];
}
$subTriggerList = &$this->triggerListByPriority[$priority];
if(key_exists($uniqueID, $subTriggerList)){
continue;
}
$subTriggerList[$uniqueID] = $trigger;
}
$this->sorted = false;
}
function fire(?array $env = null, $arg = null):?array{
if(!$this->sorted){
krsort($this->triggerListByPriority);
$this->sorted = true;
}
foreach($this->triggerListByPriority as $subTriggerList){
/** @var iObjectTrigger[] $subTriggerList */
foreach($subTriggerList as $trigger){
$env = $trigger->action($env, $arg);
}
}
return $env;
}
}
+2 -2
View File
@@ -1,8 +1,8 @@
<?php <?php
namespace sammo; namespace sammo;
class TriggerGeneralLevel implements iActionTrigger{ class TriggerGeneralLevel implements iAction{
use DefaultActionTrigger; use DefaultAction;
protected $generalLevel; protected $generalLevel;
@@ -1,15 +0,0 @@
<?php
namespace sammo\TriggerNationType;
use \sammo\iActionTrigger;
use \sammo\General;
class che_중립 implements iActionTrigger{
use \sammo\DefaultActionTrigger;
static $name = '-';
static $info = '';
static $pros = '';
static $cons = '';
}
-11
View File
@@ -1,11 +0,0 @@
<?php
namespace sammo\TriggerPersonality;
use \sammo\iActionTrigger;
class None implements iActionTrigger{
use \sammo\DefaultActionTrigger;
static $id = -1;
static $name = '-';
static $info = '';
}
+1 -1
View File
@@ -32,7 +32,7 @@ class TurnExecutionHelper
public function preprocessCommand(){ public function preprocessCommand(){
$general = $this->getGeneral(); $general = $this->getGeneral();
$general->onPreTurnExecute($general); $general->getPreTurnExecuteTriggerList($general);
if($general->getVar('injury') && !$general->hasActivatedSkill('pre.부상경감')){ if($general->getVar('injury') && !$general->hasActivatedSkill('pre.부상경감')){
$general->increaseVarWithLimit('injury', -10, 0); $general->increaseVarWithLimit('injury', -10, 0);
+10
View File
@@ -0,0 +1,10 @@
<?php
namespace sammo;
class WarUnitTriggerCaller extends TriggerCaller{
function checkValidTrigger(iObjectTrigger $trigger):bool{
if($trigger instanceof iWarUnitTrigger){
return true;
}
return false;
}
}
@@ -1,7 +1,7 @@
<?php <?php
namespace sammo; namespace sammo;
interface iActionTrigger{ interface iAction{
const PRIORITY_BEGIN = 50000; const PRIORITY_BEGIN = 50000;
const PRIORITY_PRE = 40000; const PRIORITY_PRE = 40000;
@@ -10,7 +10,10 @@ interface iActionTrigger{
const PRIORITY_FINAL = 10000; const PRIORITY_FINAL = 10000;
//TODO: 능력치는? //TODO: 능력치는?
public function onPreTurnExecute(General $general):array; /**
* @return iGeneralTrigger[]
*/
public function getPreTurnExecuteTriggerList(General $general):array;
public function onCalcDomestic(string $turnType, string $varType, float $value):float; public function onCalcDomestic(string $turnType, string $varType, float $value):float;
public function onPreGeneralStatUpdate(General $general, string $statName, $value); public function onPreGeneralStatUpdate(General $general, string $statName, $value);
@@ -18,7 +21,16 @@ interface iActionTrigger{
public function onCalcStrategic(string $turnType, string $varType, $value); public function onCalcStrategic(string $turnType, string $varType, $value);
public function onCalcNationalIncome(string $type, int $amount):int; public function onCalcNationalIncome(string $type, int $amount):int;
/**
* @return iWarUnitTrigger[]
*/
public function getWarPowerMultiplier(WarUnit $unit):array; public function getWarPowerMultiplier(WarUnit $unit):array;
/**
* @return iWarUnitTrigger[]
*/
public function getBattleInitSkillTriggerList(WarUnit $unit):array; public function getBattleInitSkillTriggerList(WarUnit $unit):array;
/**
* @return iWarUnitTrigger[]
*/
public function getBattlePhaseSkillTriggerList(WarUnit $unit):array; public function getBattlePhaseSkillTriggerList(WarUnit $unit):array;
} }
+7
View File
@@ -0,0 +1,7 @@
<?php
namespace sammo;
interface iGeneralTrigger extends iObjectTrigger{
public function __construct(General $general);
}
?>
+9
View File
@@ -0,0 +1,9 @@
<?php
namespace sammo;
interface iObjectTrigger{
public function getPriority():int;
public function action(?array $env=null, $arg=null):?array;
public function getUniqueID():string;
}
?>
+7
View File
@@ -0,0 +1,7 @@
<?php
namespace sammo;
interface iWarUnitTrigger extends iObjectTrigger{
public function __construct(WarUnit $general);
}
?>