30 lines
1.3 KiB
GDScript
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
|