Trenchbroom support for health and destruction

This commit is contained in:
Marco 2025-08-27 18:17:17 +02:00
commit 823886b4ce
19 changed files with 2064 additions and 1398 deletions

View file

@ -7,6 +7,14 @@
[resource]
script = ExtResource("3_ql3xv")
classname = "Destroyable"
description = "Destroyable actor with the ability to send a signal on death"
description = "Destroyable actor with the ability to send a signal on death and specify health"
base_classes = Array[Resource]([ExtResource("2_h557v"), ExtResource("3_njkdc")])
class_properties = {
"health": 10.0,
"indestructible": false
}
class_property_descriptions = {
"health": "How many hitpoints it has",
"indestructible": "Is it invulnerable?"
}
metadata/_custom_type_script = "uid://blhmvtghs553u"

View file

@ -0,0 +1,24 @@
[gd_resource type="Resource" script_class="FuncGodotFGDModelPointClass" load_steps=5 format=3 uid="uid://b4cf1i0x46ej4"]
[ext_resource type="Resource" uid="uid://0u5qbphjq045" path="res://3D/TrenchBroom/EntityDefinitions/base/emitter_base.tres" id="1_pc1hj"]
[ext_resource type="Resource" uid="uid://dl5gtmotc4g6a" path="res://3D/TrenchBroom/EntityDefinitions/base/destroyable_base.tres" id="2_p7asn"]
[ext_resource type="PackedScene" uid="uid://d4ek8xjuh6y11" path="res://3D/Scenes/Props/Floor_Emitter_3D.tscn" id="3_pc1hj"]
[ext_resource type="Script" uid="uid://dkmyelig23ub5" path="res://addons/func_godot/src/fgd/func_godot_fgd_model_point_class.gd" id="4_oeoss"]
[resource]
script = ExtResource("4_oeoss")
target_map_editor = 1
rotation_offset = Vector3(0, 180, 0)
scene_file = ExtResource("3_pc1hj")
apply_scale_on_map_build = false
classname = "actor_emitter_floor"
description = "Floor Emitter"
base_classes = Array[Resource]([ExtResource("1_pc1hj"), ExtResource("2_p7asn")])
class_properties = {
"health": 5.0
}
meta_properties = {
"model": "\"3D/MapModels/actor_emitter_floor.glb\"",
"size": AABB(-4, -4, -4, 4, 4, 4)
}
metadata/_custom_type_script = "uid://c83r7t467hm4m"

View file

@ -1,6 +1,7 @@
[gd_resource type="Resource" script_class="FuncGodotFGDModelPointClass" load_steps=4 format=3 uid="uid://oeoksvwbqvnf"]
[gd_resource type="Resource" script_class="FuncGodotFGDModelPointClass" load_steps=5 format=3 uid="uid://oeoksvwbqvnf"]
[ext_resource type="Resource" uid="uid://0u5qbphjq045" path="res://3D/TrenchBroom/EntityDefinitions/base/emitter_base.tres" id="1_1ofar"]
[ext_resource type="Resource" uid="uid://dl5gtmotc4g6a" path="res://3D/TrenchBroom/EntityDefinitions/base/destroyable_base.tres" id="2_iguyw"]
[ext_resource type="PackedScene" uid="uid://yath5bvxo3cn" path="res://3D/Scenes/Props/Wall_Emitter_3D.tscn" id="4_wgr2p"]
[ext_resource type="Script" uid="uid://dkmyelig23ub5" path="res://addons/func_godot/src/fgd/func_godot_fgd_model_point_class.gd" id="5_a0kra"]
@ -12,7 +13,10 @@ scene_file = ExtResource("4_wgr2p")
apply_scale_on_map_build = false
classname = "actor_emitter_wall"
description = "Wall Emitter"
base_classes = Array[Resource]([ExtResource("1_1ofar")])
base_classes = Array[Resource]([ExtResource("1_1ofar"), ExtResource("2_iguyw")])
class_properties = {
"health": 5.0
}
meta_properties = {
"model": "\"3D/MapModels/actor_emitter_wall.glb\"",
"size": AABB(-4, -4, -4, 4, 4, 4)

View file

@ -16,6 +16,7 @@ classname = "actor_controlpad"
description = "Control Pad"
base_classes = Array[Resource]([ExtResource("1_5ms1a"), ExtResource("2_65tcb"), ExtResource("3_ybdcc")])
meta_properties = {
"model": "\"3D/MapModels/actor_controlpad.glb\"",
"size": AABB(-4, -4, -4, 4, 4, 4)
}
metadata/_custom_type_script = "uid://c83r7t467hm4m"

View file

@ -1,4 +1,4 @@
[gd_resource type="Resource" script_class="FuncGodotFGDFile" load_steps=46 format=3 uid="uid://b700sa4be6dfa"]
[gd_resource type="Resource" script_class="FuncGodotFGDFile" load_steps=47 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"]
@ -45,8 +45,9 @@
[ext_resource type="Resource" uid="uid://concvsutqjff2" path="res://3D/TrenchBroom/EntityDefinitions/point/actors/Actor_Emitter_Tube.tres" id="42_ekplg"]
[ext_resource type="Resource" uid="uid://oeoksvwbqvnf" path="res://3D/TrenchBroom/EntityDefinitions/point/actors/Actor_Emitter_Wall.tres" id="43_d7qk0"]
[ext_resource type="Resource" uid="uid://dd7haabidbq5s" path="res://3D/TrenchBroom/EntityDefinitions/point/actors/actor_tank_standalone.tres" id="44_k6g2u"]
[ext_resource type="Resource" uid="uid://b4cf1i0x46ej4" path="res://3D/TrenchBroom/EntityDefinitions/point/actors/Actor_Emitter_Floor.tres" id="45_b4ckg"]
[resource]
script = ExtResource("1_lykim")
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"), ExtResource("32_elv2e"), ExtResource("33_aawmv"), ExtResource("34_wy0ht"), ExtResource("35_3jqmy"), ExtResource("36_p5b6l"), ExtResource("37_53o7h"), ExtResource("38_mdgca"), ExtResource("39_d6b4f"), ExtResource("40_l3pck"), ExtResource("41_q8hab"), ExtResource("42_ekplg"), ExtResource("43_d7qk0"), ExtResource("44_k6g2u")])
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"), ExtResource("32_elv2e"), ExtResource("33_aawmv"), ExtResource("34_wy0ht"), ExtResource("35_3jqmy"), ExtResource("36_p5b6l"), ExtResource("37_53o7h"), ExtResource("38_mdgca"), ExtResource("39_d6b4f"), ExtResource("40_l3pck"), ExtResource("41_q8hab"), ExtResource("42_ekplg"), ExtResource("43_d7qk0"), ExtResource("44_k6g2u"), ExtResource("45_b4ckg")])
metadata/_custom_type_script = "uid://cknmd0lgmorx2"