Constructor
Battler(x: number?, y: number?, width: number?, height: number?)
Arguments:
x: number? | |
y: number? | |
width: number? | |
height: number? |
Methods
Battler:alert(duration: number?, options: (table|"callback"|"layer"|"offset_x"|"offset_y"...(+2))?)
Creates an alert bubble (tiny !) above this battler.
@param duration
— The number of frames to show the bubble for. (Defaults to 20
)
@param options
— A table defining additional properties to control the bubble.
options:
| "play_sound" -- Whether the alert sound will be played. (Defaults to `true`)
| "sprite" -- The sprite to use for the alert bubble. (Defaults to `"effects/alert"`)
| "offset_x" -- The x-offset of the icon.
| "offset_y" -- The y-offset of the icon.
| "layer" -- The layer to put the icon on. (Defaults to `100`)
| "callback" -- A callback that is run when the alert finishes.
Arguments:
duration: number? | The number of frames to show the bubble for. (Defaults to |
options: (table|"callback"|"layer"|"offset_x"|"offset_y"...(+2))? | A table defining additional properties to control the bubble. |
Returns:
1: Sprite |
Battler:flash(sprite: Sprite?, offset_x: number?, offset_y: number?, layer: number?)
Makes the battler flash once.
@param sprite
— An optional sprite to use for the flash instead of the battler's default sprite.
Arguments:
sprite: Sprite? | An optional sprite to use for the flash instead of the battler's default sprite. |
offset_x: number? | |
offset_y: number? | |
layer: number? |
Returns:
1: FlashFade |
Battler:getActiveSprite()
Returns the active sprite, out of the battler's main and overlay sprite.
Returns:
1: ActorSprite? |
Battler:onBubbleRemove(bubble: SpeechBubble)
(Override) Called whenever a speech bubble is removed for this battler.
Arguments:
bubble: SpeechBubble |
Battler:onBubbleSpawn(bubble: SpeechBubble)
(Override) Called whenever a speech bubble is created for this battler.
Arguments:
bubble: SpeechBubble |
Battler:recruitMessage(x: number, y: number, type: string)
(Called internally) Creates a RECRUIT message for when an enemy is spared and recruit progression advances
Arguments:
x: number | |
y: number | |
type: string |
Returns:
1: RecruitMessage |
Battler:setActor(actor: string|Actor, use_overlay: boolean?)
Sets the actor used for this battler.
@param actor
— The id or instance of the Actor
to set on this battler.
@param use_overlay
— Whether to use the overlay sprite system (Defaults to true
)
Arguments:
actor: string|Actor | The id or instance of the |
use_overlay: boolean? | Whether to use the overlay sprite system (Defaults to |
Battler:setAnimation(animation: string|table, callback: fun( any)?)
Shorthand for ActorSprite:setAnimation()
Arguments:
animation: string|table | |
callback: fun( any)? |
Returns:
1: boolean |
Battler:setCustomSprite(sprite: string?, ox: number?, oy: number?, speed: number?, loop: boolean?, after: fun( any)?)
Shorthand for calling ActorSprite:setCustomSprite()
and then ActorSprite:play()
Arguments:
sprite: string? | |
ox: number? | |
oy: number? | |
speed: number? | |
loop: boolean? | |
after: fun( any)? |
Battler:sparkle(r: number?, g: number?, b: number?)
Creates sparkles around the battler (these appear by default when the battler receives healing)
Arguments:
r: number? | |
g: number? | |
b: number? |
Battler:spawnSpeechBubble(text: string|string[], options: (table|"actor"|"after"|"font"|"line_callback"...(+2))?)
Creates a speech bubble for this battler.
@param text
— The text to display in the speech bubble. Can be a table defining multiple lines.
@param options
— A table defining additional properties to control the speech bubble:
options:
| "style" -- The dialogue bubble style to use (Defaults to [`Battler.dialogue_bubble`](file:///vercel/path0/tmp/kristal/src/engine/game/battle/battler.lua#19))
| "right" -- Whether the dialogue bubble should appear to the right of the battler (Defaults to `false`)
| "font" -- The font to use for the speech bubble
| "actor" -- The actor to use for the speech bubble
| "after" -- A callback that will be run after the dialogue is finished
| "line_callback" -- A callback that will be run after each line of dialogue is advanced
Arguments:
text: string|string[] | The text to display in the speech bubble. Can be a table defining multiple lines. |
options: (table|"actor"|"after"|"font"|"line_callback"...(+2))? | A table defining additional properties to control the speech bubble: |
Returns:
1: SpeechBubble |
Battler:statusMessage(x: number?, y: number?, type: (string|"damage"|"mercy"|"msg")?, arg: any, color: table?, kill: boolean?)
Creates a status text on the battler.
Used for information such as damage numbers, being downed, or missing a hit
@param x
— The x-coordinate the message should appear at, relative to the battler.
@param y
— The y-coordinate the message should appear at, relative to the battler.
@param type
— The type of message to display:
@param arg
— An additional argument which depends on what type
is set to:
@param color
— The color used to draw the status message, defaulting to white
@param kill
— Whether this status should cause all other statuses to disappear.
type:
| "mercy" -- Indicates that the message will be a mercy number
| "damage" -- Indicates that the message will be a damage number
| "msg" -- Indicates that the message will use a unique sprite, such as MISS or DOWN text
arg:
| "mercy" -- The amount of mercy added
| "damage" -- The amount of damage dealt
| "msg" -- The path to the sprite, relative to `ui/battle/message`, to use
Arguments:
x: number? | The x-coordinate the message should appear at, relative to the battler. |
y: number? | The y-coordinate the message should appear at, relative to the battler. |
type: (string|"damage"|"mercy"|"msg")? | The type of message to display: |
arg: any | An additional argument which depends on what |
color: table? | The color used to draw the status message, defaulting to white |
kill: boolean? | Whether this status should cause all other statuses to disappear. |
Returns:
1: DamageNumber |
Battler:toggleOverlay(overlay: boolean?)
Toggles the visibility of the overlay sprite versus main sprite.
@param overlay
— Whether the overlay should be visible. If unset, will invert whatever the current visibility state is.
Arguments:
overlay: boolean? | Whether the overlay should be visible. If unset, will invert whatever the current visibility state is. |
Fields
Battler.alert_callback: fun()?
Internal variable used to store a callback for after an alert, if set.
Battler.alert_icon: Sprite?
Internal variable used to store the battler's overhead alert icon.
Battler.alert_timer: number
Internal timer variable for the battler's overhead alert icon.
Battler.dialogue_bubble: string?
The bubble style used for the battler. Defaults to "round"
or "cyber"
, depending on chapter.
Battler.dialogue_offset: [number, number]
The offset of the dialogue bubble from its default position.
Battler.flash_timer: number
Internal timer variable for the battler's selected flash.
Battler.highlight: ColorMaskFX
An instance of a white ColorMaskFX, used for the white flash when the battler is selected in a menu.
Battler.hit_count: number
The number of times the battler has been hit recently, used for the stacking effect of damage numbers.
Battler.last_highlighted: boolean
Internal variable used to determine whether the battler was highlighted last frame.
Battler.overlay_sprite: ActorSprite?
An overlay sprite being used by this battler - special animations such as being hurt or downed take place on this sprite as to preserve the main sprite's animation cycle afterwards.
Battler.sprite: ActorSprite?
The main sprite being used by this battler.
Undocumented
Battler.actor: unknown
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()
.
Battler.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()
.