2-24-16 build changes

This commit is contained in:
2026-02-24 10:39:34 -08:00
parent 3c1a221522
commit 846c8a4c59
65 changed files with 1909 additions and 2391 deletions

View File

@@ -7,6 +7,7 @@ using System;
using System.Linq;
using Zennysoft.Ma.Adapter;
using Zennysoft.Ma.Adapter.Entity;
using static Zennysoft.Ma.Adapter.AppLogic;
namespace Zennysoft.Game.Ma;
@@ -203,6 +204,8 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
SetProcessInput(true);
SetPhysicsProcess(true);
SetHealthTimerStatus(HealthTimerIsActive);
Hitbox.SetDeferred(Area3D.PropertyName.Monitoring, true);
Hitbox.SetDeferred(Area3D.PropertyName.Monitorable, true);
}
public void Deactivate()
@@ -211,6 +214,8 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
SetProcessInput(false);
SetPhysicsProcess(false);
SetHealthTimerStatus(false);
Hitbox.SetDeferred(Area3D.PropertyName.Monitoring, false);
Hitbox.SetDeferred(Area3D.PropertyName.Monitorable, false);
}
public void SetHealthTimerStatus(bool isActive)
@@ -264,6 +269,7 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
public void PlayJumpScareAnimation() => PlayerFXAnimations.Play("jump_scare");
public void IdentifyItem(IBaseInventoryItem unidentifiedItem) => _itemReroller.RerollItem(unidentifiedItem, Inventory);
public int TotalAttack => AttackComponent.CurrentAttack.Value + EquipmentComponent.BonusAttack;
@@ -564,7 +570,7 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
{
get
{
var rawInput = Input.GetVector(GameInputs.MoveLeft, GameInputs.MoveRight, GameInputs.MoveUp, GameInputs.MoveDown);
var rawInput = Godot.Input.GetVector(GameInputs.MoveLeft, GameInputs.MoveRight, GameInputs.MoveUp, GameInputs.MoveDown);
var input = new Vector3
{
X = rawInput.X,
@@ -600,11 +606,11 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
HealthComponent.LowerMaximumHP(hpIncrease);
}
private static float LeftStrafeInputVector => Input.GetActionStrength(GameInputs.StrafeLeft);
private static float LeftStrafeInputVector => Godot.Input.GetActionStrength(GameInputs.StrafeLeft);
private static float RightStrafeInputVector => Input.GetActionStrength(GameInputs.StrafeRight);
private static float RightStrafeInputVector => Godot.Input.GetActionStrength(GameInputs.StrafeRight);
private void Attack()
private async void Attack()
{
var weapon = EquipmentComponent.EquippedWeapon.Value as Weapon;
if (weapon.WeaponTag == WeaponTag.ElementalProjectile || weapon.WeaponTag == WeaponTag.KineticProjectile)
@@ -612,13 +618,18 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
HandleProjectile(weapon);
return;
}
if (WeaponAnimations.IsPlaying())
return;
PlayAttackAnimation();
if (PlayerIsHittingGeometry())
WeaponAnimations.Play("hit_wall");
else if (!WeaponAnimations.IsPlaying())
PlayAttackAnimation();
else
{
await ToSignal(GetTree().CreateTimer(0.15f), "timeout");
WeaponAnimations.Stop();
WeaponAnimations.Play("Hit Wall");
return;
}
if (weapon.WeaponTag == WeaponTag.DegradeOnSwing)
_playerEffectService.Degrade();

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=1653 format=3 uid="uid://cfecvvav8kkp6"]
[gd_scene load_steps=1686 format=3 uid="uid://cfecvvav8kkp6"]
[ext_resource type="Script" uid="uid://yxmiqy7i0t7r" path="res://src/player/Player.cs" id="1_xcol5"]
[ext_resource type="PackedScene" uid="uid://dqvlemme0iwa" path="res://src/camera/ShakeCamera.tscn" id="2_jtmj1"]
@@ -10,6 +10,7 @@
[ext_resource type="AudioStream" uid="uid://bsprdc3ka6am0" path="res://src/audio/sfx/player_steps_concrete.ogg" id="6_v7rlw"]
[ext_resource type="AudioStream" uid="uid://dfwydlvy7gg4n" path="res://src/audio/sfx/ENEMY_PILLAR_FIRE.ogg" id="7_cqsul"]
[ext_resource type="Texture2D" uid="uid://jgfksn01g0ht" path="res://src/vfx/Items Etc/salmon/salmon001.png" id="7_rmwaq"]
[ext_resource type="AudioStream" uid="uid://cth2xgoqhdf0m" path="res://src/audio/sfx/player_hit_wall.ogg" id="8_ajbah"]
[ext_resource type="Texture2D" uid="uid://drk8jp22p41f4" path="res://src/vfx/Items Etc/divinity/divinity000.png" id="8_majw8"]
[ext_resource type="Texture2D" uid="uid://0hn71j06qb5l" path="res://src/vfx/Items Etc/salmon/salmon002.png" id="8_t3nc1"]
[ext_resource type="Texture2D" uid="uid://d3yyh62vfg1js" path="res://src/vfx/Items Etc/divinity/divinity001.png" id="9_3ol0a"]
@@ -516,6 +517,7 @@
[ext_resource type="Texture2D" uid="uid://cmv2tb2aanetb" path="res://src/vfx/Weapon Strikes/hydric_attack/tile005.png" id="505_l7c4m"]
[ext_resource type="Texture2D" uid="uid://dgtnbcgld7sd2" path="res://src/vfx/Weapon Strikes/hydric_attack/tile006.png" id="506_04cm7"]
[ext_resource type="Texture2D" uid="uid://dfn58mhi6ydiv" path="res://src/vfx/Weapon Strikes/hydric_attack/tile007.png" id="507_cqsul"]
[ext_resource type="Texture2D" uid="uid://s3expc8f8x3y" path="res://src/vfx/Items Etc/sparks for wall.png" id="508_7rguc"]
[ext_resource type="Texture2D" uid="uid://oa6dmpe31efs" path="res://src/vfx/Weapon Strikes/hydric_attack/tile008.png" id="508_ajbah"]
[ext_resource type="Texture2D" uid="uid://pv56eou8fuw6" path="res://src/vfx/Items Etc/crosshair.png" id="508_sq73w"]
[ext_resource type="Texture2D" uid="uid://dxnata78dcvlg" path="res://src/vfx/Weapon Strikes/hydric_attack/tile009.png" id="509_7rguc"]
@@ -587,7 +589,16 @@ _data = {
size = Vector3(2, 4.3291, 1)
[sub_resource type="SphereShape3D" id="SphereShape3D_g641l"]
radius = 0.6
radius = 0.265087
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_7rguc"]
transparency = 1
albedo_color = Color(0.645551, 2.56296e-06, 4.81307e-07, 0.341176)
[sub_resource type="SphereMesh" id="SphereMesh_7rguc"]
material = SubResource("StandardMaterial3D_7rguc")
radius = 0.265
height = 0.53
[sub_resource type="BoxShape3D" id="BoxShape3D_565yv"]
size = Vector3(1, 1, 1.80176)
@@ -1406,11 +1417,55 @@ tracks/2/keys = {
"values": [0, 30]
}
[sub_resource type="Animation" id="Animation_pyqdk"]
resource_name = "Hit Wall"
length = 1.0
tracks/0/type = "audio"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("%HitWallSound")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"clips": [{
"end_offset": 0.0,
"start_offset": 0.0,
"stream": ExtResource("8_ajbah")
}],
"times": PackedFloat32Array(0)
}
tracks/0/use_blend = true
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Weapon Animations:animation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [&"wall_hit"]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Weapon Animations:frame")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.933333),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0, 28]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ickvi"]
_data = {
&"Air Slash": SubResource("Animation_l7c4m"),
&"Earth Slash": SubResource("Animation_cqsul"),
&"Fire Slash": SubResource("Animation_04cm7"),
&"Hit Wall": SubResource("Animation_pyqdk"),
&"Love Judgement": SubResource("Animation_7rguc"),
&"Normal Slash": SubResource("Animation_ua0fy"),
&"Persuader": SubResource("Animation_aodty"),
@@ -9403,6 +9458,118 @@ region = Rect2(14336, 0, 512, 512)
atlas = ExtResource("502_cnyix")
region = Rect2(14848, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_bndwh"]
atlas = ExtResource("508_7rguc")
region = Rect2(0, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_ft2u1"]
atlas = ExtResource("508_7rguc")
region = Rect2(512, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_8l3am"]
atlas = ExtResource("508_7rguc")
region = Rect2(1024, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_13rdk"]
atlas = ExtResource("508_7rguc")
region = Rect2(1536, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_cep86"]
atlas = ExtResource("508_7rguc")
region = Rect2(2048, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_3yjbu"]
atlas = ExtResource("508_7rguc")
region = Rect2(2560, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_hnja0"]
atlas = ExtResource("508_7rguc")
region = Rect2(3072, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_u2nig"]
atlas = ExtResource("508_7rguc")
region = Rect2(3584, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_71wpn"]
atlas = ExtResource("508_7rguc")
region = Rect2(4096, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_cdgr3"]
atlas = ExtResource("508_7rguc")
region = Rect2(4608, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_ddqq8"]
atlas = ExtResource("508_7rguc")
region = Rect2(5120, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_s2g0i"]
atlas = ExtResource("508_7rguc")
region = Rect2(5632, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_iuq02"]
atlas = ExtResource("508_7rguc")
region = Rect2(6144, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_s37mo"]
atlas = ExtResource("508_7rguc")
region = Rect2(6656, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_8usxh"]
atlas = ExtResource("508_7rguc")
region = Rect2(7168, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_g2lky"]
atlas = ExtResource("508_7rguc")
region = Rect2(7680, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_5g1dv"]
atlas = ExtResource("508_7rguc")
region = Rect2(8192, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_4h88r"]
atlas = ExtResource("508_7rguc")
region = Rect2(8704, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_s15f5"]
atlas = ExtResource("508_7rguc")
region = Rect2(9216, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_ujgbw"]
atlas = ExtResource("508_7rguc")
region = Rect2(9728, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_y8v4x"]
atlas = ExtResource("508_7rguc")
region = Rect2(10240, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_nopn5"]
atlas = ExtResource("508_7rguc")
region = Rect2(10752, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_8744j"]
atlas = ExtResource("508_7rguc")
region = Rect2(11264, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_73itp"]
atlas = ExtResource("508_7rguc")
region = Rect2(11776, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_udknf"]
atlas = ExtResource("508_7rguc")
region = Rect2(12288, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_4cn3c"]
atlas = ExtResource("508_7rguc")
region = Rect2(12800, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_t2q0r"]
atlas = ExtResource("508_7rguc")
region = Rect2(13312, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_ktcn0"]
atlas = ExtResource("508_7rguc")
region = Rect2(13824, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_na8n6"]
atlas = ExtResource("498_ucsgn")
region = Rect2(0, 0, 512, 512)
@@ -10443,6 +10610,98 @@ animations = [{
}, {
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_bndwh")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ft2u1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_8l3am")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_13rdk")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_cep86")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_3yjbu")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_hnja0")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_u2nig")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_71wpn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_cdgr3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ddqq8")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_s2g0i")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_iuq02")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_s37mo")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_8usxh")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_g2lky")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_5g1dv")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4h88r")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_s15f5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ujgbw")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_y8v4x")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_nopn5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_8744j")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_73itp")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_udknf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4cn3c")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_t2q0r")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ktcn0")
}, {
"duration": 1.0,
"texture": null
}],
"loop": false,
"name": &"wall_hit",
"speed": 24.0
}, {
"frames": [{
"duration": 1.0,
"texture": ExtResource("500_rhpvh")
}, {
"duration": 1.0,
@@ -10728,9 +10987,14 @@ contact_monitor = true
max_contacts_reported = 100
[node name="CollisionShape3D" type="CollisionShape3D" parent="Collision/WallCheck"]
transform = Transform3D(1.91069e-15, 4.37114e-08, 1, 1, -4.37114e-08, 0, 4.37114e-08, 1, -4.37114e-08, -1.51238, 1.03938, -1.08421)
transform = Transform3D(1.91069e-15, 4.37114e-08, 1, 1, -4.37114e-08, 0, 4.37114e-08, 1, -4.37114e-08, -1.43944, 1.77467, -0.854401)
shape = SubResource("SphereShape3D_g641l")
[node name="MeshInstance3D" type="MeshInstance3D" parent="Collision/WallCheck/CollisionShape3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00350833, 0.00597081, -0.00353834)
visible = false
mesh = SubResource("SphereMesh_7rguc")
[node name="Hitbox" type="Area3D" parent="Collision"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.12691, -1)