Boss logic update
This commit is contained in:
@@ -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
74
src/boss/Boss.cs
Normal 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));
|
||||
}
|
||||
}
|
||||
}
|
||||
16
src/boss/state/BossLogic.Input.cs
Normal file
16
src/boss/state/BossLogic.Input.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
10
src/boss/state/BossLogic.Output.cs
Normal file
10
src/boss/state/BossLogic.Output.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
namespace GameJamDungeon
|
||||
{
|
||||
public partial class BossLogic
|
||||
{
|
||||
public static class Output
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
16
src/boss/state/BossLogic.State.cs
Normal file
16
src/boss/state/BossLogic.State.cs
Normal 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()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
14
src/boss/state/BossLogic.cs
Normal file
14
src/boss/state/BossLogic.cs
Normal 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>();
|
||||
}
|
||||
}
|
||||
16
src/boss/state/BossLogic.g.puml
Normal file
16
src/boss/state/BossLogic.g.puml
Normal 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
|
||||
35
src/boss/state/states/BossLogic.State.ApproachPlayer.cs
Normal file
35
src/boss/state/states/BossLogic.State.ApproachPlayer.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
48
src/boss/state/states/BossLogic.State.EngagePlayer.cs
Normal file
48
src/boss/state/states/BossLogic.State.EngagePlayer.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
31
src/boss/state/states/BossLogic.State.Idle.cs
Normal file
31
src/boss/state/states/BossLogic.State.Idle.cs
Normal 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>();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
BIN
src/enemy/enemy_types/ox_face/assembled_body0_tex00.png
Normal file
BIN
src/enemy/enemy_types/ox_face/assembled_body0_tex00.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 525 KiB |
@@ -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
|
||||
BIN
src/enemy/enemy_types/ox_face/assembled_innerface0_tex00.png
Normal file
BIN
src/enemy/enemy_types/ox_face/assembled_innerface0_tex00.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 54 KiB |
@@ -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
|
||||
BIN
src/enemy/enemy_types/ox_face/assembled_outerface0_tex00.png
Normal file
BIN
src/enemy/enemy_types/ox_face/assembled_outerface0_tex00.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 32 KiB |
@@ -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
|
||||
BIN
src/enemy/enemy_types/ox_face/assembled_sword0_tex00.png
Normal file
BIN
src/enemy/enemy_types/ox_face/assembled_sword0_tex00.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 525 KiB |
@@ -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
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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="."]
|
||||
|
||||
Reference in New Issue
Block a user