Pular para o conteúdo

Tipos de Dano

Visao Geral

Os tipos de dano formam uma hierarquia de heranca usada pelo sistema de combate para determinar resistencias, efeitos e penalidades. Cada arquivo de tipo de dano pode declarar um campo Parent e Inherits para estender as propriedades de outro tipo. Os tipos folha (ex: Fire, Slashing) sao os que armas e habilidades realmente causam; os tipos raiz (Physical, Elemental, Environment) existem apenas para definir o comportamento compartilhado dos subtipos.

Localizacao dos Arquivos

Assets/Server/Entity/Damage/

Um arquivo JSON por tipo de dano:

Assets/Server/Entity/Damage/
Physical.json
Elemental.json
Environment.json
Environmental.json
Bludgeoning.json (implicito — sem arquivo independente; definido inline)
Slashing.json
Fire.json
Ice.json
Poison.json
Projectile.json
Fall.json
Drowning.json
Suffocation.json
OutOfWorld.json
Command.json

Schema

CampoTipoObrigatorioPadraoDescricao
ParentstringNaoO ID do tipo de dano pai do qual este tipo herda.
InheritsstringNaoDeclaracao de heranca adicional (normalmente espelha Parent).
DurabilityLossbooleanNaofalseSe acertos deste tipo causam perda de durabilidade no equipamento.
StaminaLossbooleanNaofalseSe acertos deste tipo esgotam a stamina do alvo.
BypassResistancesbooleanNaofalseSe true, este tipo de dano ignora todos os calculos de resistencia.
DamageTextColorstringNaoCor hexadecimal usada para numeros de dano flutuantes (ex: "#00FF00" para veneno).
$CommentstringNaoString de comentario interno, nao usada em tempo de execucao.

Hierarquia

(raiz)
├── Physical DurabilityLoss: true, StaminaLoss: true
│ ├── Slashing Parent: Physical
│ ├── Bludgeoning (herdado de Physical)
│ └── Piercing (herdado de Physical)
├── Elemental (tipo base para subtipos elementais)
│ ├── Fire Parent: Elemental
│ ├── Ice Parent: Elemental
│ └── Poison DamageTextColor: #00FF00
├── Projectile DurabilityLoss: true, StaminaLoss: false
├── Environment (tipo base)
│ ├── Fall Parent: Environment
│ └── Drowning Parent: Environment
├── Environmental DurabilityLoss: true, StaminaLoss: true, BypassResistances: false
│ (perigos ambientais: espinhos, cacto, etc.)
├── Suffocation
├── OutOfWorld
└── Command DurabilityLoss: false, StaminaLoss: false, BypassResistances: true

Descricoes dos Tipos

TipoPaiDurabilityLossStaminaLossBypassResistancesNotas
PhysicaltruetruefalseTipo fisico raiz; facilita subtipos.
SlashingPhysicaltruetruefalseDano de espada, machado.
ElementalfalsefalsefalseTipo elemental raiz; facilita subtipos.
FireElementalfalsefalsefalseDano de feitico de fogo e ignicao.
IceElementalfalsefalsefalseDano de feitico de gelo.
PoisonfalsefalsefalseTexto de dano verde (#00FF00).
ProjectiletruefalsefalseAcertos de flechas e projeteis arremessados.
EnvironmentTipo raiz para dano ambiental.
FallEnvironmentDano de queda.
DrowningEnvironmentSufocamento na agua.
EnvironmentaltruetruefalsePerigos de plantas (espinhos, cacto).
CommandfalsefalsetrueDano aplicado por admin/script; ignora todas as resistencias.

Exemplos

Physical (Assets/Server/Entity/Damage/Physical.json):

{
"$Comment": "This damage type exists to facilitate sub types",
"DurabilityLoss": true,
"StaminaLoss": true
}

Slashing (Assets/Server/Entity/Damage/Slashing.json):

{
"Parent": "Physical",
"Inherits": "Physical"
}

Poison (Assets/Server/Entity/Damage/Poison.json):

{
"DamageTextColor": "#00FF00"
}

Command (Assets/Server/Entity/Damage/Command.json):

{
"DurabilityLoss": false,
"StaminaLoss": false,
"BypassResistances": true
}

Environmental (Assets/Server/Entity/Damage/Environmental.json):

{
"$Comment": "Damage type for environmental hazards like plants (bushes, cactus, etc.)",
"DurabilityLoss": true,
"StaminaLoss": true,
"BypassResistances": false
}

Paginas Relacionadas