summaryrefslogtreecommitdiff
path: root/sim/src
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2023-01-08 01:05:29 +0100
committerAki <please@ignore.pl>2023-01-08 01:05:29 +0100
commitfdd6d1a4e9191daf6c136cc1570bc69a6a9e264c (patch)
treebf8a5f005a4cf47a18b90bd20b7316aa35536d2e /sim/src
parent85e4741a6b39e436befacaf9778619696c9c5a33 (diff)
downloadkurator-fdd6d1a4e9191daf6c136cc1570bc69a6a9e264c.zip
kurator-fdd6d1a4e9191daf6c136cc1570bc69a6a9e264c.tar.gz
kurator-fdd6d1a4e9191daf6c136cc1570bc69a6a9e264c.tar.bz2
Added naive resists
Diffstat (limited to 'sim/src')
-rw-r--r--sim/src/HitPoints.cpp4
-rw-r--r--sim/src/TurretControl.cpp4
2 files changed, 5 insertions, 3 deletions
diff --git a/sim/src/HitPoints.cpp b/sim/src/HitPoints.cpp
index bcb7e97..d83c369 100644
--- a/sim/src/HitPoints.cpp
+++ b/sim/src/HitPoints.cpp
@@ -7,10 +7,12 @@ namespace sim
{
-void
+double
HitPoints::deal(double damage)
{
+ damage *= structure_resists;
structure -= damage;
+ return damage;
}
diff --git a/sim/src/TurretControl.cpp b/sim/src/TurretControl.cpp
index 6513f39..e2596c8 100644
--- a/sim/src/TurretControl.cpp
+++ b/sim/src/TurretControl.cpp
@@ -42,9 +42,9 @@ TurretControl::update(entt::registry& registry, entt::dispatcher& dispatcher, co
control.rounds = def.rounds;
if (control.rounds > 0 && consume(remaining_dt, control.delay)) {
auto& target_points = registry.get<HitPoints>(state.target);
- const auto damage = def.effective_damage(distance);
+ auto damage = def.effective_damage(distance);
if (damage > 0.0) {
- target_points.deal(damage);
+ damage = target_points.deal(damage);
dispatcher.trigger(Hit{damage, control.owner, state.target});
}
control.delay = def.rate_of_fire;