cirnogodot/Scenes/Actors/fsm_player.tscn
2025-03-01 14:08:31 +01:00

177 lines
7.2 KiB
Text

[gd_scene load_steps=28 format=3 uid="uid://c4pr2707hbeph"]
[ext_resource type="Script" uid="uid://bw2hakslndaxm" path="res://Scripts/Components/FSM/PlayerStateMachine.cs" id="1_mpmil"]
[ext_resource type="Script" uid="uid://chwqogny2v8t1" path="res://Scripts/Components/FSM/Player/Init.cs" id="2_i6wc8"]
[ext_resource type="Script" uid="uid://bl0o35xt8wxtg" path="res://Scripts/Components/FSM/Player/Active.cs" id="3_3tuio"]
[ext_resource type="Script" uid="uid://bo6xcjnw3yn6s" path="res://Scripts/Components/FSM/Player/Dead.cs" id="4_0pqs8"]
[ext_resource type="Material" uid="uid://dnvwgyt2tbqmr" path="res://Resources/Materials/Player_Blink_Teleport_Material.tres" id="4_5qlss"]
[ext_resource type="SpriteFrames" uid="uid://bc7mghjx75qip" path="res://Resources/Sprites/player.tres" id="4_s0ir4"]
[ext_resource type="Script" uid="uid://b4nixnxhj5qhw" path="res://Scripts/Components/Actors/PlayerWeaponProvider.cs" id="5_gp3hw"]
[ext_resource type="PackedScene" uid="uid://crry0rgk7a8sm" path="res://Scenes/Weapons/BaseWeapon.tscn" id="6_8dcio"]
[ext_resource type="Script" uid="uid://bo5sgbv1t8ril" path="res://Scripts/Components/Actors/PlayerAnimationProvider.cs" id="7_pmkfo"]
[ext_resource type="Script" uid="uid://dq338w2lw5phl" path="res://Scripts/Components/Actors/KeyboardInputProvider.cs" id="8_i6wc8"]
[ext_resource type="PackedScene" uid="uid://biugfbp0yae2s" path="res://Scenes/Particles/DeathParticles.tscn" id="9_0pyos"]
[ext_resource type="Script" uid="uid://d208gvthkstvc" path="res://Scripts/Components/Actors/PlayerCrosshairProvider.cs" id="9_s0ir4"]
[ext_resource type="Texture2D" uid="uid://cfrvb1moh857m" path="res://Sprites/Crosshair.png" id="10_8dcio"]
[ext_resource type="Script" uid="uid://3jxrxcqp3ndr" path="res://Scripts/Components/Actors/PlayerHitboxSpriteProvider.cs" id="10_gp3hw"]
[ext_resource type="Texture2D" uid="uid://bwjrdlnysft15" path="res://Sprites/Actors/Focus_Circle.png" id="12_8dcio"]
[ext_resource type="Texture2D" uid="uid://bf37ce6jskdel" path="res://Sprites/SmallHitbox.png" id="13_pmkfo"]
[ext_resource type="Script" uid="uid://dkmsw828qwikk" path="res://Scripts/Components/Actors/PlayerDamageReceiver.cs" id="14_igu66"]
[ext_resource type="Script" uid="uid://cqwvssstkrdmw" path="res://Scripts/Components/Actors/ActorResourceProvider.cs" id="15_5qlss"]
[sub_resource type="CircleShape2D" id="CircleShape2D_b3hxm"]
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_0pqs8"]
particle_flag_disable_z = true
emission_shape = 2
emission_sphere_radius = 16.0
orbit_velocity_min = -1.0
orbit_velocity_max = 1.098
gravity = Vector3(0, 0, 0)
color = Color(0.0392157, 0.380392, 1, 1)
[sub_resource type="AtlasTexture" id="AtlasTexture_pmkfo"]
atlas = ExtResource("10_8dcio")
region = Rect2(0, 0, 8, 8)
[sub_resource type="SpriteFrames" id="SpriteFrames_n5ijo"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_pmkfo")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="AtlasTexture" id="AtlasTexture_n5ijo"]
atlas = ExtResource("12_8dcio")
region = Rect2(0, 0, 32, 32)
[sub_resource type="SpriteFrames" id="SpriteFrames_igu66"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_n5ijo")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="AtlasTexture" id="AtlasTexture_igu66"]
atlas = ExtResource("13_pmkfo")
region = Rect2(0, 0, 4, 4)
[sub_resource type="SpriteFrames" id="SpriteFrames_5qlss"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_igu66")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="CircleShape2D" id="CircleShape2D_igu66"]
radius = 2.23607
[node name="FSMPlayer" type="CharacterBody2D"]
collision_layer = 2
collision_mask = 97
platform_wall_layers = 97
script = ExtResource("1_mpmil")
InitialState = 1
[node name="Init" type="Node2D" parent="."]
script = ExtResource("2_i6wc8")
[node name="Active" type="Node2D" parent="." node_paths=PackedStringArray("_weaponProvider", "_animationProvider", "_crosshairProvider", "_hitboxSpriteProvider", "_inputProvider", "_damageReceiver")]
script = ExtResource("3_3tuio")
_weaponProvider = NodePath("../WeaponProvider")
_animationProvider = NodePath("../AnimationProvider")
_crosshairProvider = NodePath("../CrosshairProvider")
_hitboxSpriteProvider = NodePath("../StrafeSpriteProvider")
_inputProvider = NodePath("../InputProvider")
_damageReceiver = NodePath("../DamageReceiver")
State = 1
[node name="Dead" type="Node2D" parent="." node_paths=PackedStringArray("_animationProvider")]
script = ExtResource("4_0pqs8")
_animationProvider = NodePath("../AnimationProvider")
State = 4
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
shape = SubResource("CircleShape2D_b3hxm")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
material = ExtResource("4_5qlss")
sprite_frames = ExtResource("4_s0ir4")
animation = &"idle"
[node name="WeaponProvider" type="Node2D" parent="."]
script = ExtResource("5_gp3hw")
WeaponTemplate = ExtResource("6_8dcio")
[node name="AnimationProvider" type="Node2D" parent="." node_paths=PackedStringArray("_animatedSprite", "_shieldParticles")]
script = ExtResource("7_pmkfo")
_animatedSprite = NodePath("../AnimatedSprite2D")
_deathParticles = ExtResource("9_0pyos")
_shieldParticles = NodePath("ShieldParticles")
BlinkMaterial = ExtResource("4_5qlss")
[node name="ShieldParticles" type="GPUParticles2D" parent="AnimationProvider"]
emitting = false
amount = 32
lifetime = 0.4
one_shot = true
process_material = SubResource("ParticleProcessMaterial_0pqs8")
[node name="InputProvider" type="Node2D" parent="."]
script = ExtResource("8_i6wc8")
[node name="CrosshairProvider" type="Node2D" parent="." node_paths=PackedStringArray("AnimatedSprite")]
script = ExtResource("9_s0ir4")
AnimatedSprite = NodePath("Crosshair")
CrosshairDistance = 35.0
[node name="Crosshair" type="AnimatedSprite2D" parent="CrosshairProvider"]
sprite_frames = SubResource("SpriteFrames_n5ijo")
[node name="StrafeSpriteProvider" type="Node2D" parent="." node_paths=PackedStringArray("Hitbox", "Circle")]
show_behind_parent = true
script = ExtResource("10_gp3hw")
Hitbox = NodePath("Hitbox")
Circle = NodePath("MagicCircle")
[node name="MagicCircle" type="AnimatedSprite2D" parent="StrafeSpriteProvider"]
modulate = Color(1, 1, 1, 0.501961)
sprite_frames = SubResource("SpriteFrames_igu66")
[node name="Hitbox" type="AnimatedSprite2D" parent="StrafeSpriteProvider"]
z_index = 2
sprite_frames = SubResource("SpriteFrames_5qlss")
[node name="DamageReceiver" type="Area2D" parent="." node_paths=PackedStringArray("_healthProvider", "_shieldProvider")]
collision_layer = 2
collision_mask = 136
script = ExtResource("14_igu66")
_healthProvider = NodePath("HealthProvider")
_shieldProvider = NodePath("ShieldProvider")
[node name="HealthProvider" type="Node2D" parent="DamageReceiver"]
script = ExtResource("15_5qlss")
ResourceName = "Health"
MaxResource = 32.0
[node name="ShieldProvider" type="Node2D" parent="DamageReceiver"]
script = ExtResource("15_5qlss")
ResourceName = "Shield"
MaxResource = 32.0
[node name="CollisionShape2D" type="CollisionShape2D" parent="DamageReceiver"]
shape = SubResource("CircleShape2D_igu66")
[connection signal="area_entered" from="DamageReceiver" to="DamageReceiver" method="_on_damage_hitbox_area_entered"]