diff options
author | Aki <please@ignore.pl> | 2022-12-12 18:42:52 +0100 |
---|---|---|
committer | Aki <please@ignore.pl> | 2022-12-12 18:42:52 +0100 |
commit | 42d5170e3add3dc5e7ea2c944bcfd785a5390586 (patch) | |
tree | be9fcdc1912a957bee316dd710159e91e99bf7c7 /sim | |
parent | f315fbc3406b13aef4712d391661fad6bcf4872c (diff) | |
download | kurator-42d5170e3add3dc5e7ea2c944bcfd785a5390586.zip kurator-42d5170e3add3dc5e7ea2c944bcfd785a5390586.tar.gz kurator-42d5170e3add3dc5e7ea2c944bcfd785a5390586.tar.bz2 |
Extracted preferred keep at range distance to AI
Diffstat (limited to 'sim')
-rw-r--r-- | sim/include/kurator/sim/components.h | 1 | ||||
-rw-r--r-- | sim/src/BaseBattle.cpp | 2 | ||||
-rw-r--r-- | sim/src/Builder.cpp | 2 |
3 files changed, 3 insertions, 2 deletions
diff --git a/sim/include/kurator/sim/components.h b/sim/include/kurator/sim/components.h index 41c8053..6fbab55 100644 --- a/sim/include/kurator/sim/components.h +++ b/sim/include/kurator/sim/components.h @@ -27,6 +27,7 @@ struct Team struct AIState { + double keep_at_range; Point destination; entt::entity target = entt::null; }; diff --git a/sim/src/BaseBattle.cpp b/sim/src/BaseBattle.cpp index 448a5d7..945ef89 100644 --- a/sim/src/BaseBattle.cpp +++ b/sim/src/BaseBattle.cpp @@ -78,7 +78,7 @@ BaseBattle::keep_at_range() continue; const auto target = _registry.get<Transform>(ai.target); const Point offset = target.position - self.position; - ai.destination = target.position - offset.normalized().scale(6000.0); + ai.destination = target.position - offset.normalized().scale(ai.keep_at_range); } } diff --git a/sim/src/Builder.cpp b/sim/src/Builder.cpp index dd10326..a5319fd 100644 --- a/sim/src/Builder.cpp +++ b/sim/src/Builder.cpp @@ -36,7 +36,7 @@ Builder::operator()(const universe::ShipType& ship_type, const int team) const ship_type.max_speed * 2.0, ship_type.max_speed * 3.0, 100.0); - registry.emplace<AIState>(entity, Point{0.0, 0.0}); + registry.emplace<AIState>(entity, 6000.0, Point{0.0, 0.0}); registry.emplace<HitPoints>(entity, ship_type.base_health_points); return entity; } |