mirror of
https://gitlab.com/MaddoScientisto/cirnogodot.git
synced 2026-06-16 09:23:48 +00:00
Movement friction
This commit is contained in:
parent
946e7df71e
commit
b16e633451
19 changed files with 143 additions and 54 deletions
|
|
@ -1,4 +1,4 @@
|
|||
<Project Sdk="Godot.NET.Sdk/4.4.0">
|
||||
<Project Sdk="Godot.NET.Sdk/4.4.1">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<EnableDynamicLoading>true</EnableDynamicLoading>
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
[gd_resource type="Resource" script_class="BossScript" load_steps=3 format=3 uid="uid://umimlgb0hs7k"]
|
||||
[gd_resource type="Resource" script_class="BossScript" load_steps=4 format=3 uid="uid://umimlgb0hs7k"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cdd6q2h0t1hhq" path="res://Scripts/Resources/BossPhase.cs" id="1_2i700"]
|
||||
[ext_resource type="Resource" uid="uid://go6rfnglefe8" path="res://Resources/BossPhases/Roguelite/Roguelite_Boss_1.tres" id="2_bv4fb"]
|
||||
[ext_resource type="Script" uid="uid://inasa76li3ym" path="res://Scripts/Resources/ScriptableBullets/BossScript.cs" id="3_hj6ge"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("3_hj6ge")
|
||||
BossName = &"Test"
|
||||
Phases = [ExtResource("2_bv4fb")]
|
||||
Phases = Array[ExtResource("1_2i700")]([ExtResource("2_bv4fb")])
|
||||
metadata/_custom_type_script = "uid://inasa76li3ym"
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ burstInterval = 2.0
|
|||
ShotsPerBurst = 100
|
||||
BurstRate = 0.0
|
||||
_targetPlayer = false
|
||||
_predictPlayer = false
|
||||
OverrideOwner = false
|
||||
Owner = 0
|
||||
OverrideDamageType = false
|
||||
|
|
@ -95,6 +96,7 @@ burstInterval = 6.0
|
|||
ShotsPerBurst = 100
|
||||
BurstRate = 0.0
|
||||
_targetPlayer = false
|
||||
_predictPlayer = false
|
||||
OverrideOwner = false
|
||||
Owner = 0
|
||||
OverrideDamageType = false
|
||||
|
|
@ -134,6 +136,7 @@ burstInterval = 2.0
|
|||
ShotsPerBurst = 100
|
||||
BurstRate = 0.0
|
||||
_targetPlayer = false
|
||||
_predictPlayer = false
|
||||
OverrideOwner = false
|
||||
Owner = 0
|
||||
OverrideDamageType = false
|
||||
|
|
@ -173,6 +176,7 @@ burstInterval = 6.0
|
|||
ShotsPerBurst = 100
|
||||
BurstRate = 0.0
|
||||
_targetPlayer = false
|
||||
_predictPlayer = false
|
||||
OverrideOwner = false
|
||||
Owner = 0
|
||||
OverrideDamageType = false
|
||||
|
|
@ -212,6 +216,7 @@ burstInterval = 2.0
|
|||
ShotsPerBurst = 100
|
||||
BurstRate = 0.0
|
||||
_targetPlayer = false
|
||||
_predictPlayer = false
|
||||
OverrideOwner = false
|
||||
Owner = 0
|
||||
OverrideDamageType = false
|
||||
|
|
@ -251,6 +256,7 @@ burstInterval = 6.0
|
|||
ShotsPerBurst = 100
|
||||
BurstRate = 0.0
|
||||
_targetPlayer = false
|
||||
_predictPlayer = false
|
||||
OverrideOwner = false
|
||||
Owner = 0
|
||||
OverrideDamageType = false
|
||||
|
|
@ -312,6 +318,7 @@ burstInterval = 1.0
|
|||
ShotsPerBurst = 100
|
||||
BurstRate = 0.0
|
||||
_targetPlayer = true
|
||||
_predictPlayer = false
|
||||
OverrideOwner = false
|
||||
Owner = 0
|
||||
OverrideDamageType = false
|
||||
|
|
@ -359,6 +366,7 @@ burstInterval = 1.0
|
|||
ShotsPerBurst = 100
|
||||
BurstRate = 0.0
|
||||
_targetPlayer = false
|
||||
_predictPlayer = false
|
||||
OverrideOwner = false
|
||||
Owner = 0
|
||||
OverrideDamageType = false
|
||||
|
|
@ -406,6 +414,7 @@ burstInterval = 1.0
|
|||
ShotsPerBurst = 100
|
||||
BurstRate = 0.0
|
||||
_targetPlayer = false
|
||||
_predictPlayer = false
|
||||
OverrideOwner = false
|
||||
Owner = 0
|
||||
OverrideDamageType = false
|
||||
|
|
@ -453,6 +462,7 @@ burstInterval = 1.0
|
|||
ShotsPerBurst = 100
|
||||
BurstRate = 0.0
|
||||
_targetPlayer = false
|
||||
_predictPlayer = false
|
||||
OverrideOwner = false
|
||||
Owner = 0
|
||||
OverrideDamageType = false
|
||||
|
|
|
|||
|
|
@ -65,6 +65,7 @@ burstInterval = 0.4
|
|||
ShotsPerBurst = 100
|
||||
BurstRate = 0.0
|
||||
_targetPlayer = false
|
||||
_predictPlayer = false
|
||||
OverrideOwner = false
|
||||
Owner = 0
|
||||
OverrideDamageType = false
|
||||
|
|
@ -113,6 +114,7 @@ burstInterval = 0.4
|
|||
ShotsPerBurst = 100
|
||||
BurstRate = 0.0
|
||||
_targetPlayer = false
|
||||
_predictPlayer = false
|
||||
OverrideOwner = false
|
||||
Owner = 0
|
||||
OverrideDamageType = false
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@ 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
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@ MovementSpeed = 30.0
|
|||
Weapon = ExtResource("7_tf7s2")
|
||||
LootDrops = Array[ExtResource("1_tf7s2")]([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
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ MovementSpeed = 40.0
|
|||
Weapon = ExtResource("8_w06jt")
|
||||
LootDrops = Array[ExtResource("2_3teuq")]([])
|
||||
MotivationReward = 100.0
|
||||
PredictPlayer = false
|
||||
PlayerDetectionRange = 90.0
|
||||
ViewRange = 120.0
|
||||
AlarmReactRange = 150.0
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ 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
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ burstInterval = 0.3
|
|||
ShotsPerBurst = 100
|
||||
BurstRate = 0.0
|
||||
_targetPlayer = true
|
||||
_predictPlayer = false
|
||||
OverrideOwner = false
|
||||
Owner = 0
|
||||
OverrideDamageType = false
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ burstInterval = 2.0
|
|||
ShotsPerBurst = 100
|
||||
BurstRate = 0.0
|
||||
_targetPlayer = false
|
||||
_predictPlayer = false
|
||||
OverrideOwner = false
|
||||
Owner = 0
|
||||
OverrideDamageType = false
|
||||
|
|
@ -75,6 +76,7 @@ burstInterval = 2.0
|
|||
ShotsPerBurst = 100
|
||||
BurstRate = 0.0
|
||||
_targetPlayer = false
|
||||
_predictPlayer = false
|
||||
OverrideOwner = false
|
||||
Owner = 0
|
||||
OverrideDamageType = false
|
||||
|
|
@ -114,6 +116,7 @@ burstInterval = 2.0
|
|||
ShotsPerBurst = 100
|
||||
BurstRate = 0.0
|
||||
_targetPlayer = false
|
||||
_predictPlayer = false
|
||||
OverrideOwner = false
|
||||
Owner = 0
|
||||
OverrideDamageType = false
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=87 format=3 uid="uid://c4pr2707hbeph"]
|
||||
[gd_scene load_steps=88 format=3 uid="uid://c4pr2707hbeph"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://d2ubk5gucny6s" path="res://Scripts/Components/FSM/PlayerFSMProxy.cs" id="1_g3wua"]
|
||||
[ext_resource type="Script" uid="uid://bw2hakslndaxm" path="res://Scripts/Components/FSM/PlayerStateMachine.cs" id="1_mpmil"]
|
||||
|
|
@ -19,6 +19,7 @@
|
|||
[ext_resource type="Script" uid="uid://d208gvthkstvc" path="res://Scripts/Components/Actors/PlayerCrosshairProvider.cs" id="9_s0ir4"]
|
||||
[ext_resource type="Script" uid="uid://bgve2lktony00" path="res://Scripts/Components/FSM/Player/Drowning.cs" id="10_es1gk"]
|
||||
[ext_resource type="Script" uid="uid://3jxrxcqp3ndr" path="res://Scripts/Components/Actors/PlayerHitboxSpriteProvider.cs" id="10_gp3hw"]
|
||||
[ext_resource type="Texture2D" uid="uid://cvngivvogv17l" path="res://Sprites/Actors/Cirno-Shadow.png" id="11_m1iep"]
|
||||
[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"]
|
||||
|
|
@ -346,7 +347,9 @@ _storageModule = NodePath("../../Storage")
|
|||
|
||||
[node name="Active" type="Node2D" parent="StateMachine" node_paths=PackedStringArray("_weaponProvider", "_animationProvider", "_crosshairProvider", "_hitboxSpriteProvider", "_inputProvider", "_damageReceiver", "_activationProvider", "_interactionController", "_storageModule", "_moduleNodes")]
|
||||
script = ExtResource("3_3tuio")
|
||||
Speed = 55
|
||||
Speed = 80
|
||||
Acceleration = 300.0
|
||||
Deceleration = 150.0
|
||||
_weaponProvider = NodePath("../../WeaponProvider")
|
||||
_animationProvider = NodePath("../../AnimationProvider")
|
||||
_crosshairProvider = NodePath("../../CrosshairProvider")
|
||||
|
|
@ -388,6 +391,11 @@ _animationProvider = NodePath("../../AnimationProvider")
|
|||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
shape = SubResource("CircleShape2D_b3hxm")
|
||||
|
||||
[node name="Shadow" type="Sprite2D" parent="."]
|
||||
modulate = Color(1, 1, 1, 0.227451)
|
||||
position = Vector2(0, 2)
|
||||
texture = ExtResource("11_m1iep")
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
|
||||
material = ExtResource("4_5qlss")
|
||||
sprite_frames = ExtResource("4_s0ir4")
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=29 format=4 uid="uid://24wh7h2dbljf"]
|
||||
[gd_scene load_steps=30 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,6 +7,7 @@
|
|||
[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"]
|
||||
|
|
@ -74,7 +75,7 @@ position = Vector2(275, -100)
|
|||
|
||||
[node name="Chest" parent="Actors" instance=ExtResource("7_kublc")]
|
||||
position = Vector2(220, -109)
|
||||
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")]
|
||||
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")])
|
||||
|
||||
[node name="Label" type="Label" parent="Actors"]
|
||||
offset_left = 153.0
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ RoomClearActivation = []
|
|||
[node name="Tilemaps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]]
|
||||
|
||||
[node name="Floor" type="TileMapLayer" parent="Tilemaps" node_paths=PackedStringArray("_solidLayers") groups=["Solid"]]
|
||||
tile_map_data = PackedByteArray("AAAAAAIAAAAEAAIAAAAAAAMAAAAEAAIAAAAAAAQAAAAEAAIAAAAAAAUAAAAEAAIAAAAAAAYAAAAEAAIAAAAAAAcAAAAEAAIAAAAAAAgAAAAEAAIAAAAAAAkAAAAEAAIAAAABAAIAAAAEAAIAAAABAAMAAAAEAAIAAAABAAQAAAAEAAIAAAABAAUAAAAEAAIAAAABAAYAAAAEAAIAAAABAAcAAAAEAAIAAAABAAgAAAAEAAIAAAABAAkAAAAEAAIAAAACAAIAAAAEAAIAAAACAAMAAAAEAAIAAAACAAQAAAAEAAIAAAACAAUAAAAEAAIAAAACAAYAAAAEAAIAAAACAAcAAAAEAAIAAAACAAgAAAAEAAIAAAACAAkAAAAEAAIAAAADAAIAAAAEAAIAAAADAAMAAAAEAAIAAAADAAQAAAAEAAIAAAADAAUAAAAEAAIAAAADAAYAAAAEAAIAAAADAAcAAAAEAAIAAAADAAgAAAAEAAIAAAADAAkAAAAEAAIAAAAEAAIAAAAEAAIAAAAEAAMAAAAEAAIAAAAEAAQAAAAEAAIAAAAEAAUAAAAEAAIAAAAEAAYAAAAEAAIAAAAEAAcAAAAEAAIAAAAEAAgAAAAEAAIAAAAEAAkAAAAEAAIAAAAFAAIAAAAEAAIAAAAFAAMAAAAEAAIAAAAFAAQAAAAEAAIAAAAFAAUAAAAEAAIAAAAFAAYAAAAEAAIAAAAFAAcAAAAEAAIAAAAFAAgAAAAEAAIAAAAFAAkAAAAEAAIAAAAGAAIAAAAEAAIAAAAGAAMAAAAEAAIAAAAGAAQAAAAEAAIAAAAGAAUAAAAEAAIAAAAGAAYAAAAEAAIAAAAGAAcAAAAEAAIAAAAGAAgAAAAEAAIAAAAGAAkAAAAEAAIAAAAHAAIAAAAEAAIAAAAHAAMAAAAEAAIAAAAHAAQAAAAEAAIAAAAHAAUAAAAEAAIAAAAHAAYAAAAEAAIAAAAHAAcAAAAEAAIAAAAHAAgAAAAEAAIAAAAHAAkAAAAEAAIAAAAIAAIAAAAEAAIAAAAIAAMAAAAEAAIAAAAIAAQAAAAEAAIAAAAIAAUAAAAEAAIAAAAIAAYAAAAEAAIAAAAIAAcAAAAEAAIAAAAIAAgAAAAEAAIAAAAIAAkAAAAEAAIAAAAJAAIAAAAEAAIAAAAJAAMAAAAEAAIAAAAJAAQAAAAEAAIAAAAJAAUAAAAEAAIAAAAJAAYAAAAEAAIAAAAJAAcAAAAEAAIAAAAJAAgAAAAEAAIAAAAJAAkAAAAEAAIAAAAKAAIAAAAEAAIAAAAKAAMAAAAEAAIAAAAKAAQAAAAEAAIAAAAKAAUAAAAEAAIAAAAKAAYAAAAEAAIAAAAKAAcAAAAEAAIAAAAKAAgAAAAEAAIAAAAKAAkAAAAEAAIAAAALAAIAAAAEAAIAAAALAAUAAAAEAAIAAAALAAYAAAAEAAIAAAALAAcAAAAEAAIAAAALAAgAAAAEAAIAAAALAAkAAAAEAAIAAAAMAAIAAAAEAAIAAAAMAAUAAAAEAAIAAAAMAAYAAAAEAAIAAAAMAAcAAAAEAAIAAAAMAAgAAAAEAAIAAAAMAAkAAAAEAAIAAAANAAIAAAAEAAIAAAANAAMAAAAEAAIAAAANAAQAAAAEAAIAAAANAAUAAAAEAAIAAAANAAYAAAAEAAIAAAANAAcAAAAEAAIAAAANAAgAAAAEAAIAAAANAAkAAAAEAAIAAAAOAAIAAAAEAAIAAAAOAAMAAAAEAAIAAAAOAAQAAAAEAAIAAAAOAAUAAAAEAAIAAAAOAAYAAAAEAAIAAAAOAAcAAAAEAAIAAAAOAAgAAAAEAAIAAAAOAAkAAAAEAAIAAAAPAAIAAAAEAAIAAAAPAAMAAAAEAAIAAAAPAAQAAAAEAAIAAAAPAAUAAAAEAAIAAAAPAAYAAAAEAAIAAAAPAAcAAAAEAAIAAAAPAAgAAAAEAAIAAAAPAAkAAAAEAAIAAAAQAAIAAAAEAAIAAAAQAAMAAAAEAAIAAAAQAAQAAAAEAAIAAAAQAAUAAAAEAAIAAAAQAAYAAAAEAAIAAAAQAAcAAAAEAAIAAAAQAAgAAAAEAAIAAAAQAAkAAAAEAAIAAAARAAIAAAAEAAIAAAARAAMAAAAEAAIAAAARAAQAAAAEAAIAAAARAAUAAAAEAAIAAAARAAYAAAAEAAIAAAARAAcAAAAEAAIAAAARAAgAAAAEAAIAAAARAAkAAAAEAAIAAAASAAIAAAAEAAIAAAASAAMAAAAEAAIAAAASAAQAAAAEAAIAAAASAAUAAAAEAAIAAAASAAYAAAAEAAIAAAASAAcAAAAEAAIAAAASAAgAAAAEAAIAAAASAAkAAAAEAAIAAAATAAIAAAAEAAIAAAATAAMAAAAEAAIAAAATAAQAAAAEAAIAAAATAAUAAAAEAAIAAAATAAYAAAAEAAIAAAATAAcAAAAEAAIAAAATAAgAAAAEAAIAAAATAAkAAAAEAAIAAAAAAAAAAAAEAAIAAAAAAAEAAAAEAAIAAAABAAAAAAAEAAIAAAABAAEAAAAEAAIAAAACAAAAAAAEAAIAAAACAAEAAAAEAAIAAAADAAAAAAAEAAIAAAADAAEAAAAEAAIAAAAEAAAAAAAEAAIAAAAEAAEAAAAEAAIAAAAFAAAAAAAEAAIAAAAFAAEAAAAEAAIAAAAGAAAAAAAEAAIAAAAGAAEAAAAEAAIAAAAHAAAAAAAEAAIAAAAHAAEAAAAEAAIAAAAIAAAAAAAEAAIAAAAIAAEAAAAEAAIAAAAJAAAAAAAEAAIAAAAJAAEAAAAEAAIAAAAKAAAAAAAEAAIAAAAKAAEAAAAEAAIAAAALAAAAAAAEAAIAAAALAAEAAAAEAAIAAAALAAMAAAAEAAIAAAALAAQAAAAEAAIAAAAMAAAAAAAEAAIAAAAMAAEAAAAEAAIAAAAMAAMAAAAEAAIAAAAMAAQAAAAEAAIAAAANAAAAAAAEAAIAAAANAAEAAAAEAAIAAAAOAAAAAAAEAAIAAAAOAAEAAAAEAAIAAAAPAAAAAAAEAAIAAAAPAAEAAAAEAAIAAAAQAAAAAAAEAAIAAAAQAAEAAAAEAAIAAAARAAAAAAAEAAIAAAARAAEAAAAEAAIAAAASAAAAAAAEAAIAAAASAAEAAAAEAAIAAAATAAAAAAAEAAIAAAATAAEAAAAEAAIAAAA=")
|
||||
tile_map_data = PackedByteArray("AAAAAAIABgAAAAEAAAAAAAMABgAAAAEAAAAAAAQABgAAAAEAAAAAAAUABgAAAAEAAAAAAAYABgAAAAEAAAAAAAcABgAAAAEAAAAAAAgABgAAAAEAAAAAAAkABgAAAAEAAAABAAIABgAAAAEAAAABAAMABgAAAAEAAAABAAQABgAAAAEAAAABAAUABgAAAAEAAAABAAYABgAAAAEAAAABAAcABgAAAAEAAAABAAgABgAAAAEAAAABAAkABgAAAAEAAAACAAIABgAAAAEAAAACAAMABgAAAAEAAAACAAQABgAGAAEAAAACAAUABgAGAAEAAAACAAYABgAGAAEAAAACAAcABgAGAAEAAAACAAgABgAAAAEAAAACAAkABgAAAAEAAAADAAIABgAAAAEAAAADAAMABgAAAAEAAAADAAQABgAGAAEAAAADAAUABgAGAAEAAAADAAYABgAGAAEAAAADAAcABgAGAAEAAAADAAgABgAAAAEAAAADAAkABgAAAAEAAAAEAAIABgAAAAEAAAAEAAMABgAAAAEAAAAEAAQABgAGAAEAAAAEAAUABgAGAAEAAAAEAAYABgAGAAEAAAAEAAcABgAGAAEAAAAEAAgABgAAAAEAAAAEAAkABgAAAAEAAAAFAAIABgAAAAEAAAAFAAMABgAAAAEAAAAFAAQABgAGAAEAAAAFAAUABgAGAAEAAAAFAAYABgAGAAEAAAAFAAcABgAGAAEAAAAFAAgABgAAAAEAAAAFAAkABgAAAAEAAAAGAAIABgAAAAEAAAAGAAMABgAAAAEAAAAGAAQABgAGAAEAAAAGAAUABgAGAAEAAAAGAAYABgAGAAEAAAAGAAcABgAGAAEAAAAGAAgABgAAAAEAAAAGAAkABgAAAAEAAAAHAAIABgAAAAEAAAAHAAMABgAAAAEAAAAHAAQABgAGAAEAAAAHAAUABgAGAAEAAAAHAAYABgAGAAEAAAAHAAcABgAGAAEAAAAHAAgABgAAAAEAAAAHAAkABgAAAAEAAAAIAAIABgAAAAEAAAAIAAMABgAAAAEAAAAIAAQABgAGAAEAAAAIAAUABgAGAAEAAAAIAAYABgAGAAEAAAAIAAcABgAGAAEAAAAIAAgABgAAAAEAAAAIAAkABgAAAAEAAAAJAAIABgAAAAEAAAAJAAMABgAAAAEAAAAJAAQABgAGAAEAAAAJAAUABgAGAAEAAAAJAAYABgAGAAEAAAAJAAcABgAGAAEAAAAJAAgABgAAAAEAAAAJAAkABgAAAAEAAAAKAAIABgAAAAEAAAAKAAMABgAAAAEAAAAKAAQABgAGAAEAAAAKAAUABgAGAAEAAAAKAAYABgAGAAEAAAAKAAcABgAGAAEAAAAKAAgABgAAAAEAAAAKAAkABgAAAAEAAAALAAIABgAAAAEAAAALAAUABgAGAAEAAAALAAYABgAGAAEAAAALAAcABgAGAAEAAAALAAgABgAAAAEAAAALAAkABgAAAAEAAAAMAAIABgAAAAEAAAAMAAUABgAGAAEAAAAMAAYABgAGAAEAAAAMAAcABgAGAAEAAAAMAAgABgAAAAEAAAAMAAkABgAAAAEAAAANAAIABgAAAAEAAAANAAMABgAAAAEAAAANAAQABgAGAAEAAAANAAUABgAGAAEAAAANAAYABgAGAAEAAAANAAcABgAGAAEAAAANAAgABgAAAAEAAAANAAkABgAAAAEAAAAOAAIABgAAAAEAAAAOAAMABgAAAAEAAAAOAAQABgAGAAEAAAAOAAUABgAGAAEAAAAOAAYABgAGAAEAAAAOAAcABgAGAAEAAAAOAAgABgAAAAEAAAAOAAkABgAAAAEAAAAPAAIABgAAAAEAAAAPAAMABgAAAAEAAAAPAAQABgAGAAEAAAAPAAUABgAGAAEAAAAPAAYABgAGAAEAAAAPAAcABgAGAAEAAAAPAAgABgAAAAEAAAAPAAkABgAAAAEAAAAQAAIABgAAAAEAAAAQAAMABgAAAAEAAAAQAAQABgAGAAEAAAAQAAUABgAGAAEAAAAQAAYABgAGAAEAAAAQAAcABgAGAAEAAAAQAAgABgAAAAEAAAAQAAkABgAAAAEAAAARAAIABgAAAAEAAAARAAMABgAAAAEAAAARAAQABgAGAAEAAAARAAUABgAGAAEAAAARAAYABgAGAAEAAAARAAcABgAGAAEAAAARAAgABgAAAAEAAAARAAkABgAAAAEAAAASAAIABgAAAAEAAAASAAMABgAAAAEAAAASAAQABgAAAAEAAAASAAUABgAAAAEAAAASAAYABgAAAAEAAAASAAcABgAAAAEAAAASAAgABgAAAAEAAAASAAkABgAAAAEAAAATAAIABgAAAAEAAAATAAMABgAAAAEAAAATAAQABgAAAAEAAAATAAUABgAAAAEAAAATAAYABgAAAAEAAAATAAcABgAAAAEAAAATAAgABgAAAAEAAAATAAkABgAAAAEAAAAAAAAABgAAAAEAAAAAAAEABgAAAAEAAAABAAAABgAAAAEAAAABAAEABgAAAAEAAAACAAAABgAAAAEAAAACAAEABgAAAAEAAAADAAAABgAAAAEAAAADAAEABgAAAAEAAAAEAAAABgAAAAEAAAAEAAEABgAAAAEAAAAFAAAABgAAAAEAAAAFAAEABgAAAAEAAAAGAAAABgAAAAEAAAAGAAEABgAAAAEAAAAHAAAABgAAAAEAAAAHAAEABgAAAAEAAAAIAAAABgAAAAEAAAAIAAEABgAAAAEAAAAJAAAABgAAAAEAAAAJAAEABgAAAAEAAAAKAAAABgAAAAEAAAAKAAEABgAAAAEAAAALAAAABgAAAAEAAAALAAEABgAAAAEAAAALAAMABgAAAAEAAAALAAQABgAGAAEAAAAMAAAABgAAAAEAAAAMAAEABgAAAAEAAAAMAAMABgAAAAEAAAAMAAQABgAGAAEAAAANAAAABgAAAAEAAAANAAEABgAAAAEAAAAOAAAABgAAAAEAAAAOAAEABgAAAAEAAAAPAAAABgAAAAEAAAAPAAEABgAAAAEAAAAQAAAABgAAAAEAAAAQAAEABgAAAAEAAAARAAAABgAAAAEAAAARAAEABgAAAAEAAAASAAAABgAAAAEAAAASAAEABgAAAAEAAAATAAAABgAAAAEAAAATAAEABgAAAAEAAAA=")
|
||||
tile_set = ExtResource("5_q5p8k")
|
||||
navigation_enabled = false
|
||||
script = ExtResource("6_81nvh")
|
||||
|
|
|
|||
|
|
@ -8,43 +8,38 @@ public partial class Active : PlayerStateBase
|
|||
{
|
||||
public override PlayerState StateId => PlayerState.Active;
|
||||
private Vector2 _movementDirection { get; set; }
|
||||
|
||||
public Vector2 FacingDirection
|
||||
{
|
||||
get => _storageModule.FacingDirection;
|
||||
private set => _storageModule.FacingDirection = value;
|
||||
}
|
||||
|
||||
[Export]
|
||||
public int Speed { get; set; } = 45;
|
||||
|
||||
[Export]
|
||||
public int StrafeSpeed { get; set; } = 35;
|
||||
|
||||
[ExportCategory("Providers")]
|
||||
[Export]
|
||||
private PlayerWeaponProvider _weaponProvider;
|
||||
[Export]
|
||||
private PlayerAnimationProvider _animationProvider;
|
||||
[Export]
|
||||
private PlayerCrosshairProvider _crosshairProvider;
|
||||
[Export] public int Speed { get; set; } = 45;
|
||||
[Export] public int StrafeSpeed { get; set; } = 35;
|
||||
[Export] public float Acceleration = 8f;
|
||||
[Export] public float Deceleration = 8f;
|
||||
|
||||
[ExportCategory("Providers")] [Export] private PlayerWeaponProvider _weaponProvider;
|
||||
[Export] private PlayerAnimationProvider _animationProvider;
|
||||
[Export] private PlayerCrosshairProvider _crosshairProvider;
|
||||
[Export] private PlayerHitboxSpriteProvider _hitboxSpriteProvider;
|
||||
|
||||
[Export]
|
||||
private InputProvider _inputProvider;
|
||||
[Export] private InputProvider _inputProvider;
|
||||
|
||||
[Export] private PlayerDamageReceiver _damageReceiver;
|
||||
[Export] private ActivationProvider _activationProvider;
|
||||
|
||||
[Export] private InteractionController _interactionController;
|
||||
|
||||
|
||||
[Export] private PlayerStorageModule _storageModule;
|
||||
|
||||
private bool _isStrafing;
|
||||
|
||||
|
||||
public int MovementSpeed => _isStrafing ? StrafeSpeed : Speed;
|
||||
|
||||
private CharacterBody2D _player;
|
||||
|
||||
|
||||
private Hud _hud;
|
||||
|
||||
public override void Init(IStateMachine<PlayerState, CharacterBody2D> machine)
|
||||
|
|
@ -53,10 +48,7 @@ public partial class Active : PlayerStateBase
|
|||
|
||||
_hud = Hud.Instance;
|
||||
|
||||
_damageReceiver.Death += () =>
|
||||
{
|
||||
ChangeState(PlayerState.Dead);
|
||||
};
|
||||
_damageReceiver.Death += () => { ChangeState(PlayerState.Dead); };
|
||||
|
||||
_damageReceiver.HealthDecreased += (value, newValue, maxValue) =>
|
||||
{
|
||||
|
|
@ -69,14 +61,14 @@ public partial class Active : PlayerStateBase
|
|||
_animationProvider.PlayShieldAnimation();
|
||||
//_hud.UpdateShield(value, maxValue);
|
||||
};
|
||||
|
||||
|
||||
_damageReceiver.Init(StateMachine);
|
||||
|
||||
|
||||
_damageReceiver.RefillHealth();
|
||||
_damageReceiver.RefillShield();
|
||||
|
||||
|
||||
_activationProvider.Init(MainObject);
|
||||
|
||||
|
||||
//_weaponProvider = stateMachine.GetNode<PlayerWeaponProvider>("WeaponProvider");
|
||||
//_animationProvider = stateMachine.GetNode<PlayerAnimationProvider>("AnimationProvider");
|
||||
|
||||
|
|
@ -93,6 +85,9 @@ public partial class Active : PlayerStateBase
|
|||
_damageReceiver.Enabled = true;
|
||||
_activationProvider.Enabled = true;
|
||||
_interactionController.Enabled = true;
|
||||
|
||||
_accelerationPerSecond = Speed / Acceleration;
|
||||
_decelerationPerSecond = Speed / Deceleration;
|
||||
}
|
||||
|
||||
public override void ExitState()
|
||||
|
|
@ -102,59 +97,79 @@ public partial class Active : PlayerStateBase
|
|||
//_animationProvider.SetAnimation(Vector2.Zero);
|
||||
_crosshairProvider.Hide();
|
||||
_hitboxSpriteProvider.Hide();
|
||||
|
||||
|
||||
_damageReceiver.Enabled = false;
|
||||
_activationProvider.Enabled = false;
|
||||
_interactionController.Enabled = false;
|
||||
}
|
||||
|
||||
private float _accelerationPerSecond;
|
||||
private float _decelerationPerSecond;
|
||||
|
||||
public override void PhysicsProcessState(double delta)
|
||||
{
|
||||
{
|
||||
// Reset at start of frame
|
||||
MainObject.Velocity = Vector2.Zero;
|
||||
|
||||
//MainObject.Velocity = Vector2.Zero;
|
||||
|
||||
// Process modules
|
||||
base.PhysicsProcessState(delta);
|
||||
|
||||
MainObject.Velocity += _movementDirection * MovementSpeed;
|
||||
if (_isStrafing)
|
||||
{
|
||||
// Instant movement at strafe speed
|
||||
MainObject.Velocity = _movementDirection * StrafeSpeed;
|
||||
}
|
||||
else
|
||||
{
|
||||
Vector2 targetVelocity = _movementDirection * Speed;
|
||||
|
||||
if (_movementDirection != Vector2.Zero)
|
||||
{
|
||||
MainObject.Velocity = MainObject.Velocity.MoveToward(targetVelocity, Acceleration * (float)delta);
|
||||
}
|
||||
else
|
||||
{
|
||||
MainObject.Velocity = MainObject.Velocity.MoveToward(Vector2.Zero, Deceleration * (float)delta);
|
||||
}
|
||||
}
|
||||
|
||||
//MainObject.Velocity += _movementDirection * MovementSpeed;
|
||||
|
||||
MainObject.MoveAndSlide();
|
||||
|
||||
|
||||
}
|
||||
|
||||
public override void ProcessState(double delta)
|
||||
{
|
||||
base.ProcessState(delta);
|
||||
|
||||
|
||||
_movementDirection = _inputProvider.GetMovementInput().Normalized();
|
||||
_isStrafing = _inputProvider.GetStrafePressed();
|
||||
|
||||
// Toggle visibility of the hitbox sprite based on strafing
|
||||
_hitboxSpriteProvider.SetVisibility(_isStrafing);
|
||||
|
||||
|
||||
var rightStickInput = _inputProvider.GetAimInput().Normalized();
|
||||
|
||||
// Update Facing Direction
|
||||
// if (!_isStrafing)
|
||||
// {
|
||||
if (rightStickInput.Length() > 0.1f) // If the right stick is moved
|
||||
{
|
||||
FacingDirection = rightStickInput;
|
||||
}
|
||||
else if (_movementDirection != Vector2.Zero) // Fall back to movement direction
|
||||
{
|
||||
FacingDirection = _movementDirection;
|
||||
}
|
||||
if (rightStickInput.Length() > 0.1f) // If the right stick is moved
|
||||
{
|
||||
FacingDirection = rightStickInput;
|
||||
}
|
||||
else if (_movementDirection != Vector2.Zero) // Fall back to movement direction
|
||||
{
|
||||
FacingDirection = _movementDirection;
|
||||
}
|
||||
// }
|
||||
|
||||
_animationProvider.SetAnimationSpeed(MainObject.Velocity);
|
||||
_animationProvider.SetAnimation(FacingDirection);
|
||||
|
||||
_crosshairProvider.UpdatePosition(FacingDirection);
|
||||
|
||||
|
||||
HandleShoot();
|
||||
|
||||
|
||||
HandleInteraction();
|
||||
// FindInteractable();
|
||||
|
||||
|
|
@ -199,4 +214,4 @@ public partial class Active : PlayerStateBase
|
|||
_weaponProvider.PreviousWeapon();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
1
Scripts/Utils/MathFunctions.cs.uid
Normal file
1
Scripts/Utils/MathFunctions.cs.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://bb06bmg5otab3
|
||||
BIN
Sprites/Actors/Cirno-Shadow.aseprite
(Stored with Git LFS)
Normal file
BIN
Sprites/Actors/Cirno-Shadow.aseprite
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Sprites/Actors/Cirno-Shadow.png
(Stored with Git LFS)
Normal file
BIN
Sprites/Actors/Cirno-Shadow.png
(Stored with Git LFS)
Normal file
Binary file not shown.
34
Sprites/Actors/Cirno-Shadow.png.import
Normal file
34
Sprites/Actors/Cirno-Shadow.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cvngivvogv17l"
|
||||
path="res://.godot/imported/Cirno-Shadow.png-6878e16fc4e2656f255c377fa11ab7dd.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Sprites/Actors/Cirno-Shadow.png"
|
||||
dest_files=["res://.godot/imported/Cirno-Shadow.png-6878e16fc4e2656f255c377fa11ab7dd.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
Sprites/Actors/Cirno_Float.aseprite
(Stored with Git LFS)
Normal file
BIN
Sprites/Actors/Cirno_Float.aseprite
(Stored with Git LFS)
Normal file
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue