Revamp item spawn behavior

This commit is contained in:
2026-06-12 18:09:52 -07:00
parent 403b136c5c
commit 8575cd6ddf
154 changed files with 4769 additions and 352 deletions
@@ -1,5 +1,6 @@
using Godot;
using Zennysoft.Game.Abstractions;
using Zennysoft.Ma.Adapter;
public interface IBaseInventoryItem
@@ -7,10 +8,15 @@ public interface IBaseInventoryItem
public string ItemName { get; }
public string StatDescription { get; }
public string FlavorText { get; }
public float SpawnRate { get; }
public int ThrowDamage { get; }
public float ThrowSpeed { get; }
public ItemTag ItemTag { get; }
public abstract Texture2D GetTexture();
public float SpawnRate { get; }
public RarityTag RarityTag { get; }
public IFloorSpawnTable SpawnsOn { get; }
}
@@ -0,0 +1,33 @@
namespace Zennysoft.Ma.Adapter;
public enum FloorType
{
Overworld,
Altar,
Floor01,
Floor02,
Floor03,
Floor04,
Floor05,
Floor06,
Floor07,
Floor09,
Floor10,
Floor11,
Floor12,
Floor13,
Floor14,
Floor15,
BossFloorA,
BossFloorB,
GoddessOfGuidance,
TrueGoddessOfGuidance,
Cellular,
Grassland,
Platform,
River,
Server,
FinalFloor,
BadEnd,
HeartOfAllThings
}
@@ -0,0 +1,12 @@
using Godot.Collections;
namespace Zennysoft.Ma.Adapter;
public enum RarityTag
{
Common, // 50%
Uncommon, // 35%
Rare, // 14%
Legendary, // 1%
NotSpawnable
}