p

model

package model

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. sealed trait Alteration extends AnyRef

    An alteration is something that affects a character's behavior for a certain amount of rounds.

    An alteration is something that affects a character's behavior for a certain amount of rounds.

    An alteration can inhibit some kind of moves, or even modify the status of the affected character at the beginning of its turn (describing for example how many health points it will gain or lose).

  2. trait Character extends AnyRef

    Defines the general implementation of a game character

  3. case class ClassMultipliers(strength: Double, agility: Double, spirit: Double, intelligence: Double, resistance: Double, healthPoints: Double) extends Product with Serializable

    Contains the class modifiers to the Character statistics, based on the Character's class

    Contains the class modifiers to the Character statistics, based on the Character's class

    strength

    the class modifier impacting strength driven statistics

    agility

    the class modifier impacting agility driven statistics

    spirit

    the class modifier impacting spirit driven statistics

    intelligence

    the class modifier impacting intelligence driven statistics

    resistance

    the class modifier impacting resistence driven statistics

    healthPoints

    the class modifier impacting maximum HP values

  4. case class Healer(characterName: String, owner: Option[String], statistics: Statistics, specialMoves: Map[String, SpecialMove], classMultipliers: ClassMultipliers = ..., role: String = HealerRepresentation) extends Character with Product with Serializable

    Defines a character of class Healer

    Defines a character of class Healer

    characterName

    the character's name

    owner

    the optional character's owner

    statistics

    the character's statistics

    specialMoves

    the character's special moves

    classMultipliers

    the default statistic multipliers for the healer fighting class

    role

    the character's fighting class

  5. case class Modifier(name: String, affectsSubStatistic: SubStatistic, delta: Int, roundsDuration: Int) extends Product with Serializable

    Contains all the elements that define a modifier.

    Contains all the elements that define a modifier.

    name

    the unique name of the modifier

    affectsSubStatistic

    the sub-statistic affected by the modifier

    delta

    the value to temporarily add/subtract from the affected sub-statistic

    roundsDuration

    how many rounds the alteration will last.

  6. sealed trait Move extends AnyRef

    A move is described by its type, the amount of mana points that it costs, the maximum targets that it can be applied to, and its move effect: the move effect will define the new status of the target character hit by the move.

  7. sealed trait MoveType extends AnyRef

    Every move is associated to a move type that has a twofold purpose:

    Every move is associated to a move type that has a twofold purpose:

    1) It determines which attacker's and target's sub-statistics could affect the move's power.

    For example, the damage effect of a Melee move will be higher if the attacker has a high physicalDamage sub-statistic, whilst the damage effect of a Spell will be higher if the attacker has a high magical power sub-statistic.

    2) Different status alterations inhibit different move types.

    For example, a silenced character cannot cast any Spell, whilst a blinded character cannot make any Ranged move.

  8. case class SpecialMove(name: String, moveType: MoveType, moveEffect: (Attacker, Target) ⇒ NewTargetStatus, manaCost: Int, maxTargets: Int) extends Move with Product with Serializable

    A special move.

    A special move.

    name

    the move name

    moveType

    the move type

    moveEffect

    the move effect

    manaCost

    how many mana points the attacker must spend to make the move

    maxTargets

    how many targets can be hit at once

  9. case class Statistics(strength: Int, agility: Int, spirit: Int, intelligence: Int, resistance: Int) extends Product with Serializable

    Contains the main statistics of a character.

    Contains the main statistics of a character.

    strength

    dictates the strength of the character

    agility

    dictates the agility of the character

    spirit

    dictates the character's force of will

    intelligence

    dictates the magic capabilities of a character

    resistance

    dictates how much a character is tough

  10. case class Status(healthPoints: Int, manaPoints: Int, maxHealthPoints: Int, maxManaPoints: Int, modifiers: Map[Modifier, Int], alterations: Map[Alteration, Int]) extends Product with Serializable

    Represents the current status of a character.

    Represents the current status of a character.

    healthPoints

    the current health points of a character. Health points must be non negative and not higher than max health points.

    manaPoints

    the current mana points of a character. Mana points must be non negative and not higher than max mana points.

    maxHealthPoints

    the maximum health points that a character can have

    maxManaPoints

    the maximum mana points that a character can have

    modifiers

    the current modifiers that alter the character's statistics

    alterations

    the current alterations that affects the character's behaviour

  11. trait SubStatistic extends AnyRef
  12. case class Thief(characterName: String, owner: Option[String], statistics: Statistics, specialMoves: Map[String, SpecialMove], classMultipliers: ClassMultipliers = ..., role: String = ThiefRepresentation) extends Character with Product with Serializable

    Defines a character of class Thief

    Defines a character of class Thief

    characterName

    the character's name

    owner

    the optional character's owner

    statistics

    the character's statistics

    specialMoves

    the character's special moves

    classMultipliers

    the default statistic multipliers for the thief fighting class

    role

    the character's fighting class

  13. case class Warrior(characterName: String, owner: Option[String], statistics: Statistics, specialMoves: Map[String, SpecialMove], classMultipliers: ClassMultipliers = ..., role: String = WarriorRepresentation) extends Character with Product with Serializable

    Defines a character of class Warrior

    Defines a character of class Warrior

    characterName

    the character's name

    owner

    the optional character's owner

    statistics

    the character's statistics

    specialMoves

    the character's special moves

    classMultipliers

    the default statistic multipliers for the warrior fighting class

    role

    the character's fighting class

  14. case class Wizard(characterName: String, owner: Option[String], statistics: Statistics, specialMoves: Map[String, SpecialMove], classMultipliers: ClassMultipliers = ..., role: String = WizardRepresentation) extends Character with Product with Serializable

    Defines a character of class Wizard

    Defines a character of class Wizard

    characterName

    the character's name

    owner

    the optional character's owner

    statistics

    the character's statistics

    specialMoves

    the character's special moves

    classMultipliers

    the default statistic multipliers for the wizard fighting class

    role

    the character's fighting class

Value Members

  1. object Alteration
  2. object Character
  3. object Move
  4. object MoveEffectStrategies

    A factory of the possible move effects present in the game.

  5. object MoveType
  6. object PhysicalAttack extends Move with Product with Serializable

    The basic move, practicable by every character.

    The basic move, practicable by every character.

    It is of type Melee, it doesn't cost any mana points and can hit only one target at a time. Its move effect is a standard damage with zero base damage.

  7. object Status extends Serializable
  8. object SubStatistic

    A module that contains all the possible sub-statistics of a character.

    A module that contains all the possible sub-statistics of a character.

    The sub-statistics influence the effectiveness of a character in combat.

Ungrouped