Door and forcefield in TB

This commit is contained in:
Marco 2025-06-25 16:52:31 +02:00
commit 52756defba
18 changed files with 880 additions and 628 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

View file

@ -3862,6 +3862,30 @@
}
// entity 215
{
"classname" "actor_keypad"
"origin" "348 692 36"
"key" "BLUE_KEY"
"target" "door_secret_1"
}
// entity 216
{
"classname" "actor_door_1"
"origin" "304 732 32"
"targetname" "door_secret_1"
}
// entity 217
{
"classname" "actor_forcefield_1"
"origin" "344 720 32"
"targetname" "forcefield_1"
}
// entity 218
{
"classname" "actor_chest_1"
"origin" "264 712 24"
}
// entity 219
{
"classname" "func_group"
"_tb_type" "_tb_layer"
"_tb_name" "Computer Room"
@ -3940,37 +3964,37 @@
( 104 -200 60 ) ( 104 -200 61 ) ( 104 -199 60 ) Manual/Blue_Panel_Wall [ 0 1 0 -16 ] [ 0 0 -1 24 ] 0 1 1
}
}
// entity 216
// entity 220
{
"classname" "actor_table"
"origin" "48 -164 60"
"_tb_layer" "37"
}
// entity 217
// entity 221
{
"classname" "actor_terminal_big"
"origin" "8 -140 68"
"_tb_layer" "37"
}
// entity 218
// entity 222
{
"classname" "actor_terminal_big"
"origin" "8 -164 68"
"_tb_layer" "37"
}
// entity 219
// entity 223
{
"classname" "actor_mainframe"
"origin" "8 -184 68"
"_tb_layer" "37"
}
// entity 220
// entity 224
{
"classname" "actor_mainframe"
"origin" "8 -200 68"
"_tb_layer" "37"
}
// entity 221
// entity 225
{
"classname" "actor_terminal"
"origin" "48 -168 68"

View file

@ -24,4 +24,5 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00500488, 0.00234985, -0.0
shape = SubResource("BoxShape3D_7axon")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0)
mesh = SubResource("QuadMesh_hfile")

View file

@ -0,0 +1,33 @@
[gd_scene load_steps=6 format=3 uid="uid://bd12hm40bg5mt"]
[ext_resource type="Script" uid="uid://qxh76ahgexqa" path="res://Scripts/Interactables/Switch3D.cs" id="1_l7ayv"]
[ext_resource type="Texture2D" uid="uid://d24g1qb40t72l" path="res://Sprites/Button_Small.png" id="2_d7f2j"]
[ext_resource type="AudioStream" uid="uid://bjvklk7qmlivd" path="res://SFX/288963__littlerobotsoundfactory__click_electronic_14.wav" id="3_gv7k2"]
[ext_resource type="PackedScene" uid="uid://qs3vxatub5lc" path="res://3D/BlockbenchModels/Keypad/Key_Pad.gltf" id="4_l7ayv"]
[sub_resource type="SphereShape3D" id="SphereShape3D_itd0i"]
radius = 0.868968
[node name="KeyPad" type="Area3D" groups=["Interactable"]]
collision_layer = 32
collision_mask = 0
script = ExtResource("1_l7ayv")
metadata/_edit_group_ = true
[node name="Sprite3D" type="Sprite3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 0, 0)
visible = false
pixel_size = 0.1
texture_filter = 0
texture = ExtResource("2_d7f2j")
hframes = 4
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
shape = SubResource("SphereShape3D_itd0i")
[node name="ActivationSound" type="AudioStreamPlayer3D" parent="."]
visible = false
stream = ExtResource("3_gv7k2")
bus = &"Effects"
[node name="blockbench_export" parent="." instance=ExtResource("4_l7ayv")]

View file

@ -0,0 +1,29 @@
[gd_resource type="Resource" script_class="FuncGodotFGDBaseClass" load_steps=2 format=3 uid="uid://dwc3j47cgj78j"]
[ext_resource type="Script" uid="uid://6o4wbl0iau0v" path="res://addons/func_godot/src/fgd/func_godot_fgd_base_class.gd" id="1_tkd7e"]
[resource]
script = ExtResource("1_tkd7e")
classname = "Requirement_Key"
description = "Key Requirement"
func_godot_internal = false
base_classes = Array[Resource]([])
class_properties = {
"key": {
"BLUE_KEY": "BLUE_KEY",
"GENERIC_KEY": "GENERIC_KEY",
"GREEN_KEY": "GREEN_KEY",
"RED_KEY": "RED_KEY",
"YELLOW_KEY": "YELLOW_KEY"
}
}
class_property_descriptions = {
"key": "The key to use as requirement"
}
auto_apply_to_matching_node_properties = false
meta_properties = {
"color": Color(0.8, 0.8, 0.8, 1),
"size": AABB(-8, -8, -8, 8, 8, 8)
}
node_class = ""
name_property = ""

View file

@ -0,0 +1,32 @@
[gd_resource type="Resource" script_class="FuncGodotFGDModelPointClass" load_steps=5 format=3 uid="uid://vuuarep4h5w2"]
[ext_resource type="Resource" uid="uid://5bc1qysixhmh" path="res://3D/TrenchBroom/EntityDefinitions/base/actor_base.tres" id="1_3puc0"]
[ext_resource type="Resource" uid="uid://c1utxplehq2jl" path="res://3D/TrenchBroom/EntityDefinitions/base/targetname_base.tres" id="2_7csyq"]
[ext_resource type="PackedScene" uid="uid://c0262d4ffxx1w" path="res://3D/Scenes/Props/Door_Path_3D.tscn" id="3_7csyq"]
[ext_resource type="Script" uid="uid://dkmyelig23ub5" path="res://addons/func_godot/src/fgd/func_godot_fgd_model_point_class.gd" id="3_gqtxh"]
[resource]
script = ExtResource("3_gqtxh")
target_map_editor = 1
models_sub_folder = ""
scale_expression = ""
generate_size_property = false
rotation_offset = Vector3(0, 0, 0)
generate_gd_ignore_file = false
scene_file = ExtResource("3_7csyq")
apply_rotation_on_map_build = true
apply_scale_on_map_build = false
classname = "actor_door_1"
description = "Door Type 1"
func_godot_internal = false
base_classes = Array[Resource]([ExtResource("1_3puc0"), ExtResource("2_7csyq")])
class_properties = {}
class_property_descriptions = {}
auto_apply_to_matching_node_properties = false
meta_properties = {
"model": "\"3D/MapModels/actor_door_1.glb\"",
"size": AABB(-4, -16, -16, 4, 16, 16)
}
node_class = ""
name_property = ""
metadata/_custom_type_script = "uid://c83r7t467hm4m"

View file

@ -0,0 +1,32 @@
[gd_resource type="Resource" script_class="FuncGodotFGDModelPointClass" load_steps=5 format=3 uid="uid://cc881gocw0au4"]
[ext_resource type="Resource" uid="uid://5bc1qysixhmh" path="res://3D/TrenchBroom/EntityDefinitions/base/actor_base.tres" id="1_wufju"]
[ext_resource type="Resource" uid="uid://c1utxplehq2jl" path="res://3D/TrenchBroom/EntityDefinitions/base/targetname_base.tres" id="2_6wd32"]
[ext_resource type="PackedScene" uid="uid://dioiq4nb7kiet" path="res://3D/Scenes/Props/ForceField_3D.tscn" id="3_wufju"]
[ext_resource type="Script" uid="uid://dkmyelig23ub5" path="res://addons/func_godot/src/fgd/func_godot_fgd_model_point_class.gd" id="4_jvva7"]
[resource]
script = ExtResource("4_jvva7")
target_map_editor = 1
models_sub_folder = ""
scale_expression = ""
generate_size_property = false
rotation_offset = Vector3(0, 180, 0)
generate_gd_ignore_file = false
scene_file = ExtResource("3_wufju")
apply_rotation_on_map_build = true
apply_scale_on_map_build = false
classname = "actor_forcefield_1"
description = "Forcefield Type 1"
func_godot_internal = false
base_classes = Array[Resource]([ExtResource("1_wufju"), ExtResource("2_6wd32")])
class_properties = {}
class_property_descriptions = {}
auto_apply_to_matching_node_properties = false
meta_properties = {
"model": "\"3D/MapModels/actor_forcefield_1.glb\"",
"size": AABB(-4, -16, -16, 4, 16, 16)
}
node_class = ""
name_property = ""
metadata/_custom_type_script = "uid://c83r7t467hm4m"

View file

@ -6,7 +6,7 @@
[resource]
script = ExtResource("3_6p0lm")
target_map_editor = 0
target_map_editor = 1
models_sub_folder = ""
scale_expression = ""
generate_size_property = false
@ -23,9 +23,7 @@ class_properties = {}
class_property_descriptions = {}
auto_apply_to_matching_node_properties = false
meta_properties = {
"model": "\"3D/MapModels/Barrel3DModel.glb\"",
"size": AABB(-8, -8, -8, 8, 8, 8),
"studio": "\"3D/MapModels/actor_chest_1.glb\""
"size": AABB(-8, -8, -8, 8, 8, 8)
}
node_class = ""
name_property = ""

View file

@ -0,0 +1,32 @@
[gd_resource type="Resource" script_class="FuncGodotFGDModelPointClass" load_steps=6 format=3 uid="uid://1ew6u5xe3xhb"]
[ext_resource type="Resource" uid="uid://5bc1qysixhmh" path="res://3D/TrenchBroom/EntityDefinitions/base/actor_base.tres" id="1_ercjo"]
[ext_resource type="Resource" uid="uid://kerywjgft7vh" path="res://3D/TrenchBroom/EntityDefinitions/base/target_base.tres" id="2_wyj6h"]
[ext_resource type="Resource" uid="uid://dwc3j47cgj78j" path="res://3D/TrenchBroom/EntityDefinitions/base/requirement_key_base.tres" id="3_wyj6h"]
[ext_resource type="Script" uid="uid://dkmyelig23ub5" path="res://addons/func_godot/src/fgd/func_godot_fgd_model_point_class.gd" id="4_8crxf"]
[ext_resource type="PackedScene" uid="uid://bd12hm40bg5mt" path="res://3D/Scenes/Props/Key_Pad_3D.tscn" id="4_wyj6h"]
[resource]
script = ExtResource("4_8crxf")
target_map_editor = 1
models_sub_folder = ""
scale_expression = ""
generate_size_property = false
rotation_offset = Vector3(0, 180, 0)
generate_gd_ignore_file = false
scene_file = ExtResource("4_wyj6h")
apply_rotation_on_map_build = true
apply_scale_on_map_build = false
classname = "actor_keypad"
description = "Key Pad"
func_godot_internal = false
base_classes = Array[Resource]([ExtResource("1_ercjo"), ExtResource("2_wyj6h"), ExtResource("3_wyj6h")])
class_properties = {}
class_property_descriptions = {}
auto_apply_to_matching_node_properties = false
meta_properties = {
"size": AABB(-4, -4, -4, 4, 4, 4)
}
node_class = ""
name_property = ""
metadata/_custom_type_script = "uid://c83r7t467hm4m"

View file

@ -1,4 +1,4 @@
[gd_resource type="Resource" script_class="FuncGodotFGDFile" load_steps=10 format=3 uid="uid://onsfttdpojex"]
[gd_resource type="Resource" script_class="FuncGodotFGDFile" load_steps=11 format=3 uid="uid://onsfttdpojex"]
[ext_resource type="Resource" uid="uid://kerywjgft7vh" path="res://3D/TrenchBroom/EntityDefinitions/base/target_base.tres" id="1_abw2p"]
[ext_resource type="Script" uid="uid://cknmd0lgmorx2" path="res://addons/func_godot/src/fgd/func_godot_fgd_file.gd" id="1_p3xok"]
@ -9,6 +9,7 @@
[ext_resource type="Resource" uid="uid://bfjnt8q3l2p65" path="res://3D/TrenchBroom/EntityDefinitions/base/func_base.tres" id="6_1xsdl"]
[ext_resource type="Resource" uid="uid://ermxog0n4mvn" path="res://3D/TrenchBroom/EntityDefinitions/base/trigger_base.tres" id="7_2isdf"]
[ext_resource type="Resource" uid="uid://di5wnbv5icxtq" path="res://3D/TrenchBroom/EntityDefinitions/base/dialogue_base.tres" id="8_2isdf"]
[ext_resource type="Resource" uid="uid://dwc3j47cgj78j" path="res://3D/TrenchBroom/EntityDefinitions/base/requirement_key_base.tres" id="9_htav4"]
[resource]
script = ExtResource("1_p3xok")
@ -16,5 +17,5 @@ export_file = false
target_map_editor = 1
fgd_name = "FuncGodot"
base_fgd_files = Array[Resource]([])
entity_definitions = Array[Resource]([ExtResource("1_abw2p"), ExtResource("2_entxp"), ExtResource("1_wfoxw"), ExtResource("5_mkw5g"), ExtResource("2_abw2p"), ExtResource("6_1xsdl"), ExtResource("7_2isdf"), ExtResource("8_2isdf")])
entity_definitions = Array[Resource]([ExtResource("1_abw2p"), ExtResource("2_entxp"), ExtResource("1_wfoxw"), ExtResource("5_mkw5g"), ExtResource("2_abw2p"), ExtResource("6_1xsdl"), ExtResource("7_2isdf"), ExtResource("8_2isdf"), ExtResource("9_htav4")])
metadata/_custom_type_script = "uid://cknmd0lgmorx2"

View file

@ -1,4 +1,4 @@
[gd_resource type="Resource" script_class="FuncGodotFGDFile" load_steps=30 format=3 uid="uid://b700sa4be6dfa"]
[gd_resource type="Resource" script_class="FuncGodotFGDFile" load_steps=33 format=3 uid="uid://b700sa4be6dfa"]
[ext_resource type="Resource" uid="uid://ia1t5p4mhom3" path="res://3D/TrenchBroom/EntityDefinitions/point/lights/light_omni.tres" id="1_7vcj1"]
[ext_resource type="Script" uid="uid://cknmd0lgmorx2" path="res://addons/func_godot/src/fgd/func_godot_fgd_file.gd" id="1_lykim"]
@ -29,6 +29,9 @@
[ext_resource type="Resource" uid="uid://clbpsv6t4qamd" path="res://3D/TrenchBroom/EntityDefinitions/point/actors/Actor_Furniture_Shelf.tres" id="26_v48k5"]
[ext_resource type="Resource" uid="uid://cdlo7qrub1bbd" path="res://3D/TrenchBroom/EntityDefinitions/point/actors/Actor_Furniture_Can.tres" id="27_ombvk"]
[ext_resource type="Resource" uid="uid://ocl6a6lorlxa" path="res://3D/TrenchBroom/EntityDefinitions/point/actors/Actor_Furniture_Box.tres" id="28_31lma"]
[ext_resource type="Resource" uid="uid://1ew6u5xe3xhb" path="res://3D/TrenchBroom/EntityDefinitions/point/actors/actor_keypad.tres" id="29_louv0"]
[ext_resource type="Resource" uid="uid://vuuarep4h5w2" path="res://3D/TrenchBroom/EntityDefinitions/point/actors/Actor_Door.tres" id="30_wfgfu"]
[ext_resource type="Resource" uid="uid://cc881gocw0au4" path="res://3D/TrenchBroom/EntityDefinitions/point/actors/Actor_Forcefield.tres" id="31_elv2e"]
[resource]
script = ExtResource("1_lykim")
@ -36,5 +39,5 @@ export_file = false
target_map_editor = 1
fgd_name = "FuncGodot"
base_fgd_files = Array[Resource]([])
entity_definitions = Array[Resource]([ExtResource("1_7vcj1"), ExtResource("2_u7uvb"), ExtResource("3_u7uvb"), ExtResource("4_1nmxk"), ExtResource("5_ljb2x"), ExtResource("6_seuvu"), ExtResource("7_fmwex"), ExtResource("8_c8m8m"), ExtResource("9_14sjf"), ExtResource("10_xik3w"), ExtResource("11_dgiqm"), ExtResource("12_1teik"), ExtResource("13_f0hti"), ExtResource("14_6ld6e"), ExtResource("15_g8j5j"), ExtResource("16_7h4of"), ExtResource("17_m3sbm"), ExtResource("18_m3sbm"), ExtResource("19_hvhb8"), ExtResource("20_3v5us"), ExtResource("21_g67cj"), ExtResource("22_iy67w"), ExtResource("23_b5lmu"), ExtResource("24_ndas4"), ExtResource("25_n7wsi"), ExtResource("26_v48k5"), ExtResource("27_ombvk"), ExtResource("28_31lma")])
entity_definitions = Array[Resource]([ExtResource("1_7vcj1"), ExtResource("2_u7uvb"), ExtResource("3_u7uvb"), ExtResource("4_1nmxk"), ExtResource("5_ljb2x"), ExtResource("6_seuvu"), ExtResource("7_fmwex"), ExtResource("8_c8m8m"), ExtResource("9_14sjf"), ExtResource("10_xik3w"), ExtResource("11_dgiqm"), ExtResource("12_1teik"), ExtResource("13_f0hti"), ExtResource("14_6ld6e"), ExtResource("15_g8j5j"), ExtResource("16_7h4of"), ExtResource("17_m3sbm"), ExtResource("18_m3sbm"), ExtResource("19_hvhb8"), ExtResource("20_3v5us"), ExtResource("21_g67cj"), ExtResource("22_iy67w"), ExtResource("23_b5lmu"), ExtResource("24_ndas4"), ExtResource("25_n7wsi"), ExtResource("26_v48k5"), ExtResource("27_ombvk"), ExtResource("28_31lma"), ExtResource("29_louv0"), ExtResource("30_wfgfu"), ExtResource("31_elv2e")])
metadata/_custom_type_script = "uid://cknmd0lgmorx2"