11#include <glm/vec3.hpp>
37 float falloffExponent = 1.0f,
38 float selfDamageMultiplier = 1.0f,
39 float maxKnockback = 0.0f,
40 float knockbackFalloffExponent = 1.0f,
41 entt::entity directKillTarget = entt::null,
54 std::vector<NetParticleEvent>& outParticles,
55 std::vector<NetKillEvent>& killEvents);
Structure of kill event broadcasted from server to clients.
Player status manager for things like life state and healing.
Shared ECS registry type alias for the game engine.
entt::registry Registry
Shared ECS registry type alias.
Definition Registry.hpp:11
Wire-format particle effect event broadcast from server to all clients.
WeaponType
Weapon type — determines tracer style, damage, sound, and impact effects.
Definition WeaponState.hpp:12
@ Rocket
Slow arcing projectile (ribbon trail).
Definition WeaponState.hpp:14
Client-only input sampling system — split into two halves so mouse look can run every iterate() (smoo...
Definition DebugUI.hpp:15
void runExplosion(Registry ®istry, std::vector< NetParticleEvent > &outParticles, std::vector< NetKillEvent > &killEvents)
Process all pending explosions: apply radial damage and emit particle events.
Definition ExplosionSystem.cpp:51
void queueExplosion(Registry ®istry, glm::vec3 position, float radius, float maxDamage, entt::entity owner, float falloffExponent, float selfDamageMultiplier, float maxKnockback, float knockbackFalloffExponent, entt::entity directKillTarget, WeaponType weaponType)
Create an explosion entity at the given position.
Definition ExplosionSystem.cpp:25