forked from devsam/core
- GameUnitDetail의 요구 기술, 지역, 도시, 연도를 GameUnitConstraint로 통합 - GameUnitConstraint는 조건 검사, 설명 제공 - 병종 정의를 GameUnitConstraint 이용 재정의 - test 함수에 General 객체 요구, - test 함수의 ownCities에 단순 도시 외 도시 정보 추가 - 변경된 값에 맞게 호출 함수 변경
92 lines
3.6 KiB
PHP
92 lines
3.6 KiB
PHP
<?php
|
|
namespace sammo;
|
|
|
|
use sammo\GameUnitConstraint\ReqMinRelYear;
|
|
use sammo\GameUnitConstraint\ReqTech;
|
|
|
|
class GameUnitConst extends GameUnitConstBase
|
|
{
|
|
const DEFAULT_CREWTYPE = 1100;
|
|
|
|
protected static function getBuildData(): array {
|
|
return [
|
|
[
|
|
1000, self::T_CASTLE, '성벽',
|
|
100, 100, 7, 0, 0, 99, 9,
|
|
[],
|
|
[], // 성벽은 공격할 수 없다.
|
|
[self::T_FOOTMAN=>1.2],
|
|
['성벽입니다.','생성할 수 없습니다.'],
|
|
null, null, null
|
|
],
|
|
|
|
[
|
|
1100, self::T_FOOTMAN, '보병',
|
|
100, 150, 7, 10, 0, 9, 9,
|
|
[],
|
|
[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],
|
|
['표준적인 보병입니다.','보병은 방어특화이며,','상대가 회피하기 어렵습니다.'],
|
|
null, null, null
|
|
],
|
|
|
|
[
|
|
1200, self::T_ARCHER, '궁병',
|
|
100, 100, 7, 20, 0, 10, 10,
|
|
[],
|
|
[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],
|
|
['표준적인 궁병입니다.','궁병은 회피특화입니다.'],
|
|
null, null, null
|
|
],
|
|
|
|
[
|
|
1300, self::T_CAVALRY, '기병',
|
|
150, 100, 7, 5, 0, 11, 11,
|
|
[],
|
|
[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],
|
|
['표준적인 기병입니다.','기병은 공격특화입니다.'],
|
|
null, null, null
|
|
],
|
|
|
|
[
|
|
1400, self::T_WIZARD, '귀병',
|
|
80, 80, 7, 5, 0.5, 9, 9,
|
|
[],
|
|
[self::T_SIEGE=>1.2],
|
|
[self::T_SIEGE=>0.8],
|
|
['계략을 사용하는 병종입니다.'],
|
|
null, null, null
|
|
],
|
|
[
|
|
1405, self::T_WIZARD, '남귀병',
|
|
60, 60, 7, 10, 0.8, 8, 8,
|
|
[],
|
|
[self::T_SIEGE=>1.2],
|
|
[self::T_SIEGE=>0.8],
|
|
['전투를 포기하고 계략에 몰두합니다.'],
|
|
null, null, null
|
|
],
|
|
|
|
[
|
|
1500, self::T_SIEGE, '정란',
|
|
100, 100, 6, 0, 0, 15, 5,
|
|
[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=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2],
|
|
['높은 구조물 위에서 공격합니다.'],
|
|
['che_성벽부상무효'], null, ['che_성벽선제']
|
|
],
|
|
[
|
|
1501, self::T_SIEGE, '충차',
|
|
150, 100, 6, 0, 0, 20, 5,
|
|
[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=>1.2, self::T_ARCHER=>1.2, self::T_CAVALRY=>1.2, self::T_WIZARD=>1.2],
|
|
['엄청난 위력으로 성벽을 부수어버립니다.'],
|
|
['che_성벽부상무효'], null, null
|
|
]
|
|
];
|
|
}
|
|
} |