mirror of
https://github.com/vcmi/vcmi.git
synced 2025-03-17 20:58:07 +02:00
Do not show full damage range limit for units without range penalty
This commit is contained in:
parent
d54d498d5f
commit
112de6324f
@ -48,6 +48,10 @@
|
||||
{
|
||||
"type" : "SHOOTER"
|
||||
},
|
||||
"noDistancePenalty" :
|
||||
{
|
||||
"type" : "NO_DISTANCE_PENALTY" // hide shooting range visualization
|
||||
},
|
||||
"siegeMachine" :
|
||||
{
|
||||
"type" : "CATAPULT",
|
||||
|
@ -605,17 +605,18 @@ uint8_t CUnitState::getRangedFullDamageDistance() const
|
||||
if(!isShooter())
|
||||
return 0;
|
||||
|
||||
uint8_t rangedFullDamageDistance = GameConstants::BATTLE_SHOOTING_PENALTY_DISTANCE;
|
||||
|
||||
// overwrite full ranged damage distance with the value set in Additional info field of LIMITED_SHOOTING_RANGE bonus
|
||||
if(hasBonusOfType(BonusType::LIMITED_SHOOTING_RANGE))
|
||||
{
|
||||
auto bonus = this->getBonus(Selector::type()(BonusType::LIMITED_SHOOTING_RANGE));
|
||||
if(bonus != nullptr && bonus->additionalInfo != CAddInfo::NONE)
|
||||
rangedFullDamageDistance = bonus->additionalInfo[0];
|
||||
return bonus->additionalInfo[0];
|
||||
}
|
||||
|
||||
return rangedFullDamageDistance;
|
||||
if (hasBonusOfType(BonusType::NO_DISTANCE_PENALTY))
|
||||
return GameConstants::BATTLE_SHOOTING_RANGE_DISTANCE;
|
||||
|
||||
return GameConstants::BATTLE_SHOOTING_PENALTY_DISTANCE;
|
||||
}
|
||||
|
||||
uint8_t CUnitState::getShootingRangeDistance() const
|
||||
|
Loading…
x
Reference in New Issue
Block a user