Falling props

This commit is contained in:
MaddoScientisto 2025-07-04 22:55:28 +02:00
commit 4728677e80
45 changed files with 171 additions and 540 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -30,7 +30,7 @@
[ext_resource type="Material" uid="uid://c47ulvm6n2tgk" path="res://textures/Floors/Floor228.tres" id="19_ue087"]
[ext_resource type="Material" uid="uid://bchj40rv0q85g" path="res://textures/Floors/Floor255.tres" id="20_4fwvw"]
[ext_resource type="Material" uid="uid://dnegblycwcpc8" path="res://textures/Manual/Blue_Panel_Wall.tres" id="20_aae8v"]
[ext_resource type="Material" path="res://textures/Manual/Chevron.tres" id="20_r2p4f"]
[ext_resource type="Material" uid="uid://dfs1tc2ry78pb" path="res://textures/Manual/Chevron.tres" id="20_r2p4f"]
[ext_resource type="Material" uid="uid://bh0uo0cm3cr15" path="res://textures/Various/Various6.tres" id="21_81m4u"]
[ext_resource type="Material" uid="uid://kdc67iah8mtf" path="res://textures/Manual/Glass_002.tres" id="21_c8lhx"]
[ext_resource type="Material" uid="uid://crk5xgfn3svey" path="res://textures/Floors/Floor178.tres" id="21_cr7d0"]
@ -4591,6 +4591,7 @@ metadata/_tb_type = "_tb_layer"
[node name="entity_264_func_shroud" type="StaticBody3D" parent="FuncGodotMap/layer_1_Shrouds"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22.75, 0.53125, -5.25)
visible = false
script = ExtResource("96_pioc6")
TargetName = "secret_door_1"
OneTime = true
@ -4606,6 +4607,7 @@ occluder = SubResource("ArrayOccluder3D_jxd7w")
[node name="entity_265_func_shroud" type="StaticBody3D" parent="FuncGodotMap/layer_1_Shrouds"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17.75, 0.53125, -7.875)
visible = false
script = ExtResource("96_pioc6")
TargetName = "secret_door_1"
OneTime = true
@ -4621,6 +4623,7 @@ occluder = SubResource("ArrayOccluder3D_duyn0")
[node name="entity_266_func_shroud" type="StaticBody3D" parent="FuncGodotMap/layer_1_Shrouds"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.25, 3.03125, 19)
visible = false
script = ExtResource("96_pioc6")
TargetName = "door5"
OneTime = true
@ -4636,6 +4639,7 @@ occluder = SubResource("ArrayOccluder3D_11fj7")
[node name="entity_267_func_shroud" type="StaticBody3D" parent="FuncGodotMap/layer_1_Shrouds"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12.375, 0.53125, -7.875)
visible = false
script = ExtResource("96_pioc6")
TargetName = "secret_door_1"
OneTime = true
@ -4651,6 +4655,7 @@ occluder = SubResource("ArrayOccluder3D_h4q2n")
[node name="entity_268_func_shroud" type="StaticBody3D" parent="FuncGodotMap/layer_1_Shrouds"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 17.75, 0.53125, -2.375)
visible = false
script = ExtResource("96_pioc6")
TargetName = "secret_door_2"
OneTime = true

View file

@ -1,20 +1,44 @@
[gd_scene load_steps=5 format=3 uid="uid://br01ww57uaky5"]
[gd_scene load_steps=8 format=3 uid="uid://br01ww57uaky5"]
[ext_resource type="Script" uid="uid://ccxnvbthsvka3" path="res://Scripts/Actors/Destructible3D.cs" id="1_hsg1w"]
[ext_resource type="PackedScene" uid="uid://hxn4awevjyui" path="res://3D/BlockbenchModels/Box/Box_Blue.gltf" id="1_ropdl"]
[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/3D/Explosion_Harmless_Small_3D.tres" id="2_cn5xh"]
[ext_resource type="Script" uid="uid://ddsqqfx1usc3j" path="res://Scripts/Resources/DamageResistance.cs" id="3_kh78t"]
[ext_resource type="Script" uid="uid://hkmutmmjqh1e" path="res://Scripts/Actors/3D/PropGravityModule3D.cs" id="5_0ktp8"]
[sub_resource type="BoxShape3D" id="BoxShape3D_hsg1w"]
size = Vector3(0.763428, 0.469452, 0.77832)
[sub_resource type="BoxShape3D" id="BoxShape3D_0ktp8"]
size = Vector3(0.60668945, 0.09439087, 0.595726)
[node name="BoxBlue" type="StaticBody3D" groups=["Destroyable"]]
collision_layer = 16
collision_mask = 0
axis_lock_linear_x = true
axis_lock_linear_z = true
axis_lock_angular_x = true
axis_lock_angular_y = true
axis_lock_angular_z = true
script = ExtResource("1_hsg1w")
ExplosionData = ExtResource("2_cn5xh")
DamageResistances = Array[ExtResource("3_kh78t")]([])
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00549316, 0.0253752, -0.000488281)
shape = SubResource("BoxShape3D_hsg1w")
[node name="blockbench_export" parent="." instance=ExtResource("1_ropdl")]
[node name="Node" type="Area3D" parent="."]
collision_layer = 0
collision_mask = 17
script = ExtResource("5_0ktp8")
FallingSpeed = -2.0
[node name="CollisionShape3D" type="CollisionShape3D" parent="Node"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.024291992, -0.19599915, 0.013088226)
shape = SubResource("BoxShape3D_0ktp8")
[connection signal="body_entered" from="Node" to="Node" method="OnBodyEntered"]
[connection signal="body_exited" from="Node" to="Node" method="OnBodyExited"]

View file

@ -1,20 +1,39 @@
[gd_scene load_steps=5 format=3 uid="uid://c8wwioforxms3"]
[gd_scene load_steps=8 format=3 uid="uid://c8wwioforxms3"]
[ext_resource type="PackedScene" uid="uid://c5k6rsawax3gf" path="res://3D/BlockbenchModels/Box/Box_Green.gltf" id="1_03sp0"]
[ext_resource type="Script" uid="uid://ccxnvbthsvka3" path="res://Scripts/Actors/Destructible3D.cs" id="1_e6kl3"]
[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/3D/Explosion_Harmless_Small_3D.tres" id="2_bguu7"]
[ext_resource type="Script" uid="uid://ddsqqfx1usc3j" path="res://Scripts/Resources/DamageResistance.cs" id="3_fntiw"]
[ext_resource type="Script" uid="uid://hkmutmmjqh1e" path="res://Scripts/Actors/3D/PropGravityModule3D.cs" id="5_jb4do"]
[sub_resource type="BoxShape3D" id="BoxShape3D_hsg1w"]
size = Vector3(0.763428, 0.469452, 0.77832)
[sub_resource type="BoxShape3D" id="BoxShape3D_6tetb"]
size = Vector3(0.60668945, 0.09439087, 0.595726)
[node name="BoxBlue" type="StaticBody3D" groups=["Destroyable"]]
collision_layer = 16
collision_mask = 0
script = ExtResource("1_e6kl3")
ExplosionData = ExtResource("2_bguu7")
DamageResistances = Array[ExtResource("3_fntiw")]([])
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00549316, 0.0253752, -0.000488281)
shape = SubResource("BoxShape3D_hsg1w")
[node name="blockbench_export" parent="." instance=ExtResource("1_03sp0")]
[node name="Node" type="Area3D" parent="."]
collision_layer = 0
collision_mask = 17
script = ExtResource("5_jb4do")
FallingSpeed = -2.0
[node name="CollisionShape3D" type="CollisionShape3D" parent="Node"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.024291992, -0.19599915, 0.013088226)
shape = SubResource("BoxShape3D_6tetb")
[connection signal="body_entered" from="Node" to="Node" method="OnBodyEntered"]
[connection signal="body_exited" from="Node" to="Node" method="OnBodyExited"]

View file

@ -1,20 +1,39 @@
[gd_scene load_steps=5 format=3 uid="uid://jffyxmft3nbw"]
[gd_scene load_steps=8 format=3 uid="uid://jffyxmft3nbw"]
[ext_resource type="PackedScene" uid="uid://ninnis3a3jbn" path="res://3D/BlockbenchModels/Box/Box_Red.gltf" id="1_fi646"]
[ext_resource type="Script" uid="uid://ccxnvbthsvka3" path="res://Scripts/Actors/Destructible3D.cs" id="1_kvqx7"]
[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/3D/Explosion_Harmless_Small_3D.tres" id="2_jolck"]
[ext_resource type="Script" uid="uid://ddsqqfx1usc3j" path="res://Scripts/Resources/DamageResistance.cs" id="3_7px86"]
[ext_resource type="Script" uid="uid://hkmutmmjqh1e" path="res://Scripts/Actors/3D/PropGravityModule3D.cs" id="5_qq3cg"]
[sub_resource type="BoxShape3D" id="BoxShape3D_hsg1w"]
size = Vector3(0.763428, 0.469452, 0.77832)
[sub_resource type="BoxShape3D" id="BoxShape3D_hlryi"]
size = Vector3(0.60668945, 0.09439087, 0.595726)
[node name="BoxRed" type="StaticBody3D" groups=["Destroyable"]]
collision_layer = 16
collision_mask = 0
script = ExtResource("1_kvqx7")
ExplosionData = ExtResource("2_jolck")
DamageResistances = Array[ExtResource("3_7px86")]([])
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00549316, 0.0253752, -0.000488281)
shape = SubResource("BoxShape3D_hsg1w")
[node name="blockbench_export" parent="." instance=ExtResource("1_fi646")]
[node name="Node" type="Area3D" parent="."]
collision_layer = 0
collision_mask = 17
script = ExtResource("5_qq3cg")
FallingSpeed = -2.0
[node name="CollisionShape3D" type="CollisionShape3D" parent="Node"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.024291992, -0.19599915, 0.013088226)
shape = SubResource("BoxShape3D_hlryi")
[connection signal="body_entered" from="Node" to="Node" method="OnBodyEntered"]
[connection signal="body_exited" from="Node" to="Node" method="OnBodyExited"]

View file

@ -1,20 +1,39 @@
[gd_scene load_steps=5 format=3 uid="uid://c6cdl3y3i3axl"]
[gd_scene load_steps=8 format=3 uid="uid://c6cdl3y3i3axl"]
[ext_resource type="PackedScene" uid="uid://cpwolnoq46foq" path="res://3D/BlockbenchModels/Box/Box_Yellow.gltf" id="1_0rxnx"]
[ext_resource type="Script" uid="uid://ccxnvbthsvka3" path="res://Scripts/Actors/Destructible3D.cs" id="1_l0sp5"]
[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/3D/Explosion_Harmless_Small_3D.tres" id="2_1if0l"]
[ext_resource type="Script" uid="uid://ddsqqfx1usc3j" path="res://Scripts/Resources/DamageResistance.cs" id="3_6qeec"]
[ext_resource type="Script" uid="uid://hkmutmmjqh1e" path="res://Scripts/Actors/3D/PropGravityModule3D.cs" id="5_njaax"]
[sub_resource type="BoxShape3D" id="BoxShape3D_hsg1w"]
size = Vector3(0.763428, 0.469452, 0.77832)
[sub_resource type="BoxShape3D" id="BoxShape3D_ntpiq"]
size = Vector3(0.60668945, 0.09439087, 0.595726)
[node name="BoxBlue" type="StaticBody3D" groups=["Destroyable"]]
collision_layer = 16
collision_mask = 0
script = ExtResource("1_l0sp5")
ExplosionData = ExtResource("2_1if0l")
DamageResistances = Array[ExtResource("3_6qeec")]([])
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00549316, 0.0253752, -0.000488281)
shape = SubResource("BoxShape3D_hsg1w")
[node name="blockbench_export" parent="." instance=ExtResource("1_0rxnx")]
[node name="Node" type="Area3D" parent="."]
collision_layer = 0
collision_mask = 17
script = ExtResource("5_njaax")
FallingSpeed = -2.0
[node name="CollisionShape3D" type="CollisionShape3D" parent="Node"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.024291992, -0.19599915, 0.013088226)
shape = SubResource("BoxShape3D_ntpiq")
[connection signal="body_entered" from="Node" to="Node" method="OnBodyEntered"]
[connection signal="body_exited" from="Node" to="Node" method="OnBodyExited"]

View file

@ -1,20 +1,40 @@
[gd_scene load_steps=5 format=3 uid="uid://d2kqcbr5rufxb"]
[gd_scene load_steps=8 format=3 uid="uid://d2kqcbr5rufxb"]
[ext_resource type="PackedScene" uid="uid://etmm2bm8mj06" path="res://3D/BlockbenchModels/WoodenBox/Wooden_Box.gltf" id="1_2t24b"]
[ext_resource type="Script" uid="uid://ccxnvbthsvka3" path="res://Scripts/Actors/Destructible3D.cs" id="1_nnmn3"]
[ext_resource type="Resource" uid="uid://bes254wblt1lm" path="res://Resources/Bullets/3D/Explosion_Harmless_Small_3D.tres" id="2_5j3e2"]
[ext_resource type="Script" uid="uid://ddsqqfx1usc3j" path="res://Scripts/Resources/DamageResistance.cs" id="3_cyk87"]
[ext_resource type="Script" uid="uid://hkmutmmjqh1e" path="res://Scripts/Actors/3D/PropGravityModule3D.cs" id="5_81jt2"]
[sub_resource type="BoxShape3D" id="BoxShape3D_hsg1w"]
size = Vector3(1, 0.498138, 0.543457)
[node name="BoxTest" type="StaticBody3D" groups=["Destroyable"]]
[sub_resource type="BoxShape3D" id="BoxShape3D_1v1bv"]
size = Vector3(0.60668945, 0.1053009, 0.49469566)
[node name="WoodenBox" type="StaticBody3D" groups=["Destroyable"]]
collision_layer = 16
collision_mask = 0
script = ExtResource("1_nnmn3")
Health = 4.0
ExplosionData = ExtResource("2_5j3e2")
DamageResistances = Array[ExtResource("3_cyk87")]([])
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.0022127, -0.0178223)
shape = SubResource("BoxShape3D_hsg1w")
[node name="blockbench_export" parent="." instance=ExtResource("1_2t24b")]
[node name="Node" type="Area3D" parent="."]
collision_layer = 0
collision_mask = 17
script = ExtResource("5_81jt2")
FallingSpeed = -2.0
[node name="CollisionShape3D" type="CollisionShape3D" parent="Node"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.024291992, -0.20145416, -0.0007390976)
shape = SubResource("BoxShape3D_1v1bv")
[connection signal="body_entered" from="Node" to="Node" method="OnBodyEntered"]
[connection signal="body_exited" from="Node" to="Node" method="OnBodyExited"]

View file

@ -23,12 +23,25 @@ public partial class FuncShroud : StaticBody3D, IActivable
public override void _Ready()
{
if (Engine.IsEditorHint()) return;
if (Engine.IsEditorHint())
{
HideShroud();
return;
};
if (!string.IsNullOrWhiteSpace(TargetName))
{
this.AddToGroup(TargetName);
}
if (_enabled)
{
ShowShroud();
}
else
{
HideShroud();
}
}
public bool Activate(ActivationType activationType = ActivationType.Toggle)

View file

@ -5,11 +5,11 @@
[ext_resource type="Resource" uid="uid://ca7377sfgj074" path="res://addons/func_godot/game_config/trenchbroom/tb_face_tag_skip.tres" id="2_xq8pd"]
[ext_resource type="Resource" uid="uid://bkjxc54mmdhbo" path="res://addons/func_godot/game_config/trenchbroom/tb_face_tag_origin.tres" id="3_sgien"]
[ext_resource type="Resource" uid="uid://cxqi6r6nblcn3" path="res://3D/TrenchBroom/fgd_main.tres" id="4_fiwv4"]
[ext_resource type="Texture2D" uid="uid://decwujsyhj0qy" path="res://addons/func_godot/icon32.png" id="5_0tw2g"]
[ext_resource type="Resource" uid="uid://bdmexobfdwk12" path="res://3D/TrenchBroom/Tags/glass_tag.tres" id="5_lswco"]
[ext_resource type="Script" uid="uid://cfpnvyygr4pb5" path="res://addons/func_godot/src/trenchbroom/trenchbroom_game_config.gd" id="6_478qb"]
[ext_resource type="Resource" uid="uid://chysqo5rdd5p" path="res://3D/TrenchBroom/Tags/test_glass_tag.tres" id="6_lswco"]
[ext_resource type="Resource" uid="uid://b8kujhnu10hyc" path="res://3D/TrenchBroom/Tags/func_shroud_tag.tres" id="7_jsm6j"]
[ext_resource type="Texture2D" uid="uid://decwujsyhj0qy" path="res://addons/func_godot/icon32.png" id="9_jsm6j"]
[resource]
script = ExtResource("6_478qb")

View file

@ -6,30 +6,10 @@
[sub_resource type="Resource" id="Resource_q4pcc"]
script = ExtResource("1_ys2v3")
EmitterOffset = Vector2(0, 0)
bulletCount = 16
rotationSpeed = 4.0
_rotationOffset = 0.0
duration = 5.0
spread = 360.0
burstInterval = 0.9
ShotsPerBurst = 100
BurstRate = 0.0
_targetPlayer = false
_predictPlayer = false
OverrideOwner = false
Owner = 0
OverrideDamageType = false
DamageType = 0
OverrideControllable = false
Controllable = false
OverrideCreationModifier = false
TimeModifiers = Array[ExtResource("1_ykywc")]([])
WaitForCompletion = true
[resource]
script = ExtResource("1_7asq8")
PhaseName = ""
Threshold = 300
PlayAnimation = false
Patterns = Array[Object]([SubResource("Resource_q4pcc")])

View file

@ -15,23 +15,16 @@
[sub_resource type="Resource" id="Resource_cj86d"]
script = ExtResource("2_onj13")
TimeInSeconds = 1.0
ModifierType = 1
Value = 90.0
Continuous = false
[sub_resource type="Resource" id="Resource_jtuih"]
script = ExtResource("3_ow5fu")
BulletScene = ExtResource("1_as8n2")
BulletSize = 0.0
BulletSpeed = 20.0
Direction = Vector2(1, 0)
BulletDamage = 20.0
MaxDamage = 1.0
Knockback = 1.0
LifeTime = 20.0
Owner = 2
DamageType = 0
GrazeValue = 1.0
Attributes = 34
TimeModifiers = Array[Object]([SubResource("Resource_cj86d")])
@ -39,447 +32,213 @@ TimeModifiers = Array[Object]([SubResource("Resource_cj86d")])
[sub_resource type="Resource" id="Resource_puvpt"]
script = ExtResource("2_wkmhk")
BulletResource = SubResource("Resource_jtuih")
EmitterOffset = Vector2(0, 0)
bulletCount = 20
rotationSpeed = 0.0
_rotationOffset = 0.0
duration = 1.0
spread = 360.0
burstInterval = 2.0
ShotsPerBurst = 100
BurstRate = 0.0
_targetPlayer = false
_predictPlayer = false
OverrideOwner = false
Owner = 0
OverrideDamageType = false
DamageType = 0
OverrideControllable = false
Controllable = false
OverrideCreationModifier = false
TimeModifiers = Array[ExtResource("4_3qh6s")]([])
WaitForCompletion = false
[sub_resource type="Resource" id="Resource_pbgtt"]
script = ExtResource("2_onj13")
TimeInSeconds = 1.0
ModifierType = 1
Value = -90.0
Continuous = false
[sub_resource type="Resource" id="Resource_axlrq"]
script = ExtResource("3_ow5fu")
BulletScene = ExtResource("1_as8n2")
BulletSize = 0.0
BulletSpeed = 20.0
Direction = Vector2(1, 0)
BulletDamage = 20.0
MaxDamage = 1.0
Knockback = 1.0
LifeTime = 20.0
Owner = 2
DamageType = 0
GrazeValue = 1.0
Attributes = 0
TimeModifiers = Array[Object]([SubResource("Resource_pbgtt")])
[sub_resource type="Resource" id="Resource_44j24"]
script = ExtResource("2_wkmhk")
BulletResource = SubResource("Resource_axlrq")
EmitterOffset = Vector2(0, 0)
bulletCount = 20
rotationSpeed = 0.0
_rotationOffset = 180.0
duration = 2.0
spread = 360.0
burstInterval = 6.0
ShotsPerBurst = 100
BurstRate = 0.0
_targetPlayer = false
_predictPlayer = false
OverrideOwner = false
Owner = 0
OverrideDamageType = false
DamageType = 0
OverrideControllable = false
Controllable = false
OverrideCreationModifier = false
TimeModifiers = Array[ExtResource("4_3qh6s")]([])
WaitForCompletion = true
[sub_resource type="Resource" id="Resource_w7b0n"]
script = ExtResource("3_ow5fu")
BulletScene = ExtResource("4_tek7n")
BulletSize = 0.0
BulletSpeed = 20.0
Direction = Vector2(1, 0)
BulletDamage = 20.0
MaxDamage = 1.0
Knockback = 1.0
LifeTime = 20.0
Owner = 2
DamageType = 0
GrazeValue = 1.0
Attributes = 0
TimeModifiers = Array[Object]([SubResource("Resource_cj86d")])
[sub_resource type="Resource" id="Resource_wkxow"]
script = ExtResource("2_wkmhk")
BulletResource = SubResource("Resource_w7b0n")
EmitterOffset = Vector2(0, 0)
bulletCount = 20
rotationSpeed = 0.0
_rotationOffset = 0.0
duration = 1.0
spread = 360.0
burstInterval = 2.0
ShotsPerBurst = 100
BurstRate = 0.0
_targetPlayer = false
_predictPlayer = false
OverrideOwner = false
Owner = 0
OverrideDamageType = false
DamageType = 0
OverrideControllable = false
Controllable = false
OverrideCreationModifier = false
TimeModifiers = Array[ExtResource("4_3qh6s")]([])
WaitForCompletion = false
[sub_resource type="Resource" id="Resource_3iv0j"]
script = ExtResource("3_ow5fu")
BulletScene = ExtResource("4_tek7n")
BulletSize = 0.0
BulletSpeed = 20.0
Direction = Vector2(1, 0)
BulletDamage = 20.0
MaxDamage = 1.0
Knockback = 1.0
LifeTime = 20.0
Owner = 2
DamageType = 0
GrazeValue = 1.0
Attributes = 0
TimeModifiers = Array[Object]([SubResource("Resource_pbgtt")])
[sub_resource type="Resource" id="Resource_gcqck"]
script = ExtResource("2_wkmhk")
BulletResource = SubResource("Resource_3iv0j")
EmitterOffset = Vector2(0, 0)
bulletCount = 20
rotationSpeed = 0.0
_rotationOffset = 180.0
duration = 2.0
spread = 360.0
burstInterval = 6.0
ShotsPerBurst = 100
BurstRate = 0.0
_targetPlayer = false
_predictPlayer = false
OverrideOwner = false
Owner = 0
OverrideDamageType = false
DamageType = 0
OverrideControllable = false
Controllable = false
OverrideCreationModifier = false
TimeModifiers = Array[ExtResource("4_3qh6s")]([])
WaitForCompletion = true
[sub_resource type="Resource" id="Resource_5jr31"]
script = ExtResource("3_ow5fu")
BulletScene = ExtResource("5_n4xqo")
BulletSize = 0.0
BulletSpeed = 20.0
Direction = Vector2(1, 0)
BulletDamage = 20.0
MaxDamage = 1.0
Knockback = 1.0
LifeTime = 20.0
Owner = 2
DamageType = 0
GrazeValue = 1.0
Attributes = 0
TimeModifiers = Array[Object]([SubResource("Resource_cj86d")])
[sub_resource type="Resource" id="Resource_bxbto"]
script = ExtResource("2_wkmhk")
BulletResource = SubResource("Resource_5jr31")
EmitterOffset = Vector2(0, 0)
bulletCount = 20
rotationSpeed = 0.0
_rotationOffset = 0.0
duration = 1.0
spread = 360.0
burstInterval = 2.0
ShotsPerBurst = 100
BurstRate = 0.0
_targetPlayer = false
_predictPlayer = false
OverrideOwner = false
Owner = 0
OverrideDamageType = false
DamageType = 0
OverrideControllable = false
Controllable = false
OverrideCreationModifier = false
TimeModifiers = Array[ExtResource("4_3qh6s")]([])
WaitForCompletion = false
[sub_resource type="Resource" id="Resource_mg2qy"]
script = ExtResource("3_ow5fu")
BulletScene = ExtResource("5_n4xqo")
BulletSize = 0.0
BulletSpeed = 20.0
Direction = Vector2(1, 0)
BulletDamage = 20.0
MaxDamage = 1.0
Knockback = 1.0
LifeTime = 20.0
Owner = 2
DamageType = 0
GrazeValue = 1.0
Attributes = 0
TimeModifiers = Array[Object]([SubResource("Resource_pbgtt")])
[sub_resource type="Resource" id="Resource_q48s1"]
script = ExtResource("2_wkmhk")
BulletResource = SubResource("Resource_mg2qy")
EmitterOffset = Vector2(0, 0)
bulletCount = 20
rotationSpeed = 0.0
_rotationOffset = 180.0
duration = 2.0
spread = 360.0
burstInterval = 6.0
ShotsPerBurst = 100
BurstRate = 0.0
_targetPlayer = false
_predictPlayer = false
OverrideOwner = false
Owner = 0
OverrideDamageType = false
DamageType = 0
OverrideControllable = false
Controllable = false
OverrideCreationModifier = false
TimeModifiers = Array[ExtResource("4_3qh6s")]([])
WaitForCompletion = true
[sub_resource type="Resource" id="Resource_erexw"]
script = ExtResource("6_bw7cj")
relativeTargetPosition = Vector2(50, 5)
moveDuration = 2.0
transitionType = 0
easeType = 2
WaitForCompletion = true
[sub_resource type="Resource" id="Resource_ln27r"]
script = ExtResource("9_mfo5a")
TimeInSeconds = 0.5
ModifierType = 2
Value = 0.0
Continuous = false
[sub_resource type="Resource" id="Resource_nal31"]
script = ExtResource("10_nuha6")
TimeInSeconds = 0.8
ModifierType = 0
Value = 50.0
Continuous = false
[sub_resource type="Resource" id="Resource_gfhkm"]
script = ExtResource("3_ow5fu")
BulletScene = ExtResource("7_gsnyb")
BulletSize = 0.0
BulletSpeed = 80.0
Direction = Vector2(1, 0)
BulletDamage = 20.0
MaxDamage = 1.0
Knockback = 1.0
LifeTime = 20.0
Owner = 0
DamageType = 0
GrazeValue = 1.0
Attributes = 0
TimeModifiers = Array[Object]([SubResource("Resource_ln27r"), SubResource("Resource_nal31")])
[sub_resource type="Resource" id="Resource_mpjrl"]
script = ExtResource("2_wkmhk")
BulletResource = SubResource("Resource_gfhkm")
EmitterOffset = Vector2(0, 0)
bulletCount = 12
rotationSpeed = 0.0
_rotationOffset = 45.0
duration = 0.8
spread = 180.0
burstInterval = 1.0
ShotsPerBurst = 100
BurstRate = 0.0
_targetPlayer = true
_predictPlayer = false
OverrideOwner = false
Owner = 0
OverrideDamageType = false
DamageType = 0
OverrideControllable = false
Controllable = false
OverrideCreationModifier = false
TimeModifiers = Array[ExtResource("4_3qh6s")]([])
WaitForCompletion = true
[sub_resource type="Resource" id="Resource_l05f2"]
script = ExtResource("6_bw7cj")
relativeTargetPosition = Vector2(45, 0)
moveDuration = 0.4
transitionType = 0
easeType = 2
WaitForCompletion = true
[sub_resource type="Resource" id="Resource_4r74g"]
script = ExtResource("3_ow5fu")
BulletScene = ExtResource("7_gsnyb")
BulletSize = 0.0
BulletSpeed = 80.0
Direction = Vector2(1, 0)
BulletDamage = 20.0
MaxDamage = 1.0
Knockback = 1.0
LifeTime = 20.0
Owner = 2
DamageType = 0
GrazeValue = 1.0
Attributes = 0
TimeModifiers = Array[Object]([SubResource("Resource_ln27r"), SubResource("Resource_nal31")])
[sub_resource type="Resource" id="Resource_ncfnl"]
script = ExtResource("2_wkmhk")
BulletResource = SubResource("Resource_4r74g")
EmitterOffset = Vector2(0, 0)
bulletCount = 12
rotationSpeed = 0.0
_rotationOffset = 45.0
duration = 0.8
spread = 180.0
burstInterval = 1.0
ShotsPerBurst = 100
BurstRate = 0.0
_targetPlayer = false
_predictPlayer = false
OverrideOwner = false
Owner = 0
OverrideDamageType = false
DamageType = 0
OverrideControllable = false
Controllable = false
OverrideCreationModifier = false
TimeModifiers = Array[ExtResource("4_3qh6s")]([])
WaitForCompletion = true
[sub_resource type="Resource" id="Resource_q7cr0"]
script = ExtResource("6_bw7cj")
relativeTargetPosition = Vector2(40, 0)
moveDuration = 0.4
transitionType = 0
easeType = 2
WaitForCompletion = true
[sub_resource type="Resource" id="Resource_vgg5n"]
script = ExtResource("3_ow5fu")
BulletScene = ExtResource("7_gsnyb")
BulletSize = 0.0
BulletSpeed = 80.0
Direction = Vector2(1, 0)
BulletDamage = 20.0
MaxDamage = 1.0
Knockback = 1.0
LifeTime = 20.0
Owner = 2
DamageType = 0
GrazeValue = 1.0
Attributes = 0
TimeModifiers = Array[Object]([SubResource("Resource_ln27r"), SubResource("Resource_nal31")])
[sub_resource type="Resource" id="Resource_vkthc"]
script = ExtResource("2_wkmhk")
BulletResource = SubResource("Resource_vgg5n")
EmitterOffset = Vector2(0, 0)
bulletCount = 12
rotationSpeed = 0.0
_rotationOffset = 45.0
duration = 0.8
spread = 180.0
burstInterval = 1.0
ShotsPerBurst = 100
BurstRate = 0.0
_targetPlayer = false
_predictPlayer = false
OverrideOwner = false
Owner = 0
OverrideDamageType = false
DamageType = 0
OverrideControllable = false
Controllable = false
OverrideCreationModifier = false
TimeModifiers = Array[ExtResource("4_3qh6s")]([])
WaitForCompletion = true
[sub_resource type="Resource" id="Resource_8kl6r"]
script = ExtResource("6_bw7cj")
relativeTargetPosition = Vector2(45, 0)
moveDuration = 0.4
transitionType = 0
easeType = 2
WaitForCompletion = true
[sub_resource type="Resource" id="Resource_wlhxp"]
script = ExtResource("3_ow5fu")
BulletScene = ExtResource("7_gsnyb")
BulletSize = 0.0
BulletSpeed = 80.0
Direction = Vector2(1, 0)
BulletDamage = 20.0
MaxDamage = 1.0
Knockback = 1.0
LifeTime = 20.0
Owner = 2
DamageType = 0
GrazeValue = 1.0
Attributes = 0
TimeModifiers = Array[Object]([SubResource("Resource_ln27r"), SubResource("Resource_nal31")])
[sub_resource type="Resource" id="Resource_n2gn4"]
script = ExtResource("2_wkmhk")
BulletResource = SubResource("Resource_wlhxp")
EmitterOffset = Vector2(0, 0)
bulletCount = 12
rotationSpeed = 0.0
_rotationOffset = 45.0
duration = 0.8
spread = 180.0
burstInterval = 1.0
ShotsPerBurst = 100
BurstRate = 0.0
_targetPlayer = false
_predictPlayer = false
OverrideOwner = false
Owner = 0
OverrideDamageType = false
DamageType = 0
OverrideControllable = false
Controllable = false
OverrideCreationModifier = false
TimeModifiers = Array[ExtResource("4_3qh6s")]([])
WaitForCompletion = true
[sub_resource type="Resource" id="Resource_ha2b6"]
script = ExtResource("6_bw7cj")
relativeTargetPosition = Vector2(0, 0)
moveDuration = 2.0
transitionType = 0
easeType = 2
WaitForCompletion = true
[resource]
script = ExtResource("1_fdlxv")

View file

@ -12,147 +12,81 @@
[sub_resource type="Resource" id="Resource_upj22"]
script = ExtResource("1_lw82i")
relativeTargetPosition = Vector2(0, 0)
moveDuration = 1.0
transitionType = 1
easeType = 2
WaitForCompletion = true
[sub_resource type="Resource" id="Resource_763gk"]
script = ExtResource("1_lw82i")
relativeTargetPosition = Vector2(-16, 0)
moveDuration = 2.0
transitionType = 0
easeType = 2
WaitForCompletion = false
metadata/_custom_type_script = "uid://bhc7rbcico4kp"
[sub_resource type="Resource" id="Resource_80ngy"]
script = ExtResource("3_606tl")
ModifierType = 1
Easing = 0
Invert = true
MinimumSpeed = 10.0
ScalingFactor = 10.0
[sub_resource type="Resource" id="Resource_2o6nd"]
script = ExtResource("4_juoir")
BulletScene = ExtResource("1_o4um1")
BulletSize = 0.0
BulletSpeed = 100.0
Direction = Vector2(1, 0)
BulletDamage = 20.0
MaxDamage = 1.0
Knockback = 1.0
LifeTime = 20.0
Owner = 2
DamageType = 0
GrazeValue = 1.0
Attributes = 0
Modifier = SubResource("Resource_80ngy")
TimeModifiers = Array[Object]([])
[sub_resource type="Resource" id="Resource_0v4v8"]
script = ExtResource("2_7268a")
BulletResource = SubResource("Resource_2o6nd")
EmitterOffset = Vector2(0, 0)
bulletCount = 12
rotationSpeed = 0.0
_rotationOffset = 10.0
duration = 0.8
spread = 180.0
burstInterval = 0.4
ShotsPerBurst = 100
BurstRate = 0.0
_targetPlayer = false
_predictPlayer = false
OverrideOwner = false
Owner = 0
OverrideDamageType = false
DamageType = 0
OverrideControllable = false
Controllable = false
OverrideCreationModifier = false
TimeModifiers = Array[ExtResource("5_763gk")]([])
WaitForCompletion = true
[sub_resource type="Resource" id="Resource_e6jj0"]
script = ExtResource("3_606tl")
ModifierType = 1
Easing = 0
Invert = false
MinimumSpeed = 10.0
ScalingFactor = 10.0
[sub_resource type="Resource" id="Resource_j7r4h"]
script = ExtResource("4_juoir")
BulletScene = ExtResource("4_ruawj")
BulletSize = 0.0
BulletSpeed = 100.0
Direction = Vector2(1, 0)
BulletDamage = 20.0
MaxDamage = 1.0
Knockback = 1.0
LifeTime = 20.0
Owner = 2
DamageType = 0
GrazeValue = 1.0
Attributes = 0
Modifier = SubResource("Resource_e6jj0")
TimeModifiers = []
[sub_resource type="Resource" id="Resource_7yi74"]
script = ExtResource("2_7268a")
BulletResource = SubResource("Resource_j7r4h")
EmitterOffset = Vector2(0, 0)
bulletCount = 12
rotationSpeed = 0.0
_rotationOffset = -10.0
duration = 0.8
spread = 180.0
burstInterval = 0.4
ShotsPerBurst = 100
BurstRate = 0.0
_targetPlayer = false
_predictPlayer = false
OverrideOwner = false
Owner = 0
OverrideDamageType = false
DamageType = 0
OverrideControllable = false
Controllable = false
OverrideCreationModifier = false
TimeModifiers = Array[ExtResource("5_763gk")]([])
WaitForCompletion = true
[sub_resource type="Resource" id="Resource_gm1rv"]
script = ExtResource("6_6mg1u")
patterns = Array[Resource]([SubResource("Resource_0v4v8"), SubResource("Resource_7yi74")])
WaitForCompletion = true
[sub_resource type="Resource" id="Resource_5fq8v"]
script = ExtResource("1_lw82i")
relativeTargetPosition = Vector2(-50, 5)
moveDuration = 1.0
transitionType = 1
easeType = 2
WaitForCompletion = true
[sub_resource type="Resource" id="Resource_t38ne"]
script = ExtResource("1_lw82i")
relativeTargetPosition = Vector2(-40, 0)
moveDuration = 2.0
transitionType = 0
easeType = 2
WaitForCompletion = false
metadata/_custom_type_script = "uid://bhc7rbcico4kp"
[sub_resource type="Resource" id="Resource_rt3ub"]
script = ExtResource("1_lw82i")
relativeTargetPosition = Vector2(16, 0)
moveDuration = 2.0
transitionType = 0
easeType = 2
WaitForCompletion = false
metadata/_custom_type_script = "uid://bhc7rbcico4kp"
@ -161,15 +95,10 @@ script = ExtResource("1_lw82i")
relativeTargetPosition = Vector2(50, 5)
moveDuration = 1.0
transitionType = 1
easeType = 2
WaitForCompletion = true
[sub_resource type="Resource" id="Resource_18vjq"]
script = ExtResource("1_lw82i")
relativeTargetPosition = Vector2(40, 0)
moveDuration = 2.0
transitionType = 0
easeType = 2
WaitForCompletion = false
metadata/_custom_type_script = "uid://bhc7rbcico4kp"

View file

@ -9,46 +9,31 @@
script = ExtResource("1_xksf5")
relativeTargetPosition = Vector2(0, -1)
moveDuration = 1.0
transitionType = 0
easeType = 2
WaitForCompletion = true
metadata/_custom_type_script = "uid://bhc7rbcico4kp"
[sub_resource type="Resource" id="Resource_acaax"]
script = ExtResource("1_xksf5")
relativeTargetPosition = Vector2(-50, 5)
moveDuration = 2.0
transitionType = 1
easeType = 2
WaitForCompletion = false
[sub_resource type="Resource" id="Resource_o8win"]
script = ExtResource("1_xksf5")
relativeTargetPosition = Vector2(0, 0)
moveDuration = 2.0
transitionType = 1
easeType = 2
WaitForCompletion = false
[sub_resource type="Resource" id="Resource_k77ig"]
script = ExtResource("1_xksf5")
relativeTargetPosition = Vector2(50, 5)
moveDuration = 2.0
transitionType = 1
easeType = 2
WaitForCompletion = false
[sub_resource type="Resource" id="Resource_5ocg5"]
script = ExtResource("1_xksf5")
relativeTargetPosition = Vector2(0, 0)
moveDuration = 2.0
transitionType = 1
easeType = 2
WaitForCompletion = false
[resource]
script = ExtResource("1_0cgch")
PhaseName = ""
Threshold = 150
PlayAnimation = false
Patterns = Array[Resource]([SubResource("Resource_lrvah"), SubResource("Resource_acaax"), ExtResource("2_7n56o"), ExtResource("3_mwcf3"), SubResource("Resource_o8win"), ExtResource("2_7n56o"), ExtResource("3_mwcf3"), SubResource("Resource_k77ig"), ExtResource("2_7n56o"), ExtResource("3_mwcf3"), SubResource("Resource_5ocg5"), ExtResource("2_7n56o"), ExtResource("3_mwcf3")])

View file

@ -8,26 +8,11 @@
[sub_resource type="Resource" id="Resource_lkipe"]
script = ExtResource("2_v7d4m")
BulletResource = ExtResource("1_lkipe")
EmitterOffset = Vector2(0, 0)
bulletCount = 16
rotationSpeed = 20.0
_rotationOffset = 0.0
duration = 60.0
spread = 360.0
burstInterval = 0.6
ShotsPerBurst = 4
BurstRate = 0.8
_targetPlayer = false
_predictPlayer = false
OverrideOwner = false
Owner = 0
OverrideDamageType = false
DamageType = 0
OverrideControllable = false
Controllable = false
OverrideCreationModifier = false
TimeModifiers = Array[ExtResource("2_omk5v")]([])
WaitForCompletion = true
metadata/_custom_type_script = "uid://c0ndqalsc4jve"
[resource]

View file

@ -13,22 +13,14 @@ decreaseRate = 4.0
script = ExtResource("3_85dkg")
TimeInSeconds = 0.0
ModifierType = 2
Value = 0.0
Continuous = false
[resource]
script = ExtResource("3_871qc")
BulletScene = ExtResource("1_y6dig")
BulletSize = 0.0
BulletSpeed = 70.0
Direction = Vector2(1, 0)
BulletDamage = 20.0
MaxDamage = 1.0
Knockback = 1.0
LifeTime = 20.0
Owner = 2
DamageType = 0
GrazeValue = 0.2
Attributes = 34
Modifier = SubResource("Resource_jeq72")
TimeModifiers = Array[Object]([SubResource("Resource_edsop")])

View file

@ -8,25 +8,18 @@
[sub_resource type="Resource" id="Resource_lcgqc"]
script = ExtResource("3_fvk2e")
TransitionType = 2
EaseType = 2
Duration = 0.5
TimeInSeconds = 0.0
ModifierType = 0
Value = 20.0
Continuous = false
metadata/_custom_type_script = "uid://ci2vjo54w7i18"
[resource]
script = ExtResource("3_78iov")
BulletScene = ExtResource("1_lfcuj")
BulletSize = 0.0
DestructionParticlesScene = ExtResource("2_mdq2b")
BulletSpeed = 100.0
Direction = Vector2(1, 0)
BulletDamage = 8.0
MaxDamage = 12.0
Knockback = 200.0
LifeTime = 10.0
Owner = 1
DamageType = 1
GrazeValue = 1.0

View file

@ -54,16 +54,10 @@ MaxHealth = 4.0
MovementSpeed = 30.0
Weapon = ExtResource("7_xkg5o")
LootDrops = Array[ExtResource("2_sxbtw")]([SubResource("Resource_c8nix"), SubResource("Resource_gs2l3"), SubResource("Resource_sqnvg"), SubResource("Resource_5tyar"), SubResource("Resource_48xq6")])
MotivationReward = 4.0
PredictPlayer = false
PlayerDetectionRange = 90.0
ViewRange = 120.0
AlarmReactRange = 150.0
PlayerDisengageRange = 200.0
StrafeSpeed = 25.0
MaxStrafeDistance = 16.0
MinStrafeDistance = 8.0
ResponseTime = 0.5
IconSprite = SubResource("AtlasTexture_ppsgt")
AnimationFrames = ExtResource("1_ppsgt")
metadata/_custom_type_script = "uid://cd5o0ceb50jki"

View file

@ -18,15 +18,9 @@ MaxHealth = 16.0
MovementSpeed = 38.0
Weapon = ExtResource("2_f3huq")
LootDrops = Array[ExtResource("1_f3huq")]([])
MotivationReward = 4.0
PredictPlayer = false
PlayerDetectionRange = 90.0
ViewRange = 120.0
AlarmReactRange = 200.0
PlayerDisengageRange = 500.0
StrafeSpeed = 25.0
MaxStrafeDistance = 0.0
MinStrafeDistance = 0.0
ResponseTime = 0.5
IconSprite = SubResource("AtlasTexture_5qb18")
metadata/_custom_type_script = "uid://cd5o0ceb50jki"

View file

@ -18,15 +18,10 @@ MaxHealth = 20.0
MovementSpeed = 0.0
Weapon = ExtResource("1_yap8t")
LootDrops = Array[ExtResource("1_sma76")]([])
MotivationReward = 4.0
PredictPlayer = false
PlayerDetectionRange = 90.0
ViewRange = 120.0
AlarmReactRange = 200.0
PlayerDisengageRange = 500.0
StrafeSpeed = 0.0
MaxStrafeDistance = 0.0
MinStrafeDistance = 0.0
ResponseTime = 0.5
IconSprite = SubResource("AtlasTexture_pscit")
metadata/_custom_type_script = "uid://cd5o0ceb50jki"

View file

@ -6,8 +6,6 @@
[sub_resource type="Resource" id="Resource_bltl4"]
script = ExtResource("2_uaof8")
IncreaseAmount = 4.0
ResourceType = 0
metadata/_custom_type_script = "uid://6cupx85nnda4"
[resource]
@ -17,16 +15,10 @@ ShortName = &""
ItemDescription = &"Extends the max health"
ItemKey = &"HEALTH_EXTEND"
Item = 13
Tier = 0
Price = 0
ItemEffect = SubResource("Resource_bltl4")
Amount = 1
Max = 10
PickupIfMaxed = false
ConsumeOnUse = true
UiType = 0
Selectable = false
AutoPickup = false
InventorySprite = ExtResource("1_00obu")
DropScenePath = &"res://Scenes/Items/GenericItem.tscn"
DropScenePath3D = &"uid://cnot7sft7lpf3"

View file

@ -18,19 +18,10 @@ metadata/_custom_type_script = "uid://cyipg3seetrxd"
script = ExtResource("1_qd764")
Name = &""
BulletData = ExtResource("2_gpot4")
Priority = 0
AmmoPerShot = 1
RateOfFire = 1.0
BulletCapacity = 10
ReloadTime = 1.0
AutoReload = true
InfiniteAmmo = true
ItemKey = &""
AmmoKey = &""
BulletsPerShot = 1
SpreadAngle = 0.0
RandomSpread = 0.0
_rotationOffset = 0.0
metadata/_custom_type_script = "uid://b6fmrnipv88bk"
[resource]
@ -40,14 +31,10 @@ ShortName = &""
ItemDescription = &"A snowball packed of explosive, explodes on contact"
ItemKey = &"SPIDER_BOMB"
Item = 5
Tier = 0
Price = 0
ItemEffect = SubResource("Resource_2pgyg")
WeaponData = SubResource("Resource_v5a4k")
Amount = 1
Max = 10
PickupIfMaxed = false
ConsumeOnUse = false
UiType = 6
Selectable = true
AutoPickup = true

View file

@ -10,124 +10,55 @@
[sub_resource type="Resource" id="Resource_uv53h"]
script = ExtResource("2_gfvud")
BulletScene = ExtResource("1_4xpdn")
BulletSize = 0.0
BulletSpeed = 40.0
Direction = Vector2(1, 0)
BulletDamage = 20.0
MaxDamage = 1.0
Knockback = 1.0
LifeTime = 20.0
Owner = 2
DamageType = 0
GrazeValue = 1.0
Attributes = 0
TimeModifiers = []
[sub_resource type="Resource" id="Resource_ne4q3"]
script = ExtResource("2_ee42k")
BulletResource = SubResource("Resource_uv53h")
EmitterOffset = Vector2(0, 0)
bulletCount = 10
rotationSpeed = 120.0
_rotationOffset = 0.0
duration = 0.4
spread = 360.0
burstInterval = 2.0
ShotsPerBurst = 100
BurstRate = 0.0
_targetPlayer = false
_predictPlayer = false
OverrideOwner = false
Owner = 0
OverrideDamageType = false
DamageType = 0
OverrideControllable = false
Controllable = false
OverrideCreationModifier = false
TimeModifiers = Array[ExtResource("3_fgjeq")]([])
WaitForCompletion = true
[sub_resource type="Resource" id="Resource_wtj61"]
script = ExtResource("2_gfvud")
BulletScene = ExtResource("3_gr7a3")
BulletSize = 0.0
BulletSpeed = 50.0
Direction = Vector2(1, 0)
BulletDamage = 20.0
MaxDamage = 1.0
Knockback = 1.0
LifeTime = 20.0
Owner = 2
DamageType = 0
GrazeValue = 1.0
Attributes = 0
TimeModifiers = []
[sub_resource type="Resource" id="Resource_kohuh"]
script = ExtResource("2_ee42k")
BulletResource = SubResource("Resource_wtj61")
EmitterOffset = Vector2(0, 0)
bulletCount = 16
rotationSpeed = 60.0
_rotationOffset = 0.0
duration = 5.0
spread = 360.0
burstInterval = 2.0
ShotsPerBurst = 100
BurstRate = 0.0
_targetPlayer = false
_predictPlayer = false
OverrideOwner = false
Owner = 0
OverrideDamageType = false
DamageType = 0
OverrideControllable = false
Controllable = false
OverrideCreationModifier = false
TimeModifiers = Array[ExtResource("3_fgjeq")]([])
WaitForCompletion = true
[sub_resource type="Resource" id="Resource_qbq0m"]
script = ExtResource("2_gfvud")
BulletScene = ExtResource("1_4xpdn")
BulletSize = 0.0
BulletSpeed = 50.0
Direction = Vector2(1, 0)
BulletDamage = 20.0
MaxDamage = 1.0
Knockback = 1.0
LifeTime = 20.0
Owner = 2
DamageType = 0
GrazeValue = 1.0
Attributes = 0
TimeModifiers = []
[sub_resource type="Resource" id="Resource_depjj"]
script = ExtResource("2_ee42k")
BulletResource = SubResource("Resource_qbq0m")
EmitterOffset = Vector2(0, 0)
bulletCount = 10
rotationSpeed = 60.0
_rotationOffset = 0.0
duration = 0.4
spread = 360.0
burstInterval = 2.0
ShotsPerBurst = 100
BurstRate = 0.0
_targetPlayer = false
_predictPlayer = false
OverrideOwner = false
Owner = 0
OverrideDamageType = false
DamageType = 0
OverrideControllable = false
Controllable = false
OverrideCreationModifier = false
TimeModifiers = Array[ExtResource("3_fgjeq")]([])
WaitForCompletion = true
[resource]
script = ExtResource("3_jvysx")
patterns = Array[Resource]([SubResource("Resource_ne4q3"), SubResource("Resource_kohuh"), SubResource("Resource_kohuh"), SubResource("Resource_depjj"), SubResource("Resource_depjj"), SubResource("Resource_kohuh"), SubResource("Resource_depjj")])
WaitForCompletion = true

View file

@ -10,15 +10,11 @@
script = ExtResource("2_idys7")
data = PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
name = &"selected"
category = ""
data_type = 0
stride = 1
[sub_resource type="Resource" id="Resource_5oni7"]
script = ExtResource("4_wgaie")
data = PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
name = &"color"
category = ""
data_type = 4
stride = 4
@ -26,23 +22,17 @@ stride = 4
script = ExtResource("3_lad6o")
data = PackedInt32Array(-1, -1, -1, -1, -1, -1)
name = &"material_index"
category = ""
data_type = 1
stride = 1
[sub_resource type="Resource" id="Resource_gp8qv"]
script = ExtResource("2_idys7")
data = PackedByteArray(0, 0, 0, 0, 0, 0)
name = &"selected"
category = ""
data_type = 0
stride = 1
[sub_resource type="Resource" id="Resource_0tm5b"]
script = ExtResource("4_wgaie")
data = PackedFloat32Array(1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0)
name = &"uv_transform"
category = ""
data_type = 8
stride = 6
@ -50,15 +40,11 @@ stride = 6
script = ExtResource("2_idys7")
data = PackedByteArray(1, 1, 1, 1, 1, 1)
name = &"visible"
category = ""
data_type = 0
stride = 1
[sub_resource type="Resource" id="Resource_ip31u"]
script = ExtResource("4_wgaie")
data = PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
name = &"color"
category = ""
data_type = 4
stride = 4
@ -66,15 +52,12 @@ stride = 4
script = ExtResource("3_lad6o")
data = PackedInt32Array(0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5)
name = &"face_index"
category = ""
data_type = 1
stride = 1
[sub_resource type="Resource" id="Resource_ml8l3"]
script = ExtResource("4_wgaie")
data = PackedFloat32Array(-1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1)
name = &"normal"
category = ""
data_type = 6
stride = 3
@ -82,15 +65,12 @@ stride = 3
script = ExtResource("3_lad6o")
data = PackedInt32Array(0, 1, 2, 3, 7, 6, 5, 4, 1, 0, 4, 5, 2, 1, 5, 6, 3, 2, 6, 7, 0, 3, 7, 4)
name = &"vertex_index"
category = ""
data_type = 1
stride = 1
[sub_resource type="Resource" id="Resource_nvynb"]
script = ExtResource("4_wgaie")
data = PackedFloat32Array(0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0)
name = &"position"
category = ""
data_type = 6
stride = 3
@ -98,9 +78,6 @@ stride = 3
script = ExtResource("2_idys7")
data = PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0)
name = &"selected"
category = ""
data_type = 0
stride = 1
[sub_resource type="Resource" id="Resource_j714y"]
script = ExtResource("5_msw1m")
@ -141,15 +118,11 @@ face_vertex_data = {
script = ExtResource("2_idys7")
data = PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
name = &"selected"
category = ""
data_type = 0
stride = 1
[sub_resource type="Resource" id="Resource_wgaie"]
script = ExtResource("4_wgaie")
data = PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
name = &"color"
category = ""
data_type = 4
stride = 4
@ -157,23 +130,17 @@ stride = 4
script = ExtResource("3_lad6o")
data = PackedInt32Array(-1, -1, -1, -1, -1, -1)
name = &"material_index"
category = ""
data_type = 1
stride = 1
[sub_resource type="Resource" id="Resource_1nv3l"]
script = ExtResource("2_idys7")
data = PackedByteArray(0, 0, 0, 0, 0, 0)
name = &"selected"
category = ""
data_type = 0
stride = 1
[sub_resource type="Resource" id="Resource_msw1m"]
script = ExtResource("4_wgaie")
data = PackedFloat32Array(1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0)
name = &"uv_transform"
category = ""
data_type = 8
stride = 6
@ -181,15 +148,11 @@ stride = 6
script = ExtResource("2_idys7")
data = PackedByteArray(1, 1, 1, 1, 1, 1)
name = &"visible"
category = ""
data_type = 0
stride = 1
[sub_resource type="Resource" id="Resource_32acy"]
script = ExtResource("4_wgaie")
data = PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
name = &"color"
category = ""
data_type = 4
stride = 4
@ -197,15 +160,12 @@ stride = 4
script = ExtResource("3_lad6o")
data = PackedInt32Array(0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5)
name = &"face_index"
category = ""
data_type = 1
stride = 1
[sub_resource type="Resource" id="Resource_2m5ey"]
script = ExtResource("4_wgaie")
data = PackedFloat32Array(-1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1)
name = &"normal"
category = ""
data_type = 6
stride = 3
@ -213,15 +173,12 @@ stride = 3
script = ExtResource("3_lad6o")
data = PackedInt32Array(0, 1, 2, 3, 7, 6, 5, 4, 1, 0, 4, 5, 2, 1, 5, 6, 3, 2, 6, 7, 0, 3, 7, 4)
name = &"vertex_index"
category = ""
data_type = 1
stride = 1
[sub_resource type="Resource" id="Resource_4opuo"]
script = ExtResource("4_wgaie")
data = PackedFloat32Array(0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0)
name = &"position"
category = ""
data_type = 6
stride = 3
@ -229,9 +186,6 @@ stride = 3
script = ExtResource("2_idys7")
data = PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0)
name = &"selected"
category = ""
data_type = 0
stride = 1
[sub_resource type="Resource" id="Resource_083x5"]
script = ExtResource("5_msw1m")

View file

@ -0,0 +1,42 @@
using Godot;
namespace Cirno.Scripts.Actors._3D;
public partial class PropGravityModule3D : Node
{
[Export] public float FallingSpeed { get; private set; } = 10f;
private StaticBody3D _parent;
private bool _isFalling = false;
private int _detectedBodies = 0;
public override void _Ready()
{
_parent = GetParent<StaticBody3D>();
}
public override void _PhysicsProcess(double delta)
{
if (!_isFalling) return;
_parent.GlobalPosition += new Vector3(0, FallingSpeed , 0) * (float)delta;
}
public void OnBodyEntered(Node3D body)
{
if (body == _parent) return;
_detectedBodies++;
TryFalling();
}
public void OnBodyExited(Node3D body)
{
if (body == _parent) return;
_detectedBodies--;
TryFalling();
}
private void TryFalling()
{
_isFalling = _detectedBodies == 0;
}
}

View file

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

View file

@ -54,7 +54,6 @@ void fragment() {
}
"
graph_offset = Vector2(-10.4364, 103.709)
nodes/fragment/0/position = Vector2(480, 140)
nodes/fragment/2/node = SubResource("VisualShaderNodeColorConstant_mqcg1")
nodes/fragment/2/position = Vector2(227.319, 156.469)