Removed meet-spook

This commit is contained in:
Rob Kelly 2025-09-02 23:14:07 -06:00
parent f88baf1848
commit d5bbc66242
16 changed files with 20 additions and 455 deletions

File diff suppressed because one or more lines are too long

View File

@ -1,70 +0,0 @@
[gd_scene load_steps=11 format=3 uid="uid://8m6kh4f6pily"]
[ext_resource type="Script" uid="uid://1trqaximxxmx" path="res://src/world/meet_spook/meet_spook_mob.gd" id="1_545xt"]
[ext_resource type="Shader" uid="uid://ckxc0ngd37rtk" path="res://src/shaders/gunk.gdshader" id="2_pte10"]
[ext_resource type="Texture2D" uid="uid://cm1jrvx7ftx4c" path="res://assets/black.png" id="3_iy8jq"]
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="4_67wo7"]
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_2roq2"]
width = 256
height = 256
depth = 32
seamless = true
seamless_blend_skirt = 0.5
noise = ExtResource("4_67wo7")
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_fk1xc"]
width = 256
height = 256
depth = 32
seamless = true
seamless_blend_skirt = 0.5
noise = ExtResource("4_67wo7")
[sub_resource type="FastNoiseLite" id="FastNoiseLite_pte10"]
frequency = 0.0703
[sub_resource type="NoiseTexture3D" id="NoiseTexture3D_omayi"]
width = 32
height = 32
depth = 128
noise = SubResource("FastNoiseLite_pte10")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_iy8jq"]
resource_local_to_scene = true
render_priority = 0
shader = ExtResource("2_pte10")
shader_parameter/color_1 = Color(0, 0.03, 0.1, 1)
shader_parameter/color_2 = Color(0, 0.1, 0.3, 1)
shader_parameter/emission_color = Color(0.25, 0.88, 1, 1)
shader_parameter/pixellation = 128.0
shader_parameter/time_pixellation = 30.0
shader_parameter/roughness = 0.15
shader_parameter/specular_contribution = 0.8
shader_parameter/emission_strength = 0.1
shader_parameter/uv_scale = Vector2(4, 4)
shader_parameter/time_scale = 1.0
shader_parameter/edge_bleed = 0.25
shader_parameter/gunk_mask = ExtResource("3_iy8jq")
shader_parameter/gunk_noise = SubResource("NoiseTexture3D_2roq2")
shader_parameter/gunk_normal_map = SubResource("NoiseTexture3D_fk1xc")
shader_parameter/jitter_magnitude = 0.6
shader_parameter/jitter_time_scale = 0.2
shader_parameter/jitter_noise = SubResource("NoiseTexture3D_omayi")
shader_parameter/vertex_inflation = 0.0
shader_parameter/inflation_pixellation = 10.0
shader_parameter/overlay_emission_scale = 1.0
[sub_resource type="CapsuleMesh" id="CapsuleMesh_k8gi4"]
material = SubResource("ShaderMaterial_iy8jq")
[node name="DebugMob" type="Node3D"]
script = ExtResource("1_545xt")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
mesh = SubResource("CapsuleMesh_k8gi4")
[node name="Label3D" type="Label3D" parent="MeshInstance3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.2, 0)
billboard = 2
text = "SPOOKY!"

View File

@ -1,98 +0,0 @@
[gd_scene load_steps=15 format=3 uid="uid://1kreuo8tc4jv"]
[ext_resource type="PackedScene" uid="uid://bwe2jdmvinhqd" path="res://src/player/player.tscn" id="1_f3l4i"]
[ext_resource type="PackedScene" uid="uid://b6eg8t04rkh0c" path="res://src/props/wall_switch/wall_switch.tscn" id="2_eywuc"]
[ext_resource type="Script" uid="uid://cvx514gdjd5ev" path="res://src/world/meet_spook/meet_spook.gd" id="4_b6st5"]
[ext_resource type="PackedScene" uid="uid://cmmx0j4md4c5p" path="res://src/world/grunk_beast/slutch_beast/meet_spook_slutch/meet_spook_slutch.tscn" id="4_cr4pm"]
[ext_resource type="Script" uid="uid://cisuvlqvqfqgo" path="res://src/world/meet_spook/meet_spook_spawner.gd" id="5_tak24"]
[ext_resource type="Script" uid="uid://c1gy2b2wcq127" path="res://levels/meet_spook_test/tween_debug.gd" id="6_cr4pm"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_eywuc"]
[sub_resource type="Sky" id="Sky_cr4pm"]
sky_material = SubResource("ProceduralSkyMaterial_eywuc")
[sub_resource type="Environment" id="Environment_nynr7"]
background_mode = 2
sky = SubResource("Sky_cr4pm")
[sub_resource type="PlaneMesh" id="PlaneMesh_b6st5"]
size = Vector2(50, 50)
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_tak24"]
[sub_resource type="BoxMesh" id="BoxMesh_nynr7"]
size = Vector3(0.5, 2, 0.5)
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_b6st5"]
data = PackedVector3Array(-0.25, 1, 0.25, 0.25, 1, 0.25, -0.25, -1, 0.25, 0.25, 1, 0.25, 0.25, -1, 0.25, -0.25, -1, 0.25, 0.25, 1, -0.25, -0.25, 1, -0.25, 0.25, -1, -0.25, -0.25, 1, -0.25, -0.25, -1, -0.25, 0.25, -1, -0.25, 0.25, 1, 0.25, 0.25, 1, -0.25, 0.25, -1, 0.25, 0.25, 1, -0.25, 0.25, -1, -0.25, 0.25, -1, 0.25, -0.25, 1, -0.25, -0.25, 1, 0.25, -0.25, -1, -0.25, -0.25, 1, 0.25, -0.25, -1, 0.25, -0.25, -1, -0.25, 0.25, 1, 0.25, -0.25, 1, 0.25, 0.25, 1, -0.25, -0.25, 1, 0.25, -0.25, 1, -0.25, 0.25, 1, -0.25, -0.25, -1, 0.25, 0.25, -1, 0.25, -0.25, -1, -0.25, 0.25, -1, 0.25, 0.25, -1, -0.25, -0.25, -1, -0.25)
[sub_resource type="SphereMesh" id="SphereMesh_tak24"]
[node name="MeetSpookTest" type="Node3D"]
[node name="Player" parent="." instance=ExtResource("1_f3l4i")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(0.866025, -0.156955, -0.474726, 0.5, 0.271854, 0.82225, 0, -0.949453, 0.31391, 0, 0, 0)
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_nynr7")
[node name="WorldFloor" type="StaticBody3D" parent="." groups=["PlasticMaterial"]]
[node name="MeshInstance3D" type="MeshInstance3D" parent="WorldFloor"]
mesh = SubResource("PlaneMesh_b6st5")
skeleton = NodePath("../..")
[node name="CollisionShape3D" type="CollisionShape3D" parent="WorldFloor"]
shape = SubResource("WorldBoundaryShape3D_tak24")
[node name="TriggerPodium" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, -2)
[node name="MeshInstance3D" type="MeshInstance3D" parent="TriggerPodium"]
mesh = SubResource("BoxMesh_nynr7")
[node name="CollisionShape3D" type="CollisionShape3D" parent="TriggerPodium"]
shape = SubResource("ConcavePolygonShape3D_b6st5")
[node name="TriggerSwitch" parent="TriggerPodium" instance=ExtResource("2_eywuc")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, 0.35)
clean = true
[node name="Label3D" type="Label3D" parent="TriggerPodium"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9, 0.3)
text = "GET SCARED"
[node name="MeetSpook" type="Marker3D" parent="." node_paths=PackedStringArray("spawners")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 1.5, 0)
script = ExtResource("4_b6st5")
mob_scene = ExtResource("4_cr4pm")
spawners = [NodePath("../MeetSpookSpawner"), NodePath("../MeetSpookSpawner2")]
metadata/_custom_type_script = "uid://cvx514gdjd5ev"
[node name="MeetSpookSpawner" type="Marker3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 6)
script = ExtResource("5_tak24")
metadata/_custom_type_script = "uid://cisuvlqvqfqgo"
[node name="Target" type="Marker3D" parent="MeetSpookSpawner"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 0)
[node name="MeetSpookSpawner2" type="Marker3D" parent="."]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 9, 1.5, 0)
script = ExtResource("5_tak24")
metadata/_custom_type_script = "uid://cisuvlqvqfqgo"
[node name="Target" type="Marker3D" parent="MeetSpookSpawner2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 0)
[node name="TweenDebug" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, -4.5)
mesh = SubResource("SphereMesh_tak24")
script = ExtResource("6_cr4pm")
[connection signal="activated" from="TriggerPodium/TriggerSwitch" to="MeetSpook" method="prepare"]
[connection signal="activated" from="TriggerPodium/TriggerSwitch" to="TweenDebug" method="activate"]

View File

@ -1,19 +0,0 @@
extends MeshInstance3D
@export var movement := Vector3(3, 0, 0)
@export var duration := 2.0
@export var transition_type := Tween.TRANS_SINE
@export var ease_type := Tween.EASE_IN
@onready var start_position := position
func activate() -> void:
var end_position := start_position + movement
position = start_position
(
create_tween()
. tween_property(self, "position", end_position, duration)
. set_trans(transition_type)
. set_ease(ease_type)
)

View File

@ -1 +0,0 @@
uid://c1gy2b2wcq127

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=63 format=4 uid="uid://tvirbm0kgvp8"] [gd_scene load_steps=62 format=4 uid="uid://tvirbm0kgvp8"]
[ext_resource type="PackedScene" uid="uid://bwe2jdmvinhqd" path="res://src/player/player.tscn" id="1_fgk6j"] [ext_resource type="PackedScene" uid="uid://bwe2jdmvinhqd" path="res://src/player/player.tscn" id="1_fgk6j"]
[ext_resource type="Script" uid="uid://68r4ht5ut1ct" path="res://src/game/level.gd" id="1_hv7qb"] [ext_resource type="Script" uid="uid://68r4ht5ut1ct" path="res://src/game/level.gd" id="1_hv7qb"]
@ -24,7 +24,6 @@
[ext_resource type="PackedScene" uid="uid://cjqayfrj2oxyr" path="res://src/props/tarp_crate/tarp_crate_logo.tscn" id="19_iuevq"] [ext_resource type="PackedScene" uid="uid://cjqayfrj2oxyr" path="res://src/props/tarp_crate/tarp_crate_logo.tscn" id="19_iuevq"]
[ext_resource type="ArrayMesh" uid="uid://5jt7xxr05lw3" path="res://assets/level/hallway/hallway_2.mesh" id="20_pfbho"] [ext_resource type="ArrayMesh" uid="uid://5jt7xxr05lw3" path="res://assets/level/hallway/hallway_2.mesh" id="20_pfbho"]
[ext_resource type="ArrayMesh" uid="uid://b3f5p4o7qr1mf" path="res://assets/level/t-junction/t-junction_2.mesh" id="21_e5vs1"] [ext_resource type="ArrayMesh" uid="uid://b3f5p4o7qr1mf" path="res://assets/level/t-junction/t-junction_2.mesh" id="21_e5vs1"]
[ext_resource type="Script" uid="uid://cisuvlqvqfqgo" path="res://src/world/meet_spook/meet_spook_spawner.gd" id="22_tnoo6"]
[ext_resource type="ArrayMesh" uid="uid://xn5nceqby4wd" path="res://assets/level/wall/wall_3.mesh" id="23_7rrnb"] [ext_resource type="ArrayMesh" uid="uid://xn5nceqby4wd" path="res://assets/level/wall/wall_3.mesh" id="23_7rrnb"]
[ext_resource type="ArrayMesh" uid="uid://c4klxlj1oop7t" path="res://assets/level/hallway/hallway_4.mesh" id="24_x0es6"] [ext_resource type="ArrayMesh" uid="uid://c4klxlj1oop7t" path="res://assets/level/hallway/hallway_4.mesh" id="24_x0es6"]
[ext_resource type="Material" uid="uid://b8xdnogrfefvf" path="res://levels/ghost_ship/guide_sign/mess_hall_sign.material" id="25_jvcry"] [ext_resource type="Material" uid="uid://b8xdnogrfefvf" path="res://levels/ghost_ship/guide_sign/mess_hall_sign.material" id="25_jvcry"]
@ -60,7 +59,7 @@ data = PackedVector3Array(25, 0, 25, -25, 0, 25, 25, 0, -25, -25, 0, 25, -25, 0,
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_u8j4k"] [sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_u8j4k"]
data = PackedVector3Array(-1.5, 0, -6, -1.5, 0, 6, -1.5, 3, -6, -1.5, 3, -6, -1.5, 0, 6, -1.5, 3, 6, 1.5, 0, 6, 1.5, 0, -6, 1.5, 3, 6, 1.5, 3, 6, 1.5, 0, -6, 1.5, 3, -6, -1.5, 0, 6, -1.5, 0, -6, 1.5, 0, 6, 1.5, 0, 6, -1.5, 0, -6, 1.5, 0, -6, 1.5, 3, 6, 1.5, 3, -6, -1.5, 3, 6, -1.5, 3, 6, 1.5, 3, -6, -1.5, 3, -6) data = PackedVector3Array(-1.5, 0, -6, -1.5, 0, 6, -1.5, 3, -6, -1.5, 3, -6, -1.5, 0, 6, -1.5, 3, 6, 1.5, 0, 6, 1.5, 0, -6, 1.5, 3, 6, 1.5, 3, 6, 1.5, 0, -6, 1.5, 3, -6, -1.5, 0, 6, -1.5, 0, -6, 1.5, 0, 6, 1.5, 0, 6, -1.5, 0, -6, 1.5, 0, -6, 1.5, 3, 6, 1.5, 3, -6, -1.5, 3, 6, -1.5, 3, 6, 1.5, 3, -6, -1.5, 3, -6)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_hv7qb"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_e2fuu"]
resource_local_to_scene = true resource_local_to_scene = true
albedo_texture = ExtResource("6_e2fuu") albedo_texture = ExtResource("6_e2fuu")
metallic = 1.0 metallic = 1.0
@ -86,7 +85,7 @@ _surfaces = [{
}] }]
blend_shape_mode = 0 blend_shape_mode = 0
[sub_resource type="ArrayMesh" id="ArrayMesh_wxmii"] [sub_resource type="ArrayMesh" id="ArrayMesh_hv7qb"]
resource_local_to_scene = true resource_local_to_scene = true
_surfaces = [{ _surfaces = [{
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5), "aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
@ -95,7 +94,7 @@ _surfaces = [{
"index_count": 84, "index_count": 84,
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"), "index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")], "lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
"material": SubResource("StandardMaterial3D_hv7qb"), "material": SubResource("StandardMaterial3D_e2fuu"),
"name": "Cube", "name": "Cube",
"primitive": 3, "primitive": 3,
"uv_scale": Vector4(0, 0, 0, 0), "uv_scale": Vector4(0, 0, 0, 0),
@ -105,7 +104,7 @@ _surfaces = [{
blend_shape_mode = 0 blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_isly2") shadow_mesh = SubResource("ArrayMesh_isly2")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_nsdlh"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_wxmii"]
resource_local_to_scene = true resource_local_to_scene = true
albedo_texture = ExtResource("6_e2fuu") albedo_texture = ExtResource("6_e2fuu")
metallic = 1.0 metallic = 1.0
@ -116,7 +115,7 @@ normal_texture = ExtResource("8_wxmii")
ao_enabled = true ao_enabled = true
texture_filter = 2 texture_filter = 2
[sub_resource type="ArrayMesh" id="ArrayMesh_br5h1"] [sub_resource type="ArrayMesh" id="ArrayMesh_nsdlh"]
resource_local_to_scene = true resource_local_to_scene = true
_surfaces = [{ _surfaces = [{
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5), "aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
@ -125,7 +124,7 @@ _surfaces = [{
"index_count": 84, "index_count": 84,
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"), "index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")], "lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
"material": SubResource("StandardMaterial3D_nsdlh"), "material": SubResource("StandardMaterial3D_wxmii"),
"name": "Cube", "name": "Cube",
"primitive": 3, "primitive": 3,
"uv_scale": Vector4(0, 0, 0, 0), "uv_scale": Vector4(0, 0, 0, 0),
@ -135,7 +134,7 @@ _surfaces = [{
blend_shape_mode = 0 blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_isly2") shadow_mesh = SubResource("ArrayMesh_isly2")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qluxd"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_br5h1"]
resource_local_to_scene = true resource_local_to_scene = true
albedo_texture = ExtResource("6_e2fuu") albedo_texture = ExtResource("6_e2fuu")
metallic = 1.0 metallic = 1.0
@ -146,7 +145,7 @@ normal_texture = ExtResource("8_wxmii")
ao_enabled = true ao_enabled = true
texture_filter = 2 texture_filter = 2
[sub_resource type="ArrayMesh" id="ArrayMesh_h6xp0"] [sub_resource type="ArrayMesh" id="ArrayMesh_qluxd"]
resource_local_to_scene = true resource_local_to_scene = true
_surfaces = [{ _surfaces = [{
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5), "aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
@ -155,7 +154,7 @@ _surfaces = [{
"index_count": 84, "index_count": 84,
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"), "index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")], "lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
"material": SubResource("StandardMaterial3D_qluxd"), "material": SubResource("StandardMaterial3D_br5h1"),
"name": "Cube", "name": "Cube",
"primitive": 3, "primitive": 3,
"uv_scale": Vector4(0, 0, 0, 0), "uv_scale": Vector4(0, 0, 0, 0),
@ -241,7 +240,7 @@ data = PackedVector3Array(-1, 0, 0.2, -1, -0.4, 0, -1, 0, -0.2, -1, 0, -0.2, -1,
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_o1heh"] [sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_o1heh"]
data = PackedVector3Array(-1.5, 0, -1.5, -1.5, 0, 1.5, -1.5, 3, -1.5, -1.5, 3, -1.5, -1.5, 0, 1.5, -1.5, 3, 1.5, -1.5, 0, 1.5, -1.5, 0, -1.5, 1.5, 0, 1.5, 1.5, 0, 1.5, -1.5, 0, -1.5, 1.5, 0, -1.5, 1.5, 3, 1.5, 1.5, 3, -1.5, -1.5, 3, 1.5, -1.5, 3, 1.5, 1.5, 3, -1.5, -1.5, 3, -1.5) data = PackedVector3Array(-1.5, 0, -1.5, -1.5, 0, 1.5, -1.5, 3, -1.5, -1.5, 3, -1.5, -1.5, 0, 1.5, -1.5, 3, 1.5, -1.5, 0, 1.5, -1.5, 0, -1.5, 1.5, 0, 1.5, 1.5, 0, 1.5, -1.5, 0, -1.5, 1.5, 0, -1.5, 1.5, 3, 1.5, 1.5, 3, -1.5, -1.5, 3, 1.5, -1.5, 3, 1.5, 1.5, 3, -1.5, -1.5, 3, -1.5)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_irt7r"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_h6xp0"]
resource_local_to_scene = true resource_local_to_scene = true
albedo_texture = ExtResource("6_e2fuu") albedo_texture = ExtResource("6_e2fuu")
metallic = 1.0 metallic = 1.0
@ -267,7 +266,7 @@ _surfaces = [{
}] }]
blend_shape_mode = 0 blend_shape_mode = 0
[sub_resource type="ArrayMesh" id="ArrayMesh_olej6"] [sub_resource type="ArrayMesh" id="ArrayMesh_irt7r"]
resource_local_to_scene = true resource_local_to_scene = true
_surfaces = [{ _surfaces = [{
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5), "aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
@ -276,7 +275,7 @@ _surfaces = [{
"index_count": 84, "index_count": 84,
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"), "index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")], "lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
"material": SubResource("StandardMaterial3D_irt7r"), "material": SubResource("StandardMaterial3D_h6xp0"),
"name": "Cube", "name": "Cube",
"primitive": 3, "primitive": 3,
"uv_scale": Vector4(0, 0, 0, 0), "uv_scale": Vector4(0, 0, 0, 0),
@ -380,17 +379,17 @@ source_gunk_material = ExtResource("7_nsdlh")
[node name="CrateLong" parent="NavigationRegion3D/Corridor1/Hallway1" instance=ExtResource("5_18csx")] [node name="CrateLong" parent="NavigationRegion3D/Corridor1/Hallway1" instance=ExtResource("5_18csx")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0.25, -5.9) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0.25, -5.9)
mesh = SubResource("ArrayMesh_wxmii") mesh = SubResource("ArrayMesh_hv7qb")
skeleton = NodePath("") skeleton = NodePath("")
[node name="CrateLong3" parent="NavigationRegion3D/Corridor1/Hallway1" instance=ExtResource("5_18csx")] [node name="CrateLong3" parent="NavigationRegion3D/Corridor1/Hallway1" instance=ExtResource("5_18csx")]
transform = Transform3D(0.258819, -0.965926, 0, 0.965926, 0.258819, 0, 0, 0, 1, 1.2, 0.426927, -3.9) transform = Transform3D(0.258819, -0.965926, 0, 0.965926, 0.258819, 0, 0, 0, 1, 1.2, 0.426927, -3.9)
mesh = SubResource("ArrayMesh_br5h1") mesh = SubResource("ArrayMesh_nsdlh")
skeleton = NodePath("") skeleton = NodePath("")
[node name="CrateLong2" parent="NavigationRegion3D/Corridor1/Hallway1" instance=ExtResource("5_18csx")] [node name="CrateLong2" parent="NavigationRegion3D/Corridor1/Hallway1" instance=ExtResource("5_18csx")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0.75, -5.9) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0.75, -5.9)
mesh = SubResource("ArrayMesh_h6xp0") mesh = SubResource("ArrayMesh_qluxd")
skeleton = NodePath("") skeleton = NodePath("")
[node name="FloatingDust" parent="NavigationRegion3D/Corridor1/Hallway1" instance=ExtResource("10_br5h1")] [node name="FloatingDust" parent="NavigationRegion3D/Corridor1/Hallway1" instance=ExtResource("10_br5h1")]
@ -526,7 +525,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -1.5)
[node name="CrateLong" parent="NavigationRegion3D/Corridor1/Hallway3" instance=ExtResource("5_18csx")] [node name="CrateLong" parent="NavigationRegion3D/Corridor1/Hallway3" instance=ExtResource("5_18csx")]
transform = Transform3D(-4.37114e-08, -0.965926, 0.258819, 1.77636e-15, 0.258819, 0.965926, -1, 4.2222e-08, -1.13133e-08, 1.06072, 0.789149, 6.6) transform = Transform3D(-4.37114e-08, -0.965926, 0.258819, 1.77636e-15, 0.258819, 0.965926, -1, 4.2222e-08, -1.13133e-08, 1.06072, 0.789149, 6.6)
mesh = SubResource("ArrayMesh_olej6") mesh = SubResource("ArrayMesh_irt7r")
skeleton = NodePath("../..") skeleton = NodePath("../..")
[node name="T-Junction2" type="MeshInstance3D" parent="NavigationRegion3D/Corridor1"] [node name="T-Junction2" type="MeshInstance3D" parent="NavigationRegion3D/Corridor1"]
@ -548,13 +547,6 @@ mesh_instance = NodePath("../..")
initial_mask = ExtResource("5_jj0u7") initial_mask = ExtResource("5_jj0u7")
source_gunk_material = ExtResource("16_x0tbd") source_gunk_material = ExtResource("16_x0tbd")
[node name="MessHallMeetSpookSpawner" type="Marker3D" parent="NavigationRegion3D/Corridor1/T-Junction2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
script = ExtResource("22_tnoo6")
[node name="Target" type="Marker3D" parent="NavigationRegion3D/Corridor1/T-Junction2/MessHallMeetSpookSpawner"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.90735e-06, 0, 21)
[node name="EndCap" type="MeshInstance3D" parent="NavigationRegion3D/Corridor1"] [node name="EndCap" type="MeshInstance3D" parent="NavigationRegion3D/Corridor1"]
transform = Transform3D(2.98023e-08, 1, 0, 4.37114e-08, -1.3027e-15, -1, -1, 2.98023e-08, -4.37114e-08, -28.5, 1.5, -7.5) transform = Transform3D(2.98023e-08, 1, 0, 4.37114e-08, -1.3027e-15, -1, -1, 2.98023e-08, -4.37114e-08, -28.5, 1.5, -7.5)
mesh = ExtResource("23_7rrnb") mesh = ExtResource("23_7rrnb")

View File

@ -1,12 +0,0 @@
extends MeetSpookMob
@onready var model: SlutchBeast = %SlutchBeast
func _process(_delta: float) -> void:
if not is_instance_valid(Player.instance):
return
var face_target := target if state == State.MOVING else Player.instance
var to_target := face_target.global_position - global_position
model.set_target_rotation(atan2(to_target.x, to_target.z))

View File

@ -1,12 +0,0 @@
[gd_scene load_steps=3 format=3 uid="uid://cmmx0j4md4c5p"]
[ext_resource type="Script" uid="uid://ceoi26fevwugu" path="res://src/world/grunk_beast/slutch_beast/meet_spook_slutch/meet_spook_slutch.gd" id="1_peqio"]
[ext_resource type="PackedScene" uid="uid://cvq81xegbwv87" path="res://src/world/grunk_beast/slutch_beast/slutch_beast.tscn" id="2_i6sb8"]
[node name="MeetSpookSlutch" type="Node3D"]
script = ExtResource("1_peqio")
metadata/_custom_type_script = "uid://1trqaximxxmx"
[node name="SlutchBeast" parent="." instance=ExtResource("2_i6sb8")]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.5, 0)

View File

@ -1,29 +0,0 @@
class_name MeetSpook extends Marker3D
## Source for a "meet-spook" event.
##
## When the event conditions are met, the MeetSpook closest to the player prepares contextual
## resources for the event.
const GROUP := "MeetSpookSource"
@export var mob_scene: PackedScene
@export var spawners: Array[MeetSpookSpawner] = []
var event_prepared := false
func prepare() -> void:
if event_prepared:
return
for spawner: MeetSpookSpawner in spawners:
var instance: MeetSpookMob = mob_scene.instantiate()
instance.source = self
spawner.spawn(instance)
event_prepared = true
func resolve() -> void:
for spawner: MeetSpookSpawner in spawners:
spawner.resolve()
event_prepared = false

View File

@ -1 +0,0 @@
uid://cvx514gdjd5ev

View File

@ -1,52 +0,0 @@
class_name MeetSpookMob extends Node3D
## Mob spawned and controlled by a meet-spook event
enum State { WAITING, FREEZE, MOVING }
const BASE_SPEED := 3.0
@export var source: MeetSpook
@export var target: Node3D
@export var freeze_time: float
@export var lifespan: float
var state := State.WAITING
@onready var camera := get_viewport().get_camera_3d()
func activate() -> void:
state = State.FREEZE
get_tree().create_timer(freeze_time).timeout.connect(_unfreeze)
get_tree().create_timer(lifespan).timeout.connect(destroy)
source.resolve()
func is_active() -> bool:
return state != State.WAITING
func move_toward_target(delta: float) -> void:
# Should probably be overridden by implementations
global_position = global_position.move_toward(target.global_position, BASE_SPEED * delta)
func _unfreeze() -> void:
state = State.MOVING
func _physics_process(delta: float) -> void:
match state:
State.WAITING:
# Not yet seen by the player
if SceneTools.player_can_see(global_position):
activate()
State.FREEZE:
# Just stand there for a sec
pass
State.MOVING:
move_toward_target(delta)
func destroy() -> void:
queue_free()

View File

@ -1 +0,0 @@
uid://1trqaximxxmx

View File

@ -1,34 +0,0 @@
class_name MeetSpookSpawner extends Marker3D
## Spawner which is part of a MeetSpook event
## Time to freeze the mob before moving after being spotted, in seconds.
@export var freeze_time := 0.4
## Time after which the mob will despawn after being spotted, in seconds.
@export var mob_lifespan := 1.0
var _instance: MeetSpookMob
func get_target() -> Marker3D:
for c: Node in get_children():
if c is Marker3D:
return c
return null
func spawn(instance: MeetSpookMob) -> void:
if is_instance_valid(_instance):
_instance.queue_free()
_instance = instance
_instance.target = get_target()
_instance.freeze_time = freeze_time
_instance.lifespan = mob_lifespan
add_child(_instance)
_instance.global_transform = global_transform
func resolve() -> void:
## Despawn if instance is not active
if is_instance_valid(_instance) and not _instance.is_active():
_instance.queue_free()

View File

@ -1 +0,0 @@
uid://cisuvlqvqfqgo

View File

@ -50,12 +50,8 @@ func on_alert_raised(new_level: int) -> void:
# Beast avoids the player. # Beast avoids the player.
# Set up meet-spook. # Set up meet-spook.
# Get closest MeetSpook point to player. # Get closest MeetSpook point to player.
if Player.instance: # TODO revise
var closest := ( pass
SceneTools.closest_in_group(Player.instance, MeetSpook.GROUP) as MeetSpook
)
if closest:
closest.prepare()
2: 2:
# LEVEL 2: AGGRESSIVE # LEVEL 2: AGGRESSIVE
# Beast pursues player on sight. # Beast pursues player on sight.