summaryrefslogtreecommitdiff
path: root/universe
diff options
context:
space:
mode:
Diffstat (limited to 'universe')
-rw-r--r--universe/include/kurator/universe/TurretType.h1
-rw-r--r--universe/src/TurretType.cpp9
2 files changed, 10 insertions, 0 deletions
diff --git a/universe/include/kurator/universe/TurretType.h b/universe/include/kurator/universe/TurretType.h
index 553894b..0a0c5fd 100644
--- a/universe/include/kurator/universe/TurretType.h
+++ b/universe/include/kurator/universe/TurretType.h
@@ -20,6 +20,7 @@ struct TurretType
double falloff_modifier = 0.05;
double falloff_intensity = 0.2;
double effective_damage(double distance) const;
+ double effective_range() const;
};
diff --git a/universe/src/TurretType.cpp b/universe/src/TurretType.cpp
index d213d07..a215b32 100644
--- a/universe/src/TurretType.cpp
+++ b/universe/src/TurretType.cpp
@@ -19,5 +19,14 @@ TurretType::effective_damage(const double distance) const
}
+double
+TurretType::effective_range() const
+{
+ const double target = std::log2(0.01) / std::log2(falloff_intensity);
+ const double one_percent_falloff = target * falloff_modifier * optimal_range;
+ return one_percent_falloff + optimal_range;
+}
+
+
} // namespace universe
} // namespace kurator