Difference between revisions of "User:AVS/Bonus system"

From VCMI Project Wiki
Jump to: navigation, search
(Bonus type handler)
 
(3 intermediate revisions by the same user not shown)
Line 12: Line 12:
  
 
* (?) what to do with concrete selectors, limiters, propagators?
 
* (?) what to do with concrete selectors, limiters, propagators?
 +
 +
== Bonus type handler ==
 +
 +
[[User:AVS/Bonus type format]]
 +
 +
* {{done}} convert bonusnames.json to new config
 +
* {{done}} implement macro substitution for name|description (will be reusable)
 +
** format ${XXX}
 +
* {{done}} implement Bonus type handler itself
 +
* {{done}} integrate to codebase
 +
* (*) {{todo}} implement "id-like class" for bonus type
 +
** {{todo}} refactor for new bonus type identifacation.
 +
* (**) {{todo}} initial bonus configuration for mods.
 +
 +
== Leveled bonuses ==
 +
 +
* Generalization of handling growing arts, creature exp, hero speciality.
 +
** Each bearer has Level attribute (impl: virtual getter)
 +
** Bonus may have configuration for levels.
 +
* (!) control leveling of propagated and inherited bonuses
 +
** avoid it for the first time
 +
** (*) make it configurable

Latest revision as of 01:55, 9 March 2014

-> Bonus system is core part of mechanics and it`s interface should be independent of particular components.

  • -> extract common interface
    • Bonus (w/o BonusType, new bonus types can be added in future by mods, all hardcoded types should be used only internally by gamehandler)
      • (*) abstract interface for Bonus.
    • BonusList
    • IBonusBearer
    • ILimiter
    • IPropagator
  • -> get rid of dependency from CCreature, CSpell
  • (?) what to do with concrete selectors, limiters, propagators?

Bonus type handler

User:AVS/Bonus type format

  • [Done] convert bonusnames.json to new config
  • [Done] implement macro substitution for name|description (will be reusable)
    • format ${XXX}
  • [Done] implement Bonus type handler itself
  • [Done] integrate to codebase
  • (*) [Todo] implement "id-like class" for bonus type
    • [Todo] refactor for new bonus type identifacation.
  • (**) [Todo] initial bonus configuration for mods.

Leveled bonuses

  • Generalization of handling growing arts, creature exp, hero speciality.
    • Each bearer has Level attribute (impl: virtual getter)
    • Bonus may have configuration for levels.
  • (!) control leveling of propagated and inherited bonuses
    • avoid it for the first time
    • (*) make it configurable