Plan for more flexible stats

Jump to: navigation, search

These are the stats which currently exist

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