WarUnitTrigger 개편, 병종 Trigger 개념 추가, 저지, 성벽부상무효

This commit is contained in:
2019-05-13 00:49:44 +09:00
parent b6e667a291
commit 7ce1e64ee8
13 changed files with 364 additions and 139 deletions
+21
View File
@@ -389,6 +389,27 @@ function buildNationCommandClass(?string $type, General $generalObj, array $env,
return new $class($generalObj, $env, $lastTurn, $arg); return new $class($generalObj, $env, $lastTurn, $arg);
} }
function getWarUnitTriggerClass(string $type){
static $basePath = __NAMESPACE__.'\\WarUnitTrigger\\';
$classPath = ($basePath.$type);
if(class_exists($classPath)){
return $classPath;
}
throw new \InvalidArgumentException("{$type}은 WarUnitTrigger가 아님");
}
function buildWarUnitTriggerClass(?string $type, WarUnit $unit, ?array $args = null):BaseWarUnitTrigger{
$classPath = getNationCommandClass($type);
if(!$args){
return new $classPath($unit);
}
$class = new \ReflectionClass($classPath);
return $class->newInstanceArgs(array_merge([$unit], $args));
}
function getLevel($level, $nlevel=8) { function getLevel($level, $nlevel=8) {
if($level >= 0 && $level <= 4) { $nlevel = 0; } if($level >= 0 && $level <= 4) { $nlevel = 0; }
$code = $nlevel * 100 + $level; $code = $nlevel * 100 + $level;
-18
View File
@@ -1,18 +0,0 @@
<?php
namespace sammo;
class GameUnitActionBase implements iAction{
use DefaultAction;
public function getWarPowerMultiplier(WarUnit $unit):array{
return [1, 1];
}
public function getBattleInitSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{
return new WarUnitTriggerCaller([new GameUnitInitTriggerBase($unit)]);
}
public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{
return new WarUnitTriggerCaller([new GameUnitPhaseTriggerBase($unit)]);
}
}
+73 -35
View File
@@ -39,7 +39,8 @@ class GameUnitConstBase{
999999, null, null, 999999, 999999, null, null, 999999,
[],//성벽은 공격할 수 없다. [],//성벽은 공격할 수 없다.
[self::T_FOOTMAN=>1.2], [self::T_FOOTMAN=>1.2],
['성벽입니다.','생성할 수 없습니다.'] ['성벽입니다.','생성할 수 없습니다.'],
null, null
], ],
[ [
@@ -48,7 +49,8 @@ class GameUnitConstBase{
0, null, null, 0, 0, null, null, 0,
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
['표준적인 보병입니다.','보병은 방어특화이며, 상대가 회피하기 어렵습니다.'] ['표준적인 보병입니다.','보병은 방어특화이며, 상대가 회피하기 어렵습니다.'],
null, null
], ],
[ [
1, self::T_FOOTMAN, '청주병', 1, self::T_FOOTMAN, '청주병',
@@ -56,7 +58,8 @@ class GameUnitConstBase{
1000, null, ['중원'], 0, 1000, null, ['중원'], 0,
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
['저렴하고 튼튼합니다.'] ['저렴하고 튼튼합니다.'],
null, null
], ],
[ [
2, self::T_FOOTMAN, '수병', 2, self::T_FOOTMAN, '수병',
@@ -64,7 +67,8 @@ class GameUnitConstBase{
1000, null, ['오월'], 0, 1000, null, ['오월'], 0,
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
['저렴하고 강력합니다.'] ['저렴하고 강력합니다.'],
null, null
], ],
[ [
3, self::T_FOOTMAN, '자객병', 3, self::T_FOOTMAN, '자객병',
@@ -72,7 +76,8 @@ class GameUnitConstBase{
2000, ['저'], null, 0, 2000, ['저'], null, 0,
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
['은밀하고 날쌥니다.'] ['은밀하고 날쌥니다.'],
null, null
], ],
[ [
4, self::T_FOOTMAN, '근위병', 4, self::T_FOOTMAN, '근위병',
@@ -80,7 +85,8 @@ class GameUnitConstBase{
3000, ['낙양'], null, 0, 3000, ['낙양'], null, 0,
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
['최강의 보병입니다.'] ['최강의 보병입니다.'],
null, null
], ],
[ [
5, self::T_FOOTMAN, '등갑병', 5, self::T_FOOTMAN, '등갑병',
@@ -88,7 +94,8 @@ class GameUnitConstBase{
1000, null, ['남중'], 0, 1000, null, ['남중'], 0,
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
['등갑을 두른 보병입니다.'] ['등갑을 두른 보병입니다.'],
null, null
], ],
[ [
@@ -97,7 +104,8 @@ class GameUnitConstBase{
0, null, null, 0, 0, null, null, 0,
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2], [self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8], [self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
['표준적인 궁병입니다.','궁병은 회피특화입니다.'] ['표준적인 궁병입니다.','궁병은 회피특화입니다.'],
null, null
], ],
[ [
11, self::T_ARCHER, '궁기병', 11, self::T_ARCHER, '궁기병',
@@ -105,7 +113,8 @@ class GameUnitConstBase{
1000, null, ['동이'], 0, 1000, null, ['동이'], 0,
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2], [self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8], [self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
['말을 타고 잘 피합니다.'] ['말을 타고 잘 피합니다.'],
null, null
], ],
[ [
12, self::T_ARCHER, '연노병', 12, self::T_ARCHER, '연노병',
@@ -113,7 +122,8 @@ class GameUnitConstBase{
1000, null, ['서촉'], 0, 1000, null, ['서촉'], 0,
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2], [self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8], [self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
['화살을 연사합니다.'] ['화살을 연사합니다.'],
null, null
], ],
[ [
13, self::T_ARCHER, '강궁병', 13, self::T_ARCHER, '강궁병',
@@ -121,7 +131,8 @@ class GameUnitConstBase{
3000, ['양양'], null, 0, 3000, ['양양'], null, 0,
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2], [self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8], [self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
['강건한 궁병입니다.'] ['강건한 궁병입니다.'],
null, null
], ],
[ [
14, self::T_ARCHER, '석궁병', 14, self::T_ARCHER, '석궁병',
@@ -129,7 +140,8 @@ class GameUnitConstBase{
3000, ['건업'], null, 0, 3000, ['건업'], null, 0,
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2], [self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8], [self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
['강력한 화살을 쏩니다.'] ['강력한 화살을 쏩니다.'],
null, null
], ],
[ [
@@ -138,7 +150,8 @@ class GameUnitConstBase{
0, null, null, 0, 0, null, null, 0,
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2], [self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8], [self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
['표준적인 기병입니다.','기병은 공격특화입니다.'] ['표준적인 기병입니다.','기병은 공격특화입니다.'],
null, null
], ],
[ [
21, self::T_CAVALRY, '백마병', 21, self::T_CAVALRY, '백마병',
@@ -146,7 +159,8 @@ class GameUnitConstBase{
1000, null, ['하북'], 0, 1000, null, ['하북'], 0,
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2], [self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8], [self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
['백마의 위용을 보여줍니다.'] ['백마의 위용을 보여줍니다.'],
null, null
], ],
[ [
22, self::T_CAVALRY, '중장기병', 22, self::T_CAVALRY, '중장기병',
@@ -154,7 +168,8 @@ class GameUnitConstBase{
1000, null, ['서북'], 0, 1000, null, ['서북'], 0,
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2], [self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8], [self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
['갑주를 두른 기병입니다.'] ['갑주를 두른 기병입니다.'],
null, null
], ],
[ [
23, self::T_CAVALRY, '돌격기병', 23, self::T_CAVALRY, '돌격기병',
@@ -162,7 +177,8 @@ class GameUnitConstBase{
2000, ['흉노'], null, 0, 2000, ['흉노'], null, 0,
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2], [self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8], [self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
['저돌적으로 공격합니다.'] ['저돌적으로 공격합니다.'],
null, null
], ],
[ [
24, self::T_CAVALRY, '철기병', 24, self::T_CAVALRY, '철기병',
@@ -170,14 +186,17 @@ class GameUnitConstBase{
2000, ['강'], null, 0, 2000, ['강'], null, 0,
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2], [self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8], [self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
['철갑을 두른 기병입니다.']], ['철갑을 두른 기병입니다.'],
null, null
],
[ [
25, self::T_CAVALRY, '수렵기병', 25, self::T_CAVALRY, '수렵기병',
150, 100, 8, 15, 0, 12, 12, 150, 100, 8, 15, 0, 12, 12,
2000, ['산월'], null, 0, 2000, ['산월'], null, 0,
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2], [self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8], [self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
['날쎄고 빠른 기병입니다.'] ['날쎄고 빠른 기병입니다.'],
null, null
], ],
[ [
26, self::T_CAVALRY, '맹수병', 26, self::T_CAVALRY, '맹수병',
@@ -185,7 +204,8 @@ class GameUnitConstBase{
2000, ['남만'], null, 0, 2000, ['남만'], null, 0,
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2], [self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8], [self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
['어느 누구보다 강력합니다.'] ['어느 누구보다 강력합니다.'],
null, null
], ],
[ [
27, self::T_CAVALRY, '호표기병', 27, self::T_CAVALRY, '호표기병',
@@ -193,7 +213,8 @@ class GameUnitConstBase{
3000, ['허창'], null, 0, 3000, ['허창'], null, 0,
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2], [self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8], [self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
['정예 기병입니다.'] ['정예 기병입니다.'],
null, null
], ],
[ [
@@ -202,7 +223,8 @@ class GameUnitConstBase{
0, null, null, 0, 0, null, null, 0,
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
['계략을 사용하는 병종입니다.'] ['계략을 사용하는 병종입니다.'],
null, null
], ],
[ [
31, self::T_WIZARD, '신귀병', 31, self::T_WIZARD, '신귀병',
@@ -210,7 +232,8 @@ class GameUnitConstBase{
1000, null, ['초'], 0, 1000, null, ['초'], 0,
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
['신출귀몰한 귀병입니다.'] ['신출귀몰한 귀병입니다.'],
null, null
], ],
[ [
32, self::T_WIZARD, '백귀병', 32, self::T_WIZARD, '백귀병',
@@ -218,7 +241,8 @@ class GameUnitConstBase{
2000, ['오환'], null, 0, 2000, ['오환'], null, 0,
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
['저렴하고 튼튼합니다.'] ['저렴하고 튼튼합니다.'],
null, null
], ],
[ [
33, self::T_WIZARD, '흑귀병', 33, self::T_WIZARD, '흑귀병',
@@ -226,7 +250,8 @@ class GameUnitConstBase{
2000, ['왜'], null, 0, 2000, ['왜'], null, 0,
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
['저렴하고 강력합니다.'] ['저렴하고 강력합니다.'],
null, null
], ],
[ [
34, self::T_WIZARD, '악귀병', 34, self::T_WIZARD, '악귀병',
@@ -234,7 +259,8 @@ class GameUnitConstBase{
3000, ['장안'], null, 0, 3000, ['장안'], null, 0,
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
['백병전에도 능숙합니다.'] ['백병전에도 능숙합니다.'],
null, null
], ],
[ [
35, self::T_WIZARD, '남귀병', 35, self::T_WIZARD, '남귀병',
@@ -242,7 +268,8 @@ class GameUnitConstBase{
1000, null, null, 0, 1000, null, null, 0,
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
['전투를 포기하고 계략에 몰두합니다.'] ['전투를 포기하고 계략에 몰두합니다.'],
null, null
], ],
[ [
36, self::T_WIZARD, '황귀병', 36, self::T_WIZARD, '황귀병',
@@ -250,7 +277,8 @@ class GameUnitConstBase{
3000, ['낙양'], null, 0, 3000, ['낙양'], null, 0,
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
['고도로 훈련된 귀병입니다.'] ['고도로 훈련된 귀병입니다.'],
null, null
], ],
[ [
37, self::T_WIZARD, '천귀병', 37, self::T_WIZARD, '천귀병',
@@ -258,7 +286,8 @@ class GameUnitConstBase{
3000, ['성도'], null, 0, 3000, ['성도'], null, 0,
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
['갑주를 두른 귀병입니다.'] ['갑주를 두른 귀병입니다.'],
null, null
], ],
[ [
38, self::T_WIZARD, '마귀병', 38, self::T_WIZARD, '마귀병',
@@ -266,7 +295,8 @@ class GameUnitConstBase{
3000, ['업'], null, 0, 3000, ['업'], null, 0,
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
['날카로운 무기를 가진 귀병입니다.'] ['날카로운 무기를 가진 귀병입니다.'],
null, null
], ],
[ [
@@ -275,7 +305,8 @@ class GameUnitConstBase{
0, null, null, 3, 0, null, null, 3,
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>1.8], [self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>1.8],
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2], [self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2],
['높은 구조물 위에서 공격합니다.'] ['높은 구조물 위에서 공격합니다.'],
['che_성벽부상무효'], null
], ],
[ [
41, self::T_SIEGE, '충차', 41, self::T_SIEGE, '충차',
@@ -283,7 +314,8 @@ class GameUnitConstBase{
1000, null, null, 3, 1000, null, null, 3,
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>2.4], [self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>2.4],
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2], [self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2],
['엄청난 위력으로 성벽을 부수어버립니다.'] ['엄청난 위력으로 성벽을 부수어버립니다.'],
['che_성벽부상무효'], null
], ],
[ [
42, self::T_SIEGE, '벽력거', 42, self::T_SIEGE, '벽력거',
@@ -291,7 +323,8 @@ class GameUnitConstBase{
3000, ['업'], null, 0, 3000, ['업'], null, 0,
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>1.8], [self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>1.8],
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2], [self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2],
['상대에게 돌덩이를 날립니다.'] ['상대에게 돌덩이를 날립니다.'],
['che_성벽부상무효'], null
], ],
[ [
43, self::T_SIEGE, '목우', 43, self::T_SIEGE, '목우',
@@ -299,7 +332,8 @@ class GameUnitConstBase{
3000, ['성도'], null, 0, 3000, ['성도'], null, 0,
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8], [self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8],
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2], [self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2],
['상대를 저지하는 특수병기입니다.'] ['상대를 저지하는 특수병기입니다.'],
['che_성벽부상무효'], ['che_저지시도', 'che_저지발동']
] ]
]; ];
@@ -416,7 +450,9 @@ class GameUnitConstBase{
$reqYear, $reqYear,
$attackCoef, $attackCoef,
$defenceCoef, $defenceCoef,
$info $info,
$initSkillTrigger,
$phaseSkillTrigger,
] = $rawUnit; ] = $rawUnit;
if($reqYear > 0){ if($reqYear > 0){
@@ -458,7 +494,9 @@ class GameUnitConstBase{
$reqYear, $reqYear,
$attackCoef, $attackCoef,
$defenceCoef, $defenceCoef,
$info $info,
$initSkillTrigger,
$phaseSkillTrigger
); );
$constID[$id] = $unit; $constID[$id] = $unit;
+51 -2
View File
@@ -1,7 +1,8 @@
<?php <?php
namespace sammo; namespace sammo;
class GameUnitDetail extends GameUnitActionBase{ class GameUnitDetail implements iAction{
use DefaultAction;
public $id; public $id;
public $armType; public $armType;
@@ -20,6 +21,8 @@ class GameUnitDetail extends GameUnitActionBase{
public $attackCoef; public $attackCoef;
public $defenceCoef; public $defenceCoef;
public $info; public $info;
public $initSkillTrigger;
public $phaseSkillTrigger;
public function __construct( public function __construct(
int $id, int $id,
@@ -38,7 +41,9 @@ class GameUnitDetail extends GameUnitActionBase{
int $reqYear, int $reqYear,
array $attackCoef, array $attackCoef,
array $defenceCoef, array $defenceCoef,
array $info array $info,
?array $initSkillTrigger,
?array $phaseSkillTrigger
){ ){
$this->id = $id; $this->id = $id;
$this->name = $name; $this->name = $name;
@@ -57,6 +62,9 @@ class GameUnitDetail extends GameUnitActionBase{
$this->attackCoef = $attackCoef; $this->attackCoef = $attackCoef;
$this->defenceCoef = $defenceCoef; $this->defenceCoef = $defenceCoef;
$this->info = $info; $this->info = $info;
$this->initSkillTrigger = $initSkillTrigger;
$this->phaseSkillTrigger = $phaseSkillTrigger;
} }
public function getShortName():string{ public function getShortName():string{
@@ -199,4 +207,45 @@ class GameUnitDetail extends GameUnitActionBase{
return true; return true;
} }
//iAction
public function getBattleInitSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{
if(!$this->initSkillTrigger){
return null;
}
$triggerList = [];
foreach($this->initSkillTrigger as $triggerArgs){
if(is_string($triggerArgs)){
$typeName = $triggerArgs;
$triggerList[] = buildWarUnitTriggerClass($typeName, $unit);
}
else{
$typeName = $triggerArgs[0];
//WarUnit 다음 인자는 $raiseType이며, 0이어야할 것이다
$triggerArgs[0] = 0;
$triggerList[] = buildWarUnitTriggerClass($typeName, $unit, $triggerArgs);
}
}
return new WarUnitTriggerCaller($triggerList);
}
public function getBattlePhaseSkillTriggerList(WarUnit $unit):?WarUnitTriggerCaller{
if(!$this->phaseSkillTrigger){
return null;
}
$triggerList = [];
foreach($this->phaseSkillTrigger as $triggerArgs){
if(is_string($triggerArgs)){
$typeName = $triggerArgs;
$triggerList[] = buildWarUnitTriggerClass($typeName, $unit);
}
else{
$typeName = $triggerArgs[0];
//WarUnit 다음 인자는 $raiseType이며, 0이어야할 것이다
$triggerArgs[0] = 0;
$triggerList[] = buildWarUnitTriggerClass($typeName, $unit, $triggerArgs);
}
}
return new WarUnitTriggerCaller($triggerList);
}
} }
-10
View File
@@ -1,10 +0,0 @@
<?php
namespace sammo;
class GameUnitInitTriggerBase extends BaseWarUnitTrigger{
static protected $priority = 10000;
protected function actionWar(WarUnit $self, WarUnit $oppose, array &$selfEnv, array &$opposeEnv):void{
//TODO: 충차는 성벽 상대로 부상입지 않음
}
}
-10
View File
@@ -1,10 +0,0 @@
<?php
namespace sammo;
class GameUnitPhaseTriggerBase extends BaseWarUnitTrigger{
static protected $priority = 10000;
protected function actionWar(WarUnit $self, WarUnit $oppose, array &$selfEnv, array &$opposeEnv):void{
//TODO: 목우 목우
}
}
@@ -0,0 +1,23 @@
<?php
namespace sammo\WarUnitTrigger;
use sammo\BaseWarUnitTrigger;
use sammo\WarUnitGeneral;
use sammo\WarUnitCity;
use sammo\WarUnit;
use sammo\GameUnitDetail;
use sammo\ObjectTrigger;
class che_성벽부상무효 extends BaseWarUnitTrigger{
static protected $priority = ObjectTrigger::PRIORITY_BEGIN;
protected function actionWar(WarUnit $self, WarUnit $oppose, array &$selfEnv, array &$opposeEnv):bool{
assert($self instanceof WarUnitGeneral, 'General만 발동 가능');
if(!$oppose instanceof WarUnitCity){
return true;
}
$self->activateSkill('부상무효');
return true;
}
}
@@ -5,6 +5,7 @@ use sammo\WarUnitGeneral;
use sammo\WarUnitCity; use sammo\WarUnitCity;
use sammo\WarUnit; use sammo\WarUnit;
use sammo\GameUnitDetail; use sammo\GameUnitDetail;
use sammo\ObjectTrigger;
class che_저격시도 extends BaseWarUnitTrigger{ class che_저격시도 extends BaseWarUnitTrigger{
static protected $priority = ObjectTrigger::PRIORITY_PRE + 100; static protected $priority = ObjectTrigger::PRIORITY_PRE + 100;
@@ -0,0 +1,35 @@
<?php
namespace sammo\WarUnitTrigger;
use sammo\BaseWarUnitTrigger;
use sammo\WarUnitGeneral;
use sammo\WarUnitCity;
use sammo\WarUnit;
use sammo\GameUnitDetail;
use sammo\Util;
use sammo\ObjectTrigger;
class che_저지발동 extends BaseWarUnitTrigger{
static protected $priority = ObjectTrigger::PRIORITY_POST; //최우선 순위
protected function actionWar(WarUnit $self, WarUnit $oppose, array &$selfEnv, array &$opposeEnv):bool{
if(!$self->hasActivatedSkill('저지')){
return true;
}
if($selfEnv['저지발동']??false){
return true;
}
$selfEnv['저지발동'] = true;
$self->getLogger()->pushGeneralBattleDetailLog("상대를 <C>저지</>했다!", ActionLogger::PLAIN);
$oppose->getLogger()->pushGeneralBattleDetailLog("저지</>당했다!", ActionLogger::PLAIN);
$self->addDex($oppose->getCrewType(), $oppose->getWarPower() * 0.9);
$self->addDex($self->getCrewType(), $self->getWarPower() * 0.9);
$self->setWarPowerMultiply(0);
$oppose->setWarPowerMultiply(0);
return false; //저지는 모든 특수 이벤트를 중지시킨다.
}
}
@@ -0,0 +1,32 @@
<?php
namespace sammo\WarUnitTrigger;
use sammo\BaseWarUnitTrigger;
use sammo\WarUnitGeneral;
use sammo\WarUnitCity;
use sammo\WarUnit;
use sammo\GameUnitDetail;
use sammo\ObjectTrigger;
class che_저지시도 extends BaseWarUnitTrigger{
static protected $priority = ObjectTrigger::PRIORITY_PRE; //최 우선 순위
protected function actionWar(WarUnit $self, WarUnit $oppose, array &$selfEnv, array &$opposeEnv):bool{
assert($self instanceof WarUnitGeneral, 'General만 발동 가능');
if($self->isAttacker()){
return true;
}
if($self->hasActivatedSkill('특수')){
return true;
}
if($self->hasActivatedSkill('저지불가')){
return true;
}
$ratio = $self->getComputedAtmos() + $self->getComputedTrain();
if(Util::randBool($ratio / 400)){
$self->activateSkill('특수', '저지');
}
return true;
}
}
+16 -8
View File
@@ -12,7 +12,8 @@ class GameUnitConst extends GameUnitConstBase
999999, null, null, 999999, 999999, null, null, 999999,
[],//성벽은 공격할 수 없다. [],//성벽은 공격할 수 없다.
[self::T_FOOTMAN=>1.2], [self::T_FOOTMAN=>1.2],
['성벽입니다.','생성할 수 없습니다.'] ['성벽입니다.','생성할 수 없습니다.'],
null, null
], ],
[ [
@@ -21,7 +22,8 @@ class GameUnitConst extends GameUnitConstBase
0, null, null, 0, 0, null, null, 0,
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
['표준적인 보병입니다.','보병은 방어특화이며, 상대가 회피하기 어렵습니다.'] ['표준적인 보병입니다.','보병은 방어특화이며, 상대가 회피하기 어렵습니다.'],
null, null
], ],
[ [
@@ -30,7 +32,8 @@ class GameUnitConst extends GameUnitConstBase
0, null, null, 0, 0, null, null, 0,
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2], [self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8, self::T_SIEGE=>1.2],
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8], [self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2, self::T_SIEGE=>0.8],
['표준적인 궁병입니다.','궁병은 회피특화입니다.'] ['표준적인 궁병입니다.','궁병은 회피특화입니다.'],
null, null
], ],
[ [
@@ -39,7 +42,8 @@ class GameUnitConst extends GameUnitConstBase
0, null, null, 0, 0, null, null, 0,
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2], [self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8], [self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
['표준적인 기병입니다.','기병은 공격특화입니다.'] ['표준적인 기병입니다.','기병은 공격특화입니다.'],
null, null
], ],
[ [
@@ -48,7 +52,8 @@ class GameUnitConst extends GameUnitConstBase
0, null, null, 0, 0, null, null, 0,
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
['계략을 사용하는 병종입니다.'] ['계략을 사용하는 병종입니다.'],
null, null
], ],
[ [
35, self::T_WIZARD, '남귀병', 35, self::T_WIZARD, '남귀병',
@@ -56,7 +61,8 @@ class GameUnitConst extends GameUnitConstBase
1000, null, null, 0, 1000, null, null, 0,
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
['전투를 포기하고 계략에 몰두합니다.'] ['전투를 포기하고 계략에 몰두합니다.'],
null, null
], ],
[ [
@@ -65,7 +71,8 @@ class GameUnitConst extends GameUnitConstBase
0, null, null, 3, 0, null, null, 3,
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>1.8], [self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>1.8],
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2], [self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2],
['높은 구조물 위에서 공격합니다.'] ['높은 구조물 위에서 공격합니다.'],
['che_성벽부상무효'], null
], ],
[ [
41, self::T_SIEGE, '충차', 41, self::T_SIEGE, '충차',
@@ -73,7 +80,8 @@ class GameUnitConst extends GameUnitConstBase
1000, null, null, 3, 1000, null, null, 3,
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>2.4], [self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>2.4],
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2], [self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2],
['엄청난 위력으로 성벽을 부수어버립니다.'] ['엄청난 위력으로 성벽을 부수어버립니다.'],
['che_성벽부상무효'], null
] ]
]; ];
} }
+92 -46
View File
@@ -20,7 +20,8 @@ class GameUnitConst extends GameUnitConstBase
999999, null, null, 999999, 999999, null, null, 999999,
[],//성벽은 공격할 수 없다. [],//성벽은 공격할 수 없다.
[self::T_FOOTMAN=>1.2], [self::T_FOOTMAN=>1.2],
['성벽입니다.','생성할 수 없습니다.'] ['성벽입니다.','생성할 수 없습니다.'],
null, null
], ],
[ [
@@ -29,7 +30,8 @@ class GameUnitConst extends GameUnitConstBase
0, null, null, 0, 0, null, null, 0,
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
["표준적인 보병입니다. 보병은 방어특화입니다."], ["표준적인 보병입니다. 보병은 방어특화입니다."],
null, null
], ],
[ [
217002, self::T_FOOTMAN, '마물병', 217002, self::T_FOOTMAN, '마물병',
@@ -37,7 +39,8 @@ class GameUnitConst extends GameUnitConstBase
0, null, ["호넷 마인령","케이브리스 마인령"], 0, 0, null, ["호넷 마인령","케이브리스 마인령"], 0,
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
["마군 지역 기본병종입니다. 조금더 강하지만 쌀을 많이 소비합니다."], ["마군 지역 기본병종입니다. 조금더 강하지만 쌀을 많이 소비합니다."],
null, null
], ],
[ [
217003, self::T_FOOTMAN, '중장보병', 217003, self::T_FOOTMAN, '중장보병',
@@ -45,7 +48,8 @@ class GameUnitConst extends GameUnitConstBase
1000, null, ["헬만 동부"], 0, 1000, null, ["헬만 동부"], 0,
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
["헬만 특유의 견고한 보병입니다."], ["헬만 특유의 견고한 보병입니다."],
null, null
], ],
[ [
217004, self::T_FOOTMAN, '흑의 군 보병', 217004, self::T_FOOTMAN, '흑의 군 보병',
@@ -53,7 +57,8 @@ class GameUnitConst extends GameUnitConstBase
1000, null, ["리자스 남부","리자스 북부"], 0, 1000, null, ["리자스 남부","리자스 북부"], 0,
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
["흑의 군 전통의 체계적인 훈련으로 공격력을 보완했습니다."], ["흑의 군 전통의 체계적인 훈련으로 공격력을 보완했습니다."],
null, null
], ],
[ [
217005, self::T_FOOTMAN, '용병', 217005, self::T_FOOTMAN, '용병',
@@ -61,7 +66,8 @@ class GameUnitConst extends GameUnitConstBase
1000, null, ["자유도시 동부"], 0, 1000, null, ["자유도시 동부"], 0,
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
["일반 보병보다 비싸지만 받은 만큼은 일해줍니다."], ["일반 보병보다 비싸지만 받은 만큼은 일해줍니다."],
null, null
], ],
[ [
217006, self::T_FOOTMAN, '사메라이', 217006, self::T_FOOTMAN, '사메라이',
@@ -69,7 +75,8 @@ class GameUnitConst extends GameUnitConstBase
1000, null, ["제스 남부"], 0, 1000, null, ["제스 남부"], 0,
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
["검으로 난무를 가하는 몬스터 보병입니다."], ["검으로 난무를 가하는 몬스터 보병입니다."],
null, null
], ],
[ [
217007, self::T_FOOTMAN, '템플나이트병', 217007, self::T_FOOTMAN, '템플나이트병',
@@ -77,7 +84,8 @@ class GameUnitConst extends GameUnitConstBase
1000, null, ["AL교"], 0, 1000, null, ["AL교"], 0,
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
["공격을 포기하고 오직 방어에만 집중합니다."], ["공격을 포기하고 오직 방어에만 집중합니다."],
null
], ],
[ [
217008, self::T_FOOTMAN, '메이드병', 217008, self::T_FOOTMAN, '메이드병',
@@ -85,7 +93,8 @@ class GameUnitConst extends GameUnitConstBase
2000, ["메이드의 묘지"], null, 0, 2000, ["메이드의 묘지"], null, 0,
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
["켓셀링크 휘하의 날렵한 전투메이드입니다."], ["켓셀링크 휘하의 날렵한 전투메이드입니다."],
null, null
], ],
[ [
217009, self::T_FOOTMAN, '요괴병', 217009, self::T_FOOTMAN, '요괴병',
@@ -93,7 +102,8 @@ class GameUnitConst extends GameUnitConstBase
2000, ["오슈"], null, 0, 2000, ["오슈"], null, 0,
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
["단단한 육체를 믿고 적진을 돌파합니다."], ["단단한 육체를 믿고 적진을 돌파합니다."],
null, null
], ],
[ [
217010, self::T_FOOTMAN, '리자스 친위병', 217010, self::T_FOOTMAN, '리자스 친위병',
@@ -101,7 +111,8 @@ class GameUnitConst extends GameUnitConstBase
3000, ["리자스성"], null, 0, 3000, ["리자스성"], null, 0,
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
["여왕을 수호하는 리자스 최강의 보병 정예보병입니다."], ["여왕을 수호하는 리자스 최강의 보병 정예보병입니다."],
null, null
], ],
[ [
217011, self::T_FOOTMAN, '케이브리스 마물병', 217011, self::T_FOOTMAN, '케이브리스 마물병',
@@ -109,7 +120,8 @@ class GameUnitConst extends GameUnitConstBase
3000, ["케이브리스의 성"], null, 0, 3000, ["케이브리스의 성"], null, 0,
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
["케이브리스 직속의 마물 정예 전투보병입니다."], ["케이브리스 직속의 마물 정예 전투보병입니다."],
null, null
], ],
[ [
217012, self::T_FOOTMAN, '투신', 217012, self::T_FOOTMAN, '투신',
@@ -117,7 +129,8 @@ class GameUnitConst extends GameUnitConstBase
5000, ["투신도시"], null, 0, 5000, ["투신도시"], null, 0,
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8],
["성마교단 유적에서 발굴된 사상 최강의 보병입니다."], ["성마교단 유적에서 발굴된 사상 최강의 보병입니다."],
null, null
], ],
[ [
@@ -126,7 +139,8 @@ class GameUnitConst extends GameUnitConstBase
0, null, null, 0, 0, null, null, 0,
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2], [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2],
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8], [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8],
["표준적인 궁병입니다. 궁병은 회피특화입니다."], ["표준적인 궁병입니다. 궁병은 회피특화입니다."],
null, null
], ],
[ [
217102, self::T_ARCHER, '투척마물병', 217102, self::T_ARCHER, '투척마물병',
@@ -134,7 +148,8 @@ class GameUnitConst extends GameUnitConstBase
1000, null, ["호넷 마인령"], 0, 1000, null, ["호넷 마인령"], 0,
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2], [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2],
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8], [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8],
["날렵함을 포기하고 도끼를 투척합니다."], ["날렵함을 포기하고 도끼를 투척합니다."],
null, null
], ],
[ [
217103, self::T_ARCHER, '백의 군 궁병', 217103, self::T_ARCHER, '백의 군 궁병',
@@ -142,7 +157,8 @@ class GameUnitConst extends GameUnitConstBase
1000, null, ["리자스 남부"], 0, 1000, null, ["리자스 남부"], 0,
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2], [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2],
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8], [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8],
["전략을 활용하여 치고 빠지기에 능합니다."], ["전략을 활용하여 치고 빠지기에 능합니다."],
null, null
], ],
[ [
217104, self::T_ARCHER, '벌레술사병', 217104, self::T_ARCHER, '벌레술사병',
@@ -150,7 +166,8 @@ class GameUnitConst extends GameUnitConstBase
2000, ["호박성"], null, 0, 2000, ["호박성"], null, 0,
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2], [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2],
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8], [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8],
["벌레들을 부려 몸을 보호하는 궁병입니다."], ["벌레들을 부려 몸을 보호하는 궁병입니다."],
null, null
], ],
[ [
217105, self::T_ARCHER, '저격암살병', 217105, self::T_ARCHER, '저격암살병',
@@ -158,7 +175,8 @@ class GameUnitConst extends GameUnitConstBase
2000, ["블라디보스토크"], null, 0, 2000, ["블라디보스토크"], null, 0,
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2], [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2],
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8], [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8],
["독을 바른 탄환으로 적의 목숨을 앗아갑니다."], ["독을 바른 탄환으로 적의 목숨을 앗아갑니다."],
null, null
], ],
[ [
217106, self::T_ARCHER, '호루스병', 217106, self::T_ARCHER, '호루스병',
@@ -166,7 +184,8 @@ class GameUnitConst extends GameUnitConstBase
2000, ["거대전함"], null, 0, 2000, ["거대전함"], null, 0,
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2], [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2],
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8], [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8],
["민첩하게 파고드는 호루스족 궁병입니다."], ["민첩하게 파고드는 호루스족 궁병입니다."],
null, null
], ],
[ [
217107, self::T_ARCHER, '튤립병', 217107, self::T_ARCHER, '튤립병',
@@ -174,7 +193,8 @@ class GameUnitConst extends GameUnitConstBase
3000, ["커스텀"], null, 0, 3000, ["커스텀"], null, 0,
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2], [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2],
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8], [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8],
["최첨단병기 튤립으로 적을 폭격합니다."], ["최첨단병기 튤립으로 적을 폭격합니다."],
null, null
], ],
[ [
217108, self::T_ARCHER, '아이스플레임 궁병', 217108, self::T_ARCHER, '아이스플레임 궁병',
@@ -182,7 +202,8 @@ class GameUnitConst extends GameUnitConstBase
3000, ["라그나로크 아크"], null, 0, 3000, ["라그나로크 아크"], null, 0,
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2], [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2],
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8], [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8],
["혁명을 성공으로 이끈 정예 게릴라 궁병입니다."], ["혁명을 성공으로 이끈 정예 게릴라 궁병입니다."],
null, null
], ],
[ [
217109, self::T_ARCHER, '카라 궁병', 217109, self::T_ARCHER, '카라 궁병',
@@ -190,7 +211,8 @@ class GameUnitConst extends GameUnitConstBase
5000, ["펜실 카우"], null, 0, 5000, ["펜실 카우"], null, 0,
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2], [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2],
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8], [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8],
["선조의 힘을 이어받은 최강의 카라 정예 궁병입니다."], ["선조의 힘을 이어받은 최강의 카라 정예 궁병입니다."],
null, null
], ],
[ [
@@ -199,7 +221,8 @@ class GameUnitConst extends GameUnitConstBase
0, null, null, 0, 0, null, null, 0,
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2], [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8], [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
["표준적인 기동병입니다. 기동병은 공격특화입니다."], ["표준적인 기동병입니다. 기동병은 공격특화입니다."],
null, null
], ],
[ [
217202, self::T_CAVALRY, '하치온나', 217202, self::T_CAVALRY, '하치온나',
@@ -207,7 +230,8 @@ class GameUnitConst extends GameUnitConstBase
1000, null, ["자유도시 서부"], 0, 1000, null, ["자유도시 서부"], 0,
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2], [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8], [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
["작은 몸으로 회피하며 따끔한 일격을 먹이는 몬스터 기동병입니다."], ["작은 몸으로 회피하며 따끔한 일격을 먹이는 몬스터 기동병입니다."],
null, null
], ],
[ [
217203, self::T_CAVALRY, '적의 군 기동병', 217203, self::T_CAVALRY, '적의 군 기동병',
@@ -215,7 +239,8 @@ class GameUnitConst extends GameUnitConstBase
1000, null, ["리자스 북부"], 0, 1000, null, ["리자스 북부"], 0,
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2], [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8], [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
["리자스군의 자랑인 기동부대입니다."], ["리자스군의 자랑인 기동부대입니다."],
null, null
], ],
[ [
217204, self::T_CAVALRY, '안드로이드 기동병', 217204, self::T_CAVALRY, '안드로이드 기동병',
@@ -223,7 +248,8 @@ class GameUnitConst extends GameUnitConstBase
2000, ["악의 탑"], null, 0, 2000, ["악의 탑"], null, 0,
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2], [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8], [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
["파이아르가 개발한 최첨단 안드로이드 기동병입니다."], ["파이아르가 개발한 최첨단 안드로이드 기동병입니다."],
null, null
], ],
[ [
217205, self::T_CAVALRY, '파란쵸 기동병', 217205, self::T_CAVALRY, '파란쵸 기동병',
@@ -231,7 +257,8 @@ class GameUnitConst extends GameUnitConstBase
2000, ["파란쵸 왕국"], null, 0, 2000, ["파란쵸 왕국"], null, 0,
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2], [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8], [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
["적진을 일점돌파하는 파란쵸왕국의 돌격 기동병입니다. "], ["적진을 일점돌파하는 파란쵸왕국의 돌격 기동병입니다. "],
null, null
], ],
[ [
217206, self::T_CAVALRY, '비행마물병', 217206, self::T_CAVALRY, '비행마물병',
@@ -239,7 +266,8 @@ class GameUnitConst extends GameUnitConstBase
2000, ["죽음의 대지"], null, 0, 2000, ["죽음의 대지"], null, 0,
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2], [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8], [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
["비행마물에 올라탄 기동마물병입니다."], ["비행마물에 올라탄 기동마물병입니다."],
null, null
], ],
[ [
217207, self::T_CAVALRY, '마물조련사병', 217207, self::T_CAVALRY, '마물조련사병',
@@ -247,7 +275,8 @@ class GameUnitConst extends GameUnitConstBase
3000, ["랑그바우"], null, 0, 3000, ["랑그바우"], null, 0,
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2], [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8], [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
["무시무시한 몬스터에 올라타서 싸우는 극강의 기동병입니다."], ["무시무시한 몬스터에 올라타서 싸우는 극강의 기동병입니다."],
null, null
], ],
[ [
217208, self::T_CAVALRY, '기마병', 217208, self::T_CAVALRY, '기마병',
@@ -255,7 +284,8 @@ class GameUnitConst extends GameUnitConstBase
3000, ["오와리"], null, 0, 3000, ["오와리"], null, 0,
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2], [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8], [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
["JAPAN 특유의 기마에 올라타 적을 짓밟는 기동병입니다."], ["JAPAN 특유의 기마에 올라타 적을 짓밟는 기동병입니다."],
null, null
], ],
[ [
217209, self::T_CAVALRY, '엔젤나이트', 217209, self::T_CAVALRY, '엔젤나이트',
@@ -263,7 +293,8 @@ class GameUnitConst extends GameUnitConstBase
5000, ["떨어진 궁도"], null, 0, 5000, ["떨어진 궁도"], null, 0,
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2], [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2],
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8], [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8],
["신의 명령으로 파멸을 내리기 위해 강림했습니다."], ["신의 명령으로 파멸을 내리기 위해 강림했습니다."],
null, null
], ],
[ [
@@ -272,7 +303,8 @@ class GameUnitConst extends GameUnitConstBase
0, null, null, 0, 0, null, null, 0,
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
["마법을 사용하는 병종입니다."], ["마법을 사용하는 병종입니다."],
null, null
], ],
[ [
217302, self::T_WIZARD, '마물 마법병', 217302, self::T_WIZARD, '마물 마법병',
@@ -280,7 +312,8 @@ class GameUnitConst extends GameUnitConstBase
0, null, ["호넷 마인령","케이브리스 마인령"], 0, 0, null, ["호넷 마인령","케이브리스 마인령"], 0,
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
["마군 지역 기본병종입니다. 조금더 강하지만 금을 많이 소비합니다."], ["마군 지역 기본병종입니다. 조금더 강하지만 금을 많이 소비합니다."],
null, null
], ],
[ [
217303, self::T_WIZARD, '카라 마법병', 217303, self::T_WIZARD, '카라 마법병',
@@ -288,7 +321,8 @@ class GameUnitConst extends GameUnitConstBase
1000, null, ["카라의 숲"], 0, 1000, null, ["카라의 숲"], 0,
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
["신속히 움직이며 카라의 저주로 적을 공격합니다."], ["신속히 움직이며 카라의 저주로 적을 공격합니다."],
null, null
], ],
[ [
217304, self::T_WIZARD, '제스 마법병', 217304, self::T_WIZARD, '제스 마법병',
@@ -296,7 +330,8 @@ class GameUnitConst extends GameUnitConstBase
1000, null, ["제스 북부"], 0, 1000, null, ["제스 북부"], 0,
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
["마법국가 제스의 전통있는 마법병입니다."], ["마법국가 제스의 전통있는 마법병입니다."],
null, null
], ],
[ [
217305, self::T_WIZARD, '무녀', 217305, self::T_WIZARD, '무녀',
@@ -304,7 +339,8 @@ class GameUnitConst extends GameUnitConstBase
1000, null, ["JAPAN"], 0, 1000, null, ["JAPAN"], 0,
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
["신마법과 함께 신통한 춤으로 활력을 불어넣는 마법병입니다."], ["신마법과 함께 신통한 춤으로 활력을 불어넣는 마법병입니다."],
null, null
], ],
[ [
217306, self::T_WIZARD, '프로즌', 217306, self::T_WIZARD, '프로즌',
@@ -312,7 +348,8 @@ class GameUnitConst extends GameUnitConstBase
1000, null, ["헬만 서부"], 0, 1000, null, ["헬만 서부"], 0,
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
["백병전에 불리한 연약한 몸으로 마법 사용에 집중하는 몬스터입니다."], ["백병전에 불리한 연약한 몸으로 마법 사용에 집중하는 몬스터입니다."],
null, null
], ],
[ [
217307, self::T_WIZARD, '마소한 마법병', 217307, self::T_WIZARD, '마소한 마법병',
@@ -320,7 +357,8 @@ class GameUnitConst extends GameUnitConstBase
1000, null, ["케이브리스 마인령"], 0, 1000, null, ["케이브리스 마인령"], 0,
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
["로브를 여러겹 둘러입은 마물마법병입니다. 직접 전투보단 마법에 집중합니다."], ["로브를 여러겹 둘러입은 마물마법병입니다. 직접 전투보단 마법에 집중합니다."],
null, null
], ],
[ [
217308, self::T_WIZARD, '신관병', 217308, self::T_WIZARD, '신관병',
@@ -328,7 +366,8 @@ class GameUnitConst extends GameUnitConstBase
2000, ["카이즈"], null, 0, 2000, ["카이즈"], null, 0,
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
["AL교의 전투신관입니다. 몸을 보호하는 성스러운 마법을 사용합니다."], ["AL교의 전투신관입니다. 몸을 보호하는 성스러운 마법을 사용합니다."],
null, null
], ],
[ [
217309, self::T_WIZARD, '중장마법병', 217309, self::T_WIZARD, '중장마법병',
@@ -336,7 +375,8 @@ class GameUnitConst extends GameUnitConstBase
3000, ["로제스그라드"], null, 0, 3000, ["로제스그라드"], null, 0,
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
["두터운 로브를 입고 불길한 주문을 읊습니다."], ["두터운 로브를 입고 불길한 주문을 읊습니다."],
null, null
], ],
[ [
217310, self::T_WIZARD, '악마병', 217310, self::T_WIZARD, '악마병',
@@ -344,7 +384,8 @@ class GameUnitConst extends GameUnitConstBase
3000, ["올드제스"], null, 0, 3000, ["올드제스"], null, 0,
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
["고대 제스 왕가의 계약에 따라 소환된 흑마법병입니다."], ["고대 제스 왕가의 계약에 따라 소환된 흑마법병입니다."],
null, null
], ],
[ [
217311, self::T_WIZARD, '호넷 마물병', 217311, self::T_WIZARD, '호넷 마물병',
@@ -352,7 +393,8 @@ class GameUnitConst extends GameUnitConstBase
3000, ["구 마왕성"], null, 0, 3000, ["구 마왕성"], null, 0,
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
["호넷 직속의 최강 마물 마법병입니다."], ["호넷 직속의 최강 마물 마법병입니다."],
null, null
], ],
[ [
217312, self::T_WIZARD, 'Z가디언', 217312, self::T_WIZARD, 'Z가디언',
@@ -360,7 +402,8 @@ class GameUnitConst extends GameUnitConstBase
5000, ["라그나로크 아크"], null, 0, 5000, ["라그나로크 아크"], null, 0,
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
["제스의 기술력이 집약된 최고의 마법병기입니다."], ["제스의 기술력이 집약된 최고의 마법병기입니다."],
null, null
], ],
[ [
@@ -369,7 +412,8 @@ class GameUnitConst extends GameUnitConstBase
0, null, null, 3, 0, null, null, 3,
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>1.8], [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>1.8],
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2], [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2],
["높은 구조물 위에서 공격합니다."], ["높은 구조물 위에서 공격합니다."],
['che_성벽부상무효'], null
], ],
[ [
217402, self::T_SIEGE, '충차', 217402, self::T_SIEGE, '충차',
@@ -377,7 +421,8 @@ class GameUnitConst extends GameUnitConstBase
1000, null, null, 3, 1000, null, null, 3,
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>2.4], [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>0.8, self::T_CAVALRY=>0.8, self::T_WIZARD=>0.8, self::T_CASTLE=>2.4],
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2], [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2],
["엄청난 위력으로 성벽을 부수어버립니다."], ["엄청난 위력으로 성벽을 부수어버립니다."],
['che_성벽부상무효'], null
], ],
[ [
217403, self::T_SIEGE, '튤립3호', 217403, self::T_SIEGE, '튤립3호',
@@ -385,7 +430,8 @@ class GameUnitConst extends GameUnitConstBase
5000, ["커스텀"], null, 0, 5000, ["커스텀"], null, 0,
[ ], [ ],
[ ], [ ],
["파괴적인 위력과 정말 파괴적인 비용을 자랑하는 전차입니다. "], ["파괴적인 위력과 정말 파괴적인 비용을 자랑하는 전차입니다. "],
['che_성벽부상무효'], null
], ],
+20 -10
View File
@@ -12,7 +12,8 @@ class GameUnitConst extends GameUnitConstBase
999999, null, null, 999999, 999999, null, null, 999999,
[],//성벽은 공격할 수 없다. [],//성벽은 공격할 수 없다.
[self::T_FOOTMAN=>1.2], [self::T_FOOTMAN=>1.2],
['성벽입니다.','생성할 수 없습니다.'] ['성벽입니다.','생성할 수 없습니다.'],
null, null
], ],
[ [
0, self::T_FOOTMAN, '보병', 0, self::T_FOOTMAN, '보병',
@@ -20,7 +21,8 @@ class GameUnitConst extends GameUnitConstBase
0, null, null, 0, 0, null, null, 0,
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2],
['표준적인 보병입니다.','보병은 방어특화이며, 상대가 회피하기 어렵습니다.'] ['표준적인 보병입니다.','보병은 방어특화이며, 상대가 회피하기 어렵습니다.'],
null, null
], ],
[ [
@@ -29,7 +31,8 @@ class GameUnitConst extends GameUnitConstBase
0, null, null, 0, 0, null, null, 0,
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8], [self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.8],
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2], [self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.2],
['표준적인 궁병입니다.','궁병은 회피특화입니다.'] ['표준적인 궁병입니다.','궁병은 회피특화입니다.'],
null, null
], ],
[ [
@@ -38,7 +41,8 @@ class GameUnitConst extends GameUnitConstBase
0, null, null, 0, 0, null, null, 0,
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8], [self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8],
[self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2], [self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2],
['표준적인 기병입니다.','기병은 공격특화입니다.'] ['표준적인 기병입니다.','기병은 공격특화입니다.'],
null, null
], ],
[ [
@@ -47,7 +51,8 @@ class GameUnitConst extends GameUnitConstBase
0, null, null, 0, 0, null, null, 0,
[], [],
[], [],
['계략을 사용하는 병종입니다.'] ['계략을 사용하는 병종입니다.'],
null, null
], ],
[ [
35, self::T_WIZARD, '남귀병', 35, self::T_WIZARD, '남귀병',
@@ -55,7 +60,8 @@ class GameUnitConst extends GameUnitConstBase
1000, null, null, 0, 1000, null, null, 0,
[], [],
[], [],
['전투를 포기하고 계략에 몰두합니다.'] ['전투를 포기하고 계략에 몰두합니다.'],
null, null
], ],
[ [
@@ -64,7 +70,8 @@ class GameUnitConst extends GameUnitConstBase
0, null, null, 0, 0, null, null, 0,
[self::T_CASTLE=>1.8], [self::T_CASTLE=>1.8],
[], [],
['높은 구조물 위에서 공격합니다.'] ['높은 구조물 위에서 공격합니다.'],
['che_성벽부상무효'], null
], ],
[ [
41, self::T_SIEGE, '충차', 41, self::T_SIEGE, '충차',
@@ -72,7 +79,8 @@ class GameUnitConst extends GameUnitConstBase
1000, null, null, 3, 1000, null, null, 3,
[self::T_CASTLE=>2.4], [self::T_CASTLE=>2.4],
[], [],
['엄청난 위력으로 성벽을 부수어버립니다.'] ['엄청난 위력으로 성벽을 부수어버립니다.'],
['che_성벽부상무효'], null
], ],
[ [
42, self::T_SIEGE, '벽력거', 42, self::T_SIEGE, '벽력거',
@@ -80,7 +88,8 @@ class GameUnitConst extends GameUnitConstBase
3000, ['업'], null, 0, 3000, ['업'], null, 0,
[self::T_CASTLE=>1.8], [self::T_CASTLE=>1.8],
[], [],
['상대에게 돌덩이를 날립니다.'] ['상대에게 돌덩이를 날립니다.'],
['che_성벽부상무효'], null
], ],
[ [
43, self::T_SIEGE, '목우', 43, self::T_SIEGE, '목우',
@@ -88,7 +97,8 @@ class GameUnitConst extends GameUnitConstBase
3000, ['성도'], null, 0, 3000, ['성도'], null, 0,
[], [],
[], [],
['상대를 저지하는 특수병기입니다.'] ['상대를 저지하는 특수병기입니다.'],
['che_성벽부상무효'], null
] ]
]; ];
} }