Plan for stat buffs
Right now, there are three main ways to implement stat changes.
- Equipment bonuses
- Attacks that target a stat
I propose to create a concept of a Buff. A buff would be a collection of relative changes to stats, one for each stat. The buff could be named. Buffs could be used as a unified method for specifying stat changes. "buffing" would a apply a buff to a hero's stats or an enemy's stats. "debuffing" would remove a previous buff. You could also "nerf" and "de-nerf" but those wouldn't really be separate concepts, they would just be buffs where the stat changes happen to be mostly negative.
- Create a buff editor. It would allow you to assign a relative change for each stat, and also a name.
- The buff editor should be accessible as a sub-editor, similarly to how the tag name editor and 16-color palette browsers currently work.
- besides additive and subtractive bonuses, there could also be bonuses that multiply or divide a stat, either from the base stat, or after all additive buffs have already been applied.
- Create a buff-tracking system for heroes and enemies. The buff tracker would just need to be able to track which buffs had already been applied so that they could be de-buffed later, and so that they would not inadvertently be double-buffed. It would also be important to track the order in which buffs are applied, so that if buffs are removed in a different order they do not result in any net change to the base stats.
- Automatically convert the stat bonuses from all existing equipment into buffs, named for the equipment they came from. Stat bonuses will be completely replaced, but full backwards compatibility will be maintained. The buff editor should be directly accessible from the equipment editor for creating buffs for new weapons and armor.
- Attacks will gain the ability to buff or debuff the target. This will not replace attack target stats, it will be a new parallel feature.
- A plotscripting interface will be added to buff and debuff heroes outside of battle. This will not replace existing hero stat manipulation. It will be a separate feature.
- Buffs can be used in the Plan for battle formation improvements to allow certain formation slots to have bonuses or disadvantages
- It should also be possible to configure certain buffs to automatically remove themselves.
- Buffs applied in battle should have an (optional) time duration.
- Buffs applied in battle should have an (optional) turn duration (this would save the author from having to attach a debuffing chain to every single attack to implement turn-limited buffs.)
- Does it make any sense to allow equipment buffs to be limited in the above ways? I am not sure...
- Plan for more flexible stats (should probably be done before this)