landsandboat/scripts/enum/animation_string.lua
2026-04-24 18:42:25 -06:00

149 lines
5.6 KiB
Lua

-----------------------------------
-- Animation strings
-----------------------------------
xi = xi or {}
--[[
-----------------------------------
mob:entityAnimationPacket(xi.animationString.STATUS_VISIBLE)
-----------------------------------
The base entity is a mob, and anyone in range to see the mob sees the animation.
We do accept a second argument in this one, for target.
An example of this is the afflictors in Beadeaux, which target the player.
-----------------------------------
player:entityVisualPacket(xi.animationString.STATUS_VISIBLE)
-----------------------------------
In this, it's a part of the zone itself animating, so player is used as base entity and any player that zones in gets sent the packet to light up that part of the zone.
There is technically an "object" or "entity" but its not ID'd like an NPC, and technically speaking a zone dat is laid out like NPC's are part of it.
-----------------------------------
SendEntityVisualPacket(ID.npc.GEYSER_OFFSET,xi.animationString.STATUS_VISIBLE)
-----------------------------------
This one is a luautils binding, sending a packet to the entire zone (of whoever is in visual range of the ID specified) on demand.
These are FOURCC (4 character codes). They will always be 4, not 5+.
For most things you can get away with using the wrong one, and they still just work.
--]]
---@enum xi.animationString
xi.animationString =
{
-- Physical
BASIC_ATTACK = 'atk0',
ATTACK_1 = 'ati0',
ATTACK_2 = 'ati1',
ATTACK_3 = 'ati2',
CRITICAL_HIT = 'chit',
-- Ranged start
RANGED_START = 'calg', -- Generic non-weapon specific
RANGED_SINGING_START = 'lc00',
RANGED_WIND_INSTR_START = 'lc01',
RANGED_STRING_INSTR_START = 'lc02',
RANGED_GUN_START = 'lc03',
RANGED_BOOMERANG_START = 'lc04',
RANGED_BOW_START = 'lc06',
-- Ranged stop
RANGED_STOP = 'shlg', -- Generic non-weapon specific
RANGED_INTERRUPT = 'splg', -- Generic non-weapon specific
RANGED_SINGING_STOP = 'ls00',
RANGED_WIND_INSTR_STOP = 'ls01',
RANGED_STRING_INSTR_STOP = 'ls02',
RANGED_GUN_STOP = 'ls03',
RANGED_BOOMERANG_STOP = 'ls04',
RANGED_BOW_STOP = 'ls06',
-- Casting start
CAST_BLACK_MAGIC_START = 'cabk',
CAST_BLUE_MAGIC_START = 'cabl',
CAST_GEOMANCY_MAGIC_START = 'cage',
CAST_ITEM_START = 'cait',
CAST_NINJA_START = 'canj',
CAST_SUMMONER_START = 'casm',
CAST_SONG_START = 'caso',
CAST_TRUST_START = 'cafa',
CAST_WHITE_MAGIC_START = 'cawh',
-- Casting finish
CAST_BLACK_MAGIC_STOP = 'shbk',
CAST_BLUE_MAGIC_STOP = 'shbl',
CAST_GEOMANCY_MAGIC_STOP = 'shge',
CAST_ITEM_STOP = 'shit',
CAST_NINJA_STOP = 'shnj',
CAST_SUMMONER_STOP = 'shsm',
CAST_SONG_STOP = 'shso',
CAST_TRUST_STOP = 'shfa',
CAST_WHITE_MAGIC_STOP = 'shwh',
-- Casting interrupt
CAST_BLACK_MAGIC_INTERRUPT = 'spbk',
CAST_BLUE_MAGIC_INTERRUPT = 'spbl',
CAST_GEOMANCY_MAGIC_INTERRUPT = 'spge',
CAST_ITEM_INTERRUPT = 'spit',
CAST_NINJA_INTERRUPT = 'spnj',
CAST_SUMMONER_INTERRUPT = 'spsm',
CAST_SONG_INTERRUPT = 'spso',
CAST_TRUST_INTERRUPT = 'spfa',
CAST_WHITE_MAGIC_INTERRUPT = 'spwh',
-- Actions
JUMP_0 = 'jmp0',
JUMP_1 = 'jmp1',
RESTING_START = 'res0',
RESTING_STOP = 'res2',
SITTING_START = 'sit0',
SITTING_STOP = 'sit2',
SKILL_START = 'cate',
SKILL_INTERRUPT = 'spte',
-- Effects
EFFECT_DEATH = 'dead',
EFFECT_SWEATING = 'hitl',
EFFECT_SILENCE = 'sils',
EFFECT_RAISE_PLAYER = 'stnd',
EFFECT_HOME_POINT = 'bind', -- Home Point Set animation, only used in a module
-- Status
STATUS_VISIBLE = 'deru',
STATUS_DISAPPEAR = 'kesu',
-- Chests
OPEN_CRATE_GLOW = 'open',
OPEN_CRATE_SMOKE = 'ope1',
OPEN_CRATE = 'ope2',
-- Doors
OPEN_DOOR = 'smin',
CLOSE_DOOR = 'kmin',
-- Special animations
SPECIAL_00 = 'sp00', -- Prishe Raise, Selh'teus Lancet, Al'tieu Euvhi (Flowers) sticking to ground, Zdei vertical barriers on, etc...
SPECIAL_10 = 'sp10', -- Zdei vertical barriers off, etc...
SPECIAL_20 = 'sp20', -- Zdei horizontal barriers on, etc...
SPECIAL_30 = 'sp30', -- Zdei horizontal barriers off, etc...
-- Synergy
SYNERGY_COMPLETE = 'ef40',
SYNERGY_FIRE_LEAK = 'ef81',
SYNERGY_ICE_LEAK = 'ef82',
SYNERGY_WIND_LEAK = 'ef83',
SYNERGY_EARTH_LEAK = 'ef84',
SYNERGY_LIGHTNING_LEAK = 'ef85',
SYNERGY_WATER_LEAK = 'ef86',
SYNERGY_LIGHT_LEAK = 'ef87',
SYNERGY_DARK_LEAK = 'ef88',
SYNERGY_FIRE_FEWELL = 'ef91',
SYNERGY_ICE_FEWELL = 'ef92',
SYNERGY_WIND_FEWELL = 'ef93',
SYNERGY_EARTH_FEWELL = 'ef94',
SYNERGY_LIGHTNING_FEWELL = 'ef95',
SYNERGY_WATER_FEWELL = 'ef96',
SYNERGY_LIGHT_FEWELL = 'ef97',
SYNERGY_DARK_FEWELL = 'ef98',
SYNERGY_STEAM = 'efa0',
-- QM animations
SHIMMER = 'efon',
}