ZoriaRPG
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.
Defences
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
-=SPOILER=-
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
-=SPOILER=-
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:
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.
Defences
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
-=SPOILER=-
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
-=SPOILER=-
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: