Descripcion General
Los efectos de entidad son modificadores temporales o permanentes aplicados a las entidades en tiempo de ejecucion. Impulsan una amplia gama de sistemas: tintes visuales y superposiciones de pantalla al recibir dano, mejoras de comida que aumentan la salud maxima, dano con el tiempo por quemaduras y veneno, efectos de control de masas como raiz y aturdimiento, y rastros de particulas cosmeticos en habilidades de armas. Cada archivo de efecto define su duracion, reglas de superposicion, modificaciones de estadisticas y retroalimentacion visual/auditiva.
Ubicacion de Archivos
Assets/Server/Entity/Effects/
Los subdirectorios agrupan los efectos por categoria:
Assets/Server/Entity/Effects/
BlockPlacement/ (retroalimentacion de exito/fallo al colocar bloques)
Damage/ (efectos de destello al recibir golpe)
Deployables/ (auras de sanacion/ralentizacion de totems)
Drop/ (efectos de brillo por rareza de objetos)
Boost/ (aumentos de estadisticas maximas por comida)
Buff/ (sanaciones instantaneas y mejoras con temporizador)
GameMode/ (visual del modo creativo)
Immunity/ (invulnerabilidad al esquivar, inmunidad al fuego/ambiente)
Mana/ (efectos de regeneracion y drenaje de mana)
Movement/ (efectos direccionales al esquivar)
Npc/ (muerte de NPC, sanacion, retorno a casa)
Portals/ (visual de teletransporte)
Projectiles/ (sub-efectos de flechas, bombas, escombros)
Stamina/ (resistencia agotada, error, retraso de regeneracion)
Status/ (quemadura, congelacion, veneno, raiz, ralentizacion, aturdimiento)
Weapons/ (efectos de firma y habilidad de armas)
Esquema
Campos de nivel superior
Campo Tipo Requerido Por defecto Descripcion DurationnumberSi — Duracion del efecto en segundos. 0 o 0.0 significa que el efecto se dispara una vez instantaneamente. InfinitebooleanNo falseSi es true, el efecto persiste indefinidamente hasta que se elimine explicitamente. Anula Duration. OverlapBehavior"Overwrite" | "Extend"No — Como manejar la re-aplicacion mientras ya esta activo. Overwrite reemplaza el temporizador; Extend agrega a la duracion restante. RemovalBehaviorstringNo — Como se elimina el efecto. Valor conocido: "Duration" (se elimina cuando expira el temporizador). DebuffbooleanNo falseSi es true, el efecto se clasifica como debuff y puede ser limpiado por interacciones tipo antidoto. InvulnerablebooleanNo falseSi es true, la entidad no puede recibir dano mientras el efecto esta activo. StatusEffectIconstringNo — Ruta al icono de la interfaz mostrado en la barra de efectos de estado. DeathMessageKeystringNo — Clave de localizacion para el mensaje de muerte cuando este efecto mata a una entidad. ApplicationEffectsApplicationEffectsNo — Modificaciones visuales, de audio y de movimiento aplicadas mientras el efecto esta activo. StatModifiersobjectNo — Mapa de ID de estadistica a valor plano agregado por tick (por ejemplo, {"Health": 2}). ValueTypestringNo — Como se interpretan los valores de StatModifiers. Valor conocido: "Percent". RawStatModifiersobjectNo — Mapa de ID de estadistica a un array de objetos modificadores crudos para manipulacion avanzada de estadisticas. DamageCalculatorDamageCalculatorNo — Dano periodico aplicado mientras el efecto esta activo. DamageCalculatorCooldownnumberNo — Segundos entre cada tick de dano del DamageCalculator. DamageEffectsobjectNo — Eventos de sonido activados en cada tick de dano. ModelOverrideModelOverrideNo — Reemplaza el modelo visual de la entidad durante la duracion del efecto (por ejemplo, enredaderas de raiz).
ApplicationEffects
Campo Tipo Requerido Por defecto Descripcion EntityTopTintstringNo — Color hexadecimal aplicado a la parte superior del modelo de la entidad. EntityBottomTintstringNo — Color hexadecimal aplicado a la parte inferior del modelo de la entidad. ScreenEffectstringNo — Ruta a una textura de superposicion de pantalla (por ejemplo, "ScreenEffects/Fire.png"). HorizontalSpeedMultipliernumberNo — Multiplicador aplicado a la velocidad de movimiento horizontal. 0.5 = 50% de velocidad. KnockbackMultipliernumberNo — Multiplicador para el retroceso entrante. 0 = inmune al retroceso. ModelVFXIdstringNo — ID de un VFX a nivel de modelo para adjuntar a la entidad. ParticlesParticleRef[]No — Lista de sistemas de particulas para generar en la entidad. MovementEffectsobjectNo — Anulaciones de movimiento. Contiene DisableAll: true para inmovilizar completamente a la entidad. WorldSoundEventIdstringNo — Evento de sonido audible para todos los jugadores cercanos. LocalSoundEventIdstringNo — Evento de sonido audible solo para el jugador afectado.
ParticleRef
Campo Tipo Requerido Por defecto Descripcion SystemIdstringSi — ID del sistema de particulas a generar. TargetEntityPartstringNo — Parte de la entidad a la que adjuntar la particula (por ejemplo, "Entity"). TargetNodeNamestringNo — Nombre del hueso o nodo para el anclaje (por ejemplo, "Hip"). PositionOffsetVector3No — Desplazamiento local desde el punto de anclaje. ColorstringNo — Color hexadecimal de anulacion para el sistema de particulas.
RawStatModifier
Campo Tipo Requerido Por defecto Descripcion AmountnumberSi — Valor del modificador. La interpretacion depende de CalculationType. CalculationType"Additive" | "Multiplicative"Si — Additive agrega un valor plano al objetivo; Multiplicative escala el objetivo por la cantidad.TargetstringSi — Que aspecto de la estadistica modificar. Valor conocido: "Max" (modifica el maximo de la estadistica).
DamageCalculator
Campo Tipo Requerido Por defecto Descripcion BaseDamageobjectSi — Mapa de ID de tipo de dano a valor de dano (por ejemplo, {"Fire": 5}).
ModelOverride
Campo Tipo Requerido Por defecto Descripcion ModelstringSi — Ruta al archivo .blockymodel de reemplazo. TexturestringSi — Ruta a la textura de reemplazo. AnimationSetsobjectNo — Mapa de nombre de estado de animacion a definiciones de animacion (por ejemplo, Spawn, Despawn).
Ejemplos
Efecto de estado de quemadura (Assets/Server/Entity/Effects/Status/Burn.json):
"EntityBottomTint" : " #100600 " ,
"EntityTopTint" : " #cf2302 " ,
"ScreenEffect" : " ScreenEffects/Fire.png " ,
"WorldSoundEventId" : " SFX_Effect_Burn_World " ,
"LocalSoundEventId" : " SFX_Effect_Burn_Local " ,
"Particles" : [{ "SystemId" : " Effect_Fire " }],
"DamageCalculatorCooldown" : 1 ,
"BaseDamage" : { "Fire" : 5 }
"WorldSoundEventId" : " SFX_Effect_Burn_World " ,
"PlayerSoundEventId" : " SFX_Effect_Burn_Local "
"OverlapBehavior" : " Overwrite " ,
"StatusEffectIcon" : " UI/StatusEffects/Burn.png " ,
"DeathMessageKey" : " server.general.deathCause.burn "
Mejora de comida con aumento de salud maxima (Assets/Server/Entity/Effects/Food/Boost/Food_Health_Boost_Large.json):
"CalculationType" : " Additive " ,
"OverlapBehavior" : " Overwrite " ,
"StatusEffectIcon" : " UI/StatusEffects/AddHealth/Large.png "
Invulnerabilidad de carrera de daga (Assets/Server/Entity/Effects/Weapons/Dagger_Dash.json):
"SystemId" : " Daggers_Dash_Straight " ,
"TargetEntityPart" : " Entity " ,
"PositionOffset" : { "Y" : 1.0 },
"ModelVFXId" : " Dagger_Dash "
"OverlapBehavior" : " Extend " ,
Paginas Relacionadas