Improvements to save and loading

Improvements to Chinthe animation logic
Fix broken Godot Tool system and just use a more manual approach to setting map nodes
Remove ItemDatabase from individual room scenes
This commit is contained in:
2025-10-24 01:33:18 -07:00
parent f5360adbf1
commit 286c221530
93 changed files with 497 additions and 678 deletions

View File

@@ -30,6 +30,7 @@ public partial class Accessory : EquipableItem
public override ElementalResistanceSet ElementalResistance => new ElementalResistanceSet(Stats.AeolicResistance, Stats.HydricResistance, Stats.IgneousResistance, Stats.FerrumResistance, Stats.TelluricResistance);
[Save("accessory_tag")]
public AccessoryTag AccessoryTag => Stats.AccessoryTag;
public override ItemTag ItemTag => Stats.ItemTag;

View File

@@ -31,6 +31,7 @@ public partial class Armor : EquipableItem
public override int BonusDefense => Stats.BonusDefense + _bonusDefense;
[Save("bonus_defense")]
private int _bonusDefense { get; set; } = 0;
public override ElementalResistanceSet ElementalResistance => new ElementalResistanceSet(Stats.AeolicResistance, Stats.HydricResistance, Stats.IgneousResistance, Stats.FerrumResistance, Stats.TelluricResistance);

View File

@@ -28,12 +28,13 @@ public partial class ConsumableItem : InventoryItem
public override float ThrowSpeed => Stats.ThrowSpeed;
[Save("consumable_heal_hp")]
public int HealHPAmount => Stats.HealHPAmount;
[Save("consumable_heal_vt")]
public int HealVTAmount => Stats.HealVTAmount;
[Save("consumable_increase_hp")]
public int RaiseHPAmount => Stats.PermanentRaiseHPAmount;
[Save("consumable_increase_vt")]
public int RaiseVTAmount => Stats.PermanentRaiseVTAmount;
public override ItemTag ItemTag => Stats.ItemTag;

View File

@@ -28,6 +28,7 @@ public partial class EffectItem : InventoryItem
public override float ThrowSpeed => Stats.ThrowSpeed;
[Save("usable_tag")]
public UsableItemTag UsableItemTag => Stats.UsableItemTag;
public override ItemTag ItemTag => Stats.ItemTag;

View File

@@ -29,12 +29,13 @@ public partial class ThrowableItem : InventoryItem, IStackable
public override float ThrowSpeed => Stats.ThrowSpeed;
[Save("throwable_item_element")]
public ElementType ElementType => Stats.ElementType;
[Save("throwable_item_tag")]
public ThrowableItemTag ThrowableItemTag => Stats.ThrowableItemTag;
[Save("throwable_item_heal_hp")]
public int HealHPAmount => Stats.HealHPAmount;
[Save("throwable_item_heal_vt")]
public int HealVTAmount => Stats.HealVTAmount;
public override ItemTag ItemTag => Stats.ItemTag;

View File

@@ -29,23 +29,23 @@ public partial class Weapon : EquipableItem
public override float ThrowSpeed => Stats.ThrowSpeed;
public double Luck => Stats.BonusLuck;
[Save("weapon_attack_speed")]
public double AttackSpeed => Stats.AttackSpeed;
[Save("weapon_tag")]
public WeaponTag WeaponTag => Stats.WeaponTag;
public override ItemTag ItemTag => Stats.ItemTag;
[Save("weapon_element")]
public ElementType WeaponElement => Stats.WeaponElement;
public override ElementalResistanceSet ElementalResistance => new ElementalResistanceSet(Stats.AeolicResistance, Stats.HydricResistance, Stats.IgneousResistance, Stats.FerrumResistance, Stats.TelluricResistance);
public void IncreaseWeaponAttack(int bonus) => _extraDamage += bonus;
public void IncreaseWeaponAttack(int bonus) => _bonusDamage += bonus;
public override int BonusAttack { get => Stats.BonusAttack + _extraDamage; }
public override int BonusAttack { get => Stats.BonusAttack + _bonusDamage; }
private int _extraDamage = 0;
[Save("weapon_bonus_damage")]
private int _bonusDamage { get; set; } = 0;
[Export]
[Save("weapon_stats")]