Fix dropped/thrown item behavior
This commit is contained in:
@@ -10,5 +10,7 @@ public enum WeaponTag
|
||||
InverseHPAttackPower,
|
||||
RustChanceSelfAndEnemy,
|
||||
Instakill,
|
||||
DegradeOnSwing
|
||||
DegradeOnSwing,
|
||||
DoubleAttack,
|
||||
TripleAttack
|
||||
}
|
||||
|
||||
@@ -1,51 +0,0 @@
|
||||
<Project Sdk="Godot.NET.Sdk/4.4.0">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<EnableDynamicLoading>true</EnableDynamicLoading>
|
||||
<!-- Use NativeAOT. -->
|
||||
<PublishAot>true</PublishAot>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Remove="src\items\weapons\models\**" />
|
||||
<EmbeddedResource Remove="src\items\weapons\models\**" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<!-- Root the assemblies to avoid trimming. -->
|
||||
<TrimmerRootAssembly Include="GodotSharp" />
|
||||
<TrimmerRootAssembly Include="$(TargetName)" />
|
||||
</ItemGroup>
|
||||
<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>
|
||||
<Folder Include="src\ui\dialogue\" />
|
||||
</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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -1,38 +0,0 @@
|
||||
<Project Sdk="Godot.NET.Sdk/4.4.1">
|
||||
<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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -238,7 +238,7 @@ public partial class Game : Node3D, IGame
|
||||
var droppedScene = GD.Load<PackedScene>("res://src/items/dropped/DroppedItem.tscn");
|
||||
var dropped = droppedScene.Instantiate<DroppedItem>();
|
||||
dropped.Item = item;
|
||||
AddChild(dropped);
|
||||
_map.AddChild(dropped);
|
||||
dropped.Drop();
|
||||
}
|
||||
|
||||
@@ -246,7 +246,7 @@ public partial class Game : Node3D, IGame
|
||||
{
|
||||
var setScene = GD.Load<PackedScene>("res://src/items/misc/SetItem.tscn");
|
||||
var setItem = setScene.Instantiate<SetItem>();
|
||||
AddChild(setItem);
|
||||
_map.AddChild(setItem);
|
||||
setItem.Set();
|
||||
}
|
||||
|
||||
@@ -255,8 +255,7 @@ public partial class Game : Node3D, IGame
|
||||
var thrownScene = GD.Load<PackedScene>("res://src/items/thrown/ThrownItem.tscn");
|
||||
var thrown = thrownScene.Instantiate<ThrownItem>();
|
||||
thrown.ItemThatIsThrown = item;
|
||||
AddChild(thrown);
|
||||
thrown.Position += new Vector3(0, 1.5f, 0);
|
||||
_map.AddChild(thrown);
|
||||
thrown.Throw(_effectService);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://dme37m7q60um4"]
|
||||
[gd_scene load_steps=3 format=3 uid="uid://dme37m7q60um4"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dymrg1fmwho35" path="res://src/items/weapons/textures/Cross Sword.png" id="1_babd4"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_84bq1"]
|
||||
size = Vector3(0.778381, 0.929947, 0.731567)
|
||||
@@ -12,12 +14,13 @@ collision_mask = 4
|
||||
|
||||
[node name="Sprite" type="Sprite3D" parent="Pickup"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.0322805, 0)
|
||||
pixel_size = 0.0003
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.16452, 0)
|
||||
pixel_size = 0.025
|
||||
billboard = 2
|
||||
double_sided = false
|
||||
alpha_cut = 1
|
||||
texture_filter = 0
|
||||
texture = ExtResource("1_babd4")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Pickup"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0600509, 0.26725, 0.180481)
|
||||
|
||||
@@ -28,7 +28,7 @@ collision_mask = 0
|
||||
|
||||
[node name="Sprite" type="Sprite3D" parent="Pickup"]
|
||||
unique_name_in_owner = true
|
||||
pixel_size = 0.0005
|
||||
pixel_size = 0.025
|
||||
billboard = 2
|
||||
shaded = true
|
||||
texture_filter = 0
|
||||
|
||||
@@ -28,7 +28,7 @@ collision_mask = 0
|
||||
|
||||
[node name="Sprite" type="Sprite3D" parent="Pickup"]
|
||||
unique_name_in_owner = true
|
||||
pixel_size = 0.0006
|
||||
pixel_size = 0.025
|
||||
billboard = 2
|
||||
double_sided = false
|
||||
alpha_cut = 1
|
||||
|
||||
@@ -28,7 +28,7 @@ collision_mask = 0
|
||||
|
||||
[node name="Sprite" type="Sprite3D" parent="Pickup"]
|
||||
unique_name_in_owner = true
|
||||
pixel_size = 0.0025
|
||||
pixel_size = 0.025
|
||||
billboard = 2
|
||||
shaded = true
|
||||
texture_filter = 0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://btlkiw4ros5om"
|
||||
path.s3tc="res://.godot/imported/Speculative Box.png-c5693c505f657811bfb60b24ad79b562.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Speculative Box.png-c5693c505f657811bfb60b24ad79b562.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/box/textures/Speculative Box.png"
|
||||
dest_files=["res://.godot/imported/Speculative Box.png-c5693c505f657811bfb60b24ad79b562.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Speculative Box.png-c5693c505f657811bfb60b24ad79b562.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://blmhwdnboe1kc"
|
||||
path.s3tc="res://.godot/imported/Ancient Capsule.png-0b91b167deae96ec78ffc3a36f52b7e4.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Ancient Capsule.png-0b91b167deae96ec78ffc3a36f52b7e4.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/consumable/texture/Ancient Capsule.png"
|
||||
dest_files=["res://.godot/imported/Ancient Capsule.png-0b91b167deae96ec78ffc3a36f52b7e4.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Ancient Capsule.png-0b91b167deae96ec78ffc3a36f52b7e4.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -24,15 +24,22 @@ public partial class DroppedItem : RigidBody3D, IDroppedItem
|
||||
{
|
||||
ContactMonitor = true;
|
||||
Sprite.Texture = Item.GetTexture();
|
||||
BodyEntered += DroppedItem_BodyEntered;
|
||||
}
|
||||
|
||||
private void DroppedItem_BodyEntered(Node body)
|
||||
{
|
||||
AngularVelocity = Vector3.Zero;
|
||||
LinearVelocity = Vector3.Zero;
|
||||
}
|
||||
|
||||
public async void Drop()
|
||||
{
|
||||
AddCollisionExceptionWith((Node)Player);
|
||||
|
||||
Pickup.Monitorable = false;
|
||||
Pickup.Monitoring = false;
|
||||
GlobalPosition = Player.GlobalPosition + Vector3.Up;
|
||||
ApplyCentralImpulse(-Player.GlobalBasis.Z.Normalized() * 5.0f);
|
||||
GlobalPosition = new Vector3(Player.GlobalPosition.X, Player.GlobalPosition.Y + 1, Player.GlobalPosition.Z) + (-Player.GlobalBasis.Z * 2);
|
||||
await ToSignal(GetTree().CreateTimer(1), "timeout");
|
||||
RemoveCollisionExceptionWith((Node)Player);
|
||||
Pickup.Monitorable = true;
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
[gd_scene load_steps=8 format=3 uid="uid://brq11lswpqxei"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://c2sps6uamyyw2" path="res://src/items/dropped/DroppedItem.cs" id="1_67jk4"]
|
||||
[ext_resource type="Material" uid="uid://x2bv1q51mcjq" path="res://src/enemy/PixelMelt.tres" id="2_eat5q"]
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_28r8g"]
|
||||
|
||||
@@ -16,10 +15,10 @@ tracks/0/path = NodePath("Sprite3D:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 1.99543),
|
||||
"times": PackedFloat32Array(0, 2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0.0207178, 0.192374, 0), Vector3(0.0207178, 1.26338, 0)]
|
||||
"values": [Vector3(0, 0, 0), Vector3(0, 3, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_eat5q"]
|
||||
@@ -34,7 +33,7 @@ tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0.0207178, 0.192374, 0)]
|
||||
"values": [Vector3(0, 0, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_eat5q"]
|
||||
@@ -46,13 +45,17 @@ _data = {
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_eat5q"]
|
||||
radius = 0.47
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_x5q15"]
|
||||
viewport_path = NodePath("Sprite3D/SubViewportContainer/SubViewport")
|
||||
|
||||
[node name="DroppedItem" type="RigidBody3D"]
|
||||
process_mode = 1
|
||||
collision_layer = 1024
|
||||
collision_mask = 5
|
||||
axis_lock_angular_x = true
|
||||
axis_lock_angular_y = true
|
||||
axis_lock_angular_z = true
|
||||
gravity_scale = 0.8
|
||||
gravity_scale = 0.5
|
||||
contact_monitor = true
|
||||
max_contacts_reported = 50
|
||||
script = ExtResource("1_67jk4")
|
||||
@@ -65,31 +68,6 @@ libraries = {
|
||||
&"": SubResource("AnimationLibrary_eat5q")
|
||||
}
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="."]
|
||||
transform = Transform3D(0.41, 0, 0, 0, 0.41, 0, 0, 0, 0.41, 0.0207178, 0.192374, 0)
|
||||
billboard = 2
|
||||
shaded = true
|
||||
texture_filter = 0
|
||||
render_priority = 100
|
||||
|
||||
[node name="SubViewportContainer" type="SubViewportContainer" parent="Sprite3D"]
|
||||
visibility_layer = 0
|
||||
offset_right = 40.0
|
||||
offset_bottom = 40.0
|
||||
|
||||
[node name="SubViewport" type="SubViewport" parent="Sprite3D/SubViewportContainer"]
|
||||
disable_3d = true
|
||||
transparent_bg = true
|
||||
handle_input_locally = false
|
||||
render_target_update_mode = 4
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="Sprite3D/SubViewportContainer/SubViewport"]
|
||||
unique_name_in_owner = true
|
||||
material = ExtResource("2_eat5q")
|
||||
scale = Vector2(0.1, 0.1)
|
||||
centered = false
|
||||
offset = Vector2(2000, 2000)
|
||||
|
||||
[node name="Pickup" type="Area3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
collision_layer = 4
|
||||
@@ -97,3 +75,32 @@ collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Pickup"]
|
||||
shape = SubResource("CapsuleShape3D_eat5q")
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="."]
|
||||
pixel_size = 0.025
|
||||
billboard = 2
|
||||
texture_filter = 0
|
||||
texture = SubResource("ViewportTexture_x5q15")
|
||||
|
||||
[node name="SubViewportContainer" type="SubViewportContainer" parent="Sprite3D"]
|
||||
visibility_layer = 0
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="SubViewport" type="SubViewport" parent="Sprite3D/SubViewportContainer"]
|
||||
transparent_bg = true
|
||||
handle_input_locally = false
|
||||
canvas_item_default_texture_filter = 0
|
||||
canvas_cull_mask = 4293918721
|
||||
size = Vector2i(30, 30)
|
||||
render_target_update_mode = 4
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="Sprite3D/SubViewportContainer/SubViewport"]
|
||||
unique_name_in_owner = true
|
||||
texture_filter = 1
|
||||
offset = Vector2(15, 15)
|
||||
|
||||
@@ -32,7 +32,7 @@ shape = SubResource("BoxShape3D_03cqg")
|
||||
[node name="Sprite" type="Sprite3D" parent="Pickup"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(0.999973, 0.00489444, -0.00548299, -0.00488109, 0.999985, 0.00244357, 0.00549488, -0.00241672, 0.999982, 0, 0, 0)
|
||||
pixel_size = 0.0005
|
||||
pixel_size = 0.025
|
||||
billboard = 2
|
||||
shaded = true
|
||||
texture_filter = 0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d00q7qrmwbta"
|
||||
path.s3tc="res://.godot/imported/Spell Sign; Knowledge.PNG-1fb2a8dccb539866c296a8a86401c2ea.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Spell Sign; Knowledge.PNG-1fb2a8dccb539866c296a8a86401c2ea.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/effect/textures/Spell Sign; Knowledge.PNG"
|
||||
dest_files=["res://.godot/imported/Spell Sign; Knowledge.PNG-1fb2a8dccb539866c296a8a86401c2ea.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Spell Sign; Knowledge.PNG-1fb2a8dccb539866c296a8a86401c2ea.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://3lpbhcas1fy8"
|
||||
path.s3tc="res://.godot/imported/Spell Sign; Recall.PNG-8c680777b720e4770effd861cdc998c5.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Spell Sign; Recall.PNG-8c680777b720e4770effd861cdc998c5.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/effect/textures/Spell Sign; Recall.PNG"
|
||||
dest_files=["res://.godot/imported/Spell Sign; Recall.PNG-8c680777b720e4770effd861cdc998c5.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Spell Sign; Recall.PNG-8c680777b720e4770effd861cdc998c5.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://be2mpwa6o6143"
|
||||
path.s3tc="res://.godot/imported/Spellsign; Clone.PNG-88164352440e4951f4349470a617b669.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Spellsign; Clone.PNG-88164352440e4951f4349470a617b669.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/effect/textures/Spellsign; Clone.PNG"
|
||||
dest_files=["res://.godot/imported/Spellsign; Clone.PNG-88164352440e4951f4349470a617b669.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Spellsign; Clone.PNG-88164352440e4951f4349470a617b669.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bkehcbibjf2jv"
|
||||
path.s3tc="res://.godot/imported/Spellsign; Reprieval Wave.PNG-2c207615e28340e41e8389055f0e9781.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Spellsign; Reprieval Wave.PNG-2c207615e28340e41e8389055f0e9781.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/effect/textures/Spellsign; Reprieval Wave.PNG"
|
||||
dest_files=["res://.godot/imported/Spellsign; Reprieval Wave.PNG-2c207615e28340e41e8389055f0e9781.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Spellsign; Reprieval Wave.PNG-2c207615e28340e41e8389055f0e9781.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c47igpgj02war"
|
||||
path.s3tc="res://.godot/imported/Aeollic Jewel.png-f0e63c8a815512834bd13a3ea08d10ad.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Aeollic Jewel.png-f0e63c8a815512834bd13a3ea08d10ad.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/jewels/texture/Aeollic Jewel.png"
|
||||
dest_files=["res://.godot/imported/Aeollic Jewel.png-f0e63c8a815512834bd13a3ea08d10ad.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Aeollic Jewel.png-f0e63c8a815512834bd13a3ea08d10ad.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cdq12s3k2oemt"
|
||||
path.s3tc="res://.godot/imported/Anabolic.png-ff57d3ea88913b494309d4315ed6a404.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Anabolic.png-ff57d3ea88913b494309d4315ed6a404.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/jewels/texture/Anabolic.png"
|
||||
dest_files=["res://.godot/imported/Anabolic.png-ff57d3ea88913b494309d4315ed6a404.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Anabolic.png-ff57d3ea88913b494309d4315ed6a404.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bjpp5hp78g2w6"
|
||||
path.s3tc="res://.godot/imported/Black Egg.png-9fcdc09218b1f849cbdd732ddf89c709.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Black Egg.png-9fcdc09218b1f849cbdd732ddf89c709.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/jewels/texture/Black Egg.png"
|
||||
dest_files=["res://.godot/imported/Black Egg.png-9fcdc09218b1f849cbdd732ddf89c709.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Black Egg.png-9fcdc09218b1f849cbdd732ddf89c709.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bnno0bwaxvvq4"
|
||||
path.s3tc="res://.godot/imported/Cats Eye.png-28c1ebe4f86cb984eed0af525ce2d968.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Cats Eye.png-28c1ebe4f86cb984eed0af525ce2d968.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/jewels/texture/Cats Eye.png"
|
||||
dest_files=["res://.godot/imported/Cats Eye.png-28c1ebe4f86cb984eed0af525ce2d968.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Cats Eye.png-28c1ebe4f86cb984eed0af525ce2d968.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b2tnug7fnsqor"
|
||||
path.s3tc="res://.godot/imported/Cinnabar Structure.png-8dae631970838e8e2aef402d2134ae5b.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Cinnabar Structure.png-8dae631970838e8e2aef402d2134ae5b.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/jewels/texture/Cinnabar Structure.png"
|
||||
dest_files=["res://.godot/imported/Cinnabar Structure.png-8dae631970838e8e2aef402d2134ae5b.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Cinnabar Structure.png-8dae631970838e8e2aef402d2134ae5b.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dqqyx7usmyo1k"
|
||||
path.s3tc="res://.godot/imported/Foolish Orb.png-e74cf8236d0587db490e730abdd0b0bd.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Foolish Orb.png-e74cf8236d0587db490e730abdd0b0bd.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/jewels/texture/Foolish Orb.png"
|
||||
dest_files=["res://.godot/imported/Foolish Orb.png-e74cf8236d0587db490e730abdd0b0bd.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Foolish Orb.png-e74cf8236d0587db490e730abdd0b0bd.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d3vv6ea17uifk"
|
||||
path.s3tc="res://.godot/imported/Glue Orb.png-af65732d84763c2fbd7bc863598548ca.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Glue Orb.png-af65732d84763c2fbd7bc863598548ca.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/jewels/texture/Glue Orb.png"
|
||||
dest_files=["res://.godot/imported/Glue Orb.png-af65732d84763c2fbd7bc863598548ca.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Glue Orb.png-af65732d84763c2fbd7bc863598548ca.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://4247dwj5g705"
|
||||
path.s3tc="res://.godot/imported/Heirloom Stone.png-4f52281b8487b127621543051550d90b.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Heirloom Stone.png-4f52281b8487b127621543051550d90b.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/jewels/texture/Heirloom Stone.png"
|
||||
dest_files=["res://.godot/imported/Heirloom Stone.png-4f52281b8487b127621543051550d90b.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Heirloom Stone.png-4f52281b8487b127621543051550d90b.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://brx581xmqv54k"
|
||||
path.s3tc="res://.godot/imported/Hydric Jewel.png-f85b6a68b33ea78f4fb20476e34fb383.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Hydric Jewel.png-f85b6a68b33ea78f4fb20476e34fb383.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/jewels/texture/Hydric Jewel.png"
|
||||
dest_files=["res://.godot/imported/Hydric Jewel.png-f85b6a68b33ea78f4fb20476e34fb383.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Hydric Jewel.png-f85b6a68b33ea78f4fb20476e34fb383.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d3bx1j5irhdes"
|
||||
path.s3tc="res://.godot/imported/Igneous Jewel.png-f004676338560937c55fb9468a7bda6c.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Igneous Jewel.png-f004676338560937c55fb9468a7bda6c.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/jewels/texture/Igneous Jewel.png"
|
||||
dest_files=["res://.godot/imported/Igneous Jewel.png-f004676338560937c55fb9468a7bda6c.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Igneous Jewel.png-f004676338560937c55fb9468a7bda6c.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://drfx1s7mc3j0h"
|
||||
path.s3tc="res://.godot/imported/Meditative Stone.png-17bbefd36c25eee2bd32296fe5e9faa9.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Meditative Stone.png-17bbefd36c25eee2bd32296fe5e9faa9.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/jewels/texture/Meditative Stone.png"
|
||||
dest_files=["res://.godot/imported/Meditative Stone.png-17bbefd36c25eee2bd32296fe5e9faa9.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Meditative Stone.png-17bbefd36c25eee2bd32296fe5e9faa9.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://rl6df2udk2ui"
|
||||
path.s3tc="res://.godot/imported/Mercury.png-351a55e4a48cf5ea44941b9f77756730.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Mercury.png-351a55e4a48cf5ea44941b9f77756730.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/jewels/texture/Mercury.png"
|
||||
dest_files=["res://.godot/imported/Mercury.png-351a55e4a48cf5ea44941b9f77756730.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Mercury.png-351a55e4a48cf5ea44941b9f77756730.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://vxeil6eo3hdp"
|
||||
path.s3tc="res://.godot/imported/Metabolic Jewel.png-d9ee81007a0ea5781cc664d861dc6de9.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Metabolic Jewel.png-d9ee81007a0ea5781cc664d861dc6de9.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/jewels/texture/Metabolic Jewel.png"
|
||||
dest_files=["res://.godot/imported/Metabolic Jewel.png-d9ee81007a0ea5781cc664d861dc6de9.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Metabolic Jewel.png-d9ee81007a0ea5781cc664d861dc6de9.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bxa1kqlqhbyi3"
|
||||
path.s3tc="res://.godot/imported/Ossified Cortex.png-e78c02442a19b4d2490433f6ad488596.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Ossified Cortex.png-e78c02442a19b4d2490433f6ad488596.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/jewels/texture/Ossified Cortex.png"
|
||||
dest_files=["res://.godot/imported/Ossified Cortex.png-e78c02442a19b4d2490433f6ad488596.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Ossified Cortex.png-e78c02442a19b4d2490433f6ad488596.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c6fu3kd5yelwi"
|
||||
path.s3tc="res://.godot/imported/Rejection Stone.png-604fddbb684a322aab54c45fdac300ca.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Rejection Stone.png-604fddbb684a322aab54c45fdac300ca.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/jewels/texture/Rejection Stone.png"
|
||||
dest_files=["res://.godot/imported/Rejection Stone.png-604fddbb684a322aab54c45fdac300ca.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Rejection Stone.png-604fddbb684a322aab54c45fdac300ca.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cgs0hr24h5g6q"
|
||||
path.s3tc="res://.godot/imported/Tarnished Jewel.png-02be4a96675e6be54968d807efa99b50.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Tarnished Jewel.png-02be4a96675e6be54968d807efa99b50.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/jewels/texture/Tarnished Jewel.png"
|
||||
dest_files=["res://.godot/imported/Tarnished Jewel.png-02be4a96675e6be54968d807efa99b50.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Tarnished Jewel.png-02be4a96675e6be54968d807efa99b50.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://r36ecoqigs2o"
|
||||
path.s3tc="res://.godot/imported/Telleric Jewel.png-38f63b13397fc3fee84a2d7546c12454.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Telleric Jewel.png-38f63b13397fc3fee84a2d7546c12454.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/jewels/texture/Telleric Jewel.png"
|
||||
dest_files=["res://.godot/imported/Telleric Jewel.png-38f63b13397fc3fee84a2d7546c12454.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Telleric Jewel.png-38f63b13397fc3fee84a2d7546c12454.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://tvy57alffi36"
|
||||
path.s3tc="res://.godot/imported/plastique icon1.png-0b3366bcfc0b3bcade178ba57b2a053d.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/plastique icon1.png-0b3366bcfc0b3bcade178ba57b2a053d.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/misc/textures/plastique icon1.png"
|
||||
dest_files=["res://.godot/imported/plastique icon1.png-0b3366bcfc0b3bcade178ba57b2a053d.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/plastique icon1.png-0b3366bcfc0b3bcade178ba57b2a053d.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -11,7 +11,7 @@ script = ExtResource("1_3beyl")
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.363669, 0)
|
||||
pixel_size = 0.001
|
||||
pixel_size = 0.025
|
||||
billboard = 2
|
||||
texture_filter = 0
|
||||
render_priority = 100
|
||||
|
||||
@@ -31,7 +31,7 @@ shape = SubResource("BoxShape3D_03cqg")
|
||||
|
||||
[node name="Sprite" type="Sprite3D" parent="Pickup"]
|
||||
unique_name_in_owner = true
|
||||
pixel_size = 0.0005
|
||||
pixel_size = 0.025
|
||||
billboard = 2
|
||||
texture_filter = 0
|
||||
render_priority = 100
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ddpvursk6qjfn"
|
||||
path.s3tc="res://.godot/imported/air-DICE.png-7fb5a3bbbc869db149f69338b9ad83d8.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/air-DICE.png-7fb5a3bbbc869db149f69338b9ad83d8.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/throwable/textures/air-DICE.png"
|
||||
dest_files=["res://.godot/imported/air-DICE.png-7fb5a3bbbc869db149f69338b9ad83d8.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/air-DICE.png-7fb5a3bbbc869db149f69338b9ad83d8.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://vxbjsg88glot"
|
||||
path.s3tc="res://.godot/imported/earth-DICE.png-f9660c350090bd0b270b0f2496f7ed71.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/earth-DICE.png-f9660c350090bd0b270b0f2496f7ed71.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/throwable/textures/earth-DICE.png"
|
||||
dest_files=["res://.godot/imported/earth-DICE.png-f9660c350090bd0b270b0f2496f7ed71.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/earth-DICE.png-f9660c350090bd0b270b0f2496f7ed71.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://baf0di68frkex"
|
||||
path.s3tc="res://.godot/imported/fDICE.png-7c05e4a600425682aa3b97b3e4a73694.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/fDICE.png-7c05e4a600425682aa3b97b3e4a73694.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/throwable/textures/fDICE.png"
|
||||
dest_files=["res://.godot/imported/fDICE.png-7c05e4a600425682aa3b97b3e4a73694.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/fDICE.png-7c05e4a600425682aa3b97b3e4a73694.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dh48alpd7ay8j"
|
||||
path.s3tc="res://.godot/imported/ig dice.png-d3c7c841cf02853ec42cc9cc7b5f9569.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/ig dice.png-d3c7c841cf02853ec42cc9cc7b5f9569.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/throwable/textures/ig dice.png"
|
||||
dest_files=["res://.godot/imported/ig dice.png-d3c7c841cf02853ec42cc9cc7b5f9569.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/ig dice.png-d3c7c841cf02853ec42cc9cc7b5f9569.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bljha1jos652j"
|
||||
path.s3tc="res://.godot/imported/water-DICE.png-4f42cc307b00300a6528cef68e6d3e51.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/water-DICE.png-4f42cc307b00300a6528cef68e6d3e51.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/throwable/textures/water-DICE.png"
|
||||
dest_files=["res://.godot/imported/water-DICE.png-4f42cc307b00300a6528cef68e6d3e51.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/water-DICE.png-4f42cc307b00300a6528cef68e6d3e51.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -54,6 +54,9 @@ public partial class ThrownItem : RigidBody3D, IThrownItem
|
||||
{
|
||||
RemoveCollisionExceptionWith((Node)Player);
|
||||
Collision.SetCollisionLayerValue(3, true);
|
||||
LinearVelocity = Vector3.Zero;
|
||||
AngularVelocity = Vector3.Zero;
|
||||
GravityScale = 0.5f;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,68 +1,64 @@
|
||||
[gd_scene load_steps=6 format=3 uid="uid://b1twcuneob5kt"]
|
||||
[gd_scene load_steps=5 format=3 uid="uid://b1twcuneob5kt"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bx1k4yff3m82m" path="res://src/items/thrown/ThrownItem.cs" id="1_wlplc"]
|
||||
[ext_resource type="Material" uid="uid://x2bv1q51mcjq" path="res://src/enemy/PixelMelt.tres" id="2_qjpqg"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_s4ym5"]
|
||||
size = Vector3(0.46632, 0.507293, 0.586082)
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_qjpqg"]
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_xxdqr"]
|
||||
radius = 0.1
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_xxdqr"]
|
||||
viewport_path = NodePath("Sprite3D/SubViewportContainer/SubViewport")
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_xxdqr"]
|
||||
radius = 0.306203
|
||||
|
||||
[node name="Hitbox" type="RigidBody3D"]
|
||||
process_mode = 1
|
||||
collision_layer = 3072
|
||||
collision_mask = 2049
|
||||
mass = 0.1
|
||||
gravity_scale = 0.2
|
||||
contact_monitor = true
|
||||
max_contacts_reported = 50
|
||||
script = ExtResource("1_wlplc")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.1, 0)
|
||||
shape = SubResource("BoxShape3D_s4ym5")
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="."]
|
||||
transform = Transform3D(0.41, 0, 0, 0, 0.41, 0, 0, 0, 0.41, 0, 0, 0)
|
||||
billboard = 2
|
||||
shaded = true
|
||||
texture_filter = 0
|
||||
render_priority = 100
|
||||
texture = SubResource("ViewportTexture_qjpqg")
|
||||
|
||||
[node name="SubViewportContainer" type="SubViewportContainer" parent="Sprite3D"]
|
||||
visibility_layer = 0
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_right = 100.0
|
||||
offset_bottom = 100.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
|
||||
[node name="SubViewport" type="SubViewport" parent="Sprite3D/SubViewportContainer"]
|
||||
disable_3d = true
|
||||
transparent_bg = true
|
||||
handle_input_locally = false
|
||||
size = Vector2i(100, 100)
|
||||
render_target_update_mode = 4
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="Sprite3D/SubViewportContainer/SubViewport"]
|
||||
unique_name_in_owner = true
|
||||
material = ExtResource("2_qjpqg")
|
||||
scale = Vector2(0.1, 0.1)
|
||||
centered = false
|
||||
|
||||
[node name="Collision" type="Area3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.1, 0)
|
||||
collision_layer = 4
|
||||
collision_mask = 2048
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Collision"]
|
||||
shape = SubResource("SphereShape3D_xxdqr")
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.1, 0)
|
||||
pixel_size = 0.025
|
||||
billboard = 2
|
||||
texture_filter = 0
|
||||
texture = SubResource("ViewportTexture_xxdqr")
|
||||
|
||||
[node name="SubViewportContainer" type="SubViewportContainer" parent="Sprite3D"]
|
||||
visibility_layer = 0
|
||||
texture_filter = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="SubViewport" type="SubViewport" parent="Sprite3D/SubViewportContainer"]
|
||||
transparent_bg = true
|
||||
handle_input_locally = false
|
||||
canvas_cull_mask = 4293918721
|
||||
size = Vector2i(100, 100)
|
||||
render_target_update_mode = 4
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="Sprite3D/SubViewportContainer/SubViewport"]
|
||||
unique_name_in_owner = true
|
||||
texture_filter = 1
|
||||
offset = Vector2(50, 50)
|
||||
|
||||
@@ -28,7 +28,7 @@ collision_mask = 0
|
||||
|
||||
[node name="Sprite" type="Sprite3D" parent="Pickup"]
|
||||
unique_name_in_owner = true
|
||||
pixel_size = 0.0006
|
||||
pixel_size = 0.025
|
||||
billboard = 2
|
||||
double_sided = false
|
||||
alpha_antialiasing_mode = 1
|
||||
|
||||
@@ -8,6 +8,7 @@ script = ExtResource("1_vroib")
|
||||
AttackSpeed = 1.0
|
||||
WeaponElement = 0
|
||||
WeaponTag = 0
|
||||
SelfDamage = 0
|
||||
SoundEffect = 22
|
||||
Name = "Love Judgement"
|
||||
Description = "+12 ATK
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b4b2qa08jn6vp"
|
||||
path.s3tc="res://.godot/imported/AIRSPEAR.PNG-9a02b93688ae3db83fdd3fbd365b8255.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/AIRSPEAR.PNG-9a02b93688ae3db83fdd3fbd365b8255.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/weapons/textures/AIRSPEAR.PNG"
|
||||
dest_files=["res://.godot/imported/AIRSPEAR.PNG-9a02b93688ae3db83fdd3fbd365b8255.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/AIRSPEAR.PNG-9a02b93688ae3db83fdd3fbd365b8255.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b5q0nff3fkced"
|
||||
path.s3tc="res://.godot/imported/Black Plume Blade.png-b844ad107222d65f6ceb14584447fc6e.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Black Plume Blade.png-b844ad107222d65f6ceb14584447fc6e.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/weapons/textures/Black Plume Blade.png"
|
||||
dest_files=["res://.godot/imported/Black Plume Blade.png-b844ad107222d65f6ceb14584447fc6e.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Black Plume Blade.png-b844ad107222d65f6ceb14584447fc6e.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dymrg1fmwho35"
|
||||
path.s3tc="res://.godot/imported/Cross Sword.png-ae124a95a58a303bc851d10176449cd8.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Cross Sword.png-ae124a95a58a303bc851d10176449cd8.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/weapons/textures/Cross Sword.png"
|
||||
dest_files=["res://.godot/imported/Cross Sword.png-ae124a95a58a303bc851d10176449cd8.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Cross Sword.png-ae124a95a58a303bc851d10176449cd8.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b8b43lbckqrm0"
|
||||
path.s3tc="res://.godot/imported/Dilemma.png-d01f54dce3f2be0cba69b33fa1533adb.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Dilemma.png-d01f54dce3f2be0cba69b33fa1533adb.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/weapons/textures/Dilemma.png"
|
||||
dest_files=["res://.godot/imported/Dilemma.png-d01f54dce3f2be0cba69b33fa1533adb.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Dilemma.png-d01f54dce3f2be0cba69b33fa1533adb.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://co3xruv7y1x8b"
|
||||
path.s3tc="res://.godot/imported/Flamesword.png-db3676c787096f821c2bc00bc6020b50.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Flamesword.png-db3676c787096f821c2bc00bc6020b50.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/weapons/textures/Flamesword.png"
|
||||
dest_files=["res://.godot/imported/Flamesword.png-db3676c787096f821c2bc00bc6020b50.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Flamesword.png-db3676c787096f821c2bc00bc6020b50.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,20 +3,21 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://brkysvsi4caum"
|
||||
path="res://.godot/imported/Geomantic Reactor1.png-aa8e4f4548ba4c79b5261f7228301d1e.ctex"
|
||||
path.bptc="res://.godot/imported/Geomantic Reactor1.png-aa8e4f4548ba4c79b5261f7228301d1e.bptc.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/weapons/textures/Geomantic Reactor1.png"
|
||||
dest_files=["res://.godot/imported/Geomantic Reactor1.png-aa8e4f4548ba4c79b5261f7228301d1e.ctex"]
|
||||
dest_files=["res://.godot/imported/Geomantic Reactor1.png-aa8e4f4548ba4c79b5261f7228301d1e.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/mode=2
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cb86dpkft2m03"
|
||||
path.s3tc="res://.godot/imported/KUBEL.PNG-bd6eff6ed8307de491529365dab55876.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Kubel.png-c9f101c338fbe11a0030ed91a86239ab.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -11,13 +11,13 @@ metadata={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/weapons/textures/KUBEL.PNG"
|
||||
dest_files=["res://.godot/imported/KUBEL.PNG-bd6eff6ed8307de491529365dab55876.s3tc.ctex"]
|
||||
source_file="res://src/items/weapons/textures/Kubel.png"
|
||||
dest_files=["res://.godot/imported/Kubel.png-c9f101c338fbe11a0030ed91a86239ab.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dsh6opu7lvs73"
|
||||
path.s3tc="res://.godot/imported/LOVE JUDGEMENT2.PNG-95c5e74c50ec106582fdc8c200797991.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/LOVE JUDGEMENT2.PNG-95c5e74c50ec106582fdc8c200797991.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/weapons/textures/LOVE JUDGEMENT2.PNG"
|
||||
dest_files=["res://.godot/imported/LOVE JUDGEMENT2.PNG-95c5e74c50ec106582fdc8c200797991.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/LOVE JUDGEMENT2.PNG-95c5e74c50ec106582fdc8c200797991.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://6bn04v14knt2"
|
||||
path.s3tc="res://.godot/imported/Last Reward.png-32a1e8ecda786160cbcb1a4b3074a9f8.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Last Reward.png-32a1e8ecda786160cbcb1a4b3074a9f8.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/weapons/textures/Last Reward.png"
|
||||
dest_files=["res://.godot/imported/Last Reward.png-32a1e8ecda786160cbcb1a4b3074a9f8.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Last Reward.png-32a1e8ecda786160cbcb1a4b3074a9f8.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cd8yow0v36hpi"
|
||||
path.s3tc="res://.godot/imported/PALM OF HEAVEN.PNG-35554a412a9c4bc09647efa86e6b581e.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/PALM OF HEAVEN.PNG-35554a412a9c4bc09647efa86e6b581e.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/weapons/textures/PALM OF HEAVEN.PNG"
|
||||
dest_files=["res://.godot/imported/PALM OF HEAVEN.PNG-35554a412a9c4bc09647efa86e6b581e.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/PALM OF HEAVEN.PNG-35554a412a9c4bc09647efa86e6b581e.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c63uufq63qpuy"
|
||||
path.s3tc="res://.godot/imported/RONDO.PNG-77b50e9afaf9eb46f5672e079a5f50bf.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Rondo.png-57553b850a093da6dba43a1e1947fcce.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -11,13 +11,13 @@ metadata={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/weapons/textures/RONDO.PNG"
|
||||
dest_files=["res://.godot/imported/RONDO.PNG-77b50e9afaf9eb46f5672e079a5f50bf.s3tc.ctex"]
|
||||
source_file="res://src/items/weapons/textures/Rondo.png"
|
||||
dest_files=["res://.godot/imported/Rondo.png-57553b850a093da6dba43a1e1947fcce.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://buyggvlhb0wjk"
|
||||
path.s3tc="res://.godot/imported/Rusted Sword.png-0ed122ed271046ff676b11ad0e43939f.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Rusted Sword.png-0ed122ed271046ff676b11ad0e43939f.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/weapons/textures/Rusted Sword.png"
|
||||
dest_files=["res://.godot/imported/Rusted Sword.png-0ed122ed271046ff676b11ad0e43939f.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Rusted Sword.png-0ed122ed271046ff676b11ad0e43939f.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bbcftfavnf6px"
|
||||
path.s3tc="res://.godot/imported/Sealed Sword.PNG-793392c7a607dd9af664fb6cf694b339.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Sealed Sword.PNG-793392c7a607dd9af664fb6cf694b339.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/weapons/textures/Sealed Sword.PNG"
|
||||
dest_files=["res://.godot/imported/Sealed Sword.PNG-793392c7a607dd9af664fb6cf694b339.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Sealed Sword.PNG-793392c7a607dd9af664fb6cf694b339.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dxdfa8byilqvd"
|
||||
path.s3tc="res://.godot/imported/Shining Halberd.PNG-9993b227dcba002d0b060bc8edff17cc.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Shining Halberd.PNG-9993b227dcba002d0b060bc8edff17cc.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/weapons/textures/Shining Halberd.PNG"
|
||||
dest_files=["res://.godot/imported/Shining Halberd.PNG-9993b227dcba002d0b060bc8edff17cc.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Shining Halberd.PNG-9993b227dcba002d0b060bc8edff17cc.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dw0qk5n2b5e0m"
|
||||
path.s3tc="res://.godot/imported/Swan Sword Odette.png-43a292fe967b802c072f0da3b1a49163.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Swan Sword Odette.png-43a292fe967b802c072f0da3b1a49163.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/weapons/textures/Swan Sword Odette.png"
|
||||
dest_files=["res://.godot/imported/Swan Sword Odette.png-43a292fe967b802c072f0da3b1a49163.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Swan Sword Odette.png-43a292fe967b802c072f0da3b1a49163.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://xug1nm6osmnn"
|
||||
path.s3tc="res://.godot/imported/Windsword.png-84a1746d9d9914c658c9026e54e1d427.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/Windsword.png-84a1746d9d9914c658c9026e54e1d427.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/weapons/textures/Windsword.png"
|
||||
dest_files=["res://.godot/imported/Windsword.png-84a1746d9d9914c658c9026e54e1d427.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/Windsword.png-84a1746d9d9914c658c9026e54e1d427.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://rccp75ir04mg"
|
||||
path.s3tc="res://.godot/imported/katar.PNG-64792536265ff7c6213050533f028b81.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/katar.PNG-64792536265ff7c6213050533f028b81.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/weapons/textures/katar.PNG"
|
||||
dest_files=["res://.godot/imported/katar.PNG-64792536265ff7c6213050533f028b81.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/katar.PNG-64792536265ff7c6213050533f028b81.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://drfdn32jev5q4"
|
||||
path.s3tc="res://.godot/imported/plasmasword1.png-2c25cff70ffee75c15beb3763eb73090.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/plasmasword1.png-2c25cff70ffee75c15beb3763eb73090.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/weapons/textures/plasmasword1.png"
|
||||
dest_files=["res://.godot/imported/plasmasword1.png-2c25cff70ffee75c15beb3763eb73090.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/plasmasword1.png-2c25cff70ffee75c15beb3763eb73090.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://do0qujekot1va"
|
||||
path.s3tc="res://.godot/imported/sealing rod.PNG-4b6f479656dc98395fbaa74abf404389.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/sealing rod.PNG-4b6f479656dc98395fbaa74abf404389.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/weapons/textures/sealing rod.PNG"
|
||||
dest_files=["res://.godot/imported/sealing rod.PNG-4b6f479656dc98395fbaa74abf404389.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/sealing rod.PNG-4b6f479656dc98395fbaa74abf404389.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://br8erjl7ubifw"
|
||||
path.s3tc="res://.godot/imported/spaded staff.PNG-e9590cdbd372c4b4a4fc0c7b2b987b18.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/spaded staff.PNG-e9590cdbd372c4b4a4fc0c7b2b987b18.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/weapons/textures/spaded staff.PNG"
|
||||
dest_files=["res://.godot/imported/spaded staff.PNG-e9590cdbd372c4b4a4fc0c7b2b987b18.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/spaded staff.PNG-e9590cdbd372c4b4a4fc0c7b2b987b18.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://desd3fr1ww88u"
|
||||
path.s3tc="res://.godot/imported/talwar.PNG-d35174e542d7a4b1cd4c9dcab5b38d49.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/talwar.PNG-d35174e542d7a4b1cd4c9dcab5b38d49.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/weapons/textures/talwar.PNG"
|
||||
dest_files=["res://.godot/imported/talwar.PNG-d35174e542d7a4b1cd4c9dcab5b38d49.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/talwar.PNG-d35174e542d7a4b1cd4c9dcab5b38d49.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://yjuq5goj1f7o"
|
||||
path.s3tc="res://.godot/imported/watersword.png-144da0837c2142bb03ab5e8a73d29ffb.s3tc.ctex"
|
||||
path.bptc="res://.godot/imported/watersword.png-144da0837c2142bb03ab5e8a73d29ffb.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
@@ -12,12 +12,12 @@ metadata={
|
||||
[deps]
|
||||
|
||||
source_file="res://src/items/weapons/textures/watersword.png"
|
||||
dest_files=["res://.godot/imported/watersword.png-144da0837c2142bb03ab5e8a73d29ffb.s3tc.ctex"]
|
||||
dest_files=["res://.godot/imported/watersword.png-144da0837c2142bb03ab5e8a73d29ffb.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cp0er3xxxjkr5"
|
||||
path="res://.godot/imported/a2-puer_AREA_2_MAIN_222STONE.png-139f243ac630853348798dfe584da1e0.ctex"
|
||||
path="res://.godot/imported/A2-Puer_AREA_2_MAIN_222STONE.png-992459ef9849c39922a9b9e0c7774a4a.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
@@ -13,8 +13,8 @@ generator_parameters={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_AREA_2_MAIN_222STONE.png"
|
||||
dest_files=["res://.godot/imported/a2-puer_AREA_2_MAIN_222STONE.png-139f243ac630853348798dfe584da1e0.ctex"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_AREA_2_MAIN_222STONE.png"
|
||||
dest_files=["res://.godot/imported/A2-Puer_AREA_2_MAIN_222STONE.png-992459ef9849c39922a9b9e0c7774a4a.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://5r16swvuqjjg"
|
||||
path="res://.godot/imported/a2-puer_AREA_2_MAIN_STONE.png-986249227e569ea1e40b4825b7f05c47.ctex"
|
||||
path="res://.godot/imported/A2-Puer_AREA_2_MAIN_STONE.png-2267bd7e464cdc2e03c8954de01941bf.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
@@ -13,8 +13,8 @@ generator_parameters={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_AREA_2_MAIN_STONE.png"
|
||||
dest_files=["res://.godot/imported/a2-puer_AREA_2_MAIN_STONE.png-986249227e569ea1e40b4825b7f05c47.ctex"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_AREA_2_MAIN_STONE.png"
|
||||
dest_files=["res://.godot/imported/A2-Puer_AREA_2_MAIN_STONE.png-2267bd7e464cdc2e03c8954de01941bf.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cvnpxln2mmtkp"
|
||||
path="res://.godot/imported/a2-puer_COLUMN_WHITE.png-0b80d510851319464b2ef729d8868892.ctex"
|
||||
path="res://.godot/imported/A2-Puer_COLUMN_WHITE.png-18037c22b966bb159d05cb7acac1bc53.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
@@ -13,8 +13,8 @@ generator_parameters={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_COLUMN_WHITE.png"
|
||||
dest_files=["res://.godot/imported/a2-puer_COLUMN_WHITE.png-0b80d510851319464b2ef729d8868892.ctex"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_COLUMN_WHITE.png"
|
||||
dest_files=["res://.godot/imported/A2-Puer_COLUMN_WHITE.png-18037c22b966bb159d05cb7acac1bc53.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://tjtjbktl51kd"
|
||||
path="res://.godot/imported/a2-puer_GREENBIT.png-e1ed395f917a2fe57ed6288185af0729.ctex"
|
||||
path="res://.godot/imported/A2-Puer_GREENBIT.png-40a9ca6a0efc569a5f329f19b3c3e572.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
@@ -13,8 +13,8 @@ generator_parameters={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_GREENBIT.png"
|
||||
dest_files=["res://.godot/imported/a2-puer_GREENBIT.png-e1ed395f917a2fe57ed6288185af0729.ctex"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_GREENBIT.png"
|
||||
dest_files=["res://.godot/imported/A2-Puer_GREENBIT.png-40a9ca6a0efc569a5f329f19b3c3e572.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dqfdyguq83bhs"
|
||||
path="res://.godot/imported/a2-puer_M13_14.png-ed8b29b0af1c2b973bfaee62e57cab14.ctex"
|
||||
path="res://.godot/imported/A2-Puer_M13_14.png-e781478f15895763a566a64ff37db311.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
@@ -13,8 +13,8 @@ generator_parameters={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_M13_14.png"
|
||||
dest_files=["res://.godot/imported/a2-puer_M13_14.png-ed8b29b0af1c2b973bfaee62e57cab14.ctex"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_M13_14.png"
|
||||
dest_files=["res://.godot/imported/A2-Puer_M13_14.png-e781478f15895763a566a64ff37db311.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dorqwrqy03rim"
|
||||
path="res://.godot/imported/a2-puer_M13_49.png-86429b5a3cd80a9159f32ded99a631bc.ctex"
|
||||
path="res://.godot/imported/A2-Puer_M13_49.png-44faadb5ae300e9ecea145cfe1949536.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
@@ -13,8 +13,8 @@ generator_parameters={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_M13_49.png"
|
||||
dest_files=["res://.godot/imported/a2-puer_M13_49.png-86429b5a3cd80a9159f32ded99a631bc.ctex"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_M13_49.png"
|
||||
dest_files=["res://.godot/imported/A2-Puer_M13_49.png-44faadb5ae300e9ecea145cfe1949536.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://nl3bwenfa8fi"
|
||||
path="res://.godot/imported/a2-puer_RUBBLE_1.png-c7185e2aad2613007d1951f1515ef882.ctex"
|
||||
path="res://.godot/imported/A2-Puer_RUBBLE_1.png-72d7ff861d1df58d800502546da8d607.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
@@ -13,8 +13,8 @@ generator_parameters={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_RUBBLE_1.png"
|
||||
dest_files=["res://.godot/imported/a2-puer_RUBBLE_1.png-c7185e2aad2613007d1951f1515ef882.ctex"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_RUBBLE_1.png"
|
||||
dest_files=["res://.godot/imported/A2-Puer_RUBBLE_1.png-72d7ff861d1df58d800502546da8d607.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://0p6suo7fpxum"
|
||||
path="res://.godot/imported/a2-puer_STUCCO_DECAL_BIG.png-882b477f490f6ddbf5bffb3a6f8904e1.ctex"
|
||||
path="res://.godot/imported/A2-Puer_STUCCO_DECAL_BIG.png-015d9f8dd06372231a1f422979d3604e.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
@@ -13,8 +13,8 @@ generator_parameters={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_STUCCO_DECAL_BIG.png"
|
||||
dest_files=["res://.godot/imported/a2-puer_STUCCO_DECAL_BIG.png-882b477f490f6ddbf5bffb3a6f8904e1.ctex"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_STUCCO_DECAL_BIG.png"
|
||||
dest_files=["res://.godot/imported/A2-Puer_STUCCO_DECAL_BIG.png-015d9f8dd06372231a1f422979d3604e.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ct3mkni0v0y3g"
|
||||
path="res://.godot/imported/a2-puer_Tile 4.png-9d089a32db3fc38a0c5dee6cdb6d3495.ctex"
|
||||
path="res://.godot/imported/A2-Puer_Tile 4.png-0cfd085ec5fcea35eb2d1373e4717f77.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
@@ -13,8 +13,8 @@ generator_parameters={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_Tile 4.png"
|
||||
dest_files=["res://.godot/imported/a2-puer_Tile 4.png-9d089a32db3fc38a0c5dee6cdb6d3495.ctex"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_Tile 4.png"
|
||||
dest_files=["res://.godot/imported/A2-Puer_Tile 4.png-0cfd085ec5fcea35eb2d1373e4717f77.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b40fbcriycpp5"
|
||||
path="res://.godot/imported/a2-puer_imag2esnormal.jpg-d6e063b2785344af34fa3bb45d47aa2f.ctex"
|
||||
path="res://.godot/imported/A2-Puer_imag2esnormal.jpg-be023c8af9ff59eedfb3ede232c75195.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
@@ -13,8 +13,8 @@ generator_parameters={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_imag2esnormal.jpg"
|
||||
dest_files=["res://.godot/imported/a2-puer_imag2esnormal.jpg-d6e063b2785344af34fa3bb45d47aa2f.ctex"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_imag2esnormal.jpg"
|
||||
dest_files=["res://.godot/imported/A2-Puer_imag2esnormal.jpg-be023c8af9ff59eedfb3ede232c75195.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b25r6gysyhu3e"
|
||||
path="res://.godot/imported/a2-puer_inner_rock2.png-943622742770f7b55d1e40645d07d057.ctex"
|
||||
path="res://.godot/imported/A2-Puer_inner_rock2.png-7c99975de214e5dddd3507f87212b910.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
@@ -13,8 +13,8 @@ generator_parameters={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_inner_rock2.png"
|
||||
dest_files=["res://.godot/imported/a2-puer_inner_rock2.png-943622742770f7b55d1e40645d07d057.ctex"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_inner_rock2.png"
|
||||
dest_files=["res://.godot/imported/A2-Puer_inner_rock2.png-7c99975de214e5dddd3507f87212b910.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cw4hq3kofjowa"
|
||||
path="res://.godot/imported/a2-puer_lime_hand_relief.png-85b73e808337e8b8841453cbda0e78cd.ctex"
|
||||
path="res://.godot/imported/A2-Puer_lime_hand_relief.png-825857ea33249fe0361c829ba37bbfdb.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
@@ -13,8 +13,8 @@ generator_parameters={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_lime_hand_relief.png"
|
||||
dest_files=["res://.godot/imported/a2-puer_lime_hand_relief.png-85b73e808337e8b8841453cbda0e78cd.ctex"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_lime_hand_relief.png"
|
||||
dest_files=["res://.godot/imported/A2-Puer_lime_hand_relief.png-825857ea33249fe0361c829ba37bbfdb.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bqrsde28o867s"
|
||||
path="res://.godot/imported/a2-puer_mother_GREEN.png-7bb7d8dd57027953ba1e08ed0c256c8b.ctex"
|
||||
path="res://.godot/imported/A2-Puer_mother_GREEN.png-ba1f3d21981ed19fc5cc87868e04808c.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
@@ -13,8 +13,8 @@ generator_parameters={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_mother_GREEN.png"
|
||||
dest_files=["res://.godot/imported/a2-puer_mother_GREEN.png-7bb7d8dd57027953ba1e08ed0c256c8b.ctex"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_mother_GREEN.png"
|
||||
dest_files=["res://.godot/imported/A2-Puer_mother_GREEN.png-ba1f3d21981ed19fc5cc87868e04808c.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://4aq3a26dliyg"
|
||||
path="res://.godot/imported/a2-puer_swirled_column _AREA222.png-6f90c188eae5b7e81110f39984d5d43f.ctex"
|
||||
path="res://.godot/imported/A2-Puer_swirled_column _AREA222.png-4842b180cffdbc0274ecb9cbbbbc8221.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
@@ -13,8 +13,8 @@ generator_parameters={
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/a2-puer_swirled_column _AREA222.png"
|
||||
dest_files=["res://.godot/imported/a2-puer_swirled_column _AREA222.png-6f90c188eae5b7e81110f39984d5d43f.ctex"]
|
||||
source_file="res://src/map/dungeon/models/Area 2/Puer/A2-Puer_swirled_column _AREA222.png"
|
||||
dest_files=["res://.godot/imported/A2-Puer_swirled_column _AREA222.png-4842b180cffdbc0274ecb9cbbbbc8221.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
|
||||
#endregion
|
||||
|
||||
#region Node Dependencies
|
||||
[Node] private IAnimationPlayer AnimationPlayer { get; set; } = default!;
|
||||
[Node] private IAnimationPlayer WeaponAnimations { get; set; } = default!;
|
||||
|
||||
[Node] private IAnimationPlayer PlayerFXAnimations { get; set; } = default!;
|
||||
|
||||
@@ -112,117 +112,117 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
|
||||
|
||||
public void Initialize()
|
||||
{
|
||||
var container = new SimpleInjector.Container();
|
||||
container.Register<IPlayerLogic, PlayerLogic>(Lifestyle.Singleton);
|
||||
var container = new SimpleInjector.Container();
|
||||
container.Register<IPlayerLogic, PlayerLogic>(Lifestyle.Singleton);
|
||||
|
||||
PlayerLogic = container.GetInstance<IPlayerLogic>();
|
||||
PlayerLogic.Set(this as IPlayer);
|
||||
PlayerLogic.Set(Settings);
|
||||
PlayerLogic = container.GetInstance<IPlayerLogic>();
|
||||
PlayerLogic.Set(this as IPlayer);
|
||||
PlayerLogic.Set(Settings);
|
||||
|
||||
Inventory = new Inventory();
|
||||
HealthComponent = new HealthComponent(InitialHP);
|
||||
VTComponent = new VTComponent(InitialVT);
|
||||
AttackComponent = new AttackComponent(InitialAttack);
|
||||
DefenseComponent = new DefenseComponent(InitialDefense);
|
||||
ExperiencePointsComponent = new ExperiencePointsComponent();
|
||||
LuckComponent = new LuckComponent(InitialLuck);
|
||||
EquipmentComponent = new EquipmentComponent();
|
||||
Inventory = new Inventory();
|
||||
HealthComponent = new HealthComponent(InitialHP);
|
||||
VTComponent = new VTComponent(InitialVT);
|
||||
AttackComponent = new AttackComponent(InitialAttack);
|
||||
DefenseComponent = new DefenseComponent(InitialDefense);
|
||||
ExperiencePointsComponent = new ExperiencePointsComponent();
|
||||
LuckComponent = new LuckComponent(InitialLuck);
|
||||
EquipmentComponent = new EquipmentComponent();
|
||||
|
||||
_itemReroller = new ItemReroller(ItemDatabase.Instance);
|
||||
_playerEffectService = new PlayerEffectService(this);
|
||||
_itemReroller = new ItemReroller(ItemDatabase.Instance);
|
||||
_playerEffectService = new PlayerEffectService(this);
|
||||
|
||||
Settings = new PlayerLogic.Settings() { RotationSpeed = RotationSpeed, MoveSpeed = MoveSpeed, Acceleration = Acceleration };
|
||||
Settings = new PlayerLogic.Settings() { RotationSpeed = RotationSpeed, MoveSpeed = MoveSpeed, Acceleration = Acceleration };
|
||||
|
||||
PlayerBinding = PlayerLogic.Bind();
|
||||
PlayerBinding = PlayerLogic.Bind();
|
||||
|
||||
PlayerBinding
|
||||
.Handle((in PlayerLogic.Output.ThrowItem output) =>
|
||||
{
|
||||
})
|
||||
.Handle((in PlayerLogic.Output.Move output) =>
|
||||
{
|
||||
Move(output.delta);
|
||||
});
|
||||
PlayerBinding
|
||||
.Handle((in PlayerLogic.Output.ThrowItem output) =>
|
||||
{
|
||||
})
|
||||
.Handle((in PlayerLogic.Output.Move output) =>
|
||||
{
|
||||
Move(output.delta);
|
||||
});
|
||||
|
||||
PlayerLogic.Start();
|
||||
this.Provide();
|
||||
PlayerLogic.Start();
|
||||
this.Provide();
|
||||
}
|
||||
|
||||
public void ResetPlayerData()
|
||||
{
|
||||
PlayerFXAnimations.Play("RESET");
|
||||
PlayerFXAnimations.Play("RESET");
|
||||
|
||||
foreach (var item in Inventory.Items)
|
||||
Inventory.Remove(item);
|
||||
foreach (var item in Inventory.Items)
|
||||
Inventory.Remove(item);
|
||||
|
||||
HealthComponent.Reset();
|
||||
VTComponent.Reset();
|
||||
AttackComponent.Reset();
|
||||
DefenseComponent.Reset();
|
||||
ExperiencePointsComponent.Reset();
|
||||
LuckComponent.Reset();
|
||||
EquipmentComponent.Reset();
|
||||
HealthComponent.Reset();
|
||||
VTComponent.Reset();
|
||||
AttackComponent.Reset();
|
||||
DefenseComponent.Reset();
|
||||
ExperiencePointsComponent.Reset();
|
||||
LuckComponent.Reset();
|
||||
EquipmentComponent.Reset();
|
||||
|
||||
HealthTimer.Timeout += OnHealthTimerTimeout;
|
||||
HealthTimer.Timeout += OnHealthTimerTimeout;
|
||||
}
|
||||
|
||||
#region Initialization
|
||||
public void OnReady()
|
||||
{
|
||||
Hitbox.AreaEntered += Hitbox_AreaEntered;
|
||||
CollisionDetector.AreaEntered += CollisionDetector_AreaEntered;
|
||||
HealthComponent.CurrentHP.Changed += InverseHPToAttackPowerSync;
|
||||
HealthComponent.HealthReachedZero += Die;
|
||||
ExperiencePointsComponent.PlayerLevelUp += OnLevelUp;
|
||||
PlayerFXAnimations.AnimationFinished += PlayerFXAnimations_AnimationFinished;
|
||||
HealthTimer.WaitTime = _healthTimerWaitTime;
|
||||
SetProcessInput(false);
|
||||
SetPhysicsProcess(false);
|
||||
Hitbox.AreaEntered += Hitbox_AreaEntered;
|
||||
CollisionDetector.AreaEntered += CollisionDetector_AreaEntered;
|
||||
HealthComponent.CurrentHP.Changed += InverseHPToAttackPowerSync;
|
||||
HealthComponent.HealthReachedZero += Die;
|
||||
ExperiencePointsComponent.PlayerLevelUp += OnLevelUp;
|
||||
PlayerFXAnimations.AnimationFinished += PlayerFXAnimations_AnimationFinished;
|
||||
HealthTimer.WaitTime = _healthTimerWaitTime;
|
||||
SetProcessInput(false);
|
||||
SetPhysicsProcess(false);
|
||||
}
|
||||
#endregion
|
||||
|
||||
public void Activate()
|
||||
{
|
||||
SetProcessInput(true);
|
||||
SetPhysicsProcess(true);
|
||||
SetHealthTimerStatus(HealthTimerIsActive);
|
||||
SetProcessInput(true);
|
||||
SetPhysicsProcess(true);
|
||||
SetHealthTimerStatus(HealthTimerIsActive);
|
||||
}
|
||||
|
||||
public void Deactivate()
|
||||
{
|
||||
Velocity = Vector3.Zero;
|
||||
SetProcessInput(false);
|
||||
SetPhysicsProcess(false);
|
||||
SetHealthTimerStatus(false);
|
||||
Velocity = Vector3.Zero;
|
||||
SetProcessInput(false);
|
||||
SetPhysicsProcess(false);
|
||||
SetHealthTimerStatus(false);
|
||||
}
|
||||
|
||||
public void SetHealthTimerStatus(bool isActive)
|
||||
{
|
||||
if (isActive)
|
||||
HealthTimer.Start();
|
||||
else
|
||||
HealthTimer.Stop();
|
||||
if (isActive)
|
||||
HealthTimer.Start();
|
||||
else
|
||||
HealthTimer.Stop();
|
||||
}
|
||||
|
||||
public void TeleportPlayer((Vector3 Rotation, Vector3 Position) newTransform)
|
||||
{
|
||||
Rotation = newTransform.Rotation;
|
||||
Position = newTransform.Position;
|
||||
Rotation = newTransform.Rotation;
|
||||
Position = newTransform.Position;
|
||||
}
|
||||
|
||||
public void TakeDamage(AttackData damage)
|
||||
{
|
||||
_camera3D.AddShake(1.0f);
|
||||
TakeDamageAnimationPlayer.Play("take_damage");
|
||||
var damageReceived = DamageCalculator.CalculateDamage(damage, TotalDefense, EquipmentComponent.ElementalResistance);
|
||||
HealthComponent.Damage(damageReceived);
|
||||
SfxDatabase.Instance.Play(SoundEffect.TakeDamage);
|
||||
_camera3D.AddShake(1.0f);
|
||||
TakeDamageAnimationPlayer.Play("take_damage");
|
||||
var damageReceived = DamageCalculator.CalculateDamage(damage, TotalDefense, EquipmentComponent.ElementalResistance);
|
||||
HealthComponent.Damage(damageReceived);
|
||||
SfxDatabase.Instance.Play(SoundEffect.TakeDamage);
|
||||
}
|
||||
|
||||
public void Knockback(float impulse)
|
||||
{
|
||||
_knockbackStrength = impulse;
|
||||
_knockbackDirection = GlobalBasis.Z.Normalized();
|
||||
_knockbackStrength = impulse;
|
||||
_knockbackDirection = GlobalBasis.Z.Normalized();
|
||||
}
|
||||
|
||||
public void PlayJumpScareAnimation() => PlayerFXAnimations.Play("jump_scare");
|
||||
@@ -235,82 +235,82 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
|
||||
|
||||
public void LevelUp()
|
||||
{
|
||||
ExperiencePointsComponent.LevelUp();
|
||||
ExperiencePointsComponent.LevelUp();
|
||||
}
|
||||
|
||||
public void Die()
|
||||
{
|
||||
PlayerFXAnimations.Play("death");
|
||||
HealthTimer.WaitTime = _healthTimerWaitTime;
|
||||
HealthTimer.Timeout -= OnHealthTimerTimeout;
|
||||
SetProcessInput(false);
|
||||
SetPhysicsProcess(false);
|
||||
PlayerFXAnimations.Play("death");
|
||||
HealthTimer.WaitTime = _healthTimerWaitTime;
|
||||
HealthTimer.Timeout -= OnHealthTimerTimeout;
|
||||
SetProcessInput(false);
|
||||
SetPhysicsProcess(false);
|
||||
}
|
||||
|
||||
public override void _Input(InputEvent @event)
|
||||
{
|
||||
if (@event.IsActionPressed(GameInputs.Attack))
|
||||
Attack();
|
||||
if (@event.IsActionPressed(GameInputs.Sprint))
|
||||
_debugSprint = true;
|
||||
else if (@event.IsActionReleased(GameInputs.Sprint))
|
||||
_debugSprint = false;
|
||||
if (@event.IsActionPressed(GameInputs.Attack))
|
||||
Attack();
|
||||
if (@event.IsActionPressed(GameInputs.Sprint))
|
||||
_debugSprint = true;
|
||||
else if (@event.IsActionReleased(GameInputs.Sprint))
|
||||
_debugSprint = false;
|
||||
}
|
||||
|
||||
public void OnPhysicsProcess(double delta)
|
||||
{
|
||||
PlayerLogic.Input(new PlayerLogic.Input.PhysicsTick(delta));
|
||||
PlayerLogic.Input(new PlayerLogic.Input.Moved(GlobalPosition, GlobalTransform));
|
||||
PlayerLogic.Input(new PlayerLogic.Input.PhysicsTick(delta));
|
||||
PlayerLogic.Input(new PlayerLogic.Input.Moved(GlobalPosition, GlobalTransform));
|
||||
}
|
||||
|
||||
public void Equip(EquipableItem equipable)
|
||||
{
|
||||
if (equipable.ItemTag == ItemTag.MysteryItem)
|
||||
{
|
||||
var rerolledItem = _itemReroller.RerollItem(equipable, Inventory);
|
||||
Equip(rerolledItem);
|
||||
return;
|
||||
}
|
||||
if (equipable.ItemTag == ItemTag.MysteryItem)
|
||||
{
|
||||
var rerolledItem = _itemReroller.RerollItem(equipable, Inventory);
|
||||
Equip(rerolledItem);
|
||||
return;
|
||||
}
|
||||
|
||||
HealthComponent.RaiseMaximumHP(equipable.BonusHP, false);
|
||||
VTComponent.RaiseMaximumVT(equipable.BonusVT, false);
|
||||
HealthComponent.RaiseMaximumHP(equipable.BonusHP, false);
|
||||
VTComponent.RaiseMaximumVT(equipable.BonusVT, false);
|
||||
|
||||
EquipmentComponent.Equip(equipable);
|
||||
EquipmentComponent.Equip(equipable);
|
||||
}
|
||||
|
||||
public void Unequip(EquipableItem equipable)
|
||||
{
|
||||
HealthComponent.SetMaximumHealth(HealthComponent.MaximumHP.Value - equipable.BonusHP);
|
||||
VTComponent.SetMaximumVT(VTComponent.MaximumVT.Value - equipable.BonusVT);
|
||||
HealthComponent.SetMaximumHealth(HealthComponent.MaximumHP.Value - equipable.BonusHP);
|
||||
VTComponent.SetMaximumVT(VTComponent.MaximumVT.Value - equipable.BonusVT);
|
||||
|
||||
EquipmentComponent.Unequip(equipable);
|
||||
EquipmentComponent.Unequip(equipable);
|
||||
}
|
||||
|
||||
private static Vector3 GlobalInputVector
|
||||
{
|
||||
get
|
||||
{
|
||||
var rawInput = Input.GetVector(GameInputs.MoveLeft, GameInputs.MoveRight, GameInputs.MoveUp, GameInputs.MoveDown);
|
||||
var input = new Vector3
|
||||
{
|
||||
X = rawInput.X,
|
||||
Z = rawInput.Y
|
||||
};
|
||||
return input with { Y = 0f };
|
||||
}
|
||||
get
|
||||
{
|
||||
var rawInput = Input.GetVector(GameInputs.MoveLeft, GameInputs.MoveRight, GameInputs.MoveUp, GameInputs.MoveDown);
|
||||
var input = new Vector3
|
||||
{
|
||||
X = rawInput.X,
|
||||
Z = rawInput.Y
|
||||
};
|
||||
return input with { Y = 0f };
|
||||
}
|
||||
}
|
||||
|
||||
private void OnLevelUp()
|
||||
{
|
||||
BoostPlayerHPFromLevelUp();
|
||||
BoostPlayerHPFromLevelUp();
|
||||
}
|
||||
|
||||
private void BoostPlayerHPFromLevelUp()
|
||||
{
|
||||
var rng = new RandomNumberGenerator();
|
||||
rng.Randomize();
|
||||
var hpIncrease = rng.RandiRange(3, 6);
|
||||
HealthComponent.RaiseMaximumHP(hpIncrease);
|
||||
var rng = new RandomNumberGenerator();
|
||||
rng.Randomize();
|
||||
var hpIncrease = rng.RandiRange(3, 6);
|
||||
HealthComponent.RaiseMaximumHP(hpIncrease);
|
||||
}
|
||||
|
||||
private static float LeftStrafeInputVector => Input.GetActionStrength(GameInputs.StrafeLeft);
|
||||
@@ -319,176 +319,192 @@ public partial class Player : CharacterBody3D, IPlayer, IProvide<IPlayer>
|
||||
|
||||
private void Attack()
|
||||
{
|
||||
if (PlayerIsHittingGeometry())
|
||||
AnimationPlayer.Play("hit_wall");
|
||||
else if (!AnimationPlayer.IsPlaying())
|
||||
PlayAttackAnimation();
|
||||
else
|
||||
return;
|
||||
if (PlayerIsHittingGeometry())
|
||||
WeaponAnimations.Play("hit_wall");
|
||||
else if (!WeaponAnimations.IsPlaying())
|
||||
PlayAttackAnimation();
|
||||
else
|
||||
return;
|
||||
|
||||
var weapon = EquipmentComponent.EquippedWeapon.Value as Weapon;
|
||||
if (weapon.WeaponTag == WeaponTag.DegradeOnSwing)
|
||||
_playerEffectService.Degrade();
|
||||
var weapon = EquipmentComponent.EquippedWeapon.Value as Weapon;
|
||||
if (weapon.WeaponTag == WeaponTag.DegradeOnSwing)
|
||||
_playerEffectService.Degrade();
|
||||
else if (weapon.WeaponTag == WeaponTag.SelfDamage)
|
||||
_playerEffectService.TakeSelfDamage(5);
|
||||
}
|
||||
|
||||
private void ThrowItem()
|
||||
{
|
||||
var itemScene = GD.Load<PackedScene>("res://src/items/throwable/ThrowableItem.tscn");
|
||||
var throwItem = itemScene.Instantiate<ThrowableItem>();
|
||||
GetTree().Root.AddChildEx(throwItem);
|
||||
throwItem.GlobalPosition = CurrentPosition + new Vector3(0, 3.5f, 0);
|
||||
throwItem.GlobalRotation = GlobalRotation;
|
||||
var itemScene = GD.Load<PackedScene>("res://src/items/throwable/ThrowableItem.tscn");
|
||||
var throwItem = itemScene.Instantiate<ThrowableItem>();
|
||||
GetTree().Root.AddChildEx(throwItem);
|
||||
throwItem.GlobalPosition = CurrentPosition;
|
||||
throwItem.GlobalRotation = GlobalRotation;
|
||||
}
|
||||
|
||||
private void PlayAttackAnimation()
|
||||
{
|
||||
SfxDatabase.Instance.Play(((Weapon)EquipmentComponent.EquippedWeapon.Value).SoundEffect);
|
||||
var attackSpeed = ((Weapon)EquipmentComponent.EquippedWeapon.Value).AttackSpeed;
|
||||
AnimationPlayer.SetSpeedScale((float)attackSpeed);
|
||||
AnimationPlayer.Play("attack");
|
||||
var weapon = (Weapon)EquipmentComponent.EquippedWeapon.Value;
|
||||
SfxDatabase.Instance.Play(weapon.SoundEffect);
|
||||
WeaponAnimations.SetSpeedScale((float)weapon.AttackSpeed);
|
||||
var potentialAnimName = weapon.Stats.Name?.Replace(" ", string.Empty);
|
||||
if (WeaponAnimations.HasAnimation(potentialAnimName))
|
||||
WeaponAnimations.Play(potentialAnimName);
|
||||
else if (weapon.WeaponElement == ElementType.Aeolic)
|
||||
WeaponAnimations.Play("AirSlash");
|
||||
else if (weapon.WeaponElement == ElementType.Hydric)
|
||||
WeaponAnimations.Play("WaterSlash");
|
||||
else if (weapon.WeaponElement == ElementType.Igneous)
|
||||
WeaponAnimations.Play("FireSlash");
|
||||
else if (weapon.WeaponElement == ElementType.Telluric)
|
||||
WeaponAnimations.Play("EarthSlash");
|
||||
else if (string.IsNullOrWhiteSpace(potentialAnimName))
|
||||
WeaponAnimations.Play("Unarmed");
|
||||
else
|
||||
WeaponAnimations.Play("NormalSlash");
|
||||
}
|
||||
|
||||
private void PlayerFXAnimations_AnimationFinished(StringName animName)
|
||||
{
|
||||
if (animName == "death")
|
||||
PlayerDied?.Invoke();
|
||||
if (animName == "death")
|
||||
PlayerDied?.Invoke();
|
||||
}
|
||||
|
||||
private void InverseHPToAttackPowerSync(int obj)
|
||||
{
|
||||
var weapon = (Weapon)EquipmentComponent.EquippedWeapon.Value;
|
||||
if (weapon.WeaponTag == WeaponTag.InverseHPAttackPower)
|
||||
{
|
||||
var healthPercentage = (HealthComponent.CurrentHP.Value * 10) / HealthComponent.MaximumHP.Value;
|
||||
weapon.SetWeaponAttack(10 - healthPercentage);
|
||||
EquipmentComponent.Equip(weapon);
|
||||
}
|
||||
var weapon = (Weapon)EquipmentComponent.EquippedWeapon.Value;
|
||||
if (weapon.WeaponTag == WeaponTag.InverseHPAttackPower)
|
||||
{
|
||||
var healthPercentage = (HealthComponent.CurrentHP.Value * 10) / HealthComponent.MaximumHP.Value;
|
||||
weapon.SetWeaponAttack(10 - healthPercentage);
|
||||
EquipmentComponent.Equip(weapon);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnExitTree()
|
||||
{
|
||||
PlayerLogic.Stop();
|
||||
PlayerBinding.Dispose();
|
||||
Hitbox.AreaEntered -= Hitbox_AreaEntered;
|
||||
CollisionDetector.AreaEntered -= CollisionDetector_AreaEntered;
|
||||
HealthComponent.HealthReachedZero -= Die;
|
||||
HealthTimer.Timeout -= OnHealthTimerTimeout;
|
||||
HealthComponent.CurrentHP.Changed -= InverseHPToAttackPowerSync;
|
||||
HealthComponent.HealthReachedZero -= Die;
|
||||
ExperiencePointsComponent.PlayerLevelUp -= OnLevelUp;
|
||||
PlayerFXAnimations.AnimationFinished -= PlayerFXAnimations_AnimationFinished;
|
||||
PlayerLogic.Stop();
|
||||
PlayerBinding.Dispose();
|
||||
Hitbox.AreaEntered -= Hitbox_AreaEntered;
|
||||
CollisionDetector.AreaEntered -= CollisionDetector_AreaEntered;
|
||||
HealthComponent.HealthReachedZero -= Die;
|
||||
HealthTimer.Timeout -= OnHealthTimerTimeout;
|
||||
HealthComponent.CurrentHP.Changed -= InverseHPToAttackPowerSync;
|
||||
HealthComponent.HealthReachedZero -= Die;
|
||||
ExperiencePointsComponent.PlayerLevelUp -= OnLevelUp;
|
||||
PlayerFXAnimations.AnimationFinished -= PlayerFXAnimations_AnimationFinished;
|
||||
}
|
||||
|
||||
private void Move(float delta)
|
||||
{
|
||||
var rawInput = GlobalInputVector;
|
||||
var strafeLeftInput = LeftStrafeInputVector;
|
||||
var strafeRightInput = RightStrafeInputVector;
|
||||
var rawInput = GlobalInputVector;
|
||||
var strafeLeftInput = LeftStrafeInputVector;
|
||||
var strafeRightInput = RightStrafeInputVector;
|
||||
|
||||
var transform = Transform;
|
||||
transform.Basis = new Basis(Vector3.Up, Settings.RotationSpeed * -rawInput.X * delta) * transform.Basis;
|
||||
var moveDirection = new Vector3(strafeRightInput - strafeLeftInput, 0, rawInput.Z).Normalized();
|
||||
var velocity = Basis * moveDirection * Settings.MoveSpeed * Settings.Acceleration;
|
||||
if (_debugSprint)
|
||||
velocity *= 2;
|
||||
_knockbackStrength *= 0.9f;
|
||||
Transform = Transform with { Basis = transform.Basis };
|
||||
Velocity = velocity + (_knockbackDirection * _knockbackStrength);
|
||||
var rng = new RandomNumberGenerator();
|
||||
rng.Randomize();
|
||||
var transform = Transform;
|
||||
transform.Basis = new Basis(Vector3.Up, Settings.RotationSpeed * -rawInput.X * delta) * transform.Basis;
|
||||
var moveDirection = new Vector3(strafeRightInput - strafeLeftInput, 0, rawInput.Z).Normalized();
|
||||
var velocity = Basis * moveDirection * Settings.MoveSpeed * Settings.Acceleration;
|
||||
if (_debugSprint)
|
||||
velocity *= 2;
|
||||
_knockbackStrength *= 0.9f;
|
||||
Transform = Transform with { Basis = transform.Basis };
|
||||
Velocity = velocity + (_knockbackDirection * _knockbackStrength);
|
||||
var rng = new RandomNumberGenerator();
|
||||
rng.Randomize();
|
||||
|
||||
WalkSFX.PitchScale = rng.RandfRange(0.5f, 1.5f);
|
||||
if (!WalkSFX.Playing && !Velocity.IsZeroApprox())
|
||||
WalkSFX.Play();
|
||||
else if (Velocity.IsZeroApprox())
|
||||
WalkSFX.Stop();
|
||||
MoveAndSlide();
|
||||
WalkSFX.PitchScale = rng.RandfRange(0.5f, 1.5f);
|
||||
if (!WalkSFX.Playing && !Velocity.IsZeroApprox())
|
||||
WalkSFX.Play();
|
||||
else if (Velocity.IsZeroApprox())
|
||||
WalkSFX.Stop();
|
||||
MoveAndSlide();
|
||||
}
|
||||
|
||||
private void OnPlayerPositionUpdated(Vector3 globalPosition) => GlobalPosition = globalPosition;
|
||||
|
||||
private void OnHealthTimerTimeout()
|
||||
{
|
||||
if (VTComponent.CurrentVT.Value > 0)
|
||||
{
|
||||
if (((Accessory)EquipmentComponent.EquippedAccessory.Value).AccessoryTag == AccessoryTag.HalfVTConsumption)
|
||||
_healthTimerActive = !_healthTimerActive;
|
||||
if (VTComponent.CurrentVT.Value > 0)
|
||||
{
|
||||
if (((Accessory)EquipmentComponent.EquippedAccessory.Value).AccessoryTag == AccessoryTag.HalfVTConsumption)
|
||||
_healthTimerActive = !_healthTimerActive;
|
||||
|
||||
HealthComponent.Heal(1);
|
||||
HealthComponent.Heal(1);
|
||||
|
||||
if (_healthTimerActive)
|
||||
VTComponent.Reduce(1);
|
||||
}
|
||||
else
|
||||
HealthComponent.Damage(1);
|
||||
if (_healthTimerActive)
|
||||
VTComponent.Reduce(1);
|
||||
}
|
||||
else
|
||||
HealthComponent.Damage(1);
|
||||
}
|
||||
|
||||
private void Hitbox_AreaEntered(Area3D area)
|
||||
{
|
||||
var target = area.GetOwner();
|
||||
if (target is IEnemy enemy)
|
||||
HitEnemy(enemy);
|
||||
var target = area.GetOwner();
|
||||
if (target is IEnemy enemy)
|
||||
HitEnemy(enemy);
|
||||
}
|
||||
|
||||
private void HitEnemy(IEnemy enemy)
|
||||
{
|
||||
var weapon = EquipmentComponent.EquippedWeapon.Value as Weapon;
|
||||
var isCriticalHit = BattleExtensions.IsCriticalHit(TotalLuck);
|
||||
var totalDamage = TotalAttack;
|
||||
var weapon = EquipmentComponent.EquippedWeapon.Value as Weapon;
|
||||
var isCriticalHit = BattleExtensions.IsCriticalHit(TotalLuck);
|
||||
var totalDamage = TotalAttack;
|
||||
|
||||
if (isCriticalHit)
|
||||
{
|
||||
totalDamage += (int)(totalDamage * 0.5f);
|
||||
SfxDatabase.Instance.Play(SoundEffect.Crit);
|
||||
}
|
||||
if (isCriticalHit)
|
||||
{
|
||||
totalDamage += (int)(totalDamage * 0.5f);
|
||||
SfxDatabase.Instance.Play(SoundEffect.Crit);
|
||||
}
|
||||
|
||||
var baseAttack = new AttackData(totalDamage, weapon.WeaponElement, weapon.WeaponTag == WeaponTag.IgnoreDefense, weapon.WeaponTag == WeaponTag.IgnoreAffinity);
|
||||
var damageDealt = DamageCalculator.CalculateDamage(baseAttack, enemy.DefenseComponent.CurrentDefense.Value, enemy.ElementalResistanceSet);
|
||||
enemy.HealthComponent.Damage(damageDealt);
|
||||
var baseAttack = new AttackData(totalDamage, weapon.WeaponElement, weapon.WeaponTag == WeaponTag.IgnoreDefense, weapon.WeaponTag == WeaponTag.IgnoreAffinity);
|
||||
var damageDealt = DamageCalculator.CalculateDamage(baseAttack, enemy.DefenseComponent.CurrentDefense.Value, enemy.ElementalResistanceSet);
|
||||
enemy.HealthComponent.Damage(damageDealt);
|
||||
|
||||
if (weapon.WeaponTag == WeaponTag.Knockback && enemy is IKnockbackable knockbackable)
|
||||
knockbackable.Knockback(0.3f, -CurrentBasis.Z.Normalized());
|
||||
if (weapon.WeaponTag == WeaponTag.SelfDamage)
|
||||
_playerEffectService.TakeSelfDamage(weapon.Stats.SelfDamage);
|
||||
if (weapon.WeaponTag == WeaponTag.Instakill)
|
||||
_playerEffectService.Instakill(enemy);
|
||||
if (weapon.WeaponTag == WeaponTag.Knockback && enemy is IKnockbackable knockbackable)
|
||||
knockbackable.Knockback(0.3f, -CurrentBasis.Z.Normalized());
|
||||
if (weapon.WeaponTag == WeaponTag.SelfDamage)
|
||||
_playerEffectService.TakeSelfDamage(weapon.Stats.SelfDamage);
|
||||
if (weapon.WeaponTag == WeaponTag.Instakill)
|
||||
_playerEffectService.Instakill(enemy);
|
||||
}
|
||||
|
||||
private void CollisionDetector_AreaEntered(Area3D area)
|
||||
{
|
||||
if (area.GetParent() is InventoryItem inventoryItem)
|
||||
{
|
||||
var isAdded = Inventory.PickUpItem(inventoryItem);
|
||||
if (isAdded)
|
||||
inventoryItem.QueueFree();
|
||||
}
|
||||
if (area.GetParent() is DroppedItem droppedItem)
|
||||
{
|
||||
var isAdded = Inventory.PickUpItem(droppedItem.Item);
|
||||
if (isAdded)
|
||||
droppedItem.QueueFree();
|
||||
}
|
||||
if (area.GetParent() is ThrownItem thrownItem)
|
||||
{
|
||||
var isAdded = Inventory.PickUpItem(thrownItem.ItemThatIsThrown);
|
||||
if (isAdded)
|
||||
thrownItem.QueueFree();
|
||||
}
|
||||
if (area.GetParent() is Restorative restorative)
|
||||
{
|
||||
restorative.QueueFree();
|
||||
}
|
||||
if (area.GetParent() is InventoryItem inventoryItem)
|
||||
{
|
||||
var isAdded = Inventory.PickUpItem(inventoryItem);
|
||||
if (isAdded)
|
||||
inventoryItem.QueueFree();
|
||||
}
|
||||
if (area.GetParent() is DroppedItem droppedItem)
|
||||
{
|
||||
var isAdded = Inventory.PickUpItem(droppedItem.Item);
|
||||
if (isAdded)
|
||||
droppedItem.QueueFree();
|
||||
}
|
||||
if (area.GetParent() is ThrownItem thrownItem)
|
||||
{
|
||||
var isAdded = Inventory.PickUpItem(thrownItem.ItemThatIsThrown);
|
||||
if (isAdded)
|
||||
thrownItem.QueueFree();
|
||||
}
|
||||
if (area.GetParent() is Restorative restorative)
|
||||
{
|
||||
restorative.QueueFree();
|
||||
}
|
||||
}
|
||||
|
||||
private bool PlayerIsHittingGeometry()
|
||||
{
|
||||
var collisions = WallCheck.GetCollidingBodies();
|
||||
return collisions.Count > 0;
|
||||
var collisions = WallCheck.GetCollidingBodies();
|
||||
return collisions.Count > 0;
|
||||
}
|
||||
|
||||
private void WallCheck_BodyEntered(Node body)
|
||||
{
|
||||
GD.Print("Hit wall");
|
||||
AnimationPlayer.Stop();
|
||||
GD.Print("Hit wall");
|
||||
WeaponAnimations.Stop();
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -247,6 +247,7 @@ public partial class InventoryMenu : Control, IInventoryMenu
|
||||
_player.Inventory.Remove(_currentlySelectedItem.Item.Value);
|
||||
HideUserActionPrompt();
|
||||
await ShowInventoryInfo();
|
||||
_gameRepo.CloseInventory();
|
||||
}
|
||||
|
||||
private void DisplayUserActionPrompt(InventoryItem item)
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 19 MiB |
BIN
Zennysoft.Game.Ma/src/vfx/Items Etc/divinity/divinity000.png
Normal file
BIN
Zennysoft.Game.Ma/src/vfx/Items Etc/divinity/divinity000.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 352 B |
@@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://drk8jp22p41f4"
|
||||
path.bptc="res://.godot/imported/divinity000.png-bdb246d997f53a3edb9e686312f570b9.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/vfx/Items Etc/divinity/divinity000.png"
|
||||
dest_files=["res://.godot/imported/divinity000.png-bdb246d997f53a3edb9e686312f570b9.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
Zennysoft.Game.Ma/src/vfx/Items Etc/divinity/divinity001.png
Normal file
BIN
Zennysoft.Game.Ma/src/vfx/Items Etc/divinity/divinity001.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.0 KiB |
@@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://d3yyh62vfg1js"
|
||||
path.bptc="res://.godot/imported/divinity001.png-cd4f5e77e860c95568520afc2683f1ff.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/vfx/Items Etc/divinity/divinity001.png"
|
||||
dest_files=["res://.godot/imported/divinity001.png-cd4f5e77e860c95568520afc2683f1ff.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
Zennysoft.Game.Ma/src/vfx/Items Etc/divinity/divinity002.png
Normal file
BIN
Zennysoft.Game.Ma/src/vfx/Items Etc/divinity/divinity002.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 21 KiB |
@@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://damnqtijkt3jg"
|
||||
path.bptc="res://.godot/imported/divinity002.png-8a3d4d0d9acfe471d7c118120fd220cd.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/vfx/Items Etc/divinity/divinity002.png"
|
||||
dest_files=["res://.godot/imported/divinity002.png-8a3d4d0d9acfe471d7c118120fd220cd.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
Zennysoft.Game.Ma/src/vfx/Items Etc/divinity/divinity003.png
Normal file
BIN
Zennysoft.Game.Ma/src/vfx/Items Etc/divinity/divinity003.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 36 KiB |
@@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://lhnbpq8uyxfj"
|
||||
path.bptc="res://.godot/imported/divinity003.png-7c146758891edb713131b396c5112af5.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/vfx/Items Etc/divinity/divinity003.png"
|
||||
dest_files=["res://.godot/imported/divinity003.png-7c146758891edb713131b396c5112af5.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
BIN
Zennysoft.Game.Ma/src/vfx/Items Etc/divinity/divinity004.png
Normal file
BIN
Zennysoft.Game.Ma/src/vfx/Items Etc/divinity/divinity004.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 50 KiB |
@@ -0,0 +1,35 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://l4ltq67eckdj"
|
||||
path.bptc="res://.godot/imported/divinity004.png-f8f57b9bbd9b08266d947a72751db8e4.bptc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://src/vfx/Items Etc/divinity/divinity004.png"
|
||||
dest_files=["res://.godot/imported/divinity004.png-f8f57b9bbd9b08266d947a72751db8e4.bptc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=true
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user