Refactor stats

This commit is contained in:
2025-10-22 16:24:07 -07:00
parent 6ec45c4805
commit f0c4e65783
77 changed files with 565 additions and 372 deletions

View File

@@ -0,0 +1,11 @@
using Chickensoft.Introspection;
using Chickensoft.Serialization;
namespace Zennysoft.Ma.Adapter;
[Meta, Id("equipable_item")]
public abstract partial class EquipableItem : InventoryItem
{
[Save("equipable_item_is_equipped")]
public bool IsEquipped { get; set; }
}

View File

@@ -0,0 +1,26 @@
using Chickensoft.Introspection;
using Chickensoft.Serialization;
using Godot;
namespace Zennysoft.Ma.Adapter;
[Meta, Id("inventory_item")]
public abstract partial class InventoryItem : Node3D
{
[Save("inventory_item_id")]
public Guid ID => Guid.NewGuid();
[Save("inventory_item_name")]
public abstract string ItemName { get; }
[Save("inventory_item_description")]
public abstract string Description { get; }
[Save("inventory_item_spawn_rate")]
public abstract float SpawnRate { get; }
[Save("inventory_item_throw_damage")]
public abstract int ThrowDamage { get; }
[Save("inventory_item_throw_speed")]
public abstract float ThrowSpeed { get; }
[Save("inventory_item_tag")]
public abstract ItemTag ItemTag { get; }
public abstract Texture2D GetTexture();
}

View File

@@ -0,0 +1,8 @@
namespace Zennysoft.Ma.Adapter;
public enum AccessoryTag
{
None,
HalfVTConsumption,
StatusEffectImmunity
}

View File

@@ -0,0 +1,6 @@
namespace Zennysoft.Ma.Adapter;
public enum BoxItemTag
{
RandomNewItem,
}

View File

@@ -0,0 +1,8 @@
namespace Zennysoft.Ma.Adapter;
public enum ItemTag
{
None,
BreaksOnChange,
MysteryItem
}

View File

@@ -0,0 +1,11 @@
namespace Zennysoft.Ma.Adapter;
public enum ThrowableItemTag
{
None,
DoubleExp,
LowerTargetTo1HP,
CanChangeAffinity,
TeleportToRandomLocation,
WarpToExitIfFound
}

View File

@@ -0,0 +1,19 @@
namespace Zennysoft.Ma.Adapter;
public enum UsableItemTag
{
None,
IdentifyAllItemsCostHP,
BriefImmunity,
SwapHPAndVT,
TeleportAllEnemiesToRoom,
TurnAllEnemiesIntoHealingItem,
KillHalfEnemiesInRoom,
AbsorbHPFromAllEnemiesInRoom,
HealsAllInRoomToMaxHP,
DealElementalDamageToAllEnemiesInRoom,
RaiseCurrentWeaponAttack,
RaiseCurrentDefenseArmor,
RaiseLevel,
RandomEffect,
}

View File

@@ -0,0 +1,9 @@
namespace Zennysoft.Ma.Adapter;
public enum WeaponTag
{
None,
SelfDamage,
IgnoreAffinity,
Knockback,
}