Saltar a contenido

Funciones de Monstruos

gObjAddMonster(map)

Asigna un nuevo objeto de monstruo en el mapa dado. Retorna el índice del objeto o -1.

local idx = gObjAddMonster(0) -- Allocate on Lorencia

gObjSpawnMonster(monsterClass, map, x, y)

Genera un monstruo completamente inicializado en las coordenadas dadas. Crea una entrada MONSTER_SET_BASE_INFO.

  • Retorna: number — índice del objeto, o -1 en caso de fallo
local idx = gObjSpawnMonster(275, 0, 130, 130) -- Spawn monster 275 at Lorencia
if idx >= 0 then
    LogAdd(LOG_GREEN, "Monster spawned at index " .. idx)
end

gObjSetPosMonster(aIndex, map, posNumber)

Establece la posición de un monstruo desde los datos de MonsterSetBase.

gObjSetPosMonster(idx, 0, 0)

gObjSetMonster(aIndex, monsterClass)

Inicializa un objeto de monstruo con los datos de su clase (estadísticas, IA, etc.).

gObjSetMonster(idx, 275)

gObjMonsterRegen(lpObj)

Activa la reaparición/regeneración del monstruo.

gObjMonsterRegen(monster)

gObjMonsterDie(lpObj, lpTarget)

Procesa la muerte del monstruo (drops, experiencia, etc.).

gObjMonsterDie(monster, killer)

gObjMonsterDieGiveItem(lpObj, lpTarget)

Maneja los drops de items al morir el monstruo.

gObjMonsterDieGiveItem(monster, killer)

gObjMonsterAttack(lpObj, lpTarget)

Ejecuta el ataque físico de un monstruo sobre un objetivo.

gObjMonsterAttack(monster, player)

gObjMonsterMagicAttack(lpObj, skill, targetIndex)

Ejecuta el ataque mágico de un monstruo.

gObjMonsterMagicAttack(monster, 41, player.Index)

Seguimiento de Daño Recibido

Función Descripción
gObjMonsterInitHitDamage(lpObj) Inicializar tabla de daño recibido
gObjMonsterResetHitDamage(lpObj) Reiniciar tabla de daño recibido
gObjMonsterSetHitDamage(lpObj, aIndex, damage) Registrar daño, retorna acumulado
gObjMonsterDelHitDamageUser(lpObj, aIndex) Eliminar un usuario del seguimiento
gObjMonsterDelHitDamageUserCustom(lpObj, aIndex) Variante de eliminación personalizada
gObjMonsterGetTopHitDamageUser(lpObj) Obtener índice del mayor dañador
gObjMonsterGetTopHitDamageUserCustom(lpObj) Variante personalizada
local accumulated = gObjMonsterSetHitDamage(boss, player.Index, 5000)
local topDealer = gObjMonsterGetTopHitDamageUser(boss)

gObjMonsterGetTopHitDamageParty(lpObj, partyNumber) / gObjMonsterGetTopHitDamagePartyCustom(lpObj, partyNumber)

Obtiene el mayor dañador y la cantidad de daño de un grupo.

  • Retorna: damage, topUserIndex (tupla)
local dmg, topIdx = gObjMonsterGetTopHitDamageParty(boss, player.PartyNumber)
LogAdd(LOG_BLUE, "Top party damage dealer: " .. topIdx .. " with " .. dmg)

IA y Comportamiento de Monstruos

Función Descripción
gObjMonsterProcess(lpObj) Bucle principal de procesamiento de IA del monstruo
gObjMonsterStateProc(lpObj) Procesar máquina de estados del monstruo
gObjMonsterStateProcCase0(lpObj) Procesar estado inactivo específicamente
gObjMonsterMoveCheck(lpObj) Verificar si el monstruo puede moverse
gObjMonsterMoveAction(lpObj) Ejecutar movimiento del monstruo
gObjMonsterBaseAct(lpObj) Comportamiento base del monstruo
gObjMonsterSearchEnemy(lpObj) Buscar enemigos en el viewport
gObjCheckMonsterSearchEnemy(lpObj) Validar resultados de búsqueda de enemigos
gObjGuardSearchEnemy(lpObj) Búsqueda de enemigos del NPC guardia
gObjMonsterGetTargetPos(lpObj) Obtener objetivo de movimiento del monstruo
gObjMonsterViewportIsCharacter(lpObj) Verificar si el viewport tiene personajes
gObjIsBossMonster(aIndex) Verificar si el objeto es un jefe
gObjMonsterSelectSkillForMedusa(lpObj) Selección de habilidad del jefe Medusa
if gObjIsBossMonster(monster.Index) then
    LogAdd(LOG_RED, "This is a boss monster!")
end

Funciones de Trampa de Monstruos

Función Descripción
gObjMonsterTrapAct(lpObj) Ejecutar comportamiento de monstruo trampa
gObjTrapAttackEnemySearchX(lpObj) Buscar enemigos en eje X
gObjTrapAttackEnemySearchY(lpObj) Buscar enemigos en eje Y
gObjTrapAttackEnemySearch(lpObj) Búsqueda general de enemigos de trampa
gObjTrapAttackEnemySearchRange(lpObj) Búsqueda de trampa basada en rango

Acciones Especiales de Monstruos

Función Descripción
gObjMonsterWeaknessAct(lpObj) Comportamiento de debuff de debilidad
gObjMonsterInnovationAct(lpObj) Comportamiento de buff de innovación
gObjMonsterMagicFieldPoison(lpObj) Ataque de campo de veneno
gObjMonsterMagicFieldChilling(lpObj) Ataque de campo de frío
gObjMonsterMagicFieldBleeding(lpObj) Ataque de campo de sangrado
gObjMonsterUnleashMarvelMainEnergy(lpObj) Liberación de energía del jefe Marvel