8#include <entt/entt.hpp>
42static_assert(std::is_trivially_copyable_v<NetParticleEvent>);
Projectile component and weapon/surface type enumerations.
ParticleEffectType
Type of particle effect to spawn on the client.
Definition ShotEvent.hpp:13
@ Impact
pos1=position, pos2=normal, surfaceType, weaponType
Definition ShotEvent.hpp:16
@ BulletTracer
pos1=origin, pos2=direction, param=distance
Definition ShotEvent.hpp:14
@ Smoke
pos1=position, param=radius
Definition ShotEvent.hpp:18
@ Fire
Persistent flame billboards from a FireField. pos1=position, param=radius.
Definition ShotEvent.hpp:19
SurfaceType
Surface material hit by a projectile / hitscan / contact.
Definition SurfaceType.hpp:28
@ Concrete
Definition SurfaceType.hpp:30
WeaponType
Weapon type — determines tracer style, damage, sound, and impact effects.
Definition WeaponState.hpp:12
@ Rifle
Fast hitscan/projectile (R301-style capsule tracer).
Definition WeaponState.hpp:13
Pending explosion to process this tick.
Definition Explosion.hpp:11
Hitscan energy beam (main glowing quad).
Definition ParticleTypes.hpp:46
Wire-format particle event broadcast from server to all clients.
Definition ShotEvent.hpp:27
entt::entity target
Entity that was hit (for damage accumulation).
Definition ShotEvent.hpp:40
float damage
Damage dealt by this impact (for floating damage numbers).
Definition ShotEvent.hpp:39
glm::vec3 pos2
Direction / hitPos / normal.
Definition ShotEvent.hpp:37
float param
Distance / radius.
Definition ShotEvent.hpp:38
uint8_t shieldBreak
1 if this shot depleted the target's armor to zero.
Definition ShotEvent.hpp:33
uint8_t hadArmor
1 if target had armor at the moment of impact.
Definition ShotEvent.hpp:34
glm::vec3 pos1
Origin / position.
Definition ShotEvent.hpp:36
entt::entity source
Entity that caused this (for skip-self logic).
Definition ShotEvent.hpp:28
ParticleEffectType effectType
Definition ShotEvent.hpp:29
uint8_t headshot
1 if the impact hit the head region (for client hitmarker colour).
Definition ShotEvent.hpp:32
WeaponType weaponType
Definition ShotEvent.hpp:30
SurfaceType surfaceType
Definition ShotEvent.hpp:31
uint8_t _pad
Padding for alignment.
Definition ShotEvent.hpp:35