◀ 돌아가기 (Main)

🔫 Combat API

공격 및 포탑 제어 기능입니다.

fire(type, distance?)

미사일을 발사합니다. 재장전 시간 동안은 발사되지 않습니다.

// 기본 발사 (거리 미지정)
// 목표물에 맞거나 맵 끝까지 직진합니다.
this.fire();        // 탄의 종류를 지정하지 않으면 기본 A 선택하여 쏨
this.fire('A');     // 집중탄 (데미지 30)
this.fire('B');     // 확산탄 (데미지 10)
this.fire('C');     // 광역탄 (데미지 6)

// 거리 지정 발사 (거리신관)
this.fire('A');          // 물체에 맞을때 까지 맵 끝까지 직진 (폭발하지 않음)
this.fire('B', 300);     // 300픽셀 거리에서 폭발 (맞지 않아도 폭발)
this.fire('A', this.distanceTo(enemy)); // 적 위치에서 폭발

* 재장전 시간: 120 프레임 (약 2초)

⚠️ 주의: 쿨타임(재장전) 중에 fire()를 호출하면 무시됩니다.
프로그램이 대기하지 않고 즉시 다음 코드로 넘어갑니다.
확실하게 발사하려면 canFire 속성을 확인하거나 시간을 체크해야 합니다.

turnGunTo(angle)

포탑을 특정 절대 각도로 회전시킵니다.

// 적 방향으로 포탑 정렬 (onScan에서 사용)
this.turnGunTo(enemy.aimAngle);

turnGunRight(deg) / turnGunLeft(deg)

포탑을 현재 위치 기준 상대적으로 회전합니다.

this.turnGunRight(45);

setSpeed(level)

탱크의 이동 속도를 조절합니다. (1~5)

this.setSpeed(5); // yield 필요 없음 (즉시 적용)

canFire

현재 발사 가능한 상태인지 확인합니다. (Boolean)

if (this.canFire) {
    this.fire();
} else {
    this.log("재장전 중...");
}