From 67442e86f53a27ddf9014cbe843ba63b08ef52bc Mon Sep 17 00:00:00 2001 From: Aki Date: Wed, 16 Nov 2022 00:38:14 +0100 Subject: Implemented simple range limitation for turrets --- battles/src/BaseBattle.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'battles/src') diff --git a/battles/src/BaseBattle.cpp b/battles/src/BaseBattle.cpp index 8a3dc37..87f450a 100644 --- a/battles/src/BaseBattle.cpp +++ b/battles/src/BaseBattle.cpp @@ -83,14 +83,17 @@ BaseBattle::update(const float dt) _registry.destroy(entity); continue; } - const auto& state = _registry.get(control.owner); // no checks + const auto& [state, transform] = _registry.get(control.owner); // no checks if (!_registry.valid(state.target)) continue; if (control.reload > 0.0) control.reload -= dt; if (control.reload <= 0.0) { auto& target_points = _registry.get(state.target); - target_points.health -= def.base_damage; + const auto& target = _registry.get(state.target); + const auto distance = transform.position - target.position; + if (def.range > distance.magnitude()) + target_points.health -= def.base_damage; control.reload = def.rate_of_fire; } } -- cgit v1.1