fix sprites being translated down on stun anim
							parent
							
								
									097f49487a
								
							
						
					
					
						commit
						eed8588eaf
					
				
											
												Binary file not shown.
											
										
									
								|  | @ -542,7 +542,7 @@ particle_flag_disable_z = true | |||
| gravity = Vector3(0, 98, 0) | ||||
| 
 | ||||
| [sub_resource type="RectangleShape2D" id="RectangleShape2D_uict5"] | ||||
| size = Vector2(11, 5) | ||||
| size = Vector2(11, 8) | ||||
| 
 | ||||
| [sub_resource type="RectangleShape2D" id="RectangleShape2D_8lxmf"] | ||||
| size = Vector2(16, 19) | ||||
|  | @ -759,7 +759,6 @@ offset = Vector2(0, -8) | |||
| hframes = 17 | ||||
| 
 | ||||
| [node name="CollisionShape2D" type="CollisionShape2D" parent="."] | ||||
| position = Vector2(-0.5, -1.5) | ||||
| shape = SubResource("RectangleShape2D_uict5") | ||||
| 
 | ||||
| [node name="Hurtbox" parent="." instance=ExtResource("7_tnve0")] | ||||
|  | @ -770,13 +769,20 @@ Faction = 2 | |||
| position = Vector2(0, -3.5) | ||||
| shape = SubResource("RectangleShape2D_8lxmf") | ||||
| 
 | ||||
| [node name="Inventory" type="Node2D" parent="." node_paths=PackedStringArray("Items")] | ||||
| [node name="Inventory" type="Node2D" parent="." node_paths=PackedStringArray("Hotbar")] | ||||
| y_sort_enabled = true | ||||
| script = ExtResource("8_r8ejq") | ||||
| Hotbar = [] | ||||
| Items = [] | ||||
| 
 | ||||
| [node name="DocLance" parent="Inventory" instance=ExtResource("24_2es2r")] | ||||
| [node name="DocLance" parent="Inventory" node_paths=PackedStringArray("Hitbox", "AnimationPlayer", "ParryParticles", "StateMachine", "Anchor", "HandAnchor") instance=ExtResource("24_2es2r")] | ||||
| unique_name_in_owner = true | ||||
| Hitbox = NodePath("Hitbox") | ||||
| AnimationPlayer = NodePath("AnimationPlayer") | ||||
| ParryParticles = NodePath("Anchor/Node2D/Sprite2D/ParryParticles") | ||||
| StateMachine = NodePath("State") | ||||
| Anchor = NodePath("Anchor") | ||||
| HandAnchor = NodePath("Anchor/Node2D/Sprite2D/Hand") | ||||
| 
 | ||||
| [node name="InteractionTrigger" parent="." instance=ExtResource("33_08dyq")] | ||||
| 
 | ||||
|  |  | |||
|  | @ -187,7 +187,6 @@ PursueState = NodePath("../Attack") | |||
| MinTargetDistance = 24.0 | ||||
| PursueOnLineOfSight = true | ||||
| MinLineOfSightDistance = 256.0 | ||||
| ShouldReturnToOriginalPosition = true | ||||
| NavigationAgent = NodePath("../../NavigationAgent2D") | ||||
| NPC = NodePath("../..") | ||||
| 
 | ||||
|  | @ -257,7 +256,7 @@ stream = ExtResource("15_8yg1g") | |||
| unique_name_in_owner = true | ||||
| y_sort_enabled = true | ||||
| use_parent_material = true | ||||
| position = Vector2(-0.5, 0) | ||||
| position = Vector2(-0.5, 4) | ||||
| rotation = 6.28319 | ||||
| 
 | ||||
| [node name="Node2D" type="Node2D" parent="Sprites"] | ||||
|  | @ -270,18 +269,24 @@ offset = Vector2(0, -12) | |||
| hframes = 7 | ||||
| 
 | ||||
| [node name="CollisionShape2D" type="CollisionShape2D" parent="."] | ||||
| position = Vector2(0, -4) | ||||
| shape = SubResource("RectangleShape2D_bfqew") | ||||
| 
 | ||||
| [node name="Inventory" type="Node2D" parent="." node_paths=PackedStringArray("Items")] | ||||
| [node name="Inventory" type="Node2D" parent="." node_paths=PackedStringArray("Hotbar")] | ||||
| y_sort_enabled = true | ||||
| position = Vector2(0, -4) | ||||
| script = ExtResource("17_6fh5y") | ||||
| Hotbar = [] | ||||
| Items = [] | ||||
| 
 | ||||
| [node name="Sword" parent="Inventory" instance=ExtResource("18_7l8tj")] | ||||
| [node name="Sword" parent="Inventory" node_paths=PackedStringArray("Hitbox", "AnimationPlayer", "ParryParticles", "StateMachine", "Anchor", "HandAnchor") instance=ExtResource("18_7l8tj")] | ||||
| Hitbox = NodePath("Hitbox") | ||||
| AnimationPlayer = NodePath("AnimationPlayer") | ||||
| ParryParticles = NodePath("Anchor/Node2D/Sprite2D/ParryParticles") | ||||
| StateMachine = NodePath("State") | ||||
| Anchor = NodePath("Anchor") | ||||
| HandAnchor = NodePath("Anchor/Node2D/Sprite2D/Hand") | ||||
| 
 | ||||
| [node name="Hurtbox" parent="." instance=ExtResource("19_xol7n")] | ||||
| position = Vector2(0, 4) | ||||
| 
 | ||||
| [node name="CollisionShape2D" parent="Hurtbox" index="0"] | ||||
| position = Vector2(0, -8) | ||||
|  |  | |||
|  | @ -267,7 +267,7 @@ color = Color(1, 0, 0, 1) | |||
| color_ramp = SubResource("GradientTexture1D_iyaih") | ||||
| 
 | ||||
| [sub_resource type="RectangleShape2D" id="RectangleShape2D_bfqew"] | ||||
| size = Vector2(8, 4) | ||||
| size = Vector2(8, 8) | ||||
| 
 | ||||
| [sub_resource type="RectangleShape2D" id="RectangleShape2D_1gjgc"] | ||||
| size = Vector2(12, 16) | ||||
|  | @ -308,7 +308,7 @@ Character = NodePath("../..") | |||
| script = ExtResource("6_pwguk") | ||||
| IdleState = NodePath("../Idle") | ||||
| TimeToDash = 0.1 | ||||
| VelocityModifier = 4.0 | ||||
| VelocityModifier = 10.0 | ||||
| Character = NodePath("../..") | ||||
| 
 | ||||
| [node name="ThinkerStateMachine" type="Node" parent="." node_paths=PackedStringArray("InitialState")] | ||||
|  | @ -317,7 +317,7 @@ InitialState = NodePath("Idle") | |||
| 
 | ||||
| [node name="Attack" type="Node" parent="ThinkerStateMachine" node_paths=PackedStringArray("PassiveState", "PursueState", "NPC")] | ||||
| script = ExtResource("8_n8t7f") | ||||
| MaxDistanceToTarget = 128.0 | ||||
| MaxDistanceToTarget = 256.0 | ||||
| UseItemDistance = 64.0 | ||||
| PassiveState = NodePath("../Idle") | ||||
| PursueState = NodePath("../Pursue") | ||||
|  | @ -329,7 +329,6 @@ PursueState = NodePath("../Pursue") | |||
| MinTargetDistance = 24.0 | ||||
| PursueOnLineOfSight = true | ||||
| MinLineOfSightDistance = 256.0 | ||||
| ShouldReturnToOriginalPosition = true | ||||
| NavigationAgent = NodePath("../../NavigationAgent2D") | ||||
| NPC = NodePath("../..") | ||||
| 
 | ||||
|  | @ -408,7 +407,7 @@ stream = ExtResource("15_w7mkq") | |||
| unique_name_in_owner = true | ||||
| y_sort_enabled = true | ||||
| use_parent_material = true | ||||
| position = Vector2(-0.5, 0) | ||||
| position = Vector2(-0.5, 4) | ||||
| rotation = 6.28319 | ||||
| 
 | ||||
| [node name="Node2D" type="Node2D" parent="Sprites"] | ||||
|  | @ -421,17 +420,23 @@ offset = Vector2(0, -12) | |||
| hframes = 7 | ||||
| 
 | ||||
| [node name="CollisionShape2D" type="CollisionShape2D" parent="."] | ||||
| position = Vector2(0, -2) | ||||
| shape = SubResource("RectangleShape2D_bfqew") | ||||
| 
 | ||||
| [node name="Inventory" type="Node2D" parent="." node_paths=PackedStringArray("Items")] | ||||
| position = Vector2(0, -4) | ||||
| [node name="Inventory" type="Node2D" parent="." node_paths=PackedStringArray("Hotbar")] | ||||
| script = ExtResource("17_5rur0") | ||||
| Hotbar = [] | ||||
| Items = [] | ||||
| 
 | ||||
| [node name="DocLance" parent="Inventory" instance=ExtResource("18_jblpi")] | ||||
| [node name="DocLance" parent="Inventory" node_paths=PackedStringArray("Hitbox", "AnimationPlayer", "ParryParticles", "StateMachine", "Anchor", "HandAnchor") instance=ExtResource("18_jblpi")] | ||||
| Hitbox = NodePath("Hitbox") | ||||
| AnimationPlayer = NodePath("AnimationPlayer") | ||||
| ParryParticles = NodePath("Anchor/Node2D/Sprite2D/ParryParticles") | ||||
| StateMachine = NodePath("State") | ||||
| Anchor = NodePath("Anchor") | ||||
| HandAnchor = NodePath("Anchor/Node2D/Sprite2D/Hand") | ||||
| 
 | ||||
| [node name="Hurtbox" parent="." instance=ExtResource("20_dwjfv")] | ||||
| position = Vector2(0, 4) | ||||
| 
 | ||||
| [node name="CollisionShape2D" parent="Hurtbox" index="0"] | ||||
| position = Vector2(0, -8) | ||||
|  |  | |||
|  | @ -115,7 +115,7 @@ public partial class NPC : Character | |||
|                 } | ||||
| 
 | ||||
|                 float score = 0; | ||||
|                 score += Position.DistanceTo(character.Position); | ||||
|                 score -= Position.DistanceTo(character.Position); | ||||
| 
 | ||||
|                 if (score < bestScore) | ||||
|                 { | ||||
|  |  | |||
|  | @ -111,6 +111,14 @@ public sealed partial class Player : Character | |||
|         } | ||||
|     } | ||||
| 
 | ||||
|     public override void _UnhandledInput(InputEvent @event) | ||||
|     { | ||||
|         if (StateMachine != null) | ||||
|         { | ||||
|             StateMachine.UnhandledInput(@event); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     /// <summary> | ||||
|     /// Respawns the player with full health and plays spawn animation | ||||
|     /// </summary> | ||||
|  |  | |||
|  | @ -1,4 +1,4 @@ | |||
| [gd_scene load_steps=72 format=3 uid="uid://b2254pup8k161"] | ||||
| [gd_scene load_steps=74 format=3 uid="uid://b2254pup8k161"] | ||||
| 
 | ||||
| [ext_resource type="Script" path="res://Characters/Player.cs" id="1_flygr"] | ||||
| [ext_resource type="Shader" path="res://Shaders/Flash.gdshader" id="2_ngsgt"] | ||||
|  | @ -34,7 +34,9 @@ | |||
| [ext_resource type="Texture2D" uid="uid://bd8l8kafb42dt" path="res://Assets/Sprites/Particles/circle.png" id="22_uefct"] | ||||
| [ext_resource type="Texture2D" uid="uid://bcgm3r168qjn3" path="res://Assets/Sprites/Particles/cast-effect.png" id="24_njn4h"] | ||||
| [ext_resource type="Script" path="res://Items/PlayerInventory.cs" id="30_y2wmw"] | ||||
| [ext_resource type="PackedScene" uid="uid://cgg0sfm2qeiwn" path="res://Items/Weapons/Bow.tscn" id="31_mofvy"] | ||||
| [ext_resource type="PackedScene" uid="uid://dvqap2uhcah63" path="res://Items/Weapons/Sword.tscn" id="31_ql4as"] | ||||
| [ext_resource type="PackedScene" uid="uid://5y1acxl4j4n7" path="res://Items/Weapons/Pugio.tscn" id="32_6ffmm"] | ||||
| 
 | ||||
| [sub_resource type="ShaderMaterial" id="ShaderMaterial_h78y7"] | ||||
| shader = ExtResource("2_ngsgt") | ||||
|  | @ -562,7 +564,7 @@ color_ramp = SubResource("GradientTexture1D_3jlnh") | |||
| light_mode = 1 | ||||
| 
 | ||||
| [sub_resource type="RectangleShape2D" id="RectangleShape2D_bfqew"] | ||||
| size = Vector2(12, 6) | ||||
| size = Vector2(12, 8) | ||||
| 
 | ||||
| [sub_resource type="LabelSettings" id="LabelSettings_q5h1n"] | ||||
| font_size = 24 | ||||
|  | @ -686,7 +688,6 @@ libraries = { | |||
| 
 | ||||
| [node name="Effects" type="Node2D" parent="."] | ||||
| unique_name_in_owner = true | ||||
| position = Vector2(0, 2) | ||||
| 
 | ||||
| [node name="RollParticles" type="GPUParticles2D" parent="Effects"] | ||||
| emitting = false | ||||
|  | @ -759,7 +760,6 @@ stream = ExtResource("12_vvem5") | |||
| 
 | ||||
| [node name="TargetTracer" parent="Effects" instance=ExtResource("22_hxi53")] | ||||
| unique_name_in_owner = true | ||||
| position = Vector2(0, -4) | ||||
| 
 | ||||
| [node name="Camera2D" parent="." instance=ExtResource("4_ym125")] | ||||
| zoom = Vector2(4, 4) | ||||
|  | @ -769,7 +769,7 @@ position_smoothing_speed = 8.0 | |||
| unique_name_in_owner = true | ||||
| y_sort_enabled = true | ||||
| use_parent_material = true | ||||
| position = Vector2(0, 2) | ||||
| position = Vector2(-0.5, 4) | ||||
| rotation = 6.28319 | ||||
| 
 | ||||
| [node name="Node2D" type="Node2D" parent="Sprites"] | ||||
|  | @ -796,7 +796,6 @@ offset = Vector2(-9.5, -14) | |||
| hframes = 6 | ||||
| 
 | ||||
| [node name="CollisionShape2D" type="CollisionShape2D" parent="."] | ||||
| position = Vector2(0, -1) | ||||
| shape = SubResource("RectangleShape2D_bfqew") | ||||
| 
 | ||||
| [node name="Debug" type="Control" parent="."] | ||||
|  | @ -816,20 +815,38 @@ horizontal_alignment = 1 | |||
| 
 | ||||
| [node name="Inventory" type="Node2D" parent="." node_paths=PackedStringArray("Hotbar")] | ||||
| y_sort_enabled = true | ||||
| position = Vector2(0, -2) | ||||
| script = ExtResource("30_y2wmw") | ||||
| Hotbar = [NodePath("Sword"), null, null] | ||||
| Hotbar = [NodePath("Sword"), NodePath("Bow"), NodePath("Pugio")] | ||||
| InventoryMap = { | ||||
| "equip_1": 0, | ||||
| "equip_2": 1, | ||||
| "equip_3": 2 | ||||
| } | ||||
| 
 | ||||
| [node name="Bow" parent="Inventory" node_paths=PackedStringArray("StateMachine") instance=ExtResource("31_mofvy")] | ||||
| visible = false | ||||
| StateMachine = NodePath("StateMachine") | ||||
| 
 | ||||
| [node name="RemoteTransform2D2" type="RemoteTransform2D" parent="Inventory"] | ||||
| position = Vector2(0, 4) | ||||
| 
 | ||||
| [node name="Sword" parent="Inventory" instance=ExtResource("31_ql4as")] | ||||
| [node name="Sword" parent="Inventory" node_paths=PackedStringArray("Hitbox", "AnimationPlayer", "ParryParticles", "StateMachine", "Anchor", "HandAnchor") instance=ExtResource("31_ql4as")] | ||||
| visible = false | ||||
| Hitbox = NodePath("Hitbox") | ||||
| AnimationPlayer = NodePath("AnimationPlayer") | ||||
| ParryParticles = NodePath("Anchor/Node2D/Sprite2D/ParryParticles") | ||||
| StateMachine = NodePath("State") | ||||
| Anchor = NodePath("Anchor") | ||||
| HandAnchor = NodePath("Anchor/Node2D/Sprite2D/Hand") | ||||
| 
 | ||||
| [node name="Pugio" parent="Inventory" node_paths=PackedStringArray("Hitbox", "AnimationPlayer", "ParryParticles", "StateMachine", "Anchor", "HandAnchor") instance=ExtResource("32_6ffmm")] | ||||
| visible = false | ||||
| Hitbox = NodePath("Hitbox") | ||||
| AnimationPlayer = NodePath("AnimationPlayer") | ||||
| ParryParticles = NodePath("Anchor/Node2D/Sprite2D/ParryParticles") | ||||
| StateMachine = NodePath("State") | ||||
| Anchor = NodePath("Anchor") | ||||
| HandAnchor = NodePath("Anchor/Node2D/Sprite2D/Hand") | ||||
| 
 | ||||
| [node name="Hurtbox" parent="." node_paths=PackedStringArray("InvincibilityTimer") instance=ExtResource("9_avyu4")] | ||||
| visible = false | ||||
|  | @ -857,7 +874,7 @@ collide_with_bodies = false | |||
| script = ExtResource("13_hs3u1") | ||||
| 
 | ||||
| [node name="PointLight2D" type="PointLight2D" parent="."] | ||||
| position = Vector2(0, -8) | ||||
| position = Vector2(0, -4) | ||||
| blend_mode = 2 | ||||
| shadow_enabled = true | ||||
| shadow_filter = 2 | ||||
|  |  | |||
|  | @ -280,19 +280,25 @@ texture = ExtResource("11_wp6i2") | |||
| [node name="HurtSound" type="AudioStreamPlayer2D" parent="Effects"] | ||||
| stream = ExtResource("12_iwry7") | ||||
| 
 | ||||
| [node name="Inventory" type="Node2D" parent="." node_paths=PackedStringArray("Items")] | ||||
| [node name="Inventory" type="Node2D" parent="." node_paths=PackedStringArray("Hotbar")] | ||||
| y_sort_enabled = true | ||||
| position = Vector2(0, -4) | ||||
| script = ExtResource("3_ktm40") | ||||
| Hotbar = [] | ||||
| Items = [] | ||||
| 
 | ||||
| [node name="Sword" parent="Inventory" instance=ExtResource("4_4gsqu")] | ||||
| [node name="Sword" parent="Inventory" node_paths=PackedStringArray("Hitbox", "AnimationPlayer", "ParryParticles", "StateMachine", "Anchor", "HandAnchor") instance=ExtResource("4_4gsqu")] | ||||
| Hitbox = NodePath("Hitbox") | ||||
| AnimationPlayer = NodePath("AnimationPlayer") | ||||
| ParryParticles = NodePath("Anchor/Node2D/Sprite2D/ParryParticles") | ||||
| StateMachine = NodePath("State") | ||||
| Anchor = NodePath("Anchor") | ||||
| HandAnchor = NodePath("Anchor/Node2D/Sprite2D/Hand") | ||||
| 
 | ||||
| [node name="Sprites" type="Node2D" parent="."] | ||||
| unique_name_in_owner = true | ||||
| y_sort_enabled = true | ||||
| use_parent_material = true | ||||
| position = Vector2(-0.5, 0) | ||||
| position = Vector2(-0.5, 4) | ||||
| 
 | ||||
| [node name="Sprite2D" type="Sprite2D" parent="Sprites"] | ||||
| y_sort_enabled = true | ||||
|  | @ -303,11 +309,10 @@ offset = Vector2(-10, -20) | |||
| hframes = 10 | ||||
| 
 | ||||
| [node name="CollisionShape2D" type="CollisionShape2D" parent="."] | ||||
| position = Vector2(0, -4) | ||||
| shape = SubResource("RectangleShape2D_v8rkj") | ||||
| 
 | ||||
| [node name="Hurtbox" parent="." instance=ExtResource("11_sj7u0")] | ||||
| position = Vector2(0, -8) | ||||
| position = Vector2(0, -4) | ||||
| 
 | ||||
| [node name="CollisionShape2D" parent="Hurtbox" index="0"] | ||||
| shape = SubResource("RectangleShape2D_kyos5") | ||||
|  |  | |||
											
												
													File diff suppressed because one or more lines are too long
												
											
										
									
								|  | @ -36,4 +36,13 @@ public partial class CharacterStateMachine : StateMachine<CharacterState> | |||
|             ChangeState(state); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     public void UnhandledInput(InputEvent @event) | ||||
|     { | ||||
|         var state = CurrentState.UnhandledInput(@event); | ||||
|         if (state is CharacterState) | ||||
|         { | ||||
|             ChangeState(state); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue