object Move

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Move
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type Attacker = Character
  2. type NewStatuses = Map[Character, Status]
  3. type NewTargetStatus = Status
  4. type Target = Character

Value Members

  1. def canMakeMove(attacker: Attacker, move: Move): Boolean

    Tells if a character can or cannot make a move.

    Tells if a character can or cannot make a move.

    attacker

    the character that wants to make a move

    move

    the move

    returns

    true if the attacker can make the move, false otherwise

  2. def makeMove(move: Move, attacker: Attacker, targets: Set[Target]): NewStatuses

    Provides the new status of every character involved in the move execution.

    Provides the new status of every character involved in the move execution.

    A move will affect all the targets (evaluating the move effect for everyone of them) and possibly the attacker if the move costs some mana points. It's worth mentioning that a character can be both attacker and target at the same time: useful for example if a he/she wants to heal himself/herself casting a healing spell.

    move

    the move to be executed

    attacker

    the character that makes the move

    targets

    the character/s that undergo the move effects

    returns

    the new status for each character involved