@@ -321,17 +321,19 @@ local function UpdateWeapons(unitID, unitDefID, weaponMods, speedFactor, rangeUp
321321 spSetUnitWeaponState (unitID , i , " sprayAngle" , sprayAngle )
322322
323323 spSetUnitWeaponState (unitID , i , " projectiles" , moddedProjectiles )
324- if rangeUpdateRequired and not rangeUpdater [ unitID ] then
324+ if rangeUpdateRequired then
325325 if w .projectileSpeed and not projectileSpeedLock [unitID ] then
326326 -- Changing projectile speed without subsequently setting range causes some weapons to go to zero range. Eg Scorcher
327327 local moddedSpeed = w .projectileSpeed * ((weaponMods and weaponMods [i ] and weaponMods [i ].projSpeedMult ) or 1 )* projSpeedFactor
328328 spSetUnitWeaponState (unitID , i , " projectileSpeed" , moddedSpeed )
329329 end
330- local moddedRange = w .range * ((weaponMods and weaponMods [i ] and weaponMods [i ].rangeMult ) or 1 )* rangeFactor
331- spSetUnitWeaponState (unitID , i , " range" , moddedRange )
332- spSetUnitWeaponDamages (unitID , i , " dynDamageRange" , moddedRange )
333- if maxRangeModified < moddedRange then
334- maxRangeModified = moddedRange
330+ if not rangeUpdater [unitID ] then
331+ local moddedRange = w .range * ((weaponMods and weaponMods [i ] and weaponMods [i ].rangeMult ) or 1 )* rangeFactor
332+ spSetUnitWeaponState (unitID , i , " range" , moddedRange )
333+ spSetUnitWeaponDamages (unitID , i , " dynDamageRange" , moddedRange )
334+ if maxRangeModified < moddedRange then
335+ maxRangeModified = moddedRange
336+ end
335337 end
336338 end
337339 if GG .ATT_ENABLE_DAMAGE then
0 commit comments