Files

30 lines
1.3 KiB
GDScript

class_name DustArena
extends RelayArena
func build() -> void:
map_id = "dust2"
map_size = Vector2(112, 133)
DustGeometry.build(self)
# Both bases and alternative spawns are on connected, walkable surfaces.
spawn_points.assign([Vector3(-20, 8.15, 47), Vector3(-15, 8.15, 47),
Vector3(-10, 8.15, 47), Vector3(-5, 8.15, 47), Vector3(-26, 8.15, 47),
Vector3(0, 1.75, -28), Vector3(-4, 1.75, -28), Vector3(-8, 1.75, -28),
Vector3(-2, 1.75, -31), Vector3(-6, 1.75, -31)])
patrol_points.assign([Vector3(-39, 4.9, -25), Vector3(42, 5.1, -30),
Vector3(-35, 4.9, 22), Vector3(15, 4.9, 27), Vector3(0, 4.9, 15),
Vector3(-15, 3, -29), Vector3(-20, 8.1, 47)])
objective_positions.assign([Vector3(-39, 4.9, -25), Vector3(0, 4.9, 15), Vector3(42, 5.1, -30)])
UrbanLighting.build(self)
# The source textures already contain light/shadow detail; avoid bleaching them.
var world := get_node("DistrictAtmosphere") as WorldEnvironment
world.environment.ambient_light_energy = 0.55
var sun := get_node("LateAfternoonSun") as DirectionalLight3D
sun.light_energy = 1.05
for node in get_children():
if node is OmniLight3D: node.queue_free()
func build_navigation() -> void:
load_navigation("res://assets/scan/dust2/navigation.res")
for i in spawn_points.size():
spawn_points[i] = navigation.nearest(spawn_points[i]) + Vector3.UP * 0.08