generated from krampus/template-godot4
Removed meet-spook
This commit is contained in:
parent
f88baf1848
commit
d5bbc66242
File diff suppressed because one or more lines are too long
@ -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!"
|
@ -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"]
|
@ -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)
|
||||
)
|
@ -1 +0,0 @@
|
||||
uid://c1gy2b2wcq127
|
@ -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="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="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="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://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"]
|
||||
@ -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"]
|
||||
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
|
||||
albedo_texture = ExtResource("6_e2fuu")
|
||||
metallic = 1.0
|
||||
@ -86,7 +85,7 @@ _surfaces = [{
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_wxmii"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_hv7qb"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -95,7 +94,7 @@ _surfaces = [{
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
|
||||
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
|
||||
"material": SubResource("StandardMaterial3D_hv7qb"),
|
||||
"material": SubResource("StandardMaterial3D_e2fuu"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -105,7 +104,7 @@ _surfaces = [{
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_isly2")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_nsdlh"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_wxmii"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("6_e2fuu")
|
||||
metallic = 1.0
|
||||
@ -116,7 +115,7 @@ normal_texture = ExtResource("8_wxmii")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_br5h1"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_nsdlh"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -125,7 +124,7 @@ _surfaces = [{
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
|
||||
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
|
||||
"material": SubResource("StandardMaterial3D_nsdlh"),
|
||||
"material": SubResource("StandardMaterial3D_wxmii"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -135,7 +134,7 @@ _surfaces = [{
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_isly2")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qluxd"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_br5h1"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("6_e2fuu")
|
||||
metallic = 1.0
|
||||
@ -146,7 +145,7 @@ normal_texture = ExtResource("8_wxmii")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_h6xp0"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_qluxd"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -155,7 +154,7 @@ _surfaces = [{
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
|
||||
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
|
||||
"material": SubResource("StandardMaterial3D_qluxd"),
|
||||
"material": SubResource("StandardMaterial3D_br5h1"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"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"]
|
||||
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
|
||||
albedo_texture = ExtResource("6_e2fuu")
|
||||
metallic = 1.0
|
||||
@ -267,7 +266,7 @@ _surfaces = [{
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_olej6"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_irt7r"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -276,7 +275,7 @@ _surfaces = [{
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"),
|
||||
"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")],
|
||||
"material": SubResource("StandardMaterial3D_irt7r"),
|
||||
"material": SubResource("StandardMaterial3D_h6xp0"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"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")]
|
||||
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("")
|
||||
|
||||
[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)
|
||||
mesh = SubResource("ArrayMesh_br5h1")
|
||||
mesh = SubResource("ArrayMesh_nsdlh")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[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)
|
||||
mesh = SubResource("ArrayMesh_h6xp0")
|
||||
mesh = SubResource("ArrayMesh_qluxd")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[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")]
|
||||
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("../..")
|
||||
|
||||
[node name="T-Junction2" type="MeshInstance3D" parent="NavigationRegion3D/Corridor1"]
|
||||
@ -548,13 +547,6 @@ mesh_instance = NodePath("../..")
|
||||
initial_mask = ExtResource("5_jj0u7")
|
||||
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"]
|
||||
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")
|
||||
|
@ -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))
|
@ -1 +0,0 @@
|
||||
uid://ceoi26fevwugu
|
@ -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)
|
@ -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
|
@ -1 +0,0 @@
|
||||
uid://cvx514gdjd5ev
|
@ -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()
|
@ -1 +0,0 @@
|
||||
uid://1trqaximxxmx
|
@ -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()
|
@ -1 +0,0 @@
|
||||
uid://cisuvlqvqfqgo
|
@ -50,12 +50,8 @@ func on_alert_raised(new_level: int) -> void:
|
||||
# Beast avoids the player.
|
||||
# Set up meet-spook.
|
||||
# Get closest MeetSpook point to player.
|
||||
if Player.instance:
|
||||
var closest := (
|
||||
SceneTools.closest_in_group(Player.instance, MeetSpook.GROUP) as MeetSpook
|
||||
)
|
||||
if closest:
|
||||
closest.prepare()
|
||||
# TODO revise
|
||||
pass
|
||||
2:
|
||||
# LEVEL 2: AGGRESSIVE
|
||||
# Beast pursues player on sight.
|
||||
|
Loading…
x
Reference in New Issue
Block a user