Peso e Mobilidade
Weight & Mobility
Design de inventário, peso e mobilidade: 14 slots de equipamento, containers com grids, hotbar, a curva peso→stamina (livre até 6 kg, ~1,75% por kg acima) e o estado composto de Mobilidade.
Última edição em 07/07/2026, 20:15 por Admin
Peso e Mobilidade
Página de game design (não diegética), derivada do Sistema de Atributos, Dano e Balística. Define o inventário do jogador e como o peso carregado se converte em custo físico real — cada quilo a mais é uma decisão.
O inventário é integrado ao sistema do projeto: grid replicado, identidade por GUID e containers aninhados.
1. Slots de equipamento (14)
O corpo do jogador tem 14 slots de equipamento:
| # | Slot | # | Slot |
|---|---|---|---|
| 1 | Cabeça | 8 | Calça |
| 2 | Armadura | 9 | Luvas |
| 3 | Primária | 10 | Botas |
| 4 | Secundária | 11 | Óculos |
| 5 | Pistola | 12 | Ouvido |
| 6 | Melee | 13 | Mochila |
| 7 | Torso | 14 | Colete Tático |
2. Containers e grids
- Mochila, colete, roupa e coldres adicionam grids próprios de armazenamento (ex.: mochila
5×5 + 5×2). - Itens grandes ocupam um footprint W×H no grid e podem girar 90° para caber.
- Containers são aninhados: uma bolsa dentro da mochila mantém o próprio grid e o próprio conteúdo.
3. Acesso rápido (hotbar)
- A hotbar espelha os slots de arma (1–4) + consumíveis (5/6).
- Itens presos ao corpo (coldre, bainha, bolso do colete) sacam mais rápido que itens dentro da mochila — que exige parar e abrir.
- Posicionar o kit médico no bolso do colete vs no fundo da mochila é uma decisão de loadout com consequência em combate.
4. Peso → Stamina
A regra central do sistema:
- Sem penalidade até ~6 kg de peso carregado.
- Acima disso, cada 1 kg corta ~1,75% da barra máxima de Stamina, com piso de 5% (a barra nunca zera por peso).
- É a barra máxima que encolhe — não a taxa de consumo: um jogador sobrecarregado simplesmente tem menos fôlego total.
Efeitos do sobrepeso:
- Sprint mais curto;
- Mira menos estável (respiração pesada);
- Regeneração de Stamina mais lenta;
- Mais ruído de movimento;
- Quedas de altura mais perigosas.
5. Ferimentos limitam carga
O estado do corpo restringe o que se pode carregar e usar:
- Braço quebrado = sem arma primária nas mãos e capacidade de carregar reduzida (só pistola).
- Carregar item pesado nas mãos (motor, caixa) trava sprint e armas — transporte é uma escolha tática.
6. Esboço de implementação
O cálculo da Stamina máxima em função do peso total:
// Peso -> Stamina maxima: livre ate 6 kg; acima disso cada 1 kg corta ~1,75%
// da barra maxima, com piso de 5%.
float UTSSVitalsComponent::GetMaxStamina(float PesoTotalKg) const
{
const float PesoLivreKg = 6.0f;
const float CortePorKg = 0.0175f; // ~1,75% por kg acima do limite livre
const float PisoPercent = 0.05f; // a barra nunca cai abaixo de 5%
const float ExcessoKg = FMath::Max(0.f, PesoTotalKg - PesoLivreKg);
const float Fator = FMath::Max(PisoPercent, 1.f - ExcessoKg * CortePorKg);
return StaminaBase * Fator; // StaminaBase = 100
}
A Mobilidade é um estado derivado e composto — pernas feridas, peso, fadiga e temperatura convergem para a velocidade real, a capacidade de sprint/salto e o ruído de passos:
USTRUCT(BlueprintType)
struct FMobilityState
{
GENERATED_BODY()
// Cada fator em 0..1, alimentado pelo sistema correspondente.
UPROPERTY(BlueprintReadOnly) float FatorPernas = 1.f; // ferimento/fratura nas pernas
UPROPERTY(BlueprintReadOnly) float FatorPeso = 1.f; // derivado do peso carregado
UPROPERTY(BlueprintReadOnly) float FatorFadiga = 1.f; // acumulo de longo prazo sem descanso
UPROPERTY(BlueprintReadOnly) float FatorTermico = 1.f; // hipotermia/hipertermia
UPROPERTY(BlueprintReadOnly) bool bPodeSprint = true; // falso: perna quebrada ou item pesado nas maos
UPROPERTY(BlueprintReadOnly) bool bPodeSaltar = true;
UPROPERTY(BlueprintReadOnly) float RuidoPassos = 1.f; // sobrepeso e pes feridos aumentam o ruido
float GetVelocidadeFinal(float VelocidadeBase) const
{
// Estado composto: pernas feridas + peso + fadiga + temperatura -> velocidade real.
return VelocidadeBase * FatorPernas * FatorPeso * FatorFadiga * FatorTermico;
}
};
Ver também
- Sistema de Atributos, Dano e Balística — Stamina, Fadiga e os demais atributos que o peso afeta.
- Dead Zone e Scorchlands — zonas onde o fator térmico da Mobilidade pesa mais.