Skip to content

Abilities

Tyler Wozniak edited this page Feb 25, 2014 · 1 revision

Concept

Abilities will probably work well as a class which can be defined by a yaml file. This will allow us to easily create new abilities and create them in Units with a tag also in yaml. Abilities may contain all fields for relevant types ( ex: TargetType: with valid entries EnemyUnit, GridLocation, AlliedUnit ) or may be inherited for relevant types ( ex: Ability => UnitTargetAbility, AoEAbility, DoTAbility, etc ) depending on what seems most effective as we design/implement abilities.

Will also contain an execute function, which will possibly take information for the user and the target, which will be executed by the Controller.

Features

  • Target Type - Enemy Units, Grid Locations, Allied Units
  • Area of Effect - Single Space, Square, 'Circle', Line
  • Cooldown - # of turns, will set the AbilityCooldown field in the owning Unit when used
  • execute( Unit user, something Target )
Clone this wiki locally