Late November Merge
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
<Project Sdk="Godot.NET.Sdk/4.4.1">
|
||||
<Project Sdk="Godot.NET.Sdk/4.4.0">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<EnableDynamicLoading>true</EnableDynamicLoading>
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
<Project Sdk="Godot.NET.Sdk/4.4.0">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<EnableDynamicLoading>true</EnableDynamicLoading>
|
||||
<WarningsAsErrors>CS9057</WarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Chickensoft.AutoInject" Version="2.5.0" />
|
||||
<PackageReference Include="Chickensoft.GodotNodeInterfaces" Version="2.4.0" />
|
||||
<PackageReference Include="Chickensoft.Introspection" Version="2.2.0" />
|
||||
<PackageReference Include="Chickensoft.Introspection.Generator" Version="2.2.0" />
|
||||
<PackageReference Include="Chickensoft.LogicBlocks" Version="5.16.0" />
|
||||
<PackageReference Include="Chickensoft.LogicBlocks.DiagramGenerator" Version="5.16.0" />
|
||||
<PackageReference Include="Chickensoft.SaveFileBuilder" Version="1.1.0" />
|
||||
<PackageReference Include="Chickensoft.Serialization.Godot" Version="0.7.6" />
|
||||
<PackageReference Include="GodotSharp.SourceGenerators" Version="2.6.0-250131-2115.Release" />
|
||||
<PackageReference Include="SimpleInjector" Version="5.5.0" />
|
||||
<PackageReference Include="SSH.NET" Version="2024.2.0" />
|
||||
<PackageReference Include="System.IO.Abstractions" Version="22.0.11" />
|
||||
<PackageReference Include="Zeroconf" Version="3.7.16" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include=".editorconfig" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Zennysoft.Game.Godot.Implementation\Zennysoft.Game.Implementation.csproj" />
|
||||
<ProjectReference Include="..\Zennysoft.Game.Ma.Implementation\Zennysoft.Ma.Adapter.csproj" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Update="Godot.SourceGenerators" Version="4.4.0-dev.2" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Update="GodotSharp" Version="4.4.0-dev.2" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Update="GodotSharpEditor" Version="4.4.0-dev.2" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -24,6 +24,7 @@ DialogueController="*res://src/game/DialogueController.cs"
|
||||
AudioManager="*res://src/audio/AudioManager.cs"
|
||||
BgmPlayer="*res://src/audio/BGMPlayer.cs"
|
||||
InputHelper="*res://addons/input_helper/input_helper.gd"
|
||||
SfxDatabase="*res://src/audio/SFXDatabase.tscn"
|
||||
|
||||
[dialogue_manager]
|
||||
|
||||
@@ -84,6 +85,7 @@ ui_cancel={
|
||||
"deadzone": 0.5,
|
||||
"events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":1,"pressure":0.0,"pressed":true,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":70,"key_label":0,"unicode":102,"location":0,"echo":false,"script":null)
|
||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
ui_focus_next={
|
||||
|
||||
@@ -52,6 +52,7 @@ public class ExperiencePointsComponent : IExperiencePointsComponent
|
||||
|
||||
public void LevelUp()
|
||||
{
|
||||
SfxDatabase.Instance.Play(SoundEffect.LevelUp);
|
||||
_level.OnNext(_level.Value + 1);
|
||||
var expToNextLevel = ExpToNextLevelCalculation(_level.Value);
|
||||
_currentExp.OnNext(_currentExp.Value - _expToNextLevel.Value);
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://ddii3pi8x75xc"
|
||||
path="res://.godot/imported/amb_beach.wav-e64adf8f733e6a108ae15edd5f0499ab.sample"
|
||||
path="res://.godot/imported/amb_beach.wav-046e4f838e50e43a1aba1a754b92aad6.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/audio/amb/amb_beach.wav"
|
||||
dest_files=["res://.godot/imported/amb_beach.wav-e64adf8f733e6a108ae15edd5f0499ab.sample"]
|
||||
source_file="res://src/audio/AMB/amb_beach.wav"
|
||||
dest_files=["res://.godot/imported/amb_beach.wav-046e4f838e50e43a1aba1a754b92aad6.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://ym4ur8a2qxhp"
|
||||
path="res://.godot/imported/amb_perlin.wav-dea63667b2a56d37d48ba209f56f8900.sample"
|
||||
path="res://.godot/imported/amb_perlin.wav-ba6da0d5591f392e4aca7d2f85c4dfc2.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/audio/amb/amb_perlin.wav"
|
||||
dest_files=["res://.godot/imported/amb_perlin.wav-dea63667b2a56d37d48ba209f56f8900.sample"]
|
||||
source_file="res://src/audio/AMB/amb_perlin.wav"
|
||||
dest_files=["res://.godot/imported/amb_perlin.wav-ba6da0d5591f392e4aca7d2f85c4dfc2.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://b7wxddjx3qw5o"
|
||||
path="res://.godot/imported/amb_white_noise.wav-c98b45aa94120bc0c660bf2d6af1c696.sample"
|
||||
path="res://.godot/imported/amb_white_noise.wav-d316dd05afe429f6bcdda594285ad718.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/audio/amb/amb_white_noise.wav"
|
||||
dest_files=["res://.godot/imported/amb_white_noise.wav-c98b45aa94120bc0c660bf2d6af1c696.sample"]
|
||||
source_file="res://src/audio/AMB/amb_white_noise.wav"
|
||||
dest_files=["res://.godot/imported/amb_white_noise.wav-d316dd05afe429f6bcdda594285ad718.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://bmiitw4fcs68e"
|
||||
path="res://.godot/imported/amb_wind_loop_altar.wav-b9d60e3c3c10ec00833903539a7f3796.sample"
|
||||
path="res://.godot/imported/amb_wind_loop_altar.wav-e766e3db29faa01ad6dbaa8cb18d7de6.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/audio/amb/amb_wind_loop_altar.wav"
|
||||
dest_files=["res://.godot/imported/amb_wind_loop_altar.wav-b9d60e3c3c10ec00833903539a7f3796.sample"]
|
||||
source_file="res://src/audio/AMB/amb_wind_loop_altar.wav"
|
||||
dest_files=["res://.godot/imported/amb_wind_loop_altar.wav-e766e3db29faa01ad6dbaa8cb18d7de6.sample"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -1,43 +1,21 @@
|
||||
using Godot;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Zennysoft.Game.Ma;
|
||||
|
||||
public partial class AudioManager : Node
|
||||
{
|
||||
private static string sfxPath = $"res://src/audio/sfx/";
|
||||
private AudioStreamPlayer _audioPlayer;
|
||||
private IDictionary<SoundEffect, AudioStream> _sfxDictionary;
|
||||
private static AudioStreamPlayer _audioPlayer;
|
||||
private static AudioManager _instance;
|
||||
|
||||
public static AudioManager Instance => _instance;
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
_audioPlayer = new AudioStreamPlayer();
|
||||
AddChild(_audioPlayer);
|
||||
_sfxDictionary = new Dictionary<SoundEffect, AudioStream>();
|
||||
var soundEffects = Enum.GetValues(typeof(SoundEffect));
|
||||
foreach (var effect in soundEffects)
|
||||
_sfxDictionary.Add((SoundEffect)effect, GD.Load<AudioStream>(sfxPath + effect + ".ogg"));
|
||||
if (_instance != null)
|
||||
QueueFree();
|
||||
_instance = this;
|
||||
_audioPlayer = new AudioStreamPlayer();
|
||||
AddChild(_audioPlayer);
|
||||
_audioPlayer.Bus = "SFX";
|
||||
}
|
||||
|
||||
public void Play(SoundEffect soundEffect)
|
||||
{
|
||||
_sfxDictionary.TryGetValue(soundEffect, out var stream);
|
||||
_audioPlayer.Stream = stream;
|
||||
_audioPlayer.Play();
|
||||
}
|
||||
}
|
||||
public enum SoundEffect
|
||||
{
|
||||
Cancel,
|
||||
Equip,
|
||||
Heal,
|
||||
MenuBack,
|
||||
MoveThroughOptions,
|
||||
PlayerAttack,
|
||||
PlayerHitWall,
|
||||
Select,
|
||||
Sort,
|
||||
Unequip
|
||||
}
|
||||
}
|
||||
150
Zennysoft.Game.Ma/src/audio/SFXDatabase.tscn
Normal file
150
Zennysoft.Game.Ma/src/audio/SFXDatabase.tscn
Normal file
@@ -0,0 +1,150 @@
|
||||
[gd_scene load_steps=25 format=3 uid="uid://brgi35xj3b4ud"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cw100tox0ufsy" path="res://src/audio/SfxDatabase.cs" id="1_ojkqd"]
|
||||
[ext_resource type="AudioStream" uid="uid://cye8wlqbx66h4" path="res://src/audio/sfx/player_heal.ogg" id="2_158j8"]
|
||||
[ext_resource type="AudioStream" uid="uid://1nuk6xpkwujl" path="res://src/audio/sfx/player_gain_VT.ogg" id="3_kac56"]
|
||||
[ext_resource type="AudioStream" uid="uid://bfrp34y2m8b1l" path="res://src/audio/sfx/item_number_increase.ogg" id="4_fa8i8"]
|
||||
[ext_resource type="AudioStream" uid="uid://xjdv23q5cqhm" path="res://src/audio/sfx/UI_PAUSE.ogg" id="5_p5cio"]
|
||||
[ext_resource type="AudioStream" uid="uid://clhdcrs4dxt6h" path="res://src/audio/sfx/UI_MOVE.ogg" id="6_r16t0"]
|
||||
[ext_resource type="AudioStream" uid="uid://c817txm4tmup7" path="res://src/audio/sfx/PLAYER_EQUIP.ogg" id="7_sew62"]
|
||||
[ext_resource type="AudioStream" uid="uid://qxi7qto7hhgk" path="res://src/audio/sfx/PLAYER_UNEQUIP.ogg" id="8_rf1la"]
|
||||
[ext_resource type="AudioStream" uid="uid://doeefxilh0luj" path="res://src/audio/sfx/ITEM_SORT.ogg" id="9_l6w22"]
|
||||
[ext_resource type="AudioStream" uid="uid://4mk4hlse81if" path="res://src/audio/sfx/player_losehealth.ogg" id="10_kac56"]
|
||||
[ext_resource type="AudioStream" uid="uid://dwp3ep3jddvrr" path="res://src/audio/sfx/UI_SELECT.ogg" id="10_nerso"]
|
||||
[ext_resource type="AudioStream" uid="uid://oslvh60ec5gc" path="res://src/audio/sfx/UI_CANCEL_BACK.ogg" id="11_rloay"]
|
||||
[ext_resource type="AudioStream" uid="uid://bo2u1ceci6k1i" path="res://src/audio/sfx/PLAYER_quicker_slash.ogg" id="13_fa8i8"]
|
||||
[ext_resource type="AudioStream" uid="uid://na0lxb1lib11" path="res://src/audio/sfx/player_crit.ogg" id="14_p5cio"]
|
||||
[ext_resource type="AudioStream" uid="uid://bsc83jkt7uisg" path="res://src/audio/sfx/PLAYER_GET_ITEM.ogg" id="15_r16t0"]
|
||||
[ext_resource type="AudioStream" uid="uid://ckf3md1ujxhvm" path="res://src/audio/sfx/player_levelup.ogg" id="16_sew62"]
|
||||
[ext_resource type="AudioStream" uid="uid://coeynqnn61c43" path="res://src/audio/sfx/ITEM_TRANSFER.ogg" id="18_l6w22"]
|
||||
[ext_resource type="AudioStream" uid="uid://bfrmm07vthpwt" path="res://src/audio/sfx/item_divine_recall.ogg" id="19_nerso"]
|
||||
[ext_resource type="AudioStream" uid="uid://bu8akh5uh3ioo" path="res://src/audio/sfx/item_devic_balance_element1.ogg" id="20_rloay"]
|
||||
[ext_resource type="AudioStream" uid="uid://bjkn6s2xjxuji" path="res://src/audio/sfx/item_gospel_dimension.ogg" id="21_6hsck"]
|
||||
[ext_resource type="AudioStream" uid="uid://c3ur4bgvmsidi" path="res://src/audio/sfx/item_gospel_escape.ogg" id="22_3wq6u"]
|
||||
[ext_resource type="AudioStream" uid="uid://bc2pe0l5nr5ro" path="res://src/audio/sfx/ITEM_kyuu_hit.ogg" id="23_aaerj"]
|
||||
[ext_resource type="AudioStream" uid="uid://ck0nc757t0jq5" path="res://src/audio/sfx/ITEM_PERSPECTIVE.ogg" id="23_jdwj3"]
|
||||
[ext_resource type="AudioStream" uid="uid://dblijlgm8njjv" path="res://src/audio/sfx/item_sine_morphization.ogg" id="24_jdwj3"]
|
||||
|
||||
[node name="SfxDatabase" type="Node"]
|
||||
script = ExtResource("1_ojkqd")
|
||||
|
||||
[node name="UI" type="Node" parent="."]
|
||||
|
||||
[node name="OpenInventorySound" type="AudioStreamPlayer" parent="UI"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("5_p5cio")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="MoveSound" type="AudioStreamPlayer" parent="UI"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("6_r16t0")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="SelectSound" type="AudioStreamPlayer" parent="UI"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("10_nerso")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="CancelSound" type="AudioStreamPlayer" parent="UI"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("11_rloay")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="Player" type="Node" parent="."]
|
||||
|
||||
[node name="HealHPSound" type="AudioStreamPlayer" parent="Player"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("2_158j8")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="TakeDamageSound" type="AudioStreamPlayer" parent="Player"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("10_kac56")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="HealVTSound" type="AudioStreamPlayer" parent="Player"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("3_kac56")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="WeaponSwingSound" type="AudioStreamPlayer" parent="Player"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("13_fa8i8")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="CritSound" type="AudioStreamPlayer" parent="Player"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("14_p5cio")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="PickupItemSound" type="AudioStreamPlayer" parent="Player"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("15_r16t0")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="LevelUpSound" type="AudioStreamPlayer" parent="Player"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("16_sew62")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="EquipSound" type="AudioStreamPlayer" parent="Player"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("7_sew62")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="UnequipSound" type="AudioStreamPlayer" parent="Player"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("8_rf1la")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="Item" type="Node" parent="."]
|
||||
|
||||
[node name="TransferItemSound" type="AudioStreamPlayer" parent="Item"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("18_l6w22")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="IncreaseStatSound" type="AudioStreamPlayer" parent="Item"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("4_fa8i8")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="SortSound" type="AudioStreamPlayer" parent="Item"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("9_l6w22")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="RecallEnemiesSound" type="AudioStreamPlayer" parent="Item"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("19_nerso")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="KillHalfEnemiesSound" type="AudioStreamPlayer" parent="Item"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("20_rloay")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="TeleportToRandomRoomSound" type="AudioStreamPlayer" parent="Item"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("21_6hsck")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="TeleportToExitSound" type="AudioStreamPlayer" parent="Item"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("22_3wq6u")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="AbsorbHPFromAllEnemiesSound" type="AudioStreamPlayer" parent="Item"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("23_aaerj")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="SwapHPAndVTSound" type="AudioStreamPlayer" parent="Item"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("23_jdwj3")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="TurnAllEnemiesIntoHealingItemsSound" type="AudioStreamPlayer" parent="Item"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("24_jdwj3")
|
||||
bus = &"SFX"
|
||||
108
Zennysoft.Game.Ma/src/audio/SfxDatabase.cs
Normal file
108
Zennysoft.Game.Ma/src/audio/SfxDatabase.cs
Normal file
@@ -0,0 +1,108 @@
|
||||
using Chickensoft.AutoInject;
|
||||
using Chickensoft.Introspection;
|
||||
using Godot;
|
||||
using System.Collections.Generic;
|
||||
|
||||
[Meta(typeof(IAutoNode)), Id("sfx_database")]
|
||||
public partial class SfxDatabase : Node
|
||||
{
|
||||
public override void _Notification(int what) => this.Notify(what);
|
||||
|
||||
private static SfxDatabase _instance;
|
||||
|
||||
public static SfxDatabase Instance => _instance;
|
||||
|
||||
public void OnReady()
|
||||
{
|
||||
if (_instance != null)
|
||||
QueueFree();
|
||||
_instance = this;
|
||||
|
||||
_sfxMap = new Dictionary<SoundEffect, AudioStreamPlayer>
|
||||
{
|
||||
{SoundEffect.HealHP, HealHPSound },
|
||||
{SoundEffect.TakeDamage, TakeDamageSound },
|
||||
{SoundEffect.HealVT, HealVTSound },
|
||||
{SoundEffect.IncreaseStat, IncreaseStatSound },
|
||||
{SoundEffect.WeaponSwing, WeaponSwingSound },
|
||||
{SoundEffect.Crit, CritSound },
|
||||
{SoundEffect.PickupItem, PickupItemSound },
|
||||
{SoundEffect.OpenInventory, OpenInventorySound },
|
||||
{SoundEffect.MoveUI, MoveSound },
|
||||
{SoundEffect.Equip, EquipSound },
|
||||
{SoundEffect.Unequip, UnequipSound },
|
||||
{SoundEffect.SortInventory, SortSound },
|
||||
{SoundEffect.SelectUI, SelectSound },
|
||||
{SoundEffect.CancelUI, CancelSound },
|
||||
{SoundEffect.LevelUp, LevelUpSound },
|
||||
{SoundEffect.Transfer, TransferItemSound },
|
||||
{SoundEffect.RecallEnemies, RecallEnemiesSound},
|
||||
{SoundEffect.KillHalfEnemies, KillHalfEnemiesSound},
|
||||
{SoundEffect.TeleportToRandomRoom, TeleportToRandomRoomSound},
|
||||
{SoundEffect.TeleportToExit, TeleportToExitSound},
|
||||
{SoundEffect.AbsorbHPFromAllEnemies, AbsorbHPFromAllEnemiesSound},
|
||||
{SoundEffect.TurnAllEnemiesIntoHealingItems, TurnAllEnemiesIntoHealingItemsSound},
|
||||
};
|
||||
}
|
||||
|
||||
[Node] private AudioStreamPlayer HealHPSound { get; set; } = default!;
|
||||
[Node] private AudioStreamPlayer TakeDamageSound { get; set; } = default!;
|
||||
[Node] private AudioStreamPlayer HealVTSound { get; set; } = default!;
|
||||
[Node] private AudioStreamPlayer IncreaseStatSound { get; set; } = default!;
|
||||
[Node] private AudioStreamPlayer WeaponSwingSound { get; set; } = default!;
|
||||
[Node] private AudioStreamPlayer CritSound { get; set; } = default!;
|
||||
[Node] private AudioStreamPlayer PickupItemSound { get; set; } = default!;
|
||||
[Node] private AudioStreamPlayer OpenInventorySound { get; set; }
|
||||
[Node] private AudioStreamPlayer MoveSound { get; set; }
|
||||
[Node] private AudioStreamPlayer EquipSound { get; set; }
|
||||
[Node] private AudioStreamPlayer UnequipSound { get; set; }
|
||||
[Node] private AudioStreamPlayer SortSound { get; set; }
|
||||
[Node] private AudioStreamPlayer SelectSound { get; set; }
|
||||
[Node] private AudioStreamPlayer CancelSound { get; set; }
|
||||
[Node] private AudioStreamPlayer LevelUpSound { get; set; }
|
||||
[Node] private AudioStreamPlayer TransferItemSound { get; set; }
|
||||
[Node] private AudioStreamPlayer RecallEnemiesSound { get; set; }
|
||||
[Node] private AudioStreamPlayer KillHalfEnemiesSound { get; set; }
|
||||
[Node] private AudioStreamPlayer TeleportToRandomRoomSound { get; set; }
|
||||
[Node] private AudioStreamPlayer TeleportToExitSound { get; set; }
|
||||
[Node] private AudioStreamPlayer AbsorbHPFromAllEnemiesSound { get; set; }
|
||||
[Node] private AudioStreamPlayer SwapHPAndVTSound { get; set; }
|
||||
[Node] private AudioStreamPlayer TurnAllEnemiesIntoHealingItemsSound { get; set; }
|
||||
|
||||
private Dictionary<SoundEffect, AudioStreamPlayer> _sfxMap;
|
||||
|
||||
public void Play(SoundEffect soundEffect)
|
||||
{
|
||||
_sfxMap.TryGetValue(soundEffect, out var audio);
|
||||
if (audio != null)
|
||||
audio.Play();
|
||||
}
|
||||
}
|
||||
|
||||
public enum SoundEffect
|
||||
{
|
||||
HealHP,
|
||||
TakeDamage,
|
||||
HealVT,
|
||||
IncreaseStat,
|
||||
WeaponSwing,
|
||||
Crit,
|
||||
PickupItem,
|
||||
OpenInventory,
|
||||
MoveUI,
|
||||
Equip,
|
||||
Unequip,
|
||||
SortInventory,
|
||||
SelectUI,
|
||||
CancelUI,
|
||||
LevelUp,
|
||||
Transfer,
|
||||
RecallEnemies,
|
||||
KillHalfEnemies,
|
||||
TeleportToRandomRoom,
|
||||
TeleportToExit,
|
||||
AbsorbHPFromAllEnemies,
|
||||
SwapHPAndVT,
|
||||
TurnAllEnemiesIntoHealingItems,
|
||||
}
|
||||
|
||||
1
Zennysoft.Game.Ma/src/audio/SfxDatabase.cs.uid
Normal file
1
Zennysoft.Game.Ma/src/audio/SfxDatabase.cs.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://cw100tox0ufsy
|
||||
Binary file not shown.
@@ -1,19 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://dci08kmwsu6k1"
|
||||
path="res://.godot/imported/Cancel.ogg-90240069a266fcef76dd638dfd79efd5.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/audio/sfx/Cancel.ogg"
|
||||
dest_files=["res://.godot/imported/Cancel.ogg-90240069a266fcef76dd638dfd79efd5.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
@@ -12,8 +12,8 @@ dest_files=["res://.godot/imported/ENEMY_AGNI_AMBIENT_LOOP.ogg-c85d2b023556dd456
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
loop=true
|
||||
loop_offset=0.0
|
||||
bpm=0.0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
|
||||
@@ -12,8 +12,8 @@ dest_files=["res://.godot/imported/ENEMY_AQUEOS_LOOP.ogg-8237cb508a4b08073b02775
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
loop=true
|
||||
loop_offset=0.0
|
||||
bpm=0.0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
|
||||
@@ -12,8 +12,8 @@ dest_files=["res://.godot/imported/ENEMY_PILLAR_TURN.ogg-b699bc5922c503a73a9d924
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
loop=true
|
||||
loop_offset=0.0
|
||||
bpm=0.0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
|
||||
@@ -12,8 +12,8 @@ dest_files=["res://.godot/imported/ENEMY_golden_sproing_loop.ogg-127cd3900505921
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
loop=true
|
||||
loop_offset=0.0
|
||||
bpm=0.0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
|
||||
Binary file not shown.
@@ -1,19 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://nebh8kbv638p"
|
||||
path="res://.godot/imported/Equip.ogg-217f5d9ca98d54921c4ec31e13fb9ba4.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/audio/sfx/Equip.ogg"
|
||||
dest_files=["res://.godot/imported/Equip.ogg-217f5d9ca98d54921c4ec31e13fb9ba4.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
Binary file not shown.
@@ -1,19 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://myx4s8lmarc2"
|
||||
path="res://.godot/imported/Heal.ogg-05b7ed0ad880ef31e2dd13ac2428a53c.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/audio/sfx/Heal.ogg"
|
||||
dest_files=["res://.godot/imported/Heal.ogg-05b7ed0ad880ef31e2dd13ac2428a53c.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
Binary file not shown.
@@ -1,19 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://r1tryiit38i8"
|
||||
path="res://.godot/imported/MenuBack.ogg-4d59ead9ffd1dde11bf2c91a5ade19a4.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/audio/sfx/MenuBack.ogg"
|
||||
dest_files=["res://.godot/imported/MenuBack.ogg-4d59ead9ffd1dde11bf2c91a5ade19a4.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
Binary file not shown.
@@ -1,19 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://dor0in0x2fg48"
|
||||
path="res://.godot/imported/MoveThroughOptions.ogg-d2ab68a21096bd510cf966df8d088ca2.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/audio/sfx/MoveThroughOptions.ogg"
|
||||
dest_files=["res://.godot/imported/MoveThroughOptions.ogg-d2ab68a21096bd510cf966df8d088ca2.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
Binary file not shown.
@@ -1,19 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://dl300ljxjccju"
|
||||
path="res://.godot/imported/PlayerAttack.ogg-b72a90c320c3a6f764de2be3f71a8058.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/audio/sfx/PlayerAttack.ogg"
|
||||
dest_files=["res://.godot/imported/PlayerAttack.ogg-b72a90c320c3a6f764de2be3f71a8058.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
Binary file not shown.
@@ -1,19 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://dvv6wd7rtbc7b"
|
||||
path="res://.godot/imported/PlayerHitWall.ogg-429bd11f2f509307596bb8d8ac73a08d.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/audio/sfx/PlayerHitWall.ogg"
|
||||
dest_files=["res://.godot/imported/PlayerHitWall.ogg-429bd11f2f509307596bb8d8ac73a08d.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
Binary file not shown.
@@ -1,19 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://bb5lchnrvacf8"
|
||||
path="res://.godot/imported/Select.ogg-d9dd04507bb827ea76d34cbcda6e7708.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/audio/sfx/Select.ogg"
|
||||
dest_files=["res://.godot/imported/Select.ogg-d9dd04507bb827ea76d34cbcda6e7708.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
Binary file not shown.
@@ -1,19 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://d3sn7c614uj2n"
|
||||
path="res://.godot/imported/Sort.ogg-c7758aed01332fd8ea77a27c6593a8bb.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/audio/sfx/Sort.ogg"
|
||||
dest_files=["res://.godot/imported/Sort.ogg-c7758aed01332fd8ea77a27c6593a8bb.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
Binary file not shown.
@@ -1,19 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://bb1j3m60jns54"
|
||||
path="res://.godot/imported/Unequip.ogg-b3c6ba8a77b0e6d2ec671cb12640c764.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/audio/sfx/Unequip.ogg"
|
||||
dest_files=["res://.godot/imported/Unequip.ogg-b3c6ba8a77b0e6d2ec671cb12640c764.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
@@ -12,8 +12,8 @@ dest_files=["res://.godot/imported/enemy_balos_rolling.ogg-296768b69ce64257364d9
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
loop=true
|
||||
loop_offset=0.0
|
||||
bpm=0.0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
|
||||
@@ -12,8 +12,8 @@ dest_files=["res://.godot/imported/player_steps_concrete.ogg-2210939b45b35c9b2fc
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
loop=true
|
||||
loop_offset=0.0
|
||||
bpm=0.0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
|
||||
@@ -6,7 +6,6 @@ using System.Collections.Immutable;
|
||||
using System.Linq;
|
||||
using Zennysoft.Ma.Adapter;
|
||||
using Zennysoft.Ma.Adapter.Entity;
|
||||
using static Zennysoft.Ma.Adapter.AppLogic;
|
||||
|
||||
namespace Zennysoft.Game.Ma;
|
||||
|
||||
@@ -46,6 +45,12 @@ public abstract partial class Enemy : CharacterBody3D, IEnemy, IProvide<IEnemyLo
|
||||
|
||||
[Export] public int ExpGiven { get; set; } = 10;
|
||||
|
||||
[Node] private AudioStreamPlayer3D _absorbSFX { get; set; } = default!;
|
||||
[Node] private AudioStreamPlayer3D _hitSFX { get; set; } = default!;
|
||||
[Node] private AudioStreamPlayer3D _morphSFX { get; set; } = default!;
|
||||
[Node] private AudioStreamPlayer3D _dieSFX { get; set; } = default!;
|
||||
[Node] private AudioStreamPlayer3D _aggroSFX { get; set; } = default!;
|
||||
|
||||
protected bool _activated = false;
|
||||
private Vector3 _previousPosition = Vector3.Zero;
|
||||
|
||||
@@ -77,6 +82,8 @@ public abstract partial class Enemy : CharacterBody3D, IEnemy, IProvide<IEnemyLo
|
||||
Activate();
|
||||
_activated = true;
|
||||
|
||||
_aggroSFX.Play();
|
||||
|
||||
if (this is IHaveFollowBehavior)
|
||||
_enemyLogic.Input(new EnemyLogic.Input.Follow());
|
||||
if (this is IHaveFleeBehavior)
|
||||
@@ -130,6 +137,7 @@ public abstract partial class Enemy : CharacterBody3D, IEnemy, IProvide<IEnemyLo
|
||||
{
|
||||
_enemyLogic.Input(new EnemyLogic.Input.Alert());
|
||||
EnemyModelView.PlayHitAnimation();
|
||||
_hitSFX.Play();
|
||||
}
|
||||
|
||||
public virtual void Die()
|
||||
@@ -138,11 +146,26 @@ public abstract partial class Enemy : CharacterBody3D, IEnemy, IProvide<IEnemyLo
|
||||
_enemyLogic.Input(new EnemyLogic.Input.Defeated());
|
||||
_player.ExperiencePointsComponent.Gain(ExpGiven);
|
||||
EnemyModelView.PlayDeathAnimation();
|
||||
_hitSFX.Play();
|
||||
_dieSFX.Play();
|
||||
var tweener = CreateTween();
|
||||
tweener.TweenInterval(1.0f);
|
||||
tweener.TweenCallback(Callable.From(QueueFree));
|
||||
}
|
||||
|
||||
public void OnAbsorb()
|
||||
{
|
||||
_absorbSFX.Play();
|
||||
}
|
||||
|
||||
public void OnMorph()
|
||||
{
|
||||
_morphSFX.Play();
|
||||
SetPhysicsProcess(false);
|
||||
_enemyLogic.Input(new EnemyLogic.Input.Defeated());
|
||||
Callable.From(QueueFree);
|
||||
}
|
||||
|
||||
public IDungeonRoom GetCurrentRoom(ImmutableList<IDungeonRoom> roomList)
|
||||
{
|
||||
foreach (var room in roomList)
|
||||
@@ -178,8 +201,8 @@ public abstract partial class Enemy : CharacterBody3D, IEnemy, IProvide<IEnemyLo
|
||||
|
||||
_enemyLogic.Input(new EnemyLogic.Input.Reset());
|
||||
}
|
||||
|
||||
throw new NotImplementedException($"Only {nameof(MonsterRoom)} types are currently supported.");
|
||||
else
|
||||
throw new NotImplementedException($"Only {nameof(MonsterRoom)} types are currently supported.");
|
||||
}
|
||||
|
||||
protected void LookAtTarget(Vector3 targetPosition)
|
||||
@@ -199,7 +222,7 @@ public abstract partial class Enemy : CharacterBody3D, IEnemy, IProvide<IEnemyLo
|
||||
|
||||
protected void SetTarget(Vector3 targetPosition) => TargetPosition = targetPosition;
|
||||
|
||||
private void EnemyModelView_HitPlayer(object sender, System.EventArgs e)
|
||||
private void EnemyModelView_HitPlayer(object sender, EventArgs e)
|
||||
{
|
||||
_player.TakeDamage(new AttackData(AttackComponent.CurrentAttack.Value, ElementType.None));
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using Chickensoft.Introspection;
|
||||
using Godot;
|
||||
using System;
|
||||
using Zennysoft.Ma.Adapter;
|
||||
|
||||
namespace Zennysoft.Game.Ma;
|
||||
|
||||
@@ -25,10 +26,12 @@ public abstract partial class EnemyModelView : Node3D, IEnemyModelView
|
||||
|
||||
[Node] public AnimationTree AnimationTree { get; set; } = default!;
|
||||
|
||||
[Export] public AttackDataResource AttackData { get; set; }
|
||||
[Node] private AudioStreamPlayer3D _walkSFX { get; set; } = default!;
|
||||
|
||||
protected AnimationNodeStateMachinePlayback _stateMachine;
|
||||
|
||||
public AttackData AttackData { get; set; }
|
||||
|
||||
public event EventHandler HitPlayer;
|
||||
|
||||
public event EventHandler ActivationFinished;
|
||||
@@ -40,23 +43,55 @@ public abstract partial class EnemyModelView : Node3D, IEnemyModelView
|
||||
|
||||
public void OnReady()
|
||||
{
|
||||
_stateMachine = (AnimationNodeStateMachinePlayback)AnimationTree.Get(_parametersPlayback);
|
||||
AnimationTree.AnimationFinished += AnimationTree_AnimationFinished;
|
||||
if (AnimationTree != null)
|
||||
{
|
||||
_stateMachine = (AnimationNodeStateMachinePlayback)AnimationTree.Get(_parametersPlayback);
|
||||
AnimationTree.AnimationFinished += AnimationTree_AnimationFinished;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void PlayPrimaryAttackAnimation() => _stateMachine.Travel(_primaryAttackName, false);
|
||||
public virtual void PlayPrimaryAttackAnimation()
|
||||
{
|
||||
_walkSFX.Stop();
|
||||
_stateMachine.Travel(_primaryAttackName, false);
|
||||
}
|
||||
|
||||
public virtual void PlaySecondaryAttackAnimation() => _stateMachine.Travel(_secondaryAttackName, false);
|
||||
public virtual void PlaySecondaryAttackAnimation()
|
||||
{
|
||||
_walkSFX.Stop();
|
||||
_stateMachine.Travel(_secondaryAttackName, false);
|
||||
}
|
||||
|
||||
public virtual void PlayPrimarySkillAnimation() => _stateMachine.Travel(_primarySkillName, false);
|
||||
public virtual void PlayPrimarySkillAnimation()
|
||||
{
|
||||
_walkSFX.Stop();
|
||||
_stateMachine.Travel(_primarySkillName, false);
|
||||
}
|
||||
|
||||
public virtual void PlayIdleAnimation() => _stateMachine.Travel(_idleName, false);
|
||||
public virtual void PlayIdleAnimation()
|
||||
{
|
||||
_walkSFX.Stop();
|
||||
_stateMachine.Travel(_idleName, false);
|
||||
}
|
||||
|
||||
public virtual void PlayWalkAnimation() => _stateMachine.Travel(_walkingName, false);
|
||||
public virtual void PlayWalkAnimation()
|
||||
{
|
||||
if (!_walkSFX.Playing)
|
||||
_walkSFX.Play();
|
||||
_stateMachine.Travel(_walkingName, false);
|
||||
}
|
||||
|
||||
public virtual void PlayStopWalkAnimation() => _stateMachine.Travel(_stopWalkName, false);
|
||||
public virtual void PlayStopWalkAnimation()
|
||||
{
|
||||
_walkSFX.Stop();
|
||||
_stateMachine.Travel(_stopWalkName, false);
|
||||
}
|
||||
|
||||
public virtual void PlayActivateAnimation() => _stateMachine.Travel(_activateName, false);
|
||||
public virtual void PlayActivateAnimation()
|
||||
{
|
||||
_walkSFX.Stop();
|
||||
_stateMachine.Travel(_activateName, false);
|
||||
}
|
||||
|
||||
public virtual void PlayDeathAnimation() => throw new System.NotImplementedException();
|
||||
|
||||
@@ -75,6 +110,7 @@ public abstract partial class EnemyModelView : Node3D, IEnemyModelView
|
||||
|
||||
public override void _ExitTree()
|
||||
{
|
||||
AnimationTree.Get(_parametersPlayback).As<AnimationNodeStateMachinePlayback>().Stop();
|
||||
if (AnimationTree != null)
|
||||
AnimationTree.Get(_parametersPlayback).As<AnimationNodeStateMachinePlayback>().Stop();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,114 +26,116 @@ public partial class EnemyModelView2D : EnemyModelView, IEnemyModelView
|
||||
|
||||
EnemyDirection _enemyDirection { get; set; } = EnemyDirection.Forward;
|
||||
|
||||
public AttackData AttackData { get; set; }
|
||||
|
||||
public new void OnReady()
|
||||
{
|
||||
Hitbox.AreaEntered += Hitbox_AreaEntered;
|
||||
base.OnReady();
|
||||
Hitbox.AreaEntered += Hitbox_AreaEntered;
|
||||
base.OnReady();
|
||||
}
|
||||
|
||||
private void Hitbox_AreaEntered(Area3D area) => OnPlayerHit(new AttackEventArgs(new AttackData(10, ElementType.None)));
|
||||
private void Hitbox_AreaEntered(Area3D area) => OnPlayerHit(new AttackEventArgs(AttackData));
|
||||
|
||||
public void SetCurrentDirection(Basis enemyBasis, Vector3 cameraDirection) => _enemyDirection = GetEnemyDirection(enemyBasis, cameraDirection, _upperThreshold, _lowerThreshold);
|
||||
|
||||
public override void PlayHitAnimation()
|
||||
{
|
||||
LoadShader("res://src/vfx/shaders/DamageHit.gdshader");
|
||||
var tweener = GetTree().CreateTween();
|
||||
tweener.TweenMethod(Callable.From((float x) => SetShaderValue(x)), 0.0f, 1.0f, 1.0f);
|
||||
LoadShader("res://src/vfx/shaders/DamageHit.gdshader");
|
||||
var tweener = GetTree().CreateTween();
|
||||
tweener.TweenMethod(Callable.From((float x) => SetShaderValue(x)), 0.0f, 1.0f, 1.0f);
|
||||
}
|
||||
|
||||
public override void PlayDeathAnimation()
|
||||
{
|
||||
LoadShader("res://src/vfx/shaders/PixelMelt.gdshader");
|
||||
var tweener = GetTree().CreateTween();
|
||||
tweener.TweenMethod(Callable.From((float x) => SetShaderValue(x)), 0.0f, 1.0f, 0.8f);
|
||||
LoadShader("res://src/vfx/shaders/PixelMelt.gdshader");
|
||||
var tweener = GetTree().CreateTween();
|
||||
tweener.TweenMethod(Callable.From((float x) => SetShaderValue(x)), 0.0f, 1.0f, 0.8f);
|
||||
}
|
||||
|
||||
private EnemyDirection GetEnemyDirection(
|
||||
Basis enemyBasis,
|
||||
Vector3 cameraDirection,
|
||||
float rotateUpperThreshold,
|
||||
float rotateLowerThreshold)
|
||||
Basis enemyBasis,
|
||||
Vector3 cameraDirection,
|
||||
float rotateUpperThreshold,
|
||||
float rotateLowerThreshold)
|
||||
{
|
||||
var enemyForwardDirection = enemyBasis.Z;
|
||||
var enemyLeftDirection = enemyBasis.X;
|
||||
var enemyForwardDirection = enemyBasis.Z;
|
||||
var enemyLeftDirection = enemyBasis.X;
|
||||
|
||||
var leftDotProduct = enemyLeftDirection.Dot(cameraDirection);
|
||||
var forwardDotProduct = enemyForwardDirection.Dot(cameraDirection);
|
||||
var leftDotProduct = enemyLeftDirection.Dot(cameraDirection);
|
||||
var forwardDotProduct = enemyForwardDirection.Dot(cameraDirection);
|
||||
|
||||
// Check if forward facing. If the dot product is -1, the enemy is facing the camera.
|
||||
if (forwardDotProduct < _lowerThreshold)
|
||||
{
|
||||
SetForward();
|
||||
return EnemyDirection.Forward;
|
||||
}
|
||||
// Check if forward facing. If the dot product is -1, the enemy is facing the camera.
|
||||
if (forwardDotProduct < _lowerThreshold)
|
||||
{
|
||||
SetForward();
|
||||
return EnemyDirection.Forward;
|
||||
}
|
||||
|
||||
// Check if backward facing. If the dot product is 1, the enemy is facing the same direction as the camera.
|
||||
else if (forwardDotProduct > rotateUpperThreshold)
|
||||
{
|
||||
SetBack();
|
||||
return EnemyDirection.Backward;
|
||||
}
|
||||
else
|
||||
{
|
||||
// If the dot product of the perpendicular direction is positive (up to 1), the enemy is facing to the left (since it's mirrored).
|
||||
if (leftDotProduct < _lowerThreshold)
|
||||
{
|
||||
SetRight();
|
||||
return EnemyDirection.Left;
|
||||
}
|
||||
// Check if backward facing. If the dot product is 1, the enemy is facing the same direction as the camera.
|
||||
else if (forwardDotProduct > rotateUpperThreshold)
|
||||
{
|
||||
SetBack();
|
||||
return EnemyDirection.Backward;
|
||||
}
|
||||
else
|
||||
{
|
||||
// If the dot product of the perpendicular direction is positive (up to 1), the enemy is facing to the left (since it's mirrored).
|
||||
if (leftDotProduct < _lowerThreshold)
|
||||
{
|
||||
SetRight();
|
||||
return EnemyDirection.Left;
|
||||
}
|
||||
|
||||
// Check if side facing. If the dot product is close to zero in the positive or negative direction, its close to the threshold for turning.
|
||||
if (leftDotProduct > rotateUpperThreshold)
|
||||
{
|
||||
SetLeft();
|
||||
return EnemyDirection.Right;
|
||||
}
|
||||
}
|
||||
// Check if side facing. If the dot product is close to zero in the positive or negative direction, its close to the threshold for turning.
|
||||
if (leftDotProduct > rotateUpperThreshold)
|
||||
{
|
||||
SetLeft();
|
||||
return EnemyDirection.Right;
|
||||
}
|
||||
}
|
||||
|
||||
return _enemyDirection;
|
||||
return _enemyDirection;
|
||||
}
|
||||
|
||||
private void LoadShader(string shaderPath)
|
||||
{
|
||||
var shader = GD.Load<Shader>(shaderPath);
|
||||
var sprites = FindChildren("*", "AnimatedSprite2D", true).Cast<AnimatedSprite2D>();
|
||||
foreach (var sprite in sprites)
|
||||
{
|
||||
sprite.Material = new ShaderMaterial();
|
||||
var shaderMaterial = (ShaderMaterial)sprite.Material;
|
||||
shaderMaterial.Shader = shader;
|
||||
}
|
||||
var shader = GD.Load<Shader>(shaderPath);
|
||||
var sprites = FindChildren("*", "AnimatedSprite2D", true).Cast<AnimatedSprite2D>();
|
||||
foreach (var sprite in sprites)
|
||||
{
|
||||
sprite.Material = new ShaderMaterial();
|
||||
var shaderMaterial = (ShaderMaterial)sprite.Material;
|
||||
shaderMaterial.Shader = shader;
|
||||
}
|
||||
}
|
||||
|
||||
private void SetShaderValue(float shaderValue)
|
||||
{
|
||||
var sprites = FindChildren("*", "AnimatedSprite2D", true).Cast<AnimatedSprite2D>();
|
||||
foreach (var sprite in sprites)
|
||||
{
|
||||
var shaderMaterial = (ShaderMaterial)sprite.Material;
|
||||
shaderMaterial.SetShaderParameter("progress", shaderValue);
|
||||
}
|
||||
var sprites = FindChildren("*", "AnimatedSprite2D", true).Cast<AnimatedSprite2D>();
|
||||
foreach (var sprite in sprites)
|
||||
{
|
||||
var shaderMaterial = (ShaderMaterial)sprite.Material;
|
||||
shaderMaterial.SetShaderParameter("progress", shaderValue);
|
||||
}
|
||||
}
|
||||
|
||||
private void SetForward()
|
||||
{
|
||||
_enemyDirection = EnemyDirection.Forward;
|
||||
_enemyDirection = EnemyDirection.Forward;
|
||||
}
|
||||
|
||||
private void SetLeft()
|
||||
{
|
||||
_enemyDirection = EnemyDirection.Left;
|
||||
_enemyDirection = EnemyDirection.Left;
|
||||
}
|
||||
|
||||
private void SetRight()
|
||||
{
|
||||
_enemyDirection = EnemyDirection.Right;
|
||||
_enemyDirection = EnemyDirection.Right;
|
||||
}
|
||||
|
||||
private void SetBack()
|
||||
{
|
||||
_enemyDirection = EnemyDirection.Backward;
|
||||
_enemyDirection = EnemyDirection.Backward;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,33 +9,33 @@ public partial class EnemyModelView3D : EnemyModelView
|
||||
{
|
||||
public override void _Notification(int what) => this.Notify(what);
|
||||
|
||||
[Node] private AnimationPlayer _animationPlayer { get; set; } = default!;
|
||||
[Node] protected AnimationPlayer _animationPlayer { get; set; } = default!;
|
||||
|
||||
[Node] public MeshInstance3D MeshInstance { get; set; } = default!;
|
||||
|
||||
private void ChangeMaterial()
|
||||
{
|
||||
var material = new StandardMaterial3D
|
||||
{
|
||||
AlbedoColor = Color.FromHsv(0, 1, 1, 1)
|
||||
};
|
||||
MeshInstance.MaterialOverride = (Material)material.Duplicate();
|
||||
var material = new StandardMaterial3D
|
||||
{
|
||||
AlbedoColor = Color.FromHsv(0, 1, 1, 1)
|
||||
};
|
||||
MeshInstance.MaterialOverride = (Material)material.Duplicate();
|
||||
}
|
||||
|
||||
private void LoadShader(string shaderPath)
|
||||
{
|
||||
var shader = GD.Load<ShaderMaterial>(shaderPath);
|
||||
MeshInstance.MaterialOverride = shader;
|
||||
var shader = GD.Load<ShaderMaterial>(shaderPath);
|
||||
MeshInstance.MaterialOverride = shader;
|
||||
}
|
||||
|
||||
private void ClearDamageEffect()
|
||||
{
|
||||
MeshInstance.MaterialOverride = null;
|
||||
MeshInstance.Transparency = 0;
|
||||
MeshInstance.MaterialOverride = null;
|
||||
MeshInstance.Transparency = 0;
|
||||
}
|
||||
|
||||
private void SetTransparency(float transparencyAmount)
|
||||
{
|
||||
MeshInstance.Transparency = transparencyAmount;
|
||||
MeshInstance.Transparency = transparencyAmount;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using Chickensoft.GodotNodeInterfaces;
|
||||
using Godot;
|
||||
using System;
|
||||
using Zennysoft.Ma.Adapter;
|
||||
|
||||
namespace Zennysoft.Game.Ma;
|
||||
|
||||
@@ -24,6 +25,8 @@ public interface IEnemyModelView : INode3D
|
||||
|
||||
public void PlayDeathAnimation();
|
||||
|
||||
public AttackData AttackData { get; set; }
|
||||
|
||||
public event EventHandler HitPlayer;
|
||||
|
||||
public event EventHandler ActivationFinished;
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
[gd_scene load_steps=12 format=3 uid="uid://bs56ccgosmu47"]
|
||||
[gd_scene load_steps=16 format=3 uid="uid://bs56ccgosmu47"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cq6b4ma3sy1en" path="res://src/enemy/enemy_types/01. sproingy/Sproingy.cs" id="1_xsluo"]
|
||||
[ext_resource type="PackedScene" uid="uid://2nkvacxsd46b" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="4_drfkj"]
|
||||
[ext_resource type="PackedScene" uid="uid://bimjnsu52y3xi" path="res://src/enemy/enemy_types/01. sproingy/SproingyModelView.tscn" id="4_o3b7p"]
|
||||
[ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="5_drfkj"]
|
||||
[ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="6_moun4"]
|
||||
[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_ungov"]
|
||||
[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_ungov"]
|
||||
[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_agkuf"]
|
||||
[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="9_icstk"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"]
|
||||
radius = 0.106078
|
||||
@@ -30,7 +34,7 @@ radius = 1.0
|
||||
|
||||
[node name="Sproingy" type="CharacterBody3D"]
|
||||
process_mode = 1
|
||||
collision_layer = 11
|
||||
collision_layer = 10
|
||||
axis_lock_linear_y = true
|
||||
axis_lock_angular_x = true
|
||||
axis_lock_angular_z = true
|
||||
@@ -94,9 +98,37 @@ _followSpeed = 150.0
|
||||
|
||||
[node name="EngagePlayerBehavior" parent="Components" instance=ExtResource("5_drfkj")]
|
||||
unique_name_in_owner = true
|
||||
_minimumAttackTime = 3.0
|
||||
_maximumAttackTime = 7.0
|
||||
_acquireTargetTime = 2.0
|
||||
|
||||
[node name="NavigationAgent" type="NavigationAgent3D" parent="Components"]
|
||||
unique_name_in_owner = true
|
||||
avoidance_enabled = true
|
||||
radius = 1.0
|
||||
|
||||
[node name="SFX" type="Node3D" parent="."]
|
||||
|
||||
[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="SFX"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("6_ungov")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="HitSFX" type="AudioStreamPlayer3D" parent="SFX"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("7_ungov")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="MorphSFX" type="AudioStreamPlayer3D" parent="SFX"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("8_agkuf")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="DieSFX" type="AudioStreamPlayer3D" parent="SFX"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("9_icstk")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="AggroSFX" type="AudioStreamPlayer3D" parent="SFX"]
|
||||
unique_name_in_owner = true
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
[gd_scene load_steps=81 format=3 uid="uid://bimjnsu52y3xi"]
|
||||
[gd_scene load_steps=79 format=3 uid="uid://bimjnsu52y3xi"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cvr1qimxpignl" path="res://src/enemy/EnemyModelView2D.cs" id="1_oh25a"]
|
||||
[ext_resource type="Texture2D" uid="uid://dd0ia6isdqg61" path="res://src/enemy/enemy_types/01. sproingy/animations/ATTACK/Layer 1.png" id="1_pbx41"]
|
||||
[ext_resource type="Texture2D" uid="uid://bs4ico5ouo5d3" path="res://src/enemy/enemy_types/01. sproingy/animations/ATTACK/Layer 2.png" id="2_0vbio"]
|
||||
[ext_resource type="Script" uid="uid://dlsgyx4i1jmp3" path="res://src/enemy/EnemyLoreInfo.cs" id="2_7hf3j"]
|
||||
[ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="3_8wbs7"]
|
||||
[ext_resource type="Material" uid="uid://x2bv1q51mcjq" path="res://src/enemy/PixelMelt.tres" id="3_ivy74"]
|
||||
[ext_resource type="Texture2D" uid="uid://85ki5mc4h0vs" path="res://src/enemy/enemy_types/01. sproingy/animations/ATTACK/Layer 3.png" id="3_lae8t"]
|
||||
[ext_resource type="Texture2D" uid="uid://bwt1m2frb3r0e" path="res://src/enemy/enemy_types/01. sproingy/animations/ATTACK/Layer 4.png" id="4_53wuj"]
|
||||
@@ -68,12 +67,6 @@ Name = "Sproingy"
|
||||
Description = "He's smaller than I expected..."
|
||||
metadata/_custom_type_script = "uid://dlsgyx4i1jmp3"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_8wbs7"]
|
||||
script = ExtResource("3_8wbs7")
|
||||
Damage = 10
|
||||
ElementType = 0
|
||||
metadata/_custom_type_script = "uid://ctshiyffvt4y5"
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_h1kaf"]
|
||||
viewport_path = NodePath("Sprite3D/SubViewportContainer/SubViewport")
|
||||
|
||||
@@ -662,7 +655,6 @@ transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition
|
||||
[node name="EnemyModelView" type="Node3D"]
|
||||
script = ExtResource("1_oh25a")
|
||||
EnemyLoreInfo = SubResource("Resource_ivy74")
|
||||
AttackData = SubResource("Resource_8wbs7")
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="."]
|
||||
transform = Transform3D(6, 0, 0, 0, 6, 0, 0, 0, 6, 0, 0, 0)
|
||||
@@ -718,3 +710,8 @@ root_node = NodePath("%AnimationTree/..")
|
||||
tree_root = SubResource("AnimationNodeStateMachine_l2wq1")
|
||||
advance_expression_base_node = NodePath("..")
|
||||
anim_player = NodePath("../AnimationPlayer")
|
||||
|
||||
[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
autoplay = true
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://c08wbuumw6dk5"]
|
||||
|
||||
[ext_resource type="Script" path="res://src/enemy/EnemyStatResource.cs" id="1_2i74g"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_2i74g")
|
||||
CurrentHP = 0.0
|
||||
MaximumHP = 50.0
|
||||
CurrentAttack = 0
|
||||
CurrentDefense = 0
|
||||
MaxAttack = 0
|
||||
MaxDefense = 0
|
||||
Luck = 0.05
|
||||
TelluricResistance = 0.0
|
||||
AeolicResistance = 0.0
|
||||
HydricResistance = 0.0
|
||||
IgneousResistance = 0.0
|
||||
FerrumResistance = 0.0
|
||||
TelluricDamageBonus = 0.0
|
||||
AeolicDamageBonus = 0.0
|
||||
BaseHydricDamageBonus = 0.0
|
||||
IgneousDamageBonus = 0.0
|
||||
FerrumDamageBonus = 0.0
|
||||
DropsSoulGemChance = 0.75
|
||||
@@ -1,10 +1,14 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://b0gwivt7cw7nd"]
|
||||
[gd_scene load_steps=14 format=3 uid="uid://b0gwivt7cw7nd"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://c4pdledq3bll3" path="res://src/enemy/enemy_types/02. michael/Michael.cs" id="1_lb5oy"]
|
||||
[ext_resource type="PackedScene" uid="uid://bjg8wyvp8q6oc" path="res://src/enemy/enemy_types/02. michael/MichaelModelView.tscn" id="3_wrps7"]
|
||||
[ext_resource type="PackedScene" uid="uid://2nkvacxsd46b" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="5_fkx5j"]
|
||||
[ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="6_bun8r"]
|
||||
[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_x8mrp"]
|
||||
[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_kwkfv"]
|
||||
[ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="7_x8mrp"]
|
||||
[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_upf7y"]
|
||||
[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="9_fm627"]
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_jbgmx"]
|
||||
height = 5.0
|
||||
@@ -86,3 +90,29 @@ _acquireTargetTime = 2.0
|
||||
unique_name_in_owner = true
|
||||
avoidance_enabled = true
|
||||
radius = 1.0
|
||||
|
||||
[node name="HitSounds" type="Node3D" parent="."]
|
||||
|
||||
[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("6_x8mrp")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("7_kwkfv")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("8_upf7y")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("9_fm627")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -1241,3 +1241,8 @@ transform = Transform3D(0.72, 0, 0, 0, 0.72, 0, 0, 0, 0.72, -0.129818, 0.274447,
|
||||
modulate = Color(0.977, 0.31, 1, 0.741176)
|
||||
billboard = 2
|
||||
sprite_frames = SubResource("SpriteFrames_suy1t")
|
||||
|
||||
[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
autoplay = true
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=12 format=3 uid="uid://cvk007twac22c"]
|
||||
[gd_scene load_steps=16 format=3 uid="uid://cvk007twac22c"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cohal8w5ceneg" path="res://src/enemy/enemy_types/03. filth_eater/FilthEater.cs" id="1_p438s"]
|
||||
[ext_resource type="PackedScene" uid="uid://bup8c4x1na3aw" path="res://src/enemy/enemy_types/03. filth_eater/FilthEaterModelView.tscn" id="3_rrwed"]
|
||||
@@ -6,6 +6,10 @@
|
||||
[ext_resource type="PackedScene" uid="uid://2nkvacxsd46b" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="5_pvjvo"]
|
||||
[ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="6_fccr3"]
|
||||
[ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="7_8l567"]
|
||||
[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="7_qbmfg"]
|
||||
[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="8_m7220"]
|
||||
[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="9_g602r"]
|
||||
[ext_resource type="AudioStream" uid="uid://6r74nka4oh20" path="res://src/audio/sfx/ENEMY_filth_aggro.ogg" id="11_qbmfg"]
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_jbgmx"]
|
||||
height = 5.0
|
||||
@@ -93,3 +97,29 @@ _acquireTargetTime = 2.0
|
||||
unique_name_in_owner = true
|
||||
avoidance_enabled = true
|
||||
radius = 1.0
|
||||
|
||||
[node name="HitSounds" type="Node3D" parent="."]
|
||||
|
||||
[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("7_qbmfg")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("8_m7220")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("9_g602r")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("11_qbmfg")
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -3412,3 +3412,8 @@ libraries = {
|
||||
|
||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."]
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
autoplay = true
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://coyidduu5uhsp"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_o2ug3"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_o2ug3")
|
||||
CurrentHP = 60.0
|
||||
MaximumHP = 60
|
||||
CurrentAttack = 15
|
||||
CurrentDefense = 5
|
||||
MaxAttack = 15
|
||||
MaxDefense = 5
|
||||
ExpFromDefeat = 15
|
||||
Luck = 0.05
|
||||
_telluricResistance = 0.0
|
||||
_aeolicResistance = 0.0
|
||||
_hydricResistance = 0.0
|
||||
_igneousResistance = 0.0
|
||||
_ferrumResistance = 0.0
|
||||
DropsSoulGemChance = 0.75
|
||||
metadata/_custom_type_script = ExtResource("1_o2ug3")
|
||||
@@ -1,10 +1,14 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://bksq62muhk3h5"]
|
||||
[gd_scene load_steps=14 format=3 uid="uid://bksq62muhk3h5"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://jjulhqd5g3bd" path="res://src/enemy/enemy_types/04. sara/Sara.cs" id="1_3ejdn"]
|
||||
[ext_resource type="PackedScene" uid="uid://2nkvacxsd46b" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="4_8ymq6"]
|
||||
[ext_resource type="PackedScene" uid="uid://bli0t0d6ommvi" path="res://src/enemy/enemy_types/04. sara/SaraModelView.tscn" id="4_82s0m"]
|
||||
[ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="5_lxgpb"]
|
||||
[ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="6_ddchx"]
|
||||
[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_lxgpb"]
|
||||
[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_ddchx"]
|
||||
[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_746fv"]
|
||||
[ext_resource type="AudioStream" uid="uid://bemrovoemoq5u" path="res://src/audio/sfx/ENEMY_APSARA_AGGRO.ogg" id="10_ddchx"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"]
|
||||
radius = 0.106078
|
||||
@@ -89,3 +93,29 @@ _acquireTargetTime = 2.0
|
||||
unique_name_in_owner = true
|
||||
avoidance_enabled = true
|
||||
radius = 1.0
|
||||
|
||||
[node name="HitSounds" type="Node3D" parent="."]
|
||||
|
||||
[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("6_lxgpb")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("7_ddchx")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("8_746fv")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("10_ddchx")
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -1892,3 +1892,8 @@ libraries = {
|
||||
[node name="Attacks" type="AudioStreamPlayer3D" parent="."]
|
||||
process_mode = 3
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
autoplay = true
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://b0e6yx54hhbw7"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_besl4"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_besl4")
|
||||
CurrentHP = 60.0
|
||||
MaximumHP = 60
|
||||
CurrentAttack = 15
|
||||
CurrentDefense = 7
|
||||
MaxAttack = 15
|
||||
MaxDefense = 7
|
||||
ExpFromDefeat = 5
|
||||
Luck = 0.05
|
||||
_telluricResistance = 0.0
|
||||
_aeolicResistance = 0.0
|
||||
_hydricResistance = 0.0
|
||||
_igneousResistance = 0.0
|
||||
_ferrumResistance = 0.0
|
||||
DropsSoulGemChance = 0.75
|
||||
metadata/_custom_type_script = ExtResource("1_besl4")
|
||||
@@ -1,10 +1,13 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://feegakykn3fv"]
|
||||
[gd_scene load_steps=13 format=3 uid="uid://feegakykn3fv"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dwfxs5yrf7i3v" path="res://src/enemy/enemy_types/05. ballos/Ballos.cs" id="1_iy2fp"]
|
||||
[ext_resource type="PackedScene" uid="uid://c5xijwxkg4pf6" path="res://src/enemy/enemy_types/05. ballos/BallosModelView.tscn" id="2_v2urn"]
|
||||
[ext_resource type="PackedScene" uid="uid://2nkvacxsd46b" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="4_bjnvx"]
|
||||
[ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="5_55sdf"]
|
||||
[ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="6_2xj0s"]
|
||||
[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_wpleu"]
|
||||
[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_vibb5"]
|
||||
[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_b4xgw"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"]
|
||||
radius = 0.717471
|
||||
@@ -87,3 +90,28 @@ _acquireTargetTime = 2.0
|
||||
unique_name_in_owner = true
|
||||
avoidance_enabled = true
|
||||
radius = 1.0
|
||||
|
||||
[node name="HitSounds" type="Node3D" parent="."]
|
||||
|
||||
[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("6_wpleu")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("7_vibb5")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("8_b4xgw")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=171 format=3 uid="uid://c5xijwxkg4pf6"]
|
||||
[gd_scene load_steps=172 format=3 uid="uid://c5xijwxkg4pf6"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cvr1qimxpignl" path="res://src/enemy/EnemyModelView2D.cs" id="1_ueqp5"]
|
||||
[ext_resource type="Texture2D" uid="uid://bgkx485uy065" path="res://src/enemy/enemy_types/05. ballos/animations/WALK BACK/1.png" id="3_b3ny6"]
|
||||
@@ -93,6 +93,7 @@
|
||||
[ext_resource type="Texture2D" uid="uid://cuiwtl48d2rgo" path="res://src/enemy/enemy_types/05. ballos/animations/Ballos Side Attack Frames/ATTACK 2 SIDE/frame_23_delay-0.01s.png" id="72_3ev0n"]
|
||||
[ext_resource type="Texture2D" uid="uid://jsknxkujml8k" path="res://src/enemy/enemy_types/05. ballos/animations/Ballos Side Attack Frames/ATTACK 2 BACK/frame_11_delay-0.01s.png" id="72_4q1uq"]
|
||||
[ext_resource type="Texture2D" uid="uid://cejae00ramgdn" path="res://src/enemy/enemy_types/05. ballos/animations/Ballos Side Attack Frames/ATTACK 2 SIDE/frame_24_delay-0.01s.png" id="73_o6ljw"]
|
||||
[ext_resource type="AudioStream" uid="uid://s8weoqkpc155" path="res://src/audio/sfx/enemy_balos_rolling.ogg" id="94_i3hgg"]
|
||||
[ext_resource type="Texture2D" uid="uid://dh0upso5h2agw" path="res://src/vfx/Enemy/ballos_SPELL.png" id="95_o6ljw"]
|
||||
[ext_resource type="AnimationNodeStateMachine" uid="uid://co7lshemjrro8" path="res://src/enemy/animation_state_machines/IdleStateMachine.tres" id="96_i3hgg"]
|
||||
[ext_resource type="AnimationNodeStateMachine" uid="uid://clybvwx3itfeo" path="res://src/enemy/animation_state_machines/SecondaryAttackStateMachine.tres" id="97_i3hgg"]
|
||||
@@ -1527,4 +1528,8 @@ libraries = {
|
||||
&"": SubResource("AnimationLibrary_tamk8")
|
||||
}
|
||||
|
||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."]
|
||||
[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("94_i3hgg")
|
||||
autoplay = true
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://dlw5cvutvypxn"]
|
||||
[gd_scene load_steps=14 format=3 uid="uid://dlw5cvutvypxn"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://djx5x5bhkku85" path="res://src/enemy/enemy_types/06. chariot/Chariot.cs" id="1_q1q0f"]
|
||||
[ext_resource type="PackedScene" uid="uid://dcm53j3rncxdm" path="res://src/enemy/enemy_types/06. chariot/ChariotModelView.tscn" id="3_q1q0f"]
|
||||
[ext_resource type="PackedScene" uid="uid://2nkvacxsd46b" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="4_ee8v4"]
|
||||
[ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="5_uv8in"]
|
||||
[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_582pa"]
|
||||
[ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="6_cfqmf"]
|
||||
[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_jemva"]
|
||||
[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_ave6n"]
|
||||
[ext_resource type="AudioStream" uid="uid://daye7334d7rfe" path="res://src/audio/sfx/ENEMY_CHARIOT_DEATH.ogg" id="9_cfqmf"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"]
|
||||
radius = 1.0
|
||||
@@ -83,3 +87,29 @@ _acquireTargetTime = 2.0
|
||||
unique_name_in_owner = true
|
||||
avoidance_enabled = true
|
||||
radius = 1.0
|
||||
|
||||
[node name="HitSounds" type="Node3D" parent="."]
|
||||
|
||||
[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("6_582pa")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("7_jemva")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("8_ave6n")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("9_cfqmf")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -8093,3 +8093,8 @@ root_node = NodePath("../AnimatedSprite3D")
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_q8n6h")
|
||||
}
|
||||
|
||||
[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
autoplay = true
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
[gd_scene load_steps=11 format=3 uid="uid://c6tqt27ql8s35"]
|
||||
[gd_scene load_steps=14 format=3 uid="uid://c6tqt27ql8s35"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://fwtjthix6awv" path="res://src/enemy/enemy_types/07. chinthe/Chinthe.cs" id="1_120m2"]
|
||||
[ext_resource type="Script" uid="uid://dlsgyx4i1jmp3" path="res://src/enemy/EnemyLoreInfo.cs" id="3_567xa"]
|
||||
[ext_resource type="PackedScene" uid="uid://byd7cwxq1be6f" path="res://src/enemy/enemy_types/07. chinthe/ChintheModelView.tscn" id="3_ncr2e"]
|
||||
[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_24q6i"]
|
||||
[ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="6_t7elt"]
|
||||
[ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="7_24q6i"]
|
||||
[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_q6h01"]
|
||||
[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_a4ku4"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"]
|
||||
radius = 0.226425
|
||||
@@ -84,3 +87,28 @@ _acquireTargetTime = 2.0
|
||||
unique_name_in_owner = true
|
||||
avoidance_enabled = true
|
||||
radius = 1.0
|
||||
|
||||
[node name="HitSounds" type="Node3D" parent="."]
|
||||
|
||||
[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("6_24q6i")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("7_q6h01")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("8_a4ku4")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -3569,3 +3569,8 @@ draw_pass_1 = SubResource("SphereMesh_xu4hf")
|
||||
|
||||
[node name="Chinthe SFX" type="AudioStreamPlayer3D" parent="."]
|
||||
max_distance = 25.0
|
||||
|
||||
[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
autoplay = true
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://c854s8bdil3"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_616yc"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_616yc")
|
||||
CurrentHP = 55.0
|
||||
MaximumHP = 55
|
||||
CurrentAttack = 10
|
||||
CurrentDefense = 10
|
||||
MaxAttack = 10
|
||||
MaxDefense = 10
|
||||
ExpFromDefeat = 100
|
||||
Luck = 0.05
|
||||
_telluricResistance = 0.0
|
||||
_aeolicResistance = 0.0
|
||||
_hydricResistance = 0.0
|
||||
_igneousResistance = 0.0
|
||||
_ferrumResistance = 0.0
|
||||
DropsSoulGemChance = 0.75
|
||||
metadata/_custom_type_script = "uid://dnkmr0eq1sij0"
|
||||
@@ -1,10 +1,15 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://fosk3kt7vp8d"]
|
||||
[gd_scene load_steps=15 format=3 uid="uid://fosk3kt7vp8d"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dauir5q616wyq" path="res://src/enemy/enemy_types/08a. Ambassador/Ambassador.cs" id="1_m2guv"]
|
||||
[ext_resource type="PackedScene" uid="uid://2nkvacxsd46b" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="4_hqy0f"]
|
||||
[ext_resource type="PackedScene" uid="uid://c2i8ylr3y0bri" path="res://src/enemy/enemy_types/08a. Ambassador/AmbassadorModelView.tscn" id="4_pjmem"]
|
||||
[ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="5_gy5yi"]
|
||||
[ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="6_7f1qq"]
|
||||
[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_sjoyv"]
|
||||
[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_e5lq0"]
|
||||
[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_qyfut"]
|
||||
[ext_resource type="AudioStream" uid="uid://bu3up7dn13xyo" path="res://src/audio/sfx/enemy_ambassador_death.ogg" id="9_7f1qq"]
|
||||
[ext_resource type="AudioStream" uid="uid://6aje2myxas3d" path="res://src/audio/sfx/enemy_ambassador_aggro.ogg" id="10_sjoyv"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"]
|
||||
radius = 0.106078
|
||||
@@ -89,3 +94,30 @@ _acquireTargetTime = 2.0
|
||||
unique_name_in_owner = true
|
||||
avoidance_enabled = true
|
||||
radius = 1.0
|
||||
|
||||
[node name="HitSounds" type="Node3D" parent="."]
|
||||
|
||||
[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("6_sjoyv")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("7_e5lq0")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("8_qyfut")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("9_7f1qq")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("10_sjoyv")
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -2054,3 +2054,8 @@ advance_expression_base_node = NodePath("..")
|
||||
|
||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."]
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
autoplay = true
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://bcpygpm2q5bpn"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_1vmbx"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_1vmbx")
|
||||
CurrentHP = 80.0
|
||||
MaximumHP = 80
|
||||
CurrentAttack = 10
|
||||
CurrentDefense = 10
|
||||
MaxAttack = 10
|
||||
MaxDefense = 10
|
||||
ExpFromDefeat = 0
|
||||
Luck = 0.05
|
||||
_telluricResistance = 0.0
|
||||
_aeolicResistance = 0.0
|
||||
_hydricResistance = 0.0
|
||||
_igneousResistance = 0.0
|
||||
_ferrumResistance = 0.0
|
||||
DropsSoulGemChance = 0.75
|
||||
metadata/_custom_type_script = "uid://dnkmr0eq1sij0"
|
||||
@@ -1,10 +1,15 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://c5gbaybqm4cuk"]
|
||||
[gd_scene load_steps=15 format=3 uid="uid://c5gbaybqm4cuk"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dauir5q616wyq" path="res://src/enemy/enemy_types/08a. Ambassador/Ambassador.cs" id="1_4nav4"]
|
||||
[ext_resource type="PackedScene" uid="uid://72lbcmp4bcx4" path="res://src/enemy/enemy_types/08b. Ambassador (red)/AmbassadorSmallModelView.tscn" id="4_hqkeq"]
|
||||
[ext_resource type="PackedScene" uid="uid://2nkvacxsd46b" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="5_65xvc"]
|
||||
[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_a21yr"]
|
||||
[ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="6_v4xmn"]
|
||||
[ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="7_a21yr"]
|
||||
[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_o0cbq"]
|
||||
[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_u6pfl"]
|
||||
[ext_resource type="AudioStream" uid="uid://bu3up7dn13xyo" path="res://src/audio/sfx/enemy_ambassador_death.ogg" id="9_v4xmn"]
|
||||
[ext_resource type="AudioStream" uid="uid://6aje2myxas3d" path="res://src/audio/sfx/enemy_ambassador_aggro.ogg" id="10_a21yr"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"]
|
||||
radius = 0.106078
|
||||
@@ -88,3 +93,30 @@ _acquireTargetTime = 2.0
|
||||
unique_name_in_owner = true
|
||||
avoidance_enabled = true
|
||||
radius = 1.0
|
||||
|
||||
[node name="HitSounds" type="Node3D" parent="."]
|
||||
|
||||
[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("6_a21yr")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("7_o0cbq")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("8_u6pfl")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("9_v4xmn")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("10_a21yr")
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -2000,3 +2000,8 @@ advance_expression_base_node = NodePath("..")
|
||||
|
||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."]
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
autoplay = true
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://doycpt2aqxnx"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_rf66x"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_rf66x")
|
||||
CurrentHP = 35.0
|
||||
MaximumHP = 35
|
||||
CurrentAttack = 10
|
||||
CurrentDefense = 10
|
||||
MaxAttack = 10
|
||||
MaxDefense = 10
|
||||
ExpFromDefeat = 0
|
||||
Luck = 0.05
|
||||
_telluricResistance = 0.0
|
||||
_aeolicResistance = 0.0
|
||||
_hydricResistance = 0.0
|
||||
_igneousResistance = 0.0
|
||||
_ferrumResistance = 0.0
|
||||
DropsSoulGemChance = 0.75
|
||||
metadata/_custom_type_script = "uid://dnkmr0eq1sij0"
|
||||
@@ -1,10 +1,15 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://b4oliop60eghn"]
|
||||
[gd_scene load_steps=15 format=3 uid="uid://b4oliop60eghn"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dauir5q616wyq" path="res://src/enemy/enemy_types/08a. Ambassador/Ambassador.cs" id="1_ln0kc"]
|
||||
[ext_resource type="PackedScene" uid="uid://lc5koiqn1sca" path="res://src/enemy/enemy_types/08c. Ambassador (steel)/AmbassadorSteelModelView.tscn" id="4_kdt1g"]
|
||||
[ext_resource type="PackedScene" uid="uid://2nkvacxsd46b" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="5_fmnae"]
|
||||
[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_5r3ee"]
|
||||
[ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="6_g5uri"]
|
||||
[ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="7_5r3ee"]
|
||||
[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_6o7lk"]
|
||||
[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_3p55n"]
|
||||
[ext_resource type="AudioStream" uid="uid://bu3up7dn13xyo" path="res://src/audio/sfx/enemy_ambassador_death.ogg" id="9_g5uri"]
|
||||
[ext_resource type="AudioStream" uid="uid://6aje2myxas3d" path="res://src/audio/sfx/enemy_ambassador_aggro.ogg" id="10_5r3ee"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"]
|
||||
radius = 0.106078
|
||||
@@ -87,3 +92,30 @@ _acquireTargetTime = 2.0
|
||||
unique_name_in_owner = true
|
||||
avoidance_enabled = true
|
||||
radius = 1.0
|
||||
|
||||
[node name="HitSounds" type="Node3D" parent="."]
|
||||
|
||||
[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("6_5r3ee")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("7_6o7lk")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("8_3p55n")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("9_g5uri")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("10_5r3ee")
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -2058,3 +2058,8 @@ advance_expression_base_node = NodePath("..")
|
||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.765249, 0)
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
autoplay = true
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://dudtbfjfekkh1"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_wijuv"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_wijuv")
|
||||
CurrentHP = 100.0
|
||||
MaximumHP = 100
|
||||
CurrentAttack = 10
|
||||
CurrentDefense = 10
|
||||
MaxAttack = 10
|
||||
MaxDefense = 10
|
||||
ExpFromDefeat = 0
|
||||
Luck = 0.05
|
||||
_telluricResistance = 0.0
|
||||
_aeolicResistance = 0.0
|
||||
_hydricResistance = 0.0
|
||||
_igneousResistance = 0.0
|
||||
_ferrumResistance = 0.0
|
||||
DropsSoulGemChance = 0.75
|
||||
metadata/_custom_type_script = "uid://dnkmr0eq1sij0"
|
||||
@@ -1,10 +1,13 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://b8ewfgcjv60es"]
|
||||
[gd_scene load_steps=13 format=3 uid="uid://b8ewfgcjv60es"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://h6duv685n6eh" path="res://src/enemy/enemy_types/09. Agni/AgniDemon.cs" id="1_e2477"]
|
||||
[ext_resource type="PackedScene" uid="uid://bls3mcsyld4vy" path="res://src/enemy/enemy_types/09. Agni/AgniDemonModelView.tscn" id="3_tbkej"]
|
||||
[ext_resource type="PackedScene" uid="uid://2nkvacxsd46b" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="4_dxxe5"]
|
||||
[ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="5_j6ob5"]
|
||||
[ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="6_58r4a"]
|
||||
[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_j6ob5"]
|
||||
[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_58r4a"]
|
||||
[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_jvw36"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"]
|
||||
radius = 0.226425
|
||||
@@ -84,3 +87,28 @@ _acquireTargetTime = 2.0
|
||||
unique_name_in_owner = true
|
||||
avoidance_enabled = true
|
||||
radius = 1.0
|
||||
|
||||
[node name="HitSounds" type="Node3D" parent="."]
|
||||
|
||||
[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("6_j6ob5")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("7_58r4a")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("8_jvw36")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=370 format=3 uid="uid://bls3mcsyld4vy"]
|
||||
[gd_scene load_steps=368 format=3 uid="uid://bls3mcsyld4vy"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cvr1qimxpignl" path="res://src/enemy/EnemyModelView2D.cs" id="1_wl7dh"]
|
||||
[ext_resource type="Texture2D" uid="uid://dsu48b5hf48xl" path="res://src/enemy/enemy_types/09. Agni/animations/B/frame_000_delay-0.01s.png" id="2_pt8gl"]
|
||||
@@ -332,8 +332,6 @@
|
||||
[ext_resource type="Texture2D" uid="uid://5f115symdsmg" path="res://src/enemy/enemy_types/09. Agni/animations/LAVA LOOP/frame_327_delay-0.01s.png" id="329_72hkg"]
|
||||
[ext_resource type="Texture2D" uid="uid://b6swecrctxcgy" path="res://src/enemy/enemy_types/09. Agni/animations/LAVA LOOP/frame_328_delay-0.01s.png" id="330_at3qg"]
|
||||
[ext_resource type="Texture2D" uid="uid://b6batijegfqfe" path="res://src/enemy/enemy_types/09. Agni/animations/LAVA LOOP/frame_329_delay-0.01s.png" id="331_610d6"]
|
||||
[ext_resource type="AudioStream" uid="uid://cc7g8awtomf45" path="res://src/audio/sfx/ENEMY_AGNI_ATTACK_1.ogg" id="333_3ax4w"]
|
||||
[ext_resource type="AudioStream" uid="uid://c36ewcgnjtr7g" path="res://src/audio/sfx/ENEMY_AGNI_ATTACK_2_SWING.ogg" id="334_7fjet"]
|
||||
[ext_resource type="AnimationNodeStateMachine" uid="uid://co7lshemjrro8" path="res://src/enemy/animation_state_machines/IdleStateMachine.tres" id="334_kp6fv"]
|
||||
[ext_resource type="AnimationNodeStateMachine" uid="uid://cbq8xog50cjjy" path="res://src/enemy/animation_state_machines/PrimaryAttackStateMachine.tres" id="335_3ax4w"]
|
||||
[ext_resource type="AnimationNodeStateMachine" uid="uid://clybvwx3itfeo" path="res://src/enemy/animation_state_machines/SecondaryAttackStateMachine.tres" id="336_7fjet"]
|
||||
@@ -1719,36 +1717,6 @@ tracks/1/keys = {
|
||||
"update": 0,
|
||||
"values": [0, 15]
|
||||
}
|
||||
tracks/2/type = "audio"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("SFX")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"clips": [{
|
||||
"end_offset": 0.0,
|
||||
"start_offset": 0.0,
|
||||
"stream": ExtResource("333_3ax4w")
|
||||
}],
|
||||
"times": PackedFloat32Array(0.376847)
|
||||
}
|
||||
tracks/2/use_blend = true
|
||||
tracks/3/type = "audio"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("SFX")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"clips": [{
|
||||
"end_offset": 0.0,
|
||||
"start_offset": 0.0,
|
||||
"stream": ExtResource("333_3ax4w")
|
||||
}],
|
||||
"times": PackedFloat32Array(0.597915)
|
||||
}
|
||||
tracks/3/use_blend = true
|
||||
|
||||
[sub_resource type="Animation" id="Animation_dc327"]
|
||||
resource_name = "primary_attack_back"
|
||||
@@ -1778,36 +1746,6 @@ tracks/1/keys = {
|
||||
"update": 0,
|
||||
"values": [0, 15]
|
||||
}
|
||||
tracks/2/type = "audio"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("SFX")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"clips": [{
|
||||
"end_offset": 0.0,
|
||||
"start_offset": 0.0,
|
||||
"stream": ExtResource("333_3ax4w")
|
||||
}],
|
||||
"times": PackedFloat32Array(0.376847)
|
||||
}
|
||||
tracks/2/use_blend = true
|
||||
tracks/3/type = "audio"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("SFX")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"clips": [{
|
||||
"end_offset": 0.0,
|
||||
"start_offset": 0.0,
|
||||
"stream": ExtResource("333_3ax4w")
|
||||
}],
|
||||
"times": PackedFloat32Array(0.597915)
|
||||
}
|
||||
tracks/3/use_blend = true
|
||||
|
||||
[sub_resource type="Animation" id="Animation_vur8v"]
|
||||
resource_name = "primary_attack_left"
|
||||
@@ -1837,36 +1775,6 @@ tracks/1/keys = {
|
||||
"update": 0,
|
||||
"values": [0, 15]
|
||||
}
|
||||
tracks/2/type = "audio"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("SFX")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"clips": [{
|
||||
"end_offset": 0.0,
|
||||
"start_offset": 0.0,
|
||||
"stream": ExtResource("333_3ax4w")
|
||||
}],
|
||||
"times": PackedFloat32Array(0.376847)
|
||||
}
|
||||
tracks/2/use_blend = true
|
||||
tracks/3/type = "audio"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("SFX")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"clips": [{
|
||||
"end_offset": 0.0,
|
||||
"start_offset": 0.0,
|
||||
"stream": ExtResource("333_3ax4w")
|
||||
}],
|
||||
"times": PackedFloat32Array(0.597915)
|
||||
}
|
||||
tracks/3/use_blend = true
|
||||
|
||||
[sub_resource type="Animation" id="Animation_pa2sb"]
|
||||
resource_name = "primary_attack_right"
|
||||
@@ -1896,36 +1804,6 @@ tracks/1/keys = {
|
||||
"update": 0,
|
||||
"values": [0, 15]
|
||||
}
|
||||
tracks/2/type = "audio"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("SFX")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"clips": [{
|
||||
"end_offset": 0.0,
|
||||
"start_offset": 0.0,
|
||||
"stream": ExtResource("333_3ax4w")
|
||||
}],
|
||||
"times": PackedFloat32Array(0.376847)
|
||||
}
|
||||
tracks/2/use_blend = true
|
||||
tracks/3/type = "audio"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("SFX")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"clips": [{
|
||||
"end_offset": 0.0,
|
||||
"start_offset": 0.0,
|
||||
"stream": ExtResource("333_3ax4w")
|
||||
}],
|
||||
"times": PackedFloat32Array(0.597915)
|
||||
}
|
||||
tracks/3/use_blend = true
|
||||
|
||||
[sub_resource type="Animation" id="Animation_5y02v"]
|
||||
resource_name = "secondary_attack"
|
||||
@@ -1967,21 +1845,6 @@ tracks/2/keys = {
|
||||
"update": 1,
|
||||
"values": [-1, 0]
|
||||
}
|
||||
tracks/3/type = "audio"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("SFX")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"clips": [{
|
||||
"end_offset": 0.0,
|
||||
"start_offset": 0.0,
|
||||
"stream": ExtResource("334_7fjet")
|
||||
}],
|
||||
"times": PackedFloat32Array(0.590571)
|
||||
}
|
||||
tracks/3/use_blend = true
|
||||
|
||||
[sub_resource type="Animation" id="Animation_dlml7"]
|
||||
resource_name = "secondary_attack_back"
|
||||
@@ -2011,21 +1874,6 @@ tracks/1/keys = {
|
||||
"update": 0,
|
||||
"values": [0, 22]
|
||||
}
|
||||
tracks/2/type = "audio"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("SFX")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"clips": [{
|
||||
"end_offset": 0.0,
|
||||
"start_offset": 0.0,
|
||||
"stream": ExtResource("334_7fjet")
|
||||
}],
|
||||
"times": PackedFloat32Array(0.590571)
|
||||
}
|
||||
tracks/2/use_blend = true
|
||||
|
||||
[sub_resource type="Animation" id="Animation_mm0yx"]
|
||||
resource_name = "secondary_attack_left"
|
||||
@@ -2067,21 +1915,6 @@ tracks/2/keys = {
|
||||
"update": 1,
|
||||
"values": [-1, 0]
|
||||
}
|
||||
tracks/3/type = "audio"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("SFX")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"clips": [{
|
||||
"end_offset": 0.0,
|
||||
"start_offset": 0.0,
|
||||
"stream": ExtResource("334_7fjet")
|
||||
}],
|
||||
"times": PackedFloat32Array(0.590571)
|
||||
}
|
||||
tracks/3/use_blend = true
|
||||
|
||||
[sub_resource type="Animation" id="Animation_x32v4"]
|
||||
resource_name = "secondary_attack_right"
|
||||
@@ -2123,21 +1956,6 @@ tracks/2/keys = {
|
||||
"update": 1,
|
||||
"values": [-1, 0]
|
||||
}
|
||||
tracks/3/type = "audio"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("SFX")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"clips": [{
|
||||
"end_offset": 0.0,
|
||||
"start_offset": 0.0,
|
||||
"stream": ExtResource("334_7fjet")
|
||||
}],
|
||||
"times": PackedFloat32Array(0.590571)
|
||||
}
|
||||
tracks/3/use_blend = true
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_x0ep5"]
|
||||
_data = {
|
||||
@@ -2339,6 +2157,7 @@ max_distance = 10.0
|
||||
bus = &"SFX"
|
||||
doppler_tracking = 1
|
||||
|
||||
[node name="SFX" type="AudioStreamPlayer3D" parent="."]
|
||||
process_mode = 3
|
||||
[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
autoplay = true
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://2lflwab43lb0"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_ip8hu"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_ip8hu")
|
||||
CurrentHP = 60.0
|
||||
MaximumHP = 60
|
||||
CurrentAttack = 10
|
||||
CurrentDefense = 10
|
||||
MaxAttack = 10
|
||||
MaxDefense = 10
|
||||
ExpFromDefeat = 0
|
||||
Luck = 0.05
|
||||
_telluricResistance = 0.0
|
||||
_aeolicResistance = 0.0
|
||||
_hydricResistance = 0.0
|
||||
_igneousResistance = 0.0
|
||||
_ferrumResistance = 0.0
|
||||
DropsSoulGemChance = 0.75
|
||||
metadata/_custom_type_script = "uid://dnkmr0eq1sij0"
|
||||
File diff suppressed because it is too large
Load Diff
@@ -8,7 +8,7 @@ using Zennysoft.Ma.Adapter;
|
||||
namespace Zennysoft.Game.Ma;
|
||||
|
||||
[Meta(typeof(IAutoNode))]
|
||||
public partial class EdenPillar : Enemy3D, IHasPrimaryAttack, IHasSecondaryAttack, IHasTertiaryAttack
|
||||
public partial class EdenPillar : Enemy3D, IHasPrimaryAttack, IHasSecondaryAttack, IHasTertiaryAttack, IHaveEngagePlayerBehavior
|
||||
{
|
||||
public override void _Notification(int what) => this.Notify(what);
|
||||
|
||||
@@ -32,70 +32,123 @@ public partial class EdenPillar : Enemy3D, IHasPrimaryAttack, IHasSecondaryAttac
|
||||
|
||||
[Node] private Node3D _rotation { get; set; } = default!;
|
||||
|
||||
[Node] private AudioStreamPlayer3D StoneRotation { get; set; } = default!;
|
||||
|
||||
[Node] private AudioStreamPlayer3D FireSFX { get; set; } = default!;
|
||||
|
||||
[Node] public Area3D PlayerDetector { get; set; } = default!;
|
||||
|
||||
[Node] public Area3D LoseTrackOfPlayer { get; set; } = default!;
|
||||
|
||||
[Node] public EngagePlayerBehavior EngagePlayerBehavior { get; set; } = default!;
|
||||
|
||||
|
||||
private float _primaryAngle = 0;
|
||||
private float _secondaryAngle = -122;
|
||||
private float _tertiaryAngle = 122;
|
||||
|
||||
private float _targetAngle;
|
||||
|
||||
public void OnReady()
|
||||
{
|
||||
PlayerDetector.BodyEntered += PlayerDetector_BodyEntered;
|
||||
LoseTrackOfPlayer.BodyExited += LoseTrackOfPlayer_BodyExited;
|
||||
EngagePlayerBehavior.TakeAction += PerformAction;
|
||||
HealthComponent.HealthReachedZero += HealthComponent_HealthReachedZero;
|
||||
}
|
||||
|
||||
private void LoseTrackOfPlayer_BodyExited(Node3D body) => EngagePlayerBehavior.Disengage();
|
||||
|
||||
private void HealthComponent_HealthReachedZero()
|
||||
{
|
||||
StoneRotation.Stop();
|
||||
}
|
||||
|
||||
private void PlayerDetector_BodyEntered(Node3D body)
|
||||
{
|
||||
EngagePlayerBehavior.Engage();
|
||||
}
|
||||
|
||||
public override void PerformAction()
|
||||
{
|
||||
var rng = new RandomNumberGenerator();
|
||||
var options = new List<Action>() { PrimaryAttack, SecondaryAttack, TertiaryAttack };
|
||||
var selection = rng.RandWeighted([1, 1, 1]);
|
||||
options[(int)selection].Invoke();
|
||||
var rng = new RandomNumberGenerator();
|
||||
var options = new List<Action>() { PrimaryAttack, SecondaryAttack, TertiaryAttack };
|
||||
var selection = rng.RandWeighted([1, 1, 1]);
|
||||
options[(int)selection].Invoke();
|
||||
}
|
||||
|
||||
public void PrimaryAttack()
|
||||
{
|
||||
var rotationAngle = GetRotationAngle(Mathf.DegToRad(_primaryAngle));
|
||||
var tweener = GetTree().CreateTween();
|
||||
tweener.TweenMethod(Callable.From((float x) => RotateTowardsPlayer(x)), Rotation.Y, rotationAngle, 5f);
|
||||
tweener.TweenCallback(Callable.From(FirePrimaryShot));
|
||||
var rotationAngle = GetRotationAngle(Mathf.DegToRad(_primaryAngle));
|
||||
if (!StoneRotation.Playing && !Mathf.IsEqualApprox(Rotation.Y, rotationAngle))
|
||||
StoneRotation.Play();
|
||||
var tweener = GetTree().CreateTween();
|
||||
tweener.TweenMethod(Callable.From((float x) => RotateTowardsPlayer(x)), Rotation.Y, rotationAngle, 5f);
|
||||
tweener.TweenCallback(Callable.From(FirePrimaryShot));
|
||||
}
|
||||
|
||||
public void SecondaryAttack()
|
||||
{
|
||||
var rotationAngle = GetRotationAngle(Mathf.DegToRad(_secondaryAngle));
|
||||
var tweener = GetTree().CreateTween();
|
||||
tweener.TweenMethod(Callable.From((float x) => RotateTowardsPlayer(x)), Rotation.Y, rotationAngle, 5f);
|
||||
tweener.TweenCallback(Callable.From(FireSecondaryShot));
|
||||
var rotationAngle = GetRotationAngle(Mathf.DegToRad(_secondaryAngle));
|
||||
if (!StoneRotation.Playing && !Mathf.IsEqualApprox(Rotation.Y, rotationAngle))
|
||||
StoneRotation.Play();
|
||||
var tweener = GetTree().CreateTween();
|
||||
tweener.TweenMethod(Callable.From((float x) => RotateTowardsPlayer(x)), Rotation.Y, rotationAngle, 5f);
|
||||
tweener.TweenCallback(Callable.From(FireSecondaryShot));
|
||||
}
|
||||
|
||||
public void TertiaryAttack()
|
||||
{
|
||||
var rotationAngle = GetRotationAngle(Mathf.DegToRad(_tertiaryAngle));
|
||||
var tweener = GetTree().CreateTween();
|
||||
tweener.TweenMethod(Callable.From((float x) => RotateTowardsPlayer(x)), Rotation.Y, rotationAngle, 5f);
|
||||
tweener.TweenCallback(Callable.From(FireTertiaryShot));
|
||||
var rotationAngle = GetRotationAngle(Mathf.DegToRad(_tertiaryAngle));
|
||||
if (!StoneRotation.Playing && !Mathf.IsEqualApprox(Rotation.Y, rotationAngle))
|
||||
StoneRotation.Play();
|
||||
var tweener = GetTree().CreateTween();
|
||||
tweener.TweenMethod(Callable.From((float x) => RotateTowardsPlayer(x)), Rotation.Y, rotationAngle, 5f);
|
||||
tweener.TweenCallback(Callable.From(FireTertiaryShot));
|
||||
}
|
||||
|
||||
private void FirePrimaryShot()
|
||||
{
|
||||
GD.Print("Fire primary shot");
|
||||
Projectile1.Fire();
|
||||
if (HealthComponent.CurrentHP.Value <= 0)
|
||||
return;
|
||||
StoneRotation.Stop();
|
||||
FireSFX.Play();
|
||||
GD.Print("Fire primary shot");
|
||||
Projectile1.Fire();
|
||||
}
|
||||
|
||||
private void FireSecondaryShot()
|
||||
{
|
||||
GD.Print("Fire secondary shot");
|
||||
Projectile2.Fire();
|
||||
if (HealthComponent.CurrentHP.Value <= 0)
|
||||
return;
|
||||
StoneRotation.Stop();
|
||||
FireSFX.Play();
|
||||
GD.Print("Fire secondary shot");
|
||||
Projectile2.Fire();
|
||||
}
|
||||
|
||||
private void FireTertiaryShot()
|
||||
{
|
||||
GD.Print("Fire tertiary shot");
|
||||
Projectile3.Fire();
|
||||
if (HealthComponent.CurrentHP.Value <= 0)
|
||||
return;
|
||||
StoneRotation.Stop();
|
||||
FireSFX.Play();
|
||||
GD.Print("Fire tertiary shot");
|
||||
Projectile3.Fire();
|
||||
}
|
||||
|
||||
private float GetRotationAngle(float angleOffsetInRadians)
|
||||
{
|
||||
var target = new Vector3(_player.GlobalPosition.X, Position.Y, _player.GlobalPosition.Z);
|
||||
_rotation.LookAt(target, Vector3.Up, true);
|
||||
_rotation.RotateY(Rotation.Y + angleOffsetInRadians);
|
||||
return _rotation.Rotation.Y;
|
||||
var target = new Vector3(_player.GlobalPosition.X, Position.Y, _player.GlobalPosition.Z);
|
||||
_rotation.LookAt(target, Vector3.Up, true);
|
||||
_rotation.RotateY(Rotation.Y + angleOffsetInRadians);
|
||||
return _rotation.Rotation.Y;
|
||||
}
|
||||
|
||||
private void RotateTowardsPlayer(float angle) => Rotation = new Vector3(Rotation.X, angle, Rotation.Z);
|
||||
|
||||
private void RotateTowardsPlayer(float angle)
|
||||
{
|
||||
if (HealthComponent.CurrentHP.Value <= 0)
|
||||
return;
|
||||
Rotation = new Vector3(Rotation.X, angle, Rotation.Z);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
using Chickensoft.AutoInject;
|
||||
using Chickensoft.Introspection;
|
||||
using Zennysoft.Game.Ma;
|
||||
|
||||
[Meta(typeof(IAutoNode))]
|
||||
public partial class EdenPillarModelView : EnemyModelView3D
|
||||
{
|
||||
public override void _Notification(int what) => this.Notify(what);
|
||||
|
||||
public new void OnReady()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override void PlayHitAnimation()
|
||||
{
|
||||
_animationPlayer.Play("take_damage");
|
||||
}
|
||||
|
||||
public override void PlayDeathAnimation()
|
||||
{
|
||||
_animationPlayer.Play("defeated");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://2kqcur5c32dr
|
||||
@@ -1,7 +1,7 @@
|
||||
[gd_scene load_steps=22 format=4 uid="uid://cktycana6xxtp"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://cvst7yhbw0sxt" path="res://src/enemy/enemy_types/10. Eden Pillar/model/PILLAR EXPORT 1_ENEMY_PILLAR_TEXTURE2.jpg" id="1_1kpl1"]
|
||||
[ext_resource type="Script" uid="uid://ckv5dmrw6pvn6" path="res://src/enemy/EnemyModelView3D.cs" id="1_11eq8"]
|
||||
[ext_resource type="Script" uid="uid://2kqcur5c32dr" path="res://src/enemy/enemy_types/10. Eden Pillar/EdenPillarModelView.cs" id="1_qhmtu"]
|
||||
[ext_resource type="Texture2D" uid="uid://bnbveonobhyhc" path="res://src/enemy/enemy_types/10. Eden Pillar/model/PILLAR EXPORT 1_cannon_edge.png" id="2_11eq8"]
|
||||
[ext_resource type="Material" uid="uid://brwu51ylevbmg" path="res://src/enemy/BossHit.tres" id="2_xf2ga"]
|
||||
[ext_resource type="Texture2D" uid="uid://by7k6crx6fmpv" path="res://src/enemy/enemy_types/10. Eden Pillar/model/PILLAR EXPORT 1_floral_single_tile.jpg" id="3_oxjs8"]
|
||||
@@ -237,9 +237,6 @@ tracks/1/keys = {
|
||||
"values": [ExtResource("2_xf2ga")]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_6jr7s"]
|
||||
resource_name = "primary_attack"
|
||||
|
||||
[sub_resource type="Animation" id="Animation_xf2ga"]
|
||||
resource_name = "take_damage"
|
||||
length = 0.250008
|
||||
@@ -285,13 +282,14 @@ tracks/2/keys = {
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_qhmtu"),
|
||||
&"defeated": SubResource("Animation_mi284"),
|
||||
&"primary_attack": SubResource("Animation_6jr7s"),
|
||||
&"take_damage": SubResource("Animation_xf2ga")
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_qhmtu"]
|
||||
|
||||
[node name="EdenPillarModelView" type="Node3D"]
|
||||
transform = Transform3D(0.9, 0, 0, 0, 0.9, 0, 0, 0, 0.9, 0, 0, 0)
|
||||
script = ExtResource("1_11eq8")
|
||||
script = ExtResource("1_qhmtu")
|
||||
|
||||
[node name="MeshInstance" type="MeshInstance3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
@@ -299,12 +297,19 @@ transform = Transform3D(-2.29567e-08, 0.525188, 0.290134, -0.6, -2.62268e-08, 0,
|
||||
mesh = SubResource("ArrayMesh_8pgwy")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="Firing" type="AudioStreamPlayer3D" parent="."]
|
||||
|
||||
[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
autoplay = true
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_mi284")
|
||||
}
|
||||
|
||||
[node name="Stone Rotation" type="AudioStreamPlayer3D" parent="."]
|
||||
|
||||
[node name="Firing" type="AudioStreamPlayer3D" parent="."]
|
||||
[node name="AnimationTree" type="AnimationTree" parent="."]
|
||||
unique_name_in_owner = true
|
||||
tree_root = SubResource("AnimationNodeStateMachine_qhmtu")
|
||||
|
||||
@@ -0,0 +1,301 @@
|
||||
[gd_scene load_steps=31 format=3 uid="uid://d2i6g73k8b8q6"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cqm6u7qa8japr" path="res://src/system/Projectile.cs" id="1_120b0"]
|
||||
[ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_120b0"]
|
||||
[ext_resource type="Texture2D" uid="uid://bc2kcbo8hvpjo" path="res://src/vfx/Enemy/EDEN_FIREBALL.png" id="2_yk5wk"]
|
||||
[ext_resource type="AudioStream" uid="uid://c0jveij17p14k" path="res://src/audio/sfx/ENEMY_EDEN_PILLAR_PROJECTILETRAVEL.ogg" id="3_c2pmi"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_yk5wk"]
|
||||
script = ExtResource("2_120b0")
|
||||
Damage = 10
|
||||
ElementType = 4
|
||||
metadata/_custom_type_script = "uid://ctshiyffvt4y5"
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_tahr6"]
|
||||
atlas = ExtResource("2_yk5wk")
|
||||
region = Rect2(1024, 0, 512, 502)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_xdeci"]
|
||||
atlas = ExtResource("2_yk5wk")
|
||||
region = Rect2(1536, 0, 512, 502)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_fa1bc"]
|
||||
atlas = ExtResource("2_yk5wk")
|
||||
region = Rect2(2048, 0, 512, 502)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_g6ooq"]
|
||||
atlas = ExtResource("2_yk5wk")
|
||||
region = Rect2(2560, 0, 512, 502)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_byyvj"]
|
||||
atlas = ExtResource("2_yk5wk")
|
||||
region = Rect2(3072, 0, 512, 502)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ggg1m"]
|
||||
atlas = ExtResource("2_yk5wk")
|
||||
region = Rect2(3584, 0, 512, 502)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_q58bf"]
|
||||
atlas = ExtResource("2_yk5wk")
|
||||
region = Rect2(4096, 0, 512, 502)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_1i765"]
|
||||
atlas = ExtResource("2_yk5wk")
|
||||
region = Rect2(4608, 0, 512, 502)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_wafqm"]
|
||||
atlas = ExtResource("2_yk5wk")
|
||||
region = Rect2(5120, 0, 512, 502)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_xyjyi"]
|
||||
atlas = ExtResource("2_yk5wk")
|
||||
region = Rect2(5632, 0, 512, 502)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ccyov"]
|
||||
atlas = ExtResource("2_yk5wk")
|
||||
region = Rect2(6144, 0, 512, 502)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_72cq1"]
|
||||
atlas = ExtResource("2_yk5wk")
|
||||
region = Rect2(6656, 0, 512, 502)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_3ch54"]
|
||||
atlas = ExtResource("2_yk5wk")
|
||||
region = Rect2(7168, 0, 512, 502)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_1ldhx"]
|
||||
atlas = ExtResource("2_yk5wk")
|
||||
region = Rect2(7680, 0, 512, 502)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_unl0i"]
|
||||
atlas = ExtResource("2_yk5wk")
|
||||
region = Rect2(8192, 0, 512, 502)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_hvv26"]
|
||||
atlas = ExtResource("2_yk5wk")
|
||||
region = Rect2(8704, 0, 512, 502)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_n0uin"]
|
||||
atlas = ExtResource("2_yk5wk")
|
||||
region = Rect2(9216, 0, 512, 502)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_rxdj4"]
|
||||
atlas = ExtResource("2_yk5wk")
|
||||
region = Rect2(9728, 0, 512, 502)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_3dd1k"]
|
||||
atlas = ExtResource("2_yk5wk")
|
||||
region = Rect2(10240, 0, 512, 502)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_tgphi"]
|
||||
atlas = ExtResource("2_yk5wk")
|
||||
region = Rect2(10752, 0, 512, 502)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_qfk3b"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_tahr6")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_xdeci")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_fa1bc")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_g6ooq")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_byyvj")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ggg1m")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_q58bf")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_1i765")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_wafqm")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_xyjyi")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ccyov")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_72cq1")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_3ch54")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_1ldhx")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_unl0i")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_hvv26")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_n0uin")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_rxdj4")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_3dd1k")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_tgphi")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 24.0
|
||||
}]
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_kct8n"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_xrn7e"]
|
||||
resource_name = "fire"
|
||||
length = 2.13334
|
||||
step = 0.0416667
|
||||
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, 2.125),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0), Vector3(0, 0, 30)]
|
||||
}
|
||||
tracks/1/type = "audio"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("../BULLET TRAVEL")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"clips": [{
|
||||
"end_offset": 5.41597,
|
||||
"start_offset": 0.0,
|
||||
"stream": ExtResource("3_c2pmi")
|
||||
}],
|
||||
"times": PackedFloat32Array(0.0416667)
|
||||
}
|
||||
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, 0.0333333, 2.125),
|
||||
"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("%ProjectileHitbox/CollisionShape3D:disabled")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 0.0416667),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [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(".:visible")
|
||||
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("%ProjectileHitbox/CollisionShape3D:disabled")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_q8n6h"]
|
||||
_data = {
|
||||
&"Fire": SubResource("Animation_xrn7e"),
|
||||
&"RESET": SubResource("Animation_8qeb2")
|
||||
}
|
||||
|
||||
[node name="Projectile1" type="Node3D"]
|
||||
script = ExtResource("1_120b0")
|
||||
AttackData = SubResource("Resource_yk5wk")
|
||||
|
||||
[node name="Bullet" type="Node3D" parent="."]
|
||||
|
||||
[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="Bullet"]
|
||||
transform = Transform3D(0.45, 0, 0, 0, 0.45, 0, 0, 0, 0.45, 0, 1.195, 0)
|
||||
visible = false
|
||||
offset = Vector2(0, 150)
|
||||
billboard = 1
|
||||
sprite_frames = SubResource("SpriteFrames_qfk3b")
|
||||
autoplay = "default"
|
||||
frame_progress = 0.369929
|
||||
|
||||
[node name="ProjectileHitbox" type="Area3D" parent="Bullet/AnimatedSprite3D"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(2.22222, 0, 0, 0, 2.22222, 0, 0, 0, 2.22222, 0, 1.21676, 0)
|
||||
collision_layer = 0
|
||||
collision_mask = 65
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Bullet/AnimatedSprite3D/ProjectileHitbox"]
|
||||
shape = SubResource("SphereShape3D_kct8n")
|
||||
disabled = true
|
||||
|
||||
[node name="BULLET TRAVEL" type="AudioStreamPlayer3D" parent="Bullet"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.983215, 0)
|
||||
max_distance = 35.0
|
||||
max_polyphony = 3
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="Bullet"]
|
||||
unique_name_in_owner = true
|
||||
root_node = NodePath("../AnimatedSprite3D")
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_q8n6h")
|
||||
}
|
||||
@@ -0,0 +1,656 @@
|
||||
[gd_scene load_steps=82 format=3 uid="uid://e48b81yeuibd"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cqm6u7qa8japr" path="res://src/system/Projectile.cs" id="1_4lakg"]
|
||||
[ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_4lakg"]
|
||||
[ext_resource type="Texture2D" uid="uid://f21bov0pvu84" path="res://src/vfx/Enemy/watersheet.png" id="2_umubt"]
|
||||
[ext_resource type="AudioStream" uid="uid://c0jveij17p14k" path="res://src/audio/sfx/ENEMY_EDEN_PILLAR_PROJECTILETRAVEL.ogg" id="3_2jyax"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_umubt"]
|
||||
script = ExtResource("2_4lakg")
|
||||
Damage = 10
|
||||
ElementType = 3
|
||||
metadata/_custom_type_script = "uid://ctshiyffvt4y5"
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_nc31c"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(414, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_d0njh"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(828, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_t4xb3"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(1242, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_gf6oi"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(1656, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_qfk3b"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(2070, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_epyy8"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(2484, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_s4ne2"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(2898, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ae3ee"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(3312, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_3lntq"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(3726, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_vlsab"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(4140, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ap46q"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(4554, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_2j0d2"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(4968, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ufubs"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(5382, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_1prl7"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(5796, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_kkds3"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(6210, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_0lybu"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(6624, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7whtn"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(7038, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_iubf0"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(7452, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_stov8"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(7866, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_o45y3"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(8280, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_8l1oq"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(8694, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_66xhm"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(9108, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_bcurx"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(9522, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7scby"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(9936, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4bng3"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(10350, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ond1d"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(10764, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_n5fit"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(11178, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ls6p2"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(11592, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_283o8"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(12006, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mpucc"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(12420, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_uc1qt"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(12834, 0, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ru8ov"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(0, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_xknqr"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(414, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_j5v31"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(828, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_en4u6"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(1242, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_io5ic"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(1656, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_la7jn"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(2070, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_aprwe"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(2484, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_bjcvx"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(2898, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_m6grv"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(3312, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_p5nk1"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(3726, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_vtlyl"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(4140, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_krnds"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(4554, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_e41fr"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(4968, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_qfmrt"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(5382, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_gx33b"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(5796, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_gb8l4"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(6210, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_f2xl7"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(6624, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_dafv6"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(7038, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_r10xa"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(7452, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mfrkm"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(7866, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_kjww1"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(8280, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_8b54y"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(8694, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_vphfl"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(9108, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_tqm3c"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(9522, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_lkkr8"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(9936, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7qoig"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(10350, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_p5yh0"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(10764, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_a5060"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(11178, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_w2v4d"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(11592, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_fkrk4"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(12006, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_xfsjx"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(12420, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_g03gd"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(12834, 407, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_vs1dl"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(0, 814, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5nevj"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(414, 814, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_e5y28"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(828, 814, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ggenl"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(1242, 814, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_kugry"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(1656, 814, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_77yio"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(2070, 814, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_msbdd"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(2484, 814, 414, 407)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_nd17a"]
|
||||
atlas = ExtResource("2_umubt")
|
||||
region = Rect2(2898, 814, 414, 407)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_sqw6w"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_nc31c")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_d0njh")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_t4xb3")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_gf6oi")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_qfk3b")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_epyy8")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_s4ne2")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ae3ee")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_3lntq")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_vlsab")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ap46q")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_2j0d2")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ufubs")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_1prl7")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_kkds3")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_0lybu")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7whtn")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_iubf0")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_stov8")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_o45y3")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_8l1oq")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_66xhm")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_bcurx")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7scby")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_4bng3")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ond1d")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_n5fit")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ls6p2")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_283o8")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_mpucc")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_uc1qt")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ru8ov")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_xknqr")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_j5v31")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_en4u6")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_io5ic")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_la7jn")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_aprwe")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_bjcvx")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_m6grv")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_p5nk1")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_vtlyl")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_krnds")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_e41fr")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_qfmrt")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_gx33b")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_gb8l4")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_f2xl7")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_dafv6")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_r10xa")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_mfrkm")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_kjww1")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_8b54y")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_vphfl")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_tqm3c")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_lkkr8")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7qoig")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_p5yh0")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_a5060")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_w2v4d")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_fkrk4")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_xfsjx")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_g03gd")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_vs1dl")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_5nevj")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_e5y28")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ggenl")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_kugry")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_77yio")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_msbdd")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_nd17a")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 24.0
|
||||
}]
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_kct8n"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_xrn7e"]
|
||||
resource_name = "fire"
|
||||
length = 2.13334
|
||||
step = 0.0416667
|
||||
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, 2.125),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0), Vector3(0, 0, 30)]
|
||||
}
|
||||
tracks/1/type = "audio"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("../BULLET TRAVEL")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"clips": [{
|
||||
"end_offset": 5.416,
|
||||
"start_offset": 0.0,
|
||||
"stream": ExtResource("3_2jyax")
|
||||
}],
|
||||
"times": PackedFloat32Array(0.0416667)
|
||||
}
|
||||
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, 0.0333333, 2.125),
|
||||
"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("%ProjectileHitbox/CollisionShape3D:disabled")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [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(".:visible")
|
||||
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("%ProjectileHitbox/CollisionShape3D:disabled")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_q8n6h"]
|
||||
_data = {
|
||||
&"Fire": SubResource("Animation_xrn7e"),
|
||||
&"RESET": SubResource("Animation_8qeb2")
|
||||
}
|
||||
|
||||
[node name="Projectile2" type="Node3D"]
|
||||
transform = Transform3D(-0.529919, 0, 0.848048, 0, 1, 0, -0.848048, 0, -0.529919, 0, 0, 0)
|
||||
script = ExtResource("1_4lakg")
|
||||
AttackData = SubResource("Resource_umubt")
|
||||
|
||||
[node name="Bullet" type="Node3D" parent="."]
|
||||
|
||||
[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="Bullet"]
|
||||
transform = Transform3D(0.31, 0, 1.53979e-08, 0, 0.31, 0, -1.53979e-08, 0, 0.31, 0, 1.391, 0)
|
||||
visible = false
|
||||
offset = Vector2(0, 150)
|
||||
billboard = 1
|
||||
sprite_frames = SubResource("SpriteFrames_sqw6w")
|
||||
autoplay = "default"
|
||||
frame_progress = 0.973103
|
||||
|
||||
[node name="ProjectileHitbox" type="Area3D" parent="Bullet/AnimatedSprite3D"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(3.22581, 0, -2.38419e-07, 0, 3.22581, 0, 2.38419e-07, 0, 3.22581, 0, 1.32135, 0)
|
||||
collision_layer = 0
|
||||
collision_mask = 65
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Bullet/AnimatedSprite3D/ProjectileHitbox"]
|
||||
shape = SubResource("SphereShape3D_kct8n")
|
||||
disabled = true
|
||||
|
||||
[node name="BULLET TRAVEL" type="AudioStreamPlayer3D" parent="Bullet"]
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="Bullet"]
|
||||
unique_name_in_owner = true
|
||||
root_node = NodePath("../AnimatedSprite3D")
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_q8n6h")
|
||||
}
|
||||
@@ -0,0 +1,992 @@
|
||||
[gd_scene load_steps=130 format=3 uid="uid://of1sm4qwibga"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cqm6u7qa8japr" path="res://src/system/Projectile.cs" id="1_c6b2i"]
|
||||
[ext_resource type="Script" uid="uid://ctshiyffvt4y5" path="res://src/system/AttackDataResource.cs" id="2_c6b2i"]
|
||||
[ext_resource type="Texture2D" uid="uid://w5055g8ecnea" path="res://src/vfx/Enemy/EDEN_AERO.png" id="2_nsnf1"]
|
||||
[ext_resource type="AudioStream" uid="uid://c0jveij17p14k" path="res://src/audio/sfx/ENEMY_EDEN_PILLAR_PROJECTILETRAVEL.ogg" id="3_1sxke"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_nsnf1"]
|
||||
script = ExtResource("2_c6b2i")
|
||||
Damage = 10
|
||||
ElementType = 1
|
||||
metadata/_custom_type_script = "uid://ctshiyffvt4y5"
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_okqig"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(256, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_l5xbl"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(512, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_6oxbo"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(768, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_2cug7"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(1024, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4ivyc"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(1280, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_h6net"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(1536, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_qttxr"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(1792, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_vrfe3"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(2048, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_8vskp"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(2304, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_v736k"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(2560, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_v8fei"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(2816, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5mvim"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(3072, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_bxq2e"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(3328, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_w7wbb"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(3584, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_1v0wf"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(3840, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_d7jyw"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(4096, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_vme0y"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(4352, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_1gq26"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(4608, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_htj02"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(4864, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_beua4"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(5120, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_gelrx"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(5376, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5weok"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(5632, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_u3cl3"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(5888, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_aaygb"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(6144, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_rng8d"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(6400, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_jigs2"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(6656, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_icafr"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(6912, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_2hljj"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(7168, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_y03bg"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(7424, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ahy42"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(7680, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_nyi5w"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(7936, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mg51e"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(8192, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_i2my7"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(8448, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_hna3u"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(8704, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_sldmi"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(8960, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_flp6m"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(9216, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_bf5v6"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(9472, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_samc6"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(9728, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_tixfw"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(9984, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_etpwm"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(10240, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_jli65"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(10496, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_68dke"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(10752, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_iyvmf"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(11008, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_oo5vp"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(11264, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_sxmae"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(11520, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_66xds"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(11776, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_10dnw"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(12032, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_gwg3k"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(12288, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_xbhy1"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(12544, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_k38ir"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(12800, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_cd8f4"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(13056, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_l3h6f"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(13312, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_myng8"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(13568, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_to5bb"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(13824, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_hkpkl"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(14080, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_g0j4y"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(14336, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ak6k7"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(14592, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_bp4ov"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(14848, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_658xg"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(15104, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_fbmbe"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(15360, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_hkls5"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(15616, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_tvap8"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(15872, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_67m1c"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(16128, 0, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_bxqys"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(0, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_w4bnl"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(256, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_gxqg3"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(512, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_pcumw"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(768, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_tus1t"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(1024, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_8pptg"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(1280, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_s6dvc"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(1536, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_uv040"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(1792, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_i64l1"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(2048, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_fqhkx"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(2304, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_1ljbx"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(2560, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_lhi4l"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(2816, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4wges"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(3072, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4sgio"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(3328, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ito1g"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(3584, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_cpwxr"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(3840, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_p1fwl"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(4096, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_cdvkl"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(4352, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_wpj5u"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(4608, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_0x44a"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(4864, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ijs33"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(5120, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_na5up"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(5376, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_6kx2h"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(5632, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_eakun"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(5888, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_rx812"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(6144, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_w4y0f"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(6400, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_w1gyw"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(6656, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_lrjdk"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(6912, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_p6y0v"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(7168, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_a2cqm"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(7424, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7lkf4"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(7680, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_07kus"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(7936, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_h7xtp"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(8192, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_dbrmg"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(8448, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_2jrrr"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(8704, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_rkoi2"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(8960, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_o8ivu"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(9216, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_6kmfo"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(9472, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_iyo11"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(9728, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_xmwnt"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(9984, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_7jhny"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(10240, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_uw7dc"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(10496, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4u665"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(10752, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_fvfy2"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(11008, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_oeabt"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(11264, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_vh736"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(11520, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_2p1wx"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(11776, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_hv6e3"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(12032, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_l20x8"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(12288, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ce3r7"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(12544, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ysw4o"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(12800, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_j885m"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(13056, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_v05tc"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(13312, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_64j7e"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(13568, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_vqlpt"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(13824, 256, 256, 256)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_2iaor"]
|
||||
atlas = ExtResource("2_nsnf1")
|
||||
region = Rect2(14080, 256, 256, 256)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_cu72w"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_okqig")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_l5xbl")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_6oxbo")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_2cug7")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_4ivyc")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_h6net")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_qttxr")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_vrfe3")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_8vskp")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_v736k")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_v8fei")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_5mvim")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_bxq2e")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_w7wbb")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_1v0wf")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_d7jyw")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_vme0y")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_1gq26")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_htj02")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_beua4")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_gelrx")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_5weok")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_u3cl3")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_aaygb")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_rng8d")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jigs2")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_icafr")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_2hljj")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_y03bg")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ahy42")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_nyi5w")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_mg51e")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_i2my7")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_hna3u")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_sldmi")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_flp6m")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_bf5v6")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_samc6")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_tixfw")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_etpwm")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_jli65")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_68dke")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_iyvmf")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_oo5vp")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_sxmae")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_66xds")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_10dnw")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_gwg3k")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_xbhy1")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_k38ir")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_cd8f4")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_l3h6f")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_myng8")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_to5bb")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_hkpkl")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_g0j4y")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ak6k7")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_bp4ov")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_658xg")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_fbmbe")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_hkls5")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_tvap8")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_67m1c")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_bxqys")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_w4bnl")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_gxqg3")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_pcumw")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_tus1t")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_8pptg")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_s6dvc")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_uv040")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_i64l1")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_fqhkx")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_1ljbx")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_lhi4l")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_4wges")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_4sgio")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ito1g")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_cpwxr")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_p1fwl")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_cdvkl")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_wpj5u")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_0x44a")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ijs33")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_na5up")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_6kx2h")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_eakun")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_rx812")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_w4y0f")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_w1gyw")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_lrjdk")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_p6y0v")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_a2cqm")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7lkf4")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_07kus")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_h7xtp")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_dbrmg")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_2jrrr")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_rkoi2")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_o8ivu")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_6kmfo")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_iyo11")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_xmwnt")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_7jhny")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_uw7dc")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_4u665")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_fvfy2")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_oeabt")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_vh736")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_2p1wx")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_hv6e3")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_l20x8")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ce3r7")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ysw4o")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_j885m")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_v05tc")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_64j7e")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_vqlpt")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_2iaor")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 24.0
|
||||
}]
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_kct8n"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_xrn7e"]
|
||||
resource_name = "fire"
|
||||
length = 2.13334
|
||||
step = 0.0416667
|
||||
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, 2.125),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0), Vector3(0, 0, 30)]
|
||||
}
|
||||
tracks/1/type = "audio"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("../BULLET TRAVEL")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"clips": [{
|
||||
"end_offset": 5.416,
|
||||
"start_offset": 0.0,
|
||||
"stream": ExtResource("3_1sxke")
|
||||
}],
|
||||
"times": PackedFloat32Array(0.0416667)
|
||||
}
|
||||
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, 0.0333333, 2.125),
|
||||
"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("%ProjectileHitbox/CollisionShape3D:disabled")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [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(".:visible")
|
||||
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("%ProjectileHitbox/CollisionShape3D:disabled")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_q8n6h"]
|
||||
_data = {
|
||||
&"Fire": SubResource("Animation_xrn7e"),
|
||||
&"RESET": SubResource("Animation_8qeb2")
|
||||
}
|
||||
|
||||
[node name="Projectile3" type="Node3D"]
|
||||
transform = Transform3D(-0.529919, 0, -0.848048, 0, 1, 0, 0.848048, 0, -0.529919, 0, 0, 0)
|
||||
script = ExtResource("1_c6b2i")
|
||||
AttackData = SubResource("Resource_nsnf1")
|
||||
|
||||
[node name="Bullet" type="Node3D" parent="."]
|
||||
|
||||
[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="Bullet"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.26, 0)
|
||||
visible = false
|
||||
offset = Vector2(0, 150)
|
||||
billboard = 1
|
||||
sprite_frames = SubResource("SpriteFrames_cu72w")
|
||||
autoplay = "default"
|
||||
frame_progress = 0.897082
|
||||
|
||||
[node name="ProjectileHitbox" type="Area3D" parent="Bullet/AnimatedSprite3D"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.39633, 0)
|
||||
collision_layer = 0
|
||||
collision_mask = 65
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Bullet/AnimatedSprite3D/ProjectileHitbox"]
|
||||
shape = SubResource("SphereShape3D_kct8n")
|
||||
disabled = true
|
||||
|
||||
[node name="BULLET TRAVEL" type="AudioStreamPlayer3D" parent="Bullet"]
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="Bullet"]
|
||||
unique_name_in_owner = true
|
||||
root_node = NodePath("../AnimatedSprite3D")
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_q8n6h")
|
||||
}
|
||||
@@ -1,10 +1,14 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://boqjebx7yuiqy"]
|
||||
[gd_scene load_steps=14 format=3 uid="uid://boqjebx7yuiqy"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cjd7k1scp1am8" path="res://src/enemy/enemy_types/11. Palan/Palan.cs" id="1_2upgt"]
|
||||
[ext_resource type="PackedScene" uid="uid://dxwwfbt2mtmer" path="res://src/enemy/enemy_types/11. Palan/PalanModelView.tscn" id="4_3ahu6"]
|
||||
[ext_resource type="PackedScene" uid="uid://2nkvacxsd46b" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="4_3ogbp"]
|
||||
[ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="5_6scof"]
|
||||
[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_6scof"]
|
||||
[ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="6_oy46w"]
|
||||
[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_oy46w"]
|
||||
[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_87wn4"]
|
||||
[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 = 0.717471
|
||||
@@ -84,3 +88,29 @@ _acquireTargetTime = 2.0
|
||||
unique_name_in_owner = true
|
||||
avoidance_enabled = true
|
||||
radius = 1.0
|
||||
|
||||
[node name="HitSounds" type="Node3D" parent="."]
|
||||
|
||||
[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("6_6scof")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("7_oy46w")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("8_87wn4")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("9_6scof")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -2926,6 +2926,7 @@ libraries = {
|
||||
[node name="Sunblast" type="AnimatedSprite3D" parent="Sprite3D/AnimationPlayer2"]
|
||||
transform = Transform3D(0.335, 0, 0, 0, 0.335, 0, 0, 0, 0.335, -0.546079, 0.441674, 0)
|
||||
sprite_frames = SubResource("SpriteFrames_skutu")
|
||||
frame = 15
|
||||
|
||||
[node name="Primary Attack" type="AnimatedSprite3D" parent="Sprite3D/AnimationPlayer2"]
|
||||
transform = Transform3D(0.275, 0, 0, 0, 0.275, 0, 0, 0, 0.275, 0, 1.33811, -0.317864)
|
||||
@@ -3019,3 +3020,8 @@ root_node = NodePath("../AnimatedSprite3D")
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_q8n6h")
|
||||
}
|
||||
|
||||
[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
autoplay = true
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://dc1i06laolear"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_b6ynu"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_b6ynu")
|
||||
CurrentHP = 120.0
|
||||
MaximumHP = 120
|
||||
CurrentAttack = 10
|
||||
CurrentDefense = 10
|
||||
MaxAttack = 10
|
||||
MaxDefense = 10
|
||||
ExpFromDefeat = 0
|
||||
Luck = 0.05
|
||||
_telluricResistance = 0.0
|
||||
_aeolicResistance = 0.0
|
||||
_hydricResistance = 0.0
|
||||
_igneousResistance = 0.0
|
||||
_ferrumResistance = 0.0
|
||||
DropsSoulGemChance = 0.75
|
||||
metadata/_custom_type_script = "uid://dnkmr0eq1sij0"
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=582 format=3 uid="uid://drkaq6grim1fb"]
|
||||
[gd_scene load_steps=585 format=3 uid="uid://drkaq6grim1fb"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cvr1qimxpignl" path="res://src/enemy/EnemyModelView2D.cs" id="1_h8pla"]
|
||||
[ext_resource type="Texture2D" uid="uid://clwj6yknpw74n" path="res://src/enemy/enemy_types/12. Shield of Heaven/animations/New/Idle Back/0001.png" id="2_2eclh"]
|
||||
@@ -2171,7 +2171,7 @@ tracks/3/keys = {
|
||||
|
||||
[sub_resource type="Animation" id="Animation_xt8vr"]
|
||||
resource_name = "idle_back"
|
||||
length = 6.16667
|
||||
length = 6.08334
|
||||
loop_mode = 1
|
||||
step = 0.0833333
|
||||
tracks/0/type = "value"
|
||||
@@ -2213,7 +2213,7 @@ tracks/2/keys = {
|
||||
|
||||
[sub_resource type="Animation" id="Animation_yaauq"]
|
||||
resource_name = "idle_back_walk"
|
||||
length = 2.41667
|
||||
length = 2.33334
|
||||
loop_mode = 1
|
||||
step = 0.0833333
|
||||
tracks/0/type = "value"
|
||||
@@ -2255,7 +2255,7 @@ tracks/2/keys = {
|
||||
|
||||
[sub_resource type="Animation" id="Animation_0p21q"]
|
||||
resource_name = "idle_front"
|
||||
length = 6.16667
|
||||
length = 6.08334
|
||||
loop_mode = 1
|
||||
step = 0.0833333
|
||||
tracks/0/type = "value"
|
||||
@@ -2297,7 +2297,7 @@ tracks/2/keys = {
|
||||
|
||||
[sub_resource type="Animation" id="Animation_r8ie6"]
|
||||
resource_name = "idle_front_walk"
|
||||
length = 2.41667
|
||||
length = 2.33334
|
||||
loop_mode = 1
|
||||
step = 0.0833333
|
||||
tracks/0/type = "value"
|
||||
@@ -2339,7 +2339,7 @@ tracks/2/keys = {
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ft48v"]
|
||||
resource_name = "idle_left"
|
||||
length = 6.16667
|
||||
length = 6.08334
|
||||
loop_mode = 1
|
||||
step = 0.0833333
|
||||
tracks/0/type = "value"
|
||||
@@ -2381,7 +2381,7 @@ tracks/2/keys = {
|
||||
|
||||
[sub_resource type="Animation" id="Animation_yh3w6"]
|
||||
resource_name = "idle_left_walk"
|
||||
length = 2.41667
|
||||
length = 2.33334
|
||||
loop_mode = 1
|
||||
step = 0.0833333
|
||||
tracks/0/type = "value"
|
||||
@@ -2423,7 +2423,7 @@ tracks/2/keys = {
|
||||
|
||||
[sub_resource type="Animation" id="Animation_rq052"]
|
||||
resource_name = "idle_right"
|
||||
length = 6.16667
|
||||
length = 6.08334
|
||||
loop_mode = 1
|
||||
step = 0.0833333
|
||||
tracks/0/type = "value"
|
||||
@@ -2465,7 +2465,7 @@ tracks/2/keys = {
|
||||
|
||||
[sub_resource type="Animation" id="Animation_fab8g"]
|
||||
resource_name = "idle_right_walk"
|
||||
length = 2.41667
|
||||
length = 2.33334
|
||||
loop_mode = 1
|
||||
step = 0.0833333
|
||||
tracks/0/type = "value"
|
||||
@@ -2507,7 +2507,7 @@ tracks/2/keys = {
|
||||
|
||||
[sub_resource type="Animation" id="Animation_lulp4"]
|
||||
resource_name = "primary_attack"
|
||||
length = 1.91667
|
||||
length = 1.83334
|
||||
step = 0.0833333
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
@@ -2600,7 +2600,7 @@ tracks/6/use_blend = true
|
||||
|
||||
[sub_resource type="Animation" id="Animation_7g4jy"]
|
||||
resource_name = "primary_attack_back"
|
||||
length = 1.91667
|
||||
length = 1.83334
|
||||
step = 0.0833333
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
@@ -2683,7 +2683,7 @@ tracks/5/use_blend = true
|
||||
|
||||
[sub_resource type="Animation" id="Animation_wc21g"]
|
||||
resource_name = "primary_attack_left"
|
||||
length = 1.91667
|
||||
length = 1.83334
|
||||
step = 0.0833333
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
@@ -2766,7 +2766,7 @@ tracks/5/use_blend = true
|
||||
|
||||
[sub_resource type="Animation" id="Animation_w7rrw"]
|
||||
resource_name = "primary_attack_right"
|
||||
length = 1.91667
|
||||
length = 1.83334
|
||||
step = 0.0833333
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
@@ -2849,6 +2849,7 @@ tracks/5/use_blend = true
|
||||
|
||||
[sub_resource type="Animation" id="Animation_b727r"]
|
||||
resource_name = "secondary_attack"
|
||||
length = 3.58334
|
||||
step = 0.0833333
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
@@ -2869,10 +2870,10 @@ tracks/1/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSpri
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [0]
|
||||
"times": PackedFloat32Array(0, 3.58333),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [0, 43]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
@@ -2931,6 +2932,7 @@ tracks/5/use_blend = true
|
||||
|
||||
[sub_resource type="Animation" id="Animation_2jibd"]
|
||||
resource_name = "secondary_attack_back"
|
||||
length = 3.58334
|
||||
step = 0.0833333
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
@@ -2942,7 +2944,7 @@ tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [&"primary_attack"]
|
||||
"values": [&"secondary_back"]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
@@ -2951,10 +2953,10 @@ tracks/1/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSpri
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [0]
|
||||
"times": PackedFloat32Array(0, 3.58333),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [0, 43]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
@@ -2983,6 +2985,7 @@ tracks/3/keys = {
|
||||
|
||||
[sub_resource type="Animation" id="Animation_mva41"]
|
||||
resource_name = "secondary_attack_left"
|
||||
length = 3.58334
|
||||
step = 0.0833333
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
@@ -2994,7 +2997,7 @@ tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [&"primary_attack"]
|
||||
"values": [&"secondary_right"]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
@@ -3003,10 +3006,10 @@ tracks/1/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSpri
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [0]
|
||||
"times": PackedFloat32Array(0, 3.58333),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [0, 43]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
@@ -3030,11 +3033,12 @@ tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_dalxy"]
|
||||
resource_name = "secondary_attack_right"
|
||||
length = 3.58334
|
||||
step = 0.0833333
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
@@ -3046,7 +3050,7 @@ tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [&"primary_attack"]
|
||||
"values": [&"secondary_right"]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
@@ -3055,10 +3059,10 @@ tracks/1/path = NodePath("Sprite3D/SubViewportContainer/SubViewport/AnimatedSpri
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [0]
|
||||
"times": PackedFloat32Array(0, 3.58333),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [0, 43]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
@@ -3124,6 +3128,14 @@ advance_mode = 2
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_f1vvk"]
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_0pum8"]
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_vwlpl"]
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_l1ir8"]
|
||||
switch_mode = 2
|
||||
advance_mode = 2
|
||||
|
||||
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_mhdbq"]
|
||||
states/Idle/node = ExtResource("166_yh3w6")
|
||||
states/Idle/position = Vector2(359, 100)
|
||||
@@ -3133,7 +3145,8 @@ states/Walking/node = ExtResource("169_w7rrw")
|
||||
states/Walking/position = Vector2(687, 100)
|
||||
states/secondary_attack/node = SubResource("AnimationNodeAnimation_j5so5")
|
||||
states/secondary_attack/position = Vector2(687, 263)
|
||||
transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_y7ljc"), "Idle", "Walking", SubResource("AnimationNodeStateMachineTransition_08dxp"), "Idle", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_yk2s3"), "Primary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_mb5pg"), "Walking", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_olfsm"), "Walking", "Idle", SubResource("AnimationNodeStateMachineTransition_f1vvk")]
|
||||
transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_y7ljc"), "Idle", "Walking", SubResource("AnimationNodeStateMachineTransition_08dxp"), "Idle", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_yk2s3"), "Primary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_mb5pg"), "Walking", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_olfsm"), "Walking", "Idle", SubResource("AnimationNodeStateMachineTransition_f1vvk"), "Idle", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_0pum8"), "Walking", "secondary_attack", SubResource("AnimationNodeStateMachineTransition_vwlpl"), "secondary_attack", "Idle", SubResource("AnimationNodeStateMachineTransition_l1ir8")]
|
||||
graph_offset = Vector2(-16, 68)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_v8s5q"]
|
||||
resource_name = "ATTACK VFX"
|
||||
@@ -3461,3 +3474,8 @@ sprite_frames = SubResource("SpriteFrames_ie7uh")
|
||||
[node name="Attack 2 VFX" type="AnimatedSprite3D" parent="VFX Animation Player"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -2.74915, 0)
|
||||
sprite_frames = SubResource("SpriteFrames_lgwan")
|
||||
|
||||
[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
autoplay = true
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://5s7c4dsb1wwk"]
|
||||
[gd_scene load_steps=13 format=3 uid="uid://5s7c4dsb1wwk"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cjdivu0v1kfhy" path="res://src/enemy/enemy_types/12. Shield of Heaven/ShieldOfHeaven.cs" id="1_oxa5b"]
|
||||
[ext_resource type="PackedScene" uid="uid://drkaq6grim1fb" path="res://src/enemy/enemy_types/12. Shield of Heaven/ShieldModelView.tscn" id="3_r2swr"]
|
||||
[ext_resource type="PackedScene" uid="uid://2nkvacxsd46b" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="4_jvpqg"]
|
||||
[ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="5_s5x4o"]
|
||||
[ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="6_cacc5"]
|
||||
[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="6_uwf0x"]
|
||||
[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="7_8rh66"]
|
||||
[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="8_m1i5i"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"]
|
||||
radius = 0.226425
|
||||
@@ -84,3 +87,28 @@ _acquireTargetTime = 2.0
|
||||
unique_name_in_owner = true
|
||||
avoidance_enabled = true
|
||||
radius = 1.0
|
||||
|
||||
[node name="HitSounds" type="Node3D" parent="."]
|
||||
|
||||
[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("6_uwf0x")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("7_8rh66")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("8_m1i5i")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://c5fgcsruq5gx6"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_e725b"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_e725b")
|
||||
CurrentHP = 100.0
|
||||
MaximumHP = 100
|
||||
CurrentAttack = 10
|
||||
CurrentDefense = 10
|
||||
MaxAttack = 10
|
||||
MaxDefense = 10
|
||||
ExpFromDefeat = 0
|
||||
Luck = 0.05
|
||||
_telluricResistance = 0.0
|
||||
_aeolicResistance = 0.0
|
||||
_hydricResistance = 0.0
|
||||
_igneousResistance = 0.0
|
||||
_ferrumResistance = 0.0
|
||||
DropsSoulGemChance = 0.75
|
||||
metadata/_custom_type_script = "uid://dnkmr0eq1sij0"
|
||||
@@ -1,9 +1,14 @@
|
||||
[gd_scene load_steps=11 format=3 uid="uid://c5ugpasira53m"]
|
||||
[gd_scene load_steps=16 format=3 uid="uid://c5ugpasira53m"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://jjulhqd5g3be" path="res://src/enemy/enemy_types/13. gold sproingy/GoldSproingy.cs" id="1_o1o4d"]
|
||||
[ext_resource type="PackedScene" uid="uid://dobiqowi8mhfi" path="res://src/enemy/enemy_types/13. gold sproingy/GoldSproingyModelView.tscn" id="2_o1o4d"]
|
||||
[ext_resource type="PackedScene" uid="uid://2nkvacxsd46b" path="res://src/enemy/behaviors/PatrolBehavior.tscn" id="3_dxqkk"]
|
||||
[ext_resource type="PackedScene" uid="uid://g4cupevu280j" path="res://src/enemy/behaviors/FleeBehavior.tscn" id="4_58d4o"]
|
||||
[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="5_pi08j"]
|
||||
[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="6_rct6y"]
|
||||
[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="7_5jcke"]
|
||||
[ext_resource type="AudioStream" uid="uid://bn6ns3jxkw03b" path="res://src/audio/sfx/ENEMY_SPROING_death.ogg" id="8_6nc43"]
|
||||
[ext_resource type="AudioStream" uid="uid://dyvsuj4isc5gg" path="res://src/audio/sfx/ENEMY_golden_sproing_loop.ogg" id="9_rct6y"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_cwfph"]
|
||||
radius = 0.106078
|
||||
@@ -94,3 +99,35 @@ unique_name_in_owner = true
|
||||
unique_name_in_owner = true
|
||||
avoidance_enabled = true
|
||||
radius = 1.0
|
||||
|
||||
[node name="SFX" type="Node3D" parent="."]
|
||||
|
||||
[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="SFX"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("5_pi08j")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="HitSFX" type="AudioStreamPlayer3D" parent="SFX"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("6_rct6y")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="MorphSFX" type="AudioStreamPlayer3D" parent="SFX"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("7_5jcke")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="DieSFX" type="AudioStreamPlayer3D" parent="SFX"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("8_6nc43")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="AggroSFX" type="AudioStreamPlayer3D" parent="SFX"]
|
||||
unique_name_in_owner = true
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="AmbientSFX" type="AudioStreamPlayer3D" parent="SFX"]
|
||||
stream = ExtResource("9_rct6y")
|
||||
autoplay = true
|
||||
max_distance = 25.0
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -663,3 +663,8 @@ root_node = NodePath("%AnimationTree/..")
|
||||
tree_root = SubResource("AnimationNodeStateMachine_l2wq1")
|
||||
advance_expression_base_node = NodePath("..")
|
||||
anim_player = NodePath("../AnimationPlayer")
|
||||
|
||||
[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
autoplay = true
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
[gd_resource type="Resource" script_class="EnemyStatResource" load_steps=2 format=3 uid="uid://m8wl23q4kr4t"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dnkmr0eq1sij0" path="res://src/enemy/EnemyStatResource.cs" id="1_dvrvn"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_dvrvn")
|
||||
CurrentHP = 55.0
|
||||
MaximumHP = 55
|
||||
CurrentAttack = 0
|
||||
CurrentDefense = 0
|
||||
MaxAttack = 0
|
||||
MaxDefense = 0
|
||||
ExpFromDefeat = 0
|
||||
Luck = 0.05
|
||||
_telluricResistance = 0.0
|
||||
_aeolicResistance = 0.0
|
||||
_hydricResistance = 0.0
|
||||
_igneousResistance = 0.0
|
||||
_ferrumResistance = 0.0
|
||||
DropsSoulGemChance = 0.75
|
||||
metadata/_custom_type_script = "uid://dnkmr0eq1sij0"
|
||||
@@ -1,9 +1,12 @@
|
||||
[gd_scene load_steps=8 format=3 uid="uid://2wibfnu2jvlv"]
|
||||
[gd_scene load_steps=11 format=3 uid="uid://2wibfnu2jvlv"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dveonnhcxcp08" path="res://src/enemy/BossTypeA.cs" id="1_x21p4"]
|
||||
[ext_resource type="PackedScene" uid="uid://bid6f48l0q58o" path="res://src/enemy/enemy_types/14. horse_head/HorseFaceModelView.tscn" id="2_x21p4"]
|
||||
[ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="3_wp4vi"]
|
||||
[ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="4_fne8i"]
|
||||
[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="5_dm428"]
|
||||
[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="6_fg0ds"]
|
||||
[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="7_exr8b"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_c0n4w"]
|
||||
radius = 10.3283
|
||||
@@ -66,3 +69,28 @@ unique_name_in_owner = true
|
||||
avoidance_enabled = true
|
||||
radius = 1.0
|
||||
debug_enabled = true
|
||||
|
||||
[node name="HitSounds" type="Node3D" parent="."]
|
||||
|
||||
[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("5_dm428")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("6_fg0ds")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("7_exr8b")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=34 format=4 uid="uid://bid6f48l0q58o"]
|
||||
[gd_scene load_steps=36 format=4 uid="uid://bid6f48l0q58o"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://ckv5dmrw6pvn6" path="res://src/enemy/EnemyModelView3D.cs" id="1_oxssn"]
|
||||
[ext_resource type="Texture2D" uid="uid://2e4cp477ex0t" path="res://src/enemy/enemy_types/14. horse_head/animation/Horse Head 1_Metal054C_1K-JPG_Color.jpg" id="1_vv6g0"]
|
||||
@@ -8,6 +8,8 @@
|
||||
[ext_resource type="Texture2D" uid="uid://d3nsmrs41cpxs" path="res://src/enemy/enemy_types/14. horse_head/animation/Metal054C_1K-JPG_Metalness.jpg" id="4_58wyj"]
|
||||
[ext_resource type="Texture2D" uid="uid://dhk7u4r608cby" path="res://src/enemy/enemy_types/14. horse_head/animation/Metal054C_1K-JPG_NormalGL.jpg" id="5_qhoxi"]
|
||||
[ext_resource type="Texture2D" uid="uid://qp3uycxaljcs" path="res://src/enemy/enemy_types/14. horse_head/animation/Metal054C_1K-JPG_Roughness.jpg" id="6_lj3cb"]
|
||||
[ext_resource type="AudioStream" uid="uid://d3poou6ultswg" path="res://src/audio/sfx/ENEMY_HorseFace_ATK1.ogg" id="8_b3lw2"]
|
||||
[ext_resource type="AudioStream" uid="uid://scp3556fn8wo" path="res://src/audio/sfx/ENEMY_UNIVERSAL_GROUND_SLAM.ogg" id="9_58wyj"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_tv6dm"]
|
||||
resource_name = "Material"
|
||||
@@ -646,6 +648,21 @@ tracks/32/path = NodePath("Armature/Skeleton3D:heelIK_R")
|
||||
tracks/32/interp = 0
|
||||
tracks/32/loop_wrap = true
|
||||
tracks/32/keys = PackedFloat32Array(0, 1, -0.514417, -0.701671, 0.342235, 0.354835)
|
||||
tracks/33/type = "audio"
|
||||
tracks/33/imported = false
|
||||
tracks/33/enabled = true
|
||||
tracks/33/path = NodePath("Armature/Skeleton3D/BoneAttachment3D2/AttackSFX")
|
||||
tracks/33/interp = 1
|
||||
tracks/33/loop_wrap = true
|
||||
tracks/33/keys = {
|
||||
"clips": [{
|
||||
"end_offset": 0.0,
|
||||
"start_offset": 0.0,
|
||||
"stream": ExtResource("8_b3lw2")
|
||||
}],
|
||||
"times": PackedFloat32Array(0)
|
||||
}
|
||||
tracks/33/use_blend = true
|
||||
|
||||
[sub_resource type="Animation" id="Animation_nem1a"]
|
||||
resource_name = "secondary_attack"
|
||||
@@ -881,6 +898,21 @@ tracks/32/path = NodePath("Armature/Skeleton3D:heelIK_R")
|
||||
tracks/32/interp = 1
|
||||
tracks/32/loop_wrap = true
|
||||
tracks/32/keys = PackedFloat32Array(0, 1, -0.514417, -0.701671, 0.342235, 0.354835, 0.0333333, 1, -0.516575, -0.696077, 0.34818, 0.356928, 0.0666667, 1, -0.521046, -0.683648, 0.361099, 0.361585, 0.1, 1, -0.526802, -0.665825, 0.378966, 0.368161, 0.133333, 1, -0.532831, -0.644142, 0.399731, 0.376016, 0.166667, 1, -0.538235, -0.620345, 0.421387, 0.384587, 0.2, 1, -0.541623, -0.598138, 0.440584, 0.393398, 0.233333, 1, -0.543484, -0.578544, 0.457025, 0.401298, 0.266667, 1, -0.544416, -0.56113, 0.47147, 0.407996, 0.3, 1, -0.544778, -0.545632, 0.484336, 0.413427, 0.333333, 1, -0.544721, -0.531989, 0.495718, 0.417767, 0.366667, 1, -0.544377, -0.520646, 0.505311, 0.421002, 0.4, 1, -0.543924, -0.510791, 0.513622, 0.423594, 0.433333, 1, -0.543459, -0.502293, 0.520716, 0.425687, 0.466667, 1, -0.543068, -0.495006, 0.52665, 0.427418, 0.5, 1, -0.542828, -0.488779, 0.531472, 0.428917, 0.533333, 1, -0.542927, -0.483649, 0.534893, 0.430352, 0.566667, 1, -0.543361, -0.479085, 0.537304, 0.431904, 0.6, 1, -0.544186, -0.474919, 0.538729, 0.433686, 0.633333, 1, -0.545455, -0.470982, 0.539193, 0.435806, 0.666667, 1, -0.547213, -0.467098, 0.538712, 0.438368, 0.7, 1, -0.549718, -0.46294, 0.537006, 0.441725, 0.733333, 1, -0.552835, -0.458304, 0.534392, 0.445821, 0.766667, 1, -0.556593, -0.453005, 0.530871, 0.450742, 0.8, 1, -0.561009, -0.446855, 0.526438, 0.456567, 0.833333, 1, -0.566094, -0.43966, 0.521083, 0.463367, 0.866667, 1, -0.574512, -0.428383, 0.511969, 0.473617, 0.9, 1, -0.580739, -0.420013, 0.504981, 0.480963, 0.933333, 1, -0.583481, -0.416308, 0.501836, 0.484146, 1.5, 1, -0.583481, -0.416308, 0.501836, 0.484147, 1.53333, 1, -0.586926, -0.412707, 0.504724, 0.480046, 1.56667, 1, -0.593849, -0.405313, 0.510547, 0.4716, 1.6, 1, -0.602537, -0.395719, 0.517887, 0.460596, 1.63333, 1, -0.611371, -0.385577, 0.525409, 0.44889, 1.66667, 1, -0.618875, -0.376627, 0.531899, 0.43844, 1.7, 1, -0.62194, -0.372867, 0.534831, 0.433723, 1.73333, 1, -0.621975, -0.376239, 0.534019, 0.431758, 1.76667, 1, -0.620122, -0.387062, 0.529695, 0.430181, 1.8, 1, -0.616869, -0.404941, 0.52204, 0.42775, 1.83333, 1, -0.61211, -0.428794, 0.511234, 0.424379, 1.86667, 1, -0.605462, -0.458552, 0.496893, 0.419813, 1.9, 1, -0.597286, -0.490892, 0.480276, 0.414256, 1.93333, 1, -0.587653, -0.524555, 0.461789, 0.407745, 2, 1, -0.564883, -0.591093, 0.421348, 0.392406, 2.03333, 1, -0.552901, -0.620859, 0.401387, 0.384349, 2.06667, 1, -0.54137, -0.646947, 0.382828, 0.376592, 2.1, 1, -0.530904, -0.668795, 0.366451, 0.36955, 2.13333, 1, -0.522132, -0.685942, 0.353021, 0.363646, 2.16667, 1, -0.515661, -0.697975, 0.34327, 0.359292, 2.2, 1, -0.513299, -0.702245, 0.339742, 0.357704, 2.20833, 1, -0.512705, -0.703308, 0.338857, 0.357304)
|
||||
tracks/33/type = "audio"
|
||||
tracks/33/imported = false
|
||||
tracks/33/enabled = true
|
||||
tracks/33/path = NodePath("Armature/Skeleton3D/BoneAttachment3D2/AttackSFX")
|
||||
tracks/33/interp = 1
|
||||
tracks/33/loop_wrap = true
|
||||
tracks/33/keys = {
|
||||
"clips": [{
|
||||
"end_offset": 0.0,
|
||||
"start_offset": 0.0,
|
||||
"stream": ExtResource("9_58wyj")
|
||||
}],
|
||||
"times": PackedFloat32Array(0.966667)
|
||||
}
|
||||
tracks/33/use_blend = true
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_h244y"]
|
||||
_data = {
|
||||
@@ -944,7 +976,7 @@ states/Walking/position = Vector2(652, -44)
|
||||
states/attack_walk/node = SubResource("AnimationNodeAnimation_b3lw2")
|
||||
states/attack_walk/position = Vector2(912, 42)
|
||||
transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_b3lw2"), "Idle", "Walking", SubResource("AnimationNodeStateMachineTransition_oxssn"), "Walking", "Idle", SubResource("AnimationNodeStateMachineTransition_58wyj"), "Idle", "Primary Attack", SubResource("AnimationNodeStateMachineTransition_qhoxi"), "Primary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_lj3cb"), "Secondary Attack", "Idle", SubResource("AnimationNodeStateMachineTransition_agk0q"), "Idle", "Secondary Attack", SubResource("AnimationNodeStateMachineTransition_rv3ka"), "Idle", "attack_walk", SubResource("AnimationNodeStateMachineTransition_xl8ei"), "attack_walk", "Idle", SubResource("AnimationNodeStateMachineTransition_n4ran")]
|
||||
graph_offset = Vector2(0, -109.963)
|
||||
graph_offset = Vector2(-31, 161.037)
|
||||
|
||||
[node name="EnemyModelView" type="Node3D"]
|
||||
script = ExtResource("1_oxssn")
|
||||
@@ -956,7 +988,7 @@ bones/0/name = "spine1"
|
||||
bones/0/parent = -1
|
||||
bones/0/rest = Transform3D(1.49012e-06, 0.00846654, -0.999964, 2.93367e-08, 0.999964, 0.00846654, 1, -4.23752e-08, 1.49012e-06, 0.000155807, -0.00105953, -2.01735)
|
||||
bones/0/enabled = true
|
||||
bones/0/position = Vector3(0.0996387, -0.364802, -1.53144)
|
||||
bones/0/position = Vector3(0.0996386, -0.279526, -1.53144)
|
||||
bones/0/rotation = Quaternion(0.0256267, -0.805691, 0.0118477, 0.591662)
|
||||
bones/0/scale = Vector3(1, 1, 1)
|
||||
bones/1/name = "spine0"
|
||||
@@ -985,7 +1017,7 @@ bones/4/parent = 3
|
||||
bones/4/rest = Transform3D(0.901905, -0.410135, 0.135488, 0.412416, 0.910915, 0.0120912, -0.128377, 0.0449723, 0.990705, 2.5332e-07, 0.990515, -7.07805e-08)
|
||||
bones/4/enabled = true
|
||||
bones/4/position = Vector3(2.5332e-07, 0.990515, -7.07805e-08)
|
||||
bones/4/rotation = Quaternion(4.1386e-05, 0.0627896, 0.195289, 0.978734)
|
||||
bones/4/rotation = Quaternion(0.00787143, 0.0673259, 0.209846, 0.975382)
|
||||
bones/4/scale = Vector3(1, 1, 1)
|
||||
bones/5/name = "neck4"
|
||||
bones/5/parent = 4
|
||||
@@ -999,7 +1031,7 @@ bones/6/parent = 5
|
||||
bones/6/rest = Transform3D(0.0598389, 0.98531, 0.15995, -0.975271, 0.0235553, 0.219755, 0.212759, -0.169144, 0.962353, 3.65078e-07, 1.40318, 0)
|
||||
bones/6/enabled = true
|
||||
bones/6/position = Vector3(3.65078e-07, 1.40318, 0)
|
||||
bones/6/rotation = Quaternion(-0.334434, 0.0512942, -0.470392, 0.815018)
|
||||
bones/6/rotation = Quaternion(-0.343022, 0.0521047, -0.494747, 0.796772)
|
||||
bones/6/scale = Vector3(1, 1, 1)
|
||||
bones/7/name = "Bone.007"
|
||||
bones/7/parent = 6
|
||||
@@ -1034,7 +1066,7 @@ bones/11/parent = 1
|
||||
bones/11/rest = Transform3D(0.981457, 0.0769315, -0.175568, 0.18837, -0.217537, 0.957703, 0.035485, -0.973015, -0.227995, -1.09896e-07, 3.84743, -2.10479e-07)
|
||||
bones/11/enabled = true
|
||||
bones/11/position = Vector3(-1.09896e-07, 3.84743, -2.10479e-07)
|
||||
bones/11/rotation = Quaternion(-0.810729, -0.0883641, -0.0236887, 0.578229)
|
||||
bones/11/rotation = Quaternion(-0.806075, -0.07973, -0.0234888, 0.585948)
|
||||
bones/11/scale = Vector3(1, 1, 1)
|
||||
bones/12/name = "arm2_L"
|
||||
bones/12/parent = 11
|
||||
@@ -1061,7 +1093,7 @@ bones/15/name = "arm1_R"
|
||||
bones/15/parent = 1
|
||||
bones/15/rest = Transform3D(-0.98213, 0.0512573, -0.181089, -0.187541, -0.185921, 0.964501, 0.0157694, 0.981227, 0.192212, 0.00107862, 3.8461, -0.0821097)
|
||||
bones/15/enabled = true
|
||||
bones/15/position = Vector3(-0.183961, 3.50758, 0.102613)
|
||||
bones/15/position = Vector3(-0.202609, 3.65099, 0.0754982)
|
||||
bones/15/rotation = Quaternion(-0.502686, 0.531044, 0.680821, -0.0422068)
|
||||
bones/15/scale = Vector3(1, 1, 1)
|
||||
bones/16/name = "arm2_R"
|
||||
@@ -1076,7 +1108,7 @@ bones/17/parent = 16
|
||||
bones/17/rest = Transform3D(0.998789, 0.0488077, -0.00615137, -0.0491113, 0.996528, -0.0672226, 0.00284903, 0.0674433, 0.997719, -5.21541e-08, 3.04263, -1.31503e-06)
|
||||
bones/17/enabled = true
|
||||
bones/17/position = Vector3(-5.21541e-08, 3.04263, -1.31503e-06)
|
||||
bones/17/rotation = Quaternion(-0.0249682, 0.0966464, 0.272252, 0.957034)
|
||||
bones/17/rotation = Quaternion(-0.0459497, 0.097357, 0.264908, 0.958245)
|
||||
bones/17/scale = Vector3(1, 1, 1)
|
||||
bones/18/name = "hand_R"
|
||||
bones/18/parent = 17
|
||||
@@ -1089,7 +1121,7 @@ bones/19/name = "hip_L"
|
||||
bones/19/parent = -1
|
||||
bones/19/rest = Transform3D(0.138486, 0.897208, 0.419333, -0.129033, -0.403458, 0.905854, 0.981923, -0.179556, 0.059896, 0.000155807, -0.00105953, -2.01735)
|
||||
bones/19/enabled = true
|
||||
bones/19/position = Vector3(0.147751, -0.331617, -1.49267)
|
||||
bones/19/position = Vector3(0.147751, -0.282267, -1.49267)
|
||||
bones/19/rotation = Quaternion(0.427793, 0.34021, 0.687061, -0.478745)
|
||||
bones/19/scale = Vector3(1, 1, 1)
|
||||
bones/20/name = "leg1_L"
|
||||
@@ -1097,14 +1129,14 @@ bones/20/parent = 19
|
||||
bones/20/rest = Transform3D(0.945603, 0.113405, 0.304916, -0.324072, 0.410457, 0.852351, -0.0284943, -0.9048, 0.424881, 2.08616e-07, 2.00996, -7.1153e-07)
|
||||
bones/20/enabled = true
|
||||
bones/20/position = Vector3(2.08616e-07, 2.00996, -7.1153e-07)
|
||||
bones/20/rotation = Quaternion(-0.435321, -0.328349, -0.373164, 0.75062)
|
||||
bones/20/rotation = Quaternion(-0.437808, -0.325257, -0.369348, 0.752405)
|
||||
bones/20/scale = Vector3(1, 1, 1)
|
||||
bones/21/name = "leg2_L"
|
||||
bones/21/parent = 20
|
||||
bones/21/rest = Transform3D(0.990336, -0.138679, 0.00180777, 0.138628, 0.990193, 0.0173138, -0.00419111, -0.0168959, 0.999848, 5.96046e-08, 5.85994, -5.23403e-07)
|
||||
bones/21/enabled = true
|
||||
bones/21/position = Vector3(5.96046e-08, 5.85994, -5.23403e-07)
|
||||
bones/21/rotation = Quaternion(-0.048608, 0.00188239, 0.388818, 0.92003)
|
||||
bones/21/rotation = Quaternion(-0.0475168, 0.00188995, 0.38009, 0.923726)
|
||||
bones/21/scale = Vector3(1, 1, 1)
|
||||
bones/22/name = "foot1_L"
|
||||
bones/22/parent = 21
|
||||
@@ -1138,7 +1170,7 @@ bones/26/name = "hip_R"
|
||||
bones/26/parent = -1
|
||||
bones/26/rest = Transform3D(0.138486, -0.897208, -0.419333, 0.129033, -0.403458, 0.905854, -0.981923, -0.179556, 0.059896, -0.000155807, -0.00105953, -2.01735)
|
||||
bones/26/enabled = true
|
||||
bones/26/position = Vector3(0.0289171, -0.331035, -1.59603)
|
||||
bones/26/position = Vector3(0.0289172, -0.298136, -1.59603)
|
||||
bones/26/rotation = Quaternion(0.695067, -0.09936, -0.377924, -0.603475)
|
||||
bones/26/scale = Vector3(1, 1, 1)
|
||||
bones/27/name = "leg1_R"
|
||||
@@ -1146,14 +1178,14 @@ bones/27/parent = 26
|
||||
bones/27/rest = Transform3D(0.945603, -0.113405, -0.304916, 0.324072, 0.410457, 0.852351, 0.0284943, -0.9048, 0.424881, -9.54606e-09, 2.00996, -3.52971e-07)
|
||||
bones/27/enabled = true
|
||||
bones/27/position = Vector3(-9.54606e-09, 2.00996, -3.52971e-07)
|
||||
bones/27/rotation = Quaternion(-0.313748, 0.176775, 0.184174, 0.914545)
|
||||
bones/27/rotation = Quaternion(-0.317636, 0.174004, 0.183885, 0.913793)
|
||||
bones/27/scale = Vector3(1, 1, 1)
|
||||
bones/28/name = "leg2_R"
|
||||
bones/28/parent = 27
|
||||
bones/28/rest = Transform3D(0.990336, 0.138679, -0.00180777, -0.138628, 0.990193, 0.0173138, 0.00419111, -0.0168959, 0.999848, 4.51691e-08, 5.85994, -3.72529e-09)
|
||||
bones/28/enabled = true
|
||||
bones/28/position = Vector3(4.51691e-08, 5.85994, -3.72529e-09)
|
||||
bones/28/rotation = Quaternion(-0.273992, 0.0201705, -0.178776, 0.944754)
|
||||
bones/28/rotation = Quaternion(-0.268021, 0.0202226, -0.17488, 0.947192)
|
||||
bones/28/scale = Vector3(1, 1, 1)
|
||||
bones/29/name = "foot1_R"
|
||||
bones/29/parent = 28
|
||||
@@ -1190,10 +1222,18 @@ mesh = SubResource("ArrayMesh_6e63x")
|
||||
skin = SubResource("Skin_yvw71")
|
||||
|
||||
[node name="BoneAttachment3D" type="BoneAttachment3D" parent="Armature/Skeleton3D"]
|
||||
transform = Transform3D(-0.370164, -0.13327, -0.919357, -0.283733, -0.926146, 0.248495, -0.884576, 0.352835, 0.305013, -2.00357, 8.75024, 6.24756)
|
||||
transform = Transform3D(-0.370165, -0.13327, -0.919357, -0.258559, -0.935769, 0.239755, -0.892258, 0.326457, 0.311931, -2.00356, 8.78487, 6.14065)
|
||||
bone_name = "TOP OF SKULL"
|
||||
bone_idx = 8
|
||||
|
||||
[node name="BoneAttachment3D2" type="BoneAttachment3D" parent="Armature/Skeleton3D"]
|
||||
transform = Transform3D(0.960238, 0.142738, 0.239935, -0.230152, -0.0817476, 0.969715, 0.158029, -0.986379, -0.0456457, -2.41576, 1.74228, -8.89334)
|
||||
bone_name = "hand_R"
|
||||
bone_idx = 18
|
||||
|
||||
[node name="AttackSFX" type="AudioStreamPlayer3D" parent="Armature/Skeleton3D/BoneAttachment3D2"]
|
||||
transform = Transform3D(0.960238, -0.2437, 0.136211, 0.14274, 0.00925007, -0.989717, 0.239934, 0.969807, 0.043668, -8.82601, 7.03556, -0.84675)
|
||||
|
||||
[node name="Hitbox" type="Area3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0)
|
||||
@@ -1216,3 +1256,10 @@ unique_name_in_owner = true
|
||||
root_node = NodePath("%AnimationTree/..")
|
||||
tree_root = SubResource("AnimationNodeStateMachine_q3bfl")
|
||||
anim_player = NodePath("../AnimationPlayer")
|
||||
|
||||
[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
autoplay = true
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="Walk2" type="AudioStreamPlayer3D" parent="."]
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
[gd_resource type="AnimationLibrary" load_steps=6 format=3 uid="uid://dn4501qsypsu"]
|
||||
[gd_resource type="AnimationLibrary" load_steps=8 format=3 uid="uid://dn4501qsypsu"]
|
||||
|
||||
[ext_resource type="AudioStream" uid="uid://dm0tcrjmu1a05" path="res://src/audio/sfx/enemy_boss1_step.ogg" id="1_5mwcl"]
|
||||
[ext_resource type="AudioStream" uid="uid://cbx3k6qk0wakg" path="res://src/audio/sfx/enemy_oxface_stab.ogg" id="1_il05d"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ttkyx"]
|
||||
length = 0.001
|
||||
@@ -594,6 +597,21 @@ tracks/40/keys = {
|
||||
"update": 1,
|
||||
"values": [true, false, true]
|
||||
}
|
||||
tracks/41/type = "audio"
|
||||
tracks/41/imported = false
|
||||
tracks/41/enabled = true
|
||||
tracks/41/path = NodePath("Armature/Skeleton3D/BoneAttachment3D2/AttackSFX")
|
||||
tracks/41/interp = 1
|
||||
tracks/41/loop_wrap = true
|
||||
tracks/41/keys = {
|
||||
"clips": [{
|
||||
"end_offset": 0.0,
|
||||
"start_offset": 0.0,
|
||||
"stream": ExtResource("1_il05d")
|
||||
}],
|
||||
"times": PackedFloat32Array(0)
|
||||
}
|
||||
tracks/41/use_blend = true
|
||||
|
||||
[sub_resource type="Animation" id="Animation_fdnqs"]
|
||||
resource_name = "SHIELD BASH"
|
||||
@@ -1163,6 +1181,25 @@ tracks/39/path = NodePath("Armature/Skeleton3D:heelIK_R")
|
||||
tracks/39/interp = 1
|
||||
tracks/39/loop_wrap = true
|
||||
tracks/39/keys = PackedFloat32Array(0, 1, -0.457231, -0.539389, 0.539388, 0.45723, 0.0666667, 1, -0.456471, -0.540172, 0.539706, 0.45669, 0.133333, 1, -0.455804, -0.540868, 0.539961, 0.456231, 0.4, 1, -0.454791, -0.542094, 0.539951, 0.455799, 0.466667, 1, -0.453821, -0.543027, 0.540487, 0.455019, 0.533333, 1, -0.452851, -0.543959, 0.541021, 0.454237, 0.6, 1, -0.451879, -0.544889, 0.541553, 0.453455, 0.766667, 1, -0.452732, -0.543999, 0.541254, 0.454029, 0.866667, 1, -0.453591, -0.543123, 0.540901, 0.454641, 0.966667, 1, -0.454449, -0.542246, 0.540547, 0.455252, 1.1, 1, -0.455592, -0.541075, 0.540073, 0.456065, 1.16667, 1, -0.456281, -0.540367, 0.539786, 0.456555)
|
||||
tracks/40/type = "audio"
|
||||
tracks/40/imported = false
|
||||
tracks/40/enabled = true
|
||||
tracks/40/path = NodePath("Walk2")
|
||||
tracks/40/interp = 1
|
||||
tracks/40/loop_wrap = true
|
||||
tracks/40/keys = {
|
||||
"clips": [{
|
||||
"end_offset": 0.0,
|
||||
"start_offset": 0.0,
|
||||
"stream": ExtResource("1_5mwcl")
|
||||
}, {
|
||||
"end_offset": 0.0,
|
||||
"start_offset": 0.0,
|
||||
"stream": ExtResource("1_5mwcl")
|
||||
}],
|
||||
"times": PackedFloat32Array(0.133333, 0.733333)
|
||||
}
|
||||
tracks/40/use_blend = true
|
||||
|
||||
[resource]
|
||||
_data = {
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,9 +1,12 @@
|
||||
[gd_scene load_steps=8 format=3 uid="uid://6dnsw37d1uw4"]
|
||||
[gd_scene load_steps=11 format=3 uid="uid://6dnsw37d1uw4"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dveonnhcxcp08" path="res://src/enemy/BossTypeA.cs" id="1_v6b2s"]
|
||||
[ext_resource type="PackedScene" uid="uid://dnomfbym36ivg" path="res://src/enemy/enemy_types/15. ox_face/OxFaceModelView.tscn" id="2_v6b2s"]
|
||||
[ext_resource type="PackedScene" uid="uid://mqj4jju3870v" path="res://src/enemy/behaviors/FollowBehavior.tscn" id="3_ow3fn"]
|
||||
[ext_resource type="PackedScene" uid="uid://8bcme8ao4axa" path="res://src/enemy/behaviors/EngagePlayerBehavior.tscn" id="4_lwyi7"]
|
||||
[ext_resource type="AudioStream" uid="uid://ba8xendacec6" path="res://src/audio/sfx/item_kyuu_layer_2.ogg" id="5_7w7wv"]
|
||||
[ext_resource type="AudioStream" uid="uid://b7ycb6qvitpmw" path="res://src/audio/sfx/player_HITENEMY_3.ogg" id="6_v0b2d"]
|
||||
[ext_resource type="AudioStream" uid="uid://bf7adfdd857hw" path="res://src/audio/sfx/enemy_morph.ogg" id="7_14j2x"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_7uhtm"]
|
||||
radius = 12.4931
|
||||
@@ -33,22 +36,49 @@ shape = SubResource("CapsuleShape3D_7uhtm")
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="Skeleton3D" parent="EnemyModelView/Armature" index="0"]
|
||||
bones/0/position = Vector3(-0.260254, -1.05135, -1.96786)
|
||||
bones/6/rotation = Quaternion(-0.0474983, -0.294201, -0.744151, 0.597854)
|
||||
bones/11/rotation = Quaternion(-0.779814, -0.0573517, 0.0816353, 0.61801)
|
||||
bones/15/rotation = Quaternion(-0.21544, 0.745303, 0.613567, -0.147118)
|
||||
bones/0/position = Vector3(-0.259419, -0.955989, -1.97429)
|
||||
bones/0/rotation = Quaternion(0.0915277, -0.692111, -0.0341586, 0.715149)
|
||||
bones/1/rotation = Quaternion(0.0828172, 0.0642671, -0.39627, 0.91213)
|
||||
bones/2/rotation = Quaternion(-0.137837, 0.137086, 0.403643, 0.894025)
|
||||
bones/3/rotation = Quaternion(-0.00338816, 0.00852271, 0.0152662, 0.999842)
|
||||
bones/4/rotation = Quaternion(0.037164, 0.133882, 0.101977, 0.985036)
|
||||
bones/5/rotation = Quaternion(-0.0397875, -0.0104688, 0.0235613, 0.998875)
|
||||
bones/6/rotation = Quaternion(-0.0748623, -0.304184, -0.744777, 0.589215)
|
||||
bones/7/rotation = Quaternion(0.0788712, -0.0306685, -0.220772, 0.971647)
|
||||
bones/8/rotation = Quaternion(-0.127286, 0.0273856, -0.425308, 0.895635)
|
||||
bones/9/rotation = Quaternion(-0.0931654, 0.0493592, -0.752794, 0.649757)
|
||||
bones/10/rotation = Quaternion(0.0429966, 0.0102923, 0.363547, 0.930526)
|
||||
bones/11/rotation = Quaternion(-0.785185, -0.062058, 0.0709016, 0.612051)
|
||||
bones/12/rotation = Quaternion(-0.607818, -0.670503, -0.284916, 0.31592)
|
||||
bones/13/rotation = Quaternion(-0.255941, 0.586097, -0.127235, 0.758153)
|
||||
bones/14/rotation = Quaternion(-0.513517, -0.227335, -0.228787, 0.795157)
|
||||
bones/15/rotation = Quaternion(-0.210241, 0.737203, 0.62235, -0.158151)
|
||||
bones/16/rotation = Quaternion(-0.486067, -0.16412, -0.362283, 0.778174)
|
||||
bones/17/rotation = Quaternion(-0.0553629, -0.0361614, 0.62832, 0.77514)
|
||||
bones/19/position = Vector3(-0.379519, -1.19848, -1.72293)
|
||||
bones/19/rotation = Quaternion(0.627358, 0.293207, 0.545673, -0.471903)
|
||||
bones/20/rotation = Quaternion(-0.327492, -0.423093, -0.300135, 0.789722)
|
||||
bones/21/rotation = Quaternion(-0.0604877, 0.00129843, 0.48965, 0.869818)
|
||||
bones/26/position = Vector3(-0.0278308, -1.11395, -2.01914)
|
||||
bones/27/rotation = Quaternion(-0.202309, 0.424634, 0.137996, 0.871616)
|
||||
bones/28/rotation = Quaternion(-0.0627943, -0.00116438, -0.501344, 0.862966)
|
||||
bones/18/rotation = Quaternion(-0.119289, 0.0998131, -0.0173011, 0.987678)
|
||||
bones/19/position = Vector3(-0.302718, -1.12582, -1.97598)
|
||||
bones/19/rotation = Quaternion(0.611408, 0.312413, 0.571405, -0.449527)
|
||||
bones/20/rotation = Quaternion(-0.310858, -0.441522, -0.272557, 0.796328)
|
||||
bones/21/rotation = Quaternion(-0.0601548, 0.0013007, 0.486955, 0.871352)
|
||||
bones/22/rotation = Quaternion(0.156218, 0.0483037, -0.624744, 0.763516)
|
||||
bones/23/rotation = Quaternion(0.123936, -0.00678731, -0.347765, 0.92933)
|
||||
bones/24/rotation = Quaternion(0.427621, 0.561851, 0.530083, 0.469549)
|
||||
bones/25/position = Vector3(4.82744, -12.3397, 0.183847)
|
||||
bones/25/rotation = Quaternion(-0.400051, 0.463947, -0.598439, 0.516317)
|
||||
bones/26/position = Vector3(-0.253573, -1.11395, -2.0176)
|
||||
bones/26/rotation = Quaternion(0.608697, -0.3155, -0.575514, -0.445793)
|
||||
bones/27/rotation = Quaternion(-0.208223, 0.421365, 0.142238, 0.871128)
|
||||
bones/28/rotation = Quaternion(-0.0641552, -0.00115561, -0.51221, 0.85646)
|
||||
bones/29/rotation = Quaternion(0.150998, -0.0515735, 0.668372, 0.726511)
|
||||
bones/31/position = Vector3(-7.29038, -6.72226, -0.133983)
|
||||
bones/31/rotation = Quaternion(-0.453784, 0.542292, 0.542291, -0.453784)
|
||||
bones/32/rotation = Quaternion(0.456756, 0.539878, -0.539587, -0.456893)
|
||||
|
||||
[node name="BoneAttachment3D" parent="EnemyModelView/Armature/Skeleton3D" index="0"]
|
||||
transform = Transform3D(-0.266252, -0.0359368, -0.963233, -0.333724, -0.934064, 0.127095, -0.904288, 0.355294, 0.236703, -1.68946, 8.20239, 4.95677)
|
||||
transform = Transform3D(-0.297606, -0.084924, -0.950904, -0.328725, -0.926012, 0.185582, -0.896309, 0.367817, 0.247669, -1.66129, 8.31029, 4.94733)
|
||||
|
||||
[node name="BoneAttachment3D2" parent="EnemyModelView/Armature/Skeleton3D" index="2"]
|
||||
transform = Transform3D(-0.0446689, 0.0287099, -0.998588, -0.0869986, -0.9959, -0.0247414, -0.995205, 0.0857716, 0.0469831, -6.16044, -1.31467, -0.144618)
|
||||
|
||||
[node name="Collision" type="Area3D" parent="."]
|
||||
collision_layer = 2048
|
||||
@@ -85,4 +115,29 @@ avoidance_enabled = true
|
||||
radius = 1.0
|
||||
debug_enabled = true
|
||||
|
||||
[node name="HitSounds" type="Node3D" parent="."]
|
||||
|
||||
[node name="AbsorbSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("5_7w7wv")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="HitSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("6_v0b2d")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="MorphSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("7_14j2x")
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="DieSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="AggroSFX" type="AudioStreamPlayer3D" parent="HitSounds"]
|
||||
unique_name_in_owner = true
|
||||
bus = &"SFX"
|
||||
|
||||
[editable path="EnemyModelView"]
|
||||
|
||||
@@ -206,7 +206,7 @@ bones/0/name = "spine1"
|
||||
bones/0/parent = -1
|
||||
bones/0/rest = Transform3D(1.49012e-06, 0.00846654, -0.999964, 2.93367e-08, 0.999964, 0.00846654, 1, -4.23752e-08, 1.49012e-06, 0.000155807, -0.00105953, -2.01735)
|
||||
bones/0/enabled = true
|
||||
bones/0/position = Vector3(-0.259283, -0.9404, -1.97534)
|
||||
bones/0/position = Vector3(-0.260276, -1.05389, -1.96769)
|
||||
bones/0/rotation = Quaternion(0.0915277, -0.692111, -0.0341586, 0.715149)
|
||||
bones/0/scale = Vector3(1, 1, 1)
|
||||
bones/1/name = "spine0"
|
||||
@@ -249,7 +249,7 @@ bones/6/parent = 5
|
||||
bones/6/rest = Transform3D(0.0598389, 0.98531, 0.15995, -0.975271, 0.0235553, 0.219755, 0.212759, -0.169144, 0.962353, 3.65078e-07, 1.40318, 0)
|
||||
bones/6/enabled = true
|
||||
bones/6/position = Vector3(3.65078e-07, 1.40318, 0)
|
||||
bones/6/rotation = Quaternion(-0.0777813, -0.305234, -0.744803, 0.58826)
|
||||
bones/6/rotation = Quaternion(-0.0520092, -0.295864, -0.744301, 0.596469)
|
||||
bones/6/scale = Vector3(1, 1, 1)
|
||||
bones/7/name = "Bone.007"
|
||||
bones/7/parent = 6
|
||||
@@ -284,7 +284,7 @@ bones/11/parent = 1
|
||||
bones/11/rest = Transform3D(0.981457, 0.0769315, -0.175568, 0.18837, -0.217537, 0.957703, 0.035485, -0.973015, -0.227995, -1.09896e-07, 3.84743, -2.10479e-07)
|
||||
bones/11/enabled = true
|
||||
bones/11/position = Vector3(-1.09896e-07, 3.84743, -2.10479e-07)
|
||||
bones/11/rotation = Quaternion(-0.786087, -0.0628615, 0.0690646, 0.61102)
|
||||
bones/11/rotation = Quaternion(-0.779476, -0.0570599, 0.0822994, 0.618375)
|
||||
bones/11/scale = Vector3(1, 0.999999, 1)
|
||||
bones/12/name = "arm2_L"
|
||||
bones/12/parent = 11
|
||||
@@ -312,21 +312,21 @@ bones/15/parent = 1
|
||||
bones/15/rest = Transform3D(-0.98213, 0.0512573, -0.181089, -0.187541, -0.185921, 0.964501, 0.0157694, 0.981227, 0.192212, 0.00107862, 3.8461, -0.0821097)
|
||||
bones/15/enabled = true
|
||||
bones/15/position = Vector3(0.00107886, 3.8461, -0.0821095)
|
||||
bones/15/rotation = Quaternion(-0.209386, 0.735858, 0.623768, -0.15995)
|
||||
bones/15/rotation = Quaternion(-0.21553, 0.745444, 0.613412, -0.146924)
|
||||
bones/15/scale = Vector3(1, 1, 1)
|
||||
bones/16/name = "arm2_R"
|
||||
bones/16/parent = 15
|
||||
bones/16/rest = Transform3D(0.999962, -0.00846545, 0.00203661, 0.00853768, 0.99922, -0.0385481, -0.0017087, 0.038564, 0.999254, -4.28408e-07, 3.65838, -2.16067e-06)
|
||||
bones/16/enabled = true
|
||||
bones/16/position = Vector3(-4.28408e-07, 3.65838, -2.16067e-06)
|
||||
bones/16/rotation = Quaternion(-0.424022, 0.233298, -0.489444, 0.725412)
|
||||
bones/16/rotation = Quaternion(-0.486067, -0.16412, -0.362283, 0.778174)
|
||||
bones/16/scale = Vector3(1, 1, 0.999999)
|
||||
bones/17/name = "arm3_R"
|
||||
bones/17/parent = 16
|
||||
bones/17/rest = Transform3D(0.998789, 0.0488077, -0.00615137, -0.0491113, 0.996528, -0.0672226, 0.00284903, 0.0674433, 0.997719, -5.21541e-08, 3.04263, -1.31503e-06)
|
||||
bones/17/enabled = true
|
||||
bones/17/position = Vector3(-5.21541e-08, 3.04263, -1.31503e-06)
|
||||
bones/17/rotation = Quaternion(-0.0553628, -0.0361614, 0.62832, 0.77514)
|
||||
bones/17/rotation = Quaternion(-0.0553629, -0.0361614, 0.62832, 0.77514)
|
||||
bones/17/scale = Vector3(1, 0.999999, 1)
|
||||
bones/18/name = "hand_R"
|
||||
bones/18/parent = 17
|
||||
@@ -339,22 +339,22 @@ bones/19/name = "hip_L"
|
||||
bones/19/parent = -1
|
||||
bones/19/rest = Transform3D(0.138486, 0.897208, 0.419333, -0.129033, -0.403458, 0.905854, 0.981923, -0.179556, 0.059896, 0.000155807, -0.00105953, -2.01735)
|
||||
bones/19/enabled = true
|
||||
bones/19/position = Vector3(-0.290163, -1.11395, -2.01735)
|
||||
bones/19/rotation = Quaternion(0.608697, 0.3155, 0.575514, -0.445793)
|
||||
bones/19/position = Vector3(-0.381562, -1.20042, -1.71619)
|
||||
bones/19/rotation = Quaternion(0.627767, 0.292688, 0.544975, -0.472487)
|
||||
bones/19/scale = Vector3(1, 1, 1)
|
||||
bones/20/name = "leg1_L"
|
||||
bones/20/parent = 19
|
||||
bones/20/rest = Transform3D(0.945603, 0.113405, 0.304916, -0.324072, 0.410457, 0.852351, -0.0284943, -0.9048, 0.424881, 2.08616e-07, 2.00996, -7.1153e-07)
|
||||
bones/20/enabled = true
|
||||
bones/20/position = Vector3(2.08616e-07, 2.00996, -7.1153e-07)
|
||||
bones/20/rotation = Quaternion(-0.30808, -0.444485, -0.267974, 0.797314)
|
||||
bones/20/rotation = Quaternion(-0.327925, -0.422597, -0.300857, 0.789533)
|
||||
bones/20/scale = Vector3(1, 0.999999, 1)
|
||||
bones/21/name = "leg2_L"
|
||||
bones/21/parent = 20
|
||||
bones/21/rest = Transform3D(0.990336, -0.138679, 0.00180777, 0.138628, 0.990193, 0.0173138, -0.00419111, -0.0168959, 0.999848, 5.96046e-08, 5.85994, -5.23403e-07)
|
||||
bones/21/enabled = true
|
||||
bones/21/position = Vector3(5.96046e-08, 5.85994, -5.23403e-07)
|
||||
bones/21/rotation = Quaternion(-0.060049, 0.00130142, 0.4861, 0.871837)
|
||||
bones/21/rotation = Quaternion(-0.0605445, 0.00129802, 0.49011, 0.869554)
|
||||
bones/21/scale = Vector3(1, 1, 1)
|
||||
bones/22/name = "foot1_L"
|
||||
bones/22/parent = 21
|
||||
@@ -388,7 +388,7 @@ bones/26/name = "hip_R"
|
||||
bones/26/parent = -1
|
||||
bones/26/rest = Transform3D(0.138486, -0.897208, -0.419333, 0.129033, -0.403458, 0.905854, -0.981923, -0.179556, 0.059896, -0.000155807, -0.00105953, -2.01735)
|
||||
bones/26/enabled = true
|
||||
bones/26/position = Vector3(-0.290475, -1.11395, -2.01735)
|
||||
bones/26/position = Vector3(-0.0218232, -1.11395, -2.01917)
|
||||
bones/26/rotation = Quaternion(0.608697, -0.3155, -0.575514, -0.445793)
|
||||
bones/26/scale = Vector3(1, 1, 1)
|
||||
bones/27/name = "leg1_R"
|
||||
@@ -396,14 +396,14 @@ bones/27/parent = 26
|
||||
bones/27/rest = Transform3D(0.945603, -0.113405, -0.304916, 0.324072, 0.410457, 0.852351, 0.0284943, -0.9048, 0.424881, -9.54606e-09, 2.00996, -3.52971e-07)
|
||||
bones/27/enabled = true
|
||||
bones/27/position = Vector3(-9.54606e-09, 2.00996, -3.52971e-07)
|
||||
bones/27/rotation = Quaternion(-0.209385, 0.420724, 0.143017, 0.871031)
|
||||
bones/27/rotation = Quaternion(-0.201704, 0.42497, 0.137533, 0.871666)
|
||||
bones/27/scale = Vector3(1, 0.999999, 1)
|
||||
bones/28/name = "leg2_R"
|
||||
bones/28/parent = 27
|
||||
bones/28/rest = Transform3D(0.990336, 0.138679, -0.00180777, -0.138628, 0.990193, 0.0173138, 0.00419111, -0.0168959, 0.999848, 4.51691e-08, 5.85994, -3.72529e-09)
|
||||
bones/28/enabled = true
|
||||
bones/28/position = Vector3(4.51691e-08, 5.85994, -3.72529e-09)
|
||||
bones/28/rotation = Quaternion(-0.0643786, -0.00115414, -0.513993, 0.855374)
|
||||
bones/28/rotation = Quaternion(-0.0627068, -0.00116495, -0.500645, 0.863378)
|
||||
bones/28/scale = Vector3(1, 1, 1)
|
||||
bones/29/name = "foot1_R"
|
||||
bones/29/parent = 28
|
||||
@@ -435,7 +435,7 @@ bones/32/rotation = Quaternion(0.456756, 0.539878, -0.539587, -0.456893)
|
||||
bones/32/scale = Vector3(1, 1, 1)
|
||||
|
||||
[node name="BoneAttachment3D" type="BoneAttachment3D" parent="Armature/Skeleton3D"]
|
||||
transform = Transform3D(-0.300929, -0.0901167, -0.949379, -0.328078, -0.924976, 0.191792, -0.895436, 0.369186, 0.248787, -1.6582, 8.32712, 4.94593)
|
||||
transform = Transform3D(-0.271443, -0.0440478, -0.961446, -0.333033, -0.932944, 0.136766, -0.902999, 0.357318, 0.238571, -1.68503, 8.20202, 4.95649)
|
||||
bone_name = "TOP OF SKULL"
|
||||
bone_idx = 8
|
||||
|
||||
@@ -457,6 +457,14 @@ custom_aabb = AABB(0, 4.26, 1.65, 0, 2.215, 3.215)
|
||||
mesh = SubResource("ArrayMesh_5ew54")
|
||||
skin = SubResource("Skin_e330f")
|
||||
|
||||
[node name="BoneAttachment3D2" type="BoneAttachment3D" parent="Armature/Skeleton3D"]
|
||||
transform = Transform3D(-0.0477638, -0.00543313, -0.998843, -0.0797991, -0.996767, 0.00923727, -0.995664, 0.080149, 0.0471753, -6.32381, -1.21705, -0.163401)
|
||||
bone_name = "hand_R"
|
||||
bone_idx = 18
|
||||
|
||||
[node name="AttackSFX" type="AudioStreamPlayer3D" parent="Armature/Skeleton3D/BoneAttachment3D2"]
|
||||
transform = Transform3D(-0.300929, -0.328079, -0.895438, -0.0901166, -0.924978, 0.369186, -0.94938, 0.191793, 0.248787, -14.812, 2.65093, -1.27026)
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
libraries = {
|
||||
@@ -479,3 +487,10 @@ collision_mask = 16
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.300452, 11.5388, 0.257962)
|
||||
shape = SubResource("BoxShape3D_pmgg3")
|
||||
disabled = true
|
||||
|
||||
[node name="WalkSFX" type="AudioStreamPlayer3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
autoplay = true
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="Walk2" type="AudioStreamPlayer3D" parent="."]
|
||||
|
||||
@@ -2023,43 +2023,43 @@ bones/0/name = "Bone"
|
||||
bones/0/parent = -1
|
||||
bones/0/rest = Transform3D(0.664239, -0.5079, 0.548475, 0.747326, 0.467912, -0.471764, -0.017029, 0.723254, 0.690372, 1.32537, -1.1447, -1.67359)
|
||||
bones/0/enabled = true
|
||||
bones/0/position = Vector3(1.33831, -0.925116, -0.947337)
|
||||
bones/0/rotation = Quaternion(0.10104, 0.561931, 0.669824, 0.474722)
|
||||
bones/0/position = Vector3(1.35023, -0.949945, -0.951)
|
||||
bones/0/rotation = Quaternion(0.0863564, 0.584829, 0.634219, 0.498282)
|
||||
bones/0/scale = Vector3(1, 1, 1)
|
||||
bones/1/name = "Bone.001"
|
||||
bones/1/parent = 0
|
||||
bones/1/rest = Transform3D(0.997342, -0.0728408, -0.00159767, 0.0728462, 0.996536, 0.0401248, -0.00133059, -0.0401345, 0.999193, 1.19209e-07, 1.85949, 3.57628e-07)
|
||||
bones/1/enabled = true
|
||||
bones/1/position = Vector3(1.19209e-07, 1.85949, 3.57628e-07)
|
||||
bones/1/rotation = Quaternion(-0.0204614, 0.000717296, 0.037025, 0.999105)
|
||||
bones/1/rotation = Quaternion(-0.0504763, 0.0629209, 0.0822485, 0.993342)
|
||||
bones/1/scale = Vector3(1, 1, 1)
|
||||
bones/2/name = "Bone.002"
|
||||
bones/2/parent = 1
|
||||
bones/2/rest = Transform3D(0.175378, 0.963955, 0.200084, -0.983796, 0.179284, -0.00142574, -0.0372462, -0.196592, 0.979778, -1.19209e-07, 0.416929, 0)
|
||||
bones/2/enabled = true
|
||||
bones/2/position = Vector3(-1.19209e-07, 0.416929, 0)
|
||||
bones/2/rotation = Quaternion(-0.0638451, 0.0777217, -0.637563, 0.763804)
|
||||
bones/2/rotation = Quaternion(-0.0620359, 0.0820447, -0.650208, 0.752761)
|
||||
bones/2/scale = Vector3(1, 1, 1)
|
||||
bones/3/name = "Bone.003"
|
||||
bones/3/parent = 2
|
||||
bones/3/rest = Transform3D(0.795965, -0.570793, -0.201581, 0.584249, 0.811523, 0.00907765, 0.158406, -0.124999, 0.97943, 0, 0.298125, -7.15256e-07)
|
||||
bones/3/enabled = true
|
||||
bones/3/position = Vector3(0, 0.298125, -7.15256e-07)
|
||||
bones/3/rotation = Quaternion(-0.0351081, -0.095155, 0.305268, 0.94685)
|
||||
bones/3/rotation = Quaternion(-0.0192725, -0.101548, 0.323417, 0.940594)
|
||||
bones/3/scale = Vector3(1, 1, 1)
|
||||
bones/4/name = "Bone.004"
|
||||
bones/4/parent = 3
|
||||
bones/4/rest = Transform3D(0.989609, -0.143492, 0.00920886, 0.143739, 0.98559, -0.0891694, 0.00371892, 0.0895665, 0.995974, 2.38419e-07, 0.217615, -1.19209e-07)
|
||||
bones/4/enabled = true
|
||||
bones/4/position = Vector3(2.38419e-07, 0.217615, -1.19209e-07)
|
||||
bones/4/rotation = Quaternion(0.0447077, 0.00122353, 0.0726431, 0.996355)
|
||||
bones/4/rotation = Quaternion(0.0338167, -0.0108495, 0.11766, 0.992419)
|
||||
bones/4/scale = Vector3(1, 1, 1)
|
||||
bones/5/name = "Bone.005"
|
||||
bones/5/parent = 1
|
||||
bones/5/rest = Transform3D(0.891186, 0.451267, 0.0463144, -0.453483, 0.888891, 0.0650073, -0.0118328, -0.0789364, 0.996809, -1.19209e-07, 0.416929, 0)
|
||||
bones/5/enabled = true
|
||||
bones/5/position = Vector3(-1.19209e-07, 0.416929, 0)
|
||||
bones/5/rotation = Quaternion(-0.0367377, 0.0148528, -0.23288, 0.971698)
|
||||
bones/5/rotation = Quaternion(-0.0265093, 0.0111489, -0.236595, 0.971183)
|
||||
bones/5/scale = Vector3(1, 1, 1)
|
||||
bones/6/name = "Bone.006"
|
||||
bones/6/parent = 5
|
||||
@@ -2094,35 +2094,35 @@ bones/10/parent = 9
|
||||
bones/10/rest = Transform3D(0.999465, -0.0299684, -0.0130876, 0.0321775, 0.972617, 0.230175, 0.00583128, -0.230473, 0.973061, -5.96046e-07, 0.347821, -4.76837e-07)
|
||||
bones/10/enabled = true
|
||||
bones/10/position = Vector3(-5.96046e-07, 0.347821, -4.76837e-07)
|
||||
bones/10/rotation = Quaternion(-0.11549, -0.00471059, 0.0156599, 0.993174)
|
||||
bones/10/rotation = Quaternion(-0.088852, -0.00177213, 0.0165433, 0.995906)
|
||||
bones/10/scale = Vector3(1, 1, 1)
|
||||
bones/11/name = "Bone.011"
|
||||
bones/11/parent = 10
|
||||
bones/11/rest = Transform3D(0.999927, -0.00347527, -0.0115401, 0.00624295, 0.968404, 0.249307, 0.0103091, -0.249361, 0.968356, 5.36442e-07, 0.236611, 0)
|
||||
bones/11/enabled = true
|
||||
bones/11/position = Vector3(5.36442e-07, 0.236611, 0)
|
||||
bones/11/rotation = Quaternion(-0.126171, -0.00562458, 0.00248096, 0.99199)
|
||||
bones/11/rotation = Quaternion(-0.165604, -0.0148975, 0.00497866, 0.986067)
|
||||
bones/11/scale = Vector3(1, 1, 1)
|
||||
bones/12/name = "Bone.012"
|
||||
bones/12/parent = 11
|
||||
bones/12/rest = Transform3D(0.997952, 0.0219232, -0.0600952, -0.0135761, 0.990624, 0.13594, 0.062512, -0.134846, 0.988893, 1.07288e-06, 0.172989, -1.19209e-07)
|
||||
bones/12/enabled = true
|
||||
bones/12/position = Vector3(1.07288e-06, 0.172989, -1.19209e-07)
|
||||
bones/12/rotation = Quaternion(-0.0683952, -0.030865, -0.00887272, 0.997141)
|
||||
bones/12/rotation = Quaternion(-0.108042, -0.0407396, -0.00673693, 0.993288)
|
||||
bones/12/scale = Vector3(1, 1, 1)
|
||||
bones/13/name = "Bone.013"
|
||||
bones/13/parent = 1
|
||||
bones/13/rest = Transform3D(0.924677, -0.380197, -0.0205529, 0.380735, 0.922776, 0.0593796, -0.0036102, -0.0627321, 0.998024, -1.19209e-07, 0.416929, 0)
|
||||
bones/13/enabled = true
|
||||
bones/13/position = Vector3(-1.19209e-07, 0.416929, 0)
|
||||
bones/13/rotation = Quaternion(-0.0305892, -0.00410299, 0.193944, 0.980527)
|
||||
bones/13/rotation = Quaternion(-0.000604329, 0.00780562, 0.189789, 0.981794)
|
||||
bones/13/scale = Vector3(1, 1, 1)
|
||||
bones/14/name = "Bone.014"
|
||||
bones/14/parent = 13
|
||||
bones/14/rest = Transform3D(0.961502, 0.268958, 0.0563539, -0.274785, 0.938956, 0.207014, 0.00276425, -0.214529, 0.976714, -5.36442e-07, 0.369994, -4.76837e-07)
|
||||
bones/14/enabled = true
|
||||
bones/14/position = Vector3(-5.36442e-07, 0.369994, -4.76837e-07)
|
||||
bones/14/rotation = Quaternion(-0.107279, 0.0135296, -0.138094, 0.984499)
|
||||
bones/14/rotation = Quaternion(-0.125803, 0.00741104, -0.13975, 0.982135)
|
||||
bones/14/scale = Vector3(1, 1, 1)
|
||||
bones/15/name = "Bone.015"
|
||||
bones/15/parent = 14
|
||||
@@ -2136,14 +2136,14 @@ bones/16/parent = 15
|
||||
bones/16/rest = Transform3D(0.985406, 0.151262, 0.0780702, -0.133163, 0.97071, -0.199976, -0.106032, 0.186662, 0.976686, 3.20375e-07, 0.160424, -2.98023e-07)
|
||||
bones/16/enabled = true
|
||||
bones/16/position = Vector3(3.20375e-07, 0.160424, -2.98023e-07)
|
||||
bones/16/rotation = Quaternion(0.0967923, 0.0461858, -0.071946, 0.991626)
|
||||
bones/16/rotation = Quaternion(0.050877, 0.0307588, -0.0874526, 0.994393)
|
||||
bones/16/scale = Vector3(1, 1, 1)
|
||||
bones/17/name = "Bone.017"
|
||||
bones/17/parent = 1
|
||||
bones/17/rest = Transform3D(0.731154, -0.681923, -0.0198731, 0.682037, 0.729994, 0.0439829, -0.0154858, -0.0457125, 0.998835, -1.19209e-07, 0.416929, 0)
|
||||
bones/17/enabled = true
|
||||
bones/17/position = Vector3(-1.19209e-07, 0.416929, 0)
|
||||
bones/17/rotation = Quaternion(-0.0242907, -0.0014185, 0.367137, 0.929849)
|
||||
bones/17/rotation = Quaternion(-0.034177, -0.0145476, 0.394429, 0.918176)
|
||||
bones/17/scale = Vector3(1, 1, 1)
|
||||
bones/18/name = "Bone.018"
|
||||
bones/18/parent = 17
|
||||
@@ -2170,8 +2170,8 @@ bones/21/name = "Bone.021"
|
||||
bones/21/parent = -1
|
||||
bones/21/rest = Transform3D(0.638395, -0.466665, -0.612107, -0.416251, 0.459614, -0.784532, 0.647447, 0.755632, 0.0991655, 2.29161, -2.09633, -3.23813)
|
||||
bones/21/enabled = true
|
||||
bones/21/position = Vector3(2.25403, -0.394176, -2.80118)
|
||||
bones/21/rotation = Quaternion(0.679566, 0.0350204, 0.421076, 0.599715)
|
||||
bones/21/position = Vector3(2.24211, -0.369347, -2.79752)
|
||||
bones/21/rotation = Quaternion(0.687697, 0.0368382, 0.421745, 0.589785)
|
||||
bones/21/scale = Vector3(1, 1, 1)
|
||||
|
||||
[node name="CHEST_006" type="MeshInstance3D" parent="Pivot/ARM1/1_ R TELLERIC PROJECTILE ARM/Skeleton3D"]
|
||||
@@ -2179,7 +2179,7 @@ mesh = SubResource("ArrayMesh_5cjg8")
|
||||
skin = SubResource("Skin_my7ts")
|
||||
|
||||
[node name="BoneAttachment3D" type="BoneAttachment3D" parent="Pivot/ARM1/1_ R TELLERIC PROJECTILE ARM/Skeleton3D"]
|
||||
transform = Transform3D(-0.619433, -0.569512, 0.540332, 0.769852, -0.305891, 0.560142, -0.153725, 0.762946, 0.627919, 0.0467839, -1.05135, 1.48171)
|
||||
transform = Transform3D(-0.71025, -0.495843, 0.499685, 0.692459, -0.364386, 0.622675, -0.126671, 0.788266, 0.602156, 0.101032, -0.903048, 1.44604)
|
||||
bone_name = "Bone.019"
|
||||
bone_idx = 19
|
||||
|
||||
@@ -2293,3 +2293,10 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.8473, 9.29013, 10.0437)
|
||||
volume_db = 1.0
|
||||
max_polyphony = 3
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="SFX" type="Node3D" parent="."]
|
||||
|
||||
[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"]
|
||||
unique_name_in_owner = true
|
||||
autoplay = true
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -761,78 +761,78 @@ bones/0/name = "Bone"
|
||||
bones/0/parent = -1
|
||||
bones/0/rest = Transform3D(0.0151222, 0.673616, -0.738927, -0.999829, 0.0180683, -0.00399019, 0.0106633, 0.738861, 0.673774, -1.71286, 0.00923252, -1.71285)
|
||||
bones/0/enabled = true
|
||||
bones/0/position = Vector3(-1.71026, 0.829431, -1.5194)
|
||||
bones/0/rotation = Quaternion(0.0740812, -0.451103, -0.66238, 0.593524)
|
||||
bones/0/position = Vector3(-1.9457, 0.739367, -1.71836)
|
||||
bones/0/rotation = Quaternion(0.0957486, -0.453948, -0.635626, 0.617044)
|
||||
bones/0/scale = Vector3(1, 1, 1)
|
||||
bones/1/name = "Bone.001"
|
||||
bones/1/parent = 0
|
||||
bones/1/rest = Transform3D(0.997342, 0.0728408, -0.00158073, -0.072718, 0.996536, 0.0403565, 0.00451486, -0.0401343, 0.999184, -4.4331e-07, 1.85949, -4.81494e-07)
|
||||
bones/1/enabled = true
|
||||
bones/1/position = Vector3(-4.4331e-07, 1.85949, -4.81494e-07)
|
||||
bones/1/rotation = Quaternion(0.22166, -0.196224, 0.0508024, 0.953825)
|
||||
bones/1/rotation = Quaternion(-0.0681244, -0.214679, 0.10327, 0.968818)
|
||||
bones/1/scale = Vector3(1, 1, 1)
|
||||
bones/2/name = "Bone.002"
|
||||
bones/2/parent = 1
|
||||
bones/2/rest = Transform3D(0.189846, -0.964577, -0.183168, 0.981103, 0.179283, 0.0727582, -0.037342, -0.19352, 0.980385, -9.68575e-08, 0.416929, 8.61473e-09)
|
||||
bones/2/enabled = true
|
||||
bones/2/position = Vector3(-9.68575e-08, 0.416929, 8.61473e-09)
|
||||
bones/2/rotation = Quaternion(-0.242306, 0.269493, 0.756669, 0.544163)
|
||||
bones/2/rotation = Quaternion(-0.326906, 0.130211, 0.627521, 0.694547)
|
||||
bones/2/scale = Vector3(1, 1, 1)
|
||||
bones/3/name = "Bone.003"
|
||||
bones/3/parent = 2
|
||||
bones/3/rest = Transform3D(0.810203, 0.578594, -0.0938093, -0.560363, 0.811523, 0.165602, 0.171945, -0.0816043, 0.981721, -4.76837e-07, 0.298125, -2.68221e-07)
|
||||
bones/3/enabled = true
|
||||
bones/3/position = Vector3(-4.76837e-07, 0.298125, -2.68221e-07)
|
||||
bones/3/rotation = Quaternion(-0.0489528, -0.104295, -0.424289, 0.898167)
|
||||
bones/3/rotation = Quaternion(-0.0325891, -0.05813, -0.351598, 0.933776)
|
||||
bones/3/scale = Vector3(1, 1, 1)
|
||||
bones/4/name = "Bone.004"
|
||||
bones/4/parent = 3
|
||||
bones/4/rest = Transform3D(0.986624, 0.16227, 0.0155213, -0.161299, 0.98559, -0.050939, -0.0235636, 0.0477541, 0.998581, 2.38419e-07, 0.217614, 5.96046e-08)
|
||||
bones/4/enabled = true
|
||||
bones/4/position = Vector3(2.38419e-07, 0.217614, 5.96046e-08)
|
||||
bones/4/rotation = Quaternion(0.0489722, -0.135712, -0.308985, 0.94006)
|
||||
bones/4/rotation = Quaternion(0.0309265, -0.0260959, -0.138086, 0.989593)
|
||||
bones/4/scale = Vector3(1, 1, 1)
|
||||
bones/5/name = "Bone.005"
|
||||
bones/5/parent = 1
|
||||
bones/5/rest = Transform3D(0.89182, -0.451516, 0.0281062, 0.446851, 0.888891, 0.100982, -0.0705786, -0.0774989, 0.994491, -9.68575e-08, 0.416929, 8.61473e-09)
|
||||
bones/5/enabled = true
|
||||
bones/5/position = Vector3(-9.68575e-08, 0.416929, 8.61473e-09)
|
||||
bones/5/rotation = Quaternion(0.249233, -0.00436698, 0.362533, 0.898017)
|
||||
bones/5/rotation = Quaternion(0.026268, 0.0183302, 0.265916, 0.963464)
|
||||
bones/5/scale = Vector3(1, 1, 1)
|
||||
bones/6/name = "Bone.006"
|
||||
bones/6/parent = 5
|
||||
bones/6/rest = Transform3D(0.941856, 0.326827, -0.0780507, -0.307446, 0.931929, 0.192316, 0.135592, -0.157137, 0.978224, 0, 0.366571, -7.45058e-08)
|
||||
bones/6/enabled = true
|
||||
bones/6/position = Vector3(0, 0.366571, -7.45058e-08)
|
||||
bones/6/rotation = Quaternion(-0.452367, -0.0571315, -0.0285445, 0.889542)
|
||||
bones/6/rotation = Quaternion(-0.369996, -0.064284, -0.0441853, 0.925753)
|
||||
bones/6/scale = Vector3(1, 1, 1)
|
||||
bones/7/name = "Bone.007"
|
||||
bones/7/parent = 6
|
||||
bones/7/rest = Transform3D(0.999908, -0.0133759, -0.00243115, 0.0135617, 0.968863, 0.247224, -0.000951389, -0.247234, 0.968955, 8.75443e-08, 0.229155, 1.19209e-07)
|
||||
bones/7/enabled = true
|
||||
bones/7/position = Vector3(8.75443e-08, 0.229155, 1.19209e-07)
|
||||
bones/7/rotation = Quaternion(-0.21602, -0.00775135, 0.0276496, 0.975967)
|
||||
bones/7/rotation = Quaternion(-0.147005, -0.00217376, 0.0118842, 0.989062)
|
||||
bones/7/scale = Vector3(1, 1, 1)
|
||||
bones/8/name = "Bone.008"
|
||||
bones/8/parent = 7
|
||||
bones/8/rest = Transform3D(0.996542, 0.0206638, -0.0804854, -0.00720722, 0.986431, 0.164018, 0.0827825, -0.162871, 0.983168, -1.49012e-08, 0.142665, 6.85453e-07)
|
||||
bones/8/enabled = true
|
||||
bones/8/position = Vector3(-1.49012e-08, 0.142665, 6.85453e-07)
|
||||
bones/8/rotation = Quaternion(-0.302908, -0.0680276, 0.0489726, 0.949327)
|
||||
bones/8/rotation = Quaternion(-0.136586, -0.0478226, 0.00667796, 0.989451)
|
||||
bones/8/scale = Vector3(1, 1, 1)
|
||||
bones/9/name = "Bone.009"
|
||||
bones/9/parent = 1
|
||||
bones/9/rest = Transform3D(0.998879, -0.0472251, 0.00320398, 0.0469487, 0.997098, 0.0599298, -0.00602488, -0.0597122, 0.998197, -9.68575e-08, 0.416929, 8.61473e-09)
|
||||
bones/9/enabled = true
|
||||
bones/9/position = Vector3(-9.68575e-08, 0.416929, 8.61473e-09)
|
||||
bones/9/rotation = Quaternion(0.167222, 0.0985437, 0.0946512, 0.976405)
|
||||
bones/9/rotation = Quaternion(0.018211, 0.0258931, 0.0410917, 0.998654)
|
||||
bones/9/scale = Vector3(1, 1, 1)
|
||||
bones/10/name = "Bone.010"
|
||||
bones/10/parent = 9
|
||||
bones/10/rest = Transform3D(0.999443, 0.0307123, -0.0130676, -0.0268696, 0.972617, 0.230853, 0.0197998, -0.230373, 0.972901, 1.21567e-07, 0.347822, -2.08616e-07)
|
||||
bones/10/enabled = true
|
||||
bones/10/position = Vector3(1.21567e-07, 0.347822, -2.08616e-07)
|
||||
bones/10/rotation = Quaternion(-0.346872, -0.167372, 0.00737142, 0.922828)
|
||||
bones/10/rotation = Quaternion(-0.356211, -0.110529, 0.0617988, 0.925785)
|
||||
bones/10/scale = Vector3(1, 1, 1)
|
||||
bones/11/name = "Bone.011"
|
||||
bones/11/parent = 10
|
||||
@@ -846,70 +846,70 @@ bones/12/parent = 11
|
||||
bones/12/rest = Transform3D(0.997806, -0.0280254, -0.0599811, 0.0357503, 0.990623, 0.131861, 0.0557232, -0.133716, 0.989452, 1.18278e-07, 0.172989, 2.01166e-07)
|
||||
bones/12/enabled = true
|
||||
bones/12/position = Vector3(1.18278e-07, 0.172989, 2.01166e-07)
|
||||
bones/12/rotation = Quaternion(-0.238476, 0.0272146, 0.0764061, 0.967756)
|
||||
bones/12/rotation = Quaternion(-0.108856, -0.0153544, 0.030822, 0.993461)
|
||||
bones/12/scale = Vector3(1, 1, 1)
|
||||
bones/13/name = "Bone.013"
|
||||
bones/13/parent = 1
|
||||
bones/13/rest = Transform3D(0.92488, 0.379995, -0.0141585, -0.377983, 0.922776, 0.0749236, 0.0415357, -0.0639437, 0.997089, -9.68575e-08, 0.416929, 8.61473e-09)
|
||||
bones/13/enabled = true
|
||||
bones/13/position = Vector3(-9.68575e-08, 0.416929, 8.61473e-09)
|
||||
bones/13/rotation = Quaternion(0.1788, 0.154566, -0.143507, 0.961013)
|
||||
bones/13/rotation = Quaternion(0.0170849, 0.0272562, -0.182418, 0.982695)
|
||||
bones/13/scale = Vector3(1, 1, 1)
|
||||
bones/14/name = "Bone.014"
|
||||
bones/14/parent = 13
|
||||
bones/14/rest = Transform3D(0.959373, -0.277519, 0.050852, 0.259649, 0.938956, 0.225709, -0.110386, -0.203336, 0.972867, 1.78814e-07, 0.369994, -3.53903e-07)
|
||||
bones/14/enabled = true
|
||||
bones/14/position = Vector3(1.78814e-07, 0.369994, -3.53903e-07)
|
||||
bones/14/rotation = Quaternion(-0.258946, -0.106873, 0.0272923, 0.959573)
|
||||
bones/14/rotation = Quaternion(-0.309677, -0.111235, 0.162863, 0.930163)
|
||||
bones/14/scale = Vector3(1, 1, 1)
|
||||
bones/15/name = "Bone.015"
|
||||
bones/15/parent = 14
|
||||
bones/15/rest = Transform3D(0.987789, 0.153061, -0.029059, -0.126507, 0.896881, 0.423794, 0.0909288, -0.414943, 0.905292, -5.96046e-08, 0.248162, 5.96046e-08)
|
||||
bones/15/enabled = true
|
||||
bones/15/position = Vector3(-5.96046e-08, 0.248162, 5.96046e-08)
|
||||
bones/15/rotation = Quaternion(-0.328658, -0.00201829, 0.090301, 0.94012)
|
||||
bones/15/rotation = Quaternion(-0.243945, -0.0238875, -0.0324108, 0.968953)
|
||||
bones/15/scale = Vector3(1, 1, 1)
|
||||
bones/16/name = "Bone.016"
|
||||
bones/16/parent = 15
|
||||
bones/16/rest = Transform3D(0.985539, -0.152261, 0.0743639, 0.163269, 0.970709, -0.17626, -0.0453481, 0.185853, 0.98153, -1.78814e-07, 0.160425, -4.02331e-07)
|
||||
bones/16/enabled = true
|
||||
bones/16/position = Vector3(-1.78814e-07, 0.160425, -4.02331e-07)
|
||||
bones/16/rotation = Quaternion(-0.12641, 0.0523709, 0.0656333, 0.988418)
|
||||
bones/16/rotation = Quaternion(0.0383582, 0.0357353, 0.0764621, 0.995693)
|
||||
bones/16/scale = Vector3(1, 1, 1)
|
||||
bones/17/name = "Bone.017"
|
||||
bones/17/parent = 1
|
||||
bones/17/rest = Transform3D(0.731563, 0.681774, 8.39818e-05, -0.680319, 0.729994, 0.0653797, 0.0445129, -0.0478865, 0.99786, -9.68575e-08, 0.416929, 8.61473e-09)
|
||||
bones/17/enabled = true
|
||||
bones/17/position = Vector3(-9.68575e-08, 0.416929, 8.61473e-09)
|
||||
bones/17/rotation = Quaternion(0.182165, 0.0229952, -0.377521, 0.907615)
|
||||
bones/17/rotation = Quaternion(0.0214689, -0.00344222, -0.370542, 0.928561)
|
||||
bones/17/scale = Vector3(1, 1, 1)
|
||||
bones/18/name = "Bone.018"
|
||||
bones/18/parent = 17
|
||||
bones/18/rest = Transform3D(0.858902, -0.5087, 0.059257, 0.482273, 0.842315, 0.240663, -0.172338, -0.178128, 0.968798, 3.57628e-07, 0.400229, -2.95229e-07)
|
||||
bones/18/enabled = true
|
||||
bones/18/position = Vector3(3.57628e-07, 0.400229, -2.95229e-07)
|
||||
bones/18/rotation = Quaternion(-0.32315, -0.324887, 0.359481, 0.812894)
|
||||
bones/18/rotation = Quaternion(-0.2991, -0.18512, 0.324807, 0.877935)
|
||||
bones/18/scale = Vector3(1, 1, 1)
|
||||
bones/19/name = "Bone.019"
|
||||
bones/19/parent = 18
|
||||
bones/19/rest = Transform3D(0.998851, -0.0332967, -0.0344649, 0.0348099, 0.998413, 0.0442783, 0.0329358, -0.0454271, 0.998425, 0, 0.196712, 3.57628e-07)
|
||||
bones/19/enabled = true
|
||||
bones/19/position = Vector3(0, 0.196712, 3.57628e-07)
|
||||
bones/19/rotation = Quaternion(-0.0822222, -0.0122603, -0.00894785, 0.996499)
|
||||
bones/19/rotation = Quaternion(-0.037141, -0.0157356, 0.0106563, 0.999129)
|
||||
bones/19/scale = Vector3(1, 1, 1)
|
||||
bones/20/name = "Bone.020"
|
||||
bones/20/parent = 19
|
||||
bones/20/rest = Transform3D(0.982791, 0.183548, -0.0207611, -0.170809, 0.945817, 0.276144, 0.0703217, -0.267845, 0.960892, 2.98023e-07, 0.127214, 5.96046e-08)
|
||||
bones/20/enabled = true
|
||||
bones/20/position = Vector3(2.98023e-07, 0.127214, 5.96046e-08)
|
||||
bones/20/rotation = Quaternion(-0.251732, -0.0454352, 0.0174863, 0.966572)
|
||||
bones/20/rotation = Quaternion(-0.166051, -0.0286059, -0.0638233, 0.983634)
|
||||
bones/20/scale = Vector3(1, 1, 1)
|
||||
bones/21/name = "Bone.021"
|
||||
bones/21/parent = -1
|
||||
bones/21/rest = Transform3D(0.769842, 0.636233, -0.0505042, -0.0970478, 0.0384815, -0.994536, -0.630813, 0.770536, 0.0913697, -3.03019, -0.0704439, -3.30826)
|
||||
bones/21/enabled = true
|
||||
bones/21/position = Vector3(-2.25449, 0.699812, -3.51348)
|
||||
bones/21/rotation = Quaternion(0.18431, -0.642888, -0.642625, 0.373842)
|
||||
bones/21/position = Vector3(-2.13284, 0.773119, -3.77007)
|
||||
bones/21/rotation = Quaternion(0.204733, -0.665736, -0.666833, 0.264977)
|
||||
bones/21/scale = Vector3(1, 1, 1)
|
||||
|
||||
[node name="CHEST_004" type="MeshInstance3D" parent="Pivot/ARM2/2_ R MAGIC ARM 4/Skeleton3D"]
|
||||
@@ -917,7 +917,7 @@ mesh = SubResource("ArrayMesh_ddgyy")
|
||||
skin = SubResource("Skin_lcoox")
|
||||
|
||||
[node name="BoneAttachment3D" type="BoneAttachment3D" parent="Pivot/ARM2/2_ R MAGIC ARM 4/Skeleton3D"]
|
||||
transform = Transform3D(0.942125, 0.259369, -0.212434, 0.0456806, 0.528416, 0.847756, 0.332135, -0.808396, 0.485986, -0.18816, 1.22954, 0.0758562)
|
||||
transform = Transform3D(0.870884, 0.427666, 0.242204, -0.386321, 0.290996, 0.875259, 0.303838, -0.855817, 0.41864, -0.301, 1.16072, -0.217676)
|
||||
bone_name = "Bone.002"
|
||||
bone_idx = 2
|
||||
|
||||
@@ -957,3 +957,10 @@ skeleton = NodePath("../../..")
|
||||
[node name="Rotation" type="Node3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.6188, 7.72862, -1.3327)
|
||||
|
||||
[node name="SFX" type="Node3D" parent="."]
|
||||
|
||||
[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"]
|
||||
unique_name_in_owner = true
|
||||
autoplay = true
|
||||
bus = &"SFX"
|
||||
|
||||
@@ -1009,64 +1009,64 @@ bones/0/name = "Bone"
|
||||
bones/0/parent = -1
|
||||
bones/0/rest = Transform3D(-0.0590079, 0.671656, -0.73851, -0.998184, -0.0307104, 0.0518259, 0.0121292, 0.740227, 0.672248, -1.70411, 0.133377, -1.71641)
|
||||
bones/0/enabled = true
|
||||
bones/0/position = Vector3(-2.6879, 0.443206, -1.22721)
|
||||
bones/0/rotation = Quaternion(0.211355, -0.385651, -0.704526, 0.556997)
|
||||
bones/0/position = Vector3(-2.90912, 0.555896, -1.21881)
|
||||
bones/0/rotation = Quaternion(0.163819, -0.413042, -0.75343, 0.484668)
|
||||
bones/0/scale = Vector3(1, 1, 1)
|
||||
bones/1/name = "Bone.001"
|
||||
bones/1/parent = 0
|
||||
bones/1/rest = Transform3D(0.997342, 0.0728404, -0.00158077, -0.0727175, 0.996536, 0.0403564, 0.00451487, -0.0401342, 0.999184, 1.2666e-07, 1.85949, 0)
|
||||
bones/1/enabled = true
|
||||
bones/1/position = Vector3(1.2666e-07, 1.85949, 0)
|
||||
bones/1/rotation = Quaternion(-0.160549, -0.516324, 0.140657, 0.829367)
|
||||
bones/1/rotation = Quaternion(-0.118348, -0.426078, 0.207897, 0.872485)
|
||||
bones/1/scale = Vector3(1, 1, 1)
|
||||
bones/2/name = "Bone.002"
|
||||
bones/2/parent = 1
|
||||
bones/2/rest = Transform3D(0.189847, -0.964576, -0.183168, 0.981104, 0.179283, 0.0727586, -0.0373423, -0.19352, 0.980386, 8.9407e-08, 0.416929, -2.38419e-07)
|
||||
bones/2/enabled = true
|
||||
bones/2/position = Vector3(8.9407e-08, 0.416929, -2.38419e-07)
|
||||
bones/2/rotation = Quaternion(-0.337833, -0.0974068, 0.699643, 0.621997)
|
||||
bones/2/rotation = Quaternion(-0.339098, -0.0861908, 0.758265, 0.550107)
|
||||
bones/2/scale = Vector3(1, 1, 1)
|
||||
bones/3/name = "Bone.003"
|
||||
bones/3/parent = 2
|
||||
bones/3/rest = Transform3D(0.810203, 0.578594, -0.0938098, -0.560363, 0.811523, 0.165603, 0.171946, -0.0816042, 0.981721, -1.78814e-07, 0.298124, 5.96046e-08)
|
||||
bones/3/enabled = true
|
||||
bones/3/position = Vector3(-1.78814e-07, 0.298124, 5.96046e-08)
|
||||
bones/3/rotation = Quaternion(-0.154837, 0.0415057, -0.335619, 0.928258)
|
||||
bones/3/rotation = Quaternion(-0.16113, 0.00187354, -0.418897, 0.893621)
|
||||
bones/3/scale = Vector3(1, 1, 1)
|
||||
bones/4/name = "Bone.004"
|
||||
bones/4/parent = 3
|
||||
bones/4/rest = Transform3D(0.986624, 0.16227, 0.0155225, -0.161298, 0.98559, -0.0509395, -0.0235648, 0.0477544, 0.998581, -2.98023e-07, 0.217615, 2.83122e-07)
|
||||
bones/4/enabled = true
|
||||
bones/4/position = Vector3(-2.98023e-07, 0.217615, 2.83122e-07)
|
||||
bones/4/rotation = Quaternion(-0.0871406, 0.129105, -0.575544, 0.8028)
|
||||
bones/4/rotation = Quaternion(-0.152254, 0.0394014, -0.404863, 0.900751)
|
||||
bones/4/scale = Vector3(1, 1, 1)
|
||||
bones/5/name = "Bone.005"
|
||||
bones/5/parent = 1
|
||||
bones/5/rest = Transform3D(0.89182, -0.451516, 0.0281058, 0.446851, 0.888891, 0.100983, -0.0705783, -0.0774992, 0.994491, 8.9407e-08, 0.416929, -2.38419e-07)
|
||||
bones/5/enabled = true
|
||||
bones/5/position = Vector3(8.9407e-08, 0.416929, -2.38419e-07)
|
||||
bones/5/rotation = Quaternion(-0.2244, 0.209276, 0.0551589, 0.950161)
|
||||
bones/5/rotation = Quaternion(-0.249622, 0.22382, 0.0505408, 0.940765)
|
||||
bones/5/scale = Vector3(1, 1, 1)
|
||||
bones/6/name = "Bone.006"
|
||||
bones/6/parent = 5
|
||||
bones/6/rest = Transform3D(0.941855, 0.326829, -0.0780507, -0.307447, 0.931929, 0.192315, 0.135592, -0.157136, 0.978224, 2.98023e-07, 0.36657, -5.96046e-08)
|
||||
bones/6/enabled = true
|
||||
bones/6/position = Vector3(2.98023e-07, 0.36657, -5.96046e-08)
|
||||
bones/6/rotation = Quaternion(-0.46621, 0.313062, -0.0709524, 0.824382)
|
||||
bones/6/rotation = Quaternion(-0.326999, 0.302616, -0.165742, 0.879787)
|
||||
bones/6/scale = Vector3(1, 1, 1)
|
||||
bones/7/name = "Bone.007"
|
||||
bones/7/parent = 6
|
||||
bones/7/rest = Transform3D(0.999908, -0.0133746, -0.00243148, 0.0135605, 0.968863, 0.247226, -0.000950764, -0.247236, 0.968955, -5.36442e-07, 0.229155, 3.57628e-07)
|
||||
bones/7/enabled = true
|
||||
bones/7/position = Vector3(-5.36442e-07, 0.229155, 3.57628e-07)
|
||||
bones/7/rotation = Quaternion(-0.650986, -0.00908919, -0.186756, 0.735702)
|
||||
bones/7/rotation = Quaternion(-0.509186, -0.094959, -0.265378, 0.813196)
|
||||
bones/7/scale = Vector3(1, 1, 1)
|
||||
bones/8/name = "Bone.008"
|
||||
bones/8/parent = 7
|
||||
bones/8/rest = Transform3D(0.996542, 0.0206576, -0.0804851, -0.00720127, 0.986431, 0.164017, 0.0827812, -0.162871, 0.983169, -5.96046e-08, 0.142665, -3.12924e-07)
|
||||
bones/8/enabled = true
|
||||
bones/8/position = Vector3(-5.96046e-08, 0.142665, -3.12924e-07)
|
||||
bones/8/rotation = Quaternion(-0.15835, -0.069606, 0.0564664, 0.983307)
|
||||
bones/8/rotation = Quaternion(-0.0892798, -0.0436998, -0.00103097, 0.995047)
|
||||
bones/8/scale = Vector3(1, 1, 1)
|
||||
bones/9/name = "Bone.009"
|
||||
bones/9/parent = 1
|
||||
@@ -1080,21 +1080,21 @@ bones/10/parent = 9
|
||||
bones/10/rest = Transform3D(0.999443, 0.0307126, -0.0130675, -0.0268698, 0.972617, 0.230855, 0.0197998, -0.230375, 0.9729, 4.787e-07, 0.347821, -1.78814e-07)
|
||||
bones/10/enabled = true
|
||||
bones/10/position = Vector3(4.787e-07, 0.347821, -1.78814e-07)
|
||||
bones/10/rotation = Quaternion(-0.473075, 0.311122, 0.00418237, 0.824248)
|
||||
bones/10/rotation = Quaternion(-0.424109, 0.272209, -0.0484802, 0.862371)
|
||||
bones/10/scale = Vector3(1, 1, 1)
|
||||
bones/11/name = "Bone.011"
|
||||
bones/11/parent = 10
|
||||
bones/11/rest = Transform3D(0.999931, -0.0022606, -0.0115383, 0.00506641, 0.968404, 0.249334, 0.0106101, -0.249375, 0.968349, 8.49366e-07, 0.236611, 4.17233e-07)
|
||||
bones/11/enabled = true
|
||||
bones/11/position = Vector3(8.49366e-07, 0.236611, 4.17233e-07)
|
||||
bones/11/rotation = Quaternion(-0.499561, -0.0782226, -0.282519, 0.815171)
|
||||
bones/11/rotation = Quaternion(-0.45076, -0.127508, -0.322391, 0.82257)
|
||||
bones/11/scale = Vector3(1, 1, 1)
|
||||
bones/12/name = "Bone.012"
|
||||
bones/12/parent = 11
|
||||
bones/12/rest = Transform3D(0.997806, -0.0280227, -0.0599811, 0.0357475, 0.990624, 0.13186, 0.0557236, -0.133715, 0.989452, -5.93718e-07, 0.172989, 1.78814e-07)
|
||||
bones/12/enabled = true
|
||||
bones/12/position = Vector3(-5.93718e-07, 0.172989, 1.78814e-07)
|
||||
bones/12/rotation = Quaternion(-0.266543, -0.00457524, 0.0419149, 0.9629)
|
||||
bones/12/rotation = Quaternion(-0.0854781, -0.0267645, 0.0184508, 0.99581)
|
||||
bones/12/scale = Vector3(1, 1, 1)
|
||||
bones/13/name = "Bone.013"
|
||||
bones/13/parent = 1
|
||||
@@ -1108,14 +1108,14 @@ bones/14/parent = 13
|
||||
bones/14/rest = Transform3D(0.959373, -0.277519, 0.0508523, 0.259649, 0.938956, 0.225709, -0.110386, -0.203335, 0.972867, 1.19209e-07, 0.369994, -3.57628e-07)
|
||||
bones/14/enabled = true
|
||||
bones/14/position = Vector3(1.19209e-07, 0.369994, -3.57628e-07)
|
||||
bones/14/rotation = Quaternion(-0.561068, 0.194096, 0.114188, 0.796549)
|
||||
bones/14/rotation = Quaternion(-0.481403, 0.211647, 0.0607506, 0.84839)
|
||||
bones/14/scale = Vector3(1, 1, 1)
|
||||
bones/15/name = "Bone.015"
|
||||
bones/15/parent = 14
|
||||
bones/15/rest = Transform3D(0.987789, 0.153063, -0.029059, -0.126508, 0.89688, 0.423794, 0.0909294, -0.414943, 0.905292, -4.17233e-07, 0.248162, 1.19209e-07)
|
||||
bones/15/enabled = true
|
||||
bones/15/position = Vector3(-4.17233e-07, 0.248162, 1.19209e-07)
|
||||
bones/15/rotation = Quaternion(-0.479259, -0.1749, -0.348355, 0.786365)
|
||||
bones/15/rotation = Quaternion(-0.447179, -0.175884, -0.432328, 0.763012)
|
||||
bones/15/scale = Vector3(1, 1, 1)
|
||||
bones/16/name = "Bone.016"
|
||||
bones/16/parent = 15
|
||||
@@ -1136,14 +1136,14 @@ bones/18/parent = 17
|
||||
bones/18/rest = Transform3D(0.858902, -0.508701, 0.0592547, 0.482273, 0.842314, 0.240665, -0.172338, -0.178131, 0.968798, 4.17233e-07, 0.400229, 0)
|
||||
bones/18/enabled = true
|
||||
bones/18/position = Vector3(4.17233e-07, 0.400229, 0)
|
||||
bones/18/rotation = Quaternion(-0.590896, 0.072766, 0.189585, 0.780772)
|
||||
bones/18/rotation = Quaternion(-0.50778, 0.133272, 0.14124, 0.839315)
|
||||
bones/18/scale = Vector3(1, 1, 1)
|
||||
bones/19/name = "Bone.019"
|
||||
bones/19/parent = 18
|
||||
bones/19/rest = Transform3D(0.998851, -0.0332957, -0.0344645, 0.0348088, 0.998413, 0.0442743, 0.0329356, -0.0454231, 0.998425, 4.17233e-07, 0.196711, -2.38419e-07)
|
||||
bones/19/enabled = true
|
||||
bones/19/position = Vector3(4.17233e-07, 0.196711, -2.38419e-07)
|
||||
bones/19/rotation = Quaternion(-0.286679, -0.226887, -0.239113, 0.899535)
|
||||
bones/19/rotation = Quaternion(-0.244721, -0.250689, -0.339782, 0.87282)
|
||||
bones/19/scale = Vector3(1, 1, 1)
|
||||
bones/20/name = "Bone.020"
|
||||
bones/20/parent = 19
|
||||
@@ -1156,8 +1156,8 @@ bones/21/name = "Bone.021"
|
||||
bones/21/parent = -1
|
||||
bones/21/rest = Transform3D(0.761771, 0.635827, -0.12422, -0.154809, -0.00753344, -0.987916, -0.629079, 0.771795, 0.0926928, -3.0206, 0.148975, -3.31442)
|
||||
bones/21/enabled = true
|
||||
bones/21/position = Vector3(-2.96315, 1.04927, -3.25434)
|
||||
bones/21/rotation = Quaternion(0.739548, -0.116959, -0.276886, 0.602265)
|
||||
bones/21/position = Vector3(-3.02062, 1.15557, -3.26273)
|
||||
bones/21/rotation = Quaternion(0.707755, -0.22069, -0.355822, 0.569007)
|
||||
bones/21/scale = Vector3(1, 1, 1)
|
||||
|
||||
[node name="CHEST_005" type="MeshInstance3D" parent="ARM3/3_ R STATUS ARM/Skeleton3D"]
|
||||
@@ -1198,3 +1198,10 @@ libraries = {
|
||||
process_mode = 3
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.50733, 5.85585, 9.42984)
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="SFX" type="Node3D" parent="."]
|
||||
|
||||
[node name="WalkSFX" type="AudioStreamPlayer3D" parent="SFX"]
|
||||
unique_name_in_owner = true
|
||||
autoplay = true
|
||||
bus = &"SFX"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user