mirror of
https://gitlab.com/MaddoScientisto/cirnogodot.git
synced 2026-06-09 11:25:54 +00:00
Enemy feedback and mapping fixes
This commit is contained in:
parent
251636364b
commit
eb1e8cfcb8
11 changed files with 33 additions and 14 deletions
|
|
@ -12,6 +12,7 @@ RoomName = &"BigTest"
|
|||
Type = 1
|
||||
ScenePath = &"uid://cglddtyl6o4fn"
|
||||
Size = Vector2i(2, 2)
|
||||
StartShrouded = true
|
||||
DoorGridPositions = Array[Vector2i]([Vector2i(0, -1), Vector2i(0, 1), Vector2i(1, 0), Vector2i(-1, 0)])
|
||||
SpawnableEnemies = Array[Object]([ExtResource("1_w1ns8"), ExtResource("2_gohkc"), ExtResource("3_x42ya"), ExtResource("4_qo81h")])
|
||||
DoorDirections = 30
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
script = ExtResource("5_rpfcq")
|
||||
RoomName = &"LongX3Map"
|
||||
Type = 1
|
||||
ScenePath = &"uid://ss7hm1utnvn1"
|
||||
ScenePath = &"uid://640f2h7vxpq1"
|
||||
Size = Vector2i(1, 3)
|
||||
StartShrouded = true
|
||||
DoorGridPositions = Array[Vector2i]([Vector2i(0, -1), Vector2i(0, 1), Vector2i(1, 0), Vector2i(-1, 0)])
|
||||
|
|
|
|||
|
|
@ -199,10 +199,11 @@ lifetime = 0.4
|
|||
one_shot = true
|
||||
process_material = SubResource("ParticleProcessMaterial_poxpj")
|
||||
|
||||
[node name="AnimationModule" type="Node2D" parent="." node_paths=PackedStringArray("AnimationProvider", "StorageModule")]
|
||||
[node name="AnimationModule" type="Node2D" parent="." node_paths=PackedStringArray("AnimationProvider", "StorageModule", "HealthProvider")]
|
||||
script = ExtResource("21_8kl2e")
|
||||
AnimationProvider = NodePath("../AnimationProvider")
|
||||
StorageModule = NodePath("../Storage")
|
||||
HealthProvider = NodePath("../DamageReceiver/Health")
|
||||
|
||||
[node name="DropsProvider" type="Node2D" parent="." node_paths=PackedStringArray("StorageModule")]
|
||||
script = ExtResource("22_poxpj")
|
||||
|
|
|
|||
|
|
@ -201,10 +201,11 @@ lifetime = 0.4
|
|||
one_shot = true
|
||||
process_material = SubResource("ParticleProcessMaterial_poxpj")
|
||||
|
||||
[node name="AnimationModule" type="Node2D" parent="." node_paths=PackedStringArray("AnimationProvider", "StorageModule")]
|
||||
[node name="AnimationModule" type="Node2D" parent="." node_paths=PackedStringArray("AnimationProvider", "StorageModule", "HealthProvider")]
|
||||
script = ExtResource("22_ipl8g")
|
||||
AnimationProvider = NodePath("../AnimationProvider")
|
||||
StorageModule = NodePath("../Storage")
|
||||
HealthProvider = NodePath("../DamageReceiver/Health")
|
||||
|
||||
[node name="DropsProvider" type="Node2D" parent="." node_paths=PackedStringArray("StorageModule")]
|
||||
script = ExtResource("23_1llhk")
|
||||
|
|
|
|||
|
|
@ -355,10 +355,11 @@ lifetime = 0.4
|
|||
one_shot = true
|
||||
process_material = SubResource("ParticleProcessMaterial_poxpj")
|
||||
|
||||
[node name="AnimationModule" type="Node2D" parent="." node_paths=PackedStringArray("AnimationProvider", "StorageModule")]
|
||||
[node name="AnimationModule" type="Node2D" parent="." node_paths=PackedStringArray("AnimationProvider", "StorageModule", "HealthProvider")]
|
||||
script = ExtResource("22_uxv3s")
|
||||
AnimationProvider = NodePath("../AnimationProvider")
|
||||
StorageModule = NodePath("../Storage")
|
||||
HealthProvider = NodePath("../DamageReceiver/Health")
|
||||
|
||||
[node name="DropsProvider" type="Node2D" parent="." node_paths=PackedStringArray("StorageModule")]
|
||||
script = ExtResource("23_f8h5e")
|
||||
|
|
|
|||
|
|
@ -200,10 +200,11 @@ lifetime = 0.4
|
|||
one_shot = true
|
||||
process_material = SubResource("ParticleProcessMaterial_poxpj")
|
||||
|
||||
[node name="AnimationModule" type="Node2D" parent="." node_paths=PackedStringArray("AnimationProvider", "StorageModule")]
|
||||
[node name="AnimationModule" type="Node2D" parent="." node_paths=PackedStringArray("AnimationProvider", "StorageModule", "HealthProvider")]
|
||||
script = ExtResource("22_23wbc")
|
||||
AnimationProvider = NodePath("../AnimationProvider")
|
||||
StorageModule = NodePath("../Storage")
|
||||
HealthProvider = NodePath("../DamageReceiver/Health")
|
||||
|
||||
[node name="DropsProvider" type="Node2D" parent="." node_paths=PackedStringArray("StorageModule")]
|
||||
script = ExtResource("23_5aqmo")
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ process_mode = 1
|
|||
y_sort_enabled = true
|
||||
script = ExtResource("4_jtlua")
|
||||
MapThemes = Array[Object]([ExtResource("25_7gtqx")])
|
||||
ManualSeed = "18162257933587379688"
|
||||
|
||||
[node name="CameraController" parent="." instance=ExtResource("6_gwtv6")]
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=30 format=4 uid="uid://24wh7h2dbljf"]
|
||||
[gd_scene load_steps=29 format=4 uid="uid://24wh7h2dbljf"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_vhsym"]
|
||||
[ext_resource type="Resource" uid="uid://dn3ai56rrxfnk" path="res://Resources/RogueliteMaps/Beginner1.tres" id="2_vhsym"]
|
||||
|
|
@ -7,7 +7,6 @@
|
|||
[ext_resource type="PackedScene" uid="uid://cl7s06sk106uo" path="res://Scenes/Props/VendingMachine.tscn" id="6_70a8f"]
|
||||
[ext_resource type="PackedScene" uid="uid://4q82gggqax87" path="res://Scenes/Items/Cheat_Gun_Pickup.tscn" id="6_pys6w"]
|
||||
[ext_resource type="PackedScene" uid="uid://djf0y08ix66fn" path="res://Scenes/Interactable/Chest.tscn" id="7_kublc"]
|
||||
[ext_resource type="Script" uid="uid://epnwjptvks3t" path="res://Scripts/Resources/LootItem.cs" id="8_5uxd1"]
|
||||
[ext_resource type="Resource" uid="uid://cltxhkrqp055v" path="res://Resources/Items/Money_Pickup.tres" id="9_5yebg"]
|
||||
[ext_resource type="Resource" uid="uid://cajqlnyvlmybe" path="res://Resources/Items/IcicleRepeater_Improved.tres" id="10_6gtn1"]
|
||||
[ext_resource type="Resource" uid="uid://dwwbyyy3fo4bt" path="res://Resources/Items/IcicleRepeater_Advanced.tres" id="11_0a3am"]
|
||||
|
|
@ -76,7 +75,7 @@ position = Vector2(275, -100)
|
|||
|
||||
[node name="Chest" parent="Actors" instance=ExtResource("7_kublc")]
|
||||
position = Vector2(220, -109)
|
||||
LootTable = Array[ExtResource("8_5uxd1")]([ExtResource("9_5yebg"), ExtResource("9_5yebg"), ExtResource("9_5yebg"), ExtResource("9_5yebg"), ExtResource("9_5yebg"), ExtResource("9_5yebg"), ExtResource("10_6gtn1"), ExtResource("11_0a3am"), ExtResource("12_t3lr8"), ExtResource("13_ii24s"), ExtResource("14_15ruc"), ExtResource("15_5uxd1"), ExtResource("16_iyfx3"), ExtResource("17_45mmk"), ExtResource("18_ipsj4"), ExtResource("19_ii24s"), ExtResource("19_ii24s"), ExtResource("19_ii24s"), ExtResource("20_15ruc"), ExtResource("20_15ruc"), ExtResource("20_15ruc"), ExtResource("21_5uxd1"), ExtResource("21_5uxd1"), ExtResource("21_5uxd1"), ExtResource("26_iyfx3")])
|
||||
LootTable = [ExtResource("9_5yebg"), ExtResource("9_5yebg"), ExtResource("9_5yebg"), ExtResource("9_5yebg"), ExtResource("9_5yebg"), ExtResource("9_5yebg"), ExtResource("10_6gtn1"), ExtResource("11_0a3am"), ExtResource("12_t3lr8"), ExtResource("13_ii24s"), ExtResource("14_15ruc"), ExtResource("15_5uxd1"), ExtResource("16_iyfx3"), ExtResource("17_45mmk"), ExtResource("18_ipsj4"), ExtResource("19_ii24s"), ExtResource("19_ii24s"), ExtResource("19_ii24s"), ExtResource("20_15ruc"), ExtResource("20_15ruc"), ExtResource("20_15ruc"), ExtResource("21_5uxd1"), ExtResource("21_5uxd1"), ExtResource("21_5uxd1"), ExtResource("26_iyfx3")]
|
||||
|
||||
[node name="Label" type="Label" parent="Actors"]
|
||||
offset_left = 153.0
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=20 format=4 uid="uid://d06oxglp06qyt"]
|
||||
[gd_scene load_steps=19 format=4 uid="uid://d06oxglp06qyt"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_oj14n"]
|
||||
[ext_resource type="Resource" uid="uid://c1lxymqnucaas" path="res://Resources/RogueliteMaps/Corridor_3x2.tres" id="2_oj14n"]
|
||||
|
|
@ -12,7 +12,6 @@
|
|||
[ext_resource type="Resource" uid="uid://dqnvesdj0dk3v" path="res://Resources/Bullets/simple_enemy_bullet.tres" id="7_nhpte"]
|
||||
[ext_resource type="Script" uid="uid://umyqgyxjiaig" path="res://Scripts/Actors/ChestMarker.cs" id="8_nhpte"]
|
||||
[ext_resource type="Texture2D" uid="uid://qeh4ai8h6sw5" path="res://Sprites/Chest.png" id="9_7q6f1"]
|
||||
[ext_resource type="Script" uid="uid://b5fesrd4lv8t1" path="res://Scripts/Resources/Events/EventResource.cs" id="9_kbkbx"]
|
||||
[ext_resource type="Script" uid="uid://bwox5lmgiijcs" path="res://Scripts/Resources/Events/ActivateEvent.cs" id="10_wffoc"]
|
||||
[ext_resource type="PackedScene" uid="uid://dqr6myj0yaqvd" path="res://Scenes/Interactable/ScriptableMovementSensorLonger.tscn" id="11_wmiud"]
|
||||
|
||||
|
|
@ -98,11 +97,11 @@ BurstCoolDown = 0.0
|
|||
|
||||
[node name="MovementSensorLonger" parent="Tilemaps/Actors" instance=ExtResource("11_wmiud")]
|
||||
position = Vector2(216, 119)
|
||||
Events = Array[ExtResource("9_kbkbx")]([SubResource("Resource_00xb4")])
|
||||
Events = [SubResource("Resource_00xb4")]
|
||||
|
||||
[node name="MovementSensorLonger2" parent="Tilemaps/Actors" instance=ExtResource("11_wmiud")]
|
||||
position = Vector2(395, 117)
|
||||
Events = Array[ExtResource("9_kbkbx")]([SubResource("Resource_00xb4")])
|
||||
Events = [SubResource("Resource_00xb4")]
|
||||
|
||||
[node name="NavigationRegion2D" type="NavigationRegion2D" parent="."]
|
||||
visible = false
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ navigation_enabled = false
|
|||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="Props" type="TileMapLayer" parent="Tilemaps" groups=["Solid"]]
|
||||
tile_map_data = PackedByteArray("AAATAAQAAAAKAA8AAAATAAMAAAAKAA4AAAAAAAMAAAAKAA4AAAAAAAQAAAAKAA8AAAANAAEAAAAPAAAAAAANAAIAAAAPAAEAAAAOAAEAAAAQAAAAAAAOAAIAAAAQAAEAAAAPAAEAAAARAAAAAAAPAAIAAAARAAEAAAACAAEAAAAPAAAAAAACAAIAAAAPAAEAAAADAAEAAAAQAAAAAAADAAIAAAAQAAEAAAAEAAEAAAARAAAAAAAEAAIAAAARAAEAAAADAAMAAQAAAAAAAgAEAAMAAQAAAAAAAgAMAAgAAQAAAAAAAgAPAAgAAQAAAAAAAgAQAAMAAQAAAAAAAgAPAAMAAQAAAAAAAgAHAAQAAQAAAAAAAQAMAAcAAQAAAAAAAQAFAAMAAQAAAAAACQAKAAMAAQAAAAAADAAHAAMAAQAAAAAAEAA=")
|
||||
tile_map_data = PackedByteArray("AAATAAQAAAAKAA8AAAATAAMAAAAKAA4AAAAAAAMAAAAKAA4AAAAAAAQAAAAKAA8AAAANAAEAAAAPAAAAAAANAAIAAAAPAAEAAAAOAAEAAAAQAAAAAAAOAAIAAAAQAAEAAAAPAAEAAAARAAAAAAAPAAIAAAARAAEAAAACAAEAAAAPAAAAAAACAAIAAAAPAAEAAAADAAEAAAAQAAAAAAADAAIAAAAQAAEAAAAEAAEAAAARAAAAAAAEAAIAAAARAAEAAAADAAMAAQAAAAAAAgAEAAMAAQAAAAAAAgAMAAgAAQAAAAAAAgAPAAgAAQAAAAAAAgAQAAMAAQAAAAAAAgAPAAMAAQAAAAAAAgAHAAQAAQAAAAAAAQAMAAcAAQAAAAAAAQAFAAMAAQAAAAAACQAKAAMAAQAAAAAADAAHAAMAAQAAAAAAEAAIAAMAAAAJAAwAAAAIAAQAAAAJAA0AAAAJAAMAAAAKAAwAAAAJAAQAAAAKAA0AAAA=")
|
||||
tile_set = ExtResource("5_0c8ec")
|
||||
navigation_enabled = false
|
||||
metadata/_edit_lock_ = true
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using Cirno.Scripts.Enums;
|
||||
using Cirno.Scripts.Components.Actors;
|
||||
using Cirno.Scripts.Enums;
|
||||
using Godot;
|
||||
|
||||
namespace Cirno.Scripts.Components.FSM.Enemy;
|
||||
|
|
@ -10,16 +11,30 @@ public partial class AnimationModule : ModuleBase<EnemyState, CharacterBody2D>
|
|||
[Export] public PlayerAnimationProvider AnimationProvider { get; set; }
|
||||
|
||||
[Export] public EnemyStorageModule StorageModule { get; set; }
|
||||
[Export] public ActorResourceProvider HealthProvider { get; set; }
|
||||
|
||||
public override void EnterState(EnemyState state)
|
||||
{
|
||||
AnimationProvider.SetAnimation(StorageModule.AimingDirection);
|
||||
AnimationProvider.SetAnimation(Vector2.Zero);
|
||||
if (HealthProvider is not null)
|
||||
{
|
||||
HealthProvider.ResourceDecreased += HealthProviderOnResourceDecreased;
|
||||
}
|
||||
}
|
||||
|
||||
private void HealthProviderOnResourceDecreased(float oldValue, float newValue, float maxValue)
|
||||
{
|
||||
AnimationProvider?.Blink();
|
||||
}
|
||||
|
||||
public override void ExitState(EnemyState state)
|
||||
{
|
||||
AnimationProvider.SetAnimation(Vector2.Zero);
|
||||
if (HealthProvider is not null)
|
||||
{
|
||||
HealthProvider.ResourceDecreased -= HealthProviderOnResourceDecreased;
|
||||
}
|
||||
}
|
||||
|
||||
public override void Init(IStateMachine<EnemyState, CharacterBody2D> machine)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue