Classic Enemies And Items¶
Classic enemy and item reskinning uses the same Character Editor workflow as playable characters, but the target folders live under Entity Replacements/Classic for the original enemy or item name.
File Location¶
Editor/<Pack Name>/Entity Replacements/Classic/<Enemy Or Item Name>/
Examples:
Entity Replacements/
Classic/
Galsia/
Donovan/
Knife/
Bin/
Enemy Replacements¶
Enemy replacements should preserve the entity type expected by their original slot:
BasicEnemyfor simple common enemies where applicableEnemyfor full AI enemies and bosses
When changing enemy art, test:
- walking and pathing
- attack startup and active frames
- being hit
- knockdown and recovery
- death animation
- spawn introductions
- boss-specific behavior
Enemy AI often relies on behaviour modes, timers, and enemy-specific counters. If you change animation IDs or behaviour modes, use the Behaviour Modes reference.
Item Replacements¶
Items include weapons, containers, scenery, pickups, projectiles, and special objects. Item mode values differ from player and enemy mode values: item mode 0x02 selects the first item controller, so item mode values are offset from the controller index.
Test item replacements by spawning or reaching the original object in game:
- pickup and throw behavior for weapons
- break behavior for containers
- collision behavior for obstacles
- animation and lifetime for projectiles
- reward behavior for food, money, or 1UP items
Shared Sounds And Dependencies¶
If an enemy or item uses custom sounds, add them to Sounds/ and make sure the entity references the correct pack and sound names. For spawned entities or projectiles, add entity dependencies when required so the packer and runtime can resolve the reference.
When To Use Lua¶
Use Lua when an enemy or item needs behavior beyond frame events:
- choosing a target
- switching attacks based on distance
- spawning projectiles conditionally
- reacting to the current player
- changing health, damage, or movement state dynamically
See Scripting Examples.