mirror of
https://github.com/glest/glest-source.git
synced 2025-09-03 04:52:34 +02:00
- attempt to fix additional oos issues
This commit is contained in:
@@ -2211,7 +2211,7 @@ void UnitUpdater::hit(Unit *attacker, const AttackSkillType* ast, const Vec2i &t
|
|||||||
scriptManager->onUnitAttacking(attacker);
|
scriptManager->onUnitAttacking(attacker);
|
||||||
|
|
||||||
double distance = pci.getPos().dist(targetPos);
|
double distance = pci.getPos().dist(targetPos);
|
||||||
distance = truncateDecimal<double>(distance);
|
distance = truncateDecimal<double>(distance,16);
|
||||||
damage(attacker, ast, attacked, distance);
|
damage(attacker, ast, attacked, distance);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2241,7 +2241,7 @@ void UnitUpdater::damage(Unit *attacker, const AttackSkillType* ast, Unit *attac
|
|||||||
int var = ast->getAttackVar();
|
int var = ast->getAttackVar();
|
||||||
int armor = attacked->getType()->getTotalArmor(attacked->getTotalUpgrade());
|
int armor = attacked->getType()->getTotalArmor(attacked->getTotalUpgrade());
|
||||||
double damageMultiplier = world->getTechTree()->getDamageMultiplier(ast->getAttackType(), attacked->getType()->getArmorType());
|
double damageMultiplier = world->getTechTree()->getDamageMultiplier(ast->getAttackType(), attacked->getType()->getArmorType());
|
||||||
damageMultiplier = truncateDecimal<double>(damageMultiplier);
|
damageMultiplier = truncateDecimal<double>(damageMultiplier,16);
|
||||||
|
|
||||||
//compute damage
|
//compute damage
|
||||||
//damage += random.randRange(-var, var);
|
//damage += random.randRange(-var, var);
|
||||||
@@ -2249,7 +2249,7 @@ void UnitUpdater::damage(Unit *attacker, const AttackSkillType* ast, Unit *attac
|
|||||||
damage /= distance+1;
|
damage /= distance+1;
|
||||||
damage -= armor;
|
damage -= armor;
|
||||||
damage *= damageMultiplier;
|
damage *= damageMultiplier;
|
||||||
damageMultiplier = truncateDecimal<double>(damageMultiplier);
|
damageMultiplier = truncateDecimal<double>(damageMultiplier,16);
|
||||||
|
|
||||||
if(damage < 1) {
|
if(damage < 1) {
|
||||||
damage= 1;
|
damage= 1;
|
||||||
|
Reference in New Issue
Block a user