한국어 번들 정리/버그 수정/사거리 표시 개선

This commit is contained in:
Sharlotte
2022-09-21 17:36:17 +09:00
parent b3cea2c27d
commit 4a944387b8
6 changed files with 98 additions and 81 deletions

View File

@@ -7,14 +7,12 @@ shar-stat.power = Power: {0}/{1}
shar-stat.powerIn = InPower: {0}/s shar-stat.powerIn = InPower: {0}/s
shar-stat.powerOut = OutPower: {0}/s shar-stat.powerOut = OutPower: {0}/s
shar-stat.ammos = Ammo: {0}/{1} shar-stat.ammos = Ammo: {0}/{1}
shar-stat.commandUnits = Commands: {0}/{1}
shar-stat.reload = Reload: {0}% shar-stat.reload = Reload: {0}%
shar-stat.progress = Progress: {0}% shar-stat.progress = Progress: {0}%
shar-stat.attr = Attribute: x{0} shar-stat.attr = Attribute: x{0}
shar-stat-waveAmount = [lightgray]Enemy Amount:[] {0} shar-stat-waveAmount = [lightgray]Enemy Amount:[] {0}
shar-stat-waveShield = [lightgray]Shield:[] {0} shar-stat-waveShield = [lightgray]Shield:[] {0}
shar-stat.waveStatus = [lightgray]Status:[] shar-stat.waveStatus = [lightgray]Status:[]
shar-stat.waveItem = [lightgray]Item:[]
#Settings #Settings
setting.barstyle.name = Unit UI: Change Bar Style setting.barstyle.name = Unit UI: Change Bar Style
@@ -28,11 +26,6 @@ setting.emptywave.description = Displays empty waves in the wave list.
setting.schem.name = Display Schematic HUD setting.schem.name = Display Schematic HUD
setting.schem.description = Displays schem hud on right-side, which helps quick select. setting.schem.description = Displays schem hud on right-side, which helps quick select.
setting.aliceRange.name = Display Alice Range
setting.aliceRange.description = Displays alice turret range too.
setting.RangeShader.name = Enable Animation
setting.RangeShader.description = Activate easy-to-see animations in return for large frame drops.
setting.selectopacity.name = Select Arrow Opacity setting.selectopacity.name = Select Arrow Opacity
setting.selectopacity.description = Sets the opacity of selection arrow. setting.selectopacity.description = Sets the opacity of selection arrow.
setting.baropacity.name = Health Bar Opacity setting.baropacity.name = Health Bar Opacity
@@ -44,20 +37,32 @@ setting.powerNode.name = enable Power Node
setting.powerNode.description = display power node link lines setting.powerNode.description = display power node link lines
setting.massDriver.name = enable Mass Driver setting.massDriver.name = enable Mass Driver
setting.massDriver.description = display mass driver link lines setting.massDriver.description = display mass driver link lines
setting.airRange.name = enable air range
setting.airRange.description = display turret range that can target air units setting.blockRange.name = Display Block Range
setting.groundRange.name = enable ground range setting.blockRange.description = Displays every available turrets range
setting.groundRange.description = display turret range that can target ground units setting.unitRange.name = Display Unit Range
setting.unitRange.description = Displays every available units range
setting.invalidRange.name = Display Invalid Range
setting.invalidRange.description = Displays every available units range
setting.airRange.name = Display Air range
setting.airRange.description = display every available turrets/units which can target air units
setting.groundRange.name = Display Ground range
setting.groundRange.description = display every available turrets/units which can target ground units or blocks
setting.aliceRange.name = Display Alice Range
setting.aliceRange.description = Displays alice turret/unit range
setting.RangeShader.name = Enable Animation
setting.RangeShader.description = Use animation shader for make it ease to see
setting.pathLine.name = enable Path Line setting.pathLine.name = enable Path Line
setting.pathLine.description = display wave ground unit's ai path lineline setting.pathLine.description = display wave ground unit's ai path lineline
setting.logicLine.name = enable Logic Line setting.logicLine.name = enable Logic Line
setting.logicLine.description = display lines between logic processor and controlled units setting.logicLine.description = display lines between logic processor and controlled units
setting.unitLine.name = enable Unit Line setting.unitLine.name = enable Unit Line
setting.unitLine.description = display ai path each ground units setting.unitLine.description = display ai path each ground unit
setting.unitItem.name = enable Unit Item setting.unitItem.name = enable Unit Item
setting.unitItem.description = display item amount under each units setting.unitItem.description = display item amount under each unit
setting.unitBar.name = enable Unit Bar setting.unitBar.name = enable Unit Bar
setting.unitBar.description = display health bar under each units setting.unitBar.description = display health bar under each unit
setting.autoShooting.name = Enable Auto Shooting setting.autoShooting.name = Enable Auto Shooting
setting.autoShooting.description = no don't do hack setting.autoShooting.description = no don't do hack

View File

@@ -2,108 +2,105 @@
shar-stat.health = 체력: {0} shar-stat.health = 체력: {0}
shar-stat.shield = 방어막: {0} shar-stat.shield = 방어막: {0}
shar-stat.payloadCapacity = 화물: {0}²/{1}² shar-stat.payloadCapacity = 화물: {0}²/{1}²
shar-stat.capacity = {0}: {1}/{2}
shar-stat.power = 전력: {0}/{1} shar-stat.power = 전력: {0}/{1}
shar-stat.powerIn = 전력 생산량: {0}/s shar-stat.powerIn = 전력 생산량: {0}/s
shar-stat.powerOut = 전력 소모량: {0}/s shar-stat.powerOut = 전력 소모량: {0}/s
shar-stat.ammos = 탄약: {0}/{1} shar-stat.ammos = 탄약: {0}/{1}
shar-stat.commandUnits = 지휘 유닛: {0}/{1}
shar-stat.reload = 재장전: {0}% shar-stat.reload = 재장전: {0}%
shar-stat.progress = 진행도: {0}% shar-stat.progress = 진행도: {0}%
shar-stat.attr = 친화력: x{0} shar-stat.attr = 친화력: x{0}
shar-stat-waveAmount = [lightgray]유닛 수:[] {0} shar-stat-waveAmount = [lightgray]유닛 수:[] {0}
shar-stat-waveShield = [lightgray]방어막:[] {0} shar-stat-waveShield = [lightgray]방어막:[] {0}
shar-stat.waveStatus = [lightgray]상태이상:[] shar-stat.waveStatus = [lightgray]상태이상:[]
shar-stat.waveItem = [lightgray]아이템:[]
# Settings # Settings
setting.barstyle.name = 바 스타일 변경 setting.barstyle.name = 바 스타일 변경
setting.barstyle.description = 유닛 탭의 바 스프라이트를 바꿉니다. setting.barstyle.description = 유닛 탭의 바 스프라이트를 바꿉니다.
setting.infoUiScale.name = 정보 UI 스케일링
setting.infoUiScale.description = 좌측 정보 UI의 크기를 설정합니다.
setting.coreItemCheckRate.name = 자원 탭: 업데이트 주기
setting.coreItemCheckRate.description = 코어 자원을 확인하는 주기를 설정합니다. 더 느릴수록 기기 부하가 줄어듭니다.
setting.wavemax.name = 표시할 단계 수 setting.wavemax.name = 표시할 단계 수
setting.wavemax.description = 단계 탭에서 표시할 웨이브 수 제한을 설정합니다. setting.wavemax.description = 단계 탭에서 표시할 웨이브 수 제한을 설정합니다.
setting.infoui.name = 정보 UI 표시
setting.infoui.description = 좌측 탭 UI를 표시합니다. 비활성 시 관련된 모든 업데이트가 중지됩니다.
setting.pastwave.name = 이전 단계 표시 setting.pastwave.name = 이전 단계 표시
setting.pastwave.description = 단계 탭에서 이전 단계를 표시합니다. 현재 단계는 빨간색으로 강조됩니다. setting.pastwave.description = 단계 탭에서 이전 단계를 표시합니다. 현재 단계는 빨간색으로 강조됩니다.
setting.emptywave.name = 빈 단계 표시 setting.emptywave.name = 빈 단계 표시
setting.emptywave.description = 단계 탭에서 빈 단계를 표시합니다. setting.emptywave.description = 단계 탭에서 빈 단계를 표시합니다.
setting.itemcal.name = 자원 탭: 입출력 속도 계산
setting.itemcal.description = 아이템의 증가/감소 속도를 계산하여 표시합니다.
setting.schem.name = 설계도 HUD 표시 setting.schem.name = 설계도 HUD 표시
setting.schem.description = 빠른 설계도 선택을 보조해주는 설계도 HUD를 화면 우측에 표시합니다. setting.schem.description = 빠른 설계도 선택을 보조해주는 설계도 HUD를 화면 우측에 표시합니다.
setting.rangeRadius.name = 사거리 접근 거리
setting.rangeRadius.description = 사거리 감지 거리를 설정합니다.
setting.rangeNearby.name = 자동 사거리 표시
setting.rangeNearby.description = 자동 사거리 표시 기능을 활성화합니다. 적 사거리에 일정 거리만큼 접근하면 사거리를 미리 표시합니다.
setting.allTargetRange.name = 모든 목표물 사거리 표시
setting.allTargetRange.description = 모든 사거리를 표시합니다. 자신을 조준할 수 없는 대상의 사거리는 회색으로 보여집니다.
setting.aliceRange.name = 아군 사거리 표시
setting.aliceRange.description = 아군 사거리도 표시합니다.
setting.RangeShader.name = 에니매이션 활성화
setting.RangeShader.description = 큰 프레임 드랍을 대가로 보기 편한 에니메이션을 활성화합니다.
setting.selectopacity.name = 선택 화살표 투명도 setting.selectopacity.name = 선택 화살표 투명도
setting.selectopacity.description = 선택 화살표의 투명도를 조절합니다. setting.selectopacity.description = 선택 화살표의 투명도를 조절합니다.
setting.baropacity.name = 유닛 바 투명도 setting.baropacity.name = 유닛 바 투명도
setting.baropacity.description = 유닛 바의 투명도를 조절합니다. setting.baropacity.description = 유닛 바의 투명도를 조절합니다.
setting.uiopacity.name = UI 배경 투명도
setting.uiopacity.description = UI 배경 투명도를 조절합니다.
setting.softRangeOpacity.name = 포탑 사거리 투명도
setting.softRangeOpacity.description = 포탑 사거리의 투명도를 조절합니다.
setting.pathlinelimit.name = 단계 경로선 제한 setting.blockStatus.name = 블록 상태 표시
setting.pathlinelimit.description = 다수의 선들은 기기 부하를 크게 일으킵니다.\n기기 환경에 맞추어 조절해야 합니다. setting.blockStatus.description = 블록 왼쪽아래에 상태를 표시합니다.
setting.unitlinelimit.name = 유닛 경로선 제한 setting.powerNode.name = 노드 연결선 표시
setting.unitlinelimit.description = 다수의 선들은 기기 부하를 크게 일으킵니다.\n기기 환경에 맞추어 조절해야 합니다. setting.powerNode.description = 선택한 블록과 전기적으로 연결된 블록들을 선으로 이어서 표시합니다.
setting.logiclinelimit.name = 로직선 제한 setting.massDriver.name = 매스 드라이버 연결선 표시
setting.logiclinelimit.description = 다수의 선들은 기기 부하를 크게 일으킵니다.\n기기 환경에 맞추어 조절해야 합니다. setting.massDriver.description = 선택한 매스 드라이버와 연결된 매스 드라이버들을 선으로 이어서 표시합니다.
setting.spawnarrowlimit.name = 단계 화살표 제한
setting.spawnarrowlimit.description = 다수의 화살표들은 기기 부하를 크게 일으킵니다.\n기기 환경에 맞추어 조절해야 합니다. setting.blockRange.name = 블록 사거리 표시
setting.gaycursor.name = 마우스 꼬리효과 setting.blockRange.description = 가능한 모든 포탑 사거리를 표시합니다
setting.gaycursor.description = 마우스 커서에 무지개 효과를 생성합니다. setting.unitRange.name = 유닛 사거리 표시
setting.unithealthui.name = 유닛 바 표시 setting.unitRange.description = 가능한 모든 유닛 사거리를 표시합니다
setting.unithealthui.description = 각 유닛의 체력, 탄약, 방어막, 상태이상, 화물에 대해서 간략하게 표시합니다. setting.invalidRange.name = 유효하지 않은 사거리 표시
setting.blockfont.name = 블록 정보 표시 setting.invalidRange.description = 여러가지 이유로 공격할 수 없어 유효하지 않은 모든 사거리를 표시합니다
setting.blockfont.description = 각 블록의 체력, 보호막, 재장전 등에 대해서 숫자로 표시합니다. setting.airRange.name = 공중 사거리 표시
setting.linkedMass.name = 매스 드라이버 연결선 표시 setting.airRange.description = 공중 유닛을 공격할 수 있는 가능한 모든 포탑/유닛 사거리를 표시합니다
setting.linkedMass.description = 선택한 매스 드라이버와 연결된 매스 드라이버들을 선으로 이어서 표시합니다. setting.groundRange.name = 지상 사거리 표시
setting.linkedNode.name = 노드 연결선 표시 setting.groundRange.description = 지상 유닛을 공격할 수 있는 가능한 모든 포탑/유닛 사거리를 표시합니다
setting.linkedNode.description = 선택한 블록과 전기적으로 연결된 블록들을 선으로 이어서 표시합니다. setting.aliceRange.name = 아군 사거리 표시
setting.select.name = 선택 화살표 표시 setting.aliceRange.description = 가능한 모든 아군 포탑/유닛 사거리를 표시합니다
setting.select.description = 어떤 유닛이나 블록을 선택했는지 표시합니다. setting.RangeShader.name = 애니메이션 활성화
setting.deadTarget.name = 고정 목표물이 죽더라도 계속 고정하기 setting.RangeShader.description = 사거리를 더 쉽게 보기 위한 애니메이션 쉐이더를 활성화합니다. 비활성화 시 점선이 표시됩니다.
setting.deadTarget.description = 고정 목표물이 죽어도 그 좌표와 대상 정보를 계속 표시합니다.
setting.distanceLine.name = 목표물과의 거리선 표시 setting.pathLine.name = 단계 길 표시
setting.distanceLine.description = 목표물과 어느정도나 멀어졌는지 점선과 숫자로 표시합니다. setting.pathLine.description = 단계 지상/해상 유닛들의 ai 길찾기를 가시화합니다.
setting.logicLine.name = 로직 조종선 표시
setting.logicLine.description = 프로세서와 조종중인 유닛의 관계를 가시화합니다.
setting.unitLine.name = 유닛 길 표시
setting.unitLine.description = 지상/해상 유닛들의 AI 길찾기를 가시화합니다. 단계 길보다 더 정확합니다.
setting.unitItem.name = = 유닛 아이템 표시
setting.unitItem.description = 유닛이 들고 있는 아이템의 수량을 표시합니다.
setting.unitBar.name = 유닛 바 표시
setting.unitBar.description = 각 유닛의 체력, 탄약, 방어막, 상태이상, 화물에 대해서 간략하게 표시합니다.
setting.autoShooting.name = 자동 사격 활성화
setting.autoShooting.description = 데스크톱에서 모바일의 자동 사격을 사용할 수 있게 됩니다.
setting.spawnerarrow.name = 스폰포인트 화살표 setting.spawnerarrow.name = 스폰포인트 화살표
setting.spawnerarrow.description = 적 단계 생성지점을 가르키는 화살표를 표시합니다. setting.spawnerarrow.description = 적 단계 생성지점을 가르키는 화살표를 표시합니다.
setting.select.name = 선택 화살표 표시
setting.select.description = 어떤 유닛이나 블록을 선택했는지 표시합니다.
setting.distanceLine.name = 목표물과의 거리선 표시
setting.distanceLine.description = 목표물과 어느정도나 멀어졌는지 점선과 숫자로 표시합니다.
setting.elementdebug.name = UI 디버깅 setting.elementdebug.name = UI 디버깅
setting.elementdebug.description = 모든 UI 요소의 외곽선을 표시합니다. setting.elementdebug.description = 모든 UI 요소의 외곽선을 표시합니다.
setting.hiddenElem.name = 숨겨진 요소 표시 setting.hiddenElem.name = 숨겨진 요소 표시
setting.hiddenElem.description = 숨겨진 요소의 외곽선도 표시합니다. setting.hiddenElem.description = 숨겨진 요소의 외곽선도 표시합니다.
setting.autoShooting.name = 자동 사격 활성화
setting.autoShooting.description =
setting.shar-title = Informatis 설정 setting.shar-title = Informatis 설정
setting.shar-ui = 정보UI 설정 setting.shar-ui = 정보UI 설정
setting.shar-range = 자동 사거리 설정
setting.shar-opacity = 투명도 설정
setting.shar-draw = 덧그리기 설정 setting.shar-draw = 덧그리기 설정
setting.shar-etc = 기타
#UI #UI
mode.custom.name = ?? mode.custom.name = 사용자 지정
#Hud #Hud
hud.unit = 유닛 정보 hud.schematic-list = 설계도 퀵슬롯
hud.wave = 단계 정보
hud.item = 자원 정보 #Window
hud.cancel = 닫음 window.unit.name = 유닛 디스플레이
window.wave.name = 단계 디스플레이
window.core.name = 코어 디스플레이
window.player.name = 플레이어 디스플레이
window.tool.name = 도구 디스플레이 [red](WIP)[]
window.editor.name = 맵 편집 디스플레이 [red](WIP)[]
#Other
default-bar = 기본 바
th-bar = 번째 바
empty = [lightgray]<Empty>[]
none = <none>
tiles = 타일
#Mod #Mod
shar-description = 여러가지 다양한 정보들을 인게임에서 보여주는 다기능 정보 모드.\n\n[#AE00FB]인게임 UI:[] 좌측 탭에 위치했으며 커서를 통한 유닛/건물이나 단계 목록, 코어, 자원 정보를 알려줍니다.\n\n[#B5FFD9]유닛/건물 정보:[] 커서로 유닛이나 건물의 정보를 표시합니다.\n\n[#B5FFD9]단계 정보:[] 유닛 종류와 수, 보스 유무를 목록에 담아 보여줍니다. 클릭해서 유닛 정보도 열람할 수 있습니다.\n\n[#B5FFD9]코어 정보:[] 각 팀의 코어 위치와 체력을 보여줍니다. 클릭해서 카메라 위치를 변경할 수 있습니다.\n\n[#B5FFD9]타일 정보:[] 커서 위치의 블록/타일/광물 아이콘과 좌표를 보여줍니다. 남은 단계 유닛도 보여줍니다.\n\n[#B5FFD9]자원 정보:[] 각 팀의 현재 자원(증감치)와 유닛 수를 보여줍니다.\n\n\n[#AE00FB]인게임 그리기:[] 각 유닛이나 블록같은 특정 위치에 여러가지 정보를 덧그립니다.\n\n[#B5FFD9]블록 스캐너:[] 커서 주변의 포탑과 벽의 사거리와 체력을 바로 표시합니다.\n\n[#B5FFD9]유닛 바:[] 각 팀의 유닛의 탄약, 방어막, 체력을 바로 보여줍니다.\n\n[#B5FFD9]포탑 사거리:[] 포탑 사거리를 표시합니다.\n\n[#B5FFD9]전선 연결 표시:[] 커서에 있는 블록과 전력으로 연결된 다른 블록들을 초록색 전선으로 이어서 그립니다.\n\n[#B5FFD9]매스 연결 표시:[] 커서에 있는 드라이버와 연결된 다른 드라이버들을 선으로 이어서 그립니다. shar-description = 여러가지 다양한 정보들을 인게임에서 보여주는 다기능 정보 모드.\n\n[#AE00FB]인게임 UI:[] 좌측 탭에 위치했으며 커서를 통한 유닛/건물이나 단계 목록, 코어, 자원 정보를 알려줍니다.\n\n[#B5FFD9]유닛/건물 정보:[] 커서로 유닛이나 건물의 정보를 표시합니다.\n\n[#B5FFD9]단계 정보:[] 유닛 종류와 수, 보스 유무를 목록에 담아 보여줍니다. 클릭해서 유닛 정보도 열람할 수 있습니다.\n\n[#B5FFD9]코어 정보:[] 각 팀의 코어 위치와 체력을 보여줍니다. 클릭해서 카메라 위치를 변경할 수 있습니다.\n\n[#B5FFD9]타일 정보:[] 커서 위치의 블록/타일/광물 아이콘과 좌표를 보여줍니다. 남은 단계 유닛도 보여줍니다.\n\n[#B5FFD9]자원 정보:[] 각 팀의 현재 자원(증감치)와 유닛 수를 보여줍니다.\n\n\n[#AE00FB]인게임 그리기:[] 각 유닛이나 블록같은 특정 위치에 여러가지 정보를 덧그립니다.\n\n[#B5FFD9]블록 스캐너:[] 커서 주변의 포탑과 벽의 사거리와 체력을 바로 표시합니다.\n\n[#B5FFD9]유닛 바:[] 각 팀의 유닛의 탄약, 방어막, 체력을 바로 보여줍니다.\n\n[#B5FFD9]포탑 사거리:[] 포탑 사거리를 표시합니다.\n\n[#B5FFD9]전선 연결 표시:[] 커서에 있는 블록과 전력으로 연결된 다른 블록들을 초록색 전선으로 이어서 그립니다.\n\n[#B5FFD9]매스 연결 표시:[] 커서에 있는 드라이버와 연결된 다른 드라이버들을 선으로 이어서 그립니다.

View File

@@ -38,6 +38,7 @@ public class OverDrawer {
float rot = i * 90f + 45f + (-Time.time) % 360f; float rot = i * 90f + 45f + (-Time.time) % 360f;
Draw.rect("select-arrow", target.x() + Angles.trnsx(rot, length), target.y() + Angles.trnsy(rot, length), length / 1.9f, length / 1.9f, rot - 135f); Draw.rect("select-arrow", target.x() + Angles.trnsx(rot, length), target.y() + Angles.trnsy(rot, length), length / 1.9f, length / 1.9f, rot - 135f);
} }
Draw.color();
} }
if(settings.getBool("distanceLine")) { if(settings.getBool("distanceLine")) {
@@ -65,6 +66,7 @@ public class OverDrawer {
//global drawing, which needs camera-clipping //global drawing, which needs camera-clipping
Core.camera.bounds(Tmp.r1); Core.camera.bounds(Tmp.r1);
for(OverDraw drawer : OverDraws.all) drawer.draw(); for(OverDraw drawer : OverDraws.all) drawer.draw();
Draw.reset();
}); });
} }
} }

View File

@@ -25,8 +25,12 @@ public class OverDraw {
public void displayStats(Table parent) { public void displayStats(Table parent) {
if(options.isEmpty()) return; if(options.isEmpty()) return;
parent.background(Styles.squarei.up); parent.background(Styles.squarei.up);
parent.left();
options.each(name-> parent.check(bundle.get("setting."+name+".name"), settings.getBool(name), b->settings.put(name, b)).tooltip(t->t.background(Styles.black8).add(bundle.get("setting."+name+".description"))).disabled(!enabled).row()); options.each(name-> parent
.check(bundle.get("setting."+name+".name"), settings.getBool(name), b->settings.put(name, b))
.tooltip(t->t.background(Styles.black8).add(bundle.get("setting."+name+".description")))
.disabled(!enabled)
.left().row());
} }
public void draw() {} public void draw() {}

View File

@@ -8,6 +8,7 @@ import mindustry.Vars;
import mindustry.game.Team; import mindustry.game.Team;
import mindustry.gen.*; import mindustry.gen.*;
import mindustry.graphics.Drawf; import mindustry.graphics.Drawf;
import mindustry.graphics.Pal;
import mindustry.type.Weapon; import mindustry.type.Weapon;
import mindustry.world.blocks.defense.turrets.*; import mindustry.world.blocks.defense.turrets.*;
@@ -24,6 +25,7 @@ public class RangeDraw extends OverDraw {
registerOption("blockRange"); registerOption("blockRange");
registerOption("unitRange"); registerOption("unitRange");
registerOption("aliceRange"); registerOption("aliceRange");
registerOption("invalidRange");
registerOption("airRange"); registerOption("airRange");
registerOption("groundRange"); registerOption("groundRange");
} }
@@ -44,6 +46,7 @@ public class RangeDraw extends OverDraw {
boolean includeBlock = settings.getBool("blockRange"), boolean includeBlock = settings.getBool("blockRange"),
includeUnit = settings.getBool("unitRange"), includeUnit = settings.getBool("unitRange"),
includeInvalid = settings.getBool("invalidRange"),
includeAir = settings.getBool("airRange"), isAir = target == null || target.isFlying(), includeAir = settings.getBool("airRange"), isAir = target == null || target.isFlying(),
includeGround = settings.getBool("groundRange"), isGround = target == null || !target.isFlying(), includeGround = settings.getBool("groundRange"), isGround = target == null || !target.isFlying(),
includeAlice = settings.getBool("aliceRange"), includeAlice = settings.getBool("aliceRange"),
@@ -59,7 +62,7 @@ public class RangeDraw extends OverDraw {
if(includeBlock) { if(includeBlock) {
for(Building building : Groups.build) { for(Building building : Groups.build) {
if(!((includeAlice || player.team() != building.team) if(!((includeAlice || player.team() != building.team)
&& building instanceof BaseTurret.BaseTurretBuild turret && isInCamera(building.x, building.y, turret.range()))) continue; && building instanceof BaseTurret.BaseTurretBuild turret && isInCamera(building.x, building.y, turret.range() * 2))) continue;
boolean valid = false; boolean valid = false;
if (building instanceof Turret.TurretBuild turretBuild) { if (building instanceof Turret.TurretBuild turretBuild) {
@@ -76,6 +79,8 @@ public class RangeDraw extends OverDraw {
&& tractorBeamBuild.canConsume()) valid = true; && tractorBeamBuild.canConsume()) valid = true;
} }
if(!includeInvalid && !valid) continue;
//non-base teams are considered as crux //non-base teams are considered as crux
int index = valid ? building.team.id > 5 ? 2 : building.team.id : 0; int index = valid ? building.team.id > 5 ? 2 : building.team.id : 0;
float range = turret.range(); float range = turret.range();
@@ -84,12 +89,13 @@ public class RangeDraw extends OverDraw {
Draw.z(166+(Team.baseTeams.length-index)*3); Draw.z(166+(Team.baseTeams.length-index)*3);
Fill.poly(building.x, building.y, Lines.circleVertices(range), range); Fill.poly(building.x, building.y, Lines.circleVertices(range), range);
} else Drawf.dashCircle(building.x, building.y, range, Team.baseTeams[index].color); } else Drawf.dashCircle(building.x, building.y, range, Team.baseTeams[index].color);
Draw.reset();
} }
} }
if(includeUnit) { if(includeUnit) {
for(Unit unit : Groups.unit) { for(Unit unit : Groups.unit) {
if(!((includeAlice || player.team() != unit.team) && isInCamera(unit.x, unit.y, unit.range()))) continue; if(!((includeAlice || player.team() != unit.team) && isInCamera(unit.x, unit.y, unit.range() * 2))) continue;
boolean valid = false; boolean valid = false;
if (target == null) valid = true; if (target == null) valid = true;
@@ -98,14 +104,17 @@ public class RangeDraw extends OverDraw {
|| (unit.type.targetGround && isGround && includeGround)) || (unit.type.targetGround && isGround && includeGround))
&& unit.canShoot()) valid = true; && unit.canShoot()) valid = true;
if(!includeInvalid && !valid) continue;
//non-base teams are considered as crux //non-base teams are considered as crux
int index = valid ? unit.team.id > 5 ? 2 : unit.team.id : 0; int index = valid ? unit.team.id > 5 ? 2 : unit.team.id : 0;
float range = unit.range(); float range = unit.range();
Draw.color(Team.baseTeams[index].color); Draw.color(Team.baseTeams[index].color.cpy().shiftSaturation(0.25f));
if (shader) { if (shader) {
Draw.z(166 + (Team.baseTeams.length - index) * 3); Draw.z(166 + (Team.baseTeams.length - index) * 3);
Fill.poly(unit.x, unit.y, Lines.circleVertices(range), range); Fill.poly(unit.x, unit.y, Lines.circleVertices(range), range);
} else Drawf.dashCircle(unit.x, unit.y, range, Team.baseTeams[index].color); } else Drawf.dashCircle(unit.x, unit.y, range, Team.baseTeams[index].color);
Draw.color();
} }
} }
} }

View File

@@ -61,8 +61,8 @@ public class ToolWindow extends Window implements Updatable {
if(selected==null) return; if(selected==null) return;
tool.top(); tool.top();
tool.table(Tex.underline2, label->label.add(selected.name).color(Pal.accent)).row(); tool.table(Tex.underline2, label->label.add(selected.name).color(Pal.accent)).row();
tool.table(des-> selected.displayStats(des)).name("unit-stats").row(); tool.table(des-> selected.displayStats(des)).name("unit-stats").left().row();
tool.check("enable", selected.enabled, c->{ tool.check("@mod.enable", selected.enabled, c->{
selected.enabled=c; selected.enabled=c;
selected.onEnabled(find("unit-stats")); selected.onEnabled(find("unit-stats"));
}); });