group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
ExplosionSystem.cpp File Reference

Explosion request processing and radial damage. More...

#include "ecs/systems/ExplosionSystem.hpp"
#include "ecs/components/CollisionShape.hpp"
#include "ecs/components/Explosion.hpp"
#include "ecs/components/Player.hpp"
#include "ecs/components/PlayerVisState.hpp"
#include "ecs/components/Position.hpp"
#include "ecs/components/Velocity.hpp"
#include "ecs/physics/Forces.hpp"
#include "ecs/physics/PhysicsConstants.hpp"
#include "ecs/systems/PlayerStatusSystem.hpp"
#include "network/NetKillEvent.hpp"
#include <cmath>
#include <glm/common.hpp>
#include <glm/geometric.hpp>
#include <vector>
Include dependency graph for ExplosionSystem.cpp:

Namespaces

namespace  systems
 Client-only input sampling system — split into two halves so mouse look can run every iterate() (smooth camera at any FPS) while movement keys run once per physics tick group (server-consistent).

Functions

void systems::queueExplosion (Registry &registry, glm::vec3 position, float radius, float maxDamage, entt::entity owner, float falloffExponent=1.0f, float selfDamageMultiplier=1.0f, float maxKnockback=0.0f, float knockbackFalloffExponent=1.0f, entt::entity directKillTarget=entt::null, WeaponType weaponType=WeaponType::Rocket)
 Create an explosion entity at the given position.
void systems::runExplosion (Registry &registry, std::vector< NetParticleEvent > &outParticles, std::vector< NetKillEvent > &killEvents)
 Process all pending explosions: apply radial damage and emit particle events.

Detailed Description

Explosion request processing and radial damage.