Pular para o conteúdo

Bandos de NPC

Visao Geral

Arquivos de bando definem o comportamento de spawn em grupo — quantos NPCs aparecem juntos quando um evento de spawn e acionado. O sistema suporta dois modos: Weighted (seleciona aleatoriamente um tamanho de grupo a partir de probabilidades ponderadas) e Range (escolhe um tamanho aleatorio dentro de uma faixa min/max). Bandos sao referenciados pelas regras de spawn pelo campo Flock.

Como o Dimensionamento de Bando Funciona

flowchart TD;
A[Spawn Event Triggers] --> B{Flock Type?};
B -->|"Weighted"| C[Roll Weighted Sizes];
B -->|"Range / Size array"| D["Pick Random<br>in Range"];
C --> E["MinSize = 3<br>Weights: 60, 25, 15"];
E --> F{Roll};
F -->|"60%"| G[Spawn 3 NPCs];
F -->|"25%"| H[Spawn 4 NPCs];
F -->|"15%"| I[Spawn 5 NPCs];
D --> J[Size: 2, 3];
J --> K[Spawn 2-3 NPCs];
G --> L["MaxGrowSize<br>Defined?"];
H --> L;
I --> L;
K --> L;
L -->|"Yes"| M["Group can grow<br>up to MaxGrowSize<br>over time"];
L -->|"No"| N["Group stays<br>at spawned size"];
style A fill:darkgreen,color:white;
style G fill:steelblue,color:white;
style H fill:steelblue,color:white;
style I fill:steelblue,color:white;

Localizacao dos Arquivos

Assets/Server/NPC/Flocks/
Group_Small.json
Group_Medium.json
Group_Large.json
Group_Tiny.json
Pack_Small.json
One_Or_Two.json
Parent_And_Young_75_25.json
EasterEgg_Pair.json

Schema

FieldTypeRequiredDefaultDescricao
TypestringNaoModo de dimensionamento. "Weighted" usa MinSize + SizeWeights. Omita para modo de faixa simples.
MinSizeintegerSim*Tamanho minimo do grupo. Obrigatorio para tipo Weighted. Tamanho inicial para o indice de peso 0.
SizeWeightsnumber[]Sim*Pesos relativos para cada tamanho a partir de MinSize. Obrigatorio para tipo Weighted.
Size[number, number]NaoFaixa simples min/max para tamanho do grupo (alternativa ao Weighted).
MaxGrowSizeintegerNaoTamanho maximo que o grupo pode atingir ao longo do tempo (ex: por reproducao).

Como SizeWeights Funciona

Para MinSize: 3 e SizeWeights: [60, 25, 15]:

IndiceTamanhoPesoProbabilidade
03 (MinSize + 0)6060%
14 (MinSize + 1)2525%
25 (MinSize + 2)1515%

Exemplos

Grupo pequeno (3-5 NPCs, ponderado)

{
"Type": "Weighted",
"MinSize": 3,
"SizeWeights": [60, 25, 15]
}

60% de chance de 3, 25% de chance de 4, 15% de chance de 5.

Grupo grande (5-7 NPCs, ponderado)

{
"Type": "Weighted",
"MinSize": 5,
"SizeWeights": [60, 20, 20]
}

Pai e filhote (1-2, expansivel)

{
"Type": "Weighted",
"MinSize": 1,
"SizeWeights": [75, 25],
"MaxGrowSize": 8
}

75% de chance de 1, 25% de chance de 2. O grupo pode crescer ate 8 ao longo do tempo.

Faixa simples (2-3 NPCs)

{
"Size": [2, 3]
}

Sem pesos — apenas uma escolha aleatoria entre 2 e 3.

Bandos Disponiveis

ID do BandoTipoTamanhosNotas
Group_TinyWeighted1-2Grupos muito pequenos
Group_SmallWeighted3-5Animais passivos comuns
Group_MediumWeighted4-6Rebanhos medios
Group_LargeWeighted5-7Rebanhos grandes
Pack_SmallRange2-3Matilhas de predadores
One_Or_TwoRange1-2Solitario ou em par
Parent_And_Young_75_25Weighted1-2Pares reprodutivos, cresce ate 8
EasterEgg_PairRange2Spawns de easter egg

Paginas Relacionadas