PartyMember
┗> Class
The PartyMember class is a type of data class that stores information about a member of the party.
PartyMembers are stored in scripts/data/party, and extend this class. Their filepath starting from here becomes their id, unless an id is specified as an argument to Class().
Methods
PartyMember:addFlag(name: string, amount: number?)
Adds amount to a numeric flag for this party member named flag (or defines it if it does not exist)
Arguments:
| name: string | The name of the flag to add to |
| amount: number? | (Defaults to |
Returns:
| new_value: number |
PartyMember:addSpell(spell: string|Spell)
Adds a spell to this party member's set of available spells
Arguments:
| spell: string|Spell | Spells are data files that extend this |
PartyMember:addStatBuff(stat: string, amount: number, max: number?)
Adds to one of this party member's current stat buffs
Arguments:
| stat: string | |
| amount: number | |
| max: number? |
PartyMember:autoHealAmount()
(Override) Gets the amount of health this party member should heal each turn whilst DOWN in battle
Returns:
| 1: number |
PartyMember:canEquip(item: Item?, slot_type: string?, slot_index: integer?)
(Override) Checks whether this party member is able to equip a specific item
By default, calls item:canEquip() to check equippability, and rejects trying to unequip the item if the slot type is "weapon"
Arguments:
| item: Item? | The Item class represents all types of item in Kristal. |
| slot_type: string? | |
| slot_index: integer? |
Returns:
| 1: boolean |
PartyMember:checkArmor(id: string)
Checks whether this party member has the armor with id id equipped
Arguments:
| id: string |
Returns:
| equipped: boolean | |
| count: integer |
PartyMember:checkWeapon(id: string)
Checks whether this party member has the weapon with id id equipped
Arguments:
| id: string |
Returns:
| equipped: boolean |
PartyMember:drawPowerStat(index: integer, x: number, y: number, menu: DarkPowerMenu)
(Override) Called every frame for each stat in the party member's Power menu.
Arguments:
| index: integer | The index of the power stat |
| x: number | The x-coordinate of the text |
| y: number | The y-coordinate of the text |
| menu: DarkPowerMenu | The current menu instance |
PartyMember:getAttackCritBoxSize(battler: PartyBattler)
(Override) Gets the size of the critical hit box when this party member is attacking in battle.
The size is both visual and equivalent to the frame leniency of the attack (at 30fps). The default is 1, meaning you only have 1 frame to crit.
By default, this redirects to Item:getAttackCritBoxSize for the equipped weapon (if any).
Arguments:
| battler: PartyBattler | The attacker's battler. |
Returns:
| size: number | The size of the critical hit box. |
PartyMember:getBaseStat(name: string, default: number?, light: boolean?)
Arguments:
| name: string | |
| default: number? | |
| light: boolean? |
Returns:
| 1: number |
PartyMember:getBaseStats(light: boolean?)
Arguments:
| light: boolean? |
Returns:
| 1: number, attack| number, attack |
PartyMember:getEquipmentBonus(stat: string)
Gets this party member's stat bonuses from equipment for a particular stat
Arguments:
| stat: string |
Returns:
| 1: number |
PartyMember:getFlag(name: any, default: any)
Gets the value of the flag for this party member named flag, returning default if the flag does not exist
Arguments:
| name: any | |
| default: any |
Returns:
| 1: unknown |
PartyMember:getGameOverMessage(main: PartyMember)
Arguments:
| main: PartyMember | The PartyMember class is a type of data class that stores information about a member of the party. |
Returns:
| 1: string[] |
PartyMember:getReaction(item: Item, user: PartyMember)
Gets this party member's reaction for using or seeing someone use a particular item
By default, calls item:getReaction() for reaction text
Arguments:
| item: Item | The Item class represents all types of item in Kristal. |
| user: PartyMember | The PartyMember class is a type of data class that stores information about a member of the party. |
Returns:
| 1: string? |
PartyMember:getStat(name: string, default: number?, light: boolean?)
Gets the full (buffs applied) stat value for one of the party member's stats
Arguments:
| name: string | |
| default: number? | |
| light: boolean? |
Returns:
| 1: number |
PartyMember:getStats(light: boolean?)
Arguments:
| light: boolean? |
Returns:
| 1: number, attack| number, attack |
PartyMember:hasSpell(spell: string|Spell)
Checks whether this party member has the spell spell
Arguments:
| spell: string|Spell | Spells are data files that extend this |
Returns:
| has_spell: boolean |
PartyMember:heal(amount: number, playsound: boolean?)
Heals this party member
Arguments:
| amount: number | |
| playsound: boolean? |
Returns:
| full_heal: boolean |
PartyMember:increaseStat(stat: string, amount: number, max: number?)
Increases one of this party member's stats permanently
Arguments:
| stat: string | |
| amount: number | |
| max: number? |
PartyMember:insertSpell(index: number, spell: string|Spell)
Inserts a spell to this party member's set of available spells at index position
Arguments:
| index: number | |
| spell: string|Spell | Spells are data files that extend this |
PartyMember:load(data: PartyMemberSaveData)
Arguments:
| data: PartyMemberSaveData | Party Member data in the format it is saved to file |
PartyMember:loadSpells(data: string[])
@param data — An array of the spell IDs this party member knows
Arguments:
| data: string[] | An array of the spell IDs this party member knows |
PartyMember:onActionSelect(battler: PartyBattler, undo: boolean)
(Override) Called whenever this party member's action select turn starts
Arguments:
| battler: PartyBattler | The party member's associated battler |
| undo: boolean | Whether their previous action was just undone |
PartyMember:onAttackHit(enemy: EnemyBattler, damage: number)
(Override) Called whenever this party member's attack hits an enemy in battle
Arguments:
| enemy: EnemyBattler |
Recruit data is separate to enemies, see |
| damage: number |
PartyMember:onEquip(item: Item, item2: Item?)
(Override) Called when the party member equips an item
Arguments:
| item: Item | The item being equipped |
| item2: Item? | The item previously in its slot |
Returns:
| can_continue: boolean | Whether the equip process will occur |
PartyMember:onLevelUp(level: integer)
(Override) Called whenever this party member levels up
Arguments:
| level: integer | The party member's new level |
PartyMember:onLoad(data: PartyMemberSaveData)
(Override) Called whenever the party member's data is loaded
Arguments:
| data: PartyMemberSaveData | Party Member data in the format it is saved to file |
PartyMember:onPowerDeselect(menu: DarkPowerMenu)
(Override) Called whenever the party member stops being hovered over in the Overworld Power menu
Arguments:
| menu: DarkPowerMenu | The current menu instance |
PartyMember:onPowerSelect(menu: DarkPowerMenu)
(Override) Called whenever the party member is hovered over in the Overworld Power menu
Arguments:
| menu: DarkPowerMenu | The current menu instance |
PartyMember:onSave(data: PartyMemberSaveData)
(Override) Called whenever the party member's data is saved
Arguments:
| data: PartyMemberSaveData | Party Member data in the format it is saved to file |
PartyMember:onTurnStart(battler: PartyBattler)
(Override) Called whenever this party member's turn starts in battle
Arguments:
| battler: PartyBattler | The party member's associated battler |
PartyMember:onUnequip(item: Item, item2: Item?)
(Override) Called when the party member unequips an item
Arguments:
| item: Item | The item being unequipped |
| item2: Item? | The item that will replace this item in its slot |
Returns:
| can_continue: boolean | Whether the unequip process will occur |
PartyMember:removeSpell(spell: string|Spell)
Removes a spell from this party member's available spells
Arguments:
| spell: string|Spell | Spells are data files that extend this |
PartyMember:replaceSpell(spell: string|Spell, replacement: string)
Replaces one of this party member's spells with another
If spell is not in this party member's spell list, they will not learn replacement
Arguments:
| spell: string|Spell | Spells are data files that extend this |
| replacement: string |
PartyMember:resetBuff(stat: string)
Sets one of this party member's stat buffs back to nil
Arguments:
| stat: string |
PartyMember:resetBuffs()
Resets all of this party member's stat buffs
PartyMember:saveSpells()
@return spells — An array of the spell IDs this party member knows
Returns:
| spells: string[] | An array of the spell IDs this party member knows |
PartyMember:setActor(actor: string|Actor)
Changes this party member's Dark World actor
Arguments:
| actor: string|Actor | Actors are a type of data class that represent the visuals of a character - anything that is some type of character, be it the player, an NPC, or an enemy in battle, it will require an actor. |
PartyMember:setArmor(i: integer, item: (string|Item)?)
Arguments:
| i: integer | |
| item: (string|Item)? | The Item class represents all types of item in Kristal. |
PartyMember:setDarkTransitionActor(actor: string|Actor)
Changes this party member's Dark Transition actor
Arguments:
| actor: string|Actor | Actors are a type of data class that represent the visuals of a character - anything that is some type of character, be it the player, an NPC, or an enemy in battle, it will require an actor. |
PartyMember:setFlag(name: string, value: any)
Sets the value of the flag for this party member named flag to value
Arguments:
| name: string | |
| value: any |
PartyMember:setLightActor(actor: string|Actor)
Changes this party member's Light World actor
Arguments:
| actor: string|Actor | Actors are a type of data class that represent the visuals of a character - anything that is some type of character, be it the player, an NPC, or an enemy in battle, it will require an actor. |
PartyMember:setStatBuff(stat: string, amount: number)
Sets one of this party member's stat buffs
Arguments:
| stat: string | |
| amount: number |
PartyMember:setWeapon(item: (string|Item)?)
Arguments:
| item: (string|Item)? | The Item class represents all types of item in Kristal. |
Fields
PartyMember.attack_bar_color: number, [2]? }?
Three values representing a color, with an optional alpha value. Values are between 0 and 1.
PartyMember.attack_box_color: number, [2]? }?
Three values representing a color, with an optional alpha value. Values are between 0 and 1.
PartyMember.dark_transition_actor: Actor
Actors are a type of data class that represent the visuals of a character - anything that is some type of character, be it the player, an NPC, or an enemy in battle, it will require an actor.
As a data class, actors are stored in scripts/data/actors/, and extend this class. Their filepath starting from here becomes their id, unless an id is specified as an argument to Class().
PartyMember.dmg_color: number, [2]? }?
Three values representing a color, with an optional alpha value. Values are between 0 and 1.
PartyMember.lw_actor: Actor
Actors are a type of data class that represent the visuals of a character - anything that is some type of character, be it the player, an NPC, or an enemy in battle, it will require an actor.
As a data class, actors are stored in scripts/data/actors/, and extend this class. Their filepath starting from here becomes their id, unless an id is specified as an argument to Class().
PartyMember.xact_color: number, [2]? }?
Three values representing a color, with an optional alpha value. Values are between 0 and 1.
Undocumented
PartyMember.lw_exp: integer
Light world EXP (saved to the save file)
PartyMember.lw_exp_needed: table
Light world EXP requirements
PartyMember.stronger_absent: table
Party members which will also get stronger when this character gets stronger, even if they're not in the party