Skip to content

builtin life

boyism80 edited this page Jun 20, 2025 · 11 revisions

Built-in Functions Documentation (Life)

This document describes functions available to life type objects (characters, mobs, NPCs).


message

message(text:string, type:number)

  • Description:
    Sends a message to the life object. Only works for character objects.
  • Parameters:
    • text:string: Message text to send
    • type:number: Message type (default: MESSAGE_TYPE_STATE)
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:message("Hello world!")
    me:message("Important message", MESSAGE_TYPE_NOTICE)

hp

Provides functionality to get or set the life object's HP.

hp()

  • Description:
    Returns the current HP of the life object.
  • Parameters:
    • None
  • Return Value:
    • number: Current HP value
  • Example:
    -- This is a real usage example from game scripts
    local current_hp = me:hp()
    me:message("Your HP: " .. current_hp)

hp(value:number)

  • Description:
    Sets the life object's HP to the specified value.
  • Parameters:
    • value:number: HP value to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:hp(me:maxhp())  -- Set to full HP

mp

Provides functionality to get or set the life object's MP.

mp()

  • Description:
    Returns the current MP of the life object.
  • Parameters:
    • None
  • Return Value:
    • number: Current MP value
  • Example:
    -- This is a real usage example from game scripts
    local current_mp = me:mp()
    me:message("Your MP: " .. current_mp)

mp(value:number)

  • Description:
    Sets the life object's MP to the specified value.
  • Parameters:
    • value:number: MP value to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:mp(me:maxmp())  -- Set to full MP

heal

heal(amount:number)

  • Description:
    Heals the life object by the specified amount of HP.
  • Parameters:
    • amount:number: Amount of HP to heal
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:heal(100)  -- Heal 100 HP

damage

damage(amount:number[, from:fb.game.life[, critical:boolean]])

  • Description:
    Deals damage to the life object.
  • Parameters:
    • amount:number: Amount of damage to deal
    • from:fb.game.life: Life object that is dealing the damage (optional)
    • critical:boolean: Whether this is a critical hit (optional, default: false)
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    target:damage(50)  -- Deal 50 damage
    target:damage(50, me)  -- Deal 50 damage from me
    target:damage(50, me, true)  -- Deal 50 critical damage from me

mp_up

mp_up(amount:number)

  • Description:
    Increases the life object's MP by the specified amount.
  • Parameters:
    • amount:number: Amount of MP to add
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:mp_up(50)  -- Restore 50 MP

mp_down

mp_down(amount:number)

  • Description:
    Decreases the life object's MP by the specified amount.
  • Parameters:
    • amount:number: Amount of MP to reduce
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:mp_down(30)  -- Consume 30 MP

action

action(action_type:number[, duration:DURATION[, sound:number]])

  • Description:
    Performs an action with the specified type and duration.
  • Parameters:
    • action_type:number: Type of action to perform
    • duration:DURATION: Duration of the action (optional, default: DURATION.SPELL)
    • sound:number: Sound effect ID to play (optional, default: 0)
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:action(ACTION.PICKUP)  -- Default duration
    me:action(ACTION.PICKUP, DURATION.PICKUP)  -- Custom duration
    me:action(ACTION.PICKUP, DURATION.PICKUP, 1)  -- With sound effect

spell

spell(name_or_slot)

  • Description:
    Gets a spell by name or slot index.
  • Parameters:
    • name_or_slot: Spell name (string) or slot index (number)
  • Return Value:
    • fb.game.spell|nil: Spell object or nil if not found
  • Example:
    -- This is a real usage example from game scripts
    local spell = me:spell("비영사천문")
    if spell then
        me:message("Found spell: " .. spell:model():name())
    end

spells

spells()

  • Description:
    Returns a table containing all spells known by the life object.
  • Parameters:
    • None
  • Return Value:
    • table: Table with slot indices as keys and spell objects as values
  • Example:
    -- This is a real usage example from game scripts
    for slot, spell in pairs(me:spells()) do
        me:message("Slot " .. slot .. ": " .. spell:model():name())
    end

cast

cast([target:fb.game.life,] spell:string|fb.game.spell)

  • Description:
    Casts a spell on a target or self.
  • Parameters:
    • target:fb.game.life: Target to cast the spell on (optional, defaults to self)
    • spell:string|fb.game.spell: Spell name or spell object to cast
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:cast("생명의기원")  -- Cast on self
    me:cast(target, "생명의기원")  -- Cast on target
    local spell = me:spell("생명의기원")
    me:cast(target, spell)  -- Cast using spell object

cc

Provides functionality to get or set crowd control effects.

cc()

  • Description:
    Returns the current crowd control state.
  • Parameters:
    • None
  • Return Value:
    • number: Current CC state value
  • Example:
    -- This is a real usage example from game scripts
    local cc_state = me:cc()
    me:message("CC state: " .. cc_state)

cc(value:number)

  • Description:
    Sets the crowd control state.
  • Parameters:
    • value:number: CC state value to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:cc(0)  -- Remove all CC effects

add_cc

add_cc(cc_type:number)

  • Description:
    Adds a crowd control effect to the life object.
  • Parameters:
    • cc_type:number: Type of CC effect to add
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:add_cc(CC_TYPE_STUN)

remove_cc

remove_cc(cc_type:number)

  • Description:
    Removes a crowd control effect from the life object.
  • Parameters:
    • cc_type:number: Type of CC effect to remove
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:remove_cc(CC_TYPE_STUN)

attack

attack([duration:DURATION])

  • Description:
    Performs a basic attack on the current target.
  • Parameters:
    • duration:DURATION: Attack duration type (default: DURATION_ATTACK)
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:attack()  -- Basic attack with default duration
    me:attack(DURATION_ATTACK)  -- Explicit duration

damage_rate

Provides functionality to get or set the life object's damage rate.

damage_rate()

  • Description:
    Returns the current damage rate of the life object.
  • Parameters:
    • None
  • Return Value:
    • number: Current damage rate value
  • Example:
    -- This is a real usage example from game scripts
    local rate = me:damage_rate()
    me:message("Current damage rate: " .. rate)

damage_rate(value:number)

  • Description:
    Sets the life object's damage rate to the specified value.
  • Parameters:
    • value:number: Damage rate value to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:damage_rate(150)  -- Set damage rate to 150%

damage_derate

Provides functionality to get or set the life object's damage reduction rate.

damage_derate()

  • Description:
    Returns the current damage reduction rate of the life object.
  • Parameters:
    • None
  • Return Value:
    • number: Current damage reduction rate value
  • Example:
    -- This is a real usage example from game scripts
    local rate = me:damage_derate()
    me:message("Current damage reduction: " .. rate)

damage_derate(value:number)

  • Description:
    Sets the life object's damage reduction rate to the specified value.
  • Parameters:
    • value:number: Damage reduction rate value to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:damage_derate(50)  -- Set damage reduction to 50%

skill_damage_rate

Provides functionality to get or set the life object's skill damage rate.

skill_damage_rate()

  • Description:
    Returns the current skill damage rate of the life object.
  • Parameters:
    • None
  • Return Value:
    • number: Current skill damage rate value
  • Example:
    -- This is a real usage example from game scripts
    local rate = me:skill_damage_rate()
    me:message("Current skill damage rate: " .. rate)

skill_damage_rate(value:number)

  • Description:
    Sets the life object's skill damage rate to the specified value.
  • Parameters:
    • value:number: Skill damage rate value to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:skill_damage_rate(150)  -- Set skill damage rate to 150%

paralysis

Provides functionality to get or set the life object's paralysis state.

paralysis()

  • Description:
    Returns whether the life object is paralyzed.
  • Parameters:
    • None
  • Return Value:
    • boolean: True if paralyzed, false otherwise
  • Example:
    -- This is a real usage example from game scripts
    if me:paralysis() then
        me:message("You are paralyzed!")
    end

paralysis(value:boolean)

  • Description:
    Sets the life object's paralysis state.
  • Parameters:
    • value:boolean: True to paralyze, false to remove paralysis
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:paralysis(true)  -- Paralyze
    me:paralysis(false)  -- Remove paralysis

invincible

Provides functionality to get or set the life object's invincibility state.

invincible()

  • Description:
    Returns whether the life object is invincible.
  • Parameters:
    • None
  • Return Value:
    • boolean: True if invincible, false otherwise
  • Example:
    -- This is a real usage example from game scripts
    if me:invincible() then
        me:message("You are invincible!")
    end

invincible(value:boolean)

  • Description:
    Sets the life object's invincibility state.
  • Parameters:
    • value:boolean: True to make invincible, false to make vulnerable
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:invincible(true)  -- Make invincible
    me:invincible(false)  -- Make vulnerable

cover

Provides functionality to get or set the life object's cover state.

cover()

  • Description:
    Returns whether the life object is in cover.
  • Parameters:
    • None
  • Return Value:
    • boolean: True if in cover, false otherwise
  • Example:
    -- This is a real usage example from game scripts
    if me:cover() then
        me:message("You are in cover!")
    end

cover(value:boolean)

  • Description:
    Sets the life object's cover state.
  • Parameters:
    • value:boolean: True to enter cover, false to exit cover
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:cover(true)  -- Enter cover
    me:cover(false)  -- Exit cover

base_hp

Provides functionality to get or set base HP.

base_hp()

  • Description:
    Returns the base HP value (without buffs or equipment).
  • Parameters:
    • None
  • Return Value:
    • number: Base HP value
  • Example:
    -- This is a real usage example from game scripts
    local base_hp = me:base_hp()
    me:message("Base HP: " .. base_hp)

base_hp(value:number)

  • Description:
    Sets the base HP value.
  • Parameters:
    • value:number: Base HP to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:base_hp(1000)

buff_hp

Provides functionality to get or set the life object's HP buff value.

buff_hp()

  • Description:
    Returns the current HP buff value of the life object.
  • Parameters:
    • None
  • Return Value:
    • number: Current HP buff value
  • Example:
    -- This is a real usage example from game scripts
    local buff = me:buff_hp()
    me:message("Current HP buff: " .. buff)

buff_hp(value:number)

  • Description:
    Sets the life object's HP buff value.
  • Parameters:
    • value:number: HP buff value to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:buff_hp(1000)  -- Add 1000 HP from buffs

maxhp

maxhp()

  • Description:
    Returns the maximum HP (base HP + buff HP + equipment bonuses).
  • Parameters:
    • None
  • Return Value:
    • number: Maximum HP value
  • Example:
    -- This is a real usage example from game scripts
    local max_hp = me:maxhp()
    me:message("Max HP: " .. max_hp)

base_mp

Provides functionality to get or set base MP.

base_mp()

  • Description:
    Returns the base MP value (without buffs or equipment).
  • Parameters:
    • None
  • Return Value:
    • number: Base MP value
  • Example:
    -- This is a real usage example from game scripts
    local base_mp = me:base_mp()
    me:message("Base MP: " .. base_mp)

base_mp(value:number)

  • Description:
    Sets the base MP value.
  • Parameters:
    • value:number: Base MP to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:base_mp(500)

buff_mp

Provides functionality to get or set the life object's MP buff value.

buff_mp()

  • Description:
    Returns the current MP buff value of the life object.
  • Parameters:
    • None
  • Return Value:
    • number: Current MP buff value
  • Example:
    -- This is a real usage example from game scripts
    local buff = me:buff_mp()
    me:message("Current MP buff: " .. buff)

buff_mp(value:number)

  • Description:
    Sets the life object's MP buff value.
  • Parameters:
    • value:number: MP buff value to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:buff_mp(500)  -- Add 500 MP from buffs

maxmp

maxmp()

  • Description:
    Returns the maximum MP (base MP + buff MP + equipment bonuses).
  • Parameters:
    • None
  • Return Value:
    • number: Maximum MP value
  • Example:
    -- This is a real usage example from game scripts
    local max_mp = me:maxmp()
    me:message("Max MP: " .. max_mp)

base_str

Provides functionality to get or set base strength.

base_str()

  • Description:
    Returns the base strength value (without buffs or equipment).
  • Parameters:
    • None
  • Return Value:
    • number: Base strength value
  • Example:
    -- This is a real usage example from game scripts
    local base_str = me:base_str()
    me:message("Base strength: " .. base_str)

base_str(value:number)

  • Description:
    Sets the base strength value.
  • Parameters:
    • value:number: Base strength to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:base_str(50)

buff_str

Provides functionality to get or set the life object's STR buff value.

buff_str()

  • Description:
    Returns the current STR buff value of the life object.
  • Parameters:
    • None
  • Return Value:
    • number: Current STR buff value
  • Example:
    -- This is a real usage example from game scripts
    local buff = me:buff_str()
    me:message("Current STR buff: " .. buff)

buff_str(value:number)

  • Description:
    Sets the life object's STR buff value.
  • Parameters:
    • value:number: STR buff value to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:buff_str(50)  -- Add 50 STR from buffs

str

str()

  • Description:
    Returns the total strength (base strength + buff strength + equipment bonuses).
  • Parameters:
    • None
  • Return Value:
    • number: Total strength value
  • Example:
    -- This is a real usage example from game scripts
    local message = string.format('%s %s 레벨 %d\n%s힘: %d 민첩성: %d 지능: %d', you:class(), you:name(), you:level(), title, you:str(), you:dex(), you:int())

base_dex

Provides functionality to get or set base dexterity.

base_dex()

  • Description:
    Returns the base dexterity value (without buffs or equipment).
  • Parameters:
    • None
  • Return Value:
    • number: Base dexterity value
  • Example:
    -- This is a real usage example from game scripts
    local base_dex = me:base_dex()
    me:message("Base dexterity: " .. base_dex)

base_dex(value:number)

  • Description:
    Sets the base dexterity value.
  • Parameters:
    • value:number: Base dexterity to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:base_dex(40)

buff_dex

Provides functionality to get or set dexterity buff value.

buff_dex()

  • Description:
    Returns the dexterity buff value.
  • Parameters:
    • None
  • Return Value:
    • number: Dexterity buff value
  • Example:
    -- This is a real usage example from game scripts
    local buff_dex = me:buff_dex()
    me:message("Dexterity buff: " .. buff_dex)

buff_dex(value:number)

  • Description:
    Sets the dexterity buff value.
  • Parameters:
    • value:number: Dexterity buff to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:buff_dex(8)

dex

dex()

  • Description:
    Returns the total dexterity (base dexterity + buff dexterity + equipment bonuses).
  • Parameters:
    • None
  • Return Value:
    • number: Total dexterity value
  • Example:
    -- This is a real usage example from game scripts
    local message = string.format('%s %s 레벨 %d\n%s힘: %d 민첩성: %d 지능: %d', you:class(), you:name(), you:level(), title, you:str(), you:dex(), you:int())

base_int

Provides functionality to get or set base intelligence.

base_int()

  • Description:
    Returns the base intelligence value (without buffs or equipment).
  • Parameters:
    • None
  • Return Value:
    • number: Base intelligence value
  • Example:
    -- This is a real usage example from game scripts
    local base_int = me:base_int()
    me:message("Base intelligence: " .. base_int)

base_int(value:number)

  • Description:
    Sets the base intelligence value.
  • Parameters:
    • value:number: Base intelligence to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:base_int(30)

buff_int

Provides functionality to get or set intelligence buff value.

buff_int()

  • Description:
    Returns the intelligence buff value.
  • Parameters:
    • None
  • Return Value:
    • number: Intelligence buff value
  • Example:
    -- This is a real usage example from game scripts
    local buff_int = me:buff_int()
    me:message("Intelligence buff: " .. buff_int)

buff_int(value:number)

  • Description:
    Sets the intelligence buff value.
  • Parameters:
    • value:number: Intelligence buff to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:buff_int(12)

int

int()

  • Description:
    Returns the total intelligence (base intelligence + buff intelligence + equipment bonuses).
  • Parameters:
    • None
  • Return Value:
    • number: Total intelligence value
  • Example:
    -- This is a real usage example from game scripts
    local percent = 0.5 + ((me:int() / 255) * 0.5)

base_phydef

Provides functionality to get or set base physical defense.

base_phydef()

  • Description:
    Returns the base physical defense value (without buffs or equipment).
  • Parameters:
    • None
  • Return Value:
    • number: Base physical defense value
  • Example:
    -- This is a real usage example from game scripts
    local base_phydef = me:base_phydef()
    me:message("Base physical defense: " .. base_phydef)

base_phydef(value:number)

  • Description:
    Sets the base physical defense value.
  • Parameters:
    • value:number: Base physical defense to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:base_phydef(10)

buff_phydef

Provides functionality to get or set physical defense buff value.

buff_phydef()

  • Description:
    Returns the physical defense buff value.
  • Parameters:
    • None
  • Return Value:
    • number: Physical defense buff value
  • Example:
    -- This is a real usage example from game scripts
    local buff_phydef = me:buff_phydef()
    me:message("Physical defense buff: " .. buff_phydef)

buff_phydef(value:number)

  • Description:
    Sets the physical defense buff value.
  • Parameters:
    • value:number: Physical defense buff to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:buff_phydef(5)

phydef

phydef()

  • Description:
    Returns the total physical defense (base physical defense + buff physical defense + equipment bonuses).
  • Parameters:
    • None
  • Return Value:
    • number: Total physical defense value
  • Example:
    -- This is a real usage example from game scripts
    local total_phydef = me:phydef()
    me:message("Total physical defense: " .. total_phydef)

base_magdef

Provides functionality to get or set base magical defense.

base_magdef()

  • Description:
    Returns the base magical defense value (without buffs or equipment).
  • Parameters:
    • None
  • Return Value:
    • number: Base magical defense value
  • Example:
    -- This is a real usage example from game scripts
    local base_magdef = me:base_magdef()
    me:message("Base magical defense: " .. base_magdef)

base_magdef(value:number)

  • Description:
    Sets the base magical defense value.
  • Parameters:
    • value:number: Base magical defense to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:base_magdef(8)

buff_magdef

Provides functionality to get or set magical defense buff value.

buff_magdef()

  • Description:
    Returns the magical defense buff value.
  • Parameters:
    • None
  • Return Value:
    • number: Magical defense buff value
  • Example:
    -- This is a real usage example from game scripts
    local buff_magdef = me:buff_magdef()
    me:message("Magical defense buff: " .. buff_magdef)

buff_magdef(value:number)

  • Description:
    Sets the magical defense buff value.
  • Parameters:
    • value:number: Magical defense buff to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:buff_magdef(3)

magdef

magdef()

  • Description:
    Returns the total magical defense (base magical defense + buff magical defense + equipment bonuses).
  • Parameters:
    • None
  • Return Value:
    • number: Total magical defense value
  • Example:
    -- This is a real usage example from game scripts
    local total_magdef = me:magdef()
    me:message("Total magical defense: " .. total_magdef)

base_dam

Provides functionality to get or set base damage.

base_dam()

  • Description:
    Returns the base damage value (without buffs or equipment).
  • Parameters:
    • None
  • Return Value:
    • number: Base damage value
  • Example:
    -- This is a real usage example from game scripts
    local base_dam = me:base_dam()
    me:message("Base damage: " .. base_dam)

base_dam(value:number)

  • Description:
    Sets the base damage value.
  • Parameters:
    • value:number: Base damage to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:base_dam(20)

buff_dam

Provides functionality to get or set damage buff value.

buff_dam()

  • Description:
    Returns the damage buff value.
  • Parameters:
    • None
  • Return Value:
    • number: Damage buff value
  • Example:
    -- This is a real usage example from game scripts
    local buff_dam = me:buff_dam()
    me:message("Damage buff: " .. buff_dam)

buff_dam(value:number)

  • Description:
    Sets the damage buff value.
  • Parameters:
    • value:number: Damage buff to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:buff_dam(15)

dam

dam()

  • Description:
    Returns the total damage (base damage + buff damage + equipment bonuses).
  • Parameters:
    • None
  • Return Value:
    • number: Total damage value
  • Example:
    -- This is a real usage example from game scripts
    local total_dam = me:dam()
    me:message("Total damage: " .. total_dam)

base_hit

Provides functionality to get or set base hit rate.

base_hit()

  • Description:
    Returns the base hit rate value (without buffs or equipment).
  • Parameters:
    • None
  • Return Value:
    • number: Base hit rate value
  • Example:
    -- This is a real usage example from game scripts
    local base_hit = me:base_hit()
    me:message("Base hit rate: " .. base_hit)

base_hit(value:number)

  • Description:
    Sets the base hit rate value.
  • Parameters:
    • value:number: Base hit rate to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:base_hit(80)

buff_hit

Provides functionality to get or set hit rate buff value.

buff_hit()

  • Description:
    Returns the hit rate buff value.
  • Parameters:
    • None
  • Return Value:
    • number: Hit rate buff value
  • Example:
    -- This is a real usage example from game scripts
    local buff_hit = me:buff_hit()
    me:message("Hit rate buff: " .. buff_hit)

buff_hit(value:number)

  • Description:
    Sets the hit rate buff value.
  • Parameters:
    • value:number: Hit rate buff to set
  • Return Value:
    • None
  • Example:
    -- This is a real usage example from game scripts
    me:buff_hit(10)

hit

hit()

  • Description:
    Returns the total hit rate (base hit rate + buff hit rate + equipment bonuses).
  • Parameters:
    • None
  • Return Value:
    • number: Total hit rate value
  • Example:
    -- This is a real usage example from game scripts
    local total_hit = me:hit()
    me:message("Total hit rate: " .. total_hit)

Clone this wiki locally