Archived on 2026-10-24. The Godot rewrite is cancelled. Migration decisions and work checklists below are withdrawn. Original claims, code examples, file paths, and completion statements have not all been revalidated. Use the current documentation and issue register for maintenance decisions.
Unity Character And Weapon Catalog¶
Purpose¶
Catalog each production character asset, its starting weapon/ability references, base stats, character-specific ability logic, and weapon evolution hooks.
Current migration decision: Soldier / Alex is the first balance-reference character for the Godot rebuild. If another character underperforms Soldier / Alex, that character likely needs a buff; if it outperforms Soldier / Alex, it likely needs a nerf. Use Soldier / Alex first when validating exact Unity numbers, player creation, weapon behavior, ability runtime, and Stage 1 balance.
Production Character Assets¶
All production character assets found in this pass live in Assets/Resources/Character.
| Character | Asset | ID | Name / Class | Starting Weapon | Default Ability | Base Stats |
|---|---|---|---|---|---|---|
| Archer | Assets/Resources/Character/Archer.asset |
ARCHER |
Shara / Moonlit Archer | Prefab ref guid 893e614f2924fb84a835bb4d7dce794c |
Ability ref guid 5faa1e12db28e1d4fb98f9b03ab66865; behavior maps to LusterBurst / ArtemisBurst paths |
HP 80, STM 80, regen 1, dash cost 20, CDMG 50, CCH 5, MS 3.1, dash speed 8, dash duration 0.5, SAMP 30, damage taken 100, range 11 |
| Celestial | Assets/Resources/Character/Celestial.asset |
CELESTIAL |
Wu Ran / Celestial Cultivator | Prefab ref guid 62ee7cf3bc350f54c90d031b305a17e9 |
Ability ref guid 3e87df174bf0d4d488e48f7bd57664df; behavior maps to SkyYingSword / HeavenYangSword paths |
HP 110, STM 120, regen 1, dash cost 20, CDMG 50, CCH 5, MS 2.9, dash speed 7, dash duration 0.65, SAMP 50, damage taken 80, range 10 |
| Knight | Assets/Resources/Character/Knight.asset |
KNIGHT |
Zane / Ironclad Knight | Prefab ref guid c2696b0d075171442875c2751fdd7b50 |
Ability ref guid a50a3a22ad4f58a4b831df2814cfaf42; behavior maps to ProtoBarrier / NeoSword paths |
HP 150, STM 100, regen 2, dash cost 20, CDMG 50, CCH 1, MS 2.6, dash speed 4, dash duration 0.6, SAMP 10, damage taken 75, range 3 |
| Miner | Assets/Resources/Character/Miner.asset |
MINER |
Theo / Combat Miner | Prefab ref guid bb511ef61485dfe49abc203b22a37bed |
Ability ref guid 47ee50598ccf58545ac57d41b0d84eab; behavior maps to GroundBreaker / LuckyFind paths |
HP 125, STM 150, regen 2, dash cost 20, CDMG 100, CCH 10, MS 2.9, dash speed 6, dash duration 0.5, SAMP 10, damage taken 85, range 2.5 |
| Priestess | Assets/Resources/Character/Priestess.asset |
PRIESTESS |
Tiamra / Tidefallen Priestess | Prefab ref guid f9aa235001c621d4cb99acf0be9e02e5 |
Ability ref guid 8b6157a334a1f5441823078abd20ebe7; behavior maps to AbyssOrb / TidalVeil paths |
HP 100, STM 100, regen 0.7, dash cost 20, CDMG 25, CCH 1, MS 2.9, dash speed 5, dash duration 0.5, SAMP 25, damage taken 90, range 3 |
| Soldier | Assets/Resources/Character/Soldier.asset |
SOLDIER |
Alex / Mercenary Soldier | Prefab ref guid 52b0d040dc8b2bf478cadb6aea14369c |
Ability ref guid 9db9a838493ecca429eacc1008a8aa56; behavior maps to Frenzy |
HP 100, STM 100, regen 1, dash cost 20, CDMG 50, CCH 1, MS 2.8, dash speed 5, dash duration 0.5, SAMP 10, damage taken 100, range 12 |
| StarWanderer | Assets/Resources/Character/StarWanderer.asset |
STARWANDERER |
Zenova / Star Wanderer | Prefab ref guid d6c88e0d5297a4b4fb4af4642ecb5017 |
Ability ref guid aba2410dc1ceaa8428aba9a4a048c8ca; behavior maps to StarBurst / RocketBarrage paths |
HP 125, STM 80, regen 1, dash cost 15, CDMG 50, CCH 5, MS 2.8, dash speed 5, dash duration 0.5, SAMP 20, damage taken 100, range 12 |
Character-Specific Ability Logic¶
| Character | Current Logic Owners | Runtime Flow | Related Prefabs / Fields | Special Cases |
|---|---|---|---|---|
| Soldier | AbilityHolder.FrenzyActivator, Frenzy, Dash; PlayerWeapon reload/ammo checks |
Frenzy auto-activates on cooldown. While frenzy is active, Soldier has special dash/reload behavior. | soldierFrenzyEffect, dashAudio |
Duration scales from max stamina. |
| Knight | AbilityHolder.ProtoBarrierActivator, ProtoBarrier, ProtoSword, NeoSword; Player.TakeDamage; PlayerWeapon.FireWeapon |
Barrier uses stamina and reload-derived cooldown, protects/reflects through Player.TakeDamage, and weapon fire can trigger sword variants. |
knightProtoBarrier, knightProtoBarrierExplosion, knightSuperSlash |
Reload speed upgrades are heavily reduced while ProtoBarrier is present. |
| Archer | AbilityHolder.LusterBurstActivator, LusterBurst, ArtemisBurst; PlayerWeapon.FireWeapon |
Weapon fire can trigger burst projectile changes. Artemis spawns arrow carriers around the player on cooldown. | archerArtemisArrow |
Multishoot and ammo affect spawned burst count/damage paths. |
| Miner | AbilityHolder.GroundBreakerCooldown, GroundBreakerCrit, GroundBreaker, LuckyFind; PlayerWeapon.FireWeapon |
Weapon fire decrements assured crit count. GroundBreaker swaps projectile/damage behavior. LuckyFind can spawn gems. | minerGem |
Critical damage/chance and reload speed are central to behavior. |
| StarWanderer | PlayerWeapon.CheckReadyFireWeapon, AttackModify; AbilityHolder.StarWandererMissileActivator, RocketBarrage |
StarBurst modifies projectile/charge behavior. RocketBarrage fires homing missiles when targets exist. | zenovaStarBurstChargeIndicatorEffect, zenovaMissileCarrier |
Target list emptiness blocks RocketBarrage. |
| Celestial | AbilityHolder.PlayerSettingsAbilityFirstTime, CelestialYangSwordActivator, CelestialYangSword; PlayerWeapon; PlayerAttack; companions |
Sky/Ying weapon mode affects firing and hit behavior. Heaven/Yang sword spawns rotator swords until count target is reached. | celestialYinSword, celestialYinSwordLightning, celestialYinSoaringSword, celestialYangSword, celestialYangSwordRotator |
Ability names use SkyYingSword and HeavenYangSword; spelling should be preserved for audit. |
| Priestess | AbilityHolder.PlayerSettingsAbilityFirstTime, TidalVeilStack, TidalVeilDeactive; PlayerWeapon; PlayerAttack; Player.TakeDamage |
AbyssOrb is a weapon/companion mode. TidalVeil gains stacks on dash and breaks/deactivates through damage handling. | priestessAbyssOrb, priestessTidalVeilObject |
TidalVeil can set water projectile behavior and shield stacks. |
Weapon Evolution Hooks¶
| System | Current Unity Implementation |
|---|---|
| Data owner | Assets/Script/Game/GameSystem/Upgrades/WeaponEvoData.cs contains EvoCharacter lists and UnityEvents keyed by character id and weapon level index. |
| Trigger | UpgradeFunction.SelectUpgrade case WEAPONLEVELUP loops up to upgrade.value, caps final weapon level at 10, then finds the matching EvoCharacter by selected character id. |
| Invocation | For each new final weapon level, it invokes the UnityEvent at modifier.finalWeaponLevel index and passes player, upgrade.value, and upgrade.ability. |
| Character evolution assets | Assets/Resources/SpecialUpgrade/CharWeaponEvo contains Evo_HeavenYangSword, Evo_ArtemisBurst, Evo_LuckyFind, Evo_MechArm, Evo_NeoSword, Evo_TidalVeil, Evo_StarBurst. |
| Risk | The actual weapon-level behavior is editor-wired UnityEvents plus methods in large player/ability scripts. The event wiring is not visible from script alone. Unknown / needs manual confirmation. |
Known Special Cases¶
- Celestial and Priestess assets have
forceUnlocked: 1; other production assets useunlocked: 0andavailable: 1. Stage_3.assethascharToUnlockset to a character asset reference, but the target character name was not resolved in this pass. Unknown / needs manual confirmation.WEAPONLEVELUPcan invoke a character evolution method even though the upgrade asset may also carry an ability reference.MechanicalArmappears as a character ability asset withtype: 0; its behavior is likely in weapon evolution data. Unknown / needs manual confirmation.
Open Questions¶
- Which character ability asset GUID maps to which named ability in every case? Asset name resolution should be confirmed in Unity editor.
- Are Celestial and Priestess force-unlocked for testing or intended production?
- Which UnityEvent methods are wired for every entry in
WeaponEvoData? - Unknown / needs manual confirmation.