From 4928f8663cb39bf8f549bfbf1ec23cb00f4b2619 Mon Sep 17 00:00:00 2001 From: Sara Date: Sun, 5 Jan 2025 18:58:30 +0100 Subject: [PATCH] feat: added minimum distance from player to artillery targets --- src/artillery_target.cpp | 4 ++++ src/artillery_target.hpp | 1 + 2 files changed, 5 insertions(+) diff --git a/src/artillery_target.cpp b/src/artillery_target.cpp index b190bff..33c6408 100644 --- a/src/artillery_target.cpp +++ b/src/artillery_target.cpp @@ -1,4 +1,5 @@ #include "artillery_target.hpp" +#include "player.hpp" #include "utils/godot_macros.hpp" #include @@ -51,6 +52,9 @@ float ArtilleryTarget::get_frequency_max() const { void ArtilleryTarget::timer_end() { this->start_timer(); + gd::Vector3 const player_position{Player::get_player_instance()->get_global_position()}; + if(player_position.distance_squared_to(this->get_global_position()) >= this->ACTIVATION_RANGE * this->ACTIVATION_RANGE) + return; // only spawn explosions if in range gd::Node *instance{this->effect->instantiate()}; this->add_child(instance); if(gd::Node3D *inst3d{gd::Object::cast_to(instance)}) { diff --git a/src/artillery_target.hpp b/src/artillery_target.hpp index e8e9be2..5e2ecc9 100644 --- a/src/artillery_target.hpp +++ b/src/artillery_target.hpp @@ -23,6 +23,7 @@ private: void timer_end(); void start_timer(); private: + float const ACTIVATION_RANGE{20.f}; float spread{5.f}; float frequency_min{0.5f}; float frequency_max{2.f};