[gd_scene load_steps=91 format=3 uid="uid://dyfdmymh8anuc"] [ext_resource type="Script" uid="uid://d2ubk5gucny6s" path="res://Scripts/Components/FSM/PlayerFSMProxy.cs" id="1_4ux7c"] [ext_resource type="Script" uid="uid://bw2hakslndaxm" path="res://Scripts/Components/FSM/PlayerStateMachine.cs" id="2_tm0j0"] [ext_resource type="Script" uid="uid://chwqogny2v8t1" path="res://Scripts/Components/FSM/Player/Init.cs" id="3_1ryx5"] [ext_resource type="Script" uid="uid://bw53r8yy0xw0y" path="res://Scripts/Components/FSM/Player/Hacking/HackingActive.cs" id="4_4ux7c"] [ext_resource type="Script" uid="uid://dn2rrgw3e027b" path="res://Scripts/Components/FSM/Player/Cutscene.cs" id="5_60mev"] [ext_resource type="Script" uid="uid://b0khv2fcrgm6t" path="res://Scripts/Components/FSM/Player/Teleporting.cs" id="6_t22op"] [ext_resource type="Script" uid="uid://br2ev58gwuvu4" path="res://Scripts/Components/FSM/Player/UnTeleporting.cs" id="7_i7jye"] [ext_resource type="Script" uid="uid://bwtcgcvfw8urt" path="res://Scripts/Components/FSM/Player/Controlling.cs" id="8_o705v"] [ext_resource type="Script" uid="uid://bo6xcjnw3yn6s" path="res://Scripts/Components/FSM/Player/Dead.cs" id="9_8wpl5"] [ext_resource type="Script" uid="uid://bgve2lktony00" path="res://Scripts/Components/FSM/Player/Drowning.cs" id="10_og808"] [ext_resource type="Texture2D" uid="uid://cvngivvogv17l" path="res://Sprites/Actors/Cirno-Shadow.png" id="11_v3a7t"] [ext_resource type="Material" uid="uid://dnvwgyt2tbqmr" path="res://Resources/Materials/Player_Blink_Teleport_Material.tres" id="12_1ajy7"] [ext_resource type="SpriteFrames" uid="uid://c6exoa8pxbc6w" path="res://Resources/Sprites/player_float.tres" id="13_uaaqj"] [ext_resource type="SpriteFrames" uid="uid://byb4cbb23cawf" path="res://Resources/Sprites/player_float_legs.tres" id="14_5sbc6"] [ext_resource type="Script" uid="uid://b4nixnxhj5qhw" path="res://Scripts/Components/Actors/PlayerWeaponProvider.cs" id="15_cnvkg"] [ext_resource type="PackedScene" uid="uid://crry0rgk7a8sm" path="res://Scenes/Weapons/BaseWeapon.tscn" id="16_vbx5j"] [ext_resource type="Script" uid="uid://bo5sgbv1t8ril" path="res://Scripts/Components/Actors/PlayerAnimationProvider.cs" id="17_jace2"] [ext_resource type="PackedScene" uid="uid://biugfbp0yae2s" path="res://Scenes/Particles/DeathParticles.tscn" id="18_3esyb"] [ext_resource type="Script" uid="uid://dq338w2lw5phl" path="res://Scripts/Components/Actors/KeyboardInputProvider.cs" id="19_peplf"] [ext_resource type="Script" uid="uid://d208gvthkstvc" path="res://Scripts/Components/Actors/PlayerCrosshairProvider.cs" id="20_07a8k"] [ext_resource type="Texture2D" uid="uid://cf2855sd3hqty" path="res://Sprites/Actors/Aiming_Reticule_Small.png" id="21_lvqam"] [ext_resource type="Script" uid="uid://3jxrxcqp3ndr" path="res://Scripts/Components/Actors/PlayerHitboxSpriteProvider.cs" id="22_te01o"] [ext_resource type="Texture2D" uid="uid://bwjrdlnysft15" path="res://Sprites/Actors/Focus_Circle.png" id="23_sfg2a"] [ext_resource type="Texture2D" uid="uid://bc4tp44e00g0d" path="res://Sprites/Actors/Focus_Square.png" id="24_1rmrb"] [ext_resource type="Texture2D" uid="uid://bf37ce6jskdel" path="res://Sprites/SmallHitbox.png" id="25_1sr0y"] [ext_resource type="Script" uid="uid://dkmsw828qwikk" path="res://Scripts/Components/Actors/PlayerDamageReceiver.cs" id="26_ujjoc"] [ext_resource type="Script" uid="uid://ddsqqfx1usc3j" path="res://Scripts/Resources/DamageResistance.cs" id="27_w72vq"] [ext_resource type="Script" uid="uid://cqwvssstkrdmw" path="res://Scripts/Components/Actors/ActorResourceProvider.cs" id="28_q7408"] [ext_resource type="Script" uid="uid://dv205x8msohpv" path="res://Scripts/Components/Actors/ActivationProvider.cs" id="29_o6ys2"] [ext_resource type="PackedScene" uid="uid://chkpk7erlqajg" path="res://Scenes/Selector.tscn" id="30_dvi24"] [ext_resource type="AudioStream" uid="uid://myr6n2c1u503" path="res://SFX/581602__samsterbirdies__beep-error.mp3" id="31_rhlct"] [ext_resource type="Script" uid="uid://cem7a1agaqtrt" path="res://Scenes/InteractionController.cs" id="32_0n0fl"] [ext_resource type="Script" uid="uid://d0bebi2vn171l" path="res://Scripts/Components/FSM/Player/PlayerFSMItemUseModule.cs" id="33_xmnee"] [ext_resource type="Texture2D" uid="uid://ddwhrlrgj6i00" path="res://Sprites/Actors/Cirno.png" id="34_cuh31"] [ext_resource type="Script" uid="uid://camgjo4302qmq" path="res://Scripts/Components/Actors/ConveyorBeltMover.cs" id="35_3m8ud"] [ext_resource type="Script" uid="uid://dbxbvjonbtib2" path="res://Scripts/Components/FSM/Player/PlayerStorageModule.cs" id="36_w1w0q"] [ext_resource type="Script" uid="uid://bcpn47j3lr1tg" path="res://Scripts/Components/FSM/Player/DeathItemDropper.cs" id="37_u5fs4"] [ext_resource type="Script" uid="uid://epnwjptvks3t" path="res://Scripts/Resources/LootItem.cs" id="38_pi8x4"] [ext_resource type="Resource" uid="uid://cvlwye1u5gv8u" path="res://Resources/Items/Green_Points_Pickup.tres" id="39_5wdss"] [ext_resource type="Resource" uid="uid://cltxhkrqp055v" path="res://Resources/Items/Money_Pickup.tres" id="40_ycit3"] [ext_resource type="Resource" uid="uid://dy53gia1tmkah" path="res://Resources/Items/Points_Pickup.tres" id="41_27fjn"] [ext_resource type="Resource" uid="uid://clr1gln7nxa1o" path="res://Resources/Items/Power_Pickup.tres" id="42_glaxh"] [ext_resource type="Script" uid="uid://c8f4tbcjcfsu1" path="res://Scripts/Components/FSM/Player/AutoPickupModule.cs" id="43_v6f8s"] [ext_resource type="Script" uid="uid://d2r5eh3wn16bg" path="res://Scripts/Components/FSM/Player/PlayerGrazingModule.cs" id="44_hqd7v"] [ext_resource type="Script" uid="uid://ru6yajru35t0" path="res://Scripts/Components/FSM/Player/FreezeModule.cs" id="45_o75kk"] [ext_resource type="PackedScene" uid="uid://ckfhlsboy6mfr" path="res://Scenes/Weapons/Bullets/Ice.tscn" id="46_u1x4p"] [ext_resource type="AudioStream" uid="uid://dgp2e6cqb7i2q" path="res://SFX/Chiptone_Source/Cirno_Hurt.wav" id="47_rjely"] [ext_resource type="Script" uid="uid://c1cjjk0ghptyx" path="res://Scripts/Components/FSM/Player/HurtSoundPlayer.cs" id="48_51ts2"] [sub_resource type="CircleShape2D" id="CircleShape2D_b3hxm"] radius = 5.0 [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_12erk"] atlas = ExtResource("21_lvqam") region = Rect2(0, 0, 16, 16) [sub_resource type="SpriteFrames" id="SpriteFrames_n5ijo"] animations = [{ "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_12erk") }], "loop": true, "name": &"default", "speed": 5.0 }] [sub_resource type="AtlasTexture" id="AtlasTexture_n5ijo"] atlas = ExtResource("23_sfg2a") 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_vwjki"] atlas = ExtResource("24_1rmrb") region = Rect2(0, 0, 32, 32) [sub_resource type="SpriteFrames" id="SpriteFrames_g3wua"] animations = [{ "frames": [{ "duration": 1.0, "texture": SubResource("AtlasTexture_vwjki") }], "loop": true, "name": &"default", "speed": 5.0 }] [sub_resource type="AtlasTexture" id="AtlasTexture_igu66"] atlas = ExtResource("25_1sr0y") 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="Resource" id="Resource_c4ide"] script = ExtResource("27_w72vq") DamageType = 0 Attribute = 0 metadata/_custom_type_script = "uid://ddsqqfx1usc3j" [sub_resource type="Resource" id="Resource_fjg1v"] script = ExtResource("27_w72vq") DamageType = 1 Attribute = 0 metadata/_custom_type_script = "uid://ddsqqfx1usc3j" [sub_resource type="Resource" id="Resource_hed00"] script = ExtResource("27_w72vq") DamageType = 2 Attribute = 0 metadata/_custom_type_script = "uid://ddsqqfx1usc3j" [sub_resource type="Resource" id="Resource_q2flx"] script = ExtResource("27_w72vq") DamageType = 3 Attribute = 0 metadata/_custom_type_script = "uid://ddsqqfx1usc3j" [sub_resource type="Resource" id="Resource_k7ckg"] script = ExtResource("27_w72vq") DamageType = 4 Attribute = 4 metadata/_custom_type_script = "uid://ddsqqfx1usc3j" [sub_resource type="Resource" id="Resource_qlmfy"] script = ExtResource("27_w72vq") DamageType = 5 Attribute = 4 metadata/_custom_type_script = "uid://ddsqqfx1usc3j" [sub_resource type="Resource" id="Resource_v2m0j"] script = ExtResource("27_w72vq") DamageType = 0 Attribute = 0 metadata/_custom_type_script = "uid://ddsqqfx1usc3j" [sub_resource type="Resource" id="Resource_awrib"] script = ExtResource("27_w72vq") DamageType = 1 Attribute = 0 metadata/_custom_type_script = "uid://ddsqqfx1usc3j" [sub_resource type="Resource" id="Resource_nfrn8"] script = ExtResource("27_w72vq") DamageType = 2 Attribute = 2 metadata/_custom_type_script = "uid://ddsqqfx1usc3j" [sub_resource type="Resource" id="Resource_nfq4p"] script = ExtResource("27_w72vq") DamageType = 3 Attribute = 1 metadata/_custom_type_script = "uid://ddsqqfx1usc3j" [sub_resource type="Resource" id="Resource_m1iep"] script = ExtResource("27_w72vq") DamageType = 0 Attribute = 0 metadata/_custom_type_script = "uid://ddsqqfx1usc3j" [sub_resource type="Resource" id="Resource_ckpe7"] script = ExtResource("27_w72vq") DamageType = 4 Attribute = 0 metadata/_custom_type_script = "uid://ddsqqfx1usc3j" [sub_resource type="Resource" id="Resource_p5rkw"] script = ExtResource("27_w72vq") DamageType = 5 Attribute = 0 metadata/_custom_type_script = "uid://ddsqqfx1usc3j" [sub_resource type="CircleShape2D" id="CircleShape2D_igu66"] radius = 2.23607 [sub_resource type="CircleShape2D" id="CircleShape2D_7n10g"] radius = 17.2627 [sub_resource type="CircleShape2D" id="CircleShape2D_g3wua"] radius = 9.0 [sub_resource type="AnimationNodeTransition" id="AnimationNodeTransition_es1gk"] input_0/name = "up" input_0/auto_advance = false input_0/break_loop_at_end = false input_0/reset = true input_1/name = "down" input_1/auto_advance = false input_1/break_loop_at_end = false input_1/reset = true input_2/name = "left" input_2/auto_advance = false input_2/break_loop_at_end = false input_2/reset = true input_3/name = "right" input_3/auto_advance = false input_3/break_loop_at_end = false input_3/reset = true [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_4f2wn"] animation = &"Walk_Down" [sub_resource type="AnimationNodeBlendSpace1D" id="AnimationNodeBlendSpace1D_fnw0c"] blend_point_0/node = SubResource("AnimationNodeAnimation_4f2wn") blend_point_0/pos = 0.0 [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_12erk"] animation = &"Walk_Up" [sub_resource type="AnimationNodeBlendSpace1D" id="AnimationNodeBlendSpace1D_c4ide"] blend_point_0/node = SubResource("AnimationNodeAnimation_12erk") blend_point_0/pos = 0.0 [sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_fjg1v"] graph_offset = Vector2(-110.364, 39.7151) nodes/Transition/node = SubResource("AnimationNodeTransition_es1gk") nodes/Transition/position = Vector2(706.667, 53.3333) nodes/Walk_Down/node = SubResource("AnimationNodeBlendSpace1D_fnw0c") nodes/Walk_Down/position = Vector2(426.667, 253.333) nodes/Walk_Up/node = SubResource("AnimationNodeBlendSpace1D_c4ide") nodes/Walk_Up/position = Vector2(426.667, 53.3333) nodes/output/position = Vector2(280, 133.333) node_connections = [&"Transition", 0, &"Walk_Up", &"Transition", 1, &"Walk_Down"] [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_hed00"] advance_mode = 2 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_q2flx"] advance_mode = 2 [sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_k7ckg"] states/BlendTree/node = SubResource("AnimationNodeBlendTree_fjg1v") states/BlendTree/position = Vector2(401.333, 98.4444) states/Start/position = Vector2(192, 98.963) transitions = ["Start", "BlendTree", SubResource("AnimationNodeStateMachineTransition_hed00"), "BlendTree", "End", SubResource("AnimationNodeStateMachineTransition_q2flx")] [sub_resource type="Animation" id="Animation_awrib"] length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("../Sprite2D:frame") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 1, "values": [0] } [sub_resource type="Animation" id="Animation_qlmfy"] resource_name = "Walk_Down" length = 0.3 loop_mode = 1 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("../Sprite2D:frame") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0, 0.1, 0.2), "transitions": PackedFloat32Array(1, 1, 1), "update": 1, "values": [0, 1, 2] } [sub_resource type="Animation" id="Animation_v2m0j"] resource_name = "Walk_Up" length = 0.3 loop_mode = 1 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("../Sprite2D:frame") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0, 0.1, 0.2), "transitions": PackedFloat32Array(1, 1, 1), "update": 1, "values": [3, 5, 4] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_nfrn8"] _data = { &"RESET": SubResource("Animation_awrib"), &"Walk_Down": SubResource("Animation_qlmfy"), &"Walk_Up": SubResource("Animation_v2m0j") } [sub_resource type="CircleShape2D" id="CircleShape2D_fnw0c"] radius = 2.05679 [sub_resource type="CircleShape2D" id="CircleShape2D_qlmfy"] radius = 3.16228 [sub_resource type="CircleShape2D" id="CircleShape2D_awrib"] [node name="FSMPlayer" type="CharacterBody2D" node_paths=PackedStringArray("PlayerFSM", "InteractionController")] process_mode = 1 collision_layer = 2 collision_mask = 97 platform_floor_layers = 4294967294 platform_wall_layers = 97 script = ExtResource("1_4ux7c") PlayerFSM = NodePath("StateMachine") InteractionController = NodePath("InteractionController") metadata/_edit_group_ = true [node name="StateMachine" type="Node2D" parent="." node_paths=PackedStringArray("MotivationResource", "Shield")] script = ExtResource("2_tm0j0") MotivationResource = NodePath("../DamageReceiver/MotivationProvider") Shield = NodePath("../DamageReceiver/ShieldProvider") [node name="Init" type="Node2D" parent="StateMachine" node_paths=PackedStringArray("_animationProvider", "_storageModule")] script = ExtResource("3_1ryx5") _animationProvider = NodePath("../../AnimationProvider") _storageModule = NodePath("../../Storage") [node name="Active" type="Node2D" parent="StateMachine" node_paths=PackedStringArray("_weaponProvider", "_animationProvider", "_hitboxSpriteProvider", "_inputProvider", "_damageReceiver", "_storageModule", "_moduleNodes")] script = ExtResource("4_4ux7c") Speed = 50 _weaponProvider = NodePath("../../WeaponProvider") _animationProvider = NodePath("../../AnimationProvider") _hitboxSpriteProvider = NodePath("../../StrafeSpriteProvider") _inputProvider = NodePath("../../InputProvider") _damageReceiver = NodePath("../../DamageReceiver") _storageModule = NodePath("../../Storage") _moduleNodes = [NodePath("../../InteractionController"), NodePath("../../ItemUser"), NodePath("../../ConveyorBeltMover"), NodePath("../../AutoPickupModule"), NodePath("../../GrazingModule"), NodePath("../../FreezeModule"), NodePath("../../CrosshairProvider")] [node name="Cutscene" type="Node2D" parent="StateMachine" node_paths=PackedStringArray("_animationProvider")] script = ExtResource("5_60mev") _animationProvider = NodePath("../../AnimationProvider") [node name="Teleporting" type="Node2D" parent="StateMachine" node_paths=PackedStringArray("_animationProvider")] script = ExtResource("6_t22op") _animationProvider = NodePath("../../AnimationProvider") [node name="UnTeleporting" type="Node2D" parent="StateMachine" node_paths=PackedStringArray("_animationProvider")] script = ExtResource("7_i7jye") _animationProvider = NodePath("../../AnimationProvider") [node name="Controlling" type="Node2D" parent="StateMachine" node_paths=PackedStringArray("_animationProvider")] script = ExtResource("8_o705v") _animationProvider = NodePath("../../AnimationProvider") [node name="Dead" type="Node2D" parent="StateMachine" node_paths=PackedStringArray("_animationProvider", "_inputProvider", "_healthProvider", "_motivationProvider")] script = ExtResource("9_8wpl5") _animationProvider = NodePath("../../AnimationProvider") _inputProvider = NodePath("../../InputProvider") _healthProvider = NodePath("../../DamageReceiver/HealthProvider") _motivationProvider = NodePath("../../DamageReceiver/MotivationProvider") [node name="Drowning" type="Node2D" parent="StateMachine" node_paths=PackedStringArray("_animationProvider")] script = ExtResource("10_og808") _animationProvider = NodePath("../../AnimationProvider") [node name="CollisionShape2D" type="CollisionShape2D" parent="."] position = Vector2(0, 4.89) shape = SubResource("CircleShape2D_b3hxm") [node name="Shadow" type="Sprite2D" parent="."] modulate = Color(1, 1, 1, 0.372549) position = Vector2(0, 4) texture = ExtResource("11_v3a7t") [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] material = ExtResource("12_1ajy7") sprite_frames = ExtResource("13_uaaqj") animation = &"idle" autoplay = "idle" [node name="Legs" type="AnimatedSprite2D" parent="."] material = ExtResource("12_1ajy7") sprite_frames = ExtResource("14_5sbc6") animation = &"idle" autoplay = "idle" [node name="WeaponProvider" type="Node2D" parent="." node_paths=PackedStringArray("StorageModule", "WeaponRightOffset", "WeaponLeftOffset")] script = ExtResource("15_cnvkg") StorageModule = NodePath("../Storage") WeaponTemplate = ExtResource("16_vbx5j") WeaponRightOffset = NodePath("RightWeapon") WeaponLeftOffset = NodePath("LeftWeapon") [node name="RightWeapon" type="Marker2D" parent="WeaponProvider"] position = Vector2(4, 3) [node name="LeftWeapon" type="Marker2D" parent="WeaponProvider"] position = Vector2(-14, 3) [node name="AnimationProvider" type="Node2D" parent="." node_paths=PackedStringArray("_animatedSprite", "_shieldParticles")] script = ExtResource("17_jace2") _animatedSprite = NodePath("../AnimatedSprite2D") _deathParticles = ExtResource("18_3esyb") _shieldParticles = NodePath("ShieldParticles") BlinkMaterial = ExtResource("12_1ajy7") [node name="ShieldParticles" type="GPUParticles2D" parent="AnimationProvider"] emitting = false amount = 32 lifetime = 0.4 one_shot = true process_material = SubResource("ParticleProcessMaterial_0pqs8") [node name="LegsAnimationProvider" type="Node2D" parent="." node_paths=PackedStringArray("_animatedSprite")] script = ExtResource("17_jace2") _animatedSprite = NodePath("../Legs") BlinkMaterial = ExtResource("12_1ajy7") [node name="InputProvider" type="Node2D" parent="."] script = ExtResource("19_peplf") [node name="CrosshairProvider" type="Node2D" parent="." node_paths=PackedStringArray("StorageModule", "AnimatedSprite")] script = ExtResource("20_07a8k") StorageModule = NodePath("../Storage") 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", "Square")] show_behind_parent = true script = ExtResource("22_te01o") Hitbox = NodePath("Hitbox") Circle = NodePath("MagicCircle") Square = NodePath("MagicSquare") RotationSpeed = 1.0 [node name="MagicCircle" type="AnimatedSprite2D" parent="StrafeSpriteProvider"] modulate = Color(1, 1, 1, 0.501961) sprite_frames = SubResource("SpriteFrames_igu66") [node name="MagicSquare" type="AnimatedSprite2D" parent="StrafeSpriteProvider"] modulate = Color(1, 1, 1, 0.501961) sprite_frames = SubResource("SpriteFrames_g3wua") [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", "_motivationProvider")] collision_layer = 2 collision_mask = 392 script = ExtResource("26_ujjoc") _healthProvider = NodePath("HealthProvider") _shieldProvider = NodePath("ShieldProvider") _motivationProvider = NodePath("MotivationProvider") ShieldDamageResistances = Array[ExtResource("27_w72vq")]([SubResource("Resource_c4ide"), SubResource("Resource_fjg1v"), SubResource("Resource_hed00"), SubResource("Resource_q2flx"), SubResource("Resource_k7ckg"), SubResource("Resource_qlmfy")]) HealthDamageResistances = Array[ExtResource("27_w72vq")]([SubResource("Resource_v2m0j"), SubResource("Resource_awrib"), SubResource("Resource_nfrn8"), SubResource("Resource_nfq4p"), SubResource("Resource_m1iep"), SubResource("Resource_ckpe7"), SubResource("Resource_p5rkw")]) [node name="HealthProvider" type="Node2D" parent="DamageReceiver"] script = ExtResource("28_q7408") ResourceName = "Health" _maxResource = 32.0 [node name="MotivationProvider" type="Node2D" parent="DamageReceiver"] script = ExtResource("28_q7408") ResourceName = "Motivation" _maxResource = 400.0 [node name="ShieldProvider" type="Node2D" parent="DamageReceiver"] script = ExtResource("28_q7408") ResourceName = "Shield" _maxResource = 32.0 [node name="CollisionShape2D" type="CollisionShape2D" parent="DamageReceiver"] shape = SubResource("CircleShape2D_igu66") [node name="InteractionProvider" type="Area2D" parent="." node_paths=PackedStringArray("_inputProvider", "_errorSound")] visible = false collision_layer = 0 collision_mask = 4 script = ExtResource("29_o6ys2") SelectorScene = ExtResource("30_dvi24") _inputProvider = NodePath("../InputProvider") _errorSound = NodePath("Error") [node name="CollisionShape2D" type="CollisionShape2D" parent="InteractionProvider"] visible = false shape = SubResource("CircleShape2D_7n10g") [node name="Error" type="AudioStreamPlayer2D" parent="InteractionProvider"] stream = ExtResource("31_rhlct") bus = &"Effects" [node name="InteractionController" type="Area2D" parent="." node_paths=PackedStringArray("Health", "Shield")] visible = false collision_layer = 2 collision_mask = 0 script = ExtResource("32_0n0fl") Health = NodePath("../DamageReceiver/HealthProvider") Shield = NodePath("../DamageReceiver/ShieldProvider") [node name="CollisionShape2D2" type="CollisionShape2D" parent="InteractionController"] shape = SubResource("CircleShape2D_g3wua") [node name="ItemUser" type="Node2D" parent="." node_paths=PackedStringArray("Health", "Shield", "_storageModule")] script = ExtResource("33_xmnee") Health = NodePath("../DamageReceiver/HealthProvider") Shield = NodePath("../DamageReceiver/ShieldProvider") _storageModule = NodePath("../Storage") [node name="Sprite2D" type="Sprite2D" parent="."] visible = false texture = ExtResource("34_cuh31") hframes = 3 vframes = 4 [node name="AnimationTree" type="AnimationTree" parent="."] root_node = NodePath(".") tree_root = SubResource("AnimationNodeStateMachine_k7ckg") anim_player = NodePath("AnimationPlayer") parameters/BlendTree/Transition/current_state = "" parameters/BlendTree/Transition/transition_request = "" parameters/BlendTree/Transition/current_index = -1 parameters/BlendTree/Walk_Down/blend_position = 0 parameters/BlendTree/Walk_Up/blend_position = 0 [node name="AnimationPlayer" type="AnimationPlayer" parent="AnimationTree"] libraries = { &"": SubResource("AnimationLibrary_nfrn8") } [node name="ConveyorBeltMover" type="Area2D" parent="."] collision_layer = 2 collision_mask = 512 script = ExtResource("35_3m8ud") [node name="CollisionShape2D" type="CollisionShape2D" parent="ConveyorBeltMover"] visible = false position = Vector2(0, 6.48) shape = SubResource("CircleShape2D_fnw0c") [node name="Storage" type="Node2D" parent="." node_paths=PackedStringArray("Root")] script = ExtResource("36_w1w0q") Root = NodePath("..") [node name="DeathItemDropper" type="Node2D" parent="." node_paths=PackedStringArray("Storage", "HealthProvider")] script = ExtResource("37_u5fs4") Storage = NodePath("../Storage") HealthProvider = NodePath("../DamageReceiver/HealthProvider") ItemsToDrop = Array[ExtResource("38_pi8x4")]([ExtResource("39_5wdss"), ExtResource("40_ycit3"), ExtResource("41_27fjn"), ExtResource("42_glaxh")]) DropSpeed = 80.0 [node name="AutoPickupModule" type="Area2D" parent="."] collision_layer = 0 collision_mask = 4 script = ExtResource("43_v6f8s") [node name="CollisionShape2D" type="CollisionShape2D" parent="AutoPickupModule"] visible = false shape = SubResource("CircleShape2D_qlmfy") [node name="GrazingModule" type="Area2D" parent="." node_paths=PackedStringArray("Shield")] collision_layer = 0 collision_mask = 136 script = ExtResource("44_hqd7v") Shield = NodePath("../DamageReceiver/ShieldProvider") [node name="CollisionShape2D" type="CollisionShape2D" parent="GrazingModule"] visible = false shape = SubResource("CircleShape2D_awrib") [node name="FreezeModule" type="Node2D" parent="." node_paths=PackedStringArray("Shield", "InputProvider")] script = ExtResource("45_o75kk") ResourceCost = 5.0 IceLife = 2.0 IceScene = ExtResource("46_u1x4p") Shield = NodePath("../DamageReceiver/ShieldProvider") InputProvider = NodePath("../InputProvider") [node name="HurtPlayer" type="AudioStreamPlayer2D" parent="." node_paths=PackedStringArray("DamageReceiver")] stream = ExtResource("47_rjely") script = ExtResource("48_51ts2") DamageReceiver = NodePath("../DamageReceiver") [connection signal="area_entered" from="DamageReceiver" to="DamageReceiver" method="_on_damage_hitbox_area_entered"] [connection signal="area_entered" from="InteractionProvider" to="InteractionProvider" method="_on_interaction_controller_area_entered"] [connection signal="area_exited" from="InteractionProvider" to="InteractionProvider" method="_on_interaction_controller_area_exited"] [connection signal="body_entered" from="ConveyorBeltMover" to="ConveyorBeltMover" method="OnBodyEntered"] [connection signal="body_exited" from="ConveyorBeltMover" to="ConveyorBeltMover" method="OnBodyExited"]