Skip to content

KBVECombat

KBVECombat is the shared combat domain — server-authoritative damage, teams/factions, and death — built on KBVEGameplay primitives (stats + effects). It depends on KBVEGameplay, never the reverse: combat consumes the primitives, it doesn’t define them. Backend-agnostic — Mover pawns, CMC characters, and Mass NPC proxies all fight through one interface.

  • UKBVECombatComponent — resolves damage against the owner’s Health stat via IKBVEStatTarget, tracks team + replicated dead state, fires OnDamaged / OnDeath. Implements IKBVECombatant.
  • IKBVECombatantGetTeamId / IsAlive / ApplyDamage; uniform participation regardless of movement backend.
  • FKBVEDamageEvent — amount, EKBVEDamageElement, instigator, hit info.
  • UKBVECombatStaticsApplyDamage / IsAlive / GetTeamId / AreHostile, resolving a combatant on any actor.
FKBVEDamageEvent Dmg;
Dmg.Amount = 25.f;
Dmg.Element = EKBVEDamageElement::Fire;
Dmg.Instigator = Attacker;
UKBVECombatStatics::ApplyDamage(Target, Dmg); // authority-only

Add UKBVECombatComponent to any actor implementing IKBVEStatTarget with a Health stat (e.g. AKBVEMoverPawn, AchuckCoreCharacter). Damage flows through the stat, composing with KBVEGameplay effects and replicating via the owner’s transport (Iris / KBVENet).

  • Element resist/weakness scaling, attack/ability driver (windups/cooldowns/hitboxes), threat/aggro + death loot hooks, combat-event feed for UI.