change repair_tool application and add beams for salvager and repair_tool
This commit is contained in:
@@ -256,11 +256,13 @@ TEST_CASE("ShipSystem: repair_ship level 1 repair stats match config formulas",
|
||||
const ShipLayoutConfig layout = makeSingleModuleLayout("repair_tool");
|
||||
const entt::entity e = ss.spawn("repair_ship", 1, QVector2D(0.0f, 0.0f), false, layout);
|
||||
|
||||
// repair_tool: repair_rate_hz_formula = "5 + x" at x=1 → 6 / kTickRateHz
|
||||
const float expectedRate = 6.0f / static_cast<float>(kTickRateHz);
|
||||
const entt::entity rc = firstRepairChild(admin, e);
|
||||
REQUIRE(admin.isValid(rc));
|
||||
REQUIRE(admin.get<RepairToolComponent>(rc).ratePerTick == Approx(expectedRate));
|
||||
// repair_rate_hz_formula = "1" cycle/s → interval = kTickRateHz ticks
|
||||
REQUIRE(admin.get<RepairToolComponent>(rc).repairIntervalTicks == kTickRateHz);
|
||||
// repair_amount_hp_formula = "5 + x" at x=1 → 6 HP per cycle
|
||||
REQUIRE(admin.get<RepairToolComponent>(rc).repairAmountHp == Approx(6.0f));
|
||||
REQUIRE(admin.get<RepairToolComponent>(rc).cooldownTicksRemaining == 0);
|
||||
// repair_range_m_formula = "800" m → 800/10 = 80 tiles
|
||||
REQUIRE(admin.get<RepairToolComponent>(rc).range_tiles == Approx(80.0f));
|
||||
REQUIRE(admin.get<RepairBehavior>(e).maxRepairRange_tiles == Approx(80.0f));
|
||||
|
||||
Reference in New Issue
Block a user