ticks
This commit is contained in:
+8
-10
@@ -48,23 +48,21 @@ struct UnitConfig {
|
||||
QString obsoleteTech;
|
||||
QString iconPath;
|
||||
QStringList actions;
|
||||
QMap<QString, float> actionSpeeds; // Duration in seconds per action (e.g. "boerderij_bouwen": 10.0f)
|
||||
QMap<QString, float> actionSpeeds; // Duration in simulation ticks per action (e.g. "boerderij_bouwen": 2.0f)
|
||||
QStringList impassableTerrains;
|
||||
QStringList passableTerrains;
|
||||
|
||||
// Recharge / Cooldown configuration for military units
|
||||
int rechargeTime; // Time in milliseconds between attacks
|
||||
float rechargeDuration; // Duration of recharge state (optional, for visual indication)
|
||||
int attackFlashDuration; // How long the flash effect lasts (in ms)
|
||||
// Recharge / Cooldown configuration for military units (in simulation ticks)
|
||||
int rechargeTicks; // Ticks between attacks for military units
|
||||
int attackFlashTicks; // Ticks for visual attack flash effect
|
||||
|
||||
UnitConfig()
|
||||
: id(""), name(""), category(UnitCategory::Builder),
|
||||
movementDomain(MovementDomain::Land), health(100),
|
||||
movementSpeed(2.0f), cost(10), laborCost(1000), attackDamage(0), attackRange(1),
|
||||
buildCharges(-1), infiniteCharges(true), requiredTech(""), obsoleteTech(""), iconPath(""),
|
||||
rechargeTime(500), // Default recharge time: 500ms (0.5 seconds)
|
||||
rechargeDuration(300), // Visual cooldown bar duration: 300ms
|
||||
attackFlashDuration(400) // Attack flash effect duration: 400ms
|
||||
rechargeTicks(2), // Default recharge: 2 simulation ticks
|
||||
attackFlashTicks(1) // Attack flash effect: 1 tick
|
||||
{}
|
||||
|
||||
bool isRanged() const { return attackRange > 1; }
|
||||
@@ -77,11 +75,11 @@ struct UnitConfig {
|
||||
bool canBuildRoad() const { return actions.contains("build_road") || actions.contains("weg_bouwen"); }
|
||||
bool isBuilder() const { return canBuildFarm() || canBuildRoad(); }
|
||||
|
||||
float getActionDuration(const QString &actionName, float fallback = 10.0f) const {
|
||||
float getActionDuration(const QString &actionName, float fallbackTicks = 2.0f) const {
|
||||
if (actionSpeeds.contains(actionName)) {
|
||||
return actionSpeeds.value(actionName);
|
||||
}
|
||||
return fallback;
|
||||
return fallbackTicks;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user