병종 데이터 수정

This commit is contained in:
2025-01-21 16:42:19 +00:00
parent f26ac8c37b
commit 9f81c760d0
6 changed files with 1121 additions and 1091 deletions
-1
View File
@@ -1,7 +1,6 @@
<?php <?php
namespace sammo; namespace sammo;
use sammo\GameUnitConstraint\BaseGameUnitConstraint;
use sammo\GameUnitConstraint\Impossible; use sammo\GameUnitConstraint\Impossible;
use sammo\GameUnitConstraint\ReqTech; use sammo\GameUnitConstraint\ReqTech;
use sammo\GameUnitConstraint\ReqCities; use sammo\GameUnitConstraint\ReqCities;
+14 -9
View File
@@ -1,15 +1,19 @@
<?php <?php
namespace sammo; namespace sammo;
use sammo\GameUnitConstraint\ReqMinRelYear;
use sammo\GameUnitConstraint\ReqTech;
class GameUnitConst extends GameUnitConstBase class GameUnitConst extends GameUnitConstBase
{ {
const DEFAULT_CREWTYPE = 1100; const DEFAULT_CREWTYPE = 1100;
protected static $_buildData = [ protected static function getBuildData(): array {
return [
[ [
1000, self::T_CASTLE, '성벽', 1000, self::T_CASTLE, '성벽',
100, 100, 7, 0, 0, 99, 9, 100, 100, 7, 0, 0, 99, 9,
999999, null, null, 999999, [],
[], // 성벽은 공격할 수 없다. [], // 성벽은 공격할 수 없다.
[self::T_FOOTMAN=>1.2], [self::T_FOOTMAN=>1.2],
['성벽입니다.','생성할 수 없습니다.'], ['성벽입니다.','생성할 수 없습니다.'],
@@ -19,7 +23,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1100, self::T_FOOTMAN, '보병', 1100, self::T_FOOTMAN, '보병',
100, 150, 7, 10, 0, 9, 9, 100, 150, 7, 10, 0, 9, 9,
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],
['표준적인 보병입니다.','보병은 방어특화이며,','상대가 회피하기 어렵습니다.'], ['표준적인 보병입니다.','보병은 방어특화이며,','상대가 회피하기 어렵습니다.'],
@@ -29,7 +33,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1200, self::T_ARCHER, '궁병', 1200, self::T_ARCHER, '궁병',
100, 100, 7, 20, 0, 10, 10, 100, 100, 7, 20, 0, 10, 10,
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],
['표준적인 궁병입니다.','궁병은 회피특화입니다.'], ['표준적인 궁병입니다.','궁병은 회피특화입니다.'],
@@ -39,7 +43,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1300, self::T_CAVALRY, '기병', 1300, self::T_CAVALRY, '기병',
150, 100, 7, 5, 0, 11, 11, 150, 100, 7, 5, 0, 11, 11,
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],
['표준적인 기병입니다.','기병은 공격특화입니다.'], ['표준적인 기병입니다.','기병은 공격특화입니다.'],
@@ -49,7 +53,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1400, self::T_WIZARD, '귀병', 1400, self::T_WIZARD, '귀병',
80, 80, 7, 5, 0.5, 9, 9, 80, 80, 7, 5, 0.5, 9, 9,
0, null, null, 0, [],
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
['계략을 사용하는 병종입니다.'], ['계략을 사용하는 병종입니다.'],
@@ -58,7 +62,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1405, self::T_WIZARD, '남귀병', 1405, self::T_WIZARD, '남귀병',
60, 60, 7, 10, 0.8, 8, 8, 60, 60, 7, 10, 0.8, 8, 8,
1000, null, null, 0, [],
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
['전투를 포기하고 계략에 몰두합니다.'], ['전투를 포기하고 계략에 몰두합니다.'],
@@ -68,7 +72,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1500, self::T_SIEGE, '정란', 1500, self::T_SIEGE, '정란',
100, 100, 6, 0, 0, 15, 5, 100, 100, 6, 0, 0, 15, 5,
0, null, null, 3, [new ReqMinRelYear(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],
['높은 구조물 위에서 공격합니다.'], ['높은 구조물 위에서 공격합니다.'],
@@ -77,7 +81,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1501, self::T_SIEGE, '충차', 1501, self::T_SIEGE, '충차',
150, 100, 6, 0, 0, 20, 5, 150, 100, 6, 0, 0, 20, 5,
1000, null, null, 3, [new ReqTech(1000), new ReqMinRelYear(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],
['엄청난 위력으로 성벽을 부수어버립니다.'], ['엄청난 위력으로 성벽을 부수어버립니다.'],
@@ -85,3 +89,4 @@ class GameUnitConst extends GameUnitConstBase
] ]
]; ];
} }
}
+42 -34
View File
@@ -1,13 +1,20 @@
<?php <?php
namespace sammo; namespace sammo;
use sammo\GameUnitConstraint\Impossible;
use sammo\GameUnitConstraint\ReqCities;
use sammo\GameUnitConstraint\ReqMinRelYear;
use sammo\GameUnitConstraint\ReqRegions;
use sammo\GameUnitConstraint\ReqTech;
class GameUnitConst extends GameUnitConstBase class GameUnitConst extends GameUnitConstBase
{ {
protected static $_buildData = [ protected static function getBuildData(): array {
return [
[ [
1000, self::T_CASTLE, '성벽', 1000, self::T_CASTLE, '성벽',
100, 100, 7, 0, 0, 99, 9, 100, 100, 7, 0, 0, 99, 9,
999999, null, null, 999999, [new Impossible()],
[], // 성벽은 공격할 수 없다. [], // 성벽은 공격할 수 없다.
[self::T_FOOTMAN=>1.2], [self::T_FOOTMAN=>1.2],
['성벽입니다.','생성할 수 없습니다.'], ['성벽입니다.','생성할 수 없습니다.'],
@@ -17,7 +24,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1100, self::T_FOOTMAN, '보병', 1100, self::T_FOOTMAN, '보병',
100, 150, 7, 10, 0, 9, 9, 100, 150, 7, 10, 0, 9, 9,
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],
['표준적인 보병입니다.','보병은 방어특화이며,','상대가 회피하기 어렵습니다.'], ['표준적인 보병입니다.','보병은 방어특화이며,','상대가 회피하기 어렵습니다.'],
@@ -26,7 +33,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1101, self::T_FOOTMAN, '청주병', 1101, self::T_FOOTMAN, '청주병',
100, 200, 7, 10, 0, 10, 11, 100, 200, 7, 10, 0, 10, 11,
1000, null, ['중원'], 0, [new ReqTech(1000), new ReqRegions('중원')],
[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],
['저렴하고 튼튼합니다.'], ['저렴하고 튼튼합니다.'],
@@ -35,7 +42,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1102, self::T_FOOTMAN, '수병', 1102, self::T_FOOTMAN, '수병',
150, 150, 7, 10, 0, 11, 10, 150, 150, 7, 10, 0, 11, 10,
1000, null, ['오월'], 0, [new ReqTech(1000), new ReqRegions('오월')],
[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],
['저렴하고 강력합니다.'], ['저렴하고 강력합니다.'],
@@ -44,7 +51,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1103, self::T_FOOTMAN, '자객병', 1103, self::T_FOOTMAN, '자객병',
100, 150, 8, 20, 0, 10, 10, 100, 150, 8, 20, 0, 10, 10,
2000, ['저'], null, 0, [new ReqTech(2000), new ReqCities('저')],
[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],
['은밀하고 날쌥니다.'], ['은밀하고 날쌥니다.'],
@@ -53,7 +60,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1104, self::T_FOOTMAN, '근위병', 1104, self::T_FOOTMAN, '근위병',
150, 200, 7, 10, 0, 12, 12, 150, 200, 7, 10, 0, 12, 12,
3000, ['낙양'], null, 0, [new ReqTech(3000), new ReqCities('낙양')],
[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],
['최강의 보병입니다.'], ['최강의 보병입니다.'],
@@ -62,7 +69,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1105, self::T_FOOTMAN, '등갑병', 1105, self::T_FOOTMAN, '등갑병',
100, 225, 7, 5, 0, 13, 10, 100, 225, 7, 5, 0, 13, 10,
1000, null, ['남중'], 0, [new ReqTech(1000), new ReqRegions('남중')],
[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],
['등갑을 두른 보병입니다.'], ['등갑을 두른 보병입니다.'],
@@ -71,7 +78,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1106, self::T_FOOTMAN, '백이병', 1106, self::T_FOOTMAN, '백이병',
175, 175, 7, 5, 0, 13, 11, 175, 175, 7, 5, 0, 13, 11,
3000, ['성도'], null, 0, [new ReqTech(3000), new ReqCities('성도')],
[self::T_ARCHER=>1.1, self::T_CAVALRY=>0.9, self::T_SIEGE=>1.1], [self::T_ARCHER=>1.1, self::T_CAVALRY=>0.9, self::T_SIEGE=>1.1],
[self::T_ARCHER=>0.9, self::T_CAVALRY=>1.1, self::T_SIEGE=>0.9], [self::T_ARCHER=>0.9, self::T_CAVALRY=>1.1, self::T_SIEGE=>0.9],
['정예 보병입니다. 불리한 싸움도 버텨냅니다.'], ['정예 보병입니다. 불리한 싸움도 버텨냅니다.'],
@@ -81,7 +88,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1200, self::T_ARCHER, '궁병', 1200, self::T_ARCHER, '궁병',
100, 100, 7, 10, 0, 10, 10, 100, 100, 7, 10, 0, 10, 10,
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],
['표준적인 궁병입니다.','궁병은 선제사격을 하는 병종입니다.'], ['표준적인 궁병입니다.','궁병은 선제사격을 하는 병종입니다.'],
@@ -90,7 +97,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1201, self::T_ARCHER, '궁기병', 1201, self::T_ARCHER, '궁기병',
100, 100, 8, 20, 0, 11, 12, 100, 100, 8, 20, 0, 11, 12,
1000, null, ['동이'], 0, [new ReqTech(1000), new ReqRegions('동이')],
[self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.9, self::T_SIEGE=>1.2], [self::T_CAVALRY=>1.2, self::T_FOOTMAN=>0.9, self::T_SIEGE=>1.2],
[self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.1, self::T_SIEGE=>0.8], [self::T_CAVALRY=>0.8, self::T_FOOTMAN=>1.1, self::T_SIEGE=>0.8],
['말을 타고 잘 피합니다. 특히 다른 궁병보다 보병에게 조금 더 강합니다.'], ['말을 타고 잘 피합니다. 특히 다른 궁병보다 보병에게 조금 더 강합니다.'],
@@ -99,7 +106,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1202, self::T_ARCHER, '연노병', 1202, self::T_ARCHER, '연노병',
150, 100, 8, 10, 0, 12, 11, 150, 100, 8, 10, 0, 12, 11,
1000, null, ['서촉'], 0, [new ReqTech(1000), new ReqRegions('서촉')],
[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],
['화살을 연사합니다.'], ['화살을 연사합니다.'],
@@ -108,7 +115,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1203, self::T_ARCHER, '강궁병', 1203, self::T_ARCHER, '강궁병',
150, 150, 7, 10, 0, 13, 13, 150, 150, 7, 10, 0, 13, 13,
3000, ['양양'], null, 0, [new ReqTech(3000), new ReqCities('양양')],
[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],
['강건한 궁병입니다.'], ['강건한 궁병입니다.'],
@@ -117,7 +124,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1204, self::T_ARCHER, '석궁병', 1204, self::T_ARCHER, '석궁병',
200, 100, 7, 10, 0, 13, 13, 200, 100, 7, 10, 0, 13, 13,
3000, ['건업'], null, 0, [new ReqTech(3000), new ReqCities('건업')],
[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],
['강력한 화살을 쏩니다.'], ['강력한 화살을 쏩니다.'],
@@ -127,7 +134,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1300, self::T_CAVALRY, '기병', 1300, self::T_CAVALRY, '기병',
150, 100, 7, 5, 0, 11, 11, 150, 100, 7, 5, 0, 11, 11,
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],
['표준적인 기병입니다.','기병은 공격특화입니다.'], ['표준적인 기병입니다.','기병은 공격특화입니다.'],
@@ -136,7 +143,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1301, self::T_CAVALRY, '백마병', 1301, self::T_CAVALRY, '백마병',
200, 100, 7, 5, 0, 12, 13, 200, 100, 7, 5, 0, 12, 13,
1000, null, ['하북'], 0, [new ReqTech(1000), new ReqRegions('하북')],
[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],
['백마의 위용을 보여줍니다.'], ['백마의 위용을 보여줍니다.'],
@@ -145,7 +152,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1302, self::T_CAVALRY, '중장기병', 1302, self::T_CAVALRY, '중장기병',
150, 150, 7, 5, 0, 13, 12, 150, 150, 7, 5, 0, 13, 12,
1000, null, ['서북'], 0, [new ReqTech(1000), new ReqRegions('서북')],
[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],
['갑주를 두른 기병입니다.'], ['갑주를 두른 기병입니다.'],
@@ -154,7 +161,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1303, self::T_CAVALRY, '돌격기병', 1303, self::T_CAVALRY, '돌격기병',
200, 100, 8, 5, 0, 13, 11, 200, 100, 8, 5, 0, 13, 11,
2000, ['흉노'], null, 0, [new ReqTech(2000), new ReqCities('흉노')],
[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],
['저돌적으로 공격합니다.'], ['저돌적으로 공격합니다.'],
@@ -163,7 +170,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1304, self::T_CAVALRY, '철기병', 1304, self::T_CAVALRY, '철기병',
100, 200, 7, 5, 0, 11, 13, 100, 200, 7, 5, 0, 11, 13,
2000, ['강'], null, 0, [new ReqTech(2000), new ReqCities('강')],
[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],
['철갑을 두른 기병입니다.'], ['철갑을 두른 기병입니다.'],
@@ -172,7 +179,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1305, self::T_CAVALRY, '수렵기병', 1305, self::T_CAVALRY, '수렵기병',
150, 100, 8, 15, 0, 12, 12, 150, 100, 8, 15, 0, 12, 12,
2000, ['산월'], null, 0, [new ReqTech(2000), new ReqCities('산월')],
[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],
['날쎄고 빠른 기병입니다.'], ['날쎄고 빠른 기병입니다.'],
@@ -181,7 +188,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1306, self::T_CAVALRY, '맹수병', 1306, self::T_CAVALRY, '맹수병',
250, 175, 6, 0, 0, 16, 16, 250, 175, 6, 0, 0, 16, 16,
2000, ['남만'], null, 0, [new ReqTech(2000), new ReqCities('남만')],
[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],
['어느 누구보다 강력합니다.'], ['어느 누구보다 강력합니다.'],
@@ -190,7 +197,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1307, self::T_CAVALRY, '호표기병', 1307, self::T_CAVALRY, '호표기병',
200, 150, 7, 5, 0, 14, 14, 200, 150, 7, 5, 0, 14, 14,
3000, ['허창'], null, 0, [new ReqTech(3000), new ReqCities('허창')],
[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],
['정예 기병입니다.'], ['정예 기병입니다.'],
@@ -200,7 +207,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1400, self::T_WIZARD, '귀병', 1400, self::T_WIZARD, '귀병',
80, 80, 7, 5, 0.5, 9, 9, 80, 80, 7, 5, 0.5, 9, 9,
0, null, null, 0, [],
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
['계략을 사용하는 병종입니다.'], ['계략을 사용하는 병종입니다.'],
@@ -209,7 +216,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1401, self::T_WIZARD, '신귀병', 1401, self::T_WIZARD, '신귀병',
80, 80, 7, 20, 0.6, 10, 10, 80, 80, 7, 20, 0.6, 10, 10,
1000, null, ['초'], 0, [new ReqTech(1000), new ReqRegions('초')],
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
['신출귀몰한 귀병입니다.'], ['신출귀몰한 귀병입니다.'],
@@ -218,7 +225,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1402, self::T_WIZARD, '백귀병', 1402, self::T_WIZARD, '백귀병',
80, 130, 7, 5, 0.6, 9, 11, 80, 130, 7, 5, 0.6, 9, 11,
2000, ['오환'], null, 0, [new ReqTech(2000), new ReqCities('오환')],
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
['저렴하고 튼튼합니다.'], ['저렴하고 튼튼합니다.'],
@@ -227,7 +234,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1403, self::T_WIZARD, '흑귀병', 1403, self::T_WIZARD, '흑귀병',
130, 80, 7, 5, 0.6, 11, 9, 130, 80, 7, 5, 0.6, 11, 9,
2000, ['왜'], null, 0, [new ReqTech(2000), new ReqCities('왜')],
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
['저렴하고 강력합니다.'], ['저렴하고 강력합니다.'],
@@ -236,7 +243,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1404, self::T_WIZARD, '악귀병', 1404, self::T_WIZARD, '악귀병',
130, 130, 7, 0, 0.6, 12, 12, 130, 130, 7, 0, 0.6, 12, 12,
3000, ['장안'], null, 0, [new ReqTech(3000), new ReqCities('장안')],
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
['백병전에도 능숙합니다.'], ['백병전에도 능숙합니다.'],
@@ -245,7 +252,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1405, self::T_WIZARD, '남귀병', 1405, self::T_WIZARD, '남귀병',
60, 60, 7, 10, 0.8, 8, 8, 60, 60, 7, 10, 0.8, 8, 8,
1000, null, null, 0, [new ReqTech(1000)],
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
['전투를 포기하고 계략에 몰두합니다.'], ['전투를 포기하고 계략에 몰두합니다.'],
@@ -254,7 +261,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1406, self::T_WIZARD, '황귀병', 1406, self::T_WIZARD, '황귀병',
110, 110, 7, 0, 0.8, 13, 10, 110, 110, 7, 0, 0.8, 13, 10,
3000, ['낙양'], null, 0, [new ReqTech(3000), new ReqCities('낙양')],
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
['고도로 훈련된 귀병입니다.'], ['고도로 훈련된 귀병입니다.'],
@@ -263,7 +270,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1407, self::T_WIZARD, '천귀병', 1407, self::T_WIZARD, '천귀병',
80, 130, 7, 15, 0.6, 11, 12, 80, 130, 7, 15, 0.6, 11, 12,
3000, ['성도'], null, 0, [new ReqTech(3000), new ReqCities('성도')],
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
['갑주를 두른 귀병입니다.'], ['갑주를 두른 귀병입니다.'],
@@ -272,7 +279,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1408, self::T_WIZARD, '마귀병', 1408, self::T_WIZARD, '마귀병',
130, 80, 7, 15, 0.6, 12, 11, 130, 80, 7, 15, 0.6, 12, 11,
3000, ['업'], null, 0, [new ReqTech(3000), new ReqCities('업')],
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
['날카로운 무기를 가진 귀병입니다.'], ['날카로운 무기를 가진 귀병입니다.'],
@@ -282,7 +289,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1500, self::T_SIEGE, '정란', 1500, self::T_SIEGE, '정란',
100, 100, 6, 0, 0, 14, 5, 100, 100, 6, 0, 0, 14, 5,
0, null, null, 3, [new ReqMinRelYear(3)],
[self::T_FOOTMAN=>1.25, self::T_ARCHER=>1.25, self::T_CAVALRY=>1.25, self::T_WIZARD=>1.25, self::T_CASTLE=>1.2, 1106=>1.112], [self::T_FOOTMAN=>1.25, self::T_ARCHER=>1.25, self::T_CAVALRY=>1.25, self::T_WIZARD=>1.25, self::T_CASTLE=>1.2, 1106=>1.112],
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2, 1106=>1.067], [self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2, 1106=>1.067],
['높은 구조물 위에서 공격합니다. 첫 공격은 성벽을 향합니다.'], ['높은 구조물 위에서 공격합니다. 첫 공격은 성벽을 향합니다.'],
@@ -291,7 +298,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1502, self::T_SIEGE, '벽력거', 1502, self::T_SIEGE, '벽력거',
150, 100, 6, 5, 0, 20, 5, 150, 100, 6, 5, 0, 20, 5,
3000, ['업'], null, 0, [new ReqTech(3000), new ReqCities('업')],
[self::T_FOOTMAN=>1.25, self::T_ARCHER=>1.25, self::T_CAVALRY=>1.25, self::T_WIZARD=>1.25, self::T_CASTLE=>1.2, 1106=>1.112], [self::T_FOOTMAN=>1.25, self::T_ARCHER=>1.25, self::T_CAVALRY=>1.25, self::T_WIZARD=>1.25, self::T_CASTLE=>1.2, 1106=>1.112],
[self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2, 1106=>1.067], [self::T_FOOTMAN=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2, 1106=>1.067],
['상대에게 돌덩이를 날립니다. 첫 공격은 성벽을 향합니다.'], ['상대에게 돌덩이를 날립니다. 첫 공격은 성벽을 향합니다.'],
@@ -300,7 +307,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1503, self::T_SIEGE, '목우', 1503, self::T_SIEGE, '목우',
50, 200, 5, 0, 0, 15, 5, 50, 200, 5, 0, 0, 15, 5,
3000, ['성도'], null, 0, [new ReqTech(3000), new ReqCities('성도')],
[self::T_FOOTMAN=>1, self::T_ARCHER=>1, self::T_CAVALRY=>1, self::T_WIZARD=>1, self::T_CASTLE=>1.2], [self::T_FOOTMAN=>1, self::T_ARCHER=>1, self::T_CAVALRY=>1, self::T_WIZARD=>1, self::T_CASTLE=>1.2],
[self::T_FOOTMAN=>1, self::T_ARCHER=>1, self::T_CAVALRY=>1, self::T_WIZARD=>1, 1106=>1], [self::T_FOOTMAN=>1, self::T_ARCHER=>1, self::T_CAVALRY=>1, self::T_WIZARD=>1, 1106=>1],
['상대를 저지하는 특수병기입니다.'], ['상대를 저지하는 특수병기입니다.'],
@@ -308,3 +315,4 @@ class GameUnitConst extends GameUnitConstBase
] ]
]; ];
} }
}
+32 -23
View File
@@ -2,15 +2,23 @@
namespace sammo; namespace sammo;
use sammo\GameUnitConstraint\Impossible;
use sammo\GameUnitConstraint\ReqCities;
use sammo\GameUnitConstraint\ReqMinRelYear;
use sammo\GameUnitConstraint\ReqRegions;
use sammo\GameUnitConstraint\ReqTech;
class GameUnitConst extends GameUnitConstBase class GameUnitConst extends GameUnitConstBase
{ {
const DEFAULT_CREWTYPE = 1100; const DEFAULT_CREWTYPE = 1100;
protected static $_buildData = [ protected static function getBuildData(): array
{
return [
[ [
1000, self::T_CASTLE, '성벽', 1000, self::T_CASTLE, '성벽',
100, 100, 7, 0, 0, 99, 9, 100, 100, 7, 0, 0, 99, 9,
999999, null, null, 999999, [new Impossible()],
[], //성벽은 공격할 수 없다. [], //성벽은 공격할 수 없다.
[self::T_FOOTMAN => 1.2], [self::T_FOOTMAN => 1.2],
['성벽입니다.', '생성할 수 없습니다.'], ['성벽입니다.', '생성할 수 없습니다.'],
@@ -20,7 +28,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1100, self::T_FOOTMAN, '보병', 1100, self::T_FOOTMAN, '보병',
100, 150, 7, 10, 0, 9, 9, 100, 150, 7, 10, 0, 9, 9,
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],
['표준적인 보병입니다.', '보병은 방어특화이며,', '상대가 회피하기 어렵습니다.'], ['표준적인 보병입니다.', '보병은 방어특화이며,', '상대가 회피하기 어렵습니다.'],
@@ -29,7 +37,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1200, self::T_ARCHER, '궁병', 1200, self::T_ARCHER, '궁병',
100, 100, 7, 10, 0, 10, 10, 100, 100, 7, 10, 0, 10, 10,
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],
['표준적인 궁병입니다.', '궁병은 선제사격을 하는 병종입니다.'], ['표준적인 궁병입니다.', '궁병은 선제사격을 하는 병종입니다.'],
@@ -38,7 +46,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1300, self::T_CAVALRY, '기병', 1300, self::T_CAVALRY, '기병',
150, 100, 7, 5, 0, 11, 11, 150, 100, 7, 5, 0, 11, 11,
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],
['표준적인 기병입니다.', '기병은 공격특화입니다.'], ['표준적인 기병입니다.', '기병은 공격특화입니다.'],
@@ -47,7 +55,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1104, self::T_FOOTMAN, '근위병', 1104, self::T_FOOTMAN, '근위병',
150, 200, 7, 10, 0, 12, 12, 150, 200, 7, 10, 0, 12, 12,
2000, ['낙양'], null, 0, [new ReqTech(2000), new ReqCities('낙양')],
[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],
['최강의 보병입니다.'], ['최강의 보병입니다.'],
@@ -56,7 +64,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1106, self::T_FOOTMAN, '백이병', 1106, self::T_FOOTMAN, '백이병',
175, 175, 7, 5, 0, 13, 11, 175, 175, 7, 5, 0, 13, 11,
2000, ['성도'], null, 0, [new ReqTech(2000), new ReqCities('성도')],
[self::T_ARCHER => 1.1, self::T_CAVALRY => 0.9, self::T_SIEGE => 1.1], [self::T_ARCHER => 1.1, self::T_CAVALRY => 0.9, self::T_SIEGE => 1.1],
[self::T_ARCHER => 0.9, self::T_CAVALRY => 1.1, self::T_SIEGE => 0.9], [self::T_ARCHER => 0.9, self::T_CAVALRY => 1.1, self::T_SIEGE => 0.9],
['정예 보병입니다. 불리한 싸움도 버텨냅니다.'], ['정예 보병입니다. 불리한 싸움도 버텨냅니다.'],
@@ -65,7 +73,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
97201, self::T_ARCHER, '화랑', 97201, self::T_ARCHER, '화랑',
175, 150, 8, 15, 0.05, 13, 13, 175, 150, 8, 15, 0.05, 13, 13,
2000, ['한', '서라벌'], null, 0, [new ReqTech(2000), new ReqCities('한', '서라벌')],
[self::T_CAVALRY => 1.2, self::T_FOOTMAN => 0.9, self::T_SIEGE => 1.2], [self::T_CAVALRY => 1.2, self::T_FOOTMAN => 0.9, self::T_SIEGE => 1.2],
[self::T_CAVALRY => 0.8, self::T_FOOTMAN => 1.1, self::T_SIEGE => 0.8], [self::T_CAVALRY => 0.8, self::T_FOOTMAN => 1.1, self::T_SIEGE => 0.8],
['특수한 궁병입니다.'], ['특수한 궁병입니다.'],
@@ -74,7 +82,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1204, self::T_ARCHER, '석궁병', 1204, self::T_ARCHER, '석궁병',
200, 125, 7, 10, 0, 13, 13, 200, 125, 7, 10, 0, 13, 13,
2000, ['건업'], null, 0, [new ReqTech(2000), new ReqCities('건업')],
[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],
['강력한 화살을 쏩니다.'], ['강력한 화살을 쏩니다.'],
@@ -83,7 +91,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1303, self::T_CAVALRY, '돌격기병', 1303, self::T_CAVALRY, '돌격기병',
200, 125, 8, 10, 0, 13, 12, 200, 125, 8, 10, 0, 13, 12,
2000, ['서량', '안정'], null, 0, [new ReqTech(2000), new ReqCities('서량', '안정')],
[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],
['저돌적으로 공격합니다.'], ['저돌적으로 공격합니다.'],
@@ -92,7 +100,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1307, self::T_CAVALRY, '호표기병', 1307, self::T_CAVALRY, '호표기병',
200, 150, 7, 5, 0, 14, 14, 200, 150, 7, 5, 0, 14, 14,
2000, ['허창'], null, 0, [new ReqTech(2000), new ReqCities('허창')],
[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],
['정예 기병입니다.'], ['정예 기병입니다.'],
@@ -101,7 +109,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1306, self::T_CAVALRY, '맹수병', 1306, self::T_CAVALRY, '맹수병',
250, 175, 6, 0, 0, 16, 16, 250, 175, 6, 0, 0, 16, 16,
2000, ['운남'], null, 0, [new ReqTech(2000), new ReqCities('운남')],
[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],
['어느 누구보다 강력합니다.'], ['어느 누구보다 강력합니다.'],
@@ -110,7 +118,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1400, self::T_WIZARD, '귀병', 1400, self::T_WIZARD, '귀병',
80, 80, 7, 5, 0.5, 9, 9, 80, 80, 7, 5, 0.5, 9, 9,
0, null, null, 0, [],
[self::T_SIEGE => 1.2], [self::T_SIEGE => 1.2],
[self::T_SIEGE => 0.8], [self::T_SIEGE => 0.8],
['계략을 사용하는 병종입니다.'], ['계략을 사용하는 병종입니다.'],
@@ -119,7 +127,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1405, self::T_WIZARD, '남귀병', 1405, self::T_WIZARD, '남귀병',
60, 60, 7, 10, 0.8, 8, 8, 60, 60, 7, 10, 0.8, 8, 8,
1000, null, null, 0, [new ReqTech(1000)],
[self::T_SIEGE => 1.2], [self::T_SIEGE => 1.2],
[self::T_SIEGE => 0.8], [self::T_SIEGE => 0.8],
['전투를 포기하고 계략에 몰두합니다.'], ['전투를 포기하고 계략에 몰두합니다.'],
@@ -128,7 +136,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1404, self::T_WIZARD, '악귀병', 1404, self::T_WIZARD, '악귀병',
130, 130, 7, 0, 0.6, 12, 12, 130, 130, 7, 0, 0.6, 12, 12,
2000, ['장안'], null, 0, [new ReqTech(2000), new ReqCities('장안')],
[self::T_SIEGE => 1.2], [self::T_SIEGE => 1.2],
[self::T_SIEGE => 0.8], [self::T_SIEGE => 0.8],
['백병전에도 능숙합니다.'], ['백병전에도 능숙합니다.'],
@@ -137,7 +145,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1407, self::T_WIZARD, '천귀병', 1407, self::T_WIZARD, '천귀병',
90, 130, 7, 15, 0.6, 11, 12, 90, 130, 7, 15, 0.6, 11, 12,
2000, ['성도'], null, 0, [new ReqTech(2000), new ReqCities('성도')],
[self::T_SIEGE => 1.2], [self::T_SIEGE => 1.2],
[self::T_SIEGE => 0.8], [self::T_SIEGE => 0.8],
['갑주를 두른 귀병입니다.'], ['갑주를 두른 귀병입니다.'],
@@ -146,7 +154,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1500, self::T_SIEGE, '정란', 1500, self::T_SIEGE, '정란',
100, 100, 6, 0, 0, 14, 5, 100, 100, 6, 0, 0, 14, 5,
0, null, null, 3, [new ReqMinRelYear(3)],
[self::T_FOOTMAN => 1.25, self::T_ARCHER => 1.25, self::T_CAVALRY => 1.25, self::T_WIZARD => 1.25, self::T_CASTLE => 1.8, 1106 => 1.112], [self::T_FOOTMAN => 1.25, self::T_ARCHER => 1.25, self::T_CAVALRY => 1.25, self::T_WIZARD => 1.25, self::T_CASTLE => 1.8, 1106 => 1.112],
[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],
['높은 구조물 위에서 공격합니다.'], ['높은 구조물 위에서 공격합니다.'],
@@ -155,7 +163,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1501, self::T_SIEGE, '충차', 1501, self::T_SIEGE, '충차',
150, 100, 6, 0, 0, 20, 5, 150, 100, 6, 0, 0, 20, 5,
1000, null, null, 3, [new ReqTech(1000), new ReqMinRelYear(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],
['엄청난 위력으로 성벽을 부수어버립니다.'], ['엄청난 위력으로 성벽을 부수어버립니다.'],
@@ -164,7 +172,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1502, self::T_SIEGE, '벽력거', 1502, self::T_SIEGE, '벽력거',
135, 100, 6, 5, 0, 20, 5, 135, 100, 6, 5, 0, 20, 5,
2000, ['업'], null, 0, [new ReqTech(2000), new ReqCities('업')],
[self::T_FOOTMAN => 1.25, self::T_ARCHER => 1.25, self::T_CAVALRY => 1.25, self::T_WIZARD => 1.25, self::T_CASTLE => 1.8, 1106 => 1.112], [self::T_FOOTMAN => 1.25, self::T_ARCHER => 1.25, self::T_CAVALRY => 1.25, self::T_WIZARD => 1.25, self::T_CASTLE => 1.8, 1106 => 1.112],
[self::T_FOOTMAN => 0.833, self::T_ARCHER => 0.833, self::T_CAVALRY => 0.833, self::T_WIZARD => 0.833, 1106 => 0.909], [self::T_FOOTMAN => 0.833, self::T_ARCHER => 0.833, self::T_CAVALRY => 0.833, self::T_WIZARD => 0.833, 1106 => 0.909],
['상대에게 돌덩이를 날립니다.'], ['상대에게 돌덩이를 날립니다.'],
@@ -173,7 +181,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
97101, self::T_FOOTMAN, '중장보병', 97101, self::T_FOOTMAN, '중장보병',
150, 175, 7, 10, 0, 12, 12, 150, 175, 7, 10, 0, 12, 12,
3000, null, null, 0, [new ReqTech(3000)],
[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],
['전천후 보병입니다.'], ['전천후 보병입니다.'],
@@ -182,7 +190,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1202, self::T_ARCHER, '연노병', 1202, self::T_ARCHER, '연노병',
150, 175, 8, 10, 0, 12, 12, 150, 175, 8, 10, 0, 12, 12,
3000, null, null, 0, [new ReqTech(3000)],
[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],
['화살을 연사합니다.'], ['화살을 연사합니다.'],
@@ -191,7 +199,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1304, self::T_CAVALRY, '철기병', 1304, self::T_CAVALRY, '철기병',
175, 175, 7, 5, 0, 13, 13, 175, 175, 7, 5, 0, 13, 13,
3000, null, null, 0, [new ReqTech(3000)],
[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],
['철갑을 두른 기병입니다.'], ['철갑을 두른 기병입니다.'],
@@ -200,7 +208,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1401, self::T_WIZARD, '신귀병', 1401, self::T_WIZARD, '신귀병',
100, 100, 7, 20, 0.6, 12, 12, 100, 100, 7, 20, 0.6, 12, 12,
3000, null, null, 0, [new ReqTech(3000)],
[self::T_SIEGE => 1.2], [self::T_SIEGE => 1.2],
[self::T_SIEGE => 0.8], [self::T_SIEGE => 0.8],
['신출귀몰한 귀병입니다.'], ['신출귀몰한 귀병입니다.'],
@@ -208,3 +216,4 @@ class GameUnitConst extends GameUnitConstBase
], ],
]; ];
} }
}
+56 -52
View File
@@ -1,6 +1,12 @@
<?php <?php
namespace sammo; namespace sammo;
use sammo\GameUnitConstraint\Impossible;
use sammo\GameUnitConstraint\ReqTech;
use sammo\GameUnitConstraint\ReqCities;
use sammo\GameUnitConstraint\ReqRegions;
use sammo\GameUnitConstraint\ReqMinRelYear;
class GameUnitConst extends GameUnitConstBase class GameUnitConst extends GameUnitConstBase
{ {
const DEFAULT_CREWTYPE = 217100; const DEFAULT_CREWTYPE = 217100;
@@ -13,21 +19,22 @@ class GameUnitConst extends GameUnitConstBase
self::T_SIEGE => '차병', self::T_SIEGE => '차병',
]; ];
protected static $_buildData = [ protected static function getBuildData(): array
{
return [
[ [
1000, self::T_CASTLE, '성벽', 1000, self::T_CASTLE, '성벽',
100, 100, 7, 0, 0, 99, 9, 100, 100, 7, 0, 0, 99, 9,
999999, null, null, 999999, [new Impossible()],
[], //성벽은 공격할 수 없다. [], //성벽은 공격할 수 없다.
[self::T_FOOTMAN=>1.2], [self::T_FOOTMAN=>1.2],
['성벽입니다.','생성할 수 없습니다.'], ['성벽입니다.','생성할 수 없습니다.'],
null, null, null null, null, null
], ],
[ [
217100, self::T_FOOTMAN, '보병', 217100, self::T_FOOTMAN, '보병',
100, 150, 7, 10, 0, 9, 9, 100, 150, 7, 10, 0, 9, 9,
0, null, null, 0, [],
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["표준적인 보병입니다. 보병은 방어특화입니다."], ["표준적인 보병입니다. 보병은 방어특화입니다."],
@@ -36,7 +43,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217101, self::T_FOOTMAN, '마물병', 217101, self::T_FOOTMAN, '마물병',
110, 160, 7, 10, 0, 9, 10, 110, 160, 7, 10, 0, 9, 10,
0, null, ["호넷 마인령","케이브리스 마인령"], 0, [new ReqRegions('호넷 마인령', '케이브리스 마인령')],
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["마군 지역 기본병종입니다. 조금더 강하지만 쌀을 많이 소비합니다."], ["마군 지역 기본병종입니다. 조금더 강하지만 쌀을 많이 소비합니다."],
@@ -45,7 +52,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217102, self::T_FOOTMAN, '중장보병', 217102, self::T_FOOTMAN, '중장보병',
100, 250, 7, 5, 0, 13, 10, 100, 250, 7, 5, 0, 13, 10,
1000, null, ["헬만 동부"], 0, [new ReqTech(1000), new ReqRegions('헬만 동부')],
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["헬만 특유의 견고한 보병입니다."], ["헬만 특유의 견고한 보병입니다."],
@@ -54,7 +61,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217103, self::T_FOOTMAN, '흑의 군 보병', 217103, self::T_FOOTMAN, '흑의 군 보병',
150, 150, 7, 10, 0, 12, 11, 150, 150, 7, 10, 0, 12, 11,
1000, null, ["리자스 남부","리자스 북부"], 0, [new ReqTech(1000), new ReqRegions('리자스 남부', '리자스 북부')],
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["흑의 군 전통의 체계적인 훈련으로 공격력을 보완했습니다."], ["흑의 군 전통의 체계적인 훈련으로 공격력을 보완했습니다."],
@@ -63,7 +70,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217104, self::T_FOOTMAN, '용병', 217104, self::T_FOOTMAN, '용병',
125, 175, 7, 10, 0, 12, 11, 125, 175, 7, 10, 0, 12, 11,
1000, null, ["자유도시 동부"], 0, [new ReqTech(1000), new ReqRegions('자유도시 동부')],
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["일반 보병보다 비싸지만 받은 만큼은 일해줍니다."], ["일반 보병보다 비싸지만 받은 만큼은 일해줍니다."],
@@ -72,7 +79,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217105, self::T_FOOTMAN, '사메라이', 217105, self::T_FOOTMAN, '사메라이',
175, 150, 7, 0, 0, 11, 10, 175, 150, 7, 0, 0, 11, 10,
1000, null, ["제스 남부"], 0, [new ReqTech(1000), new ReqRegions('제스 남부')],
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["검으로 난무를 가하는 몬스터 보병입니다."], ["검으로 난무를 가하는 몬스터 보병입니다."],
@@ -81,7 +88,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217106, self::T_FOOTMAN, '템플나이트병', 217106, self::T_FOOTMAN, '템플나이트병',
75, 275, 7, 0, 0, 11, 12, 75, 275, 7, 0, 0, 11, 12,
1000, null, ["AL교"], 0, [new ReqTech(1000), new ReqRegions('AL교')],
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["공격을 포기하고 오직 방어에만 집중합니다."], ["공격을 포기하고 오직 방어에만 집중합니다."],
@@ -90,7 +97,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217107, self::T_FOOTMAN, '메이드병', 217107, self::T_FOOTMAN, '메이드병',
150, 150, 7, 20, 0, 13, 11, 150, 150, 7, 20, 0, 13, 11,
2000, ["메이드의 묘지"], null, 0, [new ReqTech(2000), new ReqCities('메이드의 묘지')],
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["켓셀링크 휘하의 날렵한 전투메이드입니다."], ["켓셀링크 휘하의 날렵한 전투메이드입니다."],
@@ -99,7 +106,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217108, self::T_FOOTMAN, '요괴병', 217108, self::T_FOOTMAN, '요괴병',
150, 150, 8, 0, 0, 11, 13, 150, 150, 8, 0, 0, 11, 13,
2000, ["오슈"], null, 0, [new ReqTech(2000), new ReqCities('오슈')],
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["단단한 육체를 믿고 적진을 돌파합니다."], ["단단한 육체를 믿고 적진을 돌파합니다."],
@@ -108,7 +115,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217109, self::T_FOOTMAN, '리자스 친위병', 217109, self::T_FOOTMAN, '리자스 친위병',
150, 200, 7, 10, 0, 12, 12, 150, 200, 7, 10, 0, 12, 12,
3000, ["리자스성"], null, 0, [new ReqTech(3000), new ReqCities('리자스성')],
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["여왕을 수호하는 리자스 최강의 보병 정예보병입니다."], ["여왕을 수호하는 리자스 최강의 보병 정예보병입니다."],
@@ -117,7 +124,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217110, self::T_FOOTMAN, '케이브리스 마물병', 217110, self::T_FOOTMAN, '케이브리스 마물병',
200, 150, 7, 5, 0, 13, 14, 200, 150, 7, 5, 0, 13, 14,
3000, ["케이브리스의 성"], null, 0, [new ReqTech(3000), new ReqCities('케이브리스의 성')],
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["케이브리스 직속의 마물 정예 전투보병입니다."], ["케이브리스 직속의 마물 정예 전투보병입니다."],
@@ -126,17 +133,16 @@ class GameUnitConst extends GameUnitConstBase
[ [
217111, self::T_FOOTMAN, '투신', 217111, self::T_FOOTMAN, '투신',
200, 300, 7, 5, 0, 28, 23, 200, 300, 7, 5, 0, 28, 23,
5000, ["투신도시"], null, 0, [new ReqTech(5000), new ReqCities('투신도시')],
[self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1], [self::T_ARCHER=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>1.2, 217502=>1],
[self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1], [self::T_ARCHER=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["성마교단 유적에서 발굴된 사상 최강의 보병입니다."], ["성마교단 유적에서 발굴된 사상 최강의 보병입니다."],
null, ['che_방어력증가5p'], null null, ['che_방어력증가5p'], null
], ],
[ [
217200, self::T_ARCHER, '궁병', 217200, self::T_ARCHER, '궁병',
100, 100, 7, 20, 0, 10, 10, 100, 100, 7, 20, 0, 10, 10,
0, null, null, 0, [],
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1], [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1], [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
["표준적인 궁병입니다. 궁병은 회피특화입니다."], ["표준적인 궁병입니다. 궁병은 회피특화입니다."],
@@ -145,7 +151,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217201, self::T_ARCHER, '투척마물병', 217201, self::T_ARCHER, '투척마물병',
150, 100, 7, 10, 0, 11, 12, 150, 100, 7, 10, 0, 11, 12,
1000, null, ["호넷 마인령"], 0, [new ReqTech(1000), new ReqRegions('호넷 마인령')],
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1], [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1], [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
["날렵함을 포기하고 도끼를 투척합니다."], ["날렵함을 포기하고 도끼를 투척합니다."],
@@ -154,7 +160,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217202, self::T_ARCHER, '백의 군 궁병', 217202, self::T_ARCHER, '백의 군 궁병',
100, 100, 8, 30, 0, 11, 11, 100, 100, 8, 30, 0, 11, 11,
1000, null, ["리자스 남부"], 0, [new ReqTech(1000), new ReqRegions('리자스 남부')],
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1], [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1], [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
["전략을 활용하여 치고 빠지기에 능합니다."], ["전략을 활용하여 치고 빠지기에 능합니다."],
@@ -163,7 +169,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217203, self::T_ARCHER, '벌레술사병', 217203, self::T_ARCHER, '벌레술사병',
100, 150, 7, 20, 0, 12, 12, 100, 150, 7, 20, 0, 12, 12,
2000, ["호박성"], null, 0, [new ReqTech(2000), new ReqCities('호박성')],
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1], [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1], [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
["벌레들을 부려 몸을 보호하는 궁병입니다."], ["벌레들을 부려 몸을 보호하는 궁병입니다."],
@@ -172,7 +178,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217204, self::T_ARCHER, '저격암살병', 217204, self::T_ARCHER, '저격암살병',
225, 75, 5, 10, 0, 14, 11, 225, 75, 5, 10, 0, 14, 11,
2000, ["블라디보스토크"], null, 0, [new ReqTech(2000), new ReqCities('블라디보스토크')],
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1], [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1], [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
["독을 바른 탄환으로 적의 목숨을 앗아갑니다."], ["독을 바른 탄환으로 적의 목숨을 앗아갑니다."],
@@ -181,7 +187,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217205, self::T_ARCHER, '호루스병', 217205, self::T_ARCHER, '호루스병',
150, 100, 8, 20, 0, 11, 12, 150, 100, 8, 20, 0, 11, 12,
2000, ["거대전함"], null, 0, [new ReqTech(2000), new ReqCities('거대전함')],
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1], [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1], [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
["민첩하게 파고드는 호루스족 궁병입니다."], ["민첩하게 파고드는 호루스족 궁병입니다."],
@@ -190,7 +196,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217206, self::T_ARCHER, '튤립병', 217206, self::T_ARCHER, '튤립병',
200, 100, 7, 20, 0, 13, 13, 200, 100, 7, 20, 0, 13, 13,
3000, ["커스텀"], null, 0, [new ReqTech(3000), new ReqCities('커스텀')],
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1], [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1], [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
["최첨단병기 튤립으로 적을 폭격합니다."], ["최첨단병기 튤립으로 적을 폭격합니다."],
@@ -199,7 +205,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217207, self::T_ARCHER, '아이스플레임 궁병', 217207, self::T_ARCHER, '아이스플레임 궁병',
150, 150, 7, 20, 0, 13, 13, 150, 150, 7, 20, 0, 13, 13,
3000, ["라그나로크 아크"], null, 0, [new ReqTech(3000), new ReqCities('라그나로크 아크')],
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1], [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1], [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
["혁명을 성공으로 이끈 정예 게릴라 궁병입니다."], ["혁명을 성공으로 이끈 정예 게릴라 궁병입니다."],
@@ -208,7 +214,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217208, self::T_ARCHER, '카라 궁병', 217208, self::T_ARCHER, '카라 궁병',
225, 225, 7, 30, 0, 25, 25, 225, 225, 7, 30, 0, 25, 25,
5000, ["펜실 카우"], null, 0, [new ReqTech(5000), new ReqCities('펜실 카우')],
[ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1], [ self::T_FOOTMAN=>0.8, self::T_CAVALRY=>1.2, self::T_SIEGE=>1.2, 217502=>1],
[ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1], [ self::T_FOOTMAN=>1.2, self::T_CAVALRY=>0.8, self::T_SIEGE=>0.8, 217502=>1],
["선조의 힘을 이어받은 최강의 카라 정예 궁병입니다."], ["선조의 힘을 이어받은 최강의 카라 정예 궁병입니다."],
@@ -218,7 +224,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217300, self::T_CAVALRY, '기동병', 217300, self::T_CAVALRY, '기동병',
150, 100, 7, 5, 0, 11, 11, 150, 100, 7, 5, 0, 11, 11,
0, null, null, 0, [],
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1], [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1], [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["표준적인 기동병입니다. 기동병은 공격특화입니다."], ["표준적인 기동병입니다. 기동병은 공격특화입니다."],
@@ -227,7 +233,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217301, self::T_CAVALRY, '하치온나', 217301, self::T_CAVALRY, '하치온나',
175, 100, 7, 15, 0, 12, 12, 175, 100, 7, 15, 0, 12, 12,
1000, null, ["자유도시 서부"], 0, [new ReqTech(1000), new ReqRegions('자유도시 서부')],
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1], [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1], [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["작은 몸으로 회피하며 따끔한 일격을 먹이는 몬스터 기동병입니다."], ["작은 몸으로 회피하며 따끔한 일격을 먹이는 몬스터 기동병입니다."],
@@ -236,7 +242,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217302, self::T_CAVALRY, '적의 군 기동병', 217302, self::T_CAVALRY, '적의 군 기동병',
200, 100, 7, 5, 0, 12, 13, 200, 100, 7, 5, 0, 12, 13,
1000, null, ["리자스 북부"], 0, [new ReqTech(1000), new ReqRegions('리자스 북부')],
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1], [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1], [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["리자스군의 자랑인 기동부대입니다."], ["리자스군의 자랑인 기동부대입니다."],
@@ -245,7 +251,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217303, self::T_CAVALRY, '안드로이드 기동병', 217303, self::T_CAVALRY, '안드로이드 기동병',
175, 150, 7, 10, 0, 13, 12, 175, 150, 7, 10, 0, 13, 12,
2000, ["악의 탑"], null, 0, [new ReqTech(2000), new ReqCities('악의 탑')],
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1], [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1], [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["파이아르가 개발한 최첨단 안드로이드 기동병입니다."], ["파이아르가 개발한 최첨단 안드로이드 기동병입니다."],
@@ -254,7 +260,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217304, self::T_CAVALRY, '파란쵸 기동병', 217304, self::T_CAVALRY, '파란쵸 기동병',
200, 100, 8, 5, 0, 13, 11, 200, 100, 8, 5, 0, 13, 11,
2000, ["파란쵸 왕국"], null, 0, [new ReqTech(2000), new ReqCities('파란쵸 왕국')],
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1], [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1], [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["적진을 일점돌파하는 파란쵸왕국의 돌격 기동병입니다. "], ["적진을 일점돌파하는 파란쵸왕국의 돌격 기동병입니다. "],
@@ -263,7 +269,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217305, self::T_CAVALRY, '비행마물병', 217305, self::T_CAVALRY, '비행마물병',
150, 100, 8, 15, 0, 12, 12, 150, 100, 8, 15, 0, 12, 12,
2000, ["죽음의 대지"], null, 0, [new ReqTech(2000), new ReqCities('죽음의 대지')],
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1], [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1], [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["비행마물에 올라탄 기동마물병입니다."], ["비행마물에 올라탄 기동마물병입니다."],
@@ -272,7 +278,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217306, self::T_CAVALRY, '마물조련사병', 217306, self::T_CAVALRY, '마물조련사병',
250, 200, 6, 0, 0, 16, 16, 250, 200, 6, 0, 0, 16, 16,
3000, ["랑그바우"], null, 0, [new ReqTech(3000), new ReqCities('랑그바우')],
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1], [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1], [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["무시무시한 몬스터에 올라타서 싸우는 극강의 기동병입니다."], ["무시무시한 몬스터에 올라타서 싸우는 극강의 기동병입니다."],
@@ -281,7 +287,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217307, self::T_CAVALRY, '기마병', 217307, self::T_CAVALRY, '기마병',
200, 150, 7, 5, 0, 14, 14, 200, 150, 7, 5, 0, 14, 14,
3000, ["오와리"], null, 0, [new ReqTech(3000), new ReqCities('오와리')],
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1], [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1], [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["JAPAN 특유의 기마에 올라타 적을 짓밟는 기동병입니다."], ["JAPAN 특유의 기마에 올라타 적을 짓밟는 기동병입니다."],
@@ -290,7 +296,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217308, self::T_CAVALRY, '엔젤나이트', 217308, self::T_CAVALRY, '엔젤나이트',
300, 200, 7, 5, 0, 25, 25, 300, 200, 7, 5, 0, 25, 25,
5000, ["떨어진 궁도"], null, 0, [new ReqTech(5000), new ReqCities('떨어진 궁도')],
[ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1], [ self::T_FOOTMAN=>1.2, self::T_ARCHER=>0.8, self::T_SIEGE=>1.2, 217502=>1],
[ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1], [ self::T_FOOTMAN=>0.8, self::T_ARCHER=>1.2, self::T_SIEGE=>0.8, 217502=>1],
["신의 명령으로 파멸을 내리기 위해 강림했습니다."], ["신의 명령으로 파멸을 내리기 위해 강림했습니다."],
@@ -300,7 +306,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217400, self::T_WIZARD, '마법병', 217400, self::T_WIZARD, '마법병',
80, 80, 7, 5, 0.6, 9, 9, 80, 80, 7, 5, 0.6, 9, 9,
0, null, null, 0, [],
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
["마법을 사용하는 병종입니다."], ["마법을 사용하는 병종입니다."],
@@ -309,7 +315,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217401, self::T_WIZARD, '마물 마법병', 217401, self::T_WIZARD, '마물 마법병',
90, 90, 7, 0, 0.6, 11, 9, 90, 90, 7, 0, 0.6, 11, 9,
0, null, ["호넷 마인령","케이브리스 마인령"], 0, [new ReqRegions('호넷 마인령', '케이브리스 마인령')],
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
["마군 지역 기본병종입니다. 조금더 강하지만 금을 많이 소비합니다."], ["마군 지역 기본병종입니다. 조금더 강하지만 금을 많이 소비합니다."],
@@ -318,7 +324,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217402, self::T_WIZARD, '카라 마법병', 217402, self::T_WIZARD, '카라 마법병',
80, 80, 7, 20, 0.6, 10, 10, 80, 80, 7, 20, 0.6, 10, 10,
1000, null, ["카라의 숲"], 0, [new ReqTech(1000), new ReqRegions('카라의 숲')],
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
["신속히 움직이며 카라의 저주로 적을 공격합니다."], ["신속히 움직이며 카라의 저주로 적을 공격합니다."],
@@ -327,7 +333,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217403, self::T_WIZARD, '제스 마법병', 217403, self::T_WIZARD, '제스 마법병',
100, 100, 7, 0, 0.6, 10, 10, 100, 100, 7, 0, 0.6, 10, 10,
1000, null, ["제스 북부"], 0, [new ReqTech(1000), new ReqRegions('제스 북부')],
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
["마법국가 제스의 전통있는 마법병입니다."], ["마법국가 제스의 전통있는 마법병입니다."],
@@ -336,7 +342,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217404, self::T_WIZARD, '무녀', 217404, self::T_WIZARD, '무녀',
80, 80, 8, 10, 0.6, 10, 10, 80, 80, 8, 10, 0.6, 10, 10,
1000, null, ["JAPAN"], 0, [new ReqTech(1000), new ReqRegions('JAPAN')],
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
["신마법과 함께 신통한 춤으로 활력을 불어넣는 마법병입니다."], ["신마법과 함께 신통한 춤으로 활력을 불어넣는 마법병입니다."],
@@ -345,7 +351,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217405, self::T_WIZARD, '프로즌', 217405, self::T_WIZARD, '프로즌',
90, 70, 7, 10, 0.8, 10, 10, 90, 70, 7, 10, 0.8, 10, 10,
1000, null, ["헬만 서부"], 0, [new ReqTech(1000), new ReqRegions('헬만 서부')],
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
["백병전에 불리한 연약한 몸으로 마법 사용에 집중하는 몬스터입니다."], ["백병전에 불리한 연약한 몸으로 마법 사용에 집중하는 몬스터입니다."],
@@ -354,7 +360,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217406, self::T_WIZARD, '마소한 마법병', 217406, self::T_WIZARD, '마소한 마법병',
70, 90, 7, 10, 0.8, 11, 10, 70, 90, 7, 10, 0.8, 11, 10,
1000, null, ["케이브리스 마인령"], 0, [new ReqTech(1000), new ReqRegions('케이브리스 마인령')],
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
["로브를 여러겹 둘러입은 마물마법병입니다. 직접 전투보단 마법에 집중합니다."], ["로브를 여러겹 둘러입은 마물마법병입니다. 직접 전투보단 마법에 집중합니다."],
@@ -363,7 +369,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217407, self::T_WIZARD, '신관병', 217407, self::T_WIZARD, '신관병',
80, 130, 7, 5, 0.6, 9, 11, 80, 130, 7, 5, 0.6, 9, 11,
2000, ["카이즈"], null, 0, [new ReqTech(2000), new ReqCities('카이즈')],
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
["AL교의 전투신관입니다. 몸을 보호하는 성스러운 마법을 사용합니다."], ["AL교의 전투신관입니다. 몸을 보호하는 성스러운 마법을 사용합니다."],
@@ -372,7 +378,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217408, self::T_WIZARD, '중장마법병', 217408, self::T_WIZARD, '중장마법병',
80, 130, 7, 15, 0.6, 11, 12, 80, 130, 7, 15, 0.6, 11, 12,
3000, ["로제스그라드"], null, 0, [new ReqTech(3000), new ReqCities('로제스그라드')],
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
["두터운 로브를 입고 불길한 주문을 읊습니다."], ["두터운 로브를 입고 불길한 주문을 읊습니다."],
@@ -381,7 +387,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217409, self::T_WIZARD, '악마병', 217409, self::T_WIZARD, '악마병',
130, 80, 7, 15, 0.6, 11, 12, 130, 80, 7, 15, 0.6, 11, 12,
3000, ["올드제스"], null, 0, [new ReqTech(3000), new ReqCities('올드제스')],
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
["고대 제스 왕가의 계약에 따라 소환된 흑마법병입니다."], ["고대 제스 왕가의 계약에 따라 소환된 흑마법병입니다."],
@@ -390,7 +396,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217410, self::T_WIZARD, '호넷 마물병', 217410, self::T_WIZARD, '호넷 마물병',
130, 130, 7, 0, 0.6, 12, 12, 130, 130, 7, 0, 0.6, 12, 12,
3000, ["구 마왕성"], null, 0, [new ReqTech(3000), new ReqCities('구 마왕성')],
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
["호넷 직속의 최강 마물 마법병입니다."], ["호넷 직속의 최강 마물 마법병입니다."],
@@ -399,17 +405,16 @@ class GameUnitConst extends GameUnitConstBase
[ [
217411, self::T_WIZARD, 'Z가디언', 217411, self::T_WIZARD, 'Z가디언',
180, 180, 7, 0, 0.7, 28, 20, 180, 180, 7, 0, 0.7, 28, 20,
5000, ["라그나로크 아크"], null, 0, [new ReqTech(5000), new ReqCities('라그나로크 아크')],
[self::T_SIEGE=>1.2], [self::T_SIEGE=>1.2],
[self::T_SIEGE=>0.8], [self::T_SIEGE=>0.8],
["제스의 기술력이 집약된 최고의 마법병기입니다."], ["제스의 기술력이 집약된 최고의 마법병기입니다."],
null, null, null null, null, null
], ],
[ [
217500, self::T_SIEGE, '정란', 217500, self::T_SIEGE, '정란',
150, 150, 6, 0, 0, 15, 5, 150, 150, 6, 0, 0, 15, 5,
0, null, null, 3, [new ReqMinRelYear(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],
["높은 구조물 위에서 공격합니다."], ["높은 구조물 위에서 공격합니다."],
@@ -418,7 +423,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
217501, self::T_SIEGE, '충차', 217501, self::T_SIEGE, '충차',
150, 100, 6, 0, 0, 20, 5, 150, 100, 6, 0, 0, 20, 5,
1000, null, null, 3, [new ReqTech(1000), new ReqMinRelYear(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],
["엄청난 위력으로 성벽을 부수어버립니다."], ["엄청난 위력으로 성벽을 부수어버립니다."],
@@ -427,13 +432,12 @@ class GameUnitConst extends GameUnitConstBase
[ [
217502, self::T_SIEGE, '튤립3호', 217502, self::T_SIEGE, '튤립3호',
275, 300, 6, 0, 0, 35, 15, 275, 300, 6, 0, 0, 35, 15,
5000, ["커스텀"], null, 0, [new ReqTech(5000), new ReqCities('커스텀')],
[], [],
[], [],
["파괴적인 위력과 정말 파괴적인 비용을 자랑하는 전차입니다. "], ["파괴적인 위력과 정말 파괴적인 비용을 자랑하는 전차입니다. "],
['che_성벽부상무효'], null, null ['che_성벽부상무효'], null, null
], ],
]; ];
} }
}
+20 -15
View File
@@ -1,15 +1,23 @@
<?php <?php
namespace sammo; namespace sammo;
use sammo\GameUnitConstraint\Impossible;
use sammo\GameUnitConstraint\ReqTech;
use sammo\GameUnitConstraint\ReqCities;
use sammo\GameUnitConstraint\ReqRegions;
use sammo\GameUnitConstraint\ReqMinRelYear;
class GameUnitConst extends GameUnitConstBase class GameUnitConst extends GameUnitConstBase
{ {
const DEFAULT_CREWTYPE = 1500; const DEFAULT_CREWTYPE = 1500;
protected static $_buildData = [ protected static function getBuildData(): array
{
return [
[ [
1000, self::T_CASTLE, '성벽', 1000, self::T_CASTLE, '성벽',
100, 100, 7, 0, 0, 99, 9, 100, 100, 7, 0, 0, 99, 9,
999999, null, null, 999999, [new Impossible()],
[], //성벽은 공격할 수 없다. [], //성벽은 공격할 수 없다.
[self::T_FOOTMAN=>1.2], [self::T_FOOTMAN=>1.2],
['성벽입니다.','생성할 수 없습니다.'], ['성벽입니다.','생성할 수 없습니다.'],
@@ -18,37 +26,34 @@ class GameUnitConst extends GameUnitConstBase
[ [
1100, self::T_FOOTMAN, '보병', 1100, self::T_FOOTMAN, '보병',
100, 150, 7, 10, 0, 18, 18, 100, 150, 7, 10, 0, 18, 18,
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, null null, null, null
], ],
[ [
1200, self::T_ARCHER, '궁병', 1200, self::T_ARCHER, '궁병',
100, 100, 7, 20, 0, 20, 20, 100, 100, 7, 20, 0, 20, 20,
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, null null, null, null
], ],
[ [
1300, self::T_CAVALRY, '기병', 1300, self::T_CAVALRY, '기병',
150, 100, 7, 5, 0, 22, 22, 150, 100, 7, 5, 0, 22, 22,
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, null null, null, null
], ],
[ [
1400, self::T_WIZARD, '귀병', 1400, self::T_WIZARD, '귀병',
80, 80, 7, 5, 0.5, 18, 18, 80, 80, 7, 5, 0.5, 18, 18,
0, null, null, 0, [],
[], [],
[], [],
['계략을 사용하는 병종입니다.'], ['계략을 사용하는 병종입니다.'],
@@ -57,17 +62,16 @@ class GameUnitConst extends GameUnitConstBase
[ [
1405, self::T_WIZARD, '남귀병', 1405, self::T_WIZARD, '남귀병',
60, 60, 7, 10, 0.8, 16, 16, 60, 60, 7, 10, 0.8, 16, 16,
1000, null, null, 0, [new ReqTech(1000)],
[], [],
[], [],
['전투를 포기하고 계략에 몰두합니다.'], ['전투를 포기하고 계략에 몰두합니다.'],
null, null, null null, null, null
], ],
[ [
1500, self::T_SIEGE, '정란', 1500, self::T_SIEGE, '정란',
100, 100, 6, 0, 0, 7, 3, 100, 100, 6, 0, 0, 7, 3,
0, null, null, 0, [],
[self::T_CASTLE=>1.8], [self::T_CASTLE=>1.8],
[], [],
['높은 구조물 위에서 공격합니다.'], ['높은 구조물 위에서 공격합니다.'],
@@ -76,7 +80,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1501, self::T_SIEGE, '충차', 1501, self::T_SIEGE, '충차',
150, 100, 6, 0, 0, 10, 3, 150, 100, 6, 0, 0, 10, 3,
1000, null, null, 3, [new ReqTech(1000), new ReqMinRelYear(3)],
[self::T_CASTLE=>2.4], [self::T_CASTLE=>2.4],
[], [],
['엄청난 위력으로 성벽을 부수어버립니다.'], ['엄청난 위력으로 성벽을 부수어버립니다.'],
@@ -85,7 +89,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1502, self::T_SIEGE, '벽력거', 1502, self::T_SIEGE, '벽력거',
200, 100, 6, 0, 0, 20, 4, 200, 100, 6, 0, 0, 20, 4,
3000, ['업'], null, 0, [new ReqTech(3000), new ReqCities('업')],
[self::T_CASTLE=>1.8], [self::T_CASTLE=>1.8],
[], [],
['상대에게 돌덩이를 날립니다.'], ['상대에게 돌덩이를 날립니다.'],
@@ -94,7 +98,7 @@ class GameUnitConst extends GameUnitConstBase
[ [
1503, self::T_SIEGE, '목우', 1503, self::T_SIEGE, '목우',
50, 200, 5, 0, 0, 15, 3, 50, 200, 5, 0, 0, 15, 3,
3000, ['성도'], null, 0, [new ReqTech(3000), new ReqCities('성도')],
[], [],
[], [],
['상대를 저지하는 특수병기입니다.'], ['상대를 저지하는 특수병기입니다.'],
@@ -102,3 +106,4 @@ class GameUnitConst extends GameUnitConstBase
] ]
]; ];
} }
}