Slutch meet-spook
All checks were successful
linting & formatting / build (push) Successful in 18s
itch.io publish action / build (linux64, x86_64) (push) Successful in 1m53s
itch.io publish action / build (osx, app) (push) Successful in 1m55s
itch.io publish action / build (win64, exe) (push) Successful in 1m59s

This commit is contained in:
Rob Kelly 2025-04-18 21:55:40 -06:00
parent f2de25ab0f
commit 538c3d8d69
9 changed files with 48 additions and 14 deletions

View File

@ -73,9 +73,9 @@
[ext_resource type="Script" uid="uid://cvx514gdjd5ev" path="res://src/world/meet_spook/meet_spook.gd" id="49_dxmep"]
[ext_resource type="Material" uid="uid://dva6ivs2hap53" path="res://levels/ghost_ship/guide_sign/medbay_sign.material" id="50_h1nog"]
[ext_resource type="Texture2D" uid="uid://23uupxc78b8n" path="res://assets/level/floor/floor_1_R.png" id="50_ii88q"]
[ext_resource type="PackedScene" uid="uid://8m6kh4f6pily" path="res://levels/meet_spook_test/debug_mob.tscn" id="51_4akax"]
[ext_resource type="Material" uid="uid://bo81yn72cb0bq" path="res://levels/ghost_ship/guide_sign/cargo_bay_sign.material" id="51_pifep"]
[ext_resource type="Script" uid="uid://cisuvlqvqfqgo" path="res://src/world/meet_spook/meet_spook_spawner.gd" id="52_4akax"]
[ext_resource type="PackedScene" uid="uid://cmmx0j4md4c5p" path="res://src/world/grunk_beast/slutch_beast/meet_spook_slutch/meet_spook_slutch.tscn" id="56_vt4uw"]
[ext_resource type="Texture2D" uid="uid://dc3k6nnaddy0c" path="res://assets/props/railing/railing_C.png" id="69_7ctwk"]
[ext_resource type="Texture2D" uid="uid://dgyk61lmv3q66" path="res://assets/props/railing/railing_M.png" id="70_v4tkv"]
[ext_resource type="PackedScene" uid="uid://h2gswdcxyotk" path="res://src/props/med_cart/med_cart.tscn" id="70_wqqoq"]
@ -1770,6 +1770,7 @@ shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="MessHallMeetSpookSpawner" type="Marker3D" parent="BeastNav/Corridor1/T-Junction2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
script = ExtResource("52_4akax")
mob_lifespan = 3.0
[node name="Target" type="Marker3D" parent="BeastNav/Corridor1/T-Junction2/MessHallMeetSpookSpawner"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.90735e-06, 0, 21)
@ -2281,12 +2282,13 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.02038, 0.918166, 3.76037)
[node name="MessHallMeetSpook" type="Marker3D" parent="BeastNav/MessHall" node_paths=PackedStringArray("spawners") groups=["MeetSpookSource"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.5, 1.5, 5.1)
script = ExtResource("49_dxmep")
mob_scene = ExtResource("51_4akax")
mob_scene = ExtResource("56_vt4uw")
spawners = [NodePath("../../Corridor1/T-Junction2/MessHallMeetSpookSpawner"), NodePath("../../Corridor2/T-Junction1/MessHallMeetSpookSpawner"), NodePath("../../Medbay/MessHallMeetSpookSpawner")]
[node name="MedbayMeetSpookSpawner" type="Marker3D" parent="BeastNav/MessHall"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, 1.5, 2.1)
script = ExtResource("52_4akax")
mob_lifespan = 3.0
[node name="Target" type="Marker3D" parent="BeastNav/MessHall/MedbayMeetSpookSpawner"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 6)
@ -2387,6 +2389,7 @@ mesh = SubResource("ArrayMesh_48a1a")
[node name="MessHallMeetSpookSpawner" type="Marker3D" parent="BeastNav/Corridor2/T-Junction1"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
script = ExtResource("52_4akax")
mob_lifespan = 3.0
[node name="Target" type="Marker3D" parent="BeastNav/Corridor2/T-Junction1/MessHallMeetSpookSpawner"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -12)
@ -2394,6 +2397,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -12)
[node name="CrewQuartersMeetSpookSpawner" type="Marker3D" parent="BeastNav/Corridor2/T-Junction1"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
script = ExtResource("52_4akax")
mob_lifespan = 3.0
[node name="Target" type="Marker3D" parent="BeastNav/Corridor2/T-Junction1/CrewQuartersMeetSpookSpawner"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 0)
@ -3121,7 +3125,7 @@ transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -3, 3,
[node name="CrewQuartersMeetSpook" type="Marker3D" parent="BeastNav/CrewQuarters" node_paths=PackedStringArray("spawners") groups=["MeetSpookSource"]]
script = ExtResource("49_dxmep")
mob_scene = ExtResource("51_4akax")
mob_scene = ExtResource("56_vt4uw")
spawners = [NodePath("../../Corridor2/T-Junction1/CrewQuartersMeetSpookSpawner"), NodePath("../../Corridor3/T-Junction1/CrewQuartersMeetSpookSpawner")]
metadata/_custom_type_script = "uid://cvx514gdjd5ev"
@ -3213,6 +3217,7 @@ shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="CrewQuartersMeetSpookSpawner" type="Marker3D" parent="BeastNav/Corridor3/T-Junction1"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
script = ExtResource("52_4akax")
mob_lifespan = 3.0
[node name="Target" type="Marker3D" parent="BeastNav/Corridor3/T-Junction1/CrewQuartersMeetSpookSpawner"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.62268e-06, 0, -30)
@ -3220,6 +3225,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.62268e-06, 0, -30)
[node name="OpsMeetSpookSpawner" type="Marker3D" parent="BeastNav/Corridor3/T-Junction1"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
script = ExtResource("52_4akax")
mob_lifespan = 3.0
[node name="Target" type="Marker3D" parent="BeastNav/Corridor3/T-Junction1/OpsMeetSpookSpawner"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 0, 0)
@ -3287,6 +3293,7 @@ shape = SubResource("ConcavePolygonShape3D_if0c2")
[node name="MedbayMeetSpookSpawner" type="Marker3D" parent="BeastNav/Corridor3/T-Junction3"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.38419e-07, 1.5, 0)
script = ExtResource("52_4akax")
mob_lifespan = 3.0
[node name="Target" type="Marker3D" parent="BeastNav/Corridor3/T-Junction3/MedbayMeetSpookSpawner"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.14722e-06, 0, 42)
@ -4058,13 +4065,14 @@ outline_size = 24
[node name="MessHallMeetSpookSpawner" type="Marker3D" parent="BeastNav/Medbay"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 1.5, -12)
script = ExtResource("52_4akax")
mob_lifespan = 3.0
[node name="Target" type="Marker3D" parent="BeastNav/Medbay/MessHallMeetSpookSpawner"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 15)
[node name="MedbayMeetSpook" type="Marker3D" parent="BeastNav/Medbay" node_paths=PackedStringArray("spawners") groups=["MeetSpookSource"]]
script = ExtResource("49_dxmep")
mob_scene = ExtResource("51_4akax")
mob_scene = ExtResource("56_vt4uw")
spawners = [NodePath("../../MessHall/MedbayMeetSpookSpawner"), NodePath("../../Corridor3/T-Junction3/MedbayMeetSpookSpawner")]
metadata/_custom_type_script = "uid://cvx514gdjd5ev"
@ -5032,7 +5040,7 @@ transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 3,
[node name="OpsMeetSpook" type="Marker3D" parent="BeastNav/OpsCenter" groups=["MeetSpookSource"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -4.5)
script = ExtResource("49_dxmep")
mob_scene = ExtResource("51_4akax")
mob_scene = ExtResource("56_vt4uw")
metadata/_custom_type_script = "uid://cvx514gdjd5ev"
[node name="CargoBay" type="Node3D" parent="BeastNav"]

View File

@ -3,7 +3,7 @@
[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://8m6kh4f6pily" path="res://levels/meet_spook_test/debug_mob.tscn" id="5_cr4pm"]
[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"]
@ -69,7 +69,7 @@ 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("5_cr4pm")
mob_scene = ExtResource("4_cr4pm")
spawners = [NodePath("../MeetSpookSpawner"), NodePath("../MeetSpookSpawner2")]
metadata/_custom_type_script = "uid://cvx514gdjd5ev"

View File

@ -214,10 +214,10 @@ anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -401.541
offset_top = -299.173
offset_right = -401.541
offset_bottom = -299.173
offset_left = -400.393
offset_top = -300.207
offset_right = -400.393
offset_bottom = -300.207
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("4_ud8na")

View File

@ -9,6 +9,7 @@ const DEST_KEY := "stalking_target"
func tick(_actor: Node, blackboard: Blackboard) -> int:
@warning_ignore("unsafe_cast")
var target := blackboard.get_value(SOURCE_KEY) as Node3D
if not is_instance_valid(target):
return FAILURE

View File

@ -218,7 +218,7 @@ metadata/_custom_type_script = "uid://om57w2acvgb7"
script = ExtResource("11_mbqcc")
mean_time = 4.0
st_dev_time = 0.6
wait_time = 4.72586
wait_time = 3.52038
metadata/_custom_type_script = "uid://beyk2xtbjrsg4"
[node name="RandomStalkingBehavior" type="Node" parent="GrunkBeastBehavior/StateSelector/StalkingSequence/RandomDelay"]
@ -264,7 +264,7 @@ metadata/_custom_type_script = "uid://cg016dbe7gs1x"
script = ExtResource("11_mbqcc")
mean_time = 5.0
st_dev_time = 1.0
wait_time = 4.0544
wait_time = 5.84132
metadata/_custom_type_script = "uid://beyk2xtbjrsg4"
[node name="PickRandomLurkTarget" type="Node" parent="GrunkBeastBehavior/StateSelector/LurkSequence/RandomDelay"]

View File

@ -0,0 +1,12 @@
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

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

View File

@ -0,0 +1,12 @@
[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

@ -3,7 +3,7 @@ class_name MeetSpookMob extends Node3D
enum State { WAITING, FREEZE, MOVING }
const BASE_SPEED := 4.0
const BASE_SPEED := 3.0
@export var source: MeetSpook
@export var target: Node3D