group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
Explosion.hpp
Go to the documentation of this file.
1
3
4#pragma once
5
6#include <entt/entt.hpp>
7#include <glm/vec3.hpp>
8
10
13{
14 glm::vec3 position{0.0f};
15 float radius = 0.0f;
16 float maxDamage = 0.0f;
17 float falloffExponent = 1.0f;
19 float selfDamageMultiplier = 1.0f;
20 float maxKnockback = 0.0f;
22 entt::entity owner = entt::null;
23 entt::entity directKillTarget = entt::null;
25};
Weapon state component for armed entities.
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
Pending explosion to process this tick.
Definition Explosion.hpp:13
float maxDamage
Maximum damage at the epicenter.
Definition Explosion.hpp:16
entt::entity owner
Entity that caused the explosion (for kill credit).
Definition Explosion.hpp:22
WeaponType weaponType
Visual profile for the replicated explosion VFX.
Definition Explosion.hpp:24
float selfDamageMultiplier
Damage scale when victim == owner (rocket-jump friendliness).
Definition Explosion.hpp:19
float knockbackFalloffExponent
Knockback curve exponent (same form as damage falloff).
Definition Explosion.hpp:21
float falloffExponent
Damage curve exponent: damage = maxDamage * pow(1 - d/r, exp).
Definition Explosion.hpp:17
float maxKnockback
Peak knockback velocity (u/s) at d=0. 0 disables knockback.
Definition Explosion.hpp:20
float radius
Blast radius (damage falls off via falloffExponent).
Definition Explosion.hpp:15
entt::entity directKillTarget
If set, guaranteed lethal damage to this entity (stuck grenade).
Definition Explosion.hpp:23
glm::vec3 position
World-space center of the explosion.
Definition Explosion.hpp:14