Better status effects

This commit is contained in:
2025-03-02 02:50:05 +01:00
parent 9054777a05
commit a562079d71
17 changed files with 192 additions and 102 deletions

View File

@@ -10,7 +10,7 @@
[ext_resource type="Script" path="res://scripts/components/player_death.gd" id="8_1v23d"]
[ext_resource type="Script" path="res://scripts/components/knockback.gd" id="9_rjyu4"]
[ext_resource type="Script" path="res://scripts/components/brick_throw.gd" id="10_u0v3b"]
[ext_resource type="PackedScene" uid="uid://bcmx07k12gcsc" path="res://objects/ice_brick.tscn" id="11_ktjj0"]
[ext_resource type="PackedScene" uid="uid://bcmx07k12gcsc" path="res://objects/ice_brick.tscn" id="11_thd7o"]
[ext_resource type="Script" path="res://scripts/components/stomp_damage_component.gd" id="12_payr4"]
[ext_resource type="Script" path="res://scripts/components/flashing_component.gd" id="13_hrtyn"]
[ext_resource type="Script" path="res://scripts/components/invulnerability_component.gd" id="14_jopig"]
@@ -84,7 +84,7 @@ knockback_force = 1500.0
[node name="BrickThrowComponent" type="Node" parent="." node_paths=PackedStringArray("player_controller", "timer")]
script = ExtResource("10_u0v3b")
brick_scene = ExtResource("11_ktjj0")
brick_scene = ExtResource("11_thd7o")
fire_rate = 0.3
player_controller = NodePath("..")
timer = NodePath("../ThrowTimer")

View File

@@ -1,7 +1,7 @@
[gd_scene load_steps=5 format=3 uid="uid://bhc7y4xugu4q7"]
[ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_w543f"]
[ext_resource type="Script" path="res://scripts/components/damage.gd" id="2_qkwsu"]
[ext_resource type="Script" path="res://scripts/components/damage_component.gd" id="2_ll0xw"]
[ext_resource type="Script" path="res://scripts/components/bullet.gd" id="3_keogl"]
[sub_resource type="CircleShape2D" id="CircleShape2D_txsw8"]
@@ -26,7 +26,7 @@ position = Vector2(2.38419e-07, 2.38419e-07)
scale = Vector2(0.4, 0.4)
[node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("area2d")]
script = ExtResource("2_qkwsu")
script = ExtResource("2_ll0xw")
area2d = NodePath("..")
[node name="BulletComponent" type="Node2D" parent="." node_paths=PackedStringArray("root", "area2d", "visibility_notifier", "timer")]

View File

@@ -1,7 +1,7 @@
[gd_scene load_steps=5 format=3 uid="uid://dfwpha0d18dmn"]
[ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_rwgpm"]
[ext_resource type="Script" path="res://scripts/components/damage.gd" id="2_3cgd2"]
[ext_resource type="Script" path="res://scripts/components/damage_component.gd" id="2_cprue"]
[ext_resource type="Script" path="res://scripts/components/beam_component.gd" id="3_jlh0s"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ptfn7"]
@@ -21,7 +21,7 @@ region_rect = Rect2(176, 64, 16, 16)
shape = SubResource("RectangleShape2D_ptfn7")
[node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("area2d")]
script = ExtResource("2_3cgd2")
script = ExtResource("2_cprue")
area2d = NodePath("..")
[node name="BeamComponent" type="Node2D" parent="." node_paths=PackedStringArray("root", "sprite2d", "collision_shape")]

View File

@@ -1,7 +1,7 @@
[gd_scene load_steps=5 format=3 uid="uid://d3lt4rhxduv44"]
[ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_l5x2w"]
[ext_resource type="Script" path="res://scripts/components/damage.gd" id="2_68sgi"]
[ext_resource type="Script" path="res://scripts/components/damage_component.gd" id="2_mxy0q"]
[ext_resource type="Script" path="res://scripts/components/beam_component.gd" id="3_mcbof"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ptfn7"]
@@ -23,7 +23,7 @@ region_filter_clip_enabled = true
shape = SubResource("RectangleShape2D_ptfn7")
[node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("area2d")]
script = ExtResource("2_68sgi")
script = ExtResource("2_mxy0q")
area2d = NodePath("..")
[node name="BeamComponent" type="Node2D" parent="." node_paths=PackedStringArray("root", "sprite2d", "collision_shape")]

View File

@@ -1,14 +1,15 @@
[gd_scene load_steps=15 format=3 uid="uid://bwdlmualj6xbw"]
[gd_scene load_steps=16 format=3 uid="uid://bwdlmualj6xbw"]
[ext_resource type="Shader" uid="uid://bs4xvm4qkurpr" path="res://shaders/hit_flash.tres" id="1_ep4yr"]
[ext_resource type="Texture2D" uid="uid://xes6mt2dd5gu" path="res://sprites/robot_cutout.png" id="1_uh38l"]
[ext_resource type="Script" path="res://scripts/components/health.gd" id="2_o170m"]
[ext_resource type="Script" path="res://scripts/components/damage.gd" id="3_8jl3u"]
[ext_resource type="Script" path="res://scripts/components/damage_component.gd" id="4_4eajk"]
[ext_resource type="Script" path="res://scripts/components/side_to_side_movement.gd" id="4_gbsq8"]
[ext_resource type="Script" path="res://scripts/components/periodic_shooting.gd" id="5_m03v0"]
[ext_resource type="Script" path="res://scripts/components/enemy_death.gd" id="6_6p3gr"]
[ext_resource type="Script" path="res://scripts/components/flashing_component.gd" id="7_xsaiy"]
[ext_resource type="Script" path="res://scripts/components/hit_component.gd" id="9_0qjr4"]
[ext_resource type="Script" path="res://scripts/components/status_effect_component.gd" id="10_5i27q"]
[ext_resource type="Script" path="res://scripts/components/fire_effect_component.gd" id="10_ej8vg"]
[ext_resource type="Script" path="res://scripts/components/ice_effect_component.gd" id="11_pq0k7"]
@@ -38,7 +39,7 @@ texture = ExtResource("1_uh38l")
script = ExtResource("2_o170m")
[node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("area2d")]
script = ExtResource("3_8jl3u")
script = ExtResource("4_4eajk")
area2d = NodePath("../Hitbox")
[node name="SideToSideMovement" type="Node" parent="." node_paths=PackedStringArray("root", "sprite2d", "left_ray", "right_ray")]
@@ -89,15 +90,16 @@ script = ExtResource("9_0qjr4")
sprite = NodePath("../Sprite2D")
health_component = NodePath("../HealthComponent")
[node name="FireEffectComponent" type="Node" parent="." node_paths=PackedStringArray("health_component", "root")]
[node name="StatusEffectComponent" type="Node" parent="."]
script = ExtResource("10_5i27q")
[node name="FireEffectComponent" type="Node" parent="." node_paths=PackedStringArray("health_component", "status_effect_component", "root")]
script = ExtResource("10_ej8vg")
duration = 5.0
damage_per_second = 0.1
health_component = NodePath("../HealthComponent")
status_effect_component = NodePath("../StatusEffectComponent")
root = NodePath("..")
[node name="IceEffectComponent" type="Node" parent="." node_paths=PackedStringArray("side_to_side_movement", "periodic_shooting")]
[node name="IceEffectComponent" type="Node" parent="." node_paths=PackedStringArray("status_effect_component")]
script = ExtResource("11_pq0k7")
duration = 3.0
side_to_side_movement = NodePath("../SideToSideMovement")
periodic_shooting = NodePath("../PeriodicShootingComponent")
components_to_disable = [NodePath("../SideToSideMovement"), NodePath("../PeriodicShootingComponent")]
status_effect_component = NodePath("../StatusEffectComponent")

View File

@@ -1,8 +1,10 @@
[gd_scene load_steps=5 format=3 uid="uid://daau4j5hbklk0"]
[gd_scene load_steps=7 format=3 uid="uid://daau4j5hbklk0"]
[ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_52l28"]
[ext_resource type="Script" path="res://scripts/components/bullet.gd" id="2_hjcob"]
[ext_resource type="Script" path="res://scripts/components/damage.gd" id="3_3ylb6"]
[ext_resource type="Script" path="res://scripts/components/damage_component.gd" id="3_sog2h"]
[ext_resource type="Resource" uid="uid://obodgnkhxuhe" path="res://resources/status_effect/fire.tres" id="4_xx5l4"]
[ext_resource type="Script" path="res://scripts/components/effect_inflictor_component.gd" id="5_ofrqk"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ar0xf"]
size = Vector2(16, 10)
@@ -36,6 +38,10 @@ scale = Vector2(0.8, 0.5)
[node name="Timer" type="Timer" parent="."]
[node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("area2d")]
script = ExtResource("3_3ylb6")
script = ExtResource("3_sog2h")
area2d = NodePath("..")
is_fire_brick = true
status_effect_data = ExtResource("4_xx5l4")
[node name="EffectInflictorComponent" type="Node" parent="." node_paths=PackedStringArray("damage")]
script = ExtResource("5_ofrqk")
damage = NodePath("../DamageComponent")

View File

@@ -1,8 +1,10 @@
[gd_scene load_steps=5 format=3 uid="uid://bcmx07k12gcsc"]
[gd_scene load_steps=7 format=3 uid="uid://bcmx07k12gcsc"]
[ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_xusxl"]
[ext_resource type="Script" path="res://scripts/components/bullet.gd" id="2_ilnf5"]
[ext_resource type="Script" path="res://scripts/components/damage.gd" id="3_htddx"]
[ext_resource type="Script" path="res://scripts/components/damage_component.gd" id="3_3yf4g"]
[ext_resource type="Resource" uid="uid://02l4nbnf2aft" path="res://resources/status_effect/ice.tres" id="4_da7hn"]
[ext_resource type="Script" path="res://scripts/components/effect_inflictor_component.gd" id="5_x7vqb"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ar0xf"]
size = Vector2(16, 10)
@@ -36,6 +38,10 @@ scale = Vector2(0.8, 0.5)
[node name="Timer" type="Timer" parent="."]
[node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("area2d")]
script = ExtResource("3_htddx")
script = ExtResource("3_3yf4g")
area2d = NodePath("..")
is_ice_brick = true
status_effect_data = ExtResource("4_da7hn")
[node name="EffectInflictorComponent" type="Node" parent="." node_paths=PackedStringArray("damage")]
script = ExtResource("5_x7vqb")
damage = NodePath("../DamageComponent")

View File

@@ -1,7 +1,7 @@
[gd_scene load_steps=5 format=3 uid="uid://c7ku0k8n55hjv"]
[ext_resource type="Texture2D" uid="uid://djifxc5x0dyrw" path="res://sprites/ppc_tileset.png" id="1_brnkm"]
[ext_resource type="Script" path="res://scripts/components/damage.gd" id="2_l84sa"]
[ext_resource type="Script" path="res://scripts/components/damage_component.gd" id="2_x12f0"]
[ext_resource type="Script" path="res://scripts/components/beam_component.gd" id="3_6pj0h"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ptfn7"]
@@ -21,7 +21,7 @@ region_rect = Rect2(176, 64, 16, 16)
shape = SubResource("RectangleShape2D_ptfn7")
[node name="DamageComponent" type="Node" parent="." node_paths=PackedStringArray("area2d")]
script = ExtResource("2_l84sa")
script = ExtResource("2_x12f0")
area2d = NodePath("..")
[node name="BeamComponent" type="Node2D" parent="." node_paths=PackedStringArray("root", "sprite2d", "collision_shape")]