local TStructureUnit = import('/lua/terranunits.lua').TStructureUnit local WeaponFile = import('/lua/sim/DefaultWeapons.lua') local DefaultProjectileWeapon = WeaponFile.DefaultProjectileWeapon local nukeFiredOnGotTarget = false GWStratigicInterceptorWeapon = Class(DefaultProjectileWeapon) { IsTargetAlreadyUsed = function(self, target) local weap for i = 1, self.unit:GetWeaponCount() do weap = self.unit:GetWeapon(i) if (weap != self) then if self:GetRealTarget(weap:GetCurrentTarget()) == target then self:ResetTarget() self.AimControl:SetResetPoseTime(2) return true end end end return false end, } GEB4403 = Class(TStructureUnit) { Weapons = { AntiNuke1 = Class(GWStratigicInterceptorWeapon) { FxMuzzleFlash = {'/effects/emitters/terran_antinuke_launch_01_emit.bp',}, IdleState = State(GWStratigicInterceptorWeapon.IdleState) { OnGotTarget = function(self) local bp = self:GetBlueprint() if (bp.WeaponUnpackLockMotion != true or (bp.WeaponUnpackLocksMotion == true and not self.unit:IsUnitState('Moving'))) then if (bp.CountedProjectile == false) or self:CanFire() then nukeFiredOnGotTarget = true end end GWStratigicInterceptorWeapon.IdleState.OnGotTarget(self) end, OnFire = function(self) if not nukeFiredOnGotTarget then GWStratigicInterceptorWeapon.IdleState.OnFire(self) end nukeFiredOnGotTarget = false self:ForkThread(function() self.unit:SetBusy(true) WaitSeconds(1/self.unit:GetBlueprint().Weapon[4].RateOfFire + .2) self.unit:SetBusy(false) end) end, }, }, AntiNuke2 = Class(GWStratigicInterceptorWeapon) { FxMuzzleFlash = {'/effects/emitters/terran_antinuke_launch_01_emit.bp',}, IdleState = State(GWStratigicInterceptorWeapon.IdleState) { OnGotTarget = function(self) local bp = self:GetBlueprint() if (bp.WeaponUnpackLockMotion != true or (bp.WeaponUnpackLocksMotion == true and not self.unit:IsUnitState('Moving'))) then if (bp.CountedProjectile == false) or self:CanFire() then nukeFiredOnGotTarget = true end end GWStratigicInterceptorWeapon.IdleState.OnGotTarget(self) end, OnFire = function(self) if not nukeFiredOnGotTarget then GWStratigicInterceptorWeapon.IdleState.OnFire(self) end nukeFiredOnGotTarget = false self:ForkThread(function() self.unit:SetBusy(true) WaitSeconds(1/self.unit:GetBlueprint().Weapon[4].RateOfFire + .2) self.unit:SetBusy(false) end) end, }, }, AntiNuke3 = Class(GWStratigicInterceptorWeapon) { FxMuzzleFlash = {'/effects/emitters/terran_antinuke_launch_01_emit.bp',}, IdleState = State(GWStratigicInterceptorWeapon.IdleState) { OnGotTarget = function(self) local bp = self:GetBlueprint() if (bp.WeaponUnpackLockMotion != true or (bp.WeaponUnpackLocksMotion == true and not self.unit:IsUnitState('Moving'))) then if (bp.CountedProjectile == false) or self:CanFire() then nukeFiredOnGotTarget = true end end GWStratigicInterceptorWeapon.IdleState.OnGotTarget(self) end, OnFire = function(self) if not nukeFiredOnGotTarget then GWStratigicInterceptorWeapon.IdleState.OnFire(self) end nukeFiredOnGotTarget = false self:ForkThread(function() self.unit:SetBusy(true) WaitSeconds(1/self.unit:GetBlueprint().Weapon[4].RateOfFire + .2) self.unit:SetBusy(false) end) end, }, }, AntiNuke4 = Class(GWStratigicInterceptorWeapon) { FxMuzzleFlash = {'/effects/emitters/terran_antinuke_launch_01_emit.bp',}, IdleState = State(GWStratigicInterceptorWeapon.IdleState) { OnGotTarget = function(self) local bp = self:GetBlueprint() if (bp.WeaponUnpackLockMotion != true or (bp.WeaponUnpackLocksMotion == true and not self.unit:IsUnitState('Moving'))) then if (bp.CountedProjectile == false) or self:CanFire() then nukeFiredOnGotTarget = true end end GWStratigicInterceptorWeapon.IdleState.OnGotTarget(self) end, OnFire = function(self) if not nukeFiredOnGotTarget then GWStratigicInterceptorWeapon.IdleState.OnFire(self) end nukeFiredOnGotTarget = false self:ForkThread(function() self.unit:SetBusy(true) WaitSeconds(1/self.unit:GetBlueprint().Weapon[4].RateOfFire + .2) self.unit:SetBusy(false) end) end, }, }, AntiNuke5 = Class(GWStratigicInterceptorWeapon) { FxMuzzleFlash = {'/effects/emitters/terran_antinuke_launch_01_emit.bp',}, IdleState = State(GWStratigicInterceptorWeapon.IdleState) { OnGotTarget = function(self) local bp = self:GetBlueprint() if (bp.WeaponUnpackLockMotion != true or (bp.WeaponUnpackLocksMotion == true and not self.unit:IsUnitState('Moving'))) then if (bp.CountedProjectile == false) or self:CanFire() then nukeFiredOnGotTarget = true end end GWStratigicInterceptorWeapon.IdleState.OnGotTarget(self) end, OnFire = function(self) if not nukeFiredOnGotTarget then GWStratigicInterceptorWeapon.IdleState.OnFire(self) end nukeFiredOnGotTarget = false self:ForkThread(function() self.unit:SetBusy(true) WaitSeconds(1/self.unit:GetBlueprint().Weapon[4].RateOfFire + .2) self.unit:SetBusy(false) end) end, }, }, AntiNuke6 = Class(GWStratigicInterceptorWeapon) { FxMuzzleFlash = {'/effects/emitters/terran_antinuke_launch_01_emit.bp',}, IdleState = State(GWStratigicInterceptorWeapon.IdleState) { OnGotTarget = function(self) local bp = self:GetBlueprint() if (bp.WeaponUnpackLockMotion != true or (bp.WeaponUnpackLocksMotion == true and not self.unit:IsUnitState('Moving'))) then if (bp.CountedProjectile == false) or self:CanFire() then nukeFiredOnGotTarget = true end end GWStratigicInterceptorWeapon.IdleState.OnGotTarget(self) end, OnFire = function(self) if not nukeFiredOnGotTarget then GWStratigicInterceptorWeapon.IdleState.OnFire(self) end nukeFiredOnGotTarget = false self:ForkThread(function() self.unit:SetBusy(true) WaitSeconds(1/self.unit:GetBlueprint().Weapon[4].RateOfFire + .2) self.unit:SetBusy(false) end) end, }, }, AntiNuke7 = Class(GWStratigicInterceptorWeapon) { FxMuzzleFlash = {'/effects/emitters/terran_antinuke_launch_01_emit.bp',}, IdleState = State(GWStratigicInterceptorWeapon.IdleState) { OnGotTarget = function(self) local bp = self:GetBlueprint() if (bp.WeaponUnpackLockMotion != true or (bp.WeaponUnpackLocksMotion == true and not self.unit:IsUnitState('Moving'))) then if (bp.CountedProjectile == false) or self:CanFire() then nukeFiredOnGotTarget = true end end GWStratigicInterceptorWeapon.IdleState.OnGotTarget(self) end, OnFire = function(self) if not nukeFiredOnGotTarget then GWStratigicInterceptorWeapon.IdleState.OnFire(self) end nukeFiredOnGotTarget = false self:ForkThread(function() self.unit:SetBusy(true) WaitSeconds(1/self.unit:GetBlueprint().Weapon[4].RateOfFire + .2) self.unit:SetBusy(false) end) end, }, }, AntiNuke8 = Class(GWStratigicInterceptorWeapon) { FxMuzzleFlash = {'/effects/emitters/terran_antinuke_launch_01_emit.bp',}, IdleState = State(GWStratigicInterceptorWeapon.IdleState) { OnGotTarget = function(self) local bp = self:GetBlueprint() if (bp.WeaponUnpackLockMotion != true or (bp.WeaponUnpackLocksMotion == true and not self.unit:IsUnitState('Moving'))) then if (bp.CountedProjectile == false) or self:CanFire() then nukeFiredOnGotTarget = true end end GWStratigicInterceptorWeapon.IdleState.OnGotTarget(self) end, OnFire = function(self) if not nukeFiredOnGotTarget then GWStratigicInterceptorWeapon.IdleState.OnFire(self) end nukeFiredOnGotTarget = false self:ForkThread(function() self.unit:SetBusy(true) WaitSeconds(1/self.unit:GetBlueprint().Weapon[4].RateOfFire + .2) self.unit:SetBusy(false) end) end, }, }, AntiNuke9 = Class(GWStratigicInterceptorWeapon) { FxMuzzleFlash = {'/effects/emitters/terran_antinuke_launch_01_emit.bp',}, IdleState = State(GWStratigicInterceptorWeapon.IdleState) { OnGotTarget = function(self) local bp = self:GetBlueprint() if (bp.WeaponUnpackLockMotion != true or (bp.WeaponUnpackLocksMotion == true and not self.unit:IsUnitState('Moving'))) then if (bp.CountedProjectile == false) or self:CanFire() then nukeFiredOnGotTarget = true end end GWStratigicInterceptorWeapon.IdleState.OnGotTarget(self) end, OnFire = function(self) if not nukeFiredOnGotTarget then GWStratigicInterceptorWeapon.IdleState.OnFire(self) end nukeFiredOnGotTarget = false self:ForkThread(function() self.unit:SetBusy(true) WaitSeconds(1/self.unit:GetBlueprint().Weapon[4].RateOfFire + .2) self.unit:SetBusy(false) end) end, }, }, AntiNuke10 = Class(GWStratigicInterceptorWeapon) { FxMuzzleFlash = {'/effects/emitters/terran_antinuke_launch_01_emit.bp',}, IdleState = State(GWStratigicInterceptorWeapon.IdleState) { OnGotTarget = function(self) local bp = self:GetBlueprint() if (bp.WeaponUnpackLockMotion != true or (bp.WeaponUnpackLocksMotion == true and not self.unit:IsUnitState('Moving'))) then if (bp.CountedProjectile == false) or self:CanFire() then nukeFiredOnGotTarget = true end end GWStratigicInterceptorWeapon.IdleState.OnGotTarget(self) end, OnFire = function(self) if not nukeFiredOnGotTarget then GWStratigicInterceptorWeapon.IdleState.OnFire(self) end nukeFiredOnGotTarget = false self:ForkThread(function() self.unit:SetBusy(true) WaitSeconds(1/self.unit:GetBlueprint().Weapon[4].RateOfFire + .2) self.unit:SetBusy(false) end) end, }, }, AntiNuke11 = Class(GWStratigicInterceptorWeapon) { FxMuzzleFlash = {'/effects/emitters/terran_antinuke_launch_01_emit.bp',}, IdleState = State(GWStratigicInterceptorWeapon.IdleState) { OnGotTarget = function(self) local bp = self:GetBlueprint() if (bp.WeaponUnpackLockMotion != true or (bp.WeaponUnpackLocksMotion == true and not self.unit:IsUnitState('Moving'))) then if (bp.CountedProjectile == false) or self:CanFire() then nukeFiredOnGotTarget = true end end GWStratigicInterceptorWeapon.IdleState.OnGotTarget(self) end, OnFire = function(self) if not nukeFiredOnGotTarget then GWStratigicInterceptorWeapon.IdleState.OnFire(self) end nukeFiredOnGotTarget = false self:ForkThread(function() self.unit:SetBusy(true) WaitSeconds(1/self.unit:GetBlueprint().Weapon[4].RateOfFire + .2) self.unit:SetBusy(false) end) end, }, }, AntiNuke12 = Class(GWStratigicInterceptorWeapon) { FxMuzzleFlash = {'/effects/emitters/terran_antinuke_launch_01_emit.bp',}, IdleState = State(GWStratigicInterceptorWeapon.IdleState) { OnGotTarget = function(self) local bp = self:GetBlueprint() if (bp.WeaponUnpackLockMotion != true or (bp.WeaponUnpackLocksMotion == true and not self.unit:IsUnitState('Moving'))) then if (bp.CountedProjectile == false) or self:CanFire() then nukeFiredOnGotTarget = true end end GWStratigicInterceptorWeapon.IdleState.OnGotTarget(self) end, OnFire = function(self) if not nukeFiredOnGotTarget then GWStratigicInterceptorWeapon.IdleState.OnFire(self) end nukeFiredOnGotTarget = false self:ForkThread(function() self.unit:SetBusy(true) WaitSeconds(1/self.unit:GetBlueprint().Weapon[4].RateOfFire + .2) self.unit:SetBusy(false) end) end, }, }, }, } TypeClass = GEB4403 Weapon = { { AlwaysRecheckTarget = true, Audio = { Fire = Sound { Bank = 'UELWeapon', Cue = 'UEB4302_Anti_Missile', LodCutoff = 'Weapon_LodCutoff', }, }, BallisticArc = 'RULEUBA_None', CollideFriendly = false, CountedProjectile = true, Damage = 30, DamageType = 'Normal', DisplayName = 'AntiNuke', FireTargetLayerCapsTable = { Land = 'Air', }, FiringTolerance = 60, ForceSingleFire = true, InitialProjectileStorage = 0, Label = 'AntiNuke1', MaxProjectileStorage = 24, MaxRadius = 200, MuzzleSalvoDelay = 0, MuzzleSalvoSize = 1, MuzzleVelocity = 90, ProjectileId = '/projectiles/TIMMissileIntercerptor01/TIMMissileIntercerptor01_proj.bp', ProjectilesPerOnFire = 1, RackBones = { { MuzzleBones = { 'Muzzle01', }, RackBone = 'Muzzle01', }, }, RackFireTogether = false, RackRecoilDistance = 0, RackReloadTimeout = 0, RackSalvoChargeTime = 0, RackSalvoReloadTime = 0, RackSalvoSize = 1, RackSlavedToTurret = false, RangeCategory = 'UWRC_Countermeasure', RateOfFire = 0.6, TargetCheckInterval = 0.1, TargetRestrictDisallow = 'UNTARGETABLE', TargetRestrictOnlyAllow = 'STRATEGIC MISSILE', TargetType = 'RULEWTT_Projectile', TrackingRadius = 2, Turreted = false, WeaponCategory = 'Defense', }, { AlwaysRecheckTarget = true, Audio = { Fire = Sound { Bank = 'UELWeapon', Cue = 'UEB4302_Anti_Missile', LodCutoff = 'Weapon_LodCutoff', }, }, BallisticArc = 'RULEUBA_None', CollideFriendly = false, CountedProjectile = true, Damage = 30, DamageType = 'Normal', DisplayName = 'AntiNuke', FireTargetLayerCapsTable = { Land = 'Air', }, FiringTolerance = 60, ForceSingleFire = true, InitialProjectileStorage = 0, Label = 'AntiNuke2', MaxProjectileStorage = 24, MaxRadius = 200, MuzzleSalvoDelay = 0, MuzzleSalvoSize = 1, MuzzleVelocity = 90, ProjectileId = '/projectiles/TIMMissileIntercerptor01/TIMMissileIntercerptor01_proj.bp', ProjectilesPerOnFire = 1, RackBones = { { MuzzleBones = { 'Muzzle02', }, RackBone = 'Muzzle02', }, }, RackFireTogether = false, RackRecoilDistance = 0, RackReloadTimeout = 0, RackSalvoChargeTime = 0, RackSalvoReloadTime = 0, RackSalvoSize = 1, RackSlavedToTurret = false, RangeCategory = 'UWRC_Countermeasure', RateOfFire = 0.6, TargetCheckInterval = 0.11, TargetRestrictDisallow = 'UNTARGETABLE', TargetRestrictOnlyAllow = 'STRATEGIC MISSILE', TargetType = 'RULEWTT_Projectile', TrackingRadius = 2, Turreted = false, WeaponCategory = 'Defense', }, { AlwaysRecheckTarget = true, Audio = { Fire = Sound { Bank = 'UELWeapon', Cue = 'UEB4302_Anti_Missile', LodCutoff = 'Weapon_LodCutoff', }, }, BallisticArc = 'RULEUBA_None', CollideFriendly = false, CountedProjectile = true, Damage = 30, DamageType = 'Normal', DisplayName = 'AntiNuke', FireTargetLayerCapsTable = { Land = 'Air', }, FiringTolerance = 60, ForceSingleFire = true, InitialProjectileStorage = 0, Label = 'AntiNuke3', MaxProjectileStorage = 24, MaxRadius = 200, MuzzleSalvoDelay = 0, MuzzleSalvoSize = 1, MuzzleVelocity = 90, ProjectileId = '/projectiles/TIMMissileIntercerptor01/TIMMissileIntercerptor01_proj.bp', ProjectilesPerOnFire = 1, RackBones = { { MuzzleBones = { 'Muzzle03', }, RackBone = 'Muzzle03', }, }, RackFireTogether = false, RackRecoilDistance = 0, RackReloadTimeout = 0, RackSalvoChargeTime = 0, RackSalvoReloadTime = 0, RackSalvoSize = 1, RackSlavedToTurret = false, RangeCategory = 'UWRC_Countermeasure', RateOfFire = 0.6, TargetCheckInterval = 0.12, TargetRestrictDisallow = 'UNTARGETABLE', TargetRestrictOnlyAllow = 'STRATEGIC MISSILE', TargetType = 'RULEWTT_Projectile', TrackingRadius = 2, Turreted = false, WeaponCategory = 'Defense', }, { AlwaysRecheckTarget = true, Audio = { Fire = Sound { Bank = 'UELWeapon', Cue = 'UEB4302_Anti_Missile', LodCutoff = 'Weapon_LodCutoff', }, }, BallisticArc = 'RULEUBA_None', CollideFriendly = false, CountedProjectile = true, Damage = 30, DamageType = 'Normal', DisplayName = 'AntiNuke', FireTargetLayerCapsTable = { Land = 'Air', }, FiringTolerance = 60, ForceSingleFire = true, InitialProjectileStorage = 0, Label = 'AntiNuke4', MaxProjectileStorage = 24, MaxRadius = 200, MuzzleSalvoDelay = 0, MuzzleSalvoSize = 1, MuzzleVelocity = 90, ProjectileId = '/projectiles/TIMMissileIntercerptor01/TIMMissileIntercerptor01_proj.bp', ProjectilesPerOnFire = 1, RackBones = { { MuzzleBones = { 'Muzzle04', }, RackBone = 'Muzzle04', }, }, RackFireTogether = false, RackRecoilDistance = 0, RackReloadTimeout = 0, RackSalvoChargeTime = 0, RackSalvoReloadTime = 0, RackSalvoSize = 1, RackSlavedToTurret = false, RangeCategory = 'UWRC_Countermeasure', RateOfFire = 0.6, TargetCheckInterval = 0.13, TargetRestrictDisallow = 'UNTARGETABLE', TargetRestrictOnlyAllow = 'STRATEGIC MISSILE', TargetType = 'RULEWTT_Projectile', TrackingRadius = 2, Turreted = false, WeaponCategory = 'Defense', }, { AlwaysRecheckTarget = true, Audio = { Fire = Sound { Bank = 'UELWeapon', Cue = 'UEB4302_Anti_Missile', LodCutoff = 'Weapon_LodCutoff', }, }, BallisticArc = 'RULEUBA_None', CollideFriendly = false, CountedProjectile = true, Damage = 30, DamageType = 'Normal', DisplayName = 'AntiNuke', FireTargetLayerCapsTable = { Land = 'Air', }, FiringTolerance = 60, ForceSingleFire = true, InitialProjectileStorage = 0, Label = 'AntiNuke5', MaxProjectileStorage = 24, MaxRadius = 200, MuzzleSalvoDelay = 0, MuzzleSalvoSize = 1, MuzzleVelocity = 90, ProjectileId = '/projectiles/TIMMissileIntercerptor01/TIMMissileIntercerptor01_proj.bp', ProjectilesPerOnFire = 1, RackBones = { { MuzzleBones = { 'Muzzle05', }, RackBone = 'Muzzle05', }, }, RackFireTogether = false, RackRecoilDistance = 0, RackReloadTimeout = 0, RackSalvoChargeTime = 0, RackSalvoReloadTime = 0, RackSalvoSize = 1, RackSlavedToTurret = false, RangeCategory = 'UWRC_Countermeasure', RateOfFire = 0.6, TargetCheckInterval = 0.14, TargetRestrictDisallow = 'UNTARGETABLE', TargetRestrictOnlyAllow = 'STRATEGIC MISSILE', TargetType = 'RULEWTT_Projectile', TrackingRadius = 2, Turreted = false, WeaponCategory = 'Defense', }, { AlwaysRecheckTarget = true, Audio = { Fire = Sound { Bank = 'UELWeapon', Cue = 'UEB4302_Anti_Missile', LodCutoff = 'Weapon_LodCutoff', }, }, BallisticArc = 'RULEUBA_None', CollideFriendly = false, CountedProjectile = true, Damage = 30, DamageType = 'Normal', DisplayName = 'AntiNuke', FireTargetLayerCapsTable = { Land = 'Air', }, FiringTolerance = 60, ForceSingleFire = true, InitialProjectileStorage = 0, Label = 'AntiNuke6', MaxProjectileStorage = 24, MaxRadius = 200, MuzzleSalvoDelay = 0, MuzzleSalvoSize = 1, MuzzleVelocity = 90, ProjectileId = '/projectiles/TIMMissileIntercerptor01/TIMMissileIntercerptor01_proj.bp', ProjectilesPerOnFire = 1, RackBones = { { MuzzleBones = { 'Muzzle06', }, RackBone = 'Muzzle046', }, }, RackFireTogether = false, RackRecoilDistance = 0, RackReloadTimeout = 0, RackSalvoChargeTime = 0, RackSalvoReloadTime = 0, RackSalvoSize = 1, RackSlavedToTurret = false, RangeCategory = 'UWRC_Countermeasure', RateOfFire = 0.6, TargetCheckInterval = 0.15, TargetRestrictDisallow = 'UNTARGETABLE', TargetRestrictOnlyAllow = 'STRATEGIC MISSILE', TargetType = 'RULEWTT_Projectile', TrackingRadius = 2, Turreted = false, WeaponCategory = 'Defense', }, { AlwaysRecheckTarget = true, Audio = { Fire = Sound { Bank = 'UELWeapon', Cue = 'UEB4302_Anti_Missile', LodCutoff = 'Weapon_LodCutoff', }, }, BallisticArc = 'RULEUBA_None', CollideFriendly = false, CountedProjectile = true, Damage = 30, DamageType = 'Normal', DisplayName = 'AntiNuke', FireTargetLayerCapsTable = { Land = 'Air', }, FiringTolerance = 60, ForceSingleFire = true, InitialProjectileStorage = 0, Label = 'AntiNuke7', MaxProjectileStorage = 24, MaxRadius = 200, MuzzleSalvoDelay = 0, MuzzleSalvoSize = 1, MuzzleVelocity = 90, ProjectileId = '/projectiles/TIMMissileIntercerptor01/TIMMissileIntercerptor01_proj.bp', ProjectilesPerOnFire = 1, RackBones = { { MuzzleBones = { 'Muzzle07', }, RackBone = 'Muzzle07', }, }, RackFireTogether = false, RackRecoilDistance = 0, RackReloadTimeout = 0, RackSalvoChargeTime = 0, RackSalvoReloadTime = 0, RackSalvoSize = 1, RackSlavedToTurret = false, RangeCategory = 'UWRC_Countermeasure', RateOfFire = 0.6, TargetCheckInterval = 0.16, TargetRestrictDisallow = 'UNTARGETABLE', TargetRestrictOnlyAllow = 'STRATEGIC MISSILE', TargetType = 'RULEWTT_Projectile', TrackingRadius = 2, Turreted = false, WeaponCategory = 'Defense', }, { AlwaysRecheckTarget = true, Audio = { Fire = Sound { Bank = 'UELWeapon', Cue = 'UEB4302_Anti_Missile', LodCutoff = 'Weapon_LodCutoff', }, }, BallisticArc = 'RULEUBA_None', CollideFriendly = false, CountedProjectile = true, Damage = 30, DamageType = 'Normal', DisplayName = 'AntiNuke', FireTargetLayerCapsTable = { Land = 'Air', }, FiringTolerance = 60, ForceSingleFire = true, InitialProjectileStorage = 0, Label = 'AntiNuke8', MaxProjectileStorage = 24, MaxRadius = 200, MuzzleSalvoDelay = 0, MuzzleSalvoSize = 1, MuzzleVelocity = 90, ProjectileId = '/projectiles/TIMMissileIntercerptor01/TIMMissileIntercerptor01_proj.bp', ProjectilesPerOnFire = 1, RackBones = { { MuzzleBones = { 'Muzzle08', }, RackBone = 'Muzzle08', }, }, RackFireTogether = false, RackRecoilDistance = 0, RackReloadTimeout = 0, RackSalvoChargeTime = 0, RackSalvoReloadTime = 0, RackSalvoSize = 1, RackSlavedToTurret = false, RangeCategory = 'UWRC_Countermeasure', RateOfFire = 0.6, TargetCheckInterval = 0.17, TargetRestrictDisallow = 'UNTARGETABLE', TargetRestrictOnlyAllow = 'STRATEGIC MISSILE', TargetType = 'RULEWTT_Projectile', TrackingRadius = 2, Turreted = false, WeaponCategory = 'Defense', }, { AlwaysRecheckTarget = true, Audio = { Fire = Sound { Bank = 'UELWeapon', Cue = 'UEB4302_Anti_Missile', LodCutoff = 'Weapon_LodCutoff', }, }, BallisticArc = 'RULEUBA_None', CollideFriendly = false, CountedProjectile = true, Damage = 30, DamageType = 'Normal', DisplayName = 'AntiNuke', FireTargetLayerCapsTable = { Land = 'Air', }, FiringTolerance = 60, ForceSingleFire = true, InitialProjectileStorage = 0, Label = 'AntiNuke9', MaxProjectileStorage = 24, MaxRadius = 200, MuzzleSalvoDelay = 0, MuzzleSalvoSize = 1, MuzzleVelocity = 90, ProjectileId = '/projectiles/TIMMissileIntercerptor01/TIMMissileIntercerptor01_proj.bp', ProjectilesPerOnFire = 1, RackBones = { { MuzzleBones = { 'Muzzle09', }, RackBone = 'Muzzle09', }, }, RackFireTogether = false, RackRecoilDistance = 0, RackReloadTimeout = 0, RackSalvoChargeTime = 0, RackSalvoReloadTime = 0, RackSalvoSize = 1, RackSlavedToTurret = false, RangeCategory = 'UWRC_Countermeasure', RateOfFire = 0.6, TargetCheckInterval = 0.18, TargetRestrictDisallow = 'UNTARGETABLE', TargetRestrictOnlyAllow = 'STRATEGIC MISSILE', TargetType = 'RULEWTT_Projectile', TrackingRadius = 2, Turreted = false, WeaponCategory = 'Defense', }, { AlwaysRecheckTarget = true, Audio = { Fire = Sound { Bank = 'UELWeapon', Cue = 'UEB4302_Anti_Missile', LodCutoff = 'Weapon_LodCutoff', }, }, BallisticArc = 'RULEUBA_None', CollideFriendly = false, CountedProjectile = true, Damage = 30, DamageType = 'Normal', DisplayName = 'AntiNuke', FireTargetLayerCapsTable = { Land = 'Air', }, FiringTolerance = 60, ForceSingleFire = true, InitialProjectileStorage = 0, Label = 'AntiNuke10', MaxProjectileStorage = 24, MaxRadius = 200, MuzzleSalvoDelay = 0, MuzzleSalvoSize = 1, MuzzleVelocity = 90, ProjectileId = '/projectiles/TIMMissileIntercerptor01/TIMMissileIntercerptor01_proj.bp', ProjectilesPerOnFire = 1, RackBones = { { MuzzleBones = { 'Muzzle10', }, RackBone = 'Muzzle10', }, }, RackFireTogether = false, RackRecoilDistance = 0, RackReloadTimeout = 0, RackSalvoChargeTime = 0, RackSalvoReloadTime = 0, RackSalvoSize = 1, RackSlavedToTurret = false, RangeCategory = 'UWRC_Countermeasure', RateOfFire = 0.6, TargetCheckInterval = 0.19, TargetRestrictDisallow = 'UNTARGETABLE', TargetRestrictOnlyAllow = 'STRATEGIC MISSILE', TargetType = 'RULEWTT_Projectile', TrackingRadius = 2, Turreted = false, WeaponCategory = 'Defense', }, { AlwaysRecheckTarget = true, Audio = { Fire = Sound { Bank = 'UELWeapon', Cue = 'UEB4302_Anti_Missile', LodCutoff = 'Weapon_LodCutoff', }, }, BallisticArc = 'RULEUBA_None', CollideFriendly = false, CountedProjectile = true, Damage = 30, DamageType = 'Normal', DisplayName = 'AntiNuke', FireTargetLayerCapsTable = { Land = 'Air', }, FiringTolerance = 60, ForceSingleFire = true, InitialProjectileStorage = 0, Label = 'AntiNuke11', MaxProjectileStorage = 24, MaxRadius = 200, MuzzleSalvoDelay = 0, MuzzleSalvoSize = 1, MuzzleVelocity = 90, ProjectileId = '/projectiles/TIMMissileIntercerptor01/TIMMissileIntercerptor01_proj.bp', ProjectilesPerOnFire = 1, RackBones = { { MuzzleBones = { 'Muzzle11', }, RackBone = 'Muzzle11', }, }, RackFireTogether = false, RackRecoilDistance = 0, RackReloadTimeout = 0, RackSalvoChargeTime = 0, RackSalvoReloadTime = 0, RackSalvoSize = 1, RackSlavedToTurret = false, RangeCategory = 'UWRC_Countermeasure', RateOfFire = 0.6, TargetCheckInterval = 0.2, TargetRestrictDisallow = 'UNTARGETABLE', TargetRestrictOnlyAllow = 'STRATEGIC MISSILE', TargetType = 'RULEWTT_Projectile', TrackingRadius = 2, Turreted = false, WeaponCategory = 'Defense', }, { AlwaysRecheckTarget = true, Audio = { Fire = Sound { Bank = 'UELWeapon', Cue = 'UEB4302_Anti_Missile', LodCutoff = 'Weapon_LodCutoff', }, }, BallisticArc = 'RULEUBA_None', CollideFriendly = false, CountedProjectile = true, Damage = 30, DamageType = 'Normal', DisplayName = 'AntiNuke', FireTargetLayerCapsTable = { Land = 'Air', }, FiringTolerance = 60, ForceSingleFire = true, InitialProjectileStorage = 0, Label = 'AntiNuke12', MaxProjectileStorage = 24, MaxRadius = 200, MuzzleSalvoDelay = 0, MuzzleSalvoSize = 1, MuzzleVelocity = 90, ProjectileId = '/projectiles/TIMMissileIntercerptor01/TIMMissileIntercerptor01_proj.bp', ProjectilesPerOnFire = 1, RackBones = { { MuzzleBones = { 'Muzzle12', }, RackBone = 'Muzzle12', }, }, RackFireTogether = false, RackRecoilDistance = 0, RackReloadTimeout = 0, RackSalvoChargeTime = 0, RackSalvoReloadTime = 0, RackSalvoSize = 1, RackSlavedToTurret = false, RangeCategory = 'UWRC_Countermeasure', RateOfFire = 0.6, TargetCheckInterval = 0.21, TargetRestrictDisallow = 'UNTARGETABLE', TargetRestrictOnlyAllow = 'STRATEGIC MISSILE', TargetType = 'RULEWTT_Projectile', TrackingRadius = 2, Turreted = false, WeaponCategory = 'Defense', }, },