0eb9c97e5d
dedupe AttackExecutor and RepairExecutor via executeOrbitAndAssign
...
The two executors were line-for-line duplicates: orbit the behavior target,
then hand it to the owner's in-range modules. Both now call a templated
executeOrbitAndAssign<Behavior, ModuleComponent>; the view types, iteration
order, and sequence of component writes are unchanged.
Co-Authored-By: Claude <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GH8ZMRY3vhxxXcaUxBqxkk
2026-08-02 21:16:15 +02:00
ebee62166d
lift the shared Centroid helper into ai/Centroid.h
...
AdvanceExecutor and StandbyExecutor each carried a verbatim copy of the
struct in an anonymous namespace; it now sits next to OrbitMath.h.
Co-Authored-By: Claude <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GH8ZMRY3vhxxXcaUxBqxkk
2026-08-02 20:55:29 +02:00
84d32b6c16
add findShipDef/findModuleDef/findRecipeDef to config structs
...
Ships/Modules/RecipesConfig now carry lookup helpers mirroring
BuildingsConfig::findBuildingDef. The hand-rolled linear scans in
BuildingSystem, ShipSystem, ShipStatsCalculator, ThreatCostCalculator,
ShipLayoutDialog, SelectedBuildingPanel and SchematicChoiceDialog now
call them instead.
Co-Authored-By: Claude <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01GH8ZMRY3vhxxXcaUxBqxkk
2026-08-02 20:42:24 +02:00
8b71fe1a03
Rename ship/station scrap drop entities to "debris"
2026-07-23 20:51:05 +02:00
9622fa4345
Use std::optional instead of sentinel values for absent data
2026-07-20 20:27:20 +02:00
d412c69f82
Prefix all getters with "get"
2026-07-19 21:17:38 +02:00
535d4f8f24
allow to (multi) select scrap
2026-07-13 21:09:01 +02:00
18e732ae99
Remove schematic upgrades and module and ship levels
2026-07-02 21:32:36 +02:00
81b1c7a66b
Derive ship scrap drop from threat
2026-07-02 21:30:38 +02:00
a472ec196c
cargo component refactoring
2026-06-21 21:49:46 +02:00
4818997164
fix issue where repair behavior targets enemy HQ in balancing target
2026-06-19 21:36:04 +02:00
9573b9789a
change repair_tool application and add beams for salvager and repair_tool
2026-06-19 21:15:47 +02:00
c371b43a6d
make repair ships standby with rest of fleet if there is no one to repair (instead of advancing towards the enemy stations)
2026-06-18 21:45:15 +02:00
abab2bbb6e
make repair ships not retreat if someone needs help
2026-06-17 22:40:58 +02:00
b95eaaaded
fix repair tool targeting
2026-06-17 21:52:47 +02:00
e0e11b7933
fix mutually canceling orbits
2026-06-17 20:50:31 +02:00
0cf3d64983
allow custom orbit rotations directions
2026-06-17 20:36:11 +02:00
1324a320e2
fix issue where ships cancel their attacks and advance if on low health in balancing target
2026-06-16 22:17:09 +02:00
ac97652c60
make ships claim targets
2026-06-16 21:18:28 +02:00
4153b7e2f5
make ships orbit their targets
2026-06-15 21:37:47 +02:00
6b7c3df64a
advance towards enemy buildings
2026-06-15 20:52:43 +02:00
e8dd73bcb0
refactor AI system
2026-06-15 09:16:56 +02:00
5317f35198
switch to using own event system
2026-06-13 17:52:22 +02:00
af96b95f61
allow to unlock modules when destroying defence stations
2026-06-10 22:37:38 +02:00
26857e8414
throw if modules are referenced that don't exist in config
2026-06-09 23:34:30 +02:00
510e37c37b
fix issue where upgrade modules are not working properly
2026-06-09 23:34:29 +02:00
7669245229
use meters in config
2026-06-05 20:09:20 +02:00
abc261c03a
add tracing for performance profiling
2026-06-05 16:38:36 +02:00
090dc64bc4
allow one target per repair tool module
2026-06-02 22:24:40 +02:00
f921f00a0d
add collection rate for salvager modules and respect collection range of each of these modules
2026-06-02 21:28:31 +02:00
9d0a60a93b
define ship roles via added modules and allow multiple weapons
2026-06-01 23:05:21 +02:00
9e36c13635
fix tests
2026-05-25 21:13:16 +02:00
25ff3c56c5
move ecs related code to own folder
2026-05-25 09:10:54 +02:00