Boss logic update

This commit is contained in:
2024-09-30 22:09:15 -07:00
parent dcb867e0bb
commit 167989be99
23 changed files with 479 additions and 70 deletions

View File

@@ -1,4 +1,4 @@
<Project Sdk="Godot.NET.Sdk/4.4.0-dev.1">
<Project Sdk="Godot.NET.Sdk/4.4.0-dev.1">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<TargetFramework Condition=" '$(GodotTargetPlatform)' == 'android' ">net8.0</TargetFramework>

74
src/boss/Boss.cs Normal file
View File

@@ -0,0 +1,74 @@
using Chickensoft.AutoInject;
using Chickensoft.GodotNodeInterfaces;
using Chickensoft.Introspection;
using Godot;
namespace GameJamDungeon
{
public interface IBoss : ICharacterBody3D
{
public AnimationTree AnimationTree { get; }
public Timer AttackTimer { get; }
public void Activate();
}
[Meta(typeof(IAutoNode))]
public partial class Boss : CharacterBody3D, IBoss, IProvide<IBossLogic>
{
public override void _Notification(int what) => this.Notify(what);
public IBossLogic BossLogic { get; set; } = default!;
IBossLogic IProvide<IBossLogic>.Value() => BossLogic;
public BossLogic.IBinding BossBinding { get; set; } = default!;
[Dependency] public IGameRepo GameRepo => this.DependOn<IGameRepo>();
[Node] public AnimationTree AnimationTree { get; set; } = default!;
[Node] public Timer AttackTimer { get; set; } = default!;
public void Setup()
{
BossLogic = new BossLogic();
BossLogic.Set(this as IBoss);
BossLogic.Set(GameRepo);
SetPhysicsProcess(false);
Hide();
}
public void OnResolved()
{
BossBinding = BossLogic.Bind();
this.Provide();
BossLogic.Start();
AttackTimer.Timeout += AttackTimer_Timeout;
}
public void Activate()
{
BossLogic.Input(new BossLogic.Input.Activate());
}
private void AttackTimer_Timeout()
{
var random = new RandomNumberGenerator();
random.Randomize();
var selection = random.RandWeighted([0.2f, 0.8f]);
if (selection == 0)
BossLogic.Input(new BossLogic.Input.SecondaryAttack());
else
BossLogic.Input(new BossLogic.Input.PrimaryAttack());
}
public void OnPhysicsProcess(double delta)
{
BossLogic.Input(new BossLogic.Input.PhysicsTick(delta));
}
}
}

View File

@@ -0,0 +1,16 @@
namespace GameJamDungeon
{
public partial class BossLogic
{
public static class Input
{
public readonly record struct Activate();
public readonly record struct PhysicsTick(double Delta);
public readonly record struct PrimaryAttack();
public readonly record struct SecondaryAttack();
}
}
}

View File

@@ -0,0 +1,10 @@
namespace GameJamDungeon
{
public partial class BossLogic
{
public static class Output
{
}
}
}

View File

@@ -0,0 +1,16 @@
using Chickensoft.Introspection;
using Chickensoft.LogicBlocks;
namespace GameJamDungeon
{
public partial class BossLogic
{
[Meta]
public abstract partial record State : StateLogic<State>
{
protected State()
{
}
}
}
}

View File

@@ -0,0 +1,14 @@
using Chickensoft.Introspection;
using Chickensoft.LogicBlocks;
namespace GameJamDungeon
{
public interface IBossLogic : ILogicBlock<BossLogic.State>;
[Meta, Id("boss_logic")]
[LogicBlock(typeof(State), Diagram = true)]
public partial class BossLogic : LogicBlock<BossLogic.State>, IBossLogic
{
public override Transition GetInitialState() => To<State.Idle>();
}
}

View File

@@ -0,0 +1,16 @@
@startuml BossLogic
state "BossLogic State" as GameJamDungeon_BossLogic_State {
state "ApproachPlayer" as GameJamDungeon_BossLogic_State_ApproachPlayer
state "EngagePlayer" as GameJamDungeon_BossLogic_State_EngagePlayer
state "Idle" as GameJamDungeon_BossLogic_State_Idle
}
GameJamDungeon_BossLogic_State_ApproachPlayer --> GameJamDungeon_BossLogic_State_ApproachPlayer : PhysicsTick
GameJamDungeon_BossLogic_State_ApproachPlayer --> GameJamDungeon_BossLogic_State_EngagePlayer : PhysicsTick
GameJamDungeon_BossLogic_State_EngagePlayer --> GameJamDungeon_BossLogic_State_ApproachPlayer : PhysicsTick
GameJamDungeon_BossLogic_State_EngagePlayer --> GameJamDungeon_BossLogic_State_EngagePlayer : PhysicsTick
GameJamDungeon_BossLogic_State_EngagePlayer --> GameJamDungeon_BossLogic_State_EngagePlayer : PrimaryAttack
GameJamDungeon_BossLogic_State_EngagePlayer --> GameJamDungeon_BossLogic_State_EngagePlayer : SecondaryAttack
GameJamDungeon_BossLogic_State_Idle --> GameJamDungeon_BossLogic_State_ApproachPlayer : Activate
[*] --> GameJamDungeon_BossLogic_State_Idle
@enduml

View File

@@ -0,0 +1,35 @@
using Chickensoft.Introspection;
using Godot;
namespace GameJamDungeon
{
public partial class BossLogic
{
public partial record State
{
[Meta, Id("boss_logic_state_approach_player")]
public partial record ApproachPlayer : State, IGet<Input.PhysicsTick>
{
public Transition On(in Input.PhysicsTick input)
{
var gameRepo = Get<IGameRepo>();
var boss = Get<IBoss>();
var delta = (float)input.Delta;
var playerPosition = new Vector3(gameRepo.PlayerGlobalPosition.Value.X, boss.GlobalPosition.Y, gameRepo.PlayerGlobalPosition.Value.Z);
if (boss.GlobalPosition.DistanceTo(gameRepo.PlayerGlobalPosition.Value) <= 5.0f)
return To<EngagePlayer>();
var moveToward = boss.GlobalPosition.MoveToward(playerPosition, (float)delta * 3f);
boss.GlobalPosition = moveToward;
var targetDirection = boss.GlobalPosition - gameRepo.PlayerGlobalPosition.Value;
boss.GlobalRotation = new Vector3(boss.GlobalRotation.X, Mathf.LerpAngle(boss.GlobalRotation.Y, Mathf.Atan2(-targetDirection.X, -targetDirection.Z), delta * 3f), boss.GlobalRotation.Z);
boss.AnimationTree.Get("parameters/playback").As<AnimationNodeStateMachinePlayback>().Travel("WALK");
return ToSelf();
}
}
}
}
}

View File

@@ -0,0 +1,48 @@
using Chickensoft.Introspection;
using Godot;
namespace GameJamDungeon
{
public partial class BossLogic
{
public partial record State
{
[Meta, Id("boss_logic_state_engage_player")]
public partial record EngagePlayer : State, IGet<Input.PhysicsTick>, IGet<Input.PrimaryAttack>, IGet<Input.SecondaryAttack>
{
public EngagePlayer()
{
OnAttach(() => Get<IBoss>().AnimationTree.Get("parameters/playback").As<AnimationNodeStateMachinePlayback>().Travel("IDLE"));
}
public Transition On(in Input.PhysicsTick input)
{
var gameRepo = Get<IGameRepo>();
var boss = Get<IBoss>();
var delta = (float)input.Delta;
var playerPosition = new Vector3(gameRepo.PlayerGlobalPosition.Value.X, boss.GlobalPosition.Y, gameRepo.PlayerGlobalPosition.Value.Z);
var targetDirection = boss.GlobalPosition - gameRepo.PlayerGlobalPosition.Value;
boss.GlobalRotation = new Vector3(boss.GlobalRotation.X, Mathf.LerpAngle(boss.GlobalRotation.Y, Mathf.Atan2(-targetDirection.X, -targetDirection.Z), delta * 3f), boss.GlobalRotation.Z);
if (boss.GlobalPosition.DistanceTo(gameRepo.PlayerGlobalPosition.Value) > 5.0f)
return To<ApproachPlayer>();
return ToSelf();
}
public Transition On(in Input.PrimaryAttack input)
{
var boss = Get<IBoss>();
boss.AnimationTree.Get("parameters/playback").As<AnimationNodeStateMachinePlayback>().Travel("SPEAR");
return ToSelf();
}
public Transition On(in Input.SecondaryAttack input)
{
var boss = Get<IBoss>();
boss.AnimationTree.Get("parameters/playback").As<AnimationNodeStateMachinePlayback>().Travel("SHIELD BASH");
return ToSelf();
}
}
}
}
}

View File

@@ -0,0 +1,31 @@
using Chickensoft.Introspection;
using static GameJamDungeon.BossLogic.Input;
namespace GameJamDungeon
{
public partial class BossLogic
{
public partial record State
{
[Meta, Id("boss_logic_state_idle")]
public partial record Idle : State, IGet<Activate>
{
public Idle()
{
OnDetach(() =>
{
var boss = Get<IBoss>();
boss.SetPhysicsProcess(true);
boss.Show();
boss.AttackTimer.Start();
}
);
}
public Transition On(in Activate input)
{
return To<ApproachPlayer>();
}
}
}
}
}

View File

@@ -1194,50 +1194,50 @@ 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.000155807, -0.00105953, -2.01735)
bones/0/rotation = Quaternion(-0.00299341, -0.7071, -0.00299339, 0.707101)
bones/0/position = Vector3(0.0996386, -0.286246, -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"
bones/1/parent = 0
bones/1/rest = Transform3D(0.978036, -0.207805, 0.0162095, 0.208126, 0.977864, -0.021554, -0.0113716, 0.0244542, 0.999636, 3.72054e-09, 2.48165, 7.14749e-08)
bones/1/enabled = true
bones/1/position = Vector3(3.72054e-09, 2.48165, 7.14749e-08)
bones/1/rotation = Quaternion(0.0115665, 0.00693391, 0.104566, 0.994427)
bones/1/rotation = Quaternion(-0.0145981, -0.120534, -0.248151, 0.961083)
bones/1/scale = Vector3(1, 1, 1)
bones/2/name = "neck1"
bones/2/parent = 1
bones/2/rest = Transform3D(0.931038, 0.338155, -0.137179, -0.337694, 0.940859, 0.0273421, 0.138312, 0.020868, 0.990169, -1.09896e-07, 3.84743, -2.10479e-07)
bones/2/enabled = true
bones/2/position = Vector3(-1.09896e-07, 3.84743, -2.10479e-07)
bones/2/rotation = Quaternion(-0.00164712, -0.0700919, -0.171953, 0.982607)
bones/2/rotation = Quaternion(-0.00164717, -0.070092, -0.171953, 0.982607)
bones/2/scale = Vector3(1, 1, 1)
bones/3/name = "neck2"
bones/3/parent = 2
bones/3/rest = Transform3D(0.998394, -0.0314302, 0.0471444, 0.0306775, 0.999391, 0.016606, -0.0476376, -0.015133, 0.99875, 2.23517e-07, 1.61011, -1.04308e-07)
bones/3/enabled = true
bones/3/position = Vector3(2.23517e-07, 1.61011, -1.04308e-07)
bones/3/rotation = Quaternion(-0.00793818, 0.0237058, 0.0155337, 0.999567)
bones/3/rotation = Quaternion(-0.00793817, 0.0237057, 0.0155337, 0.999567)
bones/3/scale = Vector3(1, 1, 1)
bones/4/name = "neck3"
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.00842992, 0.0676485, 0.210882, 0.975131)
bones/4/rotation = Quaternion(0.00725459, 0.0669693, 0.208701, 0.975657)
bones/4/scale = Vector3(1, 1, 1)
bones/5/name = "neck4"
bones/5/parent = 4
bones/5/rest = Transform3D(0.999746, -0.0223582, -0.00293604, 0.0225401, 0.994675, 0.10057, 0.000671851, -0.10061, 0.994926, 2.23517e-07, 1.26785, -4.84288e-08)
bones/5/enabled = true
bones/5/position = Vector3(2.23517e-07, 1.26785, -4.84288e-08)
bones/5/rotation = Quaternion(-0.0503619, -0.000903174, 0.0112395, 0.998667)
bones/5/rotation = Quaternion(-0.0503622, -0.000903181, 0.0112395, 0.998667)
bones/5/scale = Vector3(1, 1, 1)
bones/6/name = "head1"
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.13595, -0.018461, -0.685376, 0.715148)
bones/6/rotation = Quaternion(-0.342358, 0.0520427, -0.492847, 0.798238)
bones/6/scale = Vector3(1, 1, 1)
bones/7/name = "Bone.007"
bones/7/parent = 6
@@ -1272,77 +1272,77 @@ 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.77894, -0.0851483, 0.0449594, 0.619662)
bones/11/rotation = Quaternion(-0.806446, -0.0804107, -0.0235047, 0.585343)
bones/11/scale = Vector3(1, 1, 1)
bones/12/name = "arm2_L"
bones/12/parent = 11
bones/12/rest = Transform3D(0.999962, 0.00846541, -0.00203671, -0.00853764, 0.99922, -0.0385481, 0.0017088, 0.038564, 0.999255, 8.19564e-07, 3.65838, 1.35601e-06)
bones/12/enabled = true
bones/12/position = Vector3(8.19564e-07, 3.65838, 1.35601e-06)
bones/12/rotation = Quaternion(0.0192818, -0.000936561, -0.00425159, 0.999805)
bones/12/rotation = Quaternion(-0.115057, 0.109368, -0.147698, 0.97621)
bones/12/scale = Vector3(1, 1, 1)
bones/13/name = "arm3_L"
bones/13/parent = 12
bones/13/rest = Transform3D(0.998789, -0.0488077, 0.00615136, 0.0491112, 0.996528, -0.0672226, -0.00284903, 0.0674433, 0.997719, -3.7998e-07, 3.04263, 2.94298e-07)
bones/13/enabled = true
bones/13/position = Vector3(-3.7998e-07, 3.04263, 2.94298e-07)
bones/13/rotation = Quaternion(0.0336958, 0.00225206, 0.0245011, 0.999129)
bones/13/rotation = Quaternion(-0.198666, -0.526459, -0.59096, 0.578047)
bones/13/scale = Vector3(1, 1, 1)
bones/14/name = "hand_L"
bones/14/parent = 13
bones/14/rest = Transform3D(0.999684, -0.0250832, -0.0012569, 0.0250806, 0.999683, -0.0020528, 0.001308, 0.00202063, 0.999997, 6.61239e-07, 3.62262, 3.26894e-07)
bones/14/enabled = true
bones/14/position = Vector3(6.61239e-07, 3.62262, 3.26894e-07)
bones/14/rotation = Quaternion(0.00101844, -0.000641278, 0.012542, 0.999921)
bones/14/rotation = Quaternion(-0.27629, -0.0267945, -0.027508, 0.960307)
bones/14/scale = Vector3(1, 1, 1)
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.00107862, 3.8461, -0.0821097)
bones/15/rotation = Quaternion(-0.0538038, 0.633245, 0.768157, -0.0777179)
bones/15/position = Vector3(-0.201139, 3.63969, 0.0776347)
bones/15/rotation = Quaternion(-0.502686, 0.531044, 0.680821, -0.0422068)
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.0192818, 0.000936512, 0.00425161, 0.999805)
bones/16/rotation = Quaternion(-0.167967, 0.00983893, -0.337985, 0.92599)
bones/16/scale = Vector3(1, 1, 1)
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.0336958, -0.00225206, -0.0245011, 0.999129)
bones/17/rotation = Quaternion(-0.0442975, 0.0973027, 0.265491, 0.958167)
bones/17/scale = Vector3(1, 1, 1)
bones/18/name = "hand_R"
bones/18/parent = 17
bones/18/rest = Transform3D(0.999684, 0.0250832, 0.0012569, -0.0250806, 0.999683, -0.00205275, -0.00130799, 0.00202058, 0.999997, -7.45058e-08, 3.62262, 4.46569e-07)
bones/18/enabled = true
bones/18/position = Vector3(-7.45058e-08, 3.62262, 4.46569e-07)
bones/18/rotation = Quaternion(0.00101841, 0.000641274, -0.012542, 0.999921)
bones/18/rotation = Quaternion(0.269563, -0.115884, -0.127436, 0.947453)
bones/18/scale = Vector3(1, 1, 1)
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.000155807, -0.00105953, -2.01735)
bones/19/rotation = Quaternion(0.608697, 0.3155, 0.575515, -0.445793)
bones/19/position = Vector3(0.147751, -0.286156, -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"
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.526846, 0.0999663, -0.131168, 0.833808)
bones/20/rotation = Quaternion(-0.437515, -0.325624, -0.3698, 0.752195)
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.00857349, 0.00150341, 0.0694975, 0.997544)
bones/21/rotation = Quaternion(-0.0475833, 0.0018895, 0.380622, 0.923504)
bones/21/scale = Vector3(1, 1, 1)
bones/22/name = "foot1_L"
bones/22/parent = 21
@@ -1362,36 +1362,36 @@ bones/24/name = "kneeIK_L"
bones/24/parent = -1
bones/24/rest = Transform3D(-0.176321, 1.3113e-06, 0.984333, 0.984333, 1.54972e-06, 0.176321, -1.3113e-06, 1, -1.54972e-06, 1.83022, -6.67107, 3.18901)
bones/24/enabled = true
bones/24/position = Vector3(1.83022, -6.67107, 3.18901)
bones/24/rotation = Quaternion(0.453784, 0.542292, 0.542291, 0.453784)
bones/24/position = Vector3(2.31525, -7.34861, 2.3999)
bones/24/rotation = Quaternion(0.350356, 0.345508, 0.703917, 0.512226)
bones/24/scale = Vector3(1, 1, 1)
bones/25/name = "heelIK_L"
bones/25/parent = -1
bones/25/rest = Transform3D(-0.16376, -1.63913e-06, 0.9865, -0.9865, 1.19209e-07, -0.16376, 8.9407e-08, -1, -1.66893e-06, 1.91204, -13.5859, -3.56646)
bones/25/enabled = true
bones/25/position = Vector3(1.91204, -13.5859, -3.56646)
bones/25/rotation = Quaternion(-0.457231, 0.539389, -0.539388, 0.45723)
bones/25/position = Vector3(2.86478, -12.4291, 1.43256)
bones/25/rotation = Quaternion(-0.253375, 0.464951, -0.563517, 0.63409)
bones/25/scale = Vector3(1, 1, 1)
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.000155807, -0.00105953, -2.01735)
bones/26/rotation = Quaternion(0.608697, -0.3155, -0.575515, -0.445793)
bones/26/position = Vector3(0.0289172, -0.300728, -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"
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.526846, -0.0999663, 0.131168, 0.833808)
bones/27/rotation = Quaternion(-0.317211, 0.174303, 0.18392, 0.913876)
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.00857349, -0.00150341, -0.0694975, 0.997544)
bones/28/rotation = Quaternion(-0.268385, 0.0202194, -0.175117, 0.947046)
bones/28/scale = Vector3(1, 1, 1)
bones/29/name = "foot1_R"
bones/29/parent = 28
@@ -1411,15 +1411,15 @@ bones/31/name = "kneeIK_R"
bones/31/parent = -1
bones/31/rest = Transform3D(-0.176321, -1.3113e-06, -0.984333, -0.984333, 1.54972e-06, 0.176321, 1.3113e-06, 1, -1.54972e-06, -1.83022, -6.67107, 3.18901)
bones/31/enabled = true
bones/31/position = Vector3(-1.83022, -6.67107, 3.18901)
bones/31/rotation = Quaternion(-0.453784, 0.542292, 0.542291, -0.453784)
bones/31/position = Vector3(-3.50195, -6.14899, -3.29558)
bones/31/rotation = Quaternion(-0.631114, 0.565121, 0.468982, -0.249777)
bones/31/scale = Vector3(1, 1, 1)
bones/32/name = "heelIK_R"
bones/32/parent = -1
bones/32/rest = Transform3D(-0.16376, 1.63913e-06, -0.9865, 0.9865, 1.19209e-07, -0.16376, -8.9407e-08, -1, -1.66893e-06, -1.91204, -13.5859, -3.56646)
bones/32/enabled = true
bones/32/position = Vector3(-1.91204, -13.5859, -3.56646)
bones/32/rotation = Quaternion(0.457231, 0.539389, -0.539388, -0.45723)
bones/32/position = Vector3(-3.87024, -12.3974, -5.7547)
bones/32/rotation = Quaternion(0.514417, 0.701671, -0.342235, -0.354835)
bones/32/scale = Vector3(1, 1, 1)
[node name="Cube_035" type="MeshInstance3D" parent="Armature/Skeleton3D"]
@@ -1427,7 +1427,7 @@ mesh = SubResource("ArrayMesh_e6ony")
skin = SubResource("Skin_k5bce")
[node name="BoneAttachment3D" type="BoneAttachment3D" parent="Armature/Skeleton3D"]
transform = Transform3D(-0.367284, -0.0147353, -0.929992, -0.65121, -0.709838, 0.268431, -0.664099, 0.704211, 0.251117, 0.351783, 11.9525, -0.221962)
transform = Transform3D(-0.370165, -0.13327, -0.919357, -0.260549, -0.935039, 0.240449, -0.891679, 0.328543, 0.311396, -2.00357, 8.78221, 6.14921)
bone_name = "TOP OF SKULL"
bone_idx = 8

View File

@@ -1,7 +1,7 @@
[gd_scene load_steps=24 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/enemy/enemy_types/ox_face/OxFace.cs" id="1_kcod8"]
[ext_resource type="Script" path="res://src/boss/Boss.cs" id="1_xakg1"]
[ext_resource type="Texture2D" uid="uid://cqmo71mabu36n" path="res://src/enemy/enemy_types/ox_face/models/OX FACE_Metal054C_1K-JPG_Displacement.jpg" id="2_cgb4w"]
[ext_resource type="AnimationLibrary" uid="uid://bw3wtqy3lcbfi" path="res://src/enemy/enemy_types/horse_head/OxFace.res" id="4_4vicn"]
@@ -156,9 +156,6 @@ animation = &"WALK"
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8uvjf"]
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_n7kh3"]
switch_mode = 2
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5o2o7"]
switch_mode = 2
@@ -177,6 +174,10 @@ advance_mode = 2
switch_mode = 2
advance_mode = 2
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_3x2rh"]
switch_mode = 2
advance_mode = 2
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_2ll5b"]
states/IDLE/node = SubResource("AnimationNodeAnimation_jxxpn")
states/IDLE/position = Vector2(363, 111)
@@ -187,12 +188,12 @@ states/SPEAR/position = Vector2(1273, 173)
states/Start/position = Vector2(195, 100)
states/WALK/node = SubResource("AnimationNodeAnimation_qc5il")
states/WALK/position = Vector2(551, 257)
transitions = ["IDLE", "WALK", SubResource("AnimationNodeStateMachineTransition_g8bck"), "WALK", "IDLE", SubResource("AnimationNodeStateMachineTransition_8uvjf"), "SHIELD BASH", "IDLE", SubResource("AnimationNodeStateMachineTransition_n7kh3"), "SHIELD BASH", "WALK", SubResource("AnimationNodeStateMachineTransition_5o2o7"), "WALK", "SHIELD BASH", SubResource("AnimationNodeStateMachineTransition_tmxut"), "IDLE", "SHIELD BASH", SubResource("AnimationNodeStateMachineTransition_0lu76"), "Start", "IDLE", SubResource("AnimationNodeStateMachineTransition_c0ssq"), "WALK", "SPEAR", SubResource("AnimationNodeStateMachineTransition_yfrex"), "IDLE", "SPEAR", SubResource("AnimationNodeStateMachineTransition_8v83y"), "SPEAR", "IDLE", SubResource("AnimationNodeStateMachineTransition_m6j3e")]
graph_offset = Vector2(30, 32.3279)
transitions = ["IDLE", "WALK", SubResource("AnimationNodeStateMachineTransition_g8bck"), "WALK", "IDLE", SubResource("AnimationNodeStateMachineTransition_8uvjf"), "SHIELD BASH", "WALK", SubResource("AnimationNodeStateMachineTransition_5o2o7"), "WALK", "SHIELD BASH", SubResource("AnimationNodeStateMachineTransition_tmxut"), "IDLE", "SHIELD BASH", SubResource("AnimationNodeStateMachineTransition_0lu76"), "Start", "IDLE", SubResource("AnimationNodeStateMachineTransition_c0ssq"), "WALK", "SPEAR", SubResource("AnimationNodeStateMachineTransition_yfrex"), "IDLE", "SPEAR", SubResource("AnimationNodeStateMachineTransition_8v83y"), "SPEAR", "IDLE", SubResource("AnimationNodeStateMachineTransition_m6j3e"), "SHIELD BASH", "IDLE", SubResource("AnimationNodeStateMachineTransition_3x2rh")]
graph_offset = Vector2(30, -17.3442)
[node name="OX FACE" type="CharacterBody3D"]
transform = Transform3D(0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0, -1, 0)
script = ExtResource("1_kcod8")
script = ExtResource("1_xakg1")
[node name="RayCast3D" type="RayCast3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 15.5512, 14.1445)
@@ -212,7 +213,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.260104, -1.03428, -1.96901)
bones/0/position = Vector3(-0.2603, -1.05667, -1.9675)
bones/0/rotation = Quaternion(0.0915277, -0.692111, -0.0341586, 0.715149)
bones/0/scale = Vector3(1, 1, 1)
bones/1/name = "spine0"
@@ -255,7 +256,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.049516, -0.294946, -0.744221, 0.597236)
bones/6/rotation = Quaternion(-0.0504223, -0.29528, -0.744251, 0.596958)
bones/6/scale = Vector3(1, 1, 1)
bones/7/name = "Bone.007"
bones/7/parent = 6
@@ -290,7 +291,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.780582, -0.0580166, 0.0801215, 0.617177)
bones/11/rotation = Quaternion(-0.779541, -0.0571158, 0.0821721, 0.618305)
bones/11/scale = Vector3(1, 1, 1)
bones/12/name = "arm2_L"
bones/12/parent = 11
@@ -318,7 +319,7 @@ 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.214514, 0.74387, 0.615152, -0.149096)
bones/15/rotation = Quaternion(-0.215516, 0.745421, 0.613436, -0.146955)
bones/15/scale = Vector3(1, 1, 1)
bones/16/name = "arm2_R"
bones/16/parent = 15
@@ -345,22 +346,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.365773, -1.18548, -1.76821)
bones/19/rotation = Quaternion(0.624586, 0.296683, 0.55035, -0.46796)
bones/19/position = Vector3(-0.3838, -1.20254, -1.70882)
bones/19/rotation = Quaternion(0.628214, 0.29212, 0.54421, -0.473125)
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.324565, -0.426428, -0.295259, 0.790974)
bones/20/rotation = Quaternion(-0.328398, -0.422052, -0.301647, 0.789326)
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.060451, 0.00129869, 0.489353, 0.869987)
bones/21/rotation = Quaternion(-0.0605336, 0.0012981, 0.490022, 0.869605)
bones/21/scale = Vector3(1, 1, 1)
bones/22/name = "foot1_L"
bones/22/parent = 21
@@ -394,7 +395,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.068232, -1.11395, -2.01886)
bones/26/position = Vector3(-0.0152458, -1.11395, -2.01923)
bones/26/rotation = Quaternion(0.608697, -0.3155, -0.575514, -0.445793)
bones/26/scale = Vector3(1, 1, 1)
bones/27/name = "leg1_R"
@@ -402,14 +403,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.202916, 0.424297, 0.138457, 0.871566)
bones/27/rotation = Quaternion(-0.20182, 0.424906, 0.137622, 0.871656)
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.0629922, -0.00116313, -0.502924, 0.862031)
bones/28/rotation = Quaternion(-0.0627236, -0.00116484, -0.500779, 0.863299)
bones/28/scale = Vector3(1, 1, 1)
bones/29/name = "foot1_R"
bones/29/parent = 28
@@ -441,7 +442,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.268575, -0.0395667, -0.962446, -0.333421, -0.933573, 0.131422, -0.903713, 0.356196, 0.237542, -1.68733, 8.22043, 4.95543)
transform = Transform3D(-0.269618, -0.0411959, -0.962086, -0.333281, -0.933347, 0.133365, -0.903454, 0.356603, 0.237918, -1.68663, 8.19848, 4.95684)
bone_name = "TOP OF SKULL"
bone_idx = 8

View File

@@ -208,7 +208,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.259283, -0.9404, -1.97534)
bones/0/position = Vector3(-0.259307, -0.943212, -1.97515)
bones/0/rotation = Quaternion(0.0915277, -0.692111, -0.0341586, 0.715149)
bones/0/scale = Vector3(1, 1, 1)
bones/1/name = "spine0"
@@ -251,7 +251,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.0777813, -0.305234, -0.744803, 0.58826)
bones/6/rotation = Quaternion(-0.0767971, -0.30488, -0.744796, 0.588583)
bones/6/scale = Vector3(1, 1, 1)
bones/7/name = "Bone.007"
bones/7/parent = 6
@@ -286,7 +286,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.786087, -0.0628615, 0.0690646, 0.61102)
bones/11/rotation = Quaternion(-0.785896, -0.0626902, 0.0694565, 0.61124)
bones/11/scale = Vector3(1, 1, 1)
bones/12/name = "arm2_L"
bones/12/parent = 11
@@ -314,7 +314,7 @@ 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.209386, 0.735858, 0.623768, -0.15995)
bones/15/rotation = Quaternion(-0.20956, 0.736133, 0.623479, -0.159583)
bones/15/scale = Vector3(1, 1, 1)
bones/16/name = "arm2_R"
bones/16/parent = 15
@@ -341,22 +341,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.290163, -1.11395, -2.01735)
bones/19/rotation = Quaternion(0.608697, 0.3155, 0.575514, -0.445793)
bones/19/position = Vector3(-0.292427, -1.1161, -2.00989)
bones/19/rotation = Quaternion(0.609188, 0.314944, 0.574775, -0.446468)
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.30808, -0.444485, -0.267974, 0.797314)
bones/20/rotation = Quaternion(-0.308584, -0.443951, -0.2688, 0.797139)
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.060049, 0.00130142, 0.4861, 0.871837)
bones/21/rotation = Quaternion(-0.0600785, 0.00130123, 0.486338, 0.871702)
bones/21/scale = Vector3(1, 1, 1)
bones/22/name = "foot1_L"
bones/22/parent = 21
@@ -390,7 +390,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.290475, -1.11395, -2.01735)
bones/26/position = Vector3(-0.28382, -1.11395, -2.0174)
bones/26/rotation = Quaternion(0.608697, -0.3155, -0.575514, -0.445793)
bones/26/scale = Vector3(1, 1, 1)
bones/27/name = "leg1_R"
@@ -398,14 +398,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.209385, 0.420724, 0.143017, 0.871031)
bones/27/rotation = Quaternion(-0.209057, 0.420905, 0.142798, 0.871059)
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.0643786, -0.00115414, -0.513993, 0.855374)
bones/28/rotation = Quaternion(-0.0643312, -0.00115446, -0.513614, 0.855605)
bones/28/scale = Vector3(1, 1, 1)
bones/29/name = "foot1_R"
bones/29/parent = 28
@@ -437,7 +437,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.300929, -0.0901166, -0.949379, -0.328078, -0.924976, 0.191793, -0.895437, 0.369186, 0.248787, -1.6582, 8.32712, 4.94594)
transform = Transform3D(-0.29981, -0.0883663, -0.949898, -0.328298, -0.925329, 0.189699, -0.895732, 0.368723, 0.248412, -1.65922, 8.32389, 4.94624)
bone_name = "TOP OF SKULL"
bone_idx = 8

Binary file not shown.

After

Width:  |  Height:  |  Size: 525 KiB

View File

@@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://5noago2q8ga2"
path="res://.godot/imported/assembled_body0_tex00.png-27fb3e3ea21214c3edace9e566e24ed9.ctex"
metadata={
"vram_texture": false
}
generator_parameters={
"md5": "bed57ac546a6fddfa05c594f37fc4830"
}
[deps]
source_file="res://src/enemy/enemy_types/ox_face/assembled_body0_tex00.png"
dest_files=["res://.godot/imported/assembled_body0_tex00.png-27fb3e3ea21214c3edace9e566e24ed9.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=true
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=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

View File

@@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bwgqqhkuuej8y"
path="res://.godot/imported/assembled_innerface0_tex00.png-0625f76b71b16d446ce87100c64f0d4f.ctex"
metadata={
"vram_texture": false
}
generator_parameters={
"md5": "ad05555f2c06e187cc22ae29c209422b"
}
[deps]
source_file="res://src/enemy/enemy_types/ox_face/assembled_innerface0_tex00.png"
dest_files=["res://.godot/imported/assembled_innerface0_tex00.png-0625f76b71b16d446ce87100c64f0d4f.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=true
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=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View File

@@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bsy2ro1u0wmwh"
path="res://.godot/imported/assembled_outerface0_tex00.png-8b4dd1a0c616c4e89f125608afffa3a6.ctex"
metadata={
"vram_texture": false
}
generator_parameters={
"md5": "d4587d57094eebb71486d1ee6d26a975"
}
[deps]
source_file="res://src/enemy/enemy_types/ox_face/assembled_outerface0_tex00.png"
dest_files=["res://.godot/imported/assembled_outerface0_tex00.png-8b4dd1a0c616c4e89f125608afffa3a6.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=true
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=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 525 KiB

View File

@@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://siky61swb8ig"
path="res://.godot/imported/assembled_sword0_tex00.png-5cdea4da7bad510cebb0d9f0de3a7a7b.ctex"
metadata={
"vram_texture": false
}
generator_parameters={
"md5": "bed57ac546a6fddfa05c594f37fc4830"
}
[deps]
source_file="res://src/enemy/enemy_types/ox_face/assembled_sword0_tex00.png"
dest_files=["res://.godot/imported/assembled_sword0_tex00.png-5cdea4da7bad510cebb0d9f0de3a7a7b.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=true
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=0

View File

@@ -24,7 +24,7 @@ namespace GameJamDungeon
[Node] public Node3D OxFaceStatue { get; set; } = default!;
[Node] public OxFace OxFace { get; set; } = default!;
[Node] public Boss OxFace { get; set; } = default!;
[Node] public HorseHead HorseHead { get; set; } = default!;
@@ -52,7 +52,7 @@ namespace GameJamDungeon
{
OxFaceStatue.Hide();
HorseHeadStatue.Hide();
OxFace.EngagePlayer();
OxFace.Activate();
}
}
}

View File

@@ -2305,20 +2305,20 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -178.343, -1.83362, 16.2439)
[node name="HorseHeadStatue" parent="." instance=ExtResource("30_5mo8n")]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -101.69, -2.61498, 12.6854)
visible = false
[node name="OxFaceStatue" parent="." instance=ExtResource("31_2ctrv")]
unique_name_in_owner = true
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -101.69, -2.61498, 20.462)
visible = false
[node name="OxFace" parent="." instance=ExtResource("32_s5lyv")]
unique_name_in_owner = true
transform = Transform3D(-0.15, 0, -2.26494e-08, 0, 0.15, 0, 2.26494e-08, 0, -0.15, -101.838, -2.74817, 20.9742)
visible = false
[node name="HorseHead" parent="." instance=ExtResource("33_dhi0j")]
unique_name_in_owner = true
transform = Transform3D(0.15, 0, 0, 0, 0.15, 0, 0, 0, 0.15, -101.69, -2.73141, 12.6854)
visible = false
script = ExtResource("35_qdor1")
[node name="ActivateTrap" type="Area3D" parent="."]