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"