Skip to content
Toto (C.A) edited this page Jul 31, 2025 · 1 revision

Módulo Core: Componentes Base

El módulo Core contiene los constructores fundamentales de bajo nivel de los que heredan la mayoría de los demás componentes de Systemall. Entender estos tres componentes es clave para comprender la arquitectura de la librería.

Mall

El constructor Mall es el "ancestro" de casi todos los objetos de Systemall. Proporciona un conjunto de propiedades y métodos base que son compartidos por todos sus descendientes.

Propiedades Tipo Descripción
is String Una referencia al tipo de constructor de la instancia (ej: PocketItem o PartyEntity).
key String La llave de la plantilla base del componente, leída desde el JSON.
index Real El índice de la instancia dentro de un array, si aplica (ej: la posición de una entidad en un PartyGroup).
args Struct Un struct vacío que puede ser usado por el desarrollador para pasar argumentos personalizados a las funciones de evento.

Métodos

.Export()

Exporta el estado actual de la instancia a un struct simple, listo para ser guardado.


.Import(data)

Restaura el estado de la instancia a partir de un struct previamente exportado.

Argumento Tipo Descripción
data Struct El struct con los datos guardados.

MallIterator

Es un temporizador simplificado diseñado para gestionar duraciones y repeticiones. Su uso principal es en los Módulo Dark para controlar cuánto tiempo permanecen activos.

Propiedades Tipo Descripción
active Bool true si el iterador está actualmente en funcionamiento.
duration Real Cuántos "ticks" o pasos dura un ciclo completo.
repeats Real Cuántas veces se repetirá el ciclo. 0 significa que se ejecutará una sola vez.

Métodos

.Configure()

Configura y activa el iterador.

Argumento Tipo Descripción
duration Real Cuántos ticks dura un ciclo.
repeats Real Cuántas veces se repite el ciclo.

.Tick()

Avanza el iterador un paso. Devuelve un MALL_ITERATOR_STATE (.WORKING, .CYCLE_END, .COMPLETED o .INACTIVE) para indicar su estado actual.


.IsActive()

Devuelve true si el iterador está activo.


.Copy()

Crea una nueva instancia del iterador con la misma configuración (no el estado actual).

MallResult

Es un contenedor estandarizado para los resultados de una acción de combate. Cuando un comando se ejecuta, devuelve una instancia de MallResult para informar al WateManager de lo que ha ocurrido. Esto asegura que la comunicación entre los sistemas sea predecible y robusta.

Todas las propiedades son arrays, donde cada índice corresponde a un objetivo de la acción.

Propiedades Tipo Descripción
success Bool El éxito general de la operación.
defeated Array Indica si cada objetivo fue derrotado.
value Array Un valor genérico, usado principalmente para curaciones.
damage Array El daño infligido a cada objetivo.
consumed Array El recurso consumido (ej: EPM).
used Array La cantidad de un item usado.

Métodos

.Push(...)

Añade un nuevo set de resultados para un objetivo.

Argumento Tipo Descripción
defeated Bool Si el objetivo fue derrotado
value Real Un valor genérico (ej: curación).
damage Real El daño infligido.
consumed Real El recurso consumido (ej: EPM).
used Real El item usado (ej: cantidad de pociones).

.Size()

Devuelve el número de objetivos afectados.


.GetTotalDamage()

Devuelve la suma de todo el daño infligido.


.WasAnyDefeated()

Devuelve true si al menos un objetivo fue derrotado.

Clone this wiki locally