Plan for more flexible stats
From OHRRPGCE-Wiki
These are the stats which currently exist
HP MP strength aim defense dodge magic will speed counter focus extra hits
Each of these (except counter) has pre-defined purposes, And all of them can be used as custom stats for various purposes on an attack-by-attack basis
Some other special stats exist only in battle.
poison register regen register stun register mute register
All stats have a concept of current/maximum values. For HP and MP, curative items or inns are required to reset them. All other stats are reset to their maximums before/after battle. Changes to other stats only persist for the length of a single battle.
The Plan[edit]
- Define a data file to store stat definitions: stats.reld
- Move stat names from STT to stat definitions
- Move stat caps from GEN to stat definitions
- Store properties such as:
- Is stat restored after battle?
- Is stat restored before battle?
- Is stat restored in Inns?
- Is stat zeroed after battle?
- Is stat zeroed before battle?
- Is stat zeroed in Inns?
- Is stat displayed on status screen?
- Do you die if you run out of it?
- Prefer to display as a number or as a meter or as a percent
- Populate the stat definition file with defaults suitable for all the current stats,
- Update all relevant code that uses stats
- This could actually be done one-stat-at-a-time for a lower-impact transition and easier testing of the changes (although the overall work might be a little more)
- Update status screen to enable hideable stats
- Also implement scrolling on the status screen for when the stats list is too long to fit
- Update death checking (both inside battle and out)
- This is a great time to clean up all old code that is still using stat arrays to use stat types instead.
- Update the attack editor to refer to the stat definition file to determine which stats are available as target stats, base stats, etc.
- Allow the user to add additional stats
Possible future features[edit]
- More customizability of how stats are used.
- Example, other stats besides MP should be available as a "cost"
- make battle speed formula customizable Example: redefine extra hits as a speed multiplier rather than an attack multiplier
- Define a stat on heroes or enemies that increases with damage, for Limit or rage type attacks
- Life points, deducted each time the hero dies, like Romancing SaGa series
- Promote LMP 1-8 to first-class stats, make spell-slot-cost customizable (independent of the attack located in that slot)
- Promote affliction registers to first class stats which can (optionally) persist outside of battle.
- Example: Authors could check poison register in an each-step script for dragon-warrior-style poison.
- Change hero's frame (or whole picture set?) based on the value of a stat. This is similar to what already happens with the "weak" frame when HP gets low. This could be used (for example) to indicate when a players "limit" or "rage" stat had reached max.
See Also[edit]
- bug 629 -- Custom status effects