Pular para o conteúdo

Projeteis

Visao Geral

Arquivos de projeteis definem o comportamento fisico e as propriedades de dano de instancias individuais de projeteis — flechas, feiticos e outros objetos disparados. Eles sao a contraparte de dados das Configuracoes de Projeteis, que definem parametros de lancamento e cadeias de interacao. Cada arquivo de projetil e referenciado por uma string Appearance que o vincula aos visuais do lado do cliente.

Localizacao dos Arquivos

Assets/Server/Projectiles/

Subdiretorios agrupam projeteis por categoria:

Assets/Server/Projectiles/
Arrow_FullCharge.json
Arrow_HalfCharge.json
Arrow_NoCharge.json
Ice_Ball.json
Ice_Bolt.json
Roots.json
NPCs/
Player/
Spells/
Fireball.json

Schema

CampoTipoObrigatorioPadraoDescricao
AppearancestringSimID de aparencia do lado do cliente usado para buscar o modelo visual e textura do projetil.
MuzzleVelocitynumberSimVelocidade inicial de lancamento em unidades/segundo no momento do disparo.
TerminalVelocitynumberSimVelocidade maxima que o projetil pode atingir em voo.
GravitynumberSimAceleracao gravitacional descendente aplicada a cada segundo. 0 para tiros perfeitamente retos.
BouncinessnumberNao0Fracao de velocidade retida apos quicar em uma superficie. 0 = sem quique.
ImpactSlowdownnumberNao0Reducao de velocidade aplicada no impacto.
TimeToLivenumberNao0Segundos antes do projetil ser destruido automaticamente. 0 = sem tempo limite.
DamagenumberSimDano base causado em um acerto bem-sucedido.
DeadTimenumberNao0Segundos que o projetil permanece apos acertar um alvo antes de ser removido.
DeadTimeMissnumberNaoSegundos que o projetil permanece apos errar (acertar terreno).
SticksVerticallybooleanNaofalseSe true, o projetil se crava na vertical em superficies em vez de ficar deitado.
PitchAdjustShotbooleanNaofalseSe true, o pitch do projetil e corrigido com base na trajetoria do arco.
HorizontalCenterShotnumberNao0Desvio de precisao horizontal do centro da mira.
VerticalCenterShotnumberNao0Desvio de precisao vertical do centro da mira.
DepthShotnumberNao1Multiplicador de profundidade para deteccao de acerto.
RadiusnumberNaoRaio da esfera de colisao. Se omitido, uma hitbox capsula padrao e usada.
HeightnumberNaoAltura da capsula de colisao.
HitSoundEventIdstringNaoEvento sonoro reproduzido ao acertar uma entidade.
MissSoundEventIdstringNaoEvento sonoro reproduzido ao errar no terreno.
BounceSoundEventIdstringNaoEvento sonoro reproduzido a cada quique.
DeathSoundEventIdstringNaoEvento sonoro reproduzido quando o projetil expira naturalmente.
HitParticlesParticleRefNaoSistema de particulas gerado ao acertar uma entidade.
MissParticlesParticleRefNaoSistema de particulas gerado ao errar no terreno.
BounceParticlesParticleRefNaoSistema de particulas gerado a cada quique.
DeathParticlesParticleRefNaoSistema de particulas gerado quando o projetil expira.
DeathEffectsOnHitbooleanNaofalseSe true, particulas e sons de morte tambem disparam em um acerto bem-sucedido em entidade.
ExplosionConfigobjectNaoConfigura explosao com area de efeito no impacto (veja abaixo).

ParticleRef

CampoTipoObrigatorioPadraoDescricao
SystemIdstringSimID do sistema de particulas a ser gerado.

ExplosionConfig

CampoTipoObrigatorioPadraoDescricao
DamageEntitiesbooleanNaofalseSe a explosao causa dano a entidades proximas.
DamageBlocksbooleanNaofalseSe a explosao causa dano a blocos proximos.
EntityDamageRadiusnumberNaoRaio em unidades dentro do qual entidades recebem dano.
EntityDamageFalloffnumberNao1.0Multiplicador de reducao de dano aplicado na borda do raio.
BlockDamageRadiusnumberNaoRaio em unidades dentro do qual blocos sao danificados.
KnockbackobjectNaoRepulsao aplicada a entidades no raio da explosao.

Exemplos

Flecha com carga total (Assets/Server/Projectiles/Arrow_FullCharge.json):

{
"Appearance": "Arrow_Crude",
"SticksVertically": true,
"MuzzleVelocity": 50,
"TerminalVelocity": 50,
"Gravity": 10,
"Bounciness": 0,
"ImpactSlowdown": 0,
"TimeToLive": 20,
"Damage": 20,
"DeadTime": 0.1,
"HorizontalCenterShot": 0.1,
"VerticalCenterShot": 0.1,
"DepthShot": 1,
"PitchAdjustShot": true,
"HitSoundEventId": "SFX_Arrow_FullCharge_Hit",
"MissSoundEventId": "SFX_Arrow_FullCharge_Miss",
"HitParticles": {
"SystemId": "Impact_Blade_01"
}
}

Feitico de bola de fogo (Assets/Server/Projectiles/Spells/Fireball.json):

{
"Appearance": "Fireball",
"Radius": 0.1,
"Height": 0.2,
"MuzzleVelocity": 40,
"TerminalVelocity": 100,
"Gravity": 4,
"Bounciness": 0,
"TimeToLive": 0,
"Damage": 60,
"DeadTime": 0,
"DeathEffectsOnHit": true,
"MissParticles": { "SystemId": "Explosion_Medium" },
"BounceParticles": { "SystemId": "Impact_Fire" },
"DeathParticles": { "SystemId": "Explosion_Medium" },
"MissSoundEventId": "SFX_Fireball_Miss",
"DeathSoundEventId": "SFX_Fireball_Death",
"ExplosionConfig": {
"DamageEntities": true,
"DamageBlocks": false,
"EntityDamageRadius": 5,
"EntityDamageFalloff": 1.0
}
}

Paginas Relacionadas