View Full Version : Enemy Editor Plans (To-Do)

07-01-2017, 09:33 PM
DarkDragon inquired as to my plans for the enemy editor, so I'm posting this thread exists both as an announcement to everyone, and as a self-reminder for planned improvements tot he enemy editor.

This is in parallel with the items and weapons editor improvements.

As always, green means implemented, bold green means implemented and working properly, blue means work-in-progress, and red means abandoned.

Enemy Sizing
Add the ability to set the size and hit/draw offsets for npcs.
Add an override flag that is mandatory to make the values entered apply to the npc. The values are still retained, but the npc is only drawn to this size of the flags are set true.

Death Effects
Correct the death sprite so that it either swcales based on the enemy size, or so that it is drawn from a number of tiles equal to the enemy size, rather than drawing one tile per tilespace of the npc.
Add a deathsprite variable, to set the sprite on a per-npc basis.
Add additional death effect types, and animations.

Weapon Settings
Add the ability to edit the sprite of enemy weapons.
Add the ability to change the size, and other offsets for enemy weapons, including hitwidth, higheight, draw and hit offsets.
Add a method to scale the sprite of enemy weapons.
If we add a set of movement patterns to all weapons, then we could give npcs a weapon pattern set based on these, in addition to the extant patterns. In fact, we could also port over the eweapon patterns to lweapons.

Enemy Flags
Add true invisibility, with a field for an item to cancel it. Perhaps an item class, or specific level, too? i can see a 'reveal by; flag, and three fields for specific item, item class, and minimum level.
Add reveal by fields for cloaked enemies.

New Enemy Variables
Frozen CSet, and Frozen Sprite. These are for the defence status edefFROZEN/edefFREEZE, such as the ice rod would accomplish. Adding the ability for Link to life and throw frozen enemies could follow, if we add this in general.
CreatedBy: A variable that allows a script to report if the enemy was created by the screen, or a script. if by a script, it could report the script ID or other metadata.
Link: The npc is linked to another npc on the screen. This may not be viable, as enemy indices on the screen change, but it would be interesting to Link npcs to other npcs, and for example, have them mirror movement.

Additional defence types: all script weapons, electricity, sonic, and others for all lweapons, including unimplemented (planned) lweapon types.
New defence outcomes, such as double damage, triple damage, quadruple damage, heal npc, trigger secrets, 'shock Link', freeze, explode, and others.

Defence Type List

Note that it is now possible to set Link;s items to generate weapons that use types such as reflected rock.

Planned Enemy Defence Outcomes

Note: I completely rewrote the enemy defend routines, and they now evaluate weapons based on the weapon pointer. This has the benefit of better overall handling, and the ability to read the weaon's parentitem information, to determine the level of the item that created it.

Death Types
Add new death types, explode, explode (large ), explode (harmless), explode (large, harmless), fireball, fireball large, fireball (harmless), fireball (large, harmless), and a damage variable for these.

It should not be too terribly difficult to port these over to npc scripts, once we have those working.

Feel free to make suggestions, or to provide feedback. I surely expect Tamamo to tell me that this is all impossible, despite already implementing some of it. :kawaii:

07-01-2017, 10:44 PM
It's perfectly possible, not that I appreciate the teasing.

07-02-2017, 01:44 AM
It's perfectly possible, not that I appreciate the teasing.

Sorry, I thought we were on friendly-enough terms that I could give you a little jab now and then, as you do to me. I didn't mean it to be spiteful, or anything serious. You did say, that the last few things that I had discussed were impossible, and I managed to do them all the same. ::shrug::

07-02-2017, 09:37 AM
Yeah, you're pretty much know what your doing now. I may be stubbon but i'm not oblivious.
When I say something is impossible, it clearly means it's only impossible for me.

Also, have you tried looking at the unimplemented enemies to see what can be done with them.
As far as I'm concerned. We can just swap out NPC_WALKING and NPC_STANDING. But it would be nice to see about adding the others, since sprites for those do exist in the classic tileset, and other tilesets as well.