Item spawning

This commit is contained in:
2024-09-08 14:19:30 -07:00
parent 29a6d1072c
commit a47d1306b9
417 changed files with 17412 additions and 1019 deletions

View File

@@ -2,6 +2,7 @@
using Chickensoft.GodotNodeInterfaces;
using Chickensoft.Introspection;
using Godot;
using System.Linq;
namespace GameJamDungeon
{
@@ -9,11 +10,11 @@ namespace GameJamDungeon
{
public IGameRepo GameRepo { get; }
public void DropItem();
public InventoryItemInfo Info { get; }
}
[Meta(typeof(IAutoNode))]
public abstract partial class InventoryItem : Node3D, IInventoryItem
public partial class InventoryItem : Node3D, IInventoryItem
{
public override void _Notification(int what) => this.Notify(what);
@@ -21,13 +22,8 @@ namespace GameJamDungeon
[Node] public Area3D Pickup { get; set; } = default!;
[Node] public AnimationPlayer AnimationPlayer { get; set; } = default!;
[Node] public Sprite3D Sprite { get; set; } = default!;
internal abstract InventoryItemInfo Info { get; set; }
public void DropItem()
{
AnimationPlayer.Play("drop");
}
public InventoryItemInfo Info { get; set; } = new InventoryItemInfo();
}
}

View File

@@ -9,4 +9,7 @@ public partial class InventoryItemInfo : Resource
[Export(PropertyHint.MultilineText)]
public string Description = string.Empty;
[Export]
public Texture2D Texture { get; set; }
}

View File

@@ -1,12 +1,52 @@
using Godot;
using Godot.Collections;
using System.Collections.Generic;
namespace GameJamDungeon
{
public partial class ItemDatabase : Node
{
[Export]
public PackedScene[] ItemScene;
public PackedScene WeaponScene { get; set; }
[Export]
public float[] DropRate;
public PackedScene ArmorScene { get; set; }
[Export]
public PackedScene AccessoryScene { get; set; }
public List<(IInventoryItem Item, float SpawnRate)> Database { get; private set; }
public void SpawnItems()
{
Database = new List<(IInventoryItem, float SpawnRates)>();
var armorResources = DirAccess.GetFilesAt("res://src/items/armor/resources/");
var weaponResources = DirAccess.GetFilesAt("res://src/items/weapons/resources/");
var accessoryResources = DirAccess.GetFilesAt("res://src/items/accessory/resources/");
foreach (var armor in armorResources)
{
var armorInfo = GD.Load<ArmorInfo>($"res://src/items/armor/resources/{armor}");
var armorScene = ArmorScene.Instantiate<Armor>();
armorScene.ArmorInfo = armorInfo;
Database.Add(new(armorScene, 0.75f));
}
foreach (var weapon in weaponResources)
{
var weaponInfo = GD.Load<WeaponInfo>($"res://src/items/weapons/resources/{weapon}");
var weaponScene = WeaponScene.Instantiate<Weapon>();
weaponScene.WeaponInfo = weaponInfo;
Database.Add(new(weaponScene, 0.75f));
}
foreach (var accessory in accessoryResources)
{
var accessoryInfo = GD.Load<AccessoryInfo>($"res://src/items/accessory/resources/{accessory}");
var accessoryScene = AccessoryScene.Instantiate<Accessory>();
accessoryScene.AccessoryInfo = accessoryInfo;
Database.Add(new(accessoryScene, 0.75f));
}
}
}
}

View File

@@ -1,7 +1,12 @@
[gd_scene load_steps=2 format=3 uid="uid://twrj4wixcbu7"]
[gd_scene load_steps=5 format=3 uid="uid://twrj4wixcbu7"]
[ext_resource type="Script" path="res://src/items/ItemDatabase.cs" id="1_7b315"]
[ext_resource type="PackedScene" uid="uid://db206brufi83s" path="res://src/items/weapons/Weapon.tscn" id="2_14w53"]
[ext_resource type="PackedScene" uid="uid://dorr7v1tkeiy0" path="res://src/items/armor/Armor.tscn" id="3_p6rkn"]
[ext_resource type="PackedScene" uid="uid://b07srt3lckt4e" path="res://src/items/accessory/Accessory.tscn" id="4_oqm6k"]
[node name="ItemDatabase" type="Node"]
script = ExtResource("1_7b315")
ItemScene = Array[PackedScene]([])
WeaponScene = ExtResource("2_14w53")
ArmorScene = ExtResource("3_p6rkn")
AccessoryScene = ExtResource("4_oqm6k")

View File

@@ -2,7 +2,6 @@ using Chickensoft.AutoInject;
using Chickensoft.Introspection;
using GameJamDungeon;
using Godot;
using System;
using System.Linq;
[Meta(typeof(IAutoNode))]
@@ -10,34 +9,24 @@ public partial class Accessory : InventoryItem
{
public override void _Notification(int what) => this.Notify(what);
[Dependency] IGameRepo GameRepo => this.DependOn<IGameRepo>();
public AccessoryInfo AccessoryInfo { get => (AccessoryInfo)Info; }
public new InventoryItemInfo Info => AccessoryInfo;
[Export]
internal override InventoryItemInfo Info { get; set; }
public AccessoryInfo AccessoryInfo { get; set; }
public void OnReady()
{
Sprite.Texture = AccessoryInfo.Texture;
Pickup.BodyEntered += OnEntered;
}
public void OnEntered(Node body)
public void OnEntered(Node3D body)
{
if (GameRepo.InventoryItems.Value.Count() >= GameRepo.MaxItemSize)
{
AnimationPlayer.Play("drop");
return;
}
var inventoryList = GameRepo.InventoryItems.Value.Append(this).ToList();
GameRepo.InventoryItems.OnNext(inventoryList);
QueueFree();
}
}
public enum AccessoryTag
{
HalfVTConsumption,
StatusEffectImmunity
}

View File

@@ -1,9 +1,8 @@
[gd_scene load_steps=7 format=3 uid="uid://dxcn4cvs18ned"]
[gd_scene load_steps=6 format=3 uid="uid://b07srt3lckt4e"]
[ext_resource type="Script" path="res://src/items/accessory/Accessory.cs" id="1_ifbys"]
[ext_resource type="Texture2D" uid="uid://d0yqm7ars827b" path="res://src/items/accessory/accessory.png" id="3_6jkm4"]
[ext_resource type="Script" path="res://src/items/accessory/Accessory.cs" id="1_ikyk2"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_uavx4"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_1ceef"]
radius = 0.470016
[sub_resource type="Animation" id="Animation_w4iur"]
@@ -91,7 +90,7 @@ _data = {
}
[node name="Accessory" type="Node3D"]
script = ExtResource("1_ifbys")
script = ExtResource("1_ikyk2")
[node name="Pickup" type="Area3D" parent="."]
unique_name_in_owner = true
@@ -102,12 +101,12 @@ monitorable = false
[node name="Sprite" type="Sprite3D" parent="Pickup"]
unique_name_in_owner = true
pixel_size = 0.0005
billboard = 2
texture_filter = 0
texture = ExtResource("3_6jkm4")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Pickup"]
shape = SubResource("CapsuleShape3D_uavx4")
shape = SubResource("CapsuleShape3D_1ceef")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
unique_name_in_owner = true

View File

@@ -22,5 +22,11 @@ public partial class AccessoryInfo : InventoryItemInfo
public int MaxVTUp { get; set; }
[Export]
public Godot.Collections.Array<AccessoryTag> AccessoryTags { get; set; }
public Godot.Collections.Array<AccessoryTag> AccessoryTags { get; set; } = new Godot.Collections.Array<AccessoryTag>();
}
public enum AccessoryTag
{
HalfVTConsumption,
StatusEffectImmunity
}

View File

@@ -1,117 +0,0 @@
[gd_scene load_steps=8 format=3 uid="uid://b07srt3lckt4e"]
[ext_resource type="Script" path="res://src/items/accessory/Accessory.cs" id="1_nt2vh"]
[ext_resource type="Resource" uid="uid://cvkwmart5y51r" path="res://src/items/accessory/resources/MaskAvarice.tres" id="2_mqmr0"]
[ext_resource type="Texture2D" uid="uid://d0yqm7ars827b" path="res://src/items/accessory/accessory.png" id="3_3gice"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_1ceef"]
radius = 0.470016
[sub_resource type="Animation" id="Animation_w4iur"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Pickup:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0, 0, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Pickup:monitoring")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Pickup:monitorable")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_gkdye"]
resource_name = "drop"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Pickup:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector3(0, 1, 0), Vector3(-0.752, 0.8, 0), Vector3(-1.50473, 0.09512, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Pickup:monitoring")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [false, true]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Pickup:monitorable")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [false, true]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_s2htf"]
_data = {
"RESET": SubResource("Animation_w4iur"),
"drop": SubResource("Animation_gkdye")
}
[node name="Accessory" type="Node3D"]
script = ExtResource("1_nt2vh")
Info = ExtResource("2_mqmr0")
[node name="Pickup" type="Area3D" parent="."]
unique_name_in_owner = true
collision_layer = 0
collision_mask = 4
monitoring = false
monitorable = false
[node name="Sprite" type="Sprite3D" parent="Pickup"]
billboard = 2
texture_filter = 0
texture = ExtResource("3_3gice")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Pickup"]
shape = SubResource("CapsuleShape3D_1ceef")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
unique_name_in_owner = true
libraries = {
"": SubResource("AnimationLibrary_s2htf")
}

View File

@@ -1,117 +0,0 @@
[gd_scene load_steps=8 format=3 uid="uid://ppc2hk1j3c8q"]
[ext_resource type="Script" path="res://src/items/accessory/Accessory.cs" id="1_2qbgs"]
[ext_resource type="Resource" uid="uid://d4bcem2nup7ef" path="res://src/items/accessory/resources/MaskDestruction.tres" id="2_ox523"]
[ext_resource type="Texture2D" uid="uid://d0yqm7ars827b" path="res://src/items/accessory/accessory.png" id="3_mpoqw"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_7a007"]
radius = 0.470016
[sub_resource type="Animation" id="Animation_w4iur"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Pickup:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0, 0, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Pickup:monitoring")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Pickup:monitorable")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_gkdye"]
resource_name = "drop"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Pickup:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector3(0, 1, 0), Vector3(-0.752, 0.8, 0), Vector3(-1.50473, 0.09512, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Pickup:monitoring")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [false, true]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Pickup:monitorable")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [false, true]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_s2htf"]
_data = {
"RESET": SubResource("Animation_w4iur"),
"drop": SubResource("Animation_gkdye")
}
[node name="Accessory" type="Node3D"]
script = ExtResource("1_2qbgs")
Info = ExtResource("2_ox523")
[node name="Pickup" type="Area3D" parent="."]
unique_name_in_owner = true
collision_layer = 0
collision_mask = 4
monitoring = false
monitorable = false
[node name="Sprite" type="Sprite3D" parent="Pickup"]
billboard = 2
texture_filter = 0
texture = ExtResource("3_mpoqw")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Pickup"]
shape = SubResource("CapsuleShape3D_7a007")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
unique_name_in_owner = true
libraries = {
"": SubResource("AnimationLibrary_s2htf")
}

View File

@@ -1,117 +0,0 @@
[gd_scene load_steps=8 format=3 uid="uid://2fn4u1xs4olr"]
[ext_resource type="Script" path="res://src/items/accessory/Accessory.cs" id="1_5bb7n"]
[ext_resource type="Resource" uid="uid://bejy3lpudgawg" path="res://src/items/accessory/resources/MaskGuilt.tres" id="2_sxbjd"]
[ext_resource type="Texture2D" uid="uid://d0yqm7ars827b" path="res://src/items/accessory/accessory.png" id="3_s14b0"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_c1t1u"]
radius = 0.470016
[sub_resource type="Animation" id="Animation_w4iur"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Pickup:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0, 0, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Pickup:monitoring")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Pickup:monitorable")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_gkdye"]
resource_name = "drop"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Pickup:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector3(0, 1, 0), Vector3(-0.752, 0.8, 0), Vector3(-1.50473, 0.09512, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Pickup:monitoring")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [false, true]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Pickup:monitorable")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [false, true]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_s2htf"]
_data = {
"RESET": SubResource("Animation_w4iur"),
"drop": SubResource("Animation_gkdye")
}
[node name="Accessory" type="Node3D"]
script = ExtResource("1_5bb7n")
Info = ExtResource("2_sxbjd")
[node name="Pickup" type="Area3D" parent="."]
unique_name_in_owner = true
collision_layer = 0
collision_mask = 4
monitoring = false
monitorable = false
[node name="Sprite" type="Sprite3D" parent="Pickup"]
billboard = 2
texture_filter = 0
texture = ExtResource("3_s14b0")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Pickup"]
shape = SubResource("CapsuleShape3D_c1t1u")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
unique_name_in_owner = true
libraries = {
"": SubResource("AnimationLibrary_s2htf")
}

View File

@@ -1,117 +0,0 @@
[gd_scene load_steps=8 format=3 uid="uid://cnbrkvf5a7uui"]
[ext_resource type="Script" path="res://src/items/accessory/Accessory.cs" id="1_xrfro"]
[ext_resource type="Resource" uid="uid://ddwyaxxqvk52h" path="res://src/items/accessory/resources/MaskObstinance.tres" id="2_7yen7"]
[ext_resource type="Texture2D" uid="uid://d0yqm7ars827b" path="res://src/items/accessory/accessory.png" id="3_872p4"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_3eyaw"]
radius = 0.470016
[sub_resource type="Animation" id="Animation_w4iur"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Pickup:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0, 0, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Pickup:monitoring")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Pickup:monitorable")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_gkdye"]
resource_name = "drop"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Pickup:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector3(0, 1, 0), Vector3(-0.752, 0.8, 0), Vector3(-1.50473, 0.09512, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Pickup:monitoring")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [false, true]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Pickup:monitorable")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [false, true]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_s2htf"]
_data = {
"RESET": SubResource("Animation_w4iur"),
"drop": SubResource("Animation_gkdye")
}
[node name="Accessory" type="Node3D"]
script = ExtResource("1_xrfro")
Info = ExtResource("2_7yen7")
[node name="Pickup" type="Area3D" parent="."]
unique_name_in_owner = true
collision_layer = 0
collision_mask = 4
monitoring = false
monitorable = false
[node name="Sprite" type="Sprite3D" parent="Pickup"]
billboard = 2
texture_filter = 0
texture = ExtResource("3_872p4")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Pickup"]
shape = SubResource("CapsuleShape3D_3eyaw")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
unique_name_in_owner = true
libraries = {
"": SubResource("AnimationLibrary_s2htf")
}

View File

@@ -1,117 +0,0 @@
[gd_scene load_steps=8 format=3 uid="uid://dkovupyyshhqf"]
[ext_resource type="Script" path="res://src/items/accessory/Accessory.cs" id="1_4kwcj"]
[ext_resource type="Resource" uid="uid://c3v6r8s8yruag" path="res://src/items/accessory/resources/MaskShunned.tres" id="2_w1o11"]
[ext_resource type="Texture2D" uid="uid://d0yqm7ars827b" path="res://src/items/accessory/accessory.png" id="3_yp2bu"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_p17h2"]
radius = 0.470016
[sub_resource type="Animation" id="Animation_w4iur"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Pickup:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0, 0, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Pickup:monitoring")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Pickup:monitorable")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_gkdye"]
resource_name = "drop"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Pickup:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector3(0, 1, 0), Vector3(-0.752, 0.8, 0), Vector3(-1.50473, 0.09512, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Pickup:monitoring")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [false, true]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Pickup:monitorable")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [false, true]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_s2htf"]
_data = {
"RESET": SubResource("Animation_w4iur"),
"drop": SubResource("Animation_gkdye")
}
[node name="Accessory" type="Node3D"]
script = ExtResource("1_4kwcj")
Info = ExtResource("2_w1o11")
[node name="Pickup" type="Area3D" parent="."]
unique_name_in_owner = true
collision_layer = 0
collision_mask = 4
monitoring = false
monitorable = false
[node name="Sprite" type="Sprite3D" parent="Pickup"]
billboard = 2
texture_filter = 0
texture = ExtResource("3_yp2bu")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Pickup"]
shape = SubResource("CapsuleShape3D_p17h2")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
unique_name_in_owner = true
libraries = {
"": SubResource("AnimationLibrary_s2htf")
}

View File

@@ -1,117 +0,0 @@
[gd_scene load_steps=8 format=3 uid="uid://61sfg1w2v2ik"]
[ext_resource type="Script" path="res://src/items/accessory/Accessory.cs" id="1_xsflr"]
[ext_resource type="Resource" uid="uid://ct8iply3dwssv" path="res://src/items/accessory/resources/MaskSloth.tres" id="2_0vfxq"]
[ext_resource type="Texture2D" uid="uid://d0yqm7ars827b" path="res://src/items/accessory/accessory.png" id="3_xie0c"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_sdah2"]
radius = 0.470016
[sub_resource type="Animation" id="Animation_w4iur"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Pickup:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0, 0, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Pickup:monitoring")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Pickup:monitorable")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_gkdye"]
resource_name = "drop"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Pickup:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector3(0, 1, 0), Vector3(-0.752, 0.8, 0), Vector3(-1.50473, 0.09512, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Pickup:monitoring")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [false, true]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Pickup:monitorable")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [false, true]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_s2htf"]
_data = {
"RESET": SubResource("Animation_w4iur"),
"drop": SubResource("Animation_gkdye")
}
[node name="Accessory" type="Node3D"]
script = ExtResource("1_xsflr")
Info = ExtResource("2_0vfxq")
[node name="Pickup" type="Area3D" parent="."]
unique_name_in_owner = true
collision_layer = 0
collision_mask = 4
monitoring = false
monitorable = false
[node name="Sprite" type="Sprite3D" parent="Pickup"]
billboard = 2
texture_filter = 0
texture = ExtResource("3_xie0c")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Pickup"]
shape = SubResource("CapsuleShape3D_sdah2")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
unique_name_in_owner = true
libraries = {
"": SubResource("AnimationLibrary_s2htf")
}

View File

@@ -1,117 +0,0 @@
[gd_scene load_steps=8 format=3 uid="uid://rv7ix62scqf3"]
[ext_resource type="Script" path="res://src/items/accessory/Accessory.cs" id="1_vo33u"]
[ext_resource type="Resource" uid="uid://d02kuxaus43mk" path="res://src/items/accessory/resources/MaskSuffering.tres" id="2_v4jvr"]
[ext_resource type="Texture2D" uid="uid://d0yqm7ars827b" path="res://src/items/accessory/accessory.png" id="3_e24rs"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_vm186"]
radius = 0.470016
[sub_resource type="Animation" id="Animation_w4iur"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Pickup:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0, 0, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Pickup:monitoring")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Pickup:monitorable")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_gkdye"]
resource_name = "drop"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Pickup:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Vector3(0, 1, 0), Vector3(-0.752, 0.8, 0), Vector3(-1.50473, 0.09512, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Pickup:monitoring")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [false, true]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Pickup:monitorable")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [false, true]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_s2htf"]
_data = {
"RESET": SubResource("Animation_w4iur"),
"drop": SubResource("Animation_gkdye")
}
[node name="Accessory" type="Node3D"]
script = ExtResource("1_vo33u")
Info = ExtResource("2_v4jvr")
[node name="Pickup" type="Area3D" parent="."]
unique_name_in_owner = true
collision_layer = 0
collision_mask = 4
monitoring = false
monitorable = false
[node name="Sprite" type="Sprite3D" parent="Pickup"]
billboard = 2
texture_filter = 0
texture = ExtResource("3_e24rs")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Pickup"]
shape = SubResource("CapsuleShape3D_vm186")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
unique_name_in_owner = true
libraries = {
"": SubResource("AnimationLibrary_s2htf")
}

View File

@@ -1,14 +1,16 @@
[gd_resource type="Resource" script_class="AccessoryInfo" load_steps=2 format=3 uid="uid://cvkwmart5y51r"]
[gd_resource type="Resource" script_class="AccessoryInfo" load_steps=3 format=3 uid="uid://cvkwmart5y51r"]
[ext_resource type="Texture2D" uid="uid://db7i7iy5gagae" path="res://src/items/accessory/textures/MASK 02.PNG" id="1_578a0"]
[ext_resource type="Script" path="res://src/items/accessory/AccessoryInfo.cs" id="1_sjkji"]
[resource]
script = ExtResource("1_sjkji")
ATKUp = 0
DEFUp = 0
LUCKUp = 0.15
LUCKUp = 0.0
MaxHPUp = 0
MaxVTUp = 0
AccessoryTags = null
Name = "Mask of the Goddess of Avarice"
Description = "Raises LUCK"
AccessoryTags = Array[int]([])
Name = ""
Description = ""
Texture = ExtResource("1_578a0")

View File

@@ -1,5 +1,6 @@
[gd_resource type="Resource" script_class="AccessoryInfo" load_steps=2 format=3 uid="uid://d4bcem2nup7ef"]
[gd_resource type="Resource" script_class="AccessoryInfo" load_steps=3 format=3 uid="uid://d4bcem2nup7ef"]
[ext_resource type="Texture2D" uid="uid://db7i7iy5gagae" path="res://src/items/accessory/textures/MASK 02.PNG" id="1_0p1ot"]
[ext_resource type="Script" path="res://src/items/accessory/AccessoryInfo.cs" id="1_vef66"]
[resource]
@@ -9,6 +10,7 @@ DEFUp = 0
LUCKUp = 0.0
MaxHPUp = 0
MaxVTUp = 0
AccessoryTags = null
AccessoryTags = Array[int]([0])
Name = "Mask of the Goddess of Destruction"
Description = "Raises ATK."
Texture = ExtResource("1_0p1ot")

View File

@@ -1,5 +1,6 @@
[gd_resource type="Resource" script_class="AccessoryInfo" load_steps=2 format=3 uid="uid://bejy3lpudgawg"]
[gd_resource type="Resource" script_class="AccessoryInfo" load_steps=3 format=3 uid="uid://bejy3lpudgawg"]
[ext_resource type="Texture2D" uid="uid://db7i7iy5gagae" path="res://src/items/accessory/textures/MASK 02.PNG" id="1_0k42r"]
[ext_resource type="Script" path="res://src/items/accessory/AccessoryInfo.cs" id="1_cgxkh"]
[resource]
@@ -9,6 +10,7 @@ DEFUp = 1
LUCKUp = 0.0
MaxHPUp = 30
MaxVTUp = 30
AccessoryTags = null
AccessoryTags = Array[int]([])
Name = "Mask of the Goddess of Guilt"
Description = "Raises MAX HP, MAX VT, ATK, DEF"
Texture = ExtResource("1_0k42r")

View File

@@ -1,5 +1,6 @@
[gd_resource type="Resource" script_class="AccessoryInfo" load_steps=2 format=3 uid="uid://ddwyaxxqvk52h"]
[gd_resource type="Resource" script_class="AccessoryInfo" load_steps=3 format=3 uid="uid://ddwyaxxqvk52h"]
[ext_resource type="Texture2D" uid="uid://db7i7iy5gagae" path="res://src/items/accessory/textures/MASK 02.PNG" id="1_1uw37"]
[ext_resource type="Script" path="res://src/items/accessory/AccessoryInfo.cs" id="1_kuyyj"]
[resource]
@@ -9,6 +10,7 @@ DEFUp = 3
LUCKUp = 0.0
MaxHPUp = 0
MaxVTUp = 0
AccessoryTags = null
AccessoryTags = Array[int]([])
Name = "Mask of the Goddess of Obstinance"
Description = "Raises DEF."
Texture = ExtResource("1_1uw37")

View File

@@ -1,6 +1,7 @@
[gd_resource type="Resource" script_class="AccessoryInfo" load_steps=2 format=3 uid="uid://c3v6r8s8yruag"]
[gd_resource type="Resource" script_class="AccessoryInfo" load_steps=3 format=3 uid="uid://c3v6r8s8yruag"]
[ext_resource type="Script" path="res://src/items/accessory/AccessoryInfo.cs" id="1_co7sc"]
[ext_resource type="Texture2D" uid="uid://db7i7iy5gagae" path="res://src/items/accessory/textures/MASK 02.PNG" id="1_uwbei"]
[resource]
script = ExtResource("1_co7sc")
@@ -12,3 +13,4 @@ MaxVTUp = 0
AccessoryTags = Array[int]([1])
Name = "Mask of the Shunned Goddess"
Description = "Status Effect Immunity"
Texture = ExtResource("1_uwbei")

View File

@@ -1,5 +1,6 @@
[gd_resource type="Resource" script_class="AccessoryInfo" load_steps=2 format=3 uid="uid://ct8iply3dwssv"]
[gd_resource type="Resource" script_class="AccessoryInfo" load_steps=3 format=3 uid="uid://ct8iply3dwssv"]
[ext_resource type="Texture2D" uid="uid://db7i7iy5gagae" path="res://src/items/accessory/textures/MASK 02.PNG" id="1_t16cd"]
[ext_resource type="Script" path="res://src/items/accessory/AccessoryInfo.cs" id="1_vdb56"]
[resource]
@@ -12,3 +13,4 @@ MaxVTUp = 0
AccessoryTags = Array[int]([0])
Name = "Mask of the Goddess of Sloth"
Description = "Halves VT Depletion Rate"
Texture = ExtResource("1_t16cd")

View File

@@ -1,6 +1,7 @@
[gd_resource type="Resource" script_class="AccessoryInfo" load_steps=2 format=3 uid="uid://d02kuxaus43mk"]
[gd_resource type="Resource" script_class="AccessoryInfo" load_steps=3 format=3 uid="uid://d02kuxaus43mk"]
[ext_resource type="Script" path="res://src/items/accessory/AccessoryInfo.cs" id="1_3iw2y"]
[ext_resource type="Texture2D" uid="uid://db7i7iy5gagae" path="res://src/items/accessory/textures/MASK 02.PNG" id="1_vc77e"]
[resource]
script = ExtResource("1_3iw2y")
@@ -9,6 +10,7 @@ DEFUp = 0
LUCKUp = 0.0
MaxHPUp = 0
MaxVTUp = 50
AccessoryTags = null
AccessoryTags = Array[int]([])
Name = "Mask of the Goddess of Suffering"
Description = "Raises MAX VT"
Texture = ExtResource("1_vc77e")

View File

@@ -1,6 +1,7 @@
[gd_resource type="Resource" script_class="AccessoryInfo" load_steps=2 format=3 uid="uid://b0bxwp55mcyyp"]
[gd_resource type="Resource" script_class="AccessoryInfo" load_steps=3 format=3 uid="uid://b0bxwp55mcyyp"]
[ext_resource type="Script" path="res://src/items/accessory/AccessoryInfo.cs" id="1_0u4rq"]
[ext_resource type="Texture2D" uid="uid://db7i7iy5gagae" path="res://src/items/accessory/textures/MASK 02.PNG" id="1_ggv41"]
[resource]
script = ExtResource("1_0u4rq")
@@ -9,6 +10,7 @@ DEFUp = 0
LUCKUp = 0.0
MaxHPUp = 50
MaxVTUp = 0
AccessoryTags = null
AccessoryTags = Array[int]([])
Name = "Mask of the Goddess of Zeal"
Description = "Raises MAX HP"
Texture = ExtResource("1_ggv41")

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://0r1dws4ajhdx"
path="res://.godot/imported/MASK 01.PNG-f5c8e97a66b237dfc19d02a72a3ef47a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/items/accessory/textures/MASK 01.PNG"
dest_files=["res://.godot/imported/MASK 01.PNG-f5c8e97a66b237dfc19d02a72a3ef47a.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=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=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://db7i7iy5gagae"
path.s3tc="res://.godot/imported/MASK 02.PNG-cc3b7cf23538b5c82ae62fe29757d8a4.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/accessory/textures/MASK 02.PNG"
dest_files=["res://.godot/imported/MASK 02.PNG-cc3b7cf23538b5c82ae62fe29757d8a4.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://hjyk3j24o48b"
path="res://.godot/imported/MASK 03.PNG-9ab390330efa1f35084ad56075377b4d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/items/accessory/textures/MASK 03.PNG"
dest_files=["res://.godot/imported/MASK 03.PNG-9ab390330efa1f35084ad56075377b4d.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=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=1

View File

@@ -9,23 +9,21 @@ public partial class Armor : InventoryItem
{
public override void _Notification(int what) => this.Notify(what);
[Export]
internal override InventoryItemInfo Info { get; set; }
public new InventoryItemInfo Info => ArmorInfo;
public ArmorInfo ArmorInfo { get => (ArmorInfo)Info; }
[Export]
public ArmorInfo ArmorInfo { get; set; }
public void OnReady()
{
Sprite.Texture = ArmorInfo.Texture;
Pickup.BodyEntered += OnEntered;
}
public void OnEntered(Node body)
public void OnEntered(Node3D body)
{
if (GameRepo.InventoryItems.Value.Count() >= GameRepo.MaxItemSize)
{
AnimationPlayer.Play("drop");
return;
}
var inventoryList = GameRepo.InventoryItems.Value.Append(this).ToList();
GameRepo.InventoryItems.OnNext(inventoryList);

View File

@@ -1,7 +1,6 @@
[gd_scene load_steps=7 format=3 uid="uid://dorr7v1tkeiy0"]
[gd_scene load_steps=6 format=3 uid="uid://dorr7v1tkeiy0"]
[ext_resource type="Script" path="res://src/items/armor/Armor.cs" id="1_cmjpq"]
[ext_resource type="Texture2D" uid="uid://cgoubcl86pib4" path="res://src/items/armor/armor.png" id="1_vpnem"]
[sub_resource type="BoxShape3D" id="BoxShape3D_qdeu2"]
size = Vector3(0.778381, 0.929947, 0.731567)
@@ -102,10 +101,12 @@ monitorable = false
[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
billboard = 2
double_sided = false
alpha_cut = 1
texture_filter = 0
texture = ExtResource("1_vpnem")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Pickup"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0600509, 0.26725, 0.180481)

View File

@@ -1,5 +1,6 @@
[gd_resource type="Resource" script_class="ArmorInfo" load_steps=2 format=3 uid="uid://de7shd7ebo5hj"]
[gd_resource type="Resource" script_class="ArmorInfo" load_steps=3 format=3 uid="uid://b8mjje06x6dl1"]
[ext_resource type="Texture2D" uid="uid://dbb3x4cbo8jc1" path="res://src/items/armor/textures/ACCEPTANCE.PNG" id="1_p85jd"]
[ext_resource type="Script" path="res://src/items/armor/ArmorInfo.cs" id="1_si4wu"]
[resource]
@@ -10,5 +11,6 @@ AeolicResistance = 0.0
HydricResistance = 0.0
IgneousResistance = 0.0
FerrumResistance = 0.0
Texture = ExtResource("1_p85jd")
Name = "Acceptance"
Description = ""

View File

@@ -1,6 +1,7 @@
[gd_resource type="Resource" script_class="ArmorInfo" load_steps=2 format=3 uid="uid://cg05wwvusg15n"]
[gd_resource type="Resource" script_class="ArmorInfo" load_steps=3 format=3 uid="uid://ce2vfa2t3io67"]
[ext_resource type="Script" path="res://src/items/armor/ArmorInfo.cs" id="1_6r2bl"]
[ext_resource type="Texture2D" uid="uid://ckcn67d64mgke" path="res://src/items/armor/textures/atoners adornment.PNG" id="1_588l8"]
[resource]
script = ExtResource("1_6r2bl")
@@ -10,5 +11,6 @@ AeolicResistance = 0.0
HydricResistance = 0.0
IgneousResistance = 0.0
FerrumResistance = 0.0
Name = ""
Texture = ExtResource("1_588l8")
Name = "Atoner's Adornments"
Description = ""

View File

@@ -1,6 +1,7 @@
[gd_resource type="Resource" script_class="ArmorInfo" load_steps=2 format=3 uid="uid://os5eocdxoqsl"]
[gd_resource type="Resource" script_class="ArmorInfo" load_steps=3 format=3 uid="uid://dnu241lh47oqd"]
[ext_resource type="Script" path="res://src/items/armor/ArmorInfo.cs" id="1_0qtvf"]
[ext_resource type="Texture2D" uid="uid://vvhbibkslh57" path="res://src/items/armor/textures/CEREMONIAL.PNG" id="1_s4gpg"]
[resource]
script = ExtResource("1_0qtvf")
@@ -10,5 +11,6 @@ AeolicResistance = 0.0
HydricResistance = 0.0
IgneousResistance = 0.0
FerrumResistance = 0.0
Name = "CeremonialVestments"
Texture = ExtResource("1_s4gpg")
Name = "Ceremonial Vestments"
Description = ""

View File

@@ -1,5 +1,6 @@
[gd_resource type="Resource" script_class="ArmorInfo" load_steps=2 format=3 uid="uid://ds05efyoax4ba"]
[gd_resource type="Resource" script_class="ArmorInfo" load_steps=3 format=3 uid="uid://4s7wjsb7eb6e"]
[ext_resource type="Texture2D" uid="uid://381ddynsa3gc" path="res://src/items/armor/textures/DEVIC.PNG" id="1_5ik54"]
[ext_resource type="Script" path="res://src/items/armor/ArmorInfo.cs" id="1_w3lql"]
[resource]
@@ -10,5 +11,6 @@ AeolicResistance = 0.0
HydricResistance = 0.0
IgneousResistance = 0.0
FerrumResistance = 0.0
Texture = ExtResource("1_5ik54")
Name = "Devic Layers"
Description = ""

View File

@@ -1,6 +1,7 @@
[gd_resource type="Resource" script_class="ArmorInfo" load_steps=2 format=3 uid="uid://60sj20c5upyt"]
[gd_resource type="Resource" script_class="ArmorInfo" load_steps=3 format=3 uid="uid://dc0qjer88chme"]
[ext_resource type="Script" path="res://src/items/armor/ArmorInfo.cs" id="1_3mc7x"]
[ext_resource type="Texture2D" uid="uid://c57kuugsc2lti" path="res://src/items/armor/textures/GODDESS.PNG" id="1_5vleh"]
[resource]
script = ExtResource("1_3mc7x")
@@ -10,5 +11,6 @@ AeolicResistance = 0.0
HydricResistance = 0.0
IgneousResistance = 0.0
FerrumResistance = 0.0
Texture = ExtResource("1_5vleh")
Name = "Goddess' Robe"
Description = ""

View File

@@ -1,6 +1,7 @@
[gd_resource type="Resource" script_class="ArmorInfo" load_steps=2 format=3 uid="uid://dchx174tic46q"]
[gd_resource type="Resource" script_class="ArmorInfo" load_steps=3 format=3 uid="uid://ceqnyutl7y7t4"]
[ext_resource type="Script" path="res://src/items/armor/ArmorInfo.cs" id="1_iqj2w"]
[ext_resource type="Texture2D" uid="uid://cj5m8qkpqrcx4" path="res://src/items/armor/textures/IRON.PNG" id="1_jyoar"]
[resource]
script = ExtResource("1_iqj2w")
@@ -10,5 +11,6 @@ AeolicResistance = 0.0
HydricResistance = 0.0
IgneousResistance = 0.0
FerrumResistance = 0.0
Texture = ExtResource("1_jyoar")
Name = "Iron Cage"
Description = ""

View File

@@ -1,6 +1,7 @@
[gd_resource type="Resource" script_class="ArmorInfo" load_steps=2 format=3 uid="uid://qyl2wboerc6u"]
[gd_resource type="Resource" script_class="ArmorInfo" load_steps=3 format=3 uid="uid://chhxktntl4k8r"]
[ext_resource type="Script" path="res://src/items/armor/ArmorInfo.cs" id="1_frqfh"]
[ext_resource type="Texture2D" uid="uid://2qvbtq2obsac" path="res://src/items/armor/textures/LOGISTIAN.PNG" id="1_kh3n2"]
[resource]
script = ExtResource("1_frqfh")
@@ -10,5 +11,6 @@ AeolicResistance = 0.0
HydricResistance = 0.0
IgneousResistance = 0.0
FerrumResistance = 0.0
Texture = ExtResource("1_kh3n2")
Name = "Logistician's Garb"
Description = ""

View File

@@ -1,8 +0,0 @@
[gd_resource type="Resource" script_class="InventoryItemInfo" load_steps=2 format=3 uid="uid://chjmkb3aiomvr"]
[ext_resource type="Script" path="res://src/items/InventoryItemInfo.cs" id="1_qywua"]
[resource]
script = ExtResource("1_qywua")
Name = "Pathetic"
Description = "A pathetic coat."

View File

@@ -1,6 +1,7 @@
[gd_resource type="Resource" script_class="ArmorInfo" load_steps=2 format=3 uid="uid://chkgu301dfynx"]
[gd_resource type="Resource" script_class="ArmorInfo" load_steps=3 format=3 uid="uid://d3l8aa87tevgt"]
[ext_resource type="Script" path="res://src/items/armor/ArmorInfo.cs" id="1_dh6tr"]
[ext_resource type="Texture2D" uid="uid://ddtscpfj6nf6i" path="res://src/items/armor/textures/STOIC.PNG" id="1_xpphu"]
[resource]
script = ExtResource("1_dh6tr")
@@ -10,5 +11,6 @@ AeolicResistance = 0.0
HydricResistance = 0.0
IgneousResistance = 0.0
FerrumResistance = 0.0
Texture = ExtResource("1_xpphu")
Name = "Stoic"
Description = ""

View File

@@ -1,6 +1,7 @@
[gd_resource type="Resource" script_class="ArmorInfo" load_steps=2 format=3 uid="uid://clt1xyuqvs3ve"]
[gd_resource type="Resource" script_class="ArmorInfo" load_steps=3 format=3 uid="uid://dq4c6an78qa4q"]
[ext_resource type="Script" path="res://src/items/armor/ArmorInfo.cs" id="1_bkpin"]
[ext_resource type="Texture2D" uid="uid://dghvd33w32q63" path="res://src/items/armor/textures/WOODEN.PNG" id="1_vs6ua"]
[resource]
script = ExtResource("1_bkpin")
@@ -10,5 +11,6 @@ AeolicResistance = 0.0
HydricResistance = 0.0
IgneousResistance = 0.0
FerrumResistance = 0.0
Texture = ExtResource("1_vs6ua")
Name = "Wooden Armament"
Description = ""

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dbb3x4cbo8jc1"
path.s3tc="res://.godot/imported/ACCEPTANCE.PNG-4338a74eeefcd28a49daf08be189f282.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/armor/textures/ACCEPTANCE.PNG"
dest_files=["res://.godot/imported/ACCEPTANCE.PNG-4338a74eeefcd28a49daf08be189f282.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://sj4emgdbsfuh"
path="res://.godot/imported/BESTIAL.PNG-4eafe934f47bb3f0f787a2d1d49c68b9.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/items/armor/textures/BESTIAL.PNG"
dest_files=["res://.godot/imported/BESTIAL.PNG-4eafe934f47bb3f0f787a2d1d49c68b9.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=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=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://vvhbibkslh57"
path.s3tc="res://.godot/imported/CEREMONIAL.PNG-3af8f8ea317ae9459734d590fc5bba1f.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/armor/textures/CEREMONIAL.PNG"
dest_files=["res://.godot/imported/CEREMONIAL.PNG-3af8f8ea317ae9459734d590fc5bba1f.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://381ddynsa3gc"
path.s3tc="res://.godot/imported/DEVIC.PNG-4a3c0930337a49b79e8063f9fb5e59b2.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/armor/textures/DEVIC.PNG"
dest_files=["res://.godot/imported/DEVIC.PNG-4a3c0930337a49b79e8063f9fb5e59b2.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c57kuugsc2lti"
path.s3tc="res://.godot/imported/GODDESS.PNG-ad649cca57bcd75dac56bb57a736a249.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/armor/textures/GODDESS.PNG"
dest_files=["res://.godot/imported/GODDESS.PNG-ad649cca57bcd75dac56bb57a736a249.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cj5m8qkpqrcx4"
path.s3tc="res://.godot/imported/IRON.PNG-4a86ab5bb7ecd0d578d701afc239625c.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/armor/textures/IRON.PNG"
dest_files=["res://.godot/imported/IRON.PNG-4a86ab5bb7ecd0d578d701afc239625c.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://2qvbtq2obsac"
path.s3tc="res://.godot/imported/LOGISTIAN.PNG-c44c4e4c939e5c5e7ff37e80921ca2bc.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/armor/textures/LOGISTIAN.PNG"
dest_files=["res://.godot/imported/LOGISTIAN.PNG-c44c4e4c939e5c5e7ff37e80921ca2bc.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ddtscpfj6nf6i"
path.s3tc="res://.godot/imported/STOIC.PNG-254d4b663f4366c683c07d8a74c29fb5.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/armor/textures/STOIC.PNG"
dest_files=["res://.godot/imported/STOIC.PNG-254d4b663f4366c683c07d8a74c29fb5.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dghvd33w32q63"
path.s3tc="res://.godot/imported/WOODEN.PNG-0766d4e4d870e479d67baff5f5602910.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/armor/textures/WOODEN.PNG"
dest_files=["res://.godot/imported/WOODEN.PNG-0766d4e4d870e479d67baff5f5602910.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ckcn67d64mgke"
path.s3tc="res://.godot/imported/atoners adornment.PNG-29f74b368fc414ed7d2bce6b0ab68e5d.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/armor/textures/atoners adornment.PNG"
dest_files=["res://.godot/imported/atoners adornment.PNG-29f74b368fc414ed7d2bce6b0ab68e5d.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

View File

@@ -9,23 +9,19 @@ public partial class Weapon : InventoryItem
{
public Weapon()
{
Info = new WeaponInfo() { Damage = 1 };
WeaponInfo = new WeaponInfo() { Damage = 1, WeaponTags = new Godot.Collections.Array<WeaponTag>(), Texture = new Texture2D() };
}
public override void _Notification(int what) => this.Notify(what);
public new InventoryItemInfo Info => WeaponInfo;
[Export]
internal override InventoryItemInfo Info { get; set; }
[Node]
public RigidBody3D Rigid { get; set; } = default!;
public WeaponInfo WeaponInfo { get => (WeaponInfo)Info; }
private Vector3 _targetPosition = Vector3.Zero;
public WeaponInfo WeaponInfo { get; set; }
public void OnReady()
{
Sprite.Texture = WeaponInfo.Texture;
Pickup.BodyEntered += OnEntered;
}

View File

@@ -1,7 +1,6 @@
[gd_scene load_steps=7 format=3 uid="uid://cgwtjleqvgubc"]
[gd_scene load_steps=6 format=3 uid="uid://db206brufi83s"]
[ext_resource type="Script" path="res://src/items/weapons/Weapon.cs" id="1_7pkyf"]
[ext_resource type="Texture2D" uid="uid://wd6jh5q51e4k" path="res://src/items/weapons/models/sword.png" id="2_bwl3y"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_wll7p"]
radius = 0.470016
@@ -90,7 +89,7 @@ _data = {
"drop": SubResource("Animation_gkdye")
}
[node name="SealingRod" type="Node3D"]
[node name="Weapon" type="Node3D"]
script = ExtResource("1_7pkyf")
[node name="Pickup" type="Area3D" parent="."]
@@ -108,7 +107,6 @@ alpha_cut = 1
alpha_scissor_threshold = 0.511
alpha_antialiasing_mode = 1
texture_filter = 0
texture = ExtResource("2_bwl3y")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Pickup"]
shape = SubResource("CapsuleShape3D_wll7p")

View File

@@ -4,8 +4,14 @@ using Godot;
[GlobalClass]
public partial class WeaponInfo : InventoryItemInfo
{
public WeaponInfo()
{
Damage = 1;
WeaponTags = new Godot.Collections.Array<WeaponTag>();
}
[Export]
public required int Damage { get; set; }
public int Damage { get; set; }
[Export]
public double Luck { get; set; } = 0.05;
@@ -29,5 +35,5 @@ public partial class WeaponInfo : InventoryItemInfo
public double FerrumDamageBonus { get; set; }
[Export]
public Godot.Collections.Array<WeaponTag> WeaponTags { get; set; }
public Godot.Collections.Array<WeaponTag> WeaponTags { get; set; } = new Godot.Collections.Array<WeaponTag>();
}

View File

@@ -1,15 +1,30 @@
[gd_scene load_steps=10 format=3 uid="uid://c10nhqq8su6pp"]
[gd_scene load_steps=9 format=3 uid="uid://c10nhqq8su6pp"]
[ext_resource type="Script" path="res://src/items/weapons/Weapon.cs" id="1_f8v7v"]
[ext_resource type="Resource" uid="uid://b4oxsf4k3nr43" path="res://src/items/weapons/resources/RareSword.tres" id="2_6nmyd"]
[ext_resource type="Texture2D" uid="uid://wd6jh5q51e4k" path="res://src/items/weapons/models/sword.png" id="3_meaac"]
[ext_resource type="Script" path="res://src/items/weapons/WeaponInfo.cs" id="3_o6dnw"]
[sub_resource type="Resource" id="Resource_s6hhf"]
script = ExtResource("3_o6dnw")
Damage = 7
Luck = 0.05
AttackSpeed = 1.0
TelluricDamageBonus = 0.0
AeolicDamageBonus = 0.0
BaseHydricDamageBonus = 0.0
IgneousDamageBonus = 0.0
FerrumDamageBonus = 0.0
WeaponTags = []
Name = ""
Description = ""
Texture = ExtResource("3_meaac")
[sub_resource type="Animation" id="Animation_w4iur"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Rigid/Pickup:position")
tracks/0/path = NodePath("Pickup:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
@@ -25,7 +40,7 @@ length = 0.75
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Rigid/Pickup:position")
tracks/0/path = NodePath("Pickup:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
@@ -41,19 +56,12 @@ _data = {
"drop": SubResource("Animation_gkdye")
}
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_n11ob"]
rough = true
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_uhvnd"]
radius = 0.4
height = 1.4
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_4ic28"]
radius = 0.470016
[node name="RareSword" type="Node3D"]
script = ExtResource("1_f8v7v")
Info = ExtResource("2_6nmyd")
WeaponInfo = SubResource("Resource_s6hhf")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
unique_name_in_owner = true
@@ -61,23 +69,12 @@ libraries = {
"": SubResource("AnimationLibrary_s2htf")
}
[node name="Rigid" type="RigidBody3D" parent="."]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -4)
mass = 50.0
physics_material_override = SubResource("PhysicsMaterial_n11ob")
sleeping = true
lock_rotation = true
[node name="CollisionShape3D" type="CollisionShape3D" parent="Rigid"]
shape = SubResource("CapsuleShape3D_uhvnd")
[node name="Pickup" type="Area3D" parent="Rigid"]
[node name="Pickup" type="Area3D" parent="."]
unique_name_in_owner = true
collision_layer = 4
collision_mask = 4
[node name="Sprite" type="Sprite3D" parent="Rigid/Pickup"]
[node name="Sprite" type="Sprite3D" parent="Pickup"]
unique_name_in_owner = true
billboard = 2
double_sided = false
@@ -87,5 +84,5 @@ alpha_antialiasing_mode = 1
texture_filter = 0
texture = ExtResource("3_meaac")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Rigid/Pickup"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="Pickup"]
shape = SubResource("CapsuleShape3D_4ic28")

View File

@@ -1,10 +1,11 @@
[gd_resource type="Resource" script_class="WeaponInfo" load_steps=2 format=3 uid="uid://lnrykoy5ngpe"]
[gd_resource type="Resource" script_class="WeaponInfo" load_steps=3 format=3 uid="uid://c1bg0o7nmu2xw"]
[ext_resource type="Texture2D" uid="uid://wd6jh5q51e4k" path="res://src/items/weapons/models/sword.png" id="1_4hugd"]
[ext_resource type="Script" path="res://src/items/weapons/WeaponInfo.cs" id="1_re512"]
[resource]
script = ExtResource("1_re512")
Damage = 5
Damage = 0
Luck = 0.05
AttackSpeed = 1.0
TelluricDamageBonus = 0.0
@@ -14,4 +15,5 @@ IgneousDamageBonus = 0.0
FerrumDamageBonus = 0.0
WeaponTags = Array[int]([])
Name = "Jiblett"
Description = "A halberd for the tasteful."
Description = ""
Texture = ExtResource("1_4hugd")

View File

@@ -1,10 +1,11 @@
[gd_resource type="Resource" script_class="WeaponInfo" load_steps=2 format=3 uid="uid://cbnfxh66h4kix"]
[gd_resource type="Resource" script_class="WeaponInfo" load_steps=3 format=3 uid="uid://db075qhmlmrcu"]
[ext_resource type="Texture2D" uid="uid://wd6jh5q51e4k" path="res://src/items/weapons/models/sword.png" id="1_35u6c"]
[ext_resource type="Script" path="res://src/items/weapons/WeaponInfo.cs" id="1_kbje7"]
[resource]
script = ExtResource("1_kbje7")
Damage = 11
Damage = 0
Luck = 0.05
AttackSpeed = 1.0
TelluricDamageBonus = 0.0
@@ -12,6 +13,7 @@ AeolicDamageBonus = 0.0
BaseHydricDamageBonus = 0.0
IgneousDamageBonus = 0.0
FerrumDamageBonus = 0.0
WeaponTags = Array[int]([1])
WeaponTags = Array[int]([])
Name = "Kubel"
Description = "A very powerful spear. For every hit, you lose 5 HP."
Description = ""
Texture = ExtResource("1_35u6c")

View File

@@ -1,5 +1,6 @@
[gd_resource type="Resource" script_class="WeaponInfo" load_steps=2 format=3 uid="uid://bpqq1skryv1cp"]
[gd_resource type="Resource" script_class="WeaponInfo" load_steps=3 format=3 uid="uid://cfr100khjkloh"]
[ext_resource type="Texture2D" uid="uid://wd6jh5q51e4k" path="res://src/items/weapons/models/sword.png" id="1_rcmir"]
[ext_resource type="Script" path="res://src/items/weapons/WeaponInfo.cs" id="1_vroib"]
[resource]
@@ -15,3 +16,4 @@ FerrumDamageBonus = 0.0
WeaponTags = Array[int]([])
Name = "Love Judgement"
Description = "A mace only wieldable by the strong of heart."
Texture = ExtResource("1_rcmir")

View File

@@ -1,5 +1,6 @@
[gd_resource type="Resource" script_class="WeaponInfo" load_steps=2 format=3 uid="uid://gkxm3nwxbc3b"]
[gd_resource type="Resource" script_class="WeaponInfo" load_steps=3 format=3 uid="uid://ckj1m4iv4m02r"]
[ext_resource type="Texture2D" uid="uid://wd6jh5q51e4k" path="res://src/items/weapons/models/sword.png" id="1_ccrtk"]
[ext_resource type="Script" path="res://src/items/weapons/WeaponInfo.cs" id="1_pwwg7"]
[resource]
@@ -15,3 +16,4 @@ FerrumDamageBonus = 0.0
WeaponTags = Array[int]([3])
Name = "Palm of Heaven"
Description = "Very Powerful. Breaks upon leaving the floor."
Texture = ExtResource("1_ccrtk")

View File

@@ -1,12 +1,13 @@
[gd_resource type="Resource" script_class="WeaponInfo" load_steps=2 format=3 uid="uid://b4oxsf4k3nr43"]
[gd_resource type="Resource" script_class="WeaponInfo" load_steps=3 format=3 uid="uid://b4oxsf4k3nr43"]
[ext_resource type="Script" path="res://src/items/weapons/WeaponInfo.cs" id="1_oqgv2"]
[ext_resource type="Texture2D" uid="uid://wd6jh5q51e4k" path="res://src/items/weapons/models/sword.png" id="1_rlq8c"]
[resource]
script = ExtResource("1_oqgv2")
Damage = 7
Luck = 0.85
AttackSpeed = 1.5
Luck = 0.05
AttackSpeed = 1.0
TelluricDamageBonus = 0.0
AeolicDamageBonus = 0.0
BaseHydricDamageBonus = 0.0
@@ -15,3 +16,4 @@ FerrumDamageBonus = 0.0
WeaponTags = Array[int]([])
Name = "Rare sword"
Description = "Rare"
Texture = ExtResource("1_rlq8c")

View File

@@ -1,5 +1,6 @@
[gd_resource type="Resource" script_class="WeaponInfo" load_steps=2 format=3 uid="uid://nxt3updvfbke"]
[gd_resource type="Resource" script_class="WeaponInfo" load_steps=3 format=3 uid="uid://gebgo2x6nr3t"]
[ext_resource type="Texture2D" uid="uid://wd6jh5q51e4k" path="res://src/items/weapons/models/sword.png" id="1_3aw6j"]
[ext_resource type="Script" path="res://src/items/weapons/WeaponInfo.cs" id="1_xfb0x"]
[resource]
@@ -15,3 +16,4 @@ FerrumDamageBonus = 0.0
WeaponTags = Array[int]([1])
Name = "Rondo"
Description = "An eastern blade outside of time and reproach."
Texture = ExtResource("1_3aw6j")

View File

@@ -1,5 +1,6 @@
[gd_resource type="Resource" script_class="WeaponInfo" load_steps=2 format=3 uid="uid://cgbbc4mavlwn1"]
[gd_resource type="Resource" script_class="WeaponInfo" load_steps=3 format=3 uid="uid://b7xr0l4a8g1gk"]
[ext_resource type="Texture2D" uid="uid://wd6jh5q51e4k" path="res://src/items/weapons/models/sword.png" id="1_8htja"]
[ext_resource type="Script" path="res://src/items/weapons/WeaponInfo.cs" id="1_40b5j"]
[resource]
@@ -13,6 +14,7 @@ BaseHydricDamageBonus = 0.0
IgneousDamageBonus = 0.0
FerrumDamageBonus = 0.0
WeaponTags = Array[int]([])
Texture = ExtResource("1_8htja")
Name = "Sealing Rod"
Description = "A wand fitted with charms said to cleanse and purify that which belongs to other worlds.

View File

@@ -1,6 +1,7 @@
[gd_resource type="Resource" script_class="WeaponInfo" load_steps=2 format=3 uid="uid://cbc3o11perlvm"]
[gd_resource type="Resource" script_class="WeaponInfo" load_steps=3 format=3 uid="uid://bpdbuf0k0exb5"]
[ext_resource type="Script" path="res://src/items/weapons/WeaponInfo.cs" id="1_cik6n"]
[ext_resource type="Texture2D" uid="uid://wd6jh5q51e4k" path="res://src/items/weapons/models/sword.png" id="1_qxt4y"]
[resource]
script = ExtResource("1_cik6n")
@@ -17,3 +18,4 @@ Name = "Swan Sword Odette"
Description = "Ignores Affinity.
The blade of a thousand faced heroine."
Texture = ExtResource("1_qxt4y")