10#include <entt/entt.hpp>
11#include <glm/vec3.hpp>
21 entt::entity
owner = entt::null;
29 glm::vec3
tint = {1.0f, 1.0f, 1.0f};
Surface-material classification shared across collision, raycasts, VFX, SFX, and damage falloff.
Weapon state component for armed entities.
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
Component attached to projectile entities.
Definition Projectile.hpp:18
glm::vec3 tint
Render tint multiplier (cosmetic, client-side).
Definition Projectile.hpp:29
WeaponType type
Weapon that spawned this projectile.
Definition Projectile.hpp:19
float fuseTimer
Countdown; <0 means no fuse (impact-only).
Definition Projectile.hpp:26
bool sticky
If true, sets vel=0 on first surface hit and starts fuse.
Definition Projectile.hpp:28
float currentLifeTime
Seconds since spawn (destroyed when exceeding max).
Definition Projectile.hpp:23
bool explosive
True if the projectile detonates on impact.
Definition Projectile.hpp:22
entt::entity owner
Entity that fired this projectile.
Definition Projectile.hpp:21
float damage
Damage dealt on hit.
Definition Projectile.hpp:20
float bounceRestitution
0 = no bounce. CollisionSystem reflects velocity * this on hit.
Definition Projectile.hpp:27