From 8d4177f8b14ff6cfd6ffac65434f62f0e57f0c17 Mon Sep 17 00:00:00 2001 From: Zenny Date: Mon, 14 Oct 2024 23:22:42 -0700 Subject: [PATCH] Add knockback to secondary attack --- src/boss/Boss.cs | 31 +++++ .../enemy_types/horse_head/HorseFace.tscn | 127 ++++++++++++++---- src/enemy/enemy_types/horse_head/OxFace.res | Bin 34590 -> 35062 bytes src/enemy/enemy_types/ox_face/OxFace.tscn | 61 ++++++--- src/player/Player.cs | 16 ++- 5 files changed, 188 insertions(+), 47 deletions(-) diff --git a/src/boss/Boss.cs b/src/boss/Boss.cs index 5438fa5b..00faba77 100644 --- a/src/boss/Boss.cs +++ b/src/boss/Boss.cs @@ -3,6 +3,7 @@ using Chickensoft.Collections; using Chickensoft.GodotNodeInterfaces; using Chickensoft.Introspection; using Godot; +using static System.Net.Mime.MediaTypeNames; namespace GameJamDungeon { @@ -34,6 +35,10 @@ namespace GameJamDungeon [Dependency] public IGameRepo GameRepo => this.DependOn(); + [Dependency] public IGameEventDepot GameEventDepot => this.DependOn(); + + [Dependency] public IGame Game => this.DependOn(); + [Node] public AnimationTree AnimationTree { get; set; } = default!; [Node] public Timer AttackTimer { get; set; } = default!; @@ -42,6 +47,10 @@ namespace GameJamDungeon [Node] public Area3D Hitbox { get; set; } = default!; + [Node] public Area3D AttackBox { get; set; } = default!; + + [Node] public Area3D SecondaryAttackBox { get; set; } = default!; + public AutoProp CurrentHP { get; set; } public void Setup() @@ -69,6 +78,28 @@ namespace GameJamDungeon AttackTimer.Timeout += AttackTimer_Timeout; Hitbox.AreaEntered += Hitbox_AreaEntered; HitAnimation.AnimationFinished += HitAnimation_AnimationFinished; + AttackBox.AreaEntered += AttackBox_AreaEntered; + SecondaryAttackBox.AreaEntered += SecondaryAttackBox_AreaEntered; + } + + private void AttackBox_AreaEntered(Area3D area) + { + var bossHitDamage = DamageCalculator.CalculateEnemyAttackDamage(GameRepo.PlayerData.CurrentDefense.Value + GameRepo.PlayerData.BonusDefense, + BossResource, + GameRepo.PlayerData.Inventory.EquippedArmor.Value.ArmorStats, + false); + GameRepo.PlayerData.SetCurrentHP(GameRepo.PlayerData.CurrentHP.Value - Mathf.RoundToInt(bossHitDamage)); + } + + private void SecondaryAttackBox_AreaEntered(Area3D area) + { + var bossHitDamage = DamageCalculator.CalculateEnemyAttackDamage(GameRepo.PlayerData.CurrentDefense.Value + GameRepo.PlayerData.BonusDefense, + BossResource, + GameRepo.PlayerData.Inventory.EquippedArmor.Value.ArmorStats, + false); + var nerfDamage = bossHitDamage *= 0.25f; + GameRepo.PlayerData.SetCurrentHP(GameRepo.PlayerData.CurrentHP.Value - Mathf.RoundToInt(nerfDamage)); + Game.Player.ApplyCentralImpulseToPlayer(GlobalBasis.Z.Normalized()); } private void HitAnimation_AnimationFinished(StringName animName) diff --git a/src/enemy/enemy_types/horse_head/HorseFace.tscn b/src/enemy/enemy_types/horse_head/HorseFace.tscn index ec853bdb..14e72e8d 100644 --- a/src/enemy/enemy_types/horse_head/HorseFace.tscn +++ b/src/enemy/enemy_types/horse_head/HorseFace.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=34 format=4 uid="uid://2wibfnu2jvlv"] +[gd_scene load_steps=36 format=4 uid="uid://2wibfnu2jvlv"] [ext_resource type="Texture2D" uid="uid://csj3kjwyn3s2u" path="res://src/enemy/enemy_types/horse_head/HORSE-FACE 1_Metal054C_1K-JPG_Color.jpg" id="1_56gxx"] [ext_resource type="Script" path="res://src/boss/Boss.cs" id="1_hjyt5"] @@ -10,10 +10,10 @@ script = ExtResource("2_o3rh6") CurrentHP = 80.0 MaximumHP = 80.0 -CurrentAttack = 0 +CurrentAttack = 20 CurrentDefense = 0 -MaxAttack = 0 -MaxDefense = 0 +MaxAttack = 20 +MaxDefense = 3 Luck = 0.05 TelluricResistance = 0.0 AeolicResistance = 0.0 @@ -425,6 +425,18 @@ tracks/33/path = NodePath("Armature/Skeleton3D:heelIK_R") tracks/33/interp = 1 tracks/33/loop_wrap = true tracks/33/keys = PackedFloat32Array(0, 1, -0.514417, -0.701671, 0.342235, 0.354835, 0.0333333, 1, -0.516575, -0.696077, 0.34818, 0.356928, 0.0666667, 1, -0.521046, -0.683648, 0.361099, 0.361585, 0.1, 1, -0.526802, -0.665825, 0.378966, 0.368161, 0.133333, 1, -0.532831, -0.644142, 0.399731, 0.376016, 0.166667, 1, -0.538235, -0.620345, 0.421387, 0.384587, 0.2, 1, -0.541623, -0.598138, 0.440584, 0.393398, 0.233333, 1, -0.543484, -0.578544, 0.457025, 0.401298, 0.266667, 1, -0.544416, -0.56113, 0.47147, 0.407996, 0.3, 1, -0.544778, -0.545632, 0.484336, 0.413427, 0.333333, 1, -0.544721, -0.531989, 0.495718, 0.417767, 0.366667, 1, -0.544377, -0.520646, 0.505311, 0.421002, 0.4, 1, -0.543924, -0.510791, 0.513622, 0.423594, 0.433333, 1, -0.543459, -0.502293, 0.520716, 0.425687, 0.466667, 1, -0.543068, -0.495006, 0.52665, 0.427418, 0.5, 1, -0.542828, -0.488779, 0.531472, 0.428917, 0.533333, 1, -0.542927, -0.483649, 0.534893, 0.430352, 0.566667, 1, -0.543361, -0.479085, 0.537304, 0.431904, 0.6, 1, -0.544186, -0.474919, 0.538729, 0.433686, 0.633333, 1, -0.545455, -0.470982, 0.539193, 0.435806, 0.666667, 1, -0.547213, -0.467098, 0.538712, 0.438368, 0.7, 1, -0.549718, -0.46294, 0.537006, 0.441725, 0.733333, 1, -0.552835, -0.458304, 0.534392, 0.445821, 0.766667, 1, -0.556593, -0.453005, 0.530871, 0.450742, 0.8, 1, -0.561009, -0.446855, 0.526438, 0.456567, 0.833333, 1, -0.566094, -0.43966, 0.521083, 0.463367, 0.866667, 1, -0.574512, -0.428383, 0.511969, 0.473617, 0.9, 1, -0.580739, -0.420013, 0.504981, 0.480963, 0.933333, 1, -0.583481, -0.416308, 0.501836, 0.484146, 1.5, 1, -0.583481, -0.416308, 0.501836, 0.484147, 1.53333, 1, -0.586926, -0.412707, 0.504724, 0.480046, 1.56667, 1, -0.593849, -0.405313, 0.510547, 0.4716, 1.6, 1, -0.602537, -0.395719, 0.517887, 0.460596, 1.63333, 1, -0.611371, -0.385577, 0.525409, 0.44889, 1.66667, 1, -0.618875, -0.376627, 0.531899, 0.43844, 1.7, 1, -0.62194, -0.372867, 0.534831, 0.433723, 1.73333, 1, -0.621975, -0.376239, 0.534019, 0.431758, 1.76667, 1, -0.620122, -0.387062, 0.529695, 0.430181, 1.8, 1, -0.616869, -0.404941, 0.52204, 0.42775, 1.83333, 1, -0.61211, -0.428794, 0.511234, 0.424379, 1.86667, 1, -0.605462, -0.458552, 0.496893, 0.419813, 1.9, 1, -0.597286, -0.490892, 0.480276, 0.414256, 1.93333, 1, -0.587653, -0.524555, 0.461789, 0.407745, 2, 1, -0.564883, -0.591093, 0.421348, 0.392406, 2.03333, 1, -0.552901, -0.620859, 0.401387, 0.384349, 2.06667, 1, -0.54137, -0.646947, 0.382828, 0.376592, 2.1, 1, -0.530904, -0.668795, 0.366451, 0.36955, 2.13333, 1, -0.522132, -0.685942, 0.353021, 0.363646, 2.16667, 1, -0.515661, -0.697975, 0.34327, 0.359292, 2.2, 1, -0.513299, -0.702245, 0.339742, 0.357704, 2.20833, 1, -0.512705, -0.703308, 0.338857, 0.357304) +tracks/34/type = "value" +tracks/34/imported = false +tracks/34/enabled = true +tracks/34/path = NodePath("SecondaryAttackBox/CollisionShape3D:disabled") +tracks/34/interp = 1 +tracks/34/loop_wrap = true +tracks/34/keys = { +"times": PackedFloat32Array(0, 0.933333, 1.06667), +"transitions": PackedFloat32Array(1, 1, 1), +"update": 1, +"values": [true, false, true] +} [sub_resource type="Animation" id="Animation_dbceu"] resource_name = "IDLE" @@ -1153,13 +1165,53 @@ tracks/33/path = NodePath("Armature/Skeleton3D:heelIK_R") tracks/33/interp = 0 tracks/33/loop_wrap = true tracks/33/keys = PackedFloat32Array(0, 1, -0.514417, -0.701671, 0.342235, 0.354835) +tracks/34/type = "value" +tracks/34/imported = false +tracks/34/enabled = true +tracks/34/path = NodePath("AttackBox/CollisionShape3D:disabled") +tracks/34/interp = 1 +tracks/34/loop_wrap = true +tracks/34/keys = { +"times": PackedFloat32Array(0, 0.366667, 0.466667, 0.9, 0.933333), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1), +"update": 1, +"values": [true, false, true, false, true] +} + +[sub_resource type="Animation" id="Animation_858f7"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("AttackBox/CollisionShape3D:disabled") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("SecondaryAttackBox/CollisionShape3D:disabled") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} [sub_resource type="AnimationLibrary" id="AnimationLibrary_485f6"] _data = { -&"SecondaryAttack": SubResource("Animation_h0cfj"), -&"Idle": SubResource("Animation_dbceu"), -&"Walk": SubResource("Animation_7am3g"), -&"PrimaryAttack": SubResource("Animation_gbusp") +"Idle": SubResource("Animation_dbceu"), +"PrimaryAttack": SubResource("Animation_gbusp"), +"RESET": SubResource("Animation_858f7"), +"SecondaryAttack": SubResource("Animation_h0cfj"), +"Walk": SubResource("Animation_7am3g") } [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_wa3i1"] @@ -1294,11 +1346,14 @@ tracks/1/keys = { [sub_resource type="AnimationLibrary" id="AnimationLibrary_nod6b"] _data = { -&"Hit": SubResource("Animation_q24il"), -&"RESET": SubResource("Animation_xhb0i"), -&"Defeated": SubResource("Animation_7g8kc") +"Defeated": SubResource("Animation_7g8kc"), +"Hit": SubResource("Animation_q24il"), +"RESET": SubResource("Animation_xhb0i") } +[sub_resource type="BoxShape3D" id="BoxShape3D_ib47f"] +size = Vector3(17.7339, 22.0363, 19.9701) + [node name="HorseFace" type="CharacterBody3D"] transform = Transform3D(0.15, 0, 0, 0, 0.15, 0, 0, 0, 0.15, 0, 0, 0) axis_lock_linear_y = true @@ -1317,7 +1372,7 @@ bones/0/name = "spine1" bones/0/parent = -1 bones/0/rest = Transform3D(1.49012e-06, 0.00846654, -0.999964, 2.93367e-08, 0.999964, 0.00846654, 1, -4.23752e-08, 1.49012e-06, 0.000155807, -0.00105953, -2.01735) bones/0/enabled = true -bones/0/position = Vector3(0.0996386, -0.409772, -1.53144) +bones/0/position = Vector3(0.0996386, -0.273442, -1.53144) bones/0/rotation = Quaternion(0.0256267, -0.805691, 0.0118477, 0.591662) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "spine0" @@ -1346,7 +1401,7 @@ bones/4/parent = 3 bones/4/rest = Transform3D(0.901905, -0.410135, 0.135488, 0.412416, 0.910915, 0.0120912, -0.128377, 0.0449723, 0.990705, 2.5332e-07, 0.990515, -7.07805e-08) bones/4/enabled = true bones/4/position = Vector3(2.5332e-07, 0.990515, -7.07805e-08) -bones/4/rotation = Quaternion(-0.00408793, 0.0603897, 0.187587, 0.980381) +bones/4/rotation = Quaternion(0.0084299, 0.0676487, 0.210882, 0.975132) bones/4/scale = Vector3(1, 1, 1) bones/5/name = "neck4" bones/5/parent = 4 @@ -1360,7 +1415,7 @@ bones/6/parent = 5 bones/6/rest = Transform3D(0.0598389, 0.98531, 0.15995, -0.975271, 0.0235553, 0.219755, 0.212759, -0.169144, 0.962353, 3.65078e-07, 1.40318, 0) bones/6/enabled = true bones/6/position = Vector3(3.65078e-07, 1.40318, 0) -bones/6/rotation = Quaternion(-0.329769, 0.050846, -0.457357, 0.824313) +bones/6/rotation = Quaternion(-0.343621, 0.0521605, -0.496465, 0.795441) bones/6/scale = Vector3(1, 1, 1) bones/7/name = "Bone.007" bones/7/parent = 6 @@ -1395,7 +1450,7 @@ bones/11/parent = 1 bones/11/rest = Transform3D(0.981457, 0.0769315, -0.175568, 0.18837, -0.217537, 0.957703, 0.035485, -0.973015, -0.227995, -1.09896e-07, 3.84743, -2.10479e-07) bones/11/enabled = true bones/11/position = Vector3(-1.09896e-07, 3.84743, -2.10479e-07) -bones/11/rotation = Quaternion(-0.813133, -0.0929118, -0.0237927, 0.574122) +bones/11/rotation = Quaternion(-0.805738, -0.0791136, -0.0234744, 0.586495) bones/11/scale = Vector3(1, 1, 1) bones/12/name = "arm2_L" bones/12/parent = 11 @@ -1422,7 +1477,7 @@ bones/15/name = "arm1_R" bones/15/parent = 1 bones/15/rest = Transform3D(-0.98213, 0.0512573, -0.181089, -0.187541, -0.185921, 0.964501, 0.0157694, 0.981227, 0.192212, 0.00107862, 3.8461, -0.0821097) bones/15/enabled = true -bones/15/position = Vector3(-0.174128, 3.43196, 0.116912) +bones/15/position = Vector3(-0.203939, 3.66122, 0.0735636) bones/15/rotation = Quaternion(-0.502686, 0.531044, 0.680821, -0.0422068) bones/15/scale = Vector3(1, 1, 1) bones/16/name = "arm2_R" @@ -1437,7 +1492,7 @@ bones/17/parent = 16 bones/17/rest = Transform3D(0.998789, 0.0488077, -0.00615137, -0.0491113, 0.996528, -0.0672226, 0.00284903, 0.0674433, 0.997719, -5.21541e-08, 3.04263, -1.31503e-06) bones/17/enabled = true bones/17/position = Vector3(-5.21541e-08, 3.04263, -1.31503e-06) -bones/17/rotation = Quaternion(-0.0138979, 0.0962523, 0.276071, 0.956205) +bones/17/rotation = Quaternion(-0.0474455, 0.0974058, 0.264379, 0.958314) bones/17/scale = Vector3(1, 1, 1) bones/18/name = "hand_R" bones/18/parent = 17 @@ -1450,7 +1505,7 @@ bones/19/name = "hip_L" bones/19/parent = -1 bones/19/rest = Transform3D(0.138486, 0.897208, 0.419333, -0.129033, -0.403458, 0.905854, 0.981923, -0.179556, 0.059896, 0.000155807, -0.00105953, -2.01735) bones/19/enabled = true -bones/19/position = Vector3(0.147751, -0.357642, -1.49267) +bones/19/position = Vector3(0.147751, -0.278747, -1.49267) bones/19/rotation = Quaternion(0.427793, 0.34021, 0.687061, -0.478745) bones/19/scale = Vector3(1, 1, 1) bones/20/name = "leg1_L" @@ -1458,14 +1513,14 @@ bones/20/parent = 19 bones/20/rest = Transform3D(0.945603, 0.113405, 0.304916, -0.324072, 0.410457, 0.852351, -0.0284943, -0.9048, 0.424881, 2.08616e-07, 2.00996, -7.1153e-07) bones/20/enabled = true bones/20/position = Vector3(2.08616e-07, 2.00996, -7.1153e-07) -bones/20/rotation = Quaternion(-0.43401, -0.329966, -0.375157, 0.749677) +bones/20/rotation = Quaternion(-0.438005, -0.325012, -0.369045, 0.752546) bones/20/scale = Vector3(1, 1, 1) bones/21/name = "leg2_L" bones/21/parent = 20 bones/21/rest = Transform3D(0.990336, -0.138679, 0.00180777, 0.138628, 0.990193, 0.0173138, -0.00419111, -0.0168959, 0.999848, 5.96046e-08, 5.85994, -5.23403e-07) bones/21/enabled = true bones/21/position = Vector3(5.96046e-08, 5.85994, -5.23403e-07) -bones/21/rotation = Quaternion(-0.0491798, 0.00187834, 0.393393, 0.918052) +bones/21/rotation = Quaternion(-0.047416, 0.00189064, 0.379284, 0.924063) bones/21/scale = Vector3(1, 1, 1) bones/22/name = "foot1_L" bones/22/parent = 21 @@ -1499,7 +1554,7 @@ bones/26/name = "hip_R" bones/26/parent = -1 bones/26/rest = Transform3D(0.138486, -0.897208, -0.419333, 0.129033, -0.403458, 0.905854, -0.981923, -0.179556, 0.059896, -0.000155807, -0.00105953, -2.01735) bones/26/enabled = true -bones/26/position = Vector3(0.0289172, -0.348385, -1.59603) +bones/26/position = Vector3(0.0289172, -0.295789, -1.59603) bones/26/rotation = Quaternion(0.695067, -0.09936, -0.377924, -0.603475) bones/26/scale = Vector3(1, 1, 1) bones/27/name = "leg1_R" @@ -1507,14 +1562,14 @@ bones/27/parent = 26 bones/27/rest = Transform3D(0.945603, -0.113405, -0.304916, 0.324072, 0.410457, 0.852351, 0.0284943, -0.9048, 0.424881, -9.54606e-09, 2.00996, -3.52971e-07) bones/27/enabled = true bones/27/position = Vector3(-9.54606e-09, 2.00996, -3.52971e-07) -bones/27/rotation = Quaternion(-0.311741, 0.178218, 0.184298, 0.914926) +bones/27/rotation = Quaternion(-0.317991, 0.173749, 0.183858, 0.913723) bones/27/scale = Vector3(1, 1, 1) bones/28/name = "leg2_R" bones/28/parent = 27 bones/28/rest = Transform3D(0.990336, 0.138679, -0.00180777, -0.138628, 0.990193, 0.0173138, 0.00419111, -0.0168959, 0.999848, 4.51691e-08, 5.85994, -3.72529e-09) bones/28/enabled = true bones/28/position = Vector3(4.51691e-08, 5.85994, -3.72529e-09) -bones/28/rotation = Quaternion(-0.277098, 0.0201429, -0.180803, 0.943462) +bones/28/rotation = Quaternion(-0.267474, 0.0202273, -0.174523, 0.947412) bones/28/scale = Vector3(1, 1, 1) bones/29/name = "foot1_R" bones/29/parent = 28 @@ -1550,7 +1605,7 @@ mesh = SubResource("ArrayMesh_007gq") skin = SubResource("Skin_vjpvu") [node name="BoneAttachment3D" type="BoneAttachment3D" parent="Armature/Skeleton3D"] -transform = Transform3D(-0.370164, -0.13327, -0.919357, -0.296918, -0.92077, 0.253024, -0.880238, 0.366634, 0.301266, -2.00357, 8.73106, 6.30238) +transform = Transform3D(-0.370164, -0.13327, -0.919357, -0.256758, -0.936427, 0.239124, -0.892779, 0.324567, 0.312413, -2.00357, 8.78726, 6.13288) bone_name = "TOP OF SKULL" bone_idx = 8 @@ -1563,7 +1618,7 @@ omni_attenuation = 0.167 [node name="AnimationPlayer" type="AnimationPlayer" parent="."] libraries = { -&"": SubResource("AnimationLibrary_485f6") +"": SubResource("AnimationLibrary_485f6") } [node name="AnimationTree" type="AnimationTree" parent="."] @@ -1588,5 +1643,25 @@ shape = SubResource("BoxShape3D_bhe2v") [node name="HitAnimation" type="AnimationPlayer" parent="."] unique_name_in_owner = true libraries = { -&"": SubResource("AnimationLibrary_nod6b") +"": SubResource("AnimationLibrary_nod6b") } + +[node name="AttackBox" type="Area3D" parent="."] +unique_name_in_owner = true +collision_layer = 64 +collision_mask = 64 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="AttackBox"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.541749, 9.35548, 9.48504) +shape = SubResource("BoxShape3D_ib47f") +disabled = true + +[node name="SecondaryAttackBox" type="Area3D" parent="."] +unique_name_in_owner = true +collision_layer = 64 +collision_mask = 64 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="SecondaryAttackBox"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.541749, 9.35548, 9.48504) +shape = SubResource("BoxShape3D_ib47f") +disabled = true diff --git a/src/enemy/enemy_types/horse_head/OxFace.res b/src/enemy/enemy_types/horse_head/OxFace.res index 66c5c6003d76b2dfae5edb812f340ef155535675..9ba56399981b3b86320fe52b5c2af2d39a9d0b28 100644 GIT binary patch literal 35062 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 C9YwtW literal 34590 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 Avj6}9 diff --git a/src/enemy/enemy_types/ox_face/OxFace.tscn b/src/enemy/enemy_types/ox_face/OxFace.tscn index d5b7f610..44417806 100644 --- a/src/enemy/enemy_types/ox_face/OxFace.tscn +++ b/src/enemy/enemy_types/ox_face/OxFace.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=32 format=4 uid="uid://6dnsw37d1uw4"] +[gd_scene load_steps=33 format=4 uid="uid://6dnsw37d1uw4"] [ext_resource type="Texture2D" uid="uid://dp6hwvuhfkji8" path="res://src/enemy/enemy_types/ox_face/models/OX FACE_Metal054C_1K-JPG_Color.jpg" id="1_iwcva"] [ext_resource type="Script" path="res://src/boss/Boss.cs" id="1_xakg1"] @@ -11,10 +11,10 @@ script = ExtResource("2_hdr5w") CurrentHP = 80.0 MaximumHP = 80.0 -CurrentAttack = 0 -CurrentDefense = 0 -MaxAttack = 0 -MaxDefense = 0 +CurrentAttack = 20 +CurrentDefense = 3 +MaxAttack = 20 +MaxDefense = 3 Luck = 0.05 TelluricResistance = 0.0 AeolicResistance = 0.0 @@ -309,6 +309,9 @@ _data = { [sub_resource type="BoxShape3D" id="BoxShape3D_hcxtl"] size = Vector3(14.6793, 34.6932, 15.6199) +[sub_resource type="BoxShape3D" id="BoxShape3D_afp5i"] +size = Vector3(17.7339, 22.0363, 19.9701) + [node name="OX FACE" type="CharacterBody3D"] transform = Transform3D(0.15, 0, 0, 0, 0.15, 0, 0, 0, 0.15, 0, -1, 0) axis_lock_linear_y = true @@ -327,7 +330,7 @@ bones/0/name = "spine1" bones/0/parent = -1 bones/0/rest = Transform3D(1.49012e-06, 0.00846654, -0.999964, 2.93367e-08, 0.999964, 0.00846654, 1, -4.23752e-08, 1.49012e-06, 0.000155807, -0.00105953, -2.01735) bones/0/enabled = true -bones/0/position = Vector3(-0.260202, -1.04547, -1.96826) +bones/0/position = Vector3(-0.259283, -0.9404, -1.97534) bones/0/rotation = Quaternion(0.0915277, -0.692111, -0.0341586, 0.715149) bones/0/scale = Vector3(1, 1, 1) bones/1/name = "spine0" @@ -370,7 +373,7 @@ bones/6/parent = 5 bones/6/rest = Transform3D(0.0598389, 0.98531, 0.15995, -0.975271, 0.0235553, 0.219755, 0.212759, -0.169144, 0.962353, 3.65078e-07, 1.40318, 0) bones/6/enabled = true bones/6/position = Vector3(3.65078e-07, 1.40318, 0) -bones/6/rotation = Quaternion(-0.0475432, -0.294218, -0.744152, 0.59784) +bones/6/rotation = Quaternion(-0.0777813, -0.305234, -0.744803, 0.58826) bones/6/scale = Vector3(1, 1, 1) bones/7/name = "Bone.007" bones/7/parent = 6 @@ -405,7 +408,7 @@ bones/11/parent = 1 bones/11/rest = Transform3D(0.981457, 0.0769315, -0.175568, 0.18837, -0.217537, 0.957703, 0.035485, -0.973015, -0.227995, -1.09896e-07, 3.84743, -2.10479e-07) bones/11/enabled = true bones/11/position = Vector3(-1.09896e-07, 3.84743, -2.10479e-07) -bones/11/rotation = Quaternion(-0.779914, -0.0574383, 0.0814382, 0.617902) +bones/11/rotation = Quaternion(-0.786087, -0.0628615, 0.0690646, 0.61102) bones/11/scale = Vector3(1, 0.999999, 1) bones/12/name = "arm2_L" bones/12/parent = 11 @@ -433,21 +436,21 @@ bones/15/parent = 1 bones/15/rest = Transform3D(-0.98213, 0.0512573, -0.181089, -0.187541, -0.185921, 0.964501, 0.0157694, 0.981227, 0.192212, 0.00107862, 3.8461, -0.0821097) bones/15/enabled = true bones/15/position = Vector3(0.00107886, 3.8461, -0.0821095) -bones/15/rotation = Quaternion(-0.215121, 0.74481, 0.614114, -0.1478) +bones/15/rotation = Quaternion(-0.209386, 0.735858, 0.623768, -0.15995) bones/15/scale = Vector3(1, 1, 1) bones/16/name = "arm2_R" bones/16/parent = 15 bones/16/rest = Transform3D(0.999962, -0.00846545, 0.00203661, 0.00853768, 0.99922, -0.0385481, -0.0017087, 0.038564, 0.999254, -4.28408e-07, 3.65838, -2.16067e-06) bones/16/enabled = true bones/16/position = Vector3(-4.28408e-07, 3.65838, -2.16067e-06) -bones/16/rotation = Quaternion(-0.486067, -0.16412, -0.362283, 0.778174) +bones/16/rotation = Quaternion(-0.424022, 0.233298, -0.489444, 0.725412) bones/16/scale = Vector3(1, 1, 0.999999) bones/17/name = "arm3_R" bones/17/parent = 16 bones/17/rest = Transform3D(0.998789, 0.0488077, -0.00615137, -0.0491113, 0.996528, -0.0672226, 0.00284903, 0.0674433, 0.997719, -5.21541e-08, 3.04263, -1.31503e-06) bones/17/enabled = true bones/17/position = Vector3(-5.21541e-08, 3.04263, -1.31503e-06) -bones/17/rotation = Quaternion(-0.0553629, -0.0361614, 0.62832, 0.77514) +bones/17/rotation = Quaternion(-0.0553628, -0.0361614, 0.62832, 0.77514) bones/17/scale = Vector3(1, 0.999999, 1) bones/18/name = "hand_R" bones/18/parent = 17 @@ -460,22 +463,22 @@ bones/19/name = "hip_L" bones/19/parent = -1 bones/19/rest = Transform3D(0.138486, 0.897208, 0.419333, -0.129033, -0.403458, 0.905854, 0.981923, -0.179556, 0.059896, 0.000155807, -0.00105953, -2.01735) bones/19/enabled = true -bones/19/position = Vector3(-0.374785, -1.194, -1.73853) -bones/19/rotation = Quaternion(0.626407, 0.294406, 0.547288, -0.470548) +bones/19/position = Vector3(-0.290163, -1.11395, -2.01735) +bones/19/rotation = Quaternion(0.608697, 0.3155, 0.575514, -0.445793) bones/19/scale = Vector3(1, 1, 1) bones/20/name = "leg1_L" bones/20/parent = 19 bones/20/rest = Transform3D(0.945603, 0.113405, 0.304916, -0.324072, 0.410457, 0.852351, -0.0284943, -0.9048, 0.424881, 2.08616e-07, 2.00996, -7.1153e-07) bones/20/enabled = true bones/20/position = Vector3(2.08616e-07, 2.00996, -7.1153e-07) -bones/20/rotation = Quaternion(-0.326486, -0.424244, -0.298458, 0.790156) +bones/20/rotation = Quaternion(-0.30808, -0.444485, -0.267974, 0.797314) bones/20/scale = Vector3(1, 0.999999, 1) bones/21/name = "leg2_L" bones/21/parent = 20 bones/21/rest = Transform3D(0.990336, -0.138679, 0.00180777, 0.138628, 0.990193, 0.0173138, -0.00419111, -0.0168959, 0.999848, 5.96046e-08, 5.85994, -5.23403e-07) bones/21/enabled = true bones/21/position = Vector3(5.96046e-08, 5.85994, -5.23403e-07) -bones/21/rotation = Quaternion(-0.0604731, 0.00129853, 0.489531, 0.869885) +bones/21/rotation = Quaternion(-0.060049, 0.00130142, 0.4861, 0.871837) bones/21/scale = Vector3(1, 1, 1) bones/22/name = "foot1_L" bones/22/parent = 21 @@ -509,7 +512,7 @@ bones/26/name = "hip_R" bones/26/parent = -1 bones/26/rest = Transform3D(0.138486, -0.897208, -0.419333, 0.129033, -0.403458, 0.905854, -0.981923, -0.179556, 0.059896, -0.000155807, -0.00105953, -2.01735) bones/26/enabled = true -bones/26/position = Vector3(-0.0417459, -1.11395, -2.01905) +bones/26/position = Vector3(-0.290475, -1.11395, -2.01735) bones/26/rotation = Quaternion(0.608697, -0.3155, -0.575514, -0.445793) bones/26/scale = Vector3(1, 1, 1) bones/27/name = "leg1_R" @@ -517,14 +520,14 @@ bones/27/parent = 26 bones/27/rest = Transform3D(0.945603, -0.113405, -0.304916, 0.324072, 0.410457, 0.852351, 0.0284943, -0.9048, 0.424881, -9.54606e-09, 2.00996, -3.52971e-07) bones/27/enabled = true bones/27/position = Vector3(-9.54606e-09, 2.00996, -3.52971e-07) -bones/27/rotation = Quaternion(-0.202464, 0.424548, 0.138115, 0.871603) +bones/27/rotation = Quaternion(-0.209385, 0.420724, 0.143017, 0.871031) bones/27/scale = Vector3(1, 0.999999, 1) bones/28/name = "leg2_R" bones/28/parent = 27 bones/28/rest = Transform3D(0.990336, 0.138679, -0.00180777, -0.138628, 0.990193, 0.0173138, 0.00419111, -0.0168959, 0.999848, 4.51691e-08, 5.85994, -3.72529e-09) bones/28/enabled = true bones/28/position = Vector3(4.51691e-08, 5.85994, -3.72529e-09) -bones/28/rotation = Quaternion(-0.0628203, -0.00116421, -0.501551, 0.862843) +bones/28/rotation = Quaternion(-0.0643786, -0.00115414, -0.513993, 0.855374) bones/28/scale = Vector3(1, 1, 1) bones/29/name = "foot1_R" bones/29/parent = 28 @@ -556,7 +559,7 @@ bones/32/rotation = Quaternion(0.456756, 0.539878, -0.539587, -0.456893) bones/32/scale = Vector3(1, 1, 1) [node name="BoneAttachment3D" type="BoneAttachment3D" parent="Armature/Skeleton3D"] -transform = Transform3D(-0.266304, -0.0360179, -0.963216, -0.333717, -0.934053, 0.127191, -0.904275, 0.355314, 0.236722, -1.68937, 8.20828, 4.95637) +transform = Transform3D(-0.300929, -0.0901167, -0.949379, -0.328078, -0.924976, 0.191792, -0.895436, 0.369186, 0.248787, -1.6582, 8.32712, 4.94593) bone_name = "TOP OF SKULL" bone_idx = 8 @@ -600,3 +603,23 @@ collision_mask = 16 [node name="CollisionShape3D" type="CollisionShape3D" parent="Hitbox"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.300452, 16.3466, 2.703) shape = SubResource("BoxShape3D_hcxtl") + +[node name="AttackBox" type="Area3D" parent="."] +unique_name_in_owner = true +collision_layer = 64 +collision_mask = 64 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="AttackBox"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.541749, 9.35548, 9.48504) +shape = SubResource("BoxShape3D_afp5i") +disabled = true + +[node name="SecondaryAttackBox" type="Area3D" parent="."] +unique_name_in_owner = true +collision_layer = 64 +collision_mask = 64 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="SecondaryAttackBox"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.541749, 9.35548, 9.48504) +shape = SubResource("BoxShape3D_afp5i") +disabled = true diff --git a/src/player/Player.cs b/src/player/Player.cs index a2777926..6c2d37d8 100644 --- a/src/player/Player.cs +++ b/src/player/Player.cs @@ -16,6 +16,8 @@ namespace GameJamDungeon public float GetRightStrafeInputVector(); + public void ApplyCentralImpulseToPlayer(Vector3 velocity); + event Player.InventoryButtonPressedEventHandler InventoryButtonPressed; event Player.MinimapButtonHeldEventHandler MinimapButtonHeld; event Player.PauseButtonPressedEventHandler PauseButtonPressed; @@ -71,6 +73,9 @@ namespace GameJamDungeon private bool reduceOnTick = true; + private float _knockbackStrength = 0.0f; + private Vector3 _knockbackDirection = Vector3.Zero; + public void Initialize() { AnimationPlayer.AnimationFinished += OnAnimationFinished; @@ -121,8 +126,10 @@ namespace GameJamDungeon PlayerBinding .Handle((in PlayerLogic.Output.MovementComputed output) => { + _knockbackStrength = _knockbackStrength * 0.9f; Transform = Transform with { Basis = output.Rotation }; - Velocity = output.Velocity; + Velocity = output.Velocity + (_knockbackDirection * _knockbackStrength); + MoveAndSlide(); }) .Handle((in PlayerLogic.Output.Animations.Attack output) => { @@ -184,7 +191,6 @@ namespace GameJamDungeon PlayerLogic.Input(new PlayerLogic.Input.PhysicsTick(delta)); SwordSlashAnimation.Position = GetViewport().GetVisibleRect().Size / 2; - MoveAndSlide(); PlayerLogic.Input(new PlayerLogic.Input.Moved(GlobalPosition, GlobalTransform)); } @@ -221,6 +227,12 @@ namespace GameJamDungeon throwItem.GlobalRotation = GlobalRotation; } + public void ApplyCentralImpulseToPlayer(Vector3 velocity) + { + _knockbackStrength = 115.0f; + _knockbackDirection = velocity; + } + public void OnAnimationFinished(StringName animation) { GD.Print("Attack finished");