Skip to content

Condition

Condition Class

Conditions represent status effects that can be applied to creatures (buffs, debuffs, damage over time, etc.).

Constructor

Condition(conditionType, conditionId)
ParameterTypeDefaultDescription
conditionTypenumberRequiredCondition type constant
conditionIdnumberCONDITIONID_COMBATCondition ID

Condition Types

ConstantDescription
CONDITION_POISONPoison damage over time
CONDITION_FIREFire damage over time
CONDITION_ENERGYEnergy damage over time
CONDITION_BLEEDINGPhysical damage over time
CONDITION_HASTEIncreased speed
CONDITION_PARALYZEDecreased speed
CONDITION_OUTFITOutfit change
CONDITION_INVISIBLEInvisibility
CONDITION_LIGHTLight source
CONDITION_MANASHIELDMagic shield
CONDITION_INFIGHTIn combat
CONDITION_DRUNKDrunk movement
CONDITION_EXHAUSTExhaustion
CONDITION_REGENERATIONHealth/mana regen
CONDITION_SOULSoul regeneration
CONDITION_DROWNDrowning
CONDITION_MUTEDCannot speak
CONDITION_CHANNELMUTEDTICKSChannel muted
CONDITION_YELLTICKSCannot yell
CONDITION_ATTRIBUTESStat modifications
CONDITION_FREEZINGIce damage over time
CONDITION_DAZZLEDDazzled effect
CONDITION_CURSEDCursed effect
CONDITION_ROOTEDCannot move
CONDITION_FEAREDFear effect

Condition IDs

ConstantDescription
CONDITIONID_DEFAULTDefault ID
CONDITIONID_COMBATCombat condition
CONDITIONID_HEADHead slot
CONDITIONID_NECKLACENecklace slot
CONDITIONID_BACKPACKBackpack slot
CONDITIONID_ARMORArmor slot
CONDITIONID_RIGHTRight hand
CONDITIONID_LEFTLeft hand
CONDITIONID_LEGSLegs slot
CONDITIONID_FEETFeet slot
CONDITIONID_RINGRing slot
CONDITIONID_AMMOAmmo slot

Parameters

setParameter(key, value)

KeyDescription
CONDITION_PARAM_TICKSDuration in milliseconds
CONDITION_PARAM_HEALTHGAINHealth regeneration amount
CONDITION_PARAM_HEALTHTICKSHealth regen interval
CONDITION_PARAM_MANAGAINMana regeneration amount
CONDITION_PARAM_MANATICKSMana regen interval
CONDITION_PARAM_DELAYEDDelayed effect
CONDITION_PARAM_SPEEDSpeed modifier
CONDITION_PARAM_LIGHT_LEVELLight level
CONDITION_PARAM_LIGHT_COLORLight color
CONDITION_PARAM_SOULGAINSoul regeneration
CONDITION_PARAM_SOULTICKSSoul regen interval
CONDITION_PARAM_MINVALUEMinimum damage/heal
CONDITION_PARAM_MAXVALUEMaximum damage/heal
CONDITION_PARAM_STARTVALUEStarting value
CONDITION_PARAM_TICKINTERVALTick interval
CONDITION_PARAM_FORCEUPDATEForce update
CONDITION_PARAM_SKILL_*Skill modifiers
CONDITION_PARAM_STAT_*Stat modifiers
CONDITION_PARAM_BUFF_SPELLBuff is spell
CONDITION_PARAM_SUBIDSub-identifier
CONDITION_PARAM_OWNERCondition owner
CONDITION_PARAM_DISABLE_DEFENSEDisable defense

Outfit Methods

setOutfit(outfit)

Set outfit for CONDITION_OUTFIT.

local condition = Condition(CONDITION_OUTFIT)
condition:setParameter(CONDITION_PARAM_TICKS, 60000)
condition:setOutfit({lookType = 130})
creature:addCondition(condition)

Damage Formula

setFormula(mina, minb, maxa, maxb)

Set damage formula for damage conditions.

local condition = Condition(CONDITION_FIRE)
condition:setParameter(CONDITION_PARAM_TICKS, 10000)
condition:setParameter(CONDITION_PARAM_TICKINTERVAL, 2000)
condition:setFormula(-1, -10, -1, -20) -- -10 to -20 per tick

Methods

MethodReturnsDescription
getId()numberCondition ID
getSubId()numberSub-identifier
getType()numberCondition type
getIcons()numberClient icons
getEndTime()numberEnd timestamp
getTicks()numberRemaining ticks
setTicks(ticks)-Set remaining ticks
clone()ConditionClone condition

Examples

Haste Condition

local condition = Condition(CONDITION_HASTE)
condition:setParameter(CONDITION_PARAM_TICKS, 30000) -- 30 seconds
condition:setParameter(CONDITION_PARAM_SPEED, 100) -- +100 speed
player:addCondition(condition)

Poison Condition

local condition = Condition(CONDITION_POISON)
condition:setParameter(CONDITION_PARAM_TICKS, 60000) -- 60 seconds
condition:setParameter(CONDITION_PARAM_MINVALUE, 5)
condition:setParameter(CONDITION_PARAM_MAXVALUE, 10)
condition:setParameter(CONDITION_PARAM_STARTVALUE, 10)
condition:setParameter(CONDITION_PARAM_TICKINTERVAL, 4000)
creature:addCondition(condition)

Regeneration Condition

local condition = Condition(CONDITION_REGENERATION)
condition:setParameter(CONDITION_PARAM_TICKS, -1) -- Infinite
condition:setParameter(CONDITION_PARAM_HEALTHGAIN, 10)
condition:setParameter(CONDITION_PARAM_HEALTHTICKS, 1000)
condition:setParameter(CONDITION_PARAM_MANAGAIN, 5)
condition:setParameter(CONDITION_PARAM_MANATICKS, 1000)
player:addCondition(condition)

Light Condition

local condition = Condition(CONDITION_LIGHT)
condition:setParameter(CONDITION_PARAM_TICKS, 600000) -- 10 minutes
condition:setParameter(CONDITION_PARAM_LIGHT_LEVEL, 8)
condition:setParameter(CONDITION_PARAM_LIGHT_COLOR, 215)
player:addCondition(condition)

Attribute Boost

local condition = Condition(CONDITION_ATTRIBUTES)
condition:setParameter(CONDITION_PARAM_TICKS, 300000) -- 5 minutes
condition:setParameter(CONDITION_PARAM_SKILL_MELEE, 10) -- +10 melee skills
condition:setParameter(CONDITION_PARAM_STAT_MAXHITPOINTS, 100) -- +100 max HP
player:addCondition(condition)

Paralyze Condition

local condition = Condition(CONDITION_PARALYZE)
condition:setParameter(CONDITION_PARAM_TICKS, 20000)
condition:setParameter(CONDITION_PARAM_SPEED, -50) -- -50 speed
creature:addCondition(condition)

Outfit Condition (Transform)

local condition = Condition(CONDITION_OUTFIT)
condition:setParameter(CONDITION_PARAM_TICKS, 120000) -- 2 minutes
condition:setOutfit({lookType = 35}) -- Rat outfit
player:addCondition(condition)

Checking Conditions

-- Check if has condition type
if creature:hasCondition(CONDITION_HASTE) then
print("Has haste")
end
-- Get specific condition
local condition = creature:getCondition(CONDITION_POISON, CONDITIONID_COMBAT)
if condition then
local remaining = condition:getTicks()
print("Poison remaining: " .. remaining .. "ms")
end
-- Remove condition
creature:removeCondition(CONDITION_PARALYZE)

Stat Parameters

ParameterDescription
CONDITION_PARAM_STAT_MAXHITPOINTSMax HP
CONDITION_PARAM_STAT_MAXMANAPOINTSMax MP
CONDITION_PARAM_STAT_MAGICPOINTSMagic level
CONDITION_PARAM_STAT_MAXHITPOINTSPERCENTMax HP %
CONDITION_PARAM_STAT_MAXMANAPOINTSPERCENTMax MP %
CONDITION_PARAM_STAT_MAGICPOINTSPERCENTMagic %

Skill Parameters

ParameterDescription
CONDITION_PARAM_SKILL_MELEEAll melee skills
CONDITION_PARAM_SKILL_FISTFist fighting
CONDITION_PARAM_SKILL_CLUBClub fighting
CONDITION_PARAM_SKILL_SWORDSword fighting
CONDITION_PARAM_SKILL_AXEAxe fighting
CONDITION_PARAM_SKILL_DISTANCEDistance fighting
CONDITION_PARAM_SKILL_SHIELDShielding
CONDITION_PARAM_SKILL_FISHINGFishing