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

@@ -18,4 +18,10 @@ public partial class UsableItemTagEnumContext : JsonSerializerContext;
public partial class BoxItemTagEnumContext : JsonSerializerContext;
[JsonSerializable(typeof(ElementType))]
public partial class ElementTypeEnumContext : JsonSerializerContext;
public partial class ElementTypeEnumContext : JsonSerializerContext;
[JsonSerializable(typeof(IBaseInventoryItem))]
public partial class BaseInventoryItemContext : JsonSerializerContext
{
}

View File

@@ -10,8 +10,6 @@ public class Module
public static void Bootstrap(Container container)
{
container.RegisterSingleton<IFileSystem, FileSystem>();
container.RegisterSingleton<ISaveFileManager, SaveFileManager>();
container.RegisterSingleton<IMaSaveFileManager, MaSaveFileManager>();
container.RegisterSingleton<IGameRepo, GameRepo>();
container.RegisterSingleton<IGameState, GameState>();
container.RegisterSingleton<IDimmableAudioStreamPlayer, DimmableAudioStreamPlayer>();

View File

@@ -31,4 +31,8 @@
<ProjectReference Include="..\Zennysoft.Game.Godot.Implementation\Zennysoft.Game.Implementation.csproj" />
</ItemGroup>
<ItemGroup>
<Folder Include="Save\" />
</ItemGroup>
</Project>

View File

@@ -87,6 +87,7 @@ import/blender/enabled=false
[global_group]
DimmableAudio=""
enemy=""
[importer_defaults]
@@ -283,7 +284,7 @@ EnemyViewerWalk={
[internationalization]
locale/translations_pot_files=PackedStringArray("res://src/dialog/Dialogue.dialogue", "res://src/npc/Ran/ran.dialogue", "res://src/npc/Rat/ratdialogue.dialogue", "res://src/dialog/Altar.dialogue", "res://stone.dialogue", "res://src/npc/Proscenium/JumpScare.dialogue", "res://tutorialstone.dialogue")
locale/translations_pot_files=PackedStringArray("res://src/dialog/Dialogue.dialogue", "res://src/npc/Ran/ran.dialogue", "res://src/npc/Rat/ratdialogue.dialogue", "res://src/dialog/Altar.dialogue", "res://stone.dialogue", "res://src/npc/Proscenium/JumpScare.dialogue")
[layer_names]
@@ -317,6 +318,7 @@ jolt_physics_3d/simulation/areas_detect_static_bodies=true
textures/canvas_textures/default_texture_filter=0
textures/lossless_compression/force_png=true
lights_and_shadows/directional_shadow/size=2048
lights_and_shadows/directional_shadow/soft_shadow_filter_quality=4
lights_and_shadows/directional_shadow/16_bits=false
lights_and_shadows/positional_shadow/soft_shadow_filter_quality=3

View File

@@ -25,13 +25,13 @@ public partial class DebugInfo : Control
_map.FloorLoaded += _map_FloorLoaded;
_gameRepo.EnemyDied += _gameRepo_EnemyDied;
_player.PlayerDied += _player_PlayerDied;
DeathCount.Text = _game.QuestData.DeathCount.ToString();
}
private void _gameRepo_EnemyDied(IEnemy obj) => EnemyCount.Text = (EnemyCount.Text.ToInt() - 1).ToString();
private void _map_FloorLoaded()
{
DeathCount.Text = _game.QuestData.DeathCount.ToString();
MapName.Text = _map.CurrentFloor.SceneFilePath.GetFile().TrimSuffix(".tscn");
EnemyCount.Text = _map.CurrentFloor.GetChild(0).GetChildren().OfType<IDungeonRoom>().Select(x => x.GetChildren().OfType<IEnemy>()).Count().ToString();
}

View File

@@ -1,15 +1,5 @@
~ general
Hi...
=> END
~ introduction
I haven't had a script added yet.
=> END
~ hit
Yep, hitting me does work though.
=> END
~ get_item
ooo yum
=> END

View File

@@ -74,9 +74,9 @@ public partial class BossTypeA : Enemy, IHaveEngagePlayerBehavior, IHaveFollowBe
protected void OnVelocityComputed(Vector3 safeVelocity)
{
Velocity = safeVelocity;
Velocity = new Vector3(safeVelocity.X, 0, safeVelocity.Z);
if (!Velocity.IsZeroApprox())
LookAtTarget(safeVelocity);
LookAtTarget(Velocity);
MoveAndSlide();
}
@@ -150,7 +150,7 @@ public partial class BossTypeA : Enemy, IHaveEngagePlayerBehavior, IHaveFollowBe
private float GetRotationAngle()
{
var target = new Vector3(_player.GlobalPosition.X, Position.Y, _player.GlobalPosition.Z);
var target = new Vector3(_player.GlobalPosition.X, GlobalPosition.Y, _player.GlobalPosition.Z);
_rotation.LookAt(target, Vector3.Up, true);
_rotation.RotateY(Rotation.Y);
return _rotation.Rotation.Y;

View File

@@ -60,7 +60,11 @@ public abstract partial class Enemy2D : Enemy
MoveAndSlide();
}
protected void EngagePlayerBehavior_TakeAction() => PerformAction();
protected void EngagePlayerBehavior_TakeAction()
{
if (_player.HealthComponent.CurrentHP.Value > 0)
PerformAction();
}
protected void EngagePlayerBehavior_AcquireTarget() => LookAt(new Vector3(_player.GlobalPosition.X, GlobalPosition.Y, _player.GlobalPosition.Z), Vector3.Up, true);

View File

@@ -32,7 +32,7 @@ top_radius = 0.0
[sub_resource type="CylinderShape3D" id="CylinderShape3D_drfkj"]
radius = 1.0
[node name="Sproingy" type="CharacterBody3D"]
[node name="Sproingy" type="CharacterBody3D" groups=["enemy"]]
process_mode = 1
collision_layer = 10
axis_lock_linear_y = true

View File

@@ -23,7 +23,7 @@ radius = 1.0
[sub_resource type="SphereShape3D" id="SphereShape3D_wrps7"]
radius = 1.0
[node name="Michael" type="CharacterBody3D"]
[node name="Michael" type="CharacterBody3D" groups=["enemy"]]
process_mode = 1
collision_layer = 10
collision_mask = 11

View File

@@ -1,9 +1,6 @@
using Chickensoft.AutoInject;
using Chickensoft.Introspection;
using Godot;
using System;
using System.Collections.Generic;
using System.Linq;
namespace Zennysoft.Game.Ma;
@@ -45,10 +42,10 @@ public partial class FilthEater : Enemy2D, IHavePatrolBehavior, IHaveEngagePlaye
public override void PerformAction()
{
var rng = new RandomNumberGenerator();
var options = new List<Action>() { EnemyModelView.PlayPrimaryAttackAnimation, EnemyModelView.PlaySecondaryAttackAnimation };
var selection = rng.RandWeighted([PrimaryAttackChance, SecondaryAttackChance]);
options[(int)selection].Invoke();
if (GlobalPosition.DistanceTo(_player.GlobalPosition) > 3)
EnemyModelView.PlaySecondaryAttackAnimation();
else
EnemyModelView.PlayPrimaryAttackAnimation();
}
public override void _ExitTree()

View File

@@ -35,10 +35,10 @@ Drop2 = ""
metadata/_custom_type_script = ExtResource("4_5eid5")
[sub_resource type="CylinderShape3D" id="CylinderShape3D_qbmfg"]
height = 1.5
radius = 2.0
height = 5.81738
radius = 3.91016
[node name="FilthEater" type="CharacterBody3D"]
[node name="FilthEater" type="CharacterBody3D" groups=["enemy"]]
process_mode = 1
collision_layer = 10
collision_mask = 11
@@ -88,7 +88,7 @@ collision_layer = 0
collision_mask = 34
[node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerDetector"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.179932, 0)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.2771, 0)
shape = SubResource("CylinderShape3D_qbmfg")
[node name="Components" type="Node3D" parent="."]
@@ -109,6 +109,7 @@ _acquireTargetTime = 2.0
unique_name_in_owner = true
avoidance_enabled = true
radius = 1.0
debug_enabled = true
[node name="HitSounds" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.5865, 0)

View File

@@ -1,9 +1,8 @@
[gd_scene load_steps=420 format=3 uid="uid://b6sa6ntu4rbrm"]
[gd_scene load_steps=305 format=3 uid="uid://b6sa6ntu4rbrm"]
[ext_resource type="Script" uid="uid://cvr1qimxpignl" path="res://src/enemy/EnemyModelView2D.cs" id="1_718m1"]
[ext_resource type="Script" uid="uid://dlsgyx4i1jmp3" path="res://src/enemy/EnemyLoreInfo.cs" id="2_krqul"]
[ext_resource type="Texture2D" uid="uid://bdar3daydbkge" path="res://src/enemy/enemy_types/03. filth_eater/animations/SWIPE/Layer 1.png" id="2_vpn42"]
[ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="3_4h5gj"]
[ext_resource type="Texture2D" uid="uid://o214hr614jit" path="res://src/enemy/enemy_types/03. filth_eater/animations/SWIPE/Layer 2.png" id="3_7tggm"]
[ext_resource type="Texture2D" uid="uid://hyipatqsvukp" path="res://src/enemy/enemy_types/03. filth_eater/animations/SWIPE/Layer 3.png" id="4_usgpm"]
[ext_resource type="Texture2D" uid="uid://sgj8yf8vsocq" path="res://src/enemy/enemy_types/03. filth_eater/animations/SWIPE/Layer 4.png" id="5_ovibr"]
@@ -200,8 +199,7 @@
[ext_resource type="AnimationNodeStateMachine" uid="uid://cbq8xog50cjjy" path="res://src/enemy/animation_state_machines/PrimaryAttackStateMachine.tres" id="195_5cwnl"]
[ext_resource type="AnimationNodeStateMachine" uid="uid://clybvwx3itfeo" path="res://src/enemy/animation_state_machines/SecondaryAttackStateMachine.tres" id="196_e0gee"]
[ext_resource type="AnimationNodeStateMachine" uid="uid://cy2ngl55c0rws" path="res://src/enemy/animation_state_machines/WalkingStateMachine.tres" id="197_mno7m"]
[ext_resource type="Script" uid="uid://cqm6u7qa8japr" path="res://src/system/Projectile.cs" id="199_4h5gj"]
[ext_resource type="Texture2D" uid="uid://dvjqokin1o1ic" path="res://src/vfx/Enemy/green_orbs.png" id="201_4h5gj"]
[ext_resource type="PackedScene" uid="uid://cnhoya51br05n" path="res://src/enemy/enemy_types/03. filth_eater/FilthEaterProjectile.tscn" id="200_mno7m"]
[sub_resource type="Resource" id="Resource_pyy2h"]
script = ExtResource("2_krqul")
@@ -1676,15 +1674,19 @@ tracks/3/keys = {
"update": 0,
"values": [0.0, 10.0, 500.0, 0.0]
}
tracks/4/type = "animation"
tracks/4/type = "method"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Attack Objects/Projectile1/Bullet/AnimationPlayer")
tracks/4/path = NodePath("Attack Objects/Projectile1")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"clips": PackedStringArray("Fire"),
"times": PackedFloat32Array(1.91667)
"times": PackedFloat32Array(1.91667),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"Fire"
}]
}
[sub_resource type="Animation" id="Animation_7a6is"]
@@ -1900,14 +1902,14 @@ advance_mode = 2
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_e5pq0"]
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wka7s"]
switch_mode = 2
advance_mode = 2
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_8jscc"]
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_7vrs0"]
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wka7s"]
switch_mode = 2
advance_mode = 2
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_e5pq0"]
states/Idle/node = ExtResource("194_u5xjp")
states/Idle/position = Vector2(373, 100)
@@ -1918,8 +1920,8 @@ states/Idle/position = Vector2(373, 100)
states/Start/position = Vector2(198, 100)
states/Walking/node = ExtResource("197_mno7m")
states/Walking/position = Vector2(588, 100)
transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_u5xjp"), "Primary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_5cwnl"), "Idle", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_e0gee"), "Idle", "Walking", SubResource("AnimationNodeStateMachineTransition_mno7m"), "Walking", "Idle", SubResource("AnimationNodeStateMachineTransition_4h5gj"), "Idle", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_e5pq0"), "Secondary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_wka7s"), "Walking", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_8jscc"), "Walking", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_7vrs0")]
graph_offset = Vector2(226.043, 46)
transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_u5xjp"), "Primary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_5cwnl"), "Idle", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_e0gee"), "Idle", "Walking", SubResource("AnimationNodeStateMachineTransition_mno7m"), "Walking", "Idle", SubResource("AnimationNodeStateMachineTransition_4h5gj"), "Idle", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_e5pq0"), "Walking", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_8jscc"), "Walking", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_7vrs0"), "Secondary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_wka7s")]
graph_offset = Vector2(-5.957, 23)
[sub_resource type="AtlasTexture" id="AtlasTexture_smxxh"]
atlas = ExtResource("194_pyy2h")
@@ -2442,870 +2444,6 @@ _data = {
&"attack": SubResource("Animation_nmlvd")
}
[sub_resource type="Resource" id="Resource_mno7m"]
script = ExtResource("3_4h5gj")
Damage = 7
ElementType = 4
metadata/_custom_type_script = "uid://ctshiyffvt4y5"
[sub_resource type="AtlasTexture" id="AtlasTexture_fwra5"]
atlas = ExtResource("201_4h5gj")
region = Rect2(6656, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_nmlvd"]
atlas = ExtResource("201_4h5gj")
region = Rect2(7168, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_4i1f6"]
atlas = ExtResource("201_4h5gj")
region = Rect2(7680, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_g2tr6"]
atlas = ExtResource("201_4h5gj")
region = Rect2(8192, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_v28id"]
atlas = ExtResource("201_4h5gj")
region = Rect2(8704, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_sab8s"]
atlas = ExtResource("201_4h5gj")
region = Rect2(9216, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_u7dbd"]
atlas = ExtResource("201_4h5gj")
region = Rect2(9728, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_4g55l"]
atlas = ExtResource("201_4h5gj")
region = Rect2(10240, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_ef44f"]
atlas = ExtResource("201_4h5gj")
region = Rect2(10752, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_aqbh5"]
atlas = ExtResource("201_4h5gj")
region = Rect2(11264, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_eyym5"]
atlas = ExtResource("201_4h5gj")
region = Rect2(11776, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_m2eau"]
atlas = ExtResource("201_4h5gj")
region = Rect2(12288, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_gmksg"]
atlas = ExtResource("201_4h5gj")
region = Rect2(12800, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_jacuc"]
atlas = ExtResource("201_4h5gj")
region = Rect2(13312, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_5ligs"]
atlas = ExtResource("201_4h5gj")
region = Rect2(13824, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_fsvo7"]
atlas = ExtResource("201_4h5gj")
region = Rect2(14336, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_6meg3"]
atlas = ExtResource("201_4h5gj")
region = Rect2(14848, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_kj2al"]
atlas = ExtResource("201_4h5gj")
region = Rect2(15360, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_erggy"]
atlas = ExtResource("201_4h5gj")
region = Rect2(15872, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_oko1t"]
atlas = ExtResource("201_4h5gj")
region = Rect2(0, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_ngo1a"]
atlas = ExtResource("201_4h5gj")
region = Rect2(512, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_d50mx"]
atlas = ExtResource("201_4h5gj")
region = Rect2(1024, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_pdnto"]
atlas = ExtResource("201_4h5gj")
region = Rect2(1536, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_ppjtg"]
atlas = ExtResource("201_4h5gj")
region = Rect2(2048, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_4r8qo"]
atlas = ExtResource("201_4h5gj")
region = Rect2(2560, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_w65xu"]
atlas = ExtResource("201_4h5gj")
region = Rect2(3072, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_3v0vv"]
atlas = ExtResource("201_4h5gj")
region = Rect2(3584, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_nxbom"]
atlas = ExtResource("201_4h5gj")
region = Rect2(4096, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_53p68"]
atlas = ExtResource("201_4h5gj")
region = Rect2(4608, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_jlpox"]
atlas = ExtResource("201_4h5gj")
region = Rect2(5120, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_uqsli"]
atlas = ExtResource("201_4h5gj")
region = Rect2(5632, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_wg32o"]
atlas = ExtResource("201_4h5gj")
region = Rect2(6144, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_b016l"]
atlas = ExtResource("201_4h5gj")
region = Rect2(6656, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_ntr7w"]
atlas = ExtResource("201_4h5gj")
region = Rect2(7168, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_5rarj"]
atlas = ExtResource("201_4h5gj")
region = Rect2(7680, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_0jdgy"]
atlas = ExtResource("201_4h5gj")
region = Rect2(8192, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_6bj2s"]
atlas = ExtResource("201_4h5gj")
region = Rect2(8704, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_pjf7m"]
atlas = ExtResource("201_4h5gj")
region = Rect2(9216, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_2uv64"]
atlas = ExtResource("201_4h5gj")
region = Rect2(9728, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_vw551"]
atlas = ExtResource("201_4h5gj")
region = Rect2(10240, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_kjw5c"]
atlas = ExtResource("201_4h5gj")
region = Rect2(10752, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_qxstr"]
atlas = ExtResource("201_4h5gj")
region = Rect2(11264, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_2dppr"]
atlas = ExtResource("201_4h5gj")
region = Rect2(11776, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_awr7x"]
atlas = ExtResource("201_4h5gj")
region = Rect2(12288, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_1hgp1"]
atlas = ExtResource("201_4h5gj")
region = Rect2(12800, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_r0tmy"]
atlas = ExtResource("201_4h5gj")
region = Rect2(13312, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_eptep"]
atlas = ExtResource("201_4h5gj")
region = Rect2(13824, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_c7ped"]
atlas = ExtResource("201_4h5gj")
region = Rect2(14336, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_hen63"]
atlas = ExtResource("201_4h5gj")
region = Rect2(14848, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_knyyh"]
atlas = ExtResource("201_4h5gj")
region = Rect2(15360, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_v6123"]
atlas = ExtResource("201_4h5gj")
region = Rect2(15872, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_f5sm0"]
atlas = ExtResource("201_4h5gj")
region = Rect2(0, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_xau62"]
atlas = ExtResource("201_4h5gj")
region = Rect2(512, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_pxsp5"]
atlas = ExtResource("201_4h5gj")
region = Rect2(1024, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_n4qhf"]
atlas = ExtResource("201_4h5gj")
region = Rect2(1536, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_ngbkn"]
atlas = ExtResource("201_4h5gj")
region = Rect2(2048, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_p60oa"]
atlas = ExtResource("201_4h5gj")
region = Rect2(2560, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_xxtor"]
atlas = ExtResource("201_4h5gj")
region = Rect2(3072, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_sd3ar"]
atlas = ExtResource("201_4h5gj")
region = Rect2(3584, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_760ua"]
atlas = ExtResource("201_4h5gj")
region = Rect2(4096, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_ej064"]
atlas = ExtResource("201_4h5gj")
region = Rect2(4608, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_omwgy"]
atlas = ExtResource("201_4h5gj")
region = Rect2(5120, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_yhxse"]
atlas = ExtResource("201_4h5gj")
region = Rect2(5632, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_neq7o"]
atlas = ExtResource("201_4h5gj")
region = Rect2(6144, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_e0lhk"]
atlas = ExtResource("201_4h5gj")
region = Rect2(6656, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_15mir"]
atlas = ExtResource("201_4h5gj")
region = Rect2(7168, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_cxq3x"]
atlas = ExtResource("201_4h5gj")
region = Rect2(7680, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_ajyjc"]
atlas = ExtResource("201_4h5gj")
region = Rect2(8192, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_i2tjp"]
atlas = ExtResource("201_4h5gj")
region = Rect2(8704, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_w73fq"]
atlas = ExtResource("201_4h5gj")
region = Rect2(9216, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_c823a"]
atlas = ExtResource("201_4h5gj")
region = Rect2(9728, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_wje2w"]
atlas = ExtResource("201_4h5gj")
region = Rect2(10240, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_bgmkr"]
atlas = ExtResource("201_4h5gj")
region = Rect2(10752, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_pcpin"]
atlas = ExtResource("201_4h5gj")
region = Rect2(11264, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_siqu3"]
atlas = ExtResource("201_4h5gj")
region = Rect2(11776, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_w57vc"]
atlas = ExtResource("201_4h5gj")
region = Rect2(12288, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_bj2gd"]
atlas = ExtResource("201_4h5gj")
region = Rect2(12800, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_mvlj8"]
atlas = ExtResource("201_4h5gj")
region = Rect2(13312, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_vbqgu"]
atlas = ExtResource("201_4h5gj")
region = Rect2(13824, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_w6bd8"]
atlas = ExtResource("201_4h5gj")
region = Rect2(14336, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_xaiwn"]
atlas = ExtResource("201_4h5gj")
region = Rect2(14848, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_hlqf2"]
atlas = ExtResource("201_4h5gj")
region = Rect2(15360, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_djgeg"]
atlas = ExtResource("201_4h5gj")
region = Rect2(15872, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_0vyr1"]
atlas = ExtResource("201_4h5gj")
region = Rect2(0, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_wxeaf"]
atlas = ExtResource("201_4h5gj")
region = Rect2(512, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_gstdc"]
atlas = ExtResource("201_4h5gj")
region = Rect2(1024, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_2t3th"]
atlas = ExtResource("201_4h5gj")
region = Rect2(1536, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_5pprm"]
atlas = ExtResource("201_4h5gj")
region = Rect2(2048, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_6g7pw"]
atlas = ExtResource("201_4h5gj")
region = Rect2(2560, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_ew882"]
atlas = ExtResource("201_4h5gj")
region = Rect2(3072, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_wa7kq"]
atlas = ExtResource("201_4h5gj")
region = Rect2(3584, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_por7r"]
atlas = ExtResource("201_4h5gj")
region = Rect2(4096, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_4imy8"]
atlas = ExtResource("201_4h5gj")
region = Rect2(4608, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_h0jgt"]
atlas = ExtResource("201_4h5gj")
region = Rect2(5120, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_4onds"]
atlas = ExtResource("201_4h5gj")
region = Rect2(5632, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_7epd5"]
atlas = ExtResource("201_4h5gj")
region = Rect2(6144, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_whtc5"]
atlas = ExtResource("201_4h5gj")
region = Rect2(6656, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_8iuha"]
atlas = ExtResource("201_4h5gj")
region = Rect2(7168, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_u27ji"]
atlas = ExtResource("201_4h5gj")
region = Rect2(7680, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_o6fjn"]
atlas = ExtResource("201_4h5gj")
region = Rect2(8192, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_sb1rd"]
atlas = ExtResource("201_4h5gj")
region = Rect2(8704, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_jwx81"]
atlas = ExtResource("201_4h5gj")
region = Rect2(9216, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_w12jc"]
atlas = ExtResource("201_4h5gj")
region = Rect2(9728, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_1wl6e"]
atlas = ExtResource("201_4h5gj")
region = Rect2(10240, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_0cf10"]
atlas = ExtResource("201_4h5gj")
region = Rect2(10752, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_bvqx0"]
atlas = ExtResource("201_4h5gj")
region = Rect2(11264, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_pfkh6"]
atlas = ExtResource("201_4h5gj")
region = Rect2(11776, 1536, 512, 512)
[sub_resource type="SpriteFrames" id="SpriteFrames_brsyt"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_fwra5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_nmlvd")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4i1f6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_g2tr6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_v28id")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_sab8s")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_u7dbd")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4g55l")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ef44f")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_aqbh5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_eyym5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_m2eau")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_gmksg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jacuc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_5ligs")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_fsvo7")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6meg3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kj2al")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_erggy")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_oko1t")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ngo1a")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_d50mx")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pdnto")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ppjtg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4r8qo")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_w65xu")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_3v0vv")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_nxbom")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_53p68")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jlpox")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_uqsli")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wg32o")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_b016l")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ntr7w")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_5rarj")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0jdgy")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6bj2s")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pjf7m")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2uv64")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_vw551")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kjw5c")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_qxstr")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2dppr")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_awr7x")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1hgp1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_r0tmy")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_eptep")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_c7ped")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_hen63")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_knyyh")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_v6123")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_f5sm0")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_xau62")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pxsp5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_n4qhf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ngbkn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_p60oa")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_xxtor")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_sd3ar")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_760ua")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ej064")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_omwgy")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_yhxse")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_neq7o")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_e0lhk")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_15mir")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_cxq3x")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ajyjc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_i2tjp")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_w73fq")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_c823a")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wje2w")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_bgmkr")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pcpin")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_siqu3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_w57vc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_bj2gd")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_mvlj8")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_vbqgu")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_w6bd8")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_xaiwn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_hlqf2")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_djgeg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0vyr1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wxeaf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_gstdc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2t3th")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_5pprm")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6g7pw")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ew882")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wa7kq")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_por7r")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4imy8")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_h0jgt")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4onds")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_7epd5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_whtc5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_8iuha")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_u27ji")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_o6fjn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_sb1rd")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jwx81")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_w12jc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1wl6e")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0cf10")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_bvqx0")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pfkh6")
}],
"loop": true,
"name": &"default",
"speed": 24.0
}]
[sub_resource type="SphereShape3D" id="SphereShape3D_kct8n"]
[sub_resource type="Animation" id="Animation_xrn7e"]
resource_name = "fire"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("..:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector3(0, 0, 0), Vector3(0, 0, 20)]
}
tracks/1/type = "audio"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("../AudioStreamPlayer3D")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"clips": [{
"end_offset": 0.0,
"start_offset": 0.0,
"stream": null
}],
"times": PackedFloat32Array(0.0333333)
}
tracks/1/use_blend = true
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("../ProjectileHitbox:monitoring")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.0333333, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [false, true, false]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath(".:visible")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.0333333, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [false, true, false]
}
[sub_resource type="Animation" id="Animation_8qeb2"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("..:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0, 0, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("../ProjectileHitbox:monitoring")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath(".:visible")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_q8n6h"]
_data = {
&"Fire": SubResource("Animation_xrn7e"),
&"RESET": SubResource("Animation_8qeb2")
}
[node name="EnemyModelView" type="Node3D"]
script = ExtResource("1_718m1")
EnemyLoreInfo = SubResource("Resource_pyy2h")
@@ -3350,7 +2488,7 @@ texture = ExtResource("193_e5pq0")
[node name="Hitbox" type="Area3D" parent="."]
unique_name_in_owner = true
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -0.152949, 0.901429, 0)
collision_layer = 64
collision_layer = 0
collision_mask = 64
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hitbox"]
@@ -3388,37 +2526,7 @@ omni_attenuation = 0.2
[node name="Attack Objects" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.901429, 0)
[node name="Projectile1" type="Node3D" parent="Attack Objects"]
script = ExtResource("199_4h5gj")
AttackData = SubResource("Resource_mno7m")
[node name="Bullet" type="Node3D" parent="Attack Objects/Projectile1"]
[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="Attack Objects/Projectile1/Bullet"]
transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, -1.01, 0)
visible = false
offset = Vector2(0, 150)
billboard = 1
sprite_frames = SubResource("SpriteFrames_brsyt")
autoplay = "default"
frame_progress = 0.79063
[node name="ProjectileHitbox" type="Area3D" parent="Attack Objects/Projectile1/Bullet"]
unique_name_in_owner = true
collision_layer = 0
collision_mask = 64
monitoring = false
[node name="CollisionShape3D" type="CollisionShape3D" parent="Attack Objects/Projectile1/Bullet/ProjectileHitbox"]
shape = SubResource("SphereShape3D_kct8n")
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Attack Objects/Projectile1/Bullet"]
[node name="AnimationPlayer" type="AnimationPlayer" parent="Attack Objects/Projectile1/Bullet"]
root_node = NodePath("../AnimatedSprite3D")
libraries = {
&"": SubResource("AnimationLibrary_q8n6h")
}
[node name="Projectile1" parent="Attack Objects" instance=ExtResource("200_mno7m")]
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.901429, 0)

View File

@@ -0,0 +1,880 @@
[gd_scene load_steps=118 format=3 uid="uid://cnhoya51br05n"]
[ext_resource type="Script" uid="uid://cqm6u7qa8japr" path="res://src/system/Projectile.cs" id="1_81fka"]
[ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_6m87k"]
[ext_resource type="Texture2D" uid="uid://dvjqokin1o1ic" path="res://src/vfx/Enemy/green_orbs.png" id="3_uopp7"]
[ext_resource type="AudioStream" uid="uid://c0jveij17p14k" path="res://src/audio/sfx/ENEMY_EDEN_PILLAR_PROJECTILETRAVEL.ogg" id="4_n84oq"]
[sub_resource type="Resource" id="Resource_mno7m"]
script = ExtResource("2_6m87k")
Damage = 7
ElementType = 4
metadata/_custom_type_script = "uid://ctshiyffvt4y5"
[sub_resource type="AtlasTexture" id="AtlasTexture_fwra5"]
atlas = ExtResource("3_uopp7")
region = Rect2(6656, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_nmlvd"]
atlas = ExtResource("3_uopp7")
region = Rect2(7168, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_4i1f6"]
atlas = ExtResource("3_uopp7")
region = Rect2(7680, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_g2tr6"]
atlas = ExtResource("3_uopp7")
region = Rect2(8192, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_v28id"]
atlas = ExtResource("3_uopp7")
region = Rect2(8704, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_sab8s"]
atlas = ExtResource("3_uopp7")
region = Rect2(9216, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_u7dbd"]
atlas = ExtResource("3_uopp7")
region = Rect2(9728, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_4g55l"]
atlas = ExtResource("3_uopp7")
region = Rect2(10240, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_ef44f"]
atlas = ExtResource("3_uopp7")
region = Rect2(10752, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_aqbh5"]
atlas = ExtResource("3_uopp7")
region = Rect2(11264, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_eyym5"]
atlas = ExtResource("3_uopp7")
region = Rect2(11776, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_m2eau"]
atlas = ExtResource("3_uopp7")
region = Rect2(12288, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_gmksg"]
atlas = ExtResource("3_uopp7")
region = Rect2(12800, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_jacuc"]
atlas = ExtResource("3_uopp7")
region = Rect2(13312, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_5ligs"]
atlas = ExtResource("3_uopp7")
region = Rect2(13824, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_fsvo7"]
atlas = ExtResource("3_uopp7")
region = Rect2(14336, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_6meg3"]
atlas = ExtResource("3_uopp7")
region = Rect2(14848, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_kj2al"]
atlas = ExtResource("3_uopp7")
region = Rect2(15360, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_erggy"]
atlas = ExtResource("3_uopp7")
region = Rect2(15872, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_oko1t"]
atlas = ExtResource("3_uopp7")
region = Rect2(0, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_ngo1a"]
atlas = ExtResource("3_uopp7")
region = Rect2(512, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_d50mx"]
atlas = ExtResource("3_uopp7")
region = Rect2(1024, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_pdnto"]
atlas = ExtResource("3_uopp7")
region = Rect2(1536, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_ppjtg"]
atlas = ExtResource("3_uopp7")
region = Rect2(2048, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_4r8qo"]
atlas = ExtResource("3_uopp7")
region = Rect2(2560, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_w65xu"]
atlas = ExtResource("3_uopp7")
region = Rect2(3072, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_3v0vv"]
atlas = ExtResource("3_uopp7")
region = Rect2(3584, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_nxbom"]
atlas = ExtResource("3_uopp7")
region = Rect2(4096, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_53p68"]
atlas = ExtResource("3_uopp7")
region = Rect2(4608, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_jlpox"]
atlas = ExtResource("3_uopp7")
region = Rect2(5120, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_uqsli"]
atlas = ExtResource("3_uopp7")
region = Rect2(5632, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_wg32o"]
atlas = ExtResource("3_uopp7")
region = Rect2(6144, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_b016l"]
atlas = ExtResource("3_uopp7")
region = Rect2(6656, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_ntr7w"]
atlas = ExtResource("3_uopp7")
region = Rect2(7168, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_5rarj"]
atlas = ExtResource("3_uopp7")
region = Rect2(7680, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_0jdgy"]
atlas = ExtResource("3_uopp7")
region = Rect2(8192, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_6bj2s"]
atlas = ExtResource("3_uopp7")
region = Rect2(8704, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_pjf7m"]
atlas = ExtResource("3_uopp7")
region = Rect2(9216, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_2uv64"]
atlas = ExtResource("3_uopp7")
region = Rect2(9728, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_vw551"]
atlas = ExtResource("3_uopp7")
region = Rect2(10240, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_kjw5c"]
atlas = ExtResource("3_uopp7")
region = Rect2(10752, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_qxstr"]
atlas = ExtResource("3_uopp7")
region = Rect2(11264, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_2dppr"]
atlas = ExtResource("3_uopp7")
region = Rect2(11776, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_awr7x"]
atlas = ExtResource("3_uopp7")
region = Rect2(12288, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_1hgp1"]
atlas = ExtResource("3_uopp7")
region = Rect2(12800, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_r0tmy"]
atlas = ExtResource("3_uopp7")
region = Rect2(13312, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_eptep"]
atlas = ExtResource("3_uopp7")
region = Rect2(13824, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_c7ped"]
atlas = ExtResource("3_uopp7")
region = Rect2(14336, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_hen63"]
atlas = ExtResource("3_uopp7")
region = Rect2(14848, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_knyyh"]
atlas = ExtResource("3_uopp7")
region = Rect2(15360, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_v6123"]
atlas = ExtResource("3_uopp7")
region = Rect2(15872, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_f5sm0"]
atlas = ExtResource("3_uopp7")
region = Rect2(0, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_xau62"]
atlas = ExtResource("3_uopp7")
region = Rect2(512, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_pxsp5"]
atlas = ExtResource("3_uopp7")
region = Rect2(1024, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_n4qhf"]
atlas = ExtResource("3_uopp7")
region = Rect2(1536, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_ngbkn"]
atlas = ExtResource("3_uopp7")
region = Rect2(2048, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_p60oa"]
atlas = ExtResource("3_uopp7")
region = Rect2(2560, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_xxtor"]
atlas = ExtResource("3_uopp7")
region = Rect2(3072, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_sd3ar"]
atlas = ExtResource("3_uopp7")
region = Rect2(3584, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_760ua"]
atlas = ExtResource("3_uopp7")
region = Rect2(4096, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_ej064"]
atlas = ExtResource("3_uopp7")
region = Rect2(4608, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_omwgy"]
atlas = ExtResource("3_uopp7")
region = Rect2(5120, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_yhxse"]
atlas = ExtResource("3_uopp7")
region = Rect2(5632, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_neq7o"]
atlas = ExtResource("3_uopp7")
region = Rect2(6144, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_e0lhk"]
atlas = ExtResource("3_uopp7")
region = Rect2(6656, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_15mir"]
atlas = ExtResource("3_uopp7")
region = Rect2(7168, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_cxq3x"]
atlas = ExtResource("3_uopp7")
region = Rect2(7680, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_ajyjc"]
atlas = ExtResource("3_uopp7")
region = Rect2(8192, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_i2tjp"]
atlas = ExtResource("3_uopp7")
region = Rect2(8704, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_w73fq"]
atlas = ExtResource("3_uopp7")
region = Rect2(9216, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_c823a"]
atlas = ExtResource("3_uopp7")
region = Rect2(9728, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_wje2w"]
atlas = ExtResource("3_uopp7")
region = Rect2(10240, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_bgmkr"]
atlas = ExtResource("3_uopp7")
region = Rect2(10752, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_pcpin"]
atlas = ExtResource("3_uopp7")
region = Rect2(11264, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_siqu3"]
atlas = ExtResource("3_uopp7")
region = Rect2(11776, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_w57vc"]
atlas = ExtResource("3_uopp7")
region = Rect2(12288, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_bj2gd"]
atlas = ExtResource("3_uopp7")
region = Rect2(12800, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_mvlj8"]
atlas = ExtResource("3_uopp7")
region = Rect2(13312, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_vbqgu"]
atlas = ExtResource("3_uopp7")
region = Rect2(13824, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_w6bd8"]
atlas = ExtResource("3_uopp7")
region = Rect2(14336, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_xaiwn"]
atlas = ExtResource("3_uopp7")
region = Rect2(14848, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_hlqf2"]
atlas = ExtResource("3_uopp7")
region = Rect2(15360, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_djgeg"]
atlas = ExtResource("3_uopp7")
region = Rect2(15872, 1024, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_0vyr1"]
atlas = ExtResource("3_uopp7")
region = Rect2(0, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_wxeaf"]
atlas = ExtResource("3_uopp7")
region = Rect2(512, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_gstdc"]
atlas = ExtResource("3_uopp7")
region = Rect2(1024, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_2t3th"]
atlas = ExtResource("3_uopp7")
region = Rect2(1536, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_5pprm"]
atlas = ExtResource("3_uopp7")
region = Rect2(2048, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_6g7pw"]
atlas = ExtResource("3_uopp7")
region = Rect2(2560, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_ew882"]
atlas = ExtResource("3_uopp7")
region = Rect2(3072, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_wa7kq"]
atlas = ExtResource("3_uopp7")
region = Rect2(3584, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_por7r"]
atlas = ExtResource("3_uopp7")
region = Rect2(4096, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_4imy8"]
atlas = ExtResource("3_uopp7")
region = Rect2(4608, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_h0jgt"]
atlas = ExtResource("3_uopp7")
region = Rect2(5120, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_4onds"]
atlas = ExtResource("3_uopp7")
region = Rect2(5632, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_7epd5"]
atlas = ExtResource("3_uopp7")
region = Rect2(6144, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_whtc5"]
atlas = ExtResource("3_uopp7")
region = Rect2(6656, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_8iuha"]
atlas = ExtResource("3_uopp7")
region = Rect2(7168, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_u27ji"]
atlas = ExtResource("3_uopp7")
region = Rect2(7680, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_o6fjn"]
atlas = ExtResource("3_uopp7")
region = Rect2(8192, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_sb1rd"]
atlas = ExtResource("3_uopp7")
region = Rect2(8704, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_jwx81"]
atlas = ExtResource("3_uopp7")
region = Rect2(9216, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_w12jc"]
atlas = ExtResource("3_uopp7")
region = Rect2(9728, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_1wl6e"]
atlas = ExtResource("3_uopp7")
region = Rect2(10240, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_0cf10"]
atlas = ExtResource("3_uopp7")
region = Rect2(10752, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_bvqx0"]
atlas = ExtResource("3_uopp7")
region = Rect2(11264, 1536, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_pfkh6"]
atlas = ExtResource("3_uopp7")
region = Rect2(11776, 1536, 512, 512)
[sub_resource type="SpriteFrames" id="SpriteFrames_brsyt"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_fwra5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_nmlvd")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4i1f6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_g2tr6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_v28id")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_sab8s")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_u7dbd")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4g55l")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ef44f")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_aqbh5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_eyym5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_m2eau")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_gmksg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jacuc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_5ligs")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_fsvo7")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6meg3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kj2al")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_erggy")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_oko1t")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ngo1a")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_d50mx")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pdnto")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ppjtg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4r8qo")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_w65xu")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_3v0vv")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_nxbom")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_53p68")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jlpox")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_uqsli")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wg32o")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_b016l")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ntr7w")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_5rarj")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0jdgy")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6bj2s")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pjf7m")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2uv64")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_vw551")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kjw5c")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_qxstr")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2dppr")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_awr7x")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1hgp1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_r0tmy")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_eptep")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_c7ped")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_hen63")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_knyyh")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_v6123")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_f5sm0")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_xau62")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pxsp5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_n4qhf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ngbkn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_p60oa")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_xxtor")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_sd3ar")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_760ua")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ej064")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_omwgy")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_yhxse")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_neq7o")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_e0lhk")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_15mir")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_cxq3x")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ajyjc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_i2tjp")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_w73fq")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_c823a")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wje2w")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_bgmkr")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pcpin")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_siqu3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_w57vc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_bj2gd")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_mvlj8")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_vbqgu")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_w6bd8")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_xaiwn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_hlqf2")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_djgeg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0vyr1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wxeaf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_gstdc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2t3th")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_5pprm")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6g7pw")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ew882")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wa7kq")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_por7r")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4imy8")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_h0jgt")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4onds")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_7epd5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_whtc5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_8iuha")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_u27ji")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_o6fjn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_sb1rd")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jwx81")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_w12jc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1wl6e")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0cf10")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_bvqx0")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pfkh6")
}],
"loop": true,
"name": &"default",
"speed": 24.0
}]
[sub_resource type="SphereShape3D" id="SphereShape3D_kct8n"]
[sub_resource type="Animation" id="Animation_xrn7e"]
resource_name = "fire"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("..:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector3(0, 1, 0), Vector3(0, 1, 10)]
}
tracks/1/type = "audio"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("../AudioStreamPlayer3D")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"clips": [{
"end_offset": 0.0,
"start_offset": 0.0,
"stream": ExtResource("4_n84oq")
}],
"times": PackedFloat32Array(0.0334333)
}
tracks/1/use_blend = true
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath(".:visible")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [false, false]
}
[sub_resource type="Animation" id="Animation_8qeb2"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("..:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0, 1, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath(".:visible")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_q8n6h"]
_data = {
&"Fire": SubResource("Animation_xrn7e"),
&"RESET": SubResource("Animation_8qeb2")
}
[node name="Projectile1" type="Node3D"]
script = ExtResource("1_81fka")
AttackData = SubResource("Resource_mno7m")
[node name="Bullet" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="Bullet"]
unique_name_in_owner = true
transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, -1.01, 0)
visible = false
offset = Vector2(0, 150)
billboard = 1
sprite_frames = SubResource("SpriteFrames_brsyt")
autoplay = "default"
frame_progress = 0.79063
[node name="ProjectileHitbox" type="Area3D" parent="Bullet"]
unique_name_in_owner = true
collision_layer = 0
collision_mask = 64
[node name="CollisionShape3D" type="CollisionShape3D" parent="Bullet/ProjectileHitbox"]
shape = SubResource("SphereShape3D_kct8n")
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="Bullet"]
[node name="AnimationPlayer" type="AnimationPlayer" parent="Bullet"]
unique_name_in_owner = true
root_node = NodePath("../AnimatedSprite3D")
libraries = {
&"": SubResource("AnimationLibrary_q8n6h")
}

View File

@@ -25,7 +25,7 @@ radius = 1.0
[sub_resource type="CylinderShape3D" id="CylinderShape3D_746fv"]
radius = 1.25
[node name="Sara" type="CharacterBody3D"]
[node name="Sara" type="CharacterBody3D" groups=["enemy"]]
process_mode = 1
collision_layer = 10
collision_mask = 3

View File

@@ -23,7 +23,7 @@ radius = 1.20703
[sub_resource type="CylinderShape3D" id="CylinderShape3D_jhnwb"]
radius = 1.75
[node name="Ballos" type="CharacterBody3D"]
[node name="Ballos" type="CharacterBody3D" groups=["enemy"]]
process_mode = 1
collision_layer = 10
collision_mask = 11

View File

@@ -24,7 +24,7 @@ radius = 1.20703
[sub_resource type="CylinderShape3D" id="CylinderShape3D_582pa"]
radius = 2.34863
[node name="Chariot" type="CharacterBody3D"]
[node name="Chariot" type="CharacterBody3D" groups=["enemy"]]
process_mode = 1
collision_layer = 10
collision_mask = 3

View File

@@ -36,7 +36,7 @@ radius = 1.20703
[sub_resource type="CylinderShape3D" id="CylinderShape3D_q6h01"]
radius = 1.6
[node name="Chinthe" type="CharacterBody3D"]
[node name="Chinthe" type="CharacterBody3D" groups=["enemy"]]
process_mode = 1
collision_layer = 10
collision_mask = 11

View File

@@ -25,7 +25,7 @@ radius = 1.0
[sub_resource type="CylinderShape3D" id="CylinderShape3D_sjoyv"]
radius = 1.75
[node name="Ambassador" type="CharacterBody3D"]
[node name="Ambassador" type="CharacterBody3D" groups=["enemy"]]
process_mode = 1
collision_layer = 10
collision_mask = 3

View File

@@ -1557,6 +1557,18 @@ tracks/3/keys = {
"times": PackedFloat32Array(0)
}
tracks/3/use_blend = true
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Hitbox/CollisionShape3D:disabled")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 0.166667, 0.333333),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [true, false, true]
}
[sub_resource type="Animation" id="Animation_s5aqg"]
resource_name = "primary_attack_back"
@@ -1781,6 +1793,18 @@ tracks/3/keys = {
"times": PackedFloat32Array(0)
}
tracks/3/use_blend = true
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Hitbox/CollisionShape3D:disabled")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 0.583333, 0.75),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [true, false, true]
}
[sub_resource type="Animation" id="Animation_tlm8w"]
resource_name = "secondary_attack_back"
@@ -2049,7 +2073,6 @@ collision_mask = 64
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hitbox"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.189337, 0.217529, -1.45579)
shape = SubResource("BoxShape3D_53wuj")
disabled = true
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
unique_name_in_owner = true

View File

@@ -24,7 +24,7 @@ radius = 0.57308
[sub_resource type="CylinderShape3D" id="CylinderShape3D_o0cbq"]
[node name="AmbassadorRed" type="CharacterBody3D"]
[node name="AmbassadorRed" type="CharacterBody3D" groups=["enemy"]]
process_mode = 1
collision_layer = 10
collision_mask = 3

View File

@@ -1172,6 +1172,18 @@ tracks/2/keys = {
"update": 1,
"values": [false]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Hitbox/CollisionShape3D:disabled")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
[sub_resource type="Animation" id="Animation_o5mvi"]
resource_name = "idle_back"
@@ -1560,6 +1572,18 @@ tracks/3/keys = {
"times": PackedFloat32Array(0)
}
tracks/3/use_blend = true
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Hitbox/CollisionShape3D:disabled")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 0.0833333, 0.25),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [true, false, true]
}
[sub_resource type="Animation" id="Animation_s5aqg"]
resource_name = "primary_attack_back"
@@ -1769,6 +1793,18 @@ tracks/2/keys = {
"update": 1,
"values": [false]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Hitbox/CollisionShape3D:disabled")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.583333, 0.75),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [true, false, true]
}
[sub_resource type="Animation" id="Animation_tlm8w"]
resource_name = "secondary_attack_back"

View File

@@ -24,7 +24,7 @@ radius = 0.57308
[sub_resource type="CylinderShape3D" id="CylinderShape3D_6o7lk"]
[node name="AmbassadorSteel" type="CharacterBody3D"]
[node name="AmbassadorSteel" type="CharacterBody3D" groups=["enemy"]]
process_mode = 1
collision_layer = 10
collision_mask = 3

View File

@@ -23,7 +23,7 @@ radius = 1.20703
[sub_resource type="CylinderShape3D" id="CylinderShape3D_tbkej"]
radius = 2.55713
[node name="Agni" type="CharacterBody3D"]
[node name="Agni" type="CharacterBody3D" groups=["enemy"]]
process_mode = 1
collision_layer = 10
collision_mask = 11
@@ -90,7 +90,7 @@ _acquireTargetTime = 2.0
[node name="NavigationAgent" type="NavigationAgent3D" parent="Components"]
unique_name_in_owner = true
avoidance_enabled = true
radius = 1.0
radius = 2.0
[node name="HitSounds" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.83179, 0)

View File

@@ -1455,6 +1455,18 @@ tracks/2/keys = {
"update": 1,
"values": [0]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Hitbox/CollisionShape3D:disabled")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
[sub_resource type="Animation" id="Animation_o5mvi"]
resource_name = "idle_back"
@@ -1724,6 +1736,18 @@ tracks/1/keys = {
"update": 0,
"values": [0, 15]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Hitbox/CollisionShape3D:disabled")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.5, 0.666667, 0.75, 0.916667),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 1,
"values": [true, false, true, false, true]
}
[sub_resource type="Animation" id="Animation_dc327"]
resource_name = "primary_attack_back"
@@ -1852,6 +1876,18 @@ tracks/2/keys = {
"update": 1,
"values": [-1, 0]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Hitbox/CollisionShape3D:disabled")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.666667, 0.916667),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [true, false, true]
}
[sub_resource type="Animation" id="Animation_dlml7"]
resource_name = "secondary_attack_back"
@@ -2126,7 +2162,7 @@ collision_layer = 64
collision_mask = 64
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hitbox"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.189337, 0.217529, -1.45579)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.189337, 0.743529, -1.45579)
shape = SubResource("BoxShape3D_53wuj")
disabled = true

View File

@@ -30,7 +30,7 @@ radius = 7.98633
[sub_resource type="CylinderShape3D" id="CylinderShape3D_t4xb3"]
radius = 20.0
[node name="Eden Pillar" type="CharacterBody3D"]
[node name="Eden Pillar" type="CharacterBody3D" groups=["enemy"]]
collision_layer = 10
collision_mask = 0
script = ExtResource("1_p8jc1")

View File

@@ -11,7 +11,7 @@
[ext_resource type="AudioStream" uid="uid://mp00rngkpfjg" path="res://src/audio/sfx/enemy_palan_death.ogg" id="9_6scof"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"]
radius = 1.7491
radius = 1.74909
height = 3.49819
[sub_resource type="CylinderShape3D" id="CylinderShape3D_jbgmx"]
@@ -24,7 +24,7 @@ radius = 2.04204
[sub_resource type="CylinderShape3D" id="CylinderShape3D_c82i6"]
radius = 2.5
[node name="Palan" type="CharacterBody3D"]
[node name="Palan" type="CharacterBody3D" groups=["enemy"]]
process_mode = 1
collision_layer = 10
collision_mask = 11

View File

@@ -24,7 +24,7 @@ radius = 2.5
[sub_resource type="SphereShape3D" id="SphereShape3D_8vcnq"]
radius = 1.20703
[node name="ShieldOfHeaven" type="CharacterBody3D"]
[node name="ShieldOfHeaven" type="CharacterBody3D" groups=["enemy"]]
process_mode = 1
collision_layer = 10
collision_mask = 11

View File

@@ -32,7 +32,7 @@ top_radius = 0.0
[sub_resource type="CylinderShape3D" id="CylinderShape3D_drfkj"]
radius = 1.0
[node name="GoldSproingy" type="CharacterBody3D"]
[node name="GoldSproingy" type="CharacterBody3D" groups=["enemy"]]
process_mode = 1
collision_layer = 11
axis_lock_linear_y = true

View File

@@ -19,7 +19,7 @@ radius = 2.70035
height = 7.0
radius = 3.0
[node name="HorseFace" type="CharacterBody3D"]
[node name="HorseFace" type="CharacterBody3D" groups=["enemy"]]
collision_layer = 10
collision_mask = 3
motion_mode = 1

View File

@@ -19,7 +19,7 @@ radius = 3.31305
height = 7.0
radius = 4.76904
[node name="OX FACE" type="CharacterBody3D"]
[node name="OX FACE" type="CharacterBody3D" groups=["enemy"]]
collision_layer = 10
collision_mask = 3
motion_mode = 1

View File

@@ -1,18 +1,25 @@
[gd_scene load_steps=23 format=4 uid="uid://cuuwu8gpe2lba"]
[ext_resource type="Script" uid="uid://vgvrmwsrwakf" path="res://src/enemy/enemy_types/16. demon wall/DemonWallArm.cs" id="1_xefo1"]
[ext_resource type="Script" uid="uid://dlsgyx4i1jmp3" path="res://src/enemy/EnemyLoreInfo.cs" id="2_3jiko"]
[ext_resource type="Texture2D" uid="uid://c4gfxyge646im" path="res://src/enemy/enemy_types/16. demon wall/model/ARM6_AREA_2_MAIN_222STONE.png" id="2_7j47h"]
[ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_h1jik"]
[ext_resource type="Texture2D" uid="uid://dkh83g7ce40i7" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_ao_1k.jpg" id="3_7qtol"]
[ext_resource type="Texture2D" uid="uid://bx25c4uynoy1r" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_normal_opengl_1k.png" id="4_h1jik"]
[ext_resource type="Texture2D" uid="uid://brgmdx0p03syp" path="res://src/enemy/enemy_types/16. demon wall/concrete_0003_roughness_1k.jpg" id="5_3jiko"]
[ext_resource type="AudioStream" uid="uid://bgumf0x52xmby" path="res://src/audio/sfx/enemy_ambassador_kick.ogg" id="7_3jiko"]
[sub_resource type="Resource" id="Resource_h1jik"]
script = ExtResource("2_h1jik")
Damage = 10
ElementType = 0
metadata/_custom_type_script = "uid://ctshiyffvt4y5"
[sub_resource type="Resource" id="Resource_f844v"]
script = ExtResource("2_3jiko")
Name = ""
Description = ""
MaximumHP = ""
ATK = ""
DEF = ""
Affinity = ""
Weakness = ""
Drop1 = ""
Drop2 = ""
metadata/_custom_type_script = "uid://dlsgyx4i1jmp3"
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_kv7mn"]
resource_name = "STONE"
@@ -524,7 +531,7 @@ transitions = ["attack", "idle", SubResource("AnimationNodeStateMachineTransitio
[node name="Arm6" type="Node3D"]
script = ExtResource("1_xefo1")
AttackData = SubResource("Resource_h1jik")
EnemyLoreInfo = SubResource("Resource_f844v")
[node name="ARM6" type="Node3D" parent="."]
@@ -536,29 +543,29 @@ bones/0/name = "Bone"
bones/0/parent = -1
bones/0/rest = Transform3D(0.351559, -0.633916, 0.68888, 0.936032, 0.250429, -0.247241, -0.0157858, 0.731734, 0.681407, 1.6292, -0.58344, -1.69503)
bones/0/enabled = true
bones/0/position = Vector3(2.43413, -0.758034, -1.98741)
bones/0/rotation = Quaternion(0.219615, 0.635419, 0.374157, 0.638763)
bones/0/position = Vector3(2.6834, -0.761604, -1.97807)
bones/0/rotation = Quaternion(0.400546, 0.649916, 0.591921, -0.258462)
bones/0/scale = Vector3(1, 1, 1)
bones/1/name = "Bone.001"
bones/1/parent = 0
bones/1/rest = Transform3D(0.997342, -0.0728406, -0.00159759, 0.072846, 0.996536, 0.0401254, -0.0013307, -0.0401352, 0.999193, -2.57045e-07, 1.85949, -1.63913e-07)
bones/1/enabled = true
bones/1/position = Vector3(-2.57045e-07, 1.85949, -1.63913e-07)
bones/1/rotation = Quaternion(-0.0226169, 0.0365289, -0.0305677, 0.998609)
bones/1/rotation = Quaternion(-0.033478, -0.0246521, -0.0821031, 0.995756)
bones/1/scale = Vector3(1, 1, 1)
bones/2/name = "Bone.002"
bones/2/parent = 1
bones/2/rest = Transform3D(0.175377, 0.963955, 0.200084, -0.983797, 0.179282, -0.00142542, -0.0372455, -0.196592, 0.979778, -2.04891e-08, 0.416929, -1.19209e-07)
bones/2/enabled = true
bones/2/position = Vector3(-2.04891e-08, 0.416929, -1.19209e-07)
bones/2/rotation = Quaternion(-0.48634, 0.214547, -0.553479, 0.641174)
bones/2/rotation = Quaternion(-0.465115, 0.231991, -0.547422, 0.655879)
bones/2/scale = Vector3(1, 1, 1)
bones/3/name = "Bone.003"
bones/3/parent = 2
bones/3/rest = Transform3D(0.795964, -0.570795, -0.201579, 0.584251, 0.811522, 0.00907907, 0.158404, -0.125, 0.97943, -2.79397e-07, 0.298125, 7.07805e-08)
bones/3/enabled = true
bones/3/position = Vector3(-2.79397e-07, 0.298125, 7.07805e-08)
bones/3/rotation = Quaternion(0.160391, -0.0163611, 0.532711, 0.830799)
bones/3/rotation = Quaternion(0.144299, -0.0280403, 0.516063, 0.843843)
bones/3/scale = Vector3(1, 1, 1)
bones/4/name = "Bone.004"
bones/4/parent = 3
@@ -572,14 +579,14 @@ bones/5/parent = 1
bones/5/rest = Transform3D(0.891186, 0.451268, 0.0463134, -0.453484, 0.888891, 0.0650076, -0.0118317, -0.0789362, 0.996809, -2.04891e-08, 0.416929, -1.19209e-07)
bones/5/enabled = true
bones/5/position = Vector3(-2.04891e-08, 0.416929, -1.19209e-07)
bones/5/rotation = Quaternion(-0.0879521, 0.0148485, -0.0751249, 0.993177)
bones/5/rotation = Quaternion(-0.0563241, 0.0165466, -0.0756923, 0.995402)
bones/5/scale = Vector3(1, 1, 1)
bones/6/name = "Bone.006"
bones/6/parent = 5
bones/6/rest = Transform3D(0.94556, -0.31325, -0.0882615, 0.323948, 0.931928, 0.162993, 0.0311958, -0.182712, 0.982671, 0, 0.366571, 4.47035e-08)
bones/6/enabled = true
bones/6/position = Vector3(0, 0.366571, 4.47035e-08)
bones/6/rotation = Quaternion(-0.696016, -0.210966, 0.0748524, 0.68224)
bones/6/rotation = Quaternion(-0.656146, -0.210149, 0.0682503, 0.721562)
bones/6/scale = Vector3(1, 1, 1)
bones/7/name = "Bone.007"
bones/7/parent = 6
@@ -607,7 +614,7 @@ bones/10/parent = 9
bones/10/rest = Transform3D(0.999465, -0.0299655, -0.0130879, 0.0321747, 0.972617, 0.230176, 0.00583219, -0.230474, 0.973061, -2.98023e-08, 0.347821, 2.23517e-07)
bones/10/enabled = true
bones/10/position = Vector3(-2.98023e-08, 0.347821, 2.23517e-07)
bones/10/rotation = Quaternion(-0.739675, -0.0534615, -0.0912674, 0.6646)
bones/10/rotation = Quaternion(-0.677531, -0.0607501, -0.0961043, 0.726653)
bones/10/scale = Vector3(1, 1, 1)
bones/11/name = "Bone.011"
bones/11/parent = 10
@@ -635,7 +642,7 @@ bones/14/parent = 13
bones/14/rest = Transform3D(0.961502, 0.268958, 0.056354, -0.274785, 0.938956, 0.207015, 0.00276436, -0.21453, 0.976713, 4.93601e-08, 0.369994, -2.08616e-07)
bones/14/enabled = true
bones/14/position = Vector3(4.93601e-08, 0.369994, -2.08616e-07)
bones/14/rotation = Quaternion(-0.790172, 0.102029, -0.148332, 0.585847)
bones/14/rotation = Quaternion(-0.734122, 0.0966717, -0.170199, 0.650194)
bones/14/scale = Vector3(1, 1, 1)
bones/15/name = "Bone.015"
bones/15/parent = 14
@@ -656,14 +663,14 @@ bones/17/parent = 1
bones/17/rest = Transform3D(0.731154, -0.681923, -0.0198726, 0.682037, 0.729994, 0.0439829, -0.0154861, -0.0457121, 0.998834, -2.04891e-08, 0.416929, -1.19209e-07)
bones/17/enabled = true
bones/17/position = Vector3(-2.04891e-08, 0.416929, -1.19209e-07)
bones/17/rotation = Quaternion(-0.0372924, 0.0136837, 0.335118, 0.941338)
bones/17/rotation = Quaternion(-0.0210445, 0.00747357, 0.334765, 0.942037)
bones/17/scale = Vector3(1, 1, 1)
bones/18/name = "Bone.018"
bones/18/parent = 17
bones/18/rest = Transform3D(0.857941, 0.502855, 0.105234, -0.513706, 0.842315, 0.163132, -0.00660832, -0.194017, 0.980976, -1.56462e-07, 0.400229, 2.23517e-07)
bones/18/enabled = true
bones/18/position = Vector3(-1.56462e-07, 0.400229, 2.23517e-07)
bones/18/rotation = Quaternion(-0.752679, 0.127129, -0.179054, 0.620687)
bones/18/rotation = Quaternion(-0.697513, 0.105359, -0.21466, 0.675497)
bones/18/scale = Vector3(1, 1, 1)
bones/19/name = "Bone.019"
bones/19/parent = 18
@@ -683,8 +690,8 @@ bones/21/name = "Bone.021"
bones/21/parent = -1
bones/21/rest = Transform3D(0.752405, -0.592093, -0.288639, -0.162915, 0.257308, -0.952497, 0.638236, 0.763687, 0.0971389, 2.85513, -1.1162, -3.27626)
bones/21/enabled = true
bones/21/position = Vector3(1.11072, -0.902037, -3.50338)
bones/21/rotation = Quaternion(0.663182, 0.392296, -0.0958793, 0.630159)
bones/21/position = Vector3(0.837023, -0.89043, -2.81607)
bones/21/rotation = Quaternion(0.630756, 0.472853, -0.24431, 0.564686)
bones/21/scale = Vector3(1, 1, 1)
[node name="CHEST_001" type="MeshInstance3D" parent="ARM6/6_ L WEAPON ARM/Skeleton3D"]
@@ -692,7 +699,7 @@ mesh = SubResource("ArrayMesh_4ec00")
skin = SubResource("Skin_37t5x")
[node name="BoneAttachment3D" type="BoneAttachment3D" parent="ARM6/6_ L WEAPON ARM/Skeleton3D"]
transform = Transform3D(0.116803, 0.904972, -0.409124, 0.785922, -0.336077, -0.519016, -0.607193, -0.260917, -0.750493, 1.7, 0.568608, -0.0619529)
transform = Transform3D(-0.579049, -0.29385, -0.760496, 0.537072, 0.564315, -0.626979, 0.613397, -0.771492, -0.168947, 4.73318, -1.14974, -0.587044)
bone_name = "Bone.020"
bone_idx = 20

View File

@@ -13,7 +13,7 @@ size = Vector3(29.3551, 17.3836, 4.45671)
[sub_resource type="BoxShape3D" id="BoxShape3D_5gof3"]
size = Vector3(28.4577, 15.2605, 8.04248)
[node name="Demon Wall" type="CharacterBody3D"]
[node name="Demon Wall" type="CharacterBody3D" groups=["enemy"]]
collision_layer = 2
collision_mask = 2
script = ExtResource("1_dqcrh")
@@ -59,25 +59,3 @@ bus = &"SFX"
[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
unique_name_in_owner = true
bus = &"SFX"
[node name="Control" type="Control" parent="."]
layout_mode = 3
anchors_preset = 0
offset_right = 40.0
offset_bottom = 40.0
[node name="VFlowContainer" type="VFlowContainer" parent="Control"]
layout_mode = 0
offset_left = 51.0
offset_top = 980.0
offset_right = 659.0
offset_bottom = 1085.0
[node name="Label" type="Label" parent="Control/VFlowContainer"]
layout_mode = 2
text = "Demon Wall HP:"
[node name="DemonWallHP" type="Label" parent="Control/VFlowContainer"]
unique_name_in_owner = true
custom_minimum_size = Vector2(100, 100)
layout_mode = 2

View File

@@ -23,7 +23,7 @@ radius = 1.20703
[sub_resource type="CylinderShape3D" id="CylinderShape3D_gxowl"]
radius = 2.0
[node name="AqueousDemon" type="CharacterBody3D"]
[node name="AqueousDemon" type="CharacterBody3D" groups=["enemy"]]
process_mode = 1
collision_layer = 10
collision_mask = 11

View File

@@ -12,6 +12,7 @@ using System.IO;
using System.Threading.Tasks;
using Zennysoft.Game.Implementation;
using Zennysoft.Ma.Adapter.Entity;
using System.Linq;
[Meta(typeof(IAutoNode))]
public partial class Game : Node3D, IGame
@@ -118,7 +119,7 @@ public partial class Game : Node3D, IGame
}
);
var saveFileManager = _container.GetInstance<IMaSaveFileManager>();
var saveFileManager = new MaSaveFileManager();
SaveFile = new SaveFile<GameData>(
root: GameChunk,
onSave: saveFileManager.Save,
@@ -276,6 +277,7 @@ public partial class Game : Node3D, IGame
QuestData.DeathCount++;
await Save();
_player.Deactivate();
GameRepo.Pause();
GameState.Input(new GameState.Input.GameOver());
}
@@ -380,8 +382,10 @@ public partial class Game : Node3D, IGame
})
.Handle((in GameState.Output.GameOver _) =>
{
GameRepo.Pause();
GameOverMenu.FadeIn();
var enemies = GetTree().GetNodesInGroup("enemy").OfType<IEnemy>();
foreach (var enemy in enemies)
enemy.CallDeferred(MethodName.QueueFree, []);
});
}
@@ -655,6 +659,9 @@ public partial class Game : Node3D, IGame
LoadNextLevel.Hide();
GameLoaded?.Invoke();
_map.FadeIn();
if (GameOverMenu.Visible)
GameOverMenu.FadeOut();
GameRepo.Resume();
_player.Activate();
}

View File

@@ -10,6 +10,8 @@ public partial class ItemRescue : Area3D
{
public override void _Notification(int what) => this.Notify(what);
private bool _transferUsed = false;
public void Initialize()
{
BodyEntered += OnItemRescueEntered;
@@ -24,10 +26,12 @@ public partial class ItemRescue : Area3D
thrownItem.RescueItem();
BodyEntered -= OnItemRescueEntered;
_transferUsed = true;
}
public void OnExitTree()
{
BodyEntered -= OnItemRescueEntered;
if (!_transferUsed)
BodyEntered -= OnItemRescueEntered;
}
}

View File

@@ -42,9 +42,27 @@ public class ItemReroller
return rolledItem;
}
private Weapon RerollItemInternal(Weapon itemToReroll) => _database.PickItem(itemToReroll);
private Armor RerollItemInternal(Armor itemToReroll) => _database.PickItem(itemToReroll);
private Accessory RerollItemInternal(Accessory itemToReroll) => _database.PickItem(itemToReroll);
private Weapon RerollItemInternal(Weapon itemToReroll)
{
var item = _database.PickItem(itemToReroll);
item.Init();
return item;
}
private Armor RerollItemInternal(Armor itemToReroll)
{
var item = _database.PickItem(itemToReroll);
item.Init();
return item;
}
private Accessory RerollItemInternal(Accessory itemToReroll)
{
var item = _database.PickItem(itemToReroll);
item.Init();
return item;
}
private ConsumableItem RerollItemInternal(ConsumableItem itemToReroll) => _database.PickItem(itemToReroll);
private ThrowableItem RerollItemInternal(ThrowableItem itemToReroll) => _database.PickItem(itemToReroll);
private EffectItem RerollItemInternal(EffectItem itemToReroll) => _database.PickItem(itemToReroll);

View File

@@ -16,7 +16,13 @@ public partial class Accessory : Node3D, IAccessory
public override void _Ready()
{
_sprite.Texture = Stats.Texture;
Init();
}
public void Init()
{
if (_sprite != null)
_sprite.Texture = Stats.Texture;
_bonusDamage = Stats.BonusAttack;
_bonusDefense = Stats.BonusDefense;
_bonusLuck = Stats.BonusLuck;

View File

@@ -16,7 +16,13 @@ public partial class Armor : Node3D, IArmor
public override void _Ready()
{
_sprite.Texture = Stats.Texture;
Init();
}
public void Init()
{
if (_sprite != null)
_sprite.Texture = Stats.Texture;
_bonusDamage = Stats.BonusAttack;
_bonusDefense = Stats.BonusDefense;
_bonusLuck = Stats.BonusLuck;

View File

@@ -32,6 +32,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.370004, 0)
pixel_size = 0.005
billboard = 2
texture_filter = 0
render_priority = 100
[node name="CollisionShape3D" type="CollisionShape3D" parent="Pickup"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.00804907, 0.709896, 0.0675965)

View File

@@ -16,9 +16,15 @@ public partial class Weapon : Node3D, IWeapon
public SoundEffect SoundEffect => Stats.SoundEffect;
public void OnReady()
public override void _Ready()
{
_sprite.Texture = Stats.Texture;
Init();
}
public void Init()
{
if (_sprite != null)
_sprite.Texture = Stats.Texture;
_bonusDamage = Stats.BonusAttack;
_bonusDefense = Stats.BonusDefense;
_bonusLuck = Stats.BonusLuck;

View File

@@ -8,6 +8,8 @@ namespace Zennysoft.Game.Ma;
public interface IMap : INode3D
{
void ClearFloor();
Task LoadFloor();
Task LoadFloor(string sceneName);

View File

@@ -46,14 +46,15 @@ public partial class Map : Node3D, IMap
if (animName == "fade_out")
{
await LoadNewFloor();
FloorLoaded?.Invoke();
}
}
private async Task LoadNewFloor()
{
CurrentFloor?.CallDeferred(MethodName.QueueFree, []);
SpawnPointCreated?.Invoke((Vector3.Forward, new Vector3(-999, -999, -999)));
var newFloor = await LoadNewFloor(_sceneName);
ClearFloor();
AddChild(newFloor);
InitializeFloor(newFloor);
var floor = MapOrder.GetChildren().OfType<FloorNode>().ElementAt(CurrentFloorNumber.Value);
@@ -82,6 +83,11 @@ public partial class Map : Node3D, IMap
return (spawnPoint.Rotation, spawnPoint.Position);
}
public void ClearFloor()
{
CurrentFloor?.CallDeferred(MethodName.QueueFree, []);
}
public async Task LoadFloor()
{
var floor = MapOrder.GetChildren().OfType<FloorNode>().ElementAt(CurrentFloorNumber.Value + 1);
@@ -104,7 +110,6 @@ public partial class Map : Node3D, IMap
SetupDungeonFloor();
CurrentFloor.FloorIsLoaded = true;
CurrentFloorNumber.OnNext(CurrentFloorNumber.Value + 1);
FloorLoaded?.Invoke();
}
private async Task<Node> LoadNewFloor(string sceneName)

View File

@@ -27,6 +27,8 @@ public partial class Overworld : SpecialFloor, IDungeonFloor
[Node] private Node DimmableAudio { get; set; } = default!;
[Node] private Node3D DeathTorches { get; set; } = default!;
private Timer RestoreTimer { get; set; }
private bool _insideItemRescueZone = false;
@@ -44,6 +46,11 @@ public partial class Overworld : SpecialFloor, IDungeonFloor
FloorIsLoaded = true;
Game.ItemRescueMenu.SetProcessInput(false);
var torches = DeathTorches.GetChildren().OfType<Torch>().ToList();
var torchesToLight = Mathf.Min(Game.QuestData.DeathCount, 15);
for (var i = 0; i < torchesToLight; i++)
torches[i].Show();
ItemRescueInteractZone.AreaEntered += ItemRescueInteractZone_AreaEntered;
var dimmableAudio = DimmableAudio.GetChildren().OfType<IDimmableAudioStreamPlayer>();
foreach (var dimmable in dimmableAudio)

File diff suppressed because one or more lines are too long

View File

@@ -1427,7 +1427,7 @@ transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -112.3
[node name="HorseHead" parent="Bosses/HorseHead" instance=ExtResource("14_jb41f")]
unique_name_in_owner = true
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -101.714, -2.7938, 10.841)
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -101.714, -2.8, 10.841)
visible = false
InitialHP = 125

File diff suppressed because one or more lines are too long

View File

@@ -129,33 +129,27 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.3092, 2, -8.8875)
[node name="PlayerSpawn" type="Marker3D" parent="Spawn Points"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.95499, 0.615637, 7.621)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.95499, -3.02636, 7.621)
[node name="ItemSpawnPoints" type="Node3D" parent="Spawn Points"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.00123, 0)
[node name="ItemSpawnPoint" type="Marker3D" parent="Spawn Points/ItemSpawnPoints"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.89063, -1.37378, 3.63487)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.89063, -3.48518, 3.63487)
[node name="ItemSpawnPoint2" type="Marker3D" parent="Spawn Points/ItemSpawnPoints"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.96292, -1.37378, 10.8984)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.96292, -3.48518, 10.8984)
[node name="ItemSpawnPoint3" type="Marker3D" parent="Spawn Points/ItemSpawnPoints"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15.0523, -1.37378, 11.6249)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15.0523, -3.48518, 11.6249)
[node name="EnemySpawnPoints" type="Node3D" parent="Spawn Points"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.00123, 0)
[node name="EnemySpawn1" type="Marker3D" parent="Spawn Points/EnemySpawnPoints"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.67066, -3.4914, 3.35927)
[node name="EnemySpawn2" type="Marker3D" parent="Spawn Points/EnemySpawnPoints"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13.6143, -3.79757, 6.01731)
[node name="EnemySpawn3" type="Marker3D" parent="Spawn Points/EnemySpawnPoints"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.9776, -3.78559, 11.068)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.99224, -3.4914, 10.5658)
[node name="Room" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.3092, 2, -8.8875)

View File

@@ -1,2 +1 @@
~ general
boo brother
~ general

View File

@@ -1,16 +1,6 @@
~ introduction
Rӑn: welcome 2 my library lol
=> END
~ general
Rӑn: okay......
=> END
~ hit
Rӑn: hey ow
=> END
~ get_item
Rӑn: ooo yum
=> END

View File

@@ -1,20 +1,7 @@
~ introduction
Royal Rat Princep, Tekohcyo: I do not know thee but I perceive thine sorrows vividly,
for I am embraced by their brethren.
Royal Rat Princep, Tekohcyo: Though it be in mind only, I am traitor to mine country and family.
But a plague on the mind is a plague on one's world is it not?
Royal Rat Princep, Tekohcyo: Alas, the tower has rejected me, so here I reside.
Unable to return home, but unable to climb it.
=> END
~ general
% => B1
% => B2
% => B3
% => B4
% => B5
=> END
~ B1
@@ -44,9 +31,4 @@ Royal Rat Princep, Tekohcyo: The walls of the Tower may deceive you.
~ hit
Royal Rat Princep, Tekohcyo: I suppose in the end, any end is, relievingly, an end.
=> END
~ get_item
Royal Rat Princep, Tekohcyo: ooo yum
=> END
=> END

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)

View File

@@ -1,6 +1,9 @@
using System.Collections.Immutable;
using System.IO.Abstractions;
using System.Text.Json.Serialization.Metadata;
using System.Threading.Tasks;
using Zennysoft.Game.Abstractions;
using Zennysoft.Game.Implementation;
namespace Zennysoft.Ma.Adapter;
@@ -14,12 +17,12 @@ public interface IMaSaveFileManager
public sealed class MaSaveFileManager : IMaSaveFileManager
{
private readonly ISaveFileManager _saveFileManager;
private ImmutableList<IJsonTypeInfoResolver> _converters;
private readonly ImmutableList<IJsonTypeInfoResolver> _converters;
public MaSaveFileManager(ISaveFileManager saveFileManager)
public MaSaveFileManager()
{
_saveFileManager = saveFileManager;
_converters = [WeaponTagEnumContext.Default, ItemTagEnumContext.Default, ElementTypeEnumContext.Default, AccessoryTagEnumContext.Default, UsableItemTagEnumContext.Default, BoxItemTagEnumContext.Default];
_saveFileManager = new SaveFileManager(new FileSystem());
_converters = [WeaponTagEnumContext.Default, ItemTagEnumContext.Default, ElementTypeEnumContext.Default, AccessoryTagEnumContext.Default, UsableItemTagEnumContext.Default, BoxItemTagEnumContext.Default, BaseInventoryItemContext.Default];
}
public async Task Save<T>(T gameData)

View File

@@ -0,0 +1 @@
uid://bbkvghf615kbe

View File

@@ -6,6 +6,9 @@ using System.IO.Abstractions;
using System.Text.Json;
using System.Text.Json.Serialization.Metadata;
using Zennysoft.Game.Abstractions;
using System.Threading.Tasks;
using System.IO;
using Zennysoft.Game.Ma;
namespace Zennysoft.Game.Implementation;
@@ -27,9 +30,9 @@ public class SaveFileManager : ISaveFileManager
public Task<T?> ReadFromFile<T>(params IJsonTypeInfoResolver?[] resolvers)
{
if (!_fileSystem.File.Exists(_defaultSaveLocation))
throw new FileNotFoundException();
return ReadFromFile<T>(_defaultSaveLocation, resolvers);
return !_fileSystem.File.Exists(_defaultSaveLocation)
? throw new FileNotFoundException()
: ReadFromFile<T>(_defaultSaveLocation, resolvers);
}
public async Task<T?> ReadFromFile<T>(string filePath, params IJsonTypeInfoResolver?[] resolvers)

View File

@@ -0,0 +1 @@
uid://d2qmh2qj3h0ni

View File

@@ -33,16 +33,20 @@ public partial class Projectile : Node3D
{
ProjectileHitbox.SetDeferred(Area3D.PropertyName.Monitorable, false);
ProjectileHitbox.SetDeferred(Area3D.PropertyName.Monitoring, false);
AnimationPlayer.Stop();
}
private void ProjectileHitbox_BodyEntered1(Node3D body)
{
ProjectileHitbox.SetDeferred(Area3D.PropertyName.Monitorable, false);
ProjectileHitbox.SetDeferred(Area3D.PropertyName.Monitoring, false);
AnimationPlayer.Play("RESET");
AnimationPlayer.Stop();
}
private void ProjectileHitbox_BodyEntered(Rid bodyRid, Node3D body, long bodyShapeIndex, long localShapeIndex) => AnimationPlayer.Stop();
private void ProjectileHitbox_BodyEntered(Rid bodyRid, Node3D body, long bodyShapeIndex, long localShapeIndex)
{
AnimationPlayer.Stop();
}
public bool Fire()
{
@@ -69,6 +73,6 @@ public partial class Projectile : Node3D
}
ProjectileHitbox.SetDeferred(Area3D.PropertyName.Monitorable, false);
ProjectileHitbox.SetDeferred(Area3D.PropertyName.Monitoring, false);
AnimationPlayer.Play("RESET");
AnimationPlayer.Stop();
}
}

View File

@@ -41,7 +41,11 @@ public partial class GameOverMenu : Control, IGameOverMenu
private void DeathMenu_VisibilityChanged()
{
if (Visible)
{
Continue.Show();
Exit.Show();
Continue.CallDeferred(MethodName.GrabFocus, []);
}
else
ReleaseFocus();
}
@@ -49,12 +53,15 @@ public partial class GameOverMenu : Control, IGameOverMenu
private void Exit_Pressed()
{
QuitGame?.Invoke();
Continue.Hide();
Exit.Hide();
}
private void Continue_Pressed()
{
FadeOut();
NewGame?.Invoke();
Continue.Hide();
Exit.Hide();
}
public void FadeIn() => AnimationPlayer.Play("fade_in");

View File

@@ -0,0 +1,29 @@
using Chickensoft.AutoInject;
using Chickensoft.Introspection;
using Godot;
using System;
using Zennysoft.Game.Implementation;
[Meta(typeof(IAutoNode))]
public partial class Torch : AnimatedSprite3D
{
public override void _Notification(int what) => this.Notify(what);
[Node] public DimmableAudioStreamPlayer3D SFX { get; set; }
[Node] public OmniLight3D Light { get; set; }
public void OnReady()
{
VisibilityChanged += Torch_VisibilityChanged;
Torch_VisibilityChanged();
}
private void Torch_VisibilityChanged()
{
if (Visible)
SFX.Play();
else
SFX.Stop();
}
}

View File

@@ -0,0 +1 @@
uid://bhciq00l1hhtp

View File

@@ -0,0 +1,337 @@
[gd_scene load_steps=48 format=3 uid="uid://doncarj3f8iua"]
[ext_resource type="Texture2D" uid="uid://urhj7jw2wvor" path="res://src/vfx/World/PURPLE_FLAME.png" id="1_d7idw"]
[ext_resource type="Script" uid="uid://bhciq00l1hhtp" path="res://src/vfx/Torch.cs" id="2_exj1s"]
[ext_resource type="AudioStream" uid="uid://b306wov6yfaan" path="res://src/audio/sfx/amb_flame_burning.ogg" id="2_ur7ht"]
[ext_resource type="Script" uid="uid://b83kye8yinfxs" path="res://src/audio/AmbientSFXPlayer3D.cs" id="3_exj1s"]
[sub_resource type="AtlasTexture" id="AtlasTexture_ite3w"]
atlas = ExtResource("1_d7idw")
region = Rect2(1024, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_a0f4o"]
atlas = ExtResource("1_d7idw")
region = Rect2(1536, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_mqssl"]
atlas = ExtResource("1_d7idw")
region = Rect2(2048, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_xkomc"]
atlas = ExtResource("1_d7idw")
region = Rect2(2560, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_kfe0s"]
atlas = ExtResource("1_d7idw")
region = Rect2(3072, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_nok26"]
atlas = ExtResource("1_d7idw")
region = Rect2(3584, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_cy8jb"]
atlas = ExtResource("1_d7idw")
region = Rect2(4096, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_clbkd"]
atlas = ExtResource("1_d7idw")
region = Rect2(4608, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_xjavm"]
atlas = ExtResource("1_d7idw")
region = Rect2(5120, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_xii6f"]
atlas = ExtResource("1_d7idw")
region = Rect2(5632, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_363cy"]
atlas = ExtResource("1_d7idw")
region = Rect2(6144, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_qur0e"]
atlas = ExtResource("1_d7idw")
region = Rect2(6656, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_jyfct"]
atlas = ExtResource("1_d7idw")
region = Rect2(7168, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_qwnn7"]
atlas = ExtResource("1_d7idw")
region = Rect2(7680, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_7id4m"]
atlas = ExtResource("1_d7idw")
region = Rect2(8192, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_iyxdg"]
atlas = ExtResource("1_d7idw")
region = Rect2(8704, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_7ma8s"]
atlas = ExtResource("1_d7idw")
region = Rect2(9216, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_hlp34"]
atlas = ExtResource("1_d7idw")
region = Rect2(9728, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_8thc3"]
atlas = ExtResource("1_d7idw")
region = Rect2(10240, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_2y1it"]
atlas = ExtResource("1_d7idw")
region = Rect2(10752, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_m2s7h"]
atlas = ExtResource("1_d7idw")
region = Rect2(11264, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_ym48q"]
atlas = ExtResource("1_d7idw")
region = Rect2(11776, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_chki8"]
atlas = ExtResource("1_d7idw")
region = Rect2(12288, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_0dr0x"]
atlas = ExtResource("1_d7idw")
region = Rect2(12800, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_tjd11"]
atlas = ExtResource("1_d7idw")
region = Rect2(13312, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_acu2h"]
atlas = ExtResource("1_d7idw")
region = Rect2(13824, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_jn4j6"]
atlas = ExtResource("1_d7idw")
region = Rect2(14336, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_um2xj"]
atlas = ExtResource("1_d7idw")
region = Rect2(14848, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_6rj6q"]
atlas = ExtResource("1_d7idw")
region = Rect2(15360, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_3hnmy"]
atlas = ExtResource("1_d7idw")
region = Rect2(15872, 0, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_uusgd"]
atlas = ExtResource("1_d7idw")
region = Rect2(0, 502, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_1chqi"]
atlas = ExtResource("1_d7idw")
region = Rect2(512, 502, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_i42ge"]
atlas = ExtResource("1_d7idw")
region = Rect2(1024, 502, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_i73hc"]
atlas = ExtResource("1_d7idw")
region = Rect2(1536, 502, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_we64s"]
atlas = ExtResource("1_d7idw")
region = Rect2(2048, 502, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_4dw2r"]
atlas = ExtResource("1_d7idw")
region = Rect2(2560, 502, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_nqgn1"]
atlas = ExtResource("1_d7idw")
region = Rect2(3072, 502, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_6djdn"]
atlas = ExtResource("1_d7idw")
region = Rect2(3584, 502, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_2t4cj"]
atlas = ExtResource("1_d7idw")
region = Rect2(4096, 502, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_qg3ak"]
atlas = ExtResource("1_d7idw")
region = Rect2(4608, 502, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_462bj"]
atlas = ExtResource("1_d7idw")
region = Rect2(5120, 502, 512, 502)
[sub_resource type="AtlasTexture" id="AtlasTexture_qas3x"]
atlas = ExtResource("1_d7idw")
region = Rect2(5632, 502, 512, 502)
[sub_resource type="SpriteFrames" id="SpriteFrames_cnruo"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_ite3w")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_a0f4o")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_mqssl")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_xkomc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kfe0s")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_nok26")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_cy8jb")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_clbkd")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_xjavm")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_xii6f")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_363cy")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_qur0e")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jyfct")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_qwnn7")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_7id4m")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_iyxdg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_7ma8s")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_hlp34")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_8thc3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2y1it")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_m2s7h")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ym48q")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_chki8")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0dr0x")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_tjd11")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_acu2h")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jn4j6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_um2xj")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6rj6q")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_3hnmy")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_uusgd")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1chqi")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_i42ge")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_i73hc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_we64s")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4dw2r")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_nqgn1")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6djdn")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2t4cj")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_qg3ak")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_462bj")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_qas3x")
}],
"loop": true,
"name": &"default",
"speed": 22.0
}]
[node name="DeathTorch" type="AnimatedSprite3D"]
billboard = 1
sprite_frames = SubResource("SpriteFrames_cnruo")
autoplay = "default"
frame_progress = 0.271099
script = ExtResource("2_exj1s")
[node name="SFX" type="AudioStreamPlayer3D" parent="." groups=["DimmableAudio"]]
unique_name_in_owner = true
process_mode = 3
transform = Transform3D(1.62602, 0, 0, 0, 2.24719, 0, 0, 0, 2.24719, -0.237626, -1.0051, -0.623936)
stream = ExtResource("2_ur7ht")
volume_db = -5.0
unit_size = 2.0
max_db = 0.0
max_distance = 25.0
bus = &"AMBIENT"
parameters/looping = true
script = ExtResource("3_exj1s")
[node name="Light" type="OmniLight3D" parent="."]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.180455, -0.538921, -0.0176468)
light_color = Color(0.585033, 0.233362, 0.75879, 1)
shadow_enabled = true
shadow_blur = 10.0
omni_range = 19.166
omni_attenuation = 1.106

View File

@@ -1,3 +1,2 @@
~ general
- Here's my hint
=> END

View File

@@ -1,5 +0,0 @@
~ general
Stele B: hey i'm just a regular Stele that's an example of placing one on the map.
Stele B: just drag and drop me into a scene and then add a dialogue file with a '~general' dialogue section to the inspector of the scene file i was placed in.
Stele B: you can also change the dialogue file without restarting the game and talk to me again to get the next text.
=> END

View File

@@ -1,16 +0,0 @@
[remap]
importer="dialogue_manager"
importer_version=15
type="Resource"
uid="uid://ie8a0mt0g1g4"
path="res://.godot/imported/tutorialstone.dialogue-1de0fb83bb09995e60a042cae875a946.tres"
[deps]
source_file="res://tutorialstone.dialogue"
dest_files=["res://.godot/imported/tutorialstone.dialogue-1de0fb83bb09995e60a042cae875a946.tres"]
[params]
defaults=true