The base class of MainChar and Enemy.

Hierarchy (view full)

Constructors

Properties

abilities: {
    key_name: string;
    use_weight: number;
}[]

Type declaration

  • key_name: string
  • use_weight: number
agi: number

The player agility points.

atk: number

The player attack points.

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

Type declaration

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

The base amount of turns that this player has.

battle_animations_variations: {
    [ability_key: string]: string;
}

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
class: Classes
coins_reward: number
current_exp: number

The player current experience points.

current_hp: number

The player current HP.

current_hp_recovery: number
current_pp: number

The player current PP.

current_pp_recovery: number
data: GoldenSun

Main GoldenSun object.

def: number

The player defense points.

defeat_voice: string
effect_turns_count: {
    [effect: string]: number | {
        [element: string]: number;
    };
}

The effect: remaining turns to vanish dictionary.

Type declaration

  • [effect: string]: number | {
        [element: 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
exp_reward: 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.

fled: boolean
hp_recovery: number

The player HP recovery points.

item_reward: string
item_reward_chance: number
items: {
    key_name: string;
    quantity: number;
    use_weight: number;
}[]

Type declaration

  • key_name: string
  • quantity: number
  • use_weight: number
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.

Type declaration

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.

target_weaker_chance: number
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.

weight_pick_random_ability: number
weight_recover_ailment: number
weight_recover_hp: number

Methods

  • 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
  • Parameters

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

    Returns boolean