Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Player Abstract

The base class of MainChar and Enemy.

Hierarchy

Index

Constructors

Properties

agi: number

The player agility points.

atk: number

The player attack points.

base_turns: number

The base amount of turns that this player has.

battle_animations_variations: {}

This maps a given ability key to a non-default ability animation key.

Type declaration

  • [ability_key: string]: string
battle_scale: number

The player battle scale.

battle_shadow_key: string

The player battle shadow sprite key.

before_buff_stats: { agi: number; atk: number; current_hp: number; current_pp: number; def: number; luk: number; max_hp: number; max_pp: number }

This player stats before applying buffers.

Type declaration

  • agi: number
  • atk: number
  • current_hp: number
  • current_pp: number
  • def: number
  • luk: number
  • max_hp: number
  • max_pp: number
buff_stats: { agi: number; atk: number; current_hp: number; current_pp: number; def: number; luk: number; max_hp: number; max_pp: number }

Stats points added/decreased by ability (buffers debuffers) on this player.

Type declaration

  • agi: number
  • atk: number
  • current_hp: number
  • current_pp: number
  • def: number
  • luk: number
  • max_hp: number
  • max_pp: number
current_exp: number

The player current experience points.

current_hp: number

The player current HP.

current_pp: number

The player current PP.

data: GoldenSun

Main GoldenSun object.

def: number

The player defense points.

effect_turns_count: {}

The effect: remaining turns to vanish dictionary.

Type declaration

  • [effect: string]: number | {}
effects: Effect[]

The list of Effects that affect this player.

elemental_base: { level?: { all_elements: number; jupiter: number; mars: number; mercury: number; no_element: number; venus: number }; power?: { all_elements: number; jupiter: number; mars: number; mercury: number; no_element: number; venus: number }; resist?: { all_elements: number; jupiter: number; mars: number; mercury: number; no_element: number; venus: number } }

Type declaration

  • Optional level?: { all_elements: number; jupiter: number; mars: number; mercury: number; no_element: number; venus: number }

    The elemental level base value stats object.

    • all_elements: number
    • jupiter: number
    • mars: number
    • mercury: number
    • no_element: number
    • venus: number
  • Optional power?: { all_elements: number; jupiter: number; mars: number; mercury: number; no_element: number; venus: number }

    The elemental power base value stats object.

    • all_elements: number
    • jupiter: number
    • mars: number
    • mercury: number
    • no_element: number
    • venus: number
  • Optional resist?: { all_elements: number; jupiter: number; mars: number; mercury: number; no_element: number; venus: number }

    The elemental resist base value stats object.

    • all_elements: number
    • jupiter: number
    • mars: number
    • mercury: number
    • no_element: number
    • venus: number
elemental_before_buff: { power?: { all_elements: number; jupiter: number; mars: number; mercury: number; no_element: number; venus: number }; resist?: { all_elements: number; jupiter: number; mars: number; mercury: number; no_element: number; venus: number } }

Type declaration

  • Optional power?: { all_elements: number; jupiter: number; mars: number; mercury: number; no_element: number; venus: number }

    The elemental power before buffs stats object.

    • all_elements: number
    • jupiter: number
    • mars: number
    • mercury: number
    • no_element: number
    • venus: number
  • Optional resist?: { all_elements: number; jupiter: number; mars: number; mercury: number; no_element: number; venus: number }

    The elemental resist before buffs stats object.

    • all_elements: number
    • jupiter: number
    • mars: number
    • mercury: number
    • no_element: number
    • venus: number
elemental_buff: { power?: { all_elements: number; jupiter: number; mars: number; mercury: number; no_element: number; venus: number }; resist?: { all_elements: number; jupiter: number; mars: number; mercury: number; no_element: number; venus: number } }

Type declaration

  • Optional power?: { all_elements: number; jupiter: number; mars: number; mercury: number; no_element: number; venus: number }

    The elemental power added by buffs stats object.

    • all_elements: number
    • jupiter: number
    • mars: number
    • mercury: number
    • no_element: number
    • venus: number
  • Optional resist?: { all_elements: number; jupiter: number; mars: number; mercury: number; no_element: number; venus: number }

    The elemental resist added by buffs stats object.

    • all_elements: number
    • jupiter: number
    • mars: number
    • mercury: number
    • no_element: number
    • venus: number
elemental_current: { level?: { all_elements: number; jupiter: number; mars: number; mercury: number; no_element: number; venus: number }; power?: { all_elements: number; jupiter: number; mars: number; mercury: number; no_element: number; venus: number }; resist?: { all_elements: number; jupiter: number; mars: number; mercury: number; no_element: number; venus: number } }

Type declaration

  • Optional level?: { all_elements: number; jupiter: number; mars: number; mercury: number; no_element: number; venus: number }

    The elemental level stats object.

    • all_elements: number
    • jupiter: number
    • mars: number
    • mercury: number
    • no_element: number
    • venus: number
  • Optional power?: { all_elements: number; jupiter: number; mars: number; mercury: number; no_element: number; venus: number }

    The elemental power stats object.

    • all_elements: number
    • jupiter: number
    • mars: number
    • mercury: number
    • no_element: number
    • venus: number
  • Optional resist?: { all_elements: number; jupiter: number; mars: number; mercury: number; no_element: number; venus: number }

    The elemental resist stats object.

    • all_elements: number
    • jupiter: number
    • mars: number
    • mercury: number
    • no_element: number
    • venus: number
extra_stats: { agi: number; atk: number; current_hp: number; current_pp: number; def: number; luk: number; max_hp: number; max_pp: number }

Any extra stats points added to the main stats of this player.

Type declaration

  • agi: number
  • atk: number
  • current_hp: number
  • current_pp: number
  • def: number
  • luk: number
  • max_hp: number
  • max_pp: number
extra_turns: number

The extra amount of turns that this player has.

fighter_type: fighter_types

Whether it's an ally or enemy in the main party point of view.

hp_recovery: number

The player HP recovery points.

key_name: string

The player key name.

level: number

The player current level.

luk: number

The player luck points.

max_hp: number

The player max HP.

max_pp: number

The player max PP.

name: string

The player name.

on_status_change: Subject<{ added: boolean; status: permanent_status | temporary_status }>

The rxjs Subject that's triggered when this player suffers a status change.

paralyzed_by_effect: boolean

Whether the player is paralyzed by any Effect in battle.

permanent_status: Set<permanent_status>

The permanent status set. Use this property only to check whether the player has a given status.

pp_recovery: number

The player PP recovery points.

status_sprite_shift: number

The aditional shift added to status sprite in battle.

temporary_status: Set<temporary_status>

The temporary status set. Use this property only to check whether the player has a given status.

turns: number

The current amount of turns that this player has.

Methods

  • add_effect(effect_obj: any, effect_owner_instance: Ability | Item, apply?: boolean): { changes: { after?: number; all_elements?: boolean; before?: number; removed_effects?: Effect[] }; effect: Effect }
  • Parameters

    • effect_obj: any
    • effect_owner_instance: Ability | Item
    • apply: boolean = false

    Returns { changes: { after?: number; all_elements?: boolean; before?: number; removed_effects?: Effect[] }; effect: Effect }

    • changes: { after?: number; all_elements?: boolean; before?: number; removed_effects?: Effect[] }
      • Optional after?: number
      • Optional all_elements?: boolean
      • Optional before?: number
      • Optional removed_effects?: Effect[]
    • effect: Effect
  • apply_turns_count_value(): void
  • get_effect_turns_count(effect: Effect): any
  • get_effect_turns_key(effect: Effect): string
  • init_effect_turns_count(): void
  • When starting a battle, resets all temporary status and buffers turns count values.

    Returns void

  • is_downed(): boolean
  • is_paralyzed(include_downed?: boolean, exclude_no_downed_anim?: boolean): boolean
  • Parameters

    • include_downed: boolean = false
    • exclude_no_downed_anim: boolean = false

    Returns boolean

  • remove_effect(effect_to_remove: Effect, apply?: boolean): void
  • set_effect_turns_count(effect: any, value?: number, relative?: boolean): any
  • Parameters

    • effect: any
    • value: number = -1
    • relative: boolean = true

    Returns any

  • update_all(): any
  • Updates all stats, class info and abilities of this player.

    Returns any

  • update_all_buff_turn_count(effect_type: effect_types, value: number): void

Generated using TypeDoc