fixed parrying

godot-4.1.1
HumanoidSandvichDispenser 2023-07-23 11:03:55 -07:00
parent 5186a85803
commit 8071fb2d18
Signed by: sandvich
GPG Key ID: 9A39BE37E602B22D
4 changed files with 6 additions and 9 deletions

View File

@ -112,7 +112,6 @@ public partial class Sword : Weapon, IParryable
IsParried = false; IsParried = false;
IsParryable = true; IsParryable = true;
ParryTimeOrigin = Time.GetTicksMsec(); ParryTimeOrigin = Time.GetTicksMsec();
GD.Print(Character.Name);
} }
public void DisableParry() public void DisableParry()
@ -147,6 +146,7 @@ public partial class Sword : Weapon, IParryable
public override void _Ready() public override void _Ready()
{ {
Hitbox.Damage = Damage; Hitbox.Damage = Damage;
Hitbox.Hit += OnHitboxHit;
_playback = (AnimationNodeStateMachinePlayback)AnimationTree _playback = (AnimationNodeStateMachinePlayback)AnimationTree
.Get("parameters/playback"); .Get("parameters/playback");
} }
@ -200,7 +200,7 @@ public partial class Sword : Weapon, IParryable
GetNode<AudioStreamPlayer2D>("ParrySound").OnWorld().PlayOneShot(); GetNode<AudioStreamPlayer2D>("ParrySound").OnWorld().PlayOneShot();
} }
public override void _on_hitbox_hit(BoundingBox box) public override void OnHitboxHit(BoundingBox box)
{ {
if (IsParried) if (IsParried)
{ {

View File

@ -9,6 +9,7 @@
[ext_resource type="PackedScene" uid="uid://cojxmcin13ihm" path="res://Utils/Trail.tscn" id="4_pt6lq"] [ext_resource type="PackedScene" uid="uid://cojxmcin13ihm" path="res://Utils/Trail.tscn" id="4_pt6lq"]
[ext_resource type="Script" path="res://State/Weapon/SwordAttackState.cs" id="5_hmisb"] [ext_resource type="Script" path="res://State/Weapon/SwordAttackState.cs" id="5_hmisb"]
[ext_resource type="AudioStream" uid="uid://c4n7ioxpukdwi" path="res://Assets/Sounds/parry.wav" id="6_8nxjm"] [ext_resource type="AudioStream" uid="uid://c4n7ioxpukdwi" path="res://Assets/Sounds/parry.wav" id="6_8nxjm"]
[ext_resource type="Shape2D" uid="uid://dw4e4r2yxwk1b" path="res://Items/Weapons/SwordCollisionShape.tres" id="9_wsprl"]
[ext_resource type="Texture2D" uid="uid://cmvh6pc71ir1m" path="res://Assets/Sprites/sword-swing-large.png" id="10_672jv"] [ext_resource type="Texture2D" uid="uid://cmvh6pc71ir1m" path="res://Assets/Sprites/sword-swing-large.png" id="10_672jv"]
[ext_resource type="AudioStream" uid="uid://qvthq6tppp63" path="res://Assets/Sounds/whoosh.wav" id="10_mfnl7"] [ext_resource type="AudioStream" uid="uid://qvthq6tppp63" path="res://Assets/Sounds/whoosh.wav" id="10_mfnl7"]
@ -355,9 +356,6 @@ graph_offset = Vector2(0, -104.073)
[sub_resource type="AnimationNodeStateMachinePlayback" id="AnimationNodeStateMachinePlayback_o5g2u"] [sub_resource type="AnimationNodeStateMachinePlayback" id="AnimationNodeStateMachinePlayback_o5g2u"]
[sub_resource type="ConvexPolygonShape2D" id="ConvexPolygonShape2D_fcgvv"]
points = PackedVector2Array(0, 0, -21.213, 21.213, -30, 0, -21.213, -21.213, 0, -30, 21.213, -21.213, 30, 0, 21.213, 21.213, 0, 0)
[node name="Sword" type="Node2D" node_paths=PackedStringArray("Hitbox", "AnimationPlayer", "AnimationTree", "ParryParticles", "StateMachine", "Anchor", "HandAnchor")] [node name="Sword" type="Node2D" node_paths=PackedStringArray("Hitbox", "AnimationPlayer", "AnimationTree", "ParryParticles", "StateMachine", "Anchor", "HandAnchor")]
y_sort_enabled = true y_sort_enabled = true
texture_filter = 3 texture_filter = 3
@ -459,7 +457,7 @@ IsDisabled = true
[node name="CollisionShape2D" parent="Hitbox" index="0"] [node name="CollisionShape2D" parent="Hitbox" index="0"]
position = Vector2(4, 0) position = Vector2(4, 0)
rotation = 1.5708 rotation = 1.5708
shape = SubResource("ConvexPolygonShape2D_fcgvv") shape = ExtResource("9_wsprl")
disabled = true disabled = true
[node name="SwingSprite" type="Sprite2D" parent="."] [node name="SwingSprite" type="Sprite2D" parent="."]

View File

@ -14,8 +14,6 @@ public partial class SwordAnticipateState : WeaponState
public override WeaponState Enter(IState<WeaponState> prevState) public override WeaponState Enter(IState<WeaponState> prevState)
{ {
Sword.EnableParry();
if (Sword.Character is SupaLidlGame.Characters.Player) if (Sword.Character is SupaLidlGame.Characters.Player)
{ {
return AttackState; return AttackState;
@ -29,6 +27,7 @@ public partial class SwordAnticipateState : WeaponState
{ {
Sword.AnimationPlayer.Play("anticipate"); Sword.AnimationPlayer.Play("anticipate");
} }
GD.Print("Anticipating time");
_anticipateTime = Sword.NPCAnticipateTime; _anticipateTime = Sword.NPCAnticipateTime;
return null; return null;
} }

View File

@ -23,7 +23,7 @@ public partial class SwordAttackState : WeaponState
public override WeaponState Enter(IState<WeaponState> prevState) public override WeaponState Enter(IState<WeaponState> prevState)
{ {
//Sword.AnimationPlayer.Stop(); Sword.EnableParry();
Sword.Attack(); Sword.Attack();
if (_isAlternate) if (_isAlternate)