From 4d52c922afb4bd5ad08c5dd1bfb7e9c49f68de51 Mon Sep 17 00:00:00 2001 From: MrRowey Date: Tue, 14 Nov 2023 11:20:58 +0000 Subject: [PATCH 1/5] Created sepreate proj files --- lua/cybranprojectiles.lua | 885 ++---------------- .../cybran/CAADissidentProjectile.lua | 35 + .../CAAElectronBurstCloudProjectile.lua | 32 + .../cybran/CAAMissileNaniteProjectile.lua | 39 + .../cybran/CAAMissileNaniteProjectile03.lua | 27 + .../cybran/CAANanoDartProjectile.lua | 34 + .../cybran/CAANanoDartProjectile02.lua | 29 + .../cybran/CAANanoDartProjectile03.lua | 33 + .../cybran/CArtilleryProjectile.lua | 33 + .../cybran/CArtilleryProtonProjectile.lua | 44 + .../projectiles/cybran/CBeamProjectile.lua | 33 + .../projectiles/cybran/CBombProjectile.lua | 33 + .../cybran/CCannonSeaProjectile.lua | 29 + .../cybran/CCannonTankProjectile.lua | 29 + .../cybran/CCorsairRocketProjectile.lua | 34 + .../cybran/CDFBrackmanHackPegProjectile01.lua | 33 + .../cybran/CDFBrackmanHackPegProjectile02.lua | 34 + .../cybran/CDFHvyProtonCannonProjectile.lua | 42 + .../cybran/CDFProtonCannonProjectile.lua | 41 + .../cybran/CDFTrackerProjectile.lua | 36 + .../cybran/CDepthChargeProjectile.lua | 63 ++ .../cybran/CDisintegratorLaserProjectile.lua | 41 + .../CDisintegratorLaserProjectile02.lua | 40 + .../cybran/CEMPFluxWarheadProjectile.lua | 37 + .../cybran/CElectronBolterProjectile.lua | 39 + .../cybran/CFlameThrowerProjectile.lua | 31 + .../cybran/CHeavyDisintegratorPulseLaser.lua | 39 + .../cybran/CHeavyElectronBolterProjectile.lua | 47 + .../cybran/CHeavyLaserProjectile.lua | 36 + .../cybran/CHeavyLaserProjectile2.lua | 38 + .../cybran/CIFMolecularResonanceShell.lua | 63 ++ .../cybran/CIFProtonBombProjectile.lua | 52 + .../cybran/CIridiumRocketProjectile.lua | 35 + lua/sim/projectiles/cybran/CKrilTorpedo.lua | 26 + .../CLOATacticalChildMissileProjectile.lua | 92 ++ .../cybran/CLOATacticalMissileProjectile.lua | 109 +++ .../cybran/CLaserLaserProjectile.lua | 37 + .../cybran/CMissileAAProjectile.lua | 44 + .../cybran/CMolecularCannonProjectile.lua | 36 + .../CNeutronClusterBombChildProjectile.lua | 42 + .../cybran/CNeutronClusterBombProjectile.lua | 69 ++ .../cybran/CParticleCannonProjectile.lua | 33 + .../projectiles/cybran/CRailGunProjectile.lua | 32 + .../projectiles/cybran/CRocketProjectile.lua | 34 + .../cybran/CShellAAAutoCannonProjectile.lua | 36 + .../cybran/CShellRiotProjectile.lua | 33 + .../cybran/CTorpedoShipProjectile.lua | 57 ++ .../cybran/CTorpedoSubProjectile.lua | 44 + 48 files changed, 1994 insertions(+), 826 deletions(-) create mode 100644 lua/sim/projectiles/cybran/CAADissidentProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CAAElectronBurstCloudProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CAAMissileNaniteProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CAAMissileNaniteProjectile03.lua create mode 100644 lua/sim/projectiles/cybran/CAANanoDartProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CAANanoDartProjectile02.lua create mode 100644 lua/sim/projectiles/cybran/CAANanoDartProjectile03.lua create mode 100644 lua/sim/projectiles/cybran/CArtilleryProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CArtilleryProtonProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CBeamProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CBombProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CCannonSeaProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CCannonTankProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CCorsairRocketProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CDFBrackmanHackPegProjectile01.lua create mode 100644 lua/sim/projectiles/cybran/CDFBrackmanHackPegProjectile02.lua create mode 100644 lua/sim/projectiles/cybran/CDFHvyProtonCannonProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CDFProtonCannonProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CDFTrackerProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CDepthChargeProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CDisintegratorLaserProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CDisintegratorLaserProjectile02.lua create mode 100644 lua/sim/projectiles/cybran/CEMPFluxWarheadProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CElectronBolterProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CFlameThrowerProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CHeavyDisintegratorPulseLaser.lua create mode 100644 lua/sim/projectiles/cybran/CHeavyElectronBolterProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CHeavyLaserProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CHeavyLaserProjectile2.lua create mode 100644 lua/sim/projectiles/cybran/CIFMolecularResonanceShell.lua create mode 100644 lua/sim/projectiles/cybran/CIFProtonBombProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CIridiumRocketProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CKrilTorpedo.lua create mode 100644 lua/sim/projectiles/cybran/CLOATacticalChildMissileProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CLOATacticalMissileProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CLaserLaserProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CMissileAAProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CMolecularCannonProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CNeutronClusterBombChildProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CNeutronClusterBombProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CParticleCannonProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CRailGunProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CRocketProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CShellAAAutoCannonProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CShellRiotProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CTorpedoShipProjectile.lua create mode 100644 lua/sim/projectiles/cybran/CTorpedoSubProjectile.lua diff --git a/lua/cybranprojectiles.lua b/lua/cybranprojectiles.lua index 86d04f1b71..e1564371e9 100644 --- a/lua/cybranprojectiles.lua +++ b/lua/cybranprojectiles.lua @@ -6,7 +6,65 @@ ------------------------------------------------------------ -- CYBRAN PROJECILES SCRIPTS +CDFBrackmanHackPegProjectile01 = import('/lua/sim/projectiles/cybran/CDFBrackmanHackPegProjectile01.lua').CDFBrackmanHackPegProjectile01 +CDFBrackmanHackPegProjectile02 = import('/lua/sim/projectiles/cybran/CDFBrackmanHackPegProjectile02.lua').CDFBrackmanHackPegProjectile02 +CIFProtonBombProjectile = import('/lua/sim/projectiles/cybran/CIFProtonBombProjectile.lua').CIFProtonBombProjectile +CDFProtonCannonProjectile = import('/lua/sim/projectiles/cybran/CDFProtonCannonProjectile.lua').CDFProtonCannonProjectile +CDFHvyProtonCannonProjectile = import('/lua/sim/projectiles/cybran/CDFHvyProtonCannonProjectile.lua').CDFHvyProtonCannonProjectile +CAADissidentProjectile = import('/lua/sim/projectiles/cybran/CAADissidentProjectile.lua').CAADissidentProjectile +CAAElectronBurstCloudProjectile = import('/lua/sim/projectiles/cybran/CAAElectronBurstCloudProjectile.lua').CAAElectronBurstCloudProjectile +CAAMissileNaniteProjectile = import('/lua/sim/projectiles/cybran/CAAMissileNaniteProjectile.lua').CAAMissileNaniteProjectile +CAAMissileNaniteProjectile03 = import('/lua/sim/projectiles/cybran/CAAMissileNaniteProjectile03.lua').CAAMissileNaniteProjectile03 +CAANanoDartProjectile = import('/lua/sim/projectiles/cybran/CAANanoDartProjectile.lua').CAANanoDartProjectile +CAANanoDartProjectile02 = import('/lua/sim/projectiles/cybran/CAANanoDartProjectile02.lua').CAANanoDartProjectile02 +CAANanoDartProjectile03 = import('/lua/sim/projectiles/cybran/CAANanoDartProjectile03.lua').CAANanoDartProjectile03 +CArtilleryProjectile = import('/lua/sim/projectiles/cybran/CArtilleryProjectile.lua').CArtilleryProjectile +CArtilleryProtonProjectile = import('/lua/sim/projectiles/cybran/CArtilleryProtonProjectile.lua').CArtilleryProtonProjectile +CAAMissileNaniteProjectile = import('/lua/sim/projectiles/cybran/CAAMissileNaniteProjectile.lua').CAAMissileNaniteProjectile +CBeamProjectile = import('/lua/sim/projectiles/cybran/CBeamProjectile.lua').CBeamProjectile +CBombProjectile = import('/lua/sim/projectiles/cybran/CBombProjectile.lua').CBombProjectile +CCannonSeaProjectile = import('/lua/sim/projectiles/cybran/CCannonSeaProjectile.lua').CCannonSeaProjectile +CCannonTankProjectile = import('/lua/sim/projectiles/cybran/CCannonTankProjectile.lua').CCannonTankProjectile +CDFTrackerProjectile = import('/lua/sim/projectiles/cybran/CDFTrackerProjectile.lua').CDFTrackerProjectile +CDisintegratorLaserProjectile = import('/lua/sim/projectiles/cybran/CDisintegratorLaserProjectile.lua').CDisintegratorLaserProjectile +CDisintegratorLaserProjectile02 = import('/lua/sim/projectiles/cybran/CDisintegratorLaserProjectile02.lua').CDisintegratorLaserProjectile02 +CElectronBolterProjectile = import('/lua/sim/projectiles/cybran/CElectronBolterProjectile.lua').CElectronBolterProjectile +CHeavyElectronBolterProjectile = import('/lua/sim/projectiles/cybran/CHeavyElectronBolterProjectile.lua').CHeavyElectronBolterProjectile +CHeavyElectronBolterProjectile2 = import('/lua/sim/projectiles/cybran/CHeavyElectronBolterProjectile2.lua').CHeavyElectronBolterProjectile2 +CFlameThrowerProjectile = import('/lua/sim/projectiles/cybran/CFlameThrowerProjectile.lua').CFlameThrowerProjectile +CIFMolecularResonanceShell = import('/lua/sim/projectiles/cybran/CIFMolecularResonanceShell.lua').CIFMolecularResonanceShell +CMissileAAProjectile = import('/lua/sim/projectiles/cybran/CMissileAAProjectile.lua').CMissileAAProjectile +CNeutronClusterBombChildProjectile = import('/lua/sim/projectiles/cybran/CNeutronClusterBombChildProjectile.lua').CNeutronClusterBombChildProjectile +CNeutronClusterBombProjectile = import('/lua/sim/projectiles/cybran/CNeutronClusterBombProjectile.lua').CNeutronClusterBombProjectile +CNeutronClusterBombProjectile02 = import('/lua/sim/projectiles/cybran/CNeutronClusterBombProjectile02.lua').CNeutronClusterBombProjectile02 +CMolecularCannonProjectile = import('/lua/sim/projectiles/cybran/CMolecularCannonProjectile.lua').CMolecularCannonProjectile +CMolecularCannonProjectile02 = import('/lua/sim/projectiles/cybran/CMolecularCannonProjectile02.lua').CMolecularCannonProjectile02 +CLaserLaserProjectile = import('/lua/sim/projectiles/cybran/CLaserLaserProjectile.lua').CLaserLaserProjectile +CHeavyLaserProjectile = import('/lua/sim/projectiles/cybran/CHeavyLaserProjectile.lua').CHeavyLaserProjectile +CHeavyLaserProjectile2 = import('/lua/sim/projectiles/cybran/CHeavyLaserProjectile2.lua').CHeavyLaserProjectile2 +CIFSmartCharge = import('/lua/sim/projectiles/cybran/CIFSmartCharge.lua').CIFSmartCharge +CEMPFluxWarheadProjectile = import('/lua/sim/projectiles/cybran/CEMPFluxWarheadProjectile.lua').CEMPFluxWarheadProjectile +CIridiumRocketProjectile = import('/lua/sim/projectiles/cybran/CIridiumRocketProjectile.lua').CIridiumRocketProjectile +CCorsairRocketProjectile = import('/lua/sim/projectiles/cybran/CCorsairRocketProjectile.lua').CCorsairRocketProjectile +CParticleCannonProjectile = import('/lua/sim/projectiles/cybran/CParticleCannonProjectile.lua').CParticleCannonProjectile +CRailGunProjectile = import('/lua/sim/projectiles/cybran/CRailGunProjectile.lua').CRailGunProjectile +CRocketProjectile = import('/lua/sim/projectiles/cybran/CRocketProjectile.lua').CRocketProjectile +CLOATacticalMissileProjectile = import('/lua/sim/projectiles/cybran/CLOATacticalMissileProjectile.lua').CLOATacticalMissileProjectile +CLOATacticalChildMissileProjectile = import('/lua/sim/projectiles/cybran/CLOATacticalMissileProjectile.lua').CLOATacticalChildMissileProjectile +CShellAAAutoCannonProjectile = import('/lua/sim/projectiles/cybran/CShellAAAutoCannonProjectile.lua').CShellAAAutoCannonProjectile +CShellRiotProjectile = import('/lua/sim/projectiles/cybran/CShellRiotProjectile.lua').CShellRiotProjectile +CTorpedoShipProjectile = import('/lua/sim/projectiles/cybran/CTorpedoShipProjectile.lua').CTorpedoShipProjectile +CTorpedoSubProjectile = import('/lua/sim/projectiles/cybran/CTorpedoSubProjectile.lua').CTorpedoSubProjectile +CDepthChargeProjectile = import('/lua/sim/projectiles/cybran/CDepthChargeProjectile.lua').CDepthChargeProjectile +CHeavyDisintegratorPulseLaser = import('/lua/sim/projectiles/cybran/CHeavyDisintegratorPulseLaser.lua').CHeavyDisintegratorPulseLaser +CKrilTorpedo = import('/lua/sim/projectiles/cybran/CKrilTorpedo.lua').CKrilTorpedo + +-- kept for mod backwards compatibility local DefaultProjectileFile = import("/lua/sim/defaultprojectiles.lua") +local DefaultExplosion = import("/lua/defaultexplosions.lua") +local RandomFloat = import("/lua/utilities.lua").GetRandomFloat +local MultiBeamProjectile = DefaultProjectileFile.MultiBeamProjectile +local DepthCharge = import("/lua/defaultantiprojectile.lua").DepthCharge local EmitterProjectile = DefaultProjectileFile.EmitterProjectile local OnWaterEntryEmitterProjectile = DefaultProjectileFile.OnWaterEntryEmitterProjectile local SingleBeamProjectile = DefaultProjectileFile.SingleBeamProjectile @@ -18,829 +76,4 @@ local EffectTemplate = import("/lua/effecttemplates.lua") local NukeProjectile = DefaultProjectileFile.NukeProjectile local TacticalMissileComponent = import('/lua/sim/defaultprojectiles.lua').TacticalMissileComponent local SplitComponent = import('/lua/sim/projectiles/components/SplitComponent.lua').SplitComponent -local DebrisComponent = import('/lua/sim/projectiles/components/DebrisComponent.lua').DebrisComponent - ---- CYBRAN BRACKMAN "HACK PEG-POD" PROJECTILE ----@class CDFBrackmanHackPegProjectile01 : MultiPolyTrailProjectile -CDFBrackmanHackPegProjectile01 = ClassProjectile(MultiPolyTrailProjectile) { - FxImpactTrajectoryAligned = false, - PolyTrails = EffectTemplate.CBrackmanCrabPegPodTrails, - PolyTrailOffset = { 0, 0 }, - FxTrailOffset = 0, -} - ---- CYBRAN BRACKMAN "HACK PEG" PROJECTILES ----@class CDFBrackmanHackPegProjectile02 : MultiPolyTrailProjectile -CDFBrackmanHackPegProjectile02 = ClassProjectile(MultiPolyTrailProjectile) { - FxImpactTrajectoryAligned = false, - PolyTrails = EffectTemplate.CBrackmanCrabPegTrails, - PolyTrailOffset = { 0, 0 }, - FxImpactLand = EffectTemplate.CBrackmanCrabPegHit01, - FxTrailOffset = 0, -} - ---- CYBRAN PROTON PROJECTILES ---- T3 strategic bomber ----@class CIFProtonBombProjectile : NullShell -CIFProtonBombProjectile = ClassProjectile(NullShell) { - FxImpactTrajectoryAligned = false, - FxImpactUnit = EffectTemplate.CProtonBombHit01, - FxImpactProp = EffectTemplate.CProtonBombHit01, - FxImpactLand = EffectTemplate.CProtonBombHit01, - - ---@param self CIFProtonBombProjectile - ---@param targetType string - ---@param targetEntity Unit - OnImpact = function(self, targetType, targetEntity) - CreateLightParticle(self, -1, self.Army, 12, 28, 'glow_03', 'ramp_proton_flash_02') - CreateLightParticle(self, -1, self.Army, 8, 22, 'glow_03', 'ramp_antimatter_02') - - local blanketSides = 12 - local blanketAngle = (2*math.pi) / blanketSides - local blanketVelocity = 6.25 - for i = 0, (blanketSides-1) do - local blanketX = math.sin(i*blanketAngle) - local blanketZ = math.cos(i*blanketAngle) - self:CreateProjectile('/effects/entities/EffectProtonAmbient01/EffectProtonAmbient01_proj.bp', blanketX, 0.5, blanketZ, blanketX, 0, blanketZ):SetVelocity(blanketVelocity):SetAcceleration(-0.3) - end - NullShell.OnImpact(self, targetType, targetEntity) - end, -} - ---- CYBRAN PROTON PROJECTILES ----@class CDFProtonCannonProjectile : MultiPolyTrailProjectile -CDFProtonCannonProjectile = ClassProjectile(MultiPolyTrailProjectile) { - PolyTrails = { - EffectTemplate.CProtonCannonPolyTrail, - '/effects/emitters/default_polytrail_01_emit.bp', - }, - PolyTrailOffset = { 0, 0 }, - FxTrails = EffectTemplate.CProtonCannonFXTrail01, - FxImpactUnit = EffectTemplate.CProtonCannonHit01, - FxImpactProp = EffectTemplate.CProtonCannonHit01, - FxImpactLand = EffectTemplate.CProtonCannonHit01, - FxImpactWater = EffectTemplate.CProtonCannonHitWater01, - FxImpactWaterScale = 0.75, - FxTrailOffset = 0, -} - ---- CYBRAN PROTON PROJECTILES ---- XRL0403 experimental crab heavy proton cannon ----@class CDFHvyProtonCannonProjectile : MultiPolyTrailProjectile -CDFHvyProtonCannonProjectile = ClassProjectile(MultiPolyTrailProjectile) { - PolyTrails = { - EffectTemplate.CHvyProtonCannonPolyTrail, - '/effects/emitters/default_polytrail_01_emit.bp', - }, - PolyTrailOffset = { 0, 0 }, - FxTrails = EffectTemplate.CHvyProtonCannonFXTrail01, - FxImpactUnit = EffectTemplate.CHvyProtonCannonHitUnit, - FxImpactProp = EffectTemplate.CHvyProtonCannonHitUnit, - FxImpactLand = EffectTemplate.CHvyProtonCannonHitLand, - FxImpactUnderWater = EffectTemplate.CHvyProtonCannonHit01, - FxImpactWater = EffectTemplate.CHvyProtonCannonHit01, - FxTrailOffset = 0, -} - ---- CYBRAN DISSIDENT PROJECTILE ----@class CAADissidentProjectile : SinglePolyTrailProjectile -CAADissidentProjectile = ClassProjectile(SinglePolyTrailProjectile) { - PolyTrail = '/effects/emitters/electron_bolter_trail_01_emit.bp', - FxTrails = {'/effects/emitters/electron_bolter_munition_01_emit.bp',}, - FxImpactUnit = EffectTemplate.TMissileHit01, - FxImpactProp = EffectTemplate.TMissileHit01, - FxImpactLand = EffectTemplate.TMissileHit01, - FxImpactProjectile = EffectTemplate.TMissileHit01, -} - ---- ELECTRON BURST CLOUD PROJECILE ----@class CAAElectronBurstCloudProjectile : SinglePolyTrailProjectile -CAAElectronBurstCloudProjectile = ClassProjectile(SinglePolyTrailProjectile) { - PolyTrail = '/effects/emitters/default_polytrail_02_emit.bp', - FxImpactAirUnit = EffectTemplate.CElectronBurstCloud01, - FxImpactNone = EffectTemplate.CElectronBurstCloud01, -} - ---- NANITE MISSILE PROJECTILE ----@class CAAMissileNaniteProjectile : SingleCompositeEmitterProjectile -CAAMissileNaniteProjectile = ClassProjectile(SingleCompositeEmitterProjectile) { - FxTrailOffset = -0.05, - PolyTrail = EffectTemplate.CNanoDartPolyTrail01, - BeamName = '/effects/emitters/missile_nanite_exhaust_beam_01_emit.bp', - FxUnitHitScale = 0.5, - FxImpactAirUnit = EffectTemplate.CNanoDartUnitHit01, - FxImpactNone = EffectTemplate.CNanoDartUnitHit01, - FxImpactUnit = EffectTemplate.CNanoDartUnitHit01, - FxImpactProp = EffectTemplate.CNanoDartUnitHit01, - FxLandHitScale = 0.5, - FxImpactLand = EffectTemplate.CMissileHit01, -} - ---- NANITE MISSILE PROJECTILE ----@class CAAMissileNaniteProjectile03 : CAAMissileNaniteProjectile -CAAMissileNaniteProjectile03 = ClassProjectile(CAAMissileNaniteProjectile) {} - ---- NANODART PROJECILE ----@class CAANanoDartProjectile : SinglePolyTrailProjectile -CAANanoDartProjectile = ClassProjectile(SinglePolyTrailProjectile) { - FxImpactTrajectoryAligned = false, - PolyTrail= EffectTemplate.CNanoDartPolyTrail01, - FxImpactAirUnit = EffectTemplate.CNanoDartUnitHit01, - FxImpactUnit = EffectTemplate.CNanoDartUnitHit01, - FxImpactLand = EffectTemplate.CNanoDartLandHit01, -} - ---- NANODART PROJECILE ----@class CAANanoDartProjectile02 : CAANanoDartProjectile -CAANanoDartProjectile02 = ClassProjectile(CAANanoDartProjectile) { - PolyTrail= EffectTemplate.CNanoDartPolyTrail02, -} - ---- NANODART PROJECILE ---- adjustment to make the effects for URL0104 cheaper ----@class CAANanoDartProjectile03 : CAANanoDartProjectile -CAANanoDartProjectile03 = ClassProjectile(CAANanoDartProjectile) { - FxImpactAirUnit = EffectTemplate.CNanoDartUnitHit02, - FxImpactUnit = EffectTemplate.CNanoDartUnitHit02, - FxImpactLand = EffectTemplate.CNanoDartLandHit02, -} - ---- CYBRAN ARTILLERY PROJECILES ----@class CArtilleryProjectile : EmitterProjectile -CArtilleryProjectile = ClassProjectile(EmitterProjectile) { - FxTrails = {'/effects/emitters/mortar_munition_03_emit.bp',}, - FxImpactUnit = EffectTemplate.CNanoDartUnitHit01, - FxImpactProp = EffectTemplate.CArtilleryHit01, - FxImpactLand = EffectTemplate.CArtilleryHit01, -} - ---- CYBRAN ARTILLERY PROJECILES ----@class CArtilleryProtonProjectile : SinglePolyTrailProjectile -CArtilleryProtonProjectile = ClassProjectile(SinglePolyTrailProjectile) { - FxImpactTrajectoryAligned = false, - PolyTrail = '/effects/emitters/default_polytrail_01_emit.bp', - FxImpactUnit = EffectTemplate.CProtonArtilleryHit01, - FxImpactProp = EffectTemplate.CProtonArtilleryHit01, - FxImpactLand = EffectTemplate.CProtonArtilleryHit01, - - ---@param self CArtilleryProtonProjectile - ---@param targetType string - ---@param targetEntity Unit - OnImpact = function(self, targetType, targetEntity) - EmitterProjectile.OnImpact(self, targetType, targetEntity) - CreateLightParticle( self, -1, self.Army, 7, 12, 'glow_03', 'ramp_red_06' ) - CreateLightParticle( self, -1, self.Army, 7, 22, 'glow_03', 'ramp_antimatter_02' ) - end, -} - ---- CYBRAN BEAM PROJECILES ----@class CBeamProjectile : NullShell -CBeamProjectile = ClassProjectile(NullShell) { - FxUnitHitScale = 0.5, - FxImpactUnit = EffectTemplate.CBeamHitUnit01, - FxImpactProp = EffectTemplate.CBeamHitUnit01, - FxImpactLand = EffectTemplate.CBeamHitLand01, -} - ---- CYBRAN BOMBs ----@class CBombProjectile : EmitterProjectile -CBombProjectile = ClassProjectile(EmitterProjectile) { - FxTrails = {'/effects/emitters/bomb_munition_plasma_aeon_01_emit.bp'}, - FxImpactUnit = EffectTemplate.CBombHit01, - FxImpactProp = EffectTemplate.CBombHit01, - FxImpactLand = EffectTemplate.CBombHit01, -} - ---- CYBRAN SHIP PROJECILES ----@class CCannonSeaProjectile : SingleBeamProjectile -CCannonSeaProjectile = ClassProjectile(SingleBeamProjectile) { - BeamName = '/effects/emitters/cannon_munition_ship_cybran_beam_01_emit.bp', -} - ---- CYBRAN TANK CANNON PROJECILES ----@class CCannonTankProjectile : SingleBeamProjectile -CCannonTankProjectile = ClassProjectile(SingleBeamProjectile) { - BeamName = '/effects/emitters/cannon_munition_ship_cybran_beam_01_emit.bp', -} - ---- CYBRAN TRACKER PROJECILES ----@class CDFTrackerProjectile : SingleCompositeEmitterProjectile -CDFTrackerProjectile = ClassProjectile(SingleCompositeEmitterProjectile) { - TrailDelay = 1, - FxTrails = {'/effects/emitters/missile_sam_munition_trail_01_emit.bp',}, - FxTrailOffset = 0.5, - BeamName = '/effects/emitters/missile_sam_munition_exhaust_beam_01_emit.bp', - FxUnitHitScale = 0.5, - FxLandHitScale = 0.5, - FxImpactLand = EffectTemplate.CMissileHit01, -} - ---- DISINTEGRATOR LASER PROJECILE ---- loyalist & wailers ----@class CDisintegratorLaserProjectile : MultiPolyTrailProjectile -CDisintegratorLaserProjectile = ClassProjectile(MultiPolyTrailProjectile) { - PolyTrails = { - '/effects/emitters/disintegrator_polytrail_04_emit.bp', - '/effects/emitters/disintegrator_polytrail_05_emit.bp', - '/effects/emitters/default_polytrail_03_emit.bp', - }, - PolyTrailOffset = { 0, 0, 0 }, - FxTrails = EffectTemplate.CDisintegratorFxTrails01, - FxImpactUnit = EffectTemplate.CDisintegratorHitUnit01, - FxImpactAirUnit = EffectTemplate.CDisintegratorHitAirUnit01, - FxImpactProp = EffectTemplate.CDisintegratorHitUnit01, - FxImpactLand = EffectTemplate.CDisintegratorHitLand01, -} - ---- DISINTEGRATOR LASER PROJECILE ---- adjusments for URA0104 to tone down effect ----@class CDisintegratorLaserProjectile02 : MultiPolyTrailProjectile -CDisintegratorLaserProjectile02 = ClassProjectile(MultiPolyTrailProjectile) { - PolyTrails = { - '/effects/emitters/disintegrator_polytrail_04_emit.bp', - '/effects/emitters/disintegrator_polytrail_05_emit.bp', - '/effects/emitters/default_polytrail_03_emit.bp', - }, - PolyTrailOffset = { 0, 0, 0 }, - FxImpactUnit = EffectTemplate.CDisintegratorHitUnit01, - FxImpactAirUnit = EffectTemplate.CDisintegratorHitAirUnit01, - FxImpactProp = EffectTemplate.CDisintegratorHitUnit01, - FxImpactLand = EffectTemplate.CDisintegratorHitLand01, -} - ---- CYBRAN ELECTRON BOLTER PROJECILES ---- loya, wagner, monkeylord & soul ripper ----@class CElectronBolterProjectile : MultiPolyTrailProjectile -CElectronBolterProjectile = ClassProjectile(MultiPolyTrailProjectile) { - PolyTrails = { - '/effects/emitters/electron_bolter_trail_02_emit.bp', - '/effects/emitters/default_polytrail_01_emit.bp', - }, - PolyTrailOffset = { 0, 0 }, - FxTrails = {'/effects/emitters/electron_bolter_munition_01_emit.bp',}, - FxImpactUnit = EffectTemplate.CElectronBolterHitUnit01, - FxImpactProp = EffectTemplate.CElectronBolterHitUnit01, - FxImpactLand = EffectTemplate.CElectronBolterHitLand01, -} - ---- SoulRipper ----@class CHeavyElectronBolterProjectile : MultiPolyTrailProjectile -CHeavyElectronBolterProjectile = ClassProjectile(MultiPolyTrailProjectile) { - PolyTrails = { - '/effects/emitters/electron_bolter_trail_01_emit.bp', - '/effects/emitters/default_polytrail_05_emit.bp', - }, - PolyTrailOffset = { 0, 0 }, - FxTrails = {'/effects/emitters/electron_bolter_munition_02_emit.bp',}, - FxImpactUnit = EffectTemplate.CElectronBolterHitUnit02, - FxImpactProp = EffectTemplate.CElectronBolterHitUnit02, - FxImpactLand = EffectTemplate.CElectronBolterHitLand02, - FxAirUnitHitScale = 2.5, - FxLandHitScale = 2.5, - FxNoneHitScale = 2.5, - FxPropHitScale = 2.5, - FxProjectileHitScale = 2.5, - FxShieldHitScale = 2.5, - FxUnitHitScale = 2.5, - FxWaterHitScale = 2.5, - FxOnKilledScale = 2.5, -} - ---- TERRAN SUB-LAUNCHED CRUISE MISSILE PROJECTILES ----@class CEMPFluxWarheadProjectile : NukeProjectile -CEMPFluxWarheadProjectile = ClassProjectile(NukeProjectile, SingleBeamProjectile) { - BeamName = '/effects/emitters/missile_exhaust_fire_beam_01_emit.bp', - FxUnderWaterTrail = {'/effects/emitters/missile_cruise_munition_underwater_trail_01_emit.bp'}, - FxExitWaterEmitter = EffectTemplate.DefaultProjectileWaterImpact, - FxSplashScale = 0.65, - ExitWaterTicks = 9, - FxTrailOffset = -0.5, - FxTrails = {'/effects/emitters/missile_cruise_munition_trail_01_emit.bp'}, -} - ---- CYBRAN FLAME THROWER PROJECTILES ----@class CFlameThrowerProjectile : EmitterProjectile -CFlameThrowerProjectile = ClassProjectile(EmitterProjectile) { - FxTrails = {'/effects/emitters/flamethrower_02_emit.bp'}, - FxTrailScale = 1, - FxTrailOffset = 0, -} - ---- CYBRAN MOLECULAR RESONANCE SHELL PROJECTILE ----@class CIFMolecularResonanceShell : SinglePolyTrailProjectile -CIFMolecularResonanceShell = ClassProjectile(SinglePolyTrailProjectile) { - PolyTrail = '/effects/emitters/default_polytrail_01_emit.bp', - FxImpactUnit = EffectTemplate.CMolecularResonanceHitUnit01, - FxImpactProp = EffectTemplate.CMolecularResonanceHitUnit01, - FxImpactLand = EffectTemplate.CMolecularResonanceHitUnit01, - DestroyOnImpact = false, - - ---@param self CIFMolecularResonanceShell - OnCreate = function(self) - SinglePolyTrailProjectile.OnCreate(self) - self.Impacted = false - end, - - ---@param self CIFMolecularResonanceShell - DelayedDestroyThread = function(self) - WaitTicks(4) - self:CreateImpactEffects(self.Army, self.FxImpactUnit, self.FxUnitHitScale) - self:Destroy() - end, - - ---@param self CIFMolecularResonanceShell - ---@param TargetType string - ---@param TargetEntity Unit - OnImpact = function(self, TargetType, TargetEntity) - if self.Impacted == false then - self.Impacted = true - if TargetType == 'Terrain' then - SinglePolyTrailProjectile.OnImpact(self, TargetType, TargetEntity) - self.Trash:Add(ForkThread(self.DelayedDestroyThread,self)) - else - SinglePolyTrailProjectile.OnImpact(self, TargetType, TargetEntity) - self:Destroy() - end - end - end, -} - ---- IRIDIUM ROCKET PROJECTILES ---- T2 gs & SR & hoplite ----@class CIridiumRocketProjectile : SingleCompositeEmitterProjectile -CIridiumRocketProjectile = ClassProjectile(SingleCompositeEmitterProjectile) { - PolyTrail = '/effects/emitters/cybran_iridium_missile_polytrail_01_emit.bp', - BeamName = '/effects/emitters/rocket_iridium_exhaust_beam_01_emit.bp', - FxImpactUnit = EffectTemplate.CMissileHit02, - FxImpactProp = EffectTemplate.CMissileHit02, - FxImpactLand = EffectTemplate.CMissileHit02, -} - ---- CORSAIR MISSILE PROJECTILES ----@class CCorsairRocketProjectile : SingleCompositeEmitterProjectile -CCorsairRocketProjectile = ClassProjectile(SingleCompositeEmitterProjectile) { - PolyTrail = EffectTemplate.CCorsairMissilePolyTrail01, - BeamName = '/effects/emitters/rocket_iridium_exhaust_beam_01_emit.bp', - FxImpactUnit = EffectTemplate.CCorsairMissileUnitHit01, - FxImpactProp = EffectTemplate.CCorsairMissileHit01, - FxImpactLand = EffectTemplate.CCorsairMissileLandHit01, -} - ---- CYBRAN LASER PROJECILES ----@class CLaserLaserProjectile : MultiPolyTrailProjectile -CLaserLaserProjectile = ClassProjectile(MultiPolyTrailProjectile) { - PolyTrails = { - '/effects/emitters/cybran_laser_trail_01_emit.bp', - '/effects/emitters/default_polytrail_02_emit.bp', - }, - PolyTrailOffset = { 0, 0 }, - FxImpactUnit = EffectTemplate.CLaserHitUnit01, - FxImpactProp = EffectTemplate.CLaserHitUnit01, - FxImpactLand = EffectTemplate.CLaserHitLand01, -} - ----@class CHeavyLaserProjectile : MultiPolyTrailProjectile -CHeavyLaserProjectile = ClassProjectile(MultiPolyTrailProjectile) { - PolyTrails = { - '/effects/emitters/cybran_laser_trail_02_emit.bp', - '/effects/emitters/default_polytrail_03_emit.bp', - }, - PolyTrailOffset = { 0, 0 }, - FxImpactUnit = EffectTemplate.CLaserHitUnit01, - FxImpactProp = EffectTemplate.CLaserHitUnit01, - FxImpactLand = EffectTemplate.CLaserHitLand01, -} - ----@class CHeavyLaserProjectile2 : MultiPolyTrailProjectile -CHeavyLaserProjectile2 = ClassProjectile(MultiPolyTrailProjectile) { - PolyTrails = { - '/effects/emitters/hrailgunsd_polytrail_01_emit.bp', - '/effects/emitters/default_polytrail_02_emit.bp', - }, - PolyTrailOffset = { 0, 0 }, - FxUnitHitScale = 0.15, - FxLandHitScale = 0.15, - FxImpactUnit = EffectTemplate.CBeamHitUnit01, - FxImpactProp = EffectTemplate.CBeamHitUnit01, - FxImpactLand = EffectTemplate.CBeamHitLand01, -} - ---- CYBRAN MOLECULAR CANNON PROJECTILE ---- ACU ----@class CMolecularCannonProjectile : SinglePolyTrailProjectile -CMolecularCannonProjectile = ClassProjectile(SinglePolyTrailProjectile) { - FxImpactTrajectoryAligned = false, - PolyTrail = '/effects/emitters/default_polytrail_03_emit.bp', - FxTrails = EffectTemplate.CMolecularCannon01, - FxImpactUnit = EffectTemplate.CMolecularRipperHit01, - FxImpactProp = EffectTemplate.CMolecularRipperHit01, - FxImpactLand = EffectTemplate.CMolecularRipperHit01, -} - ---- CYBRAN AA MISSILE PROJECILES - Air Targets ----@class CMissileAAProjectile : SingleCompositeEmitterProjectile -CMissileAAProjectile = ClassProjectile(SingleCompositeEmitterProjectile) { - TrailDelay = 1, - FxTrails = {'/effects/emitters/missile_sam_munition_trail_01_emit.bp',}, - FxTrailOffset = 0.5, - BeamName = '/effects/emitters/missile_sam_munition_exhaust_beam_01_emit.bp', - FxUnitHitScale = 0.5, - FxImpactUnit = EffectTemplate.CMissileHit01, - FxImpactProp = EffectTemplate.CMissileHit01, - FxLandHitScale = 0.5, - FxImpactLand = EffectTemplate.CMissileHit01, - - OnCreate = function(self) - self:SetCollisionShape('Sphere', 0, 0, 0, 1.0) - SingleBeamProjectile.OnCreate(self) - end, -} - ---- NEUTRON CLUSTER BOMB PROJECTILES ----@class CNeutronClusterBombChildProjectile : SinglePolyTrailProjectile -CNeutronClusterBombChildProjectile = ClassProjectile(SinglePolyTrailProjectile) { - PolyTrail = '/effects/emitters/default_polytrail_05_emit.bp', - FxImpactUnit = EffectTemplate.CNeutronClusterBombHitUnit01, - FxImpactProp = EffectTemplate.CNeutronClusterBombHitUnit01, - FxImpactLand = EffectTemplate.CNeutronClusterBombHitLand01, - FxImpactWater = EffectTemplate.CNeutronClusterBombHitWater01, - - --- No damage dealt by this child. - ---@param self CNeutronClusterBombChildProjectile - ---@param instigator Weapon - ---@param damageData table - ---@param targetEntity Unit - DoDamage = function(self, instigator, damageData, targetEntity) - end, -} - ----@class CNeutronClusterBombProjectile : SinglePolyTrailProjectile -CNeutronClusterBombProjectile = ClassProjectile(SinglePolyTrailProjectile) { - PolyTrail = '/effects/emitters/default_polytrail_03_emit.bp', - ChildProjectile = '/projectiles/CIFNeutronClusterBomb02/CIFNeutronClusterBomb02_proj.bp', - - ---@param self CNeutronClusterBombProjectile - OnCreate = function(self) - SinglePolyTrailProjectile.OnCreate(self) - self.Impacted = false - end, - - --- Note: Damage is done once in AOE by main projectile. Secondary projectiles - --- are just visual. - ---@param self CNeutronClusterBombProjectile - ---@param targetType string - ---@param targetEntity Unit - OnImpact = function(self, targetType, targetEntity) - if self.Impacted == false and targetType ~= 'Air' then - self.Impacted = true - local Random = Random - self:CreateChildProjectile(self.ChildProjectile):SetVelocity(0,Random(1,3),Random(1.5,3)) - self:CreateChildProjectile(self.ChildProjectile):SetVelocity(Random(1,2),Random(1,3),Random(1,2)) - self:CreateChildProjectile(self.ChildProjectile):SetVelocity(0,Random(1,3),-Random(1.5,3)) - self:CreateChildProjectile(self.ChildProjectile):SetVelocity(Random(1.5,3),Random(1,3),0) - self:CreateChildProjectile(self.ChildProjectile):SetVelocity(-Random(1,2),Random(1,3),-Random(1,2)) - self:CreateChildProjectile(self.ChildProjectile):SetVelocity(-Random(1.5,2.5),Random(1,3),0) - self:CreateChildProjectile(self.ChildProjectile):SetVelocity(-Random(1,2),Random(1,3),Random(2,4)) - SinglePolyTrailProjectile.OnImpact(self, targetType, targetEntity) - end - end, - - --- Overiding Destruction - ---@param self CNeutronClusterBombProjectile - ---@param targetType string - ---@param targetEntity Unit - OnImpactDestroy = function(self, targetType, targetEntity) - self.Trash:Add(ForkThread(self.DelayedDestroyThread, self)) - end, - - ---@param self CNeutronClusterBombProjectile - DelayedDestroyThread = function(self) - WaitTicks(6) - self:Destroy() - end, -} - ---- CYBRAN MACHINE GUN SHELLS ----@class CParticleCannonProjectile : SingleBeamProjectile -CParticleCannonProjectile = ClassProjectile(SingleBeamProjectile) { - BeamName = '/effects/emitters/laserturret_munition_beam_01_emit.bp', - FxImpactUnit = EffectTemplate.CParticleCannonHitUnit01, - FxImpactProp = EffectTemplate.CParticleCannonHitUnit01, - FxImpactLand = EffectTemplate.CParticleCannonHitLand01, -} - ---- CYBRAN RAIL GUN PROJECTILES ----@class CRailGunProjectile : EmitterProjectile -CRailGunProjectile = ClassProjectile(EmitterProjectile) { - FxTrails = {'/effects/emitters/railgun_munition_trail_02_emit.bp', - '/effects/emitters/railgun_munition_trail_01_emit.bp'}, - FxTrailScale = 0, - FxTrailOffset = 0, -} - ---- CYBRAN ROCKET PROJECILES ---- wagner ----@class CRocketProjectile : SingleBeamProjectile -CRocketProjectile = ClassProjectile(SingleBeamProjectile) { - BeamName = '/effects/emitters/rocket_iridium_exhaust_beam_01_emit.bp', - FxImpactUnit = EffectTemplate.CMissileHit01, - FxImpactProp = EffectTemplate.CMissileHit01, - FxImpactLand = EffectTemplate.CMissileHit01, -} - ---- CYBRAN ROCKET PROJECILES ----@class CLOATacticalMissileProjectile : SingleBeamProjectile, TacticalMissileComponent, SplitComponent, DebrisComponent ----@field SplitDamage { DamageAmount: number, DamageRadius: number } -CLOATacticalMissileProjectile = ClassProjectile(SingleBeamProjectile, TacticalMissileComponent, SplitComponent, DebrisComponent) { - BeamName = '/effects/emitters/missile_loa_munition_exhaust_beam_01_emit.bp', - FxTrails = {'/effects/emitters/missile_cruise_munition_trail_01_emit.bp',}, - FxTrailOffset = -0.5, - FxExitWaterEmitter = EffectTemplate.TIFCruiseMissileLaunchExitWater, - - FxImpactUnit = EffectTemplate.CMissileLOAHit01, - FxImpactLand = EffectTemplate.CMissileLOAHit01, - FxImpactProp = EffectTemplate.CMissileLOAHit01, - - FxImpactNone = EffectTemplate.TMissileKilled01, - FxNoneHitScale = 0.6, - - FxOnKilled = EffectTemplate.TMissileKilled01, - FxOnKilledScale = 0.6, - - LaunchTicks = 2, - LaunchTurnRate = 6, - HeightDistanceFactor = 5, - MinHeight = 2, - FinalBoostAngle = 0, - - ChildCount = 3, - ChildProjectileBlueprint = '/projectiles/CIFMissileTacticalSplit01/CIFMissileTacticalSplit01_proj.bp', - - DebrisBlueprints = { - '/effects/Entities/TacticalDebris01/TacticalDebris01_proj.bp', - '/effects/Entities/TacticalDebris01/TacticalDebris01_proj.bp', - '/effects/Entities/TacticalDebris02/TacticalDebris02_proj.bp', - }, - - ---@param self CLOATacticalMissileProjectile - ---@param inWater boolean - OnCreate = function(self, inWater) - SingleBeamProjectile.OnCreate(self, inWater) - - local blueprintPhysics = self.Blueprint.Physics - local radius = 0.105 * (blueprintPhysics.MaxSpeed + blueprintPhysics.MaxSpeedRange) - self:SetCollisionShape('Sphere', 0, 0, 0, radius) - end, - - ---@param self CLOATacticalMissileProjectile - ---@param instigator Unit - ---@param type string - ---@param overkillRatio number - OnKilled = function(self, instigator, type, overkillRatio) - SingleBeamProjectile.OnKilled(self, instigator, type, overkillRatio) - - CreateLightParticle(self, -1, self.Army, 3, 6, 'flare_lens_add_02', 'ramp_fire_11') - self:CreateDebris() - end, - - ---@param self CLOATacticalMissileProjectile - ---@param instigator Unit - ---@param amount number - ---@param vector Vector - ---@param damageType DamageType - OnDamage = function(self, instigator, amount, vector, damageType) - SingleBeamProjectile.OnDamage(self, instigator, amount, vector, damageType) - - if self:GetHealth() <= 0 then - self.DamageData.DamageAmount = self.Launcher.Blueprint.SplitDamage.DamageAmount or 0 - self.DamageData.DamageRadius = self.Launcher.Blueprint.SplitDamage.DamageRadius or 1 - - self:OnSplit(true) - end - end, - - ---@param self CLOATacticalMissileProjectile - ---@param targetType string - ---@param targetEntity Unit - OnImpact = function(self, targetType, targetEntity) - SingleBeamProjectile.OnImpact(self, targetType, targetEntity) - - CreateLightParticle(self, -1, self.Army, 3, 6, 'flare_lens_add_02', 'ramp_fire_11') - if targetType == 'None' or targetType == 'Air' then - self:CreateDebris() - end - end, -} - ---- CYBRAN ROCKET PROJECILES ----@class CLOATacticalChildMissileProjectile : SingleBeamProjectile, TacticalMissileComponent, DebrisComponent -CLOATacticalChildMissileProjectile = ClassProjectile(SingleBeamProjectile, TacticalMissileComponent, DebrisComponent) { - BeamName = '/effects/emitters/missile_loa_munition_exhaust_beam_02_emit.bp', - FxTrails = {'/effects/emitters/missile_cruise_munition_trail_03_emit.bp',}, - FxTrailOffset = -0.5, - FxExitWaterEmitter = EffectTemplate.TIFCruiseMissileLaunchExitWater, - FxImpactUnit = EffectTemplate.CMissileLOAHit01, - FxImpactLand = EffectTemplate.CMissileLOAHit01, - FxImpactProp = EffectTemplate.CMissileLOAHit01, - FxAirUnitHitScale = 0.375, - FxLandHitScale = 0.375, - FxPropHitScale = 0.375, - FxProjectileHitScale = 0.375, - FxShieldHitScale = 0.375, - FxUnitHitScale = 0.375, - FxWaterHitScale = 0.375, - - FxImpactNone = EffectTemplate.TMissileKilled01, - FxNoneHitScale = 0.375, - - FxOnKilled = EffectTemplate.TMissileKilled01, - FxOnKilledScale = 0.375, - - LaunchTicks = 2, - LaunchTurnRate = 6, - HeightDistanceFactor = 5, - MinHeight = 2, - FinalBoostAngle = 0, - - DebrisBlueprints = { - '/effects/Entities/TacticalDebris03/TacticalDebris03_proj.bp', - }, - - ---@param self CLOATacticalChildMissileProjectile - OnCreate = function(self) - SingleBeamProjectile.OnCreate(self) - - local blueprintPhysics = self.Blueprint.Physics - local radius = 0.105 * (blueprintPhysics.MaxSpeed + blueprintPhysics.MaxSpeedRange) - self:SetCollisionShape('Sphere', 0, 0, 0, radius) - end, - - ---@param self CLOATacticalChildMissileProjectile - ---@param instigator Unit - ---@param type string - ---@param overkillRatio number - OnKilled = function(self, instigator, type, overkillRatio) - SingleBeamProjectile.OnKilled(self, instigator, type, overkillRatio) - - CreateLightParticle(self, -1, self.Army, 3, 6, 'flare_lens_add_02', 'ramp_fire_11') - self:CreateDebris() - end, - - ---@param self CLOATacticalChildMissileProjectile - ---@param targetType string - ---@param targetEntity Unit - OnImpact = function(self, targetType, targetEntity) - SingleBeamProjectile.OnImpact(self, targetType, targetEntity) - - CreateLightParticle(self, -1, self.Army, 3, 6, 'flare_lens_add_02', 'ramp_fire_11') - if targetType == 'None' then - self:CreateDebris() - end - end, -} - ---- CYBRAN AUTOCANNON PROJECILES ----@class CShellAAAutoCannonProjectile : MultiPolyTrailProjectile -CShellAAAutoCannonProjectile = ClassProjectile(MultiPolyTrailProjectile) { - PolyTrails = { - '/effects/emitters/auto_cannon_trail_01_emit.bp', - '/effects/emitters/default_polytrail_03_emit.bp', - }, - PolyTrailOffset = { 0, 0 }, - FxImpactUnit = {'/effects/emitters/auto_cannon_hit_flash_01_emit.bp'}, - FxImpactProp ={'/effects/emitters/auto_cannon_hit_flash_01_emit.bp'}, - FxImpactAirUnit = {'/effects/emitters/auto_cannon_hit_flash_01_emit.bp'}, -} - ---- CYBRAN RIOT PROJECILES ----@class CShellRiotProjectile : SingleBeamProjectile -CShellRiotProjectile = ClassProjectile(SingleBeamProjectile) { - BeamName = '/effects/emitters/riotgun_munition_beam_01_emit.bp', - FxImpactUnit = {'/effects/emitters/destruction_explosion_sparks_01_emit.bp',}, - FxImpactProp = {'/effects/emitters/destruction_explosion_sparks_01_emit.bp',}, - FxLandHitScale = 3, - FxImpactLand = {'/effects/emitters/destruction_land_hit_puff_01_emit.bp',}, -} - ---- CYBRAN ABOVE WATER LAUNCHED TORPEDO ----@class CTorpedoShipProjectile : OnWaterEntryEmitterProjectile -CTorpedoShipProjectile = ClassProjectile(OnWaterEntryEmitterProjectile) { - FxSplashScale = 0.5, - FxTrails = {'/effects/emitters/torpedo_munition_trail_01_emit.bp',}, - FxTrailScale = 1.25, - FxTrailOffset = 0.2, - FxEnterWater= { '/effects/emitters/water_splash_ripples_ring_01_emit.bp', - '/effects/emitters/water_splash_plume_01_emit.bp', - }, - FxUnitHitScale = 1.25, - FxImpactUnit = EffectTemplate.CTorpedoUnitHit01, - FxImpactProp = EffectTemplate.CTorpedoUnitHit01, - FxImpactUnderWater = EffectTemplate.CTorpedoUnitHit01, - - --- if we are starting in the water then immediately switch to tracking in water - ---@param self CTorpedoShipProjectile - ---@param inWater boolean - OnCreate = function(self, inWater) - OnWaterEntryEmitterProjectile.OnCreate(self, inWater) - - if inWater == true then - self:SetCollisionShape('Sphere', 0, 0, 0, 1.0) - end - end, - - ---@param self CTorpedoShipProjectile - OnEnterWater = function(self) - OnWaterEntryEmitterProjectile.OnEnterWater(self) - self:SetCollisionShape('Sphere', 0, 0, 0, 1.0) - end, -} - ---- CYBRAN SUB LAUNCHED TORPEDO ----@class CTorpedoSubProjectile : EmitterProjectile -CTorpedoSubProjectile = ClassProjectile(EmitterProjectile) { - FxTrails = {'/effects/emitters/torpedo_underwater_wake_02_emit.bp',}, - FxUnitHitScale = 1.25, - FxImpactUnit = EffectTemplate.CTorpedoUnitHit01, - FxImpactProp = EffectTemplate.CTorpedoUnitHit01, - FxImpactUnderWater = EffectTemplate.CTorpedoUnitHit01, - FxImpactLand = EffectTemplate.CTorpedoUnitHit01, - FxLandHitScale = 0.25, - FxNoneHitScale = 1, - - ---@param self CTorpedoSubProjectile - ---@param inWater boolean - OnCreate = function(self, inWater) - self:SetCollisionShape('Sphere', 0, 0, 0, 1.0) - EmitterProjectile.OnCreate(self, inWater) - end, -} - ---- Cybran DEPTH CHARGE PROJECTILES ----@class CDepthChargeProjectile : OnWaterEntryEmitterProjectile -CDepthChargeProjectile = ClassProjectile(OnWaterEntryEmitterProjectile) { - FxTrails = { - '/effects/emitters/anti_torpedo_flare_01_emit.bp', - '/effects/emitters/anti_torpedo_flare_02_emit.bp', - }, - FxImpactUnit = EffectTemplate.CAntiTorpedoHit01, - FxImpactProp = EffectTemplate.CAntiTorpedoHit01, - FxImpactUnderWater = EffectTemplate.CAntiTorpedoHit01, - FxImpactProjectile = EffectTemplate.CAntiTorpedoHit01, - FxImpactNone = EffectTemplate.CAntiTorpedoHit01, - FxOnKilled = EffectTemplate.CAntiTorpedoHit01, - FxEnterWater= EffectTemplate.WaterSplash01, - - ---@param self CDepthChargeProjectile - ---@param inWater boolean - OnCreate = function(self, inWater) - OnWaterEntryEmitterProjectile.OnCreate(self) - if inWater then - for i in self.FxTrails do - CreateEmitterOnEntity(self, self.Army, self.FxTrails[i]):ScaleEmitter(self.FxTrailScale):OffsetEmitter(0, 0, self.FxTrailOffset) - end - end - self:TrackTarget(false) - end, - - ---@param self CDepthChargeProjectile - OnEnterWater = function(self) - OnWaterEntryEmitterProjectile.OnEnterWater(self) - self:TrackTarget(false) - self:StayUnderwater(true) - self:SetTurnRate(0) - self:SetMaxSpeed(1) - self:SetVelocity(0, -0.25, 0) - self:SetVelocity(0.25) - end, -} - --------------------------------------------------------------------------- --- --- SC1 EXPANSION PROJECTILES --- --------------------------------------------------------------------------- - ---- Brick ----@class CHeavyDisintegratorPulseLaser : MultiPolyTrailProjectile -CHeavyDisintegratorPulseLaser = ClassProjectile(MultiPolyTrailProjectile) { - PolyTrails = { - '/effects/emitters/disintegrator_polytrail_02_emit.bp', - '/effects/emitters/disintegrator_polytrail_03_emit.bp', - '/effects/emitters/default_polytrail_03_emit.bp', - }, - PolyTrailOffset = { 0, 0, 0 }, - FxImpactUnit = EffectTemplate.CHvyDisintegratorHitUnit01, - FxImpactProp = EffectTemplate.CHvyDisintegratorHitUnit01, - FxImpactLand = EffectTemplate.CHvyDisintegratorHitLand01, - FxTrailOffset = 0, -} - - ----@class CKrilTorpedo : OnWaterEntryEmitterProjectile -CKrilTorpedo = ClassProjectile(OnWaterEntryEmitterProjectile) {} - --- kept for mod backwards compatibility -local DefaultExplosion = import("/lua/defaultexplosions.lua") -local RandomFloat = import("/lua/utilities.lua").GetRandomFloat -local MultiBeamProjectile = DefaultProjectileFile.MultiBeamProjectile -local DepthCharge = import("/lua/defaultantiprojectile.lua").DepthCharge \ No newline at end of file +local DebrisComponent = import('/lua/sim/projectiles/components/DebrisComponent.lua').DebrisComponent \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CAADissidentProjectile.lua b/lua/sim/projectiles/cybran/CAADissidentProjectile.lua new file mode 100644 index 0000000000..643079fc91 --- /dev/null +++ b/lua/sim/projectiles/cybran/CAADissidentProjectile.lua @@ -0,0 +1,35 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local SinglePolyTrailProjectile = import('/lua/sim/defaultprojectiles.lua').SinglePolyTrailProjectile +local EffectTemplate = import("/lua/effecttemplates.lua") + +--- CYBRAN DISSIDENT PROJECTILE +---@class CAADissidentProjectile : SinglePolyTrailProjectile +CAADissidentProjectile = ClassProjectile(SinglePolyTrailProjectile) { + PolyTrail = '/effects/emitters/electron_bolter_trail_01_emit.bp', + FxTrails = {'/effects/emitters/electron_bolter_munition_01_emit.bp',}, + FxImpactUnit = EffectTemplate.TMissileHit01, + FxImpactProp = EffectTemplate.TMissileHit01, + FxImpactLand = EffectTemplate.TMissileHit01, + FxImpactProjectile = EffectTemplate.TMissileHit01, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CAAElectronBurstCloudProjectile.lua b/lua/sim/projectiles/cybran/CAAElectronBurstCloudProjectile.lua new file mode 100644 index 0000000000..5a37f8f7b6 --- /dev/null +++ b/lua/sim/projectiles/cybran/CAAElectronBurstCloudProjectile.lua @@ -0,0 +1,32 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local SinglePolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").SinglePolyTrailProjectile +local EffectTemplate = import("/lua/effecttemplates.lua") + +--- ELECTRON BURST CLOUD PROJECILE +---@class CAAElectronBurstCloudProjectile : SinglePolyTrailProjectile +CAAElectronBurstCloudProjectile = ClassProjectile(SinglePolyTrailProjectile) { + PolyTrail = '/effects/emitters/default_polytrail_02_emit.bp', + FxImpactAirUnit = EffectTemplate.CElectronBurstCloud01, + FxImpactNone = EffectTemplate.CElectronBurstCloud01, +} diff --git a/lua/sim/projectiles/cybran/CAAMissileNaniteProjectile.lua b/lua/sim/projectiles/cybran/CAAMissileNaniteProjectile.lua new file mode 100644 index 0000000000..f703851830 --- /dev/null +++ b/lua/sim/projectiles/cybran/CAAMissileNaniteProjectile.lua @@ -0,0 +1,39 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local EffectTemplate = import("/lua/effecttemplates.lua") +local SingleCompositeEmitterProjectile = import("/lua/sim/defaultprojectiles.lua").SingleCompositeEmitterProjectile + +--- NANITE MISSILE PROJECTILE +---@class CAAMissileNaniteProjectile : SingleCompositeEmitterProjectile +CAAMissileNaniteProjectile = ClassProjectile(SingleCompositeEmitterProjectile) { + FxTrailOffset = -0.05, + PolyTrail = EffectTemplate.CNanoDartPolyTrail01, + BeamName = '/effects/emitters/missile_nanite_exhaust_beam_01_emit.bp', + FxUnitHitScale = 0.5, + FxImpactAirUnit = EffectTemplate.CNanoDartUnitHit01, + FxImpactNone = EffectTemplate.CNanoDartUnitHit01, + FxImpactUnit = EffectTemplate.CNanoDartUnitHit01, + FxImpactProp = EffectTemplate.CNanoDartUnitHit01, + FxLandHitScale = 0.5, + FxImpactLand = EffectTemplate.CMissileHit01, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CAAMissileNaniteProjectile03.lua b/lua/sim/projectiles/cybran/CAAMissileNaniteProjectile03.lua new file mode 100644 index 0000000000..cdc6949c0f --- /dev/null +++ b/lua/sim/projectiles/cybran/CAAMissileNaniteProjectile03.lua @@ -0,0 +1,27 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local CAAMissileNaniteProjectile = import('/lua/sim/projectiles/cybran/CAAMissileNaniteProjectile.lua') + +--- NANITE MISSILE PROJECTILE +---@class CAAMissileNaniteProjectile03 : CAAMissileNaniteProjectile +CAAMissileNaniteProjectile03 = ClassProjectile(CAAMissileNaniteProjectile) {} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CAANanoDartProjectile.lua b/lua/sim/projectiles/cybran/CAANanoDartProjectile.lua new file mode 100644 index 0000000000..04ec60ad0c --- /dev/null +++ b/lua/sim/projectiles/cybran/CAANanoDartProjectile.lua @@ -0,0 +1,34 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local SinglePolyTrailProjectile = import('/lua/sim/defaultprojectiles.lua').SinglePolyTrailProjectile +local EffectTemplate = import("/lua/effecttemplates.lua") + +--- NANODART PROJECILE +---@class CAANanoDartProjectile : SinglePolyTrailProjectile +CAANanoDartProjectile = ClassProjectile(SinglePolyTrailProjectile) { + FxImpactTrajectoryAligned = false, + PolyTrail= EffectTemplate.CNanoDartPolyTrail01, + FxImpactAirUnit = EffectTemplate.CNanoDartUnitHit01, + FxImpactUnit = EffectTemplate.CNanoDartUnitHit01, + FxImpactLand = EffectTemplate.CNanoDartLandHit01, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CAANanoDartProjectile02.lua b/lua/sim/projectiles/cybran/CAANanoDartProjectile02.lua new file mode 100644 index 0000000000..780348590a --- /dev/null +++ b/lua/sim/projectiles/cybran/CAANanoDartProjectile02.lua @@ -0,0 +1,29 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** +local CAANanoDartProjectile = import('/lua/sim/projectiles/cybran/CAANanoDartProjectile.lua').CAANanoDartProjectile +local EffectTemplate = import("/lua/effecttemplates.lua") + +--- NANODART PROJECILE +---@class CAANanoDartProjectile02 : CAANanoDartProjectile +CAANanoDartProjectile02 = ClassProjectile(CAANanoDartProjectile) { + PolyTrail= EffectTemplate.CNanoDartPolyTrail02, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CAANanoDartProjectile03.lua b/lua/sim/projectiles/cybran/CAANanoDartProjectile03.lua new file mode 100644 index 0000000000..3ace939207 --- /dev/null +++ b/lua/sim/projectiles/cybran/CAANanoDartProjectile03.lua @@ -0,0 +1,33 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local CAANanoDartProjectile = import('/lua/sim/projectiles/cybran/CAANanoDartProjectile.lua').CAANanoDartProjectile +local EffectTemplate = import("/lua/effecttemplates.lua") + +--- NANODART PROJECILE +--- adjustment to make the effects for URL0104 cheaper +---@class CAANanoDartProjectile03 : CAANanoDartProjectile +CAANanoDartProjectile03 = ClassProjectile(CAANanoDartProjectile) { + FxImpactAirUnit = EffectTemplate.CNanoDartUnitHit02, + FxImpactUnit = EffectTemplate.CNanoDartUnitHit02, + FxImpactLand = EffectTemplate.CNanoDartLandHit02, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CArtilleryProjectile.lua b/lua/sim/projectiles/cybran/CArtilleryProjectile.lua new file mode 100644 index 0000000000..9940edf7fa --- /dev/null +++ b/lua/sim/projectiles/cybran/CArtilleryProjectile.lua @@ -0,0 +1,33 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local EmitterProjectile = import('/lua/sim/defaultprojectiles.lua').EmitterProjectile +local EffectTemplate = import("/lua/effecttemplates.lua") + +--- CYBRAN ARTILLERY PROJECILES +---@class CArtilleryProjectile : EmitterProjectile +CArtilleryProjectile = ClassProjectile(EmitterProjectile) { + FxTrails = {'/effects/emitters/mortar_munition_03_emit.bp',}, + FxImpactUnit = EffectTemplate.CNanoDartUnitHit01, + FxImpactProp = EffectTemplate.CArtilleryHit01, + FxImpactLand = EffectTemplate.CArtilleryHit01, +} diff --git a/lua/sim/projectiles/cybran/CArtilleryProtonProjectile.lua b/lua/sim/projectiles/cybran/CArtilleryProtonProjectile.lua new file mode 100644 index 0000000000..533921316a --- /dev/null +++ b/lua/sim/projectiles/cybran/CArtilleryProtonProjectile.lua @@ -0,0 +1,44 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local SinglePolyTrailProjectile = import('/lua/sim/defaultprojectiles.lua').SinglePolyTrailProjectile +local EffectTemplate = import("/lua/effecttemplates.lua") +local EmitterProjectile = import('/lua/sim/defaultprojectiles.lua').EmitterProjectile + +--- CYBRAN ARTILLERY PROJECILES +---@class CArtilleryProtonProjectile : SinglePolyTrailProjectile +CArtilleryProtonProjectile = ClassProjectile(SinglePolyTrailProjectile) { + FxImpactTrajectoryAligned = false, + PolyTrail = '/effects/emitters/default_polytrail_01_emit.bp', + FxImpactUnit = EffectTemplate.CProtonArtilleryHit01, + FxImpactProp = EffectTemplate.CProtonArtilleryHit01, + FxImpactLand = EffectTemplate.CProtonArtilleryHit01, + + ---@param self CArtilleryProtonProjectile + ---@param targetType string + ---@param targetEntity Unit + OnImpact = function(self, targetType, targetEntity) + EmitterProjectile.OnImpact(self, targetType, targetEntity) + CreateLightParticle( self, -1, self.Army, 7, 12, 'glow_03', 'ramp_red_06' ) + CreateLightParticle( self, -1, self.Army, 7, 22, 'glow_03', 'ramp_antimatter_02' ) + end, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CBeamProjectile.lua b/lua/sim/projectiles/cybran/CBeamProjectile.lua new file mode 100644 index 0000000000..0c58b6ab57 --- /dev/null +++ b/lua/sim/projectiles/cybran/CBeamProjectile.lua @@ -0,0 +1,33 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local NullShell = import('/lua/sim/defaultprojectiles.lua').NullShell +local EffectTemplate = import("/lua/effecttemplates.lua") + +--- CYBRAN BEAM PROJECILES +---@class CBeamProjectile : NullShell +CBeamProjectile = ClassProjectile(NullShell) { + FxUnitHitScale = 0.5, + FxImpactUnit = EffectTemplate.CBeamHitUnit01, + FxImpactProp = EffectTemplate.CBeamHitUnit01, + FxImpactLand = EffectTemplate.CBeamHitLand01, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CBombProjectile.lua b/lua/sim/projectiles/cybran/CBombProjectile.lua new file mode 100644 index 0000000000..b2a2cc4b04 --- /dev/null +++ b/lua/sim/projectiles/cybran/CBombProjectile.lua @@ -0,0 +1,33 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local EmitterProjectile = import('/lua/sim/defaultprojectiles.lua').EmitterProjectile +local EffectTemplate = import("/lua/effecttemplates.lua") + +--- CYBRAN BOMBs +---@class CBombProjectile : EmitterProjectile +CBombProjectile = ClassProjectile(EmitterProjectile) { + FxTrails = {'/effects/emitters/bomb_munition_plasma_aeon_01_emit.bp'}, + FxImpactUnit = EffectTemplate.CBombHit01, + FxImpactProp = EffectTemplate.CBombHit01, + FxImpactLand = EffectTemplate.CBombHit01, +} diff --git a/lua/sim/projectiles/cybran/CCannonSeaProjectile.lua b/lua/sim/projectiles/cybran/CCannonSeaProjectile.lua new file mode 100644 index 0000000000..0e24733e58 --- /dev/null +++ b/lua/sim/projectiles/cybran/CCannonSeaProjectile.lua @@ -0,0 +1,29 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local SingleBeamProjectile = import('/lua/sim/defaultprojectiles.lua').SingleBeamProjectile + +--- CYBRAN SHIP PROJECILES +---@class CCannonSeaProjectile : SingleBeamProjectile +CCannonSeaProjectile = ClassProjectile(SingleBeamProjectile) { + BeamName = '/effects/emitters/cannon_munition_ship_cybran_beam_01_emit.bp', +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CCannonTankProjectile.lua b/lua/sim/projectiles/cybran/CCannonTankProjectile.lua new file mode 100644 index 0000000000..7df4a1806c --- /dev/null +++ b/lua/sim/projectiles/cybran/CCannonTankProjectile.lua @@ -0,0 +1,29 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local SingleBeamProjectile = import('/lua/sim/defaultprojectiles.lua').SingleBeamProjectile + +--- CYBRAN TANK CANNON PROJECILES +---@class CCannonTankProjectile : SingleBeamProjectile +CCannonTankProjectile = ClassProjectile(SingleBeamProjectile) { + BeamName = '/effects/emitters/cannon_munition_ship_cybran_beam_01_emit.bp', +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CCorsairRocketProjectile.lua b/lua/sim/projectiles/cybran/CCorsairRocketProjectile.lua new file mode 100644 index 0000000000..987d32b610 --- /dev/null +++ b/lua/sim/projectiles/cybran/CCorsairRocketProjectile.lua @@ -0,0 +1,34 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local SingleCompositeEmitterProjectile = import('/lua/sim/defaultprojectiles.lua').SingleCompositeEmitterProjectile +local EffectTemplate = import("/lua/effecttemplates.lua") + +--- CORSAIR MISSILE PROJECTILES +---@class CCorsairRocketProjectile : SingleCompositeEmitterProjectile +CCorsairRocketProjectile = ClassProjectile(SingleCompositeEmitterProjectile) { + PolyTrail = EffectTemplate.CCorsairMissilePolyTrail01, + BeamName = '/effects/emitters/rocket_iridium_exhaust_beam_01_emit.bp', + FxImpactUnit = EffectTemplate.CCorsairMissileUnitHit01, + FxImpactProp = EffectTemplate.CCorsairMissileHit01, + FxImpactLand = EffectTemplate.CCorsairMissileLandHit01, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CDFBrackmanHackPegProjectile01.lua b/lua/sim/projectiles/cybran/CDFBrackmanHackPegProjectile01.lua new file mode 100644 index 0000000000..32e1367182 --- /dev/null +++ b/lua/sim/projectiles/cybran/CDFBrackmanHackPegProjectile01.lua @@ -0,0 +1,33 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local MultiPolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").MultiPolyTrailProjectile +local EffectTemplate = import("/lua/effecttemplates.lua") + +--- CYBRAN BRACKMAN "HACK PEG-POD" PROJECTILE +---@class CDFBrackmanHackPegProjectile01 : MultiPolyTrailProjectile +CDFBrackmanHackPegProjectile01 = ClassProjectile(MultiPolyTrailProjectile) { + FxImpactTrajectoryAligned = false, + PolyTrails = EffectTemplate.CBrackmanCrabPegPodTrails, + PolyTrailOffset = { 0, 0 }, + FxTrailOffset = 0, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CDFBrackmanHackPegProjectile02.lua b/lua/sim/projectiles/cybran/CDFBrackmanHackPegProjectile02.lua new file mode 100644 index 0000000000..20283d947c --- /dev/null +++ b/lua/sim/projectiles/cybran/CDFBrackmanHackPegProjectile02.lua @@ -0,0 +1,34 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local EffectTemplate = import("/lua/effecttemplates.lua") +local MultiPolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").MultiPolyTrailProjectile + +--- CYBRAN BRACKMAN "HACK PEG" PROJECTILES +---@class CDFBrackmanHackPegProjectile02 : MultiPolyTrailProjectile +CDFBrackmanHackPegProjectile02 = ClassProjectile(MultiPolyTrailProjectile) { + FxImpactTrajectoryAligned = false, + PolyTrails = EffectTemplate.CBrackmanCrabPegTrails, + PolyTrailOffset = { 0, 0 }, + FxImpactLand = EffectTemplate.CBrackmanCrabPegHit01, + FxTrailOffset = 0, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CDFHvyProtonCannonProjectile.lua b/lua/sim/projectiles/cybran/CDFHvyProtonCannonProjectile.lua new file mode 100644 index 0000000000..0f2a2633d5 --- /dev/null +++ b/lua/sim/projectiles/cybran/CDFHvyProtonCannonProjectile.lua @@ -0,0 +1,42 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local EffectTemplate = import("/lua/effecttemplates.lua") +local MultiPolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").MultiPolyTrailProjectile + +--- CYBRAN PROTON PROJECTILES +--- XRL0403 experimental crab heavy proton cannon +---@class CDFHvyProtonCannonProjectile : MultiPolyTrailProjectile +CDFHvyProtonCannonProjectile = ClassProjectile(MultiPolyTrailProjectile) { + PolyTrails = { + EffectTemplate.CHvyProtonCannonPolyTrail, + '/effects/emitters/default_polytrail_01_emit.bp', + }, + PolyTrailOffset = { 0, 0 }, + FxTrails = EffectTemplate.CHvyProtonCannonFXTrail01, + FxImpactUnit = EffectTemplate.CHvyProtonCannonHitUnit, + FxImpactProp = EffectTemplate.CHvyProtonCannonHitUnit, + FxImpactLand = EffectTemplate.CHvyProtonCannonHitLand, + FxImpactUnderWater = EffectTemplate.CHvyProtonCannonHit01, + FxImpactWater = EffectTemplate.CHvyProtonCannonHit01, + FxTrailOffset = 0, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CDFProtonCannonProjectile.lua b/lua/sim/projectiles/cybran/CDFProtonCannonProjectile.lua new file mode 100644 index 0000000000..c6892b66a4 --- /dev/null +++ b/lua/sim/projectiles/cybran/CDFProtonCannonProjectile.lua @@ -0,0 +1,41 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local EffectTemplate = import("/lua/effecttemplates.lua") +local MultiPolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").MultiPolyTrailProjectile + +--- CYBRAN PROTON PROJECTILES +---@class CDFProtonCannonProjectile : MultiPolyTrailProjectile +CDFProtonCannonProjectile = ClassProjectile(MultiPolyTrailProjectile) { + PolyTrails = { + EffectTemplate.CProtonCannonPolyTrail, + '/effects/emitters/default_polytrail_01_emit.bp', + }, + PolyTrailOffset = { 0, 0 }, + FxTrails = EffectTemplate.CProtonCannonFXTrail01, + FxImpactUnit = EffectTemplate.CProtonCannonHit01, + FxImpactProp = EffectTemplate.CProtonCannonHit01, + FxImpactLand = EffectTemplate.CProtonCannonHit01, + FxImpactWater = EffectTemplate.CProtonCannonHitWater01, + FxImpactWaterScale = 0.75, + FxTrailOffset = 0, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CDFTrackerProjectile.lua b/lua/sim/projectiles/cybran/CDFTrackerProjectile.lua new file mode 100644 index 0000000000..28e702c702 --- /dev/null +++ b/lua/sim/projectiles/cybran/CDFTrackerProjectile.lua @@ -0,0 +1,36 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local SingleCompositeEmitterProjectile = import('/lua/sim/defaultprojectiles.lua').SingleCompositeEmitterProjectile +local EffectTemplate = import("/lua/effecttemplates.lua") + +--- CYBRAN TRACKER PROJECILES +---@class CDFTrackerProjectile : SingleCompositeEmitterProjectile +CDFTrackerProjectile = ClassProjectile(SingleCompositeEmitterProjectile) { + TrailDelay = 1, + FxTrails = {'/effects/emitters/missile_sam_munition_trail_01_emit.bp',}, + FxTrailOffset = 0.5, + BeamName = '/effects/emitters/missile_sam_munition_exhaust_beam_01_emit.bp', + FxUnitHitScale = 0.5, + FxLandHitScale = 0.5, + FxImpactLand = EffectTemplate.CMissileHit01, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CDepthChargeProjectile.lua b/lua/sim/projectiles/cybran/CDepthChargeProjectile.lua new file mode 100644 index 0000000000..a2c9e120e8 --- /dev/null +++ b/lua/sim/projectiles/cybran/CDepthChargeProjectile.lua @@ -0,0 +1,63 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local EffectTemplate = import("/lua/effecttemplates.lua") +local OnWaterEntryEmitterProjectile = import('/lua/sim/OnWaterEntryEmitterProjectile.lua').OnWaterEntryEmitterProjectile + +--- Cybran DEPTH CHARGE PROJECTILES +---@class CDepthChargeProjectile : OnWaterEntryEmitterProjectile +CDepthChargeProjectile = ClassProjectile(OnWaterEntryEmitterProjectile) { + FxTrails = { + '/effects/emitters/anti_torpedo_flare_01_emit.bp', + '/effects/emitters/anti_torpedo_flare_02_emit.bp', + }, + FxImpactUnit = EffectTemplate.CAntiTorpedoHit01, + FxImpactProp = EffectTemplate.CAntiTorpedoHit01, + FxImpactUnderWater = EffectTemplate.CAntiTorpedoHit01, + FxImpactProjectile = EffectTemplate.CAntiTorpedoHit01, + FxImpactNone = EffectTemplate.CAntiTorpedoHit01, + FxOnKilled = EffectTemplate.CAntiTorpedoHit01, + FxEnterWater= EffectTemplate.WaterSplash01, + + ---@param self CDepthChargeProjectile + ---@param inWater boolean + OnCreate = function(self, inWater) + OnWaterEntryEmitterProjectile.OnCreate(self) + if inWater then + for i in self.FxTrails do + CreateEmitterOnEntity(self, self.Army, self.FxTrails[i]):ScaleEmitter(self.FxTrailScale):OffsetEmitter(0, 0, self.FxTrailOffset) + end + end + self:TrackTarget(false) + end, + + ---@param self CDepthChargeProjectile + OnEnterWater = function(self) + OnWaterEntryEmitterProjectile.OnEnterWater(self) + self:TrackTarget(false) + self:StayUnderwater(true) + self:SetTurnRate(0) + self:SetMaxSpeed(1) + self:SetVelocity(0, -0.25, 0) + self:SetVelocity(0.25) + end, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CDisintegratorLaserProjectile.lua b/lua/sim/projectiles/cybran/CDisintegratorLaserProjectile.lua new file mode 100644 index 0000000000..ea1e1d44a8 --- /dev/null +++ b/lua/sim/projectiles/cybran/CDisintegratorLaserProjectile.lua @@ -0,0 +1,41 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local EffectTemplate = import("/lua/effecttemplates.lua") +local MultiPolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").MultiPolyTrailProjectile + +--- DISINTEGRATOR LASER PROJECILE +--- loyalist & wailers +---@class CDisintegratorLaserProjectile : MultiPolyTrailProjectile +CDisintegratorLaserProjectile = ClassProjectile(MultiPolyTrailProjectile) { + PolyTrails = { + '/effects/emitters/disintegrator_polytrail_04_emit.bp', + '/effects/emitters/disintegrator_polytrail_05_emit.bp', + '/effects/emitters/default_polytrail_03_emit.bp', + }, + PolyTrailOffset = { 0, 0, 0 }, + FxTrails = EffectTemplate.CDisintegratorFxTrails01, + FxImpactUnit = EffectTemplate.CDisintegratorHitUnit01, + FxImpactAirUnit = EffectTemplate.CDisintegratorHitAirUnit01, + FxImpactProp = EffectTemplate.CDisintegratorHitUnit01, + FxImpactLand = EffectTemplate.CDisintegratorHitLand01, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CDisintegratorLaserProjectile02.lua b/lua/sim/projectiles/cybran/CDisintegratorLaserProjectile02.lua new file mode 100644 index 0000000000..fdc97fcdef --- /dev/null +++ b/lua/sim/projectiles/cybran/CDisintegratorLaserProjectile02.lua @@ -0,0 +1,40 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local EffectTemplate = import("/lua/effecttemplates.lua") +local MultiPolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").MultiPolyTrailProjectile + +--- DISINTEGRATOR LASER PROJECILE +--- adjusments for URA0104 to tone down effect +---@class CDisintegratorLaserProjectile02 : MultiPolyTrailProjectile +CDisintegratorLaserProjectile02 = ClassProjectile(MultiPolyTrailProjectile) { + PolyTrails = { + '/effects/emitters/disintegrator_polytrail_04_emit.bp', + '/effects/emitters/disintegrator_polytrail_05_emit.bp', + '/effects/emitters/default_polytrail_03_emit.bp', + }, + PolyTrailOffset = { 0, 0, 0 }, + FxImpactUnit = EffectTemplate.CDisintegratorHitUnit01, + FxImpactAirUnit = EffectTemplate.CDisintegratorHitAirUnit01, + FxImpactProp = EffectTemplate.CDisintegratorHitUnit01, + FxImpactLand = EffectTemplate.CDisintegratorHitLand01, +} diff --git a/lua/sim/projectiles/cybran/CEMPFluxWarheadProjectile.lua b/lua/sim/projectiles/cybran/CEMPFluxWarheadProjectile.lua new file mode 100644 index 0000000000..0943b94a06 --- /dev/null +++ b/lua/sim/projectiles/cybran/CEMPFluxWarheadProjectile.lua @@ -0,0 +1,37 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local NukeProjectile = import('/lua/sim/defaultprojectiles.lua').NukeProjectile +local SingleBeamProjectile = import('/lua/sim/defaultprojectiles.lua').SingleBeamProjectile +local EffectTemplate = import("/lua/effecttemplates.lua") + +--- TERRAN SUB-LAUNCHED CRUISE MISSILE PROJECTILES +---@class CEMPFluxWarheadProjectile : NukeProjectile +CEMPFluxWarheadProjectile = ClassProjectile(NukeProjectile, SingleBeamProjectile) { + BeamName = '/effects/emitters/missile_exhaust_fire_beam_01_emit.bp', + FxUnderWaterTrail = {'/effects/emitters/missile_cruise_munition_underwater_trail_01_emit.bp'}, + FxExitWaterEmitter = EffectTemplate.DefaultProjectileWaterImpact, + FxSplashScale = 0.65, + ExitWaterTicks = 9, + FxTrailOffset = -0.5, + FxTrails = {'/effects/emitters/missile_cruise_munition_trail_01_emit.bp'}, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CElectronBolterProjectile.lua b/lua/sim/projectiles/cybran/CElectronBolterProjectile.lua new file mode 100644 index 0000000000..b4faa4b803 --- /dev/null +++ b/lua/sim/projectiles/cybran/CElectronBolterProjectile.lua @@ -0,0 +1,39 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local EffectTemplate = import("/lua/effecttemplates.lua") +local MultiPolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").MultiPolyTrailProjectile + +--- CYBRAN ELECTRON BOLTER PROJECILES +--- loya, wagner, monkeylord & soul ripper +---@class CElectronBolterProjectile : MultiPolyTrailProjectile +CElectronBolterProjectile = ClassProjectile(MultiPolyTrailProjectile) { + PolyTrails = { + '/effects/emitters/electron_bolter_trail_02_emit.bp', + '/effects/emitters/default_polytrail_01_emit.bp', + }, + PolyTrailOffset = { 0, 0 }, + FxTrails = {'/effects/emitters/electron_bolter_munition_01_emit.bp',}, + FxImpactUnit = EffectTemplate.CElectronBolterHitUnit01, + FxImpactProp = EffectTemplate.CElectronBolterHitUnit01, + FxImpactLand = EffectTemplate.CElectronBolterHitLand01, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CFlameThrowerProjectile.lua b/lua/sim/projectiles/cybran/CFlameThrowerProjectile.lua new file mode 100644 index 0000000000..4f46284b17 --- /dev/null +++ b/lua/sim/projectiles/cybran/CFlameThrowerProjectile.lua @@ -0,0 +1,31 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local EmitterProjectile = import('/lua/sim/defaultprojectiles.lua').EmitterProjectile + +--- CYBRAN FLAME THROWER PROJECTILES +---@class CFlameThrowerProjectile : EmitterProjectile +CFlameThrowerProjectile = ClassProjectile(EmitterProjectile) { + FxTrails = {'/effects/emitters/flamethrower_02_emit.bp'}, + FxTrailScale = 1, + FxTrailOffset = 0, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CHeavyDisintegratorPulseLaser.lua b/lua/sim/projectiles/cybran/CHeavyDisintegratorPulseLaser.lua new file mode 100644 index 0000000000..d2c3866cdf --- /dev/null +++ b/lua/sim/projectiles/cybran/CHeavyDisintegratorPulseLaser.lua @@ -0,0 +1,39 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local EffectTemplate = import("/lua/effecttemplates.lua") +local MultiPolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").MultiPolyTrailProjectile + +--- SC1 EXPANSION PROJECTILES : Brick +---@class CHeavyDisintegratorPulseLaser : MultiPolyTrailProjectile +CHeavyDisintegratorPulseLaser = ClassProjectile(MultiPolyTrailProjectile) { + PolyTrails = { + '/effects/emitters/disintegrator_polytrail_02_emit.bp', + '/effects/emitters/disintegrator_polytrail_03_emit.bp', + '/effects/emitters/default_polytrail_03_emit.bp', + }, + PolyTrailOffset = { 0, 0, 0 }, + FxImpactUnit = EffectTemplate.CHvyDisintegratorHitUnit01, + FxImpactProp = EffectTemplate.CHvyDisintegratorHitUnit01, + FxImpactLand = EffectTemplate.CHvyDisintegratorHitLand01, + FxTrailOffset = 0, +} diff --git a/lua/sim/projectiles/cybran/CHeavyElectronBolterProjectile.lua b/lua/sim/projectiles/cybran/CHeavyElectronBolterProjectile.lua new file mode 100644 index 0000000000..1a3e681ff6 --- /dev/null +++ b/lua/sim/projectiles/cybran/CHeavyElectronBolterProjectile.lua @@ -0,0 +1,47 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local EffectTemplate = import("/lua/effecttemplates.lua") +local MultiPolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").MultiPolyTrailProjectile + +--- SoulRipper +---@class CHeavyElectronBolterProjectile : MultiPolyTrailProjectile +CHeavyElectronBolterProjectile = ClassProjectile(MultiPolyTrailProjectile) { + PolyTrails = { + '/effects/emitters/electron_bolter_trail_01_emit.bp', + '/effects/emitters/default_polytrail_05_emit.bp', + }, + PolyTrailOffset = { 0, 0 }, + FxTrails = {'/effects/emitters/electron_bolter_munition_02_emit.bp',}, + FxImpactUnit = EffectTemplate.CElectronBolterHitUnit02, + FxImpactProp = EffectTemplate.CElectronBolterHitUnit02, + FxImpactLand = EffectTemplate.CElectronBolterHitLand02, + FxAirUnitHitScale = 2.5, + FxLandHitScale = 2.5, + FxNoneHitScale = 2.5, + FxPropHitScale = 2.5, + FxProjectileHitScale = 2.5, + FxShieldHitScale = 2.5, + FxUnitHitScale = 2.5, + FxWaterHitScale = 2.5, + FxOnKilledScale = 2.5, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CHeavyLaserProjectile.lua b/lua/sim/projectiles/cybran/CHeavyLaserProjectile.lua new file mode 100644 index 0000000000..6a7e5d3bc4 --- /dev/null +++ b/lua/sim/projectiles/cybran/CHeavyLaserProjectile.lua @@ -0,0 +1,36 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local EffectTemplate = import("/lua/effecttemplates.lua") +local MultiPolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").MultiPolyTrailProjectile + +---@class CHeavyLaserProjectile : MultiPolyTrailProjectile +CHeavyLaserProjectile = ClassProjectile(MultiPolyTrailProjectile) { + PolyTrails = { + '/effects/emitters/cybran_laser_trail_02_emit.bp', + '/effects/emitters/default_polytrail_03_emit.bp', + }, + PolyTrailOffset = { 0, 0 }, + FxImpactUnit = EffectTemplate.CLaserHitUnit01, + FxImpactProp = EffectTemplate.CLaserHitUnit01, + FxImpactLand = EffectTemplate.CLaserHitLand01, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CHeavyLaserProjectile2.lua b/lua/sim/projectiles/cybran/CHeavyLaserProjectile2.lua new file mode 100644 index 0000000000..5363ca2aae --- /dev/null +++ b/lua/sim/projectiles/cybran/CHeavyLaserProjectile2.lua @@ -0,0 +1,38 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local EffectTemplate = import("/lua/effecttemplates.lua") +local MultiPolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").MultiPolyTrailProjectile + +---@class CHeavyLaserProjectile2 : MultiPolyTrailProjectile +CHeavyLaserProjectile2 = ClassProjectile(MultiPolyTrailProjectile) { + PolyTrails = { + '/effects/emitters/hrailgunsd_polytrail_01_emit.bp', + '/effects/emitters/default_polytrail_02_emit.bp', + }, + PolyTrailOffset = { 0, 0 }, + FxUnitHitScale = 0.15, + FxLandHitScale = 0.15, + FxImpactUnit = EffectTemplate.CBeamHitUnit01, + FxImpactProp = EffectTemplate.CBeamHitUnit01, + FxImpactLand = EffectTemplate.CBeamHitLand01, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CIFMolecularResonanceShell.lua b/lua/sim/projectiles/cybran/CIFMolecularResonanceShell.lua new file mode 100644 index 0000000000..ba8976f01e --- /dev/null +++ b/lua/sim/projectiles/cybran/CIFMolecularResonanceShell.lua @@ -0,0 +1,63 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local SinglePolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").SinglePolyTrailProjectile +local EffectTemplate = import("/lua/effecttemplates.lua") + +--- CYBRAN MOLECULAR RESONANCE SHELL PROJECTILE +---@class CIFMolecularResonanceShell : SinglePolyTrailProjectile +CIFMolecularResonanceShell = ClassProjectile(SinglePolyTrailProjectile) { + PolyTrail = '/effects/emitters/default_polytrail_01_emit.bp', + FxImpactUnit = EffectTemplate.CMolecularResonanceHitUnit01, + FxImpactProp = EffectTemplate.CMolecularResonanceHitUnit01, + FxImpactLand = EffectTemplate.CMolecularResonanceHitUnit01, + DestroyOnImpact = false, + + ---@param self CIFMolecularResonanceShell + OnCreate = function(self) + SinglePolyTrailProjectile.OnCreate(self) + self.Impacted = false + end, + + ---@param self CIFMolecularResonanceShell + DelayedDestroyThread = function(self) + WaitTicks(4) + self:CreateImpactEffects(self.Army, self.FxImpactUnit, self.FxUnitHitScale) + self:Destroy() + end, + + ---@param self CIFMolecularResonanceShell + ---@param TargetType string + ---@param TargetEntity Unit + OnImpact = function(self, TargetType, TargetEntity) + if self.Impacted == false then + self.Impacted = true + if TargetType == 'Terrain' then + SinglePolyTrailProjectile.OnImpact(self, TargetType, TargetEntity) + self.Trash:Add(ForkThread(self.DelayedDestroyThread,self)) + else + SinglePolyTrailProjectile.OnImpact(self, TargetType, TargetEntity) + self:Destroy() + end + end + end, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CIFProtonBombProjectile.lua b/lua/sim/projectiles/cybran/CIFProtonBombProjectile.lua new file mode 100644 index 0000000000..5431c8bd2f --- /dev/null +++ b/lua/sim/projectiles/cybran/CIFProtonBombProjectile.lua @@ -0,0 +1,52 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local NullShell = import('/lua/sim/defaultprojectiles.lua').NullShell +local EffectTemplate = import("/lua/effecttemplates.lua") + +--- CYBRAN PROTON PROJECTILES +--- T3 strategic bomber +---@class CIFProtonBombProjectile : NullShell +CIFProtonBombProjectile = ClassProjectile(NullShell) { + FxImpactTrajectoryAligned = false, + FxImpactUnit = EffectTemplate.CProtonBombHit01, + FxImpactProp = EffectTemplate.CProtonBombHit01, + FxImpactLand = EffectTemplate.CProtonBombHit01, + + ---@param self CIFProtonBombProjectile + ---@param targetType string + ---@param targetEntity Unit + OnImpact = function(self, targetType, targetEntity) + CreateLightParticle(self, -1, self.Army, 12, 28, 'glow_03', 'ramp_proton_flash_02') + CreateLightParticle(self, -1, self.Army, 8, 22, 'glow_03', 'ramp_antimatter_02') + + local blanketSides = 12 + local blanketAngle = (2*math.pi) / blanketSides + local blanketVelocity = 6.25 + for i = 0, (blanketSides-1) do + local blanketX = math.sin(i*blanketAngle) + local blanketZ = math.cos(i*blanketAngle) + self:CreateProjectile('/effects/entities/EffectProtonAmbient01/EffectProtonAmbient01_proj.bp', blanketX, 0.5, blanketZ, blanketX, 0, blanketZ):SetVelocity(blanketVelocity):SetAcceleration(-0.3) + end + NullShell.OnImpact(self, targetType, targetEntity) + end, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CIridiumRocketProjectile.lua b/lua/sim/projectiles/cybran/CIridiumRocketProjectile.lua new file mode 100644 index 0000000000..e8073b6077 --- /dev/null +++ b/lua/sim/projectiles/cybran/CIridiumRocketProjectile.lua @@ -0,0 +1,35 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local SingleCompositeEmitterProjectile = import('/lua/sim/defaultprojectiles.lua').SingleCompositeEmitterProjectile +local EffectTemplate = import("/lua/effecttemplates.lua") + +--- IRIDIUM ROCKET PROJECTILES +--- T2 gs & SR & hoplite +---@class CIridiumRocketProjectile : SingleCompositeEmitterProjectile +CIridiumRocketProjectile = ClassProjectile(SingleCompositeEmitterProjectile) { + PolyTrail = '/effects/emitters/cybran_iridium_missile_polytrail_01_emit.bp', + BeamName = '/effects/emitters/rocket_iridium_exhaust_beam_01_emit.bp', + FxImpactUnit = EffectTemplate.CMissileHit02, + FxImpactProp = EffectTemplate.CMissileHit02, + FxImpactLand = EffectTemplate.CMissileHit02, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CKrilTorpedo.lua b/lua/sim/projectiles/cybran/CKrilTorpedo.lua new file mode 100644 index 0000000000..9caa91bd31 --- /dev/null +++ b/lua/sim/projectiles/cybran/CKrilTorpedo.lua @@ -0,0 +1,26 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local OnWaterEntryEmitterProjectile = import('/lua/sim/defaultprojectiles.lua').OnWaterEntryEmitterProjectile + +---@class CKrilTorpedo : OnWaterEntryEmitterProjectile +CKrilTorpedo = ClassProjectile(OnWaterEntryEmitterProjectile) {} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CLOATacticalChildMissileProjectile.lua b/lua/sim/projectiles/cybran/CLOATacticalChildMissileProjectile.lua new file mode 100644 index 0000000000..585ada6eb1 --- /dev/null +++ b/lua/sim/projectiles/cybran/CLOATacticalChildMissileProjectile.lua @@ -0,0 +1,92 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local EffectTemplate = import("/lua/effecttemplates.lua") +local SingleBeamProjectile = import('/lua/sim/defaultprojectiles.lua').SingleBeamProjectile +local TacticalMissileComponent = import('/lua/sim/DefaultWeapons.lua').TacticalMissileComponent + +--- CYBRAN ROCKET PROJECILES +---@class CLOATacticalChildMissileProjectile : SingleBeamProjectile, TacticalMissileComponent, DebrisComponent +CLOATacticalChildMissileProjectile = ClassProjectile(SingleBeamProjectile, TacticalMissileComponent, DebrisComponent) { + BeamName = '/effects/emitters/missile_loa_munition_exhaust_beam_02_emit.bp', + FxTrails = {'/effects/emitters/missile_cruise_munition_trail_03_emit.bp',}, + FxTrailOffset = -0.5, + FxExitWaterEmitter = EffectTemplate.TIFCruiseMissileLaunchExitWater, + FxImpactUnit = EffectTemplate.CMissileLOAHit01, + FxImpactLand = EffectTemplate.CMissileLOAHit01, + FxImpactProp = EffectTemplate.CMissileLOAHit01, + FxAirUnitHitScale = 0.375, + FxLandHitScale = 0.375, + FxPropHitScale = 0.375, + FxProjectileHitScale = 0.375, + FxShieldHitScale = 0.375, + FxUnitHitScale = 0.375, + FxWaterHitScale = 0.375, + + FxImpactNone = EffectTemplate.TMissileKilled01, + FxNoneHitScale = 0.375, + + FxOnKilled = EffectTemplate.TMissileKilled01, + FxOnKilledScale = 0.375, + + LaunchTicks = 2, + LaunchTurnRate = 6, + HeightDistanceFactor = 5, + MinHeight = 2, + FinalBoostAngle = 0, + + DebrisBlueprints = { + '/effects/Entities/TacticalDebris03/TacticalDebris03_proj.bp', + }, + + ---@param self CLOATacticalChildMissileProjectile + OnCreate = function(self) + SingleBeamProjectile.OnCreate(self) + + local blueprintPhysics = self.Blueprint.Physics + local radius = 0.105 * (blueprintPhysics.MaxSpeed + blueprintPhysics.MaxSpeedRange) + self:SetCollisionShape('Sphere', 0, 0, 0, radius) + end, + + ---@param self CLOATacticalChildMissileProjectile + ---@param instigator Unit + ---@param type string + ---@param overkillRatio number + OnKilled = function(self, instigator, type, overkillRatio) + SingleBeamProjectile.OnKilled(self, instigator, type, overkillRatio) + + CreateLightParticle(self, -1, self.Army, 3, 6, 'flare_lens_add_02', 'ramp_fire_11') + self:CreateDebris() + end, + + ---@param self CLOATacticalChildMissileProjectile + ---@param targetType string + ---@param targetEntity Unit + OnImpact = function(self, targetType, targetEntity) + SingleBeamProjectile.OnImpact(self, targetType, targetEntity) + + CreateLightParticle(self, -1, self.Army, 3, 6, 'flare_lens_add_02', 'ramp_fire_11') + if targetType == 'None' then + self:CreateDebris() + end + end, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CLOATacticalMissileProjectile.lua b/lua/sim/projectiles/cybran/CLOATacticalMissileProjectile.lua new file mode 100644 index 0000000000..98e63b878d --- /dev/null +++ b/lua/sim/projectiles/cybran/CLOATacticalMissileProjectile.lua @@ -0,0 +1,109 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local EffectTemplate = import("/lua/effecttemplates.lua") +local SingleBeamProjectile = import('/lua/sim/defaultprojectiles.lua').SingleBeamProjectile +local TacticalMissileComponent = import('/lua/terranprojectiles.lua').TacticalMissileComponent + +--- CYBRAN ROCKET PROJECILES +---@class CLOATacticalMissileProjectile : SingleBeamProjectile, TacticalMissileComponent, SplitComponent, DebrisComponent +---@field SplitDamage { DamageAmount: number, DamageRadius: number } +CLOATacticalMissileProjectile = ClassProjectile(SingleBeamProjectile, TacticalMissileComponent, SplitComponent, DebrisComponent) { + BeamName = '/effects/emitters/missile_loa_munition_exhaust_beam_01_emit.bp', + FxTrails = {'/effects/emitters/missile_cruise_munition_trail_01_emit.bp',}, + FxTrailOffset = -0.5, + FxExitWaterEmitter = EffectTemplate.TIFCruiseMissileLaunchExitWater, + + FxImpactUnit = EffectTemplate.CMissileLOAHit01, + FxImpactLand = EffectTemplate.CMissileLOAHit01, + FxImpactProp = EffectTemplate.CMissileLOAHit01, + + FxImpactNone = EffectTemplate.TMissileKilled01, + FxNoneHitScale = 0.6, + + FxOnKilled = EffectTemplate.TMissileKilled01, + FxOnKilledScale = 0.6, + + LaunchTicks = 2, + LaunchTurnRate = 6, + HeightDistanceFactor = 5, + MinHeight = 2, + FinalBoostAngle = 0, + + ChildCount = 3, + ChildProjectileBlueprint = '/projectiles/CIFMissileTacticalSplit01/CIFMissileTacticalSplit01_proj.bp', + + DebrisBlueprints = { + '/effects/Entities/TacticalDebris01/TacticalDebris01_proj.bp', + '/effects/Entities/TacticalDebris01/TacticalDebris01_proj.bp', + '/effects/Entities/TacticalDebris02/TacticalDebris02_proj.bp', + }, + + ---@param self CLOATacticalMissileProjectile + ---@param inWater boolean + OnCreate = function(self, inWater) + SingleBeamProjectile.OnCreate(self, inWater) + + local blueprintPhysics = self.Blueprint.Physics + local radius = 0.105 * (blueprintPhysics.MaxSpeed + blueprintPhysics.MaxSpeedRange) + self:SetCollisionShape('Sphere', 0, 0, 0, radius) + end, + + ---@param self CLOATacticalMissileProjectile + ---@param instigator Unit + ---@param type string + ---@param overkillRatio number + OnKilled = function(self, instigator, type, overkillRatio) + SingleBeamProjectile.OnKilled(self, instigator, type, overkillRatio) + + CreateLightParticle(self, -1, self.Army, 3, 6, 'flare_lens_add_02', 'ramp_fire_11') + self:CreateDebris() + end, + + ---@param self CLOATacticalMissileProjectile + ---@param instigator Unit + ---@param amount number + ---@param vector Vector + ---@param damageType DamageType + OnDamage = function(self, instigator, amount, vector, damageType) + SingleBeamProjectile.OnDamage(self, instigator, amount, vector, damageType) + + if self:GetHealth() <= 0 then + self.DamageData.DamageAmount = self.Launcher.Blueprint.SplitDamage.DamageAmount or 0 + self.DamageData.DamageRadius = self.Launcher.Blueprint.SplitDamage.DamageRadius or 1 + + self:OnSplit(true) + end + end, + + ---@param self CLOATacticalMissileProjectile + ---@param targetType string + ---@param targetEntity Unit + OnImpact = function(self, targetType, targetEntity) + SingleBeamProjectile.OnImpact(self, targetType, targetEntity) + + CreateLightParticle(self, -1, self.Army, 3, 6, 'flare_lens_add_02', 'ramp_fire_11') + if targetType == 'None' or targetType == 'Air' then + self:CreateDebris() + end + end, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CLaserLaserProjectile.lua b/lua/sim/projectiles/cybran/CLaserLaserProjectile.lua new file mode 100644 index 0000000000..fed2de21dd --- /dev/null +++ b/lua/sim/projectiles/cybran/CLaserLaserProjectile.lua @@ -0,0 +1,37 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local EffectTemplate = import("/lua/effecttemplates.lua") +local MultiPolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").MultiPolyTrailProjectile + +--- CYBRAN LASER PROJECILES +---@class CLaserLaserProjectile : MultiPolyTrailProjectile +CLaserLaserProjectile = ClassProjectile(MultiPolyTrailProjectile) { + PolyTrails = { + '/effects/emitters/cybran_laser_trail_01_emit.bp', + '/effects/emitters/default_polytrail_02_emit.bp', + }, + PolyTrailOffset = { 0, 0 }, + FxImpactUnit = EffectTemplate.CLaserHitUnit01, + FxImpactProp = EffectTemplate.CLaserHitUnit01, + FxImpactLand = EffectTemplate.CLaserHitLand01, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CMissileAAProjectile.lua b/lua/sim/projectiles/cybran/CMissileAAProjectile.lua new file mode 100644 index 0000000000..0d0d91572d --- /dev/null +++ b/lua/sim/projectiles/cybran/CMissileAAProjectile.lua @@ -0,0 +1,44 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local SingleCompositeEmitterProjectile = import('/lua/sim/defaultprojectiles.lua').SingleCompositeEmitterProjectile +local EffectTemplate = import("/lua/effecttemplates.lua") +local SingleBeamProjectile = import('/lua/sim/defaultprojectiles.lua').SingleBeamProjectile + +--- CYBRAN AA MISSILE PROJECILES - Air Targets +---@class CMissileAAProjectile : SingleCompositeEmitterProjectile +CMissileAAProjectile = ClassProjectile(SingleCompositeEmitterProjectile) { + TrailDelay = 1, + FxTrails = {'/effects/emitters/missile_sam_munition_trail_01_emit.bp',}, + FxTrailOffset = 0.5, + BeamName = '/effects/emitters/missile_sam_munition_exhaust_beam_01_emit.bp', + FxUnitHitScale = 0.5, + FxImpactUnit = EffectTemplate.CMissileHit01, + FxImpactProp = EffectTemplate.CMissileHit01, + FxLandHitScale = 0.5, + FxImpactLand = EffectTemplate.CMissileHit01, + + OnCreate = function(self) + self:SetCollisionShape('Sphere', 0, 0, 0, 1.0) + SingleBeamProjectile.OnCreate(self) + end, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CMolecularCannonProjectile.lua b/lua/sim/projectiles/cybran/CMolecularCannonProjectile.lua new file mode 100644 index 0000000000..f40511711b --- /dev/null +++ b/lua/sim/projectiles/cybran/CMolecularCannonProjectile.lua @@ -0,0 +1,36 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local SinglePolyTrailProjectile = import('/lua/sim/defaultprojectiles.lua').SinglePolyTrailProjectile +local EffectTemplate = import("/lua/effecttemplates.lua") + +--- CYBRAN MOLECULAR CANNON PROJECTILE +--- ACU +---@class CMolecularCannonProjectile : SinglePolyTrailProjectile +CMolecularCannonProjectile = ClassProjectile(SinglePolyTrailProjectile) { + FxImpactTrajectoryAligned = false, + PolyTrail = '/effects/emitters/default_polytrail_03_emit.bp', + FxTrails = EffectTemplate.CMolecularCannon01, + FxImpactUnit = EffectTemplate.CMolecularRipperHit01, + FxImpactProp = EffectTemplate.CMolecularRipperHit01, + FxImpactLand = EffectTemplate.CMolecularRipperHit01, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CNeutronClusterBombChildProjectile.lua b/lua/sim/projectiles/cybran/CNeutronClusterBombChildProjectile.lua new file mode 100644 index 0000000000..8a4d2082ee --- /dev/null +++ b/lua/sim/projectiles/cybran/CNeutronClusterBombChildProjectile.lua @@ -0,0 +1,42 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local SinglePolyTrailProjectile = import('/lua/sim/defaultprojectiles.lua').SinglePolyTrailProjectile +local EffectTemplate = import("/lua/effecttemplates.lua") + +--- NEUTRON CLUSTER BOMB PROJECTILES +---@class CNeutronClusterBombChildProjectile : SinglePolyTrailProjectile +CNeutronClusterBombChildProjectile = ClassProjectile(SinglePolyTrailProjectile) { + PolyTrail = '/effects/emitters/default_polytrail_05_emit.bp', + FxImpactUnit = EffectTemplate.CNeutronClusterBombHitUnit01, + FxImpactProp = EffectTemplate.CNeutronClusterBombHitUnit01, + FxImpactLand = EffectTemplate.CNeutronClusterBombHitLand01, + FxImpactWater = EffectTemplate.CNeutronClusterBombHitWater01, + + --- No damage dealt by this child. + ---@param self CNeutronClusterBombChildProjectile + ---@param instigator Weapon + ---@param damageData table + ---@param targetEntity Unit + DoDamage = function(self, instigator, damageData, targetEntity) + end, +} diff --git a/lua/sim/projectiles/cybran/CNeutronClusterBombProjectile.lua b/lua/sim/projectiles/cybran/CNeutronClusterBombProjectile.lua new file mode 100644 index 0000000000..ba48a37638 --- /dev/null +++ b/lua/sim/projectiles/cybran/CNeutronClusterBombProjectile.lua @@ -0,0 +1,69 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local SinglePolyTrailProjectile = import('/lua/sim/defaultprojectiles.lua').SinglePolyTrailProjectile + +---@class CNeutronClusterBombProjectile : SinglePolyTrailProjectile +CNeutronClusterBombProjectile = ClassProjectile(SinglePolyTrailProjectile) { + PolyTrail = '/effects/emitters/default_polytrail_03_emit.bp', + ChildProjectile = '/projectiles/CIFNeutronClusterBomb02/CIFNeutronClusterBomb02_proj.bp', + + ---@param self CNeutronClusterBombProjectile + OnCreate = function(self) + SinglePolyTrailProjectile.OnCreate(self) + self.Impacted = false + end, + + --- Note: Damage is done once in AOE by main projectile. Secondary projectiles + --- are just visual. + ---@param self CNeutronClusterBombProjectile + ---@param targetType string + ---@param targetEntity Unit + OnImpact = function(self, targetType, targetEntity) + if self.Impacted == false and targetType ~= 'Air' then + self.Impacted = true + local Random = Random + self:CreateChildProjectile(self.ChildProjectile):SetVelocity(0,Random(1,3),Random(1.5,3)) + self:CreateChildProjectile(self.ChildProjectile):SetVelocity(Random(1,2),Random(1,3),Random(1,2)) + self:CreateChildProjectile(self.ChildProjectile):SetVelocity(0,Random(1,3),-Random(1.5,3)) + self:CreateChildProjectile(self.ChildProjectile):SetVelocity(Random(1.5,3),Random(1,3),0) + self:CreateChildProjectile(self.ChildProjectile):SetVelocity(-Random(1,2),Random(1,3),-Random(1,2)) + self:CreateChildProjectile(self.ChildProjectile):SetVelocity(-Random(1.5,2.5),Random(1,3),0) + self:CreateChildProjectile(self.ChildProjectile):SetVelocity(-Random(1,2),Random(1,3),Random(2,4)) + SinglePolyTrailProjectile.OnImpact(self, targetType, targetEntity) + end + end, + + --- Overiding Destruction + ---@param self CNeutronClusterBombProjectile + ---@param targetType string + ---@param targetEntity Unit + OnImpactDestroy = function(self, targetType, targetEntity) + self.Trash:Add(ForkThread(self.DelayedDestroyThread, self)) + end, + + ---@param self CNeutronClusterBombProjectile + DelayedDestroyThread = function(self) + WaitTicks(6) + self:Destroy() + end, +} diff --git a/lua/sim/projectiles/cybran/CParticleCannonProjectile.lua b/lua/sim/projectiles/cybran/CParticleCannonProjectile.lua new file mode 100644 index 0000000000..89aea3c964 --- /dev/null +++ b/lua/sim/projectiles/cybran/CParticleCannonProjectile.lua @@ -0,0 +1,33 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local SingleBeamProjectile = import('/lua/sim/defaultprojectiles.lua').SingleBeamProjectile +local EffectTemplate = import("/lua/effecttemplates.lua") + +--- CYBRAN MACHINE GUN SHELLS +---@class CParticleCannonProjectile : SingleBeamProjectile +CParticleCannonProjectile = ClassProjectile(SingleBeamProjectile) { + BeamName = '/effects/emitters/laserturret_munition_beam_01_emit.bp', + FxImpactUnit = EffectTemplate.CParticleCannonHitUnit01, + FxImpactProp = EffectTemplate.CParticleCannonHitUnit01, + FxImpactLand = EffectTemplate.CParticleCannonHitLand01, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CRailGunProjectile.lua b/lua/sim/projectiles/cybran/CRailGunProjectile.lua new file mode 100644 index 0000000000..ad9dd8bd15 --- /dev/null +++ b/lua/sim/projectiles/cybran/CRailGunProjectile.lua @@ -0,0 +1,32 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local EmitterProjectile = import('/lua/sim/defaultprojectiles.lua').EmitterProjectile + +--- CYBRAN RAIL GUN PROJECTILES +---@class CRailGunProjectile : EmitterProjectile +CRailGunProjectile = ClassProjectile(EmitterProjectile) { + FxTrails = {'/effects/emitters/railgun_munition_trail_02_emit.bp', + '/effects/emitters/railgun_munition_trail_01_emit.bp'}, + FxTrailScale = 0, + FxTrailOffset = 0, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CRocketProjectile.lua b/lua/sim/projectiles/cybran/CRocketProjectile.lua new file mode 100644 index 0000000000..ff456260cc --- /dev/null +++ b/lua/sim/projectiles/cybran/CRocketProjectile.lua @@ -0,0 +1,34 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local SingleBeamProjectile = import('/lua/sim/defaultprojectiles.lua').SingleBeamProjectile +local EffectTemplate = import("/lua/effecttemplates.lua") + +--- CYBRAN ROCKET PROJECILES +--- wagner +---@class CRocketProjectile : SingleBeamProjectile +CRocketProjectile = ClassProjectile(SingleBeamProjectile) { + BeamName = '/effects/emitters/rocket_iridium_exhaust_beam_01_emit.bp', + FxImpactUnit = EffectTemplate.CMissileHit01, + FxImpactProp = EffectTemplate.CMissileHit01, + FxImpactLand = EffectTemplate.CMissileHit01, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CShellAAAutoCannonProjectile.lua b/lua/sim/projectiles/cybran/CShellAAAutoCannonProjectile.lua new file mode 100644 index 0000000000..ba3655778b --- /dev/null +++ b/lua/sim/projectiles/cybran/CShellAAAutoCannonProjectile.lua @@ -0,0 +1,36 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local MultiPolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").MultiPolyTrailProjectile + +--- CYBRAN AUTOCANNON PROJECILES +---@class CShellAAAutoCannonProjectile : MultiPolyTrailProjectile +CShellAAAutoCannonProjectile = ClassProjectile(MultiPolyTrailProjectile) { + PolyTrails = { + '/effects/emitters/auto_cannon_trail_01_emit.bp', + '/effects/emitters/default_polytrail_03_emit.bp', + }, + PolyTrailOffset = { 0, 0 }, + FxImpactUnit = {'/effects/emitters/auto_cannon_hit_flash_01_emit.bp'}, + FxImpactProp ={'/effects/emitters/auto_cannon_hit_flash_01_emit.bp'}, + FxImpactAirUnit = {'/effects/emitters/auto_cannon_hit_flash_01_emit.bp'}, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CShellRiotProjectile.lua b/lua/sim/projectiles/cybran/CShellRiotProjectile.lua new file mode 100644 index 0000000000..cf0c9f1ee4 --- /dev/null +++ b/lua/sim/projectiles/cybran/CShellRiotProjectile.lua @@ -0,0 +1,33 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local SingleBeamProjectile = import('/lua/sim/defaultprojectiles.lua').SingleBeamProjectile + +--- CYBRAN RIOT PROJECILES +---@class CShellRiotProjectile : SingleBeamProjectile +CShellRiotProjectile = ClassProjectile(SingleBeamProjectile) { + BeamName = '/effects/emitters/riotgun_munition_beam_01_emit.bp', + FxImpactUnit = {'/effects/emitters/destruction_explosion_sparks_01_emit.bp',}, + FxImpactProp = {'/effects/emitters/destruction_explosion_sparks_01_emit.bp',}, + FxLandHitScale = 3, + FxImpactLand = {'/effects/emitters/destruction_land_hit_puff_01_emit.bp',}, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CTorpedoShipProjectile.lua b/lua/sim/projectiles/cybran/CTorpedoShipProjectile.lua new file mode 100644 index 0000000000..d74b495826 --- /dev/null +++ b/lua/sim/projectiles/cybran/CTorpedoShipProjectile.lua @@ -0,0 +1,57 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local OnWaterEntryEmitterProjectile = import('/lua/sim/defaultprojectiles.lua').OnWaterEntryEmitterProjectile +local EffectTemplate = import("/lua/effecttemplates.lua") + +--- CYBRAN ABOVE WATER LAUNCHED TORPEDO +---@class CTorpedoShipProjectile : OnWaterEntryEmitterProjectile +CTorpedoShipProjectile = ClassProjectile(OnWaterEntryEmitterProjectile) { + FxSplashScale = 0.5, + FxTrails = {'/effects/emitters/torpedo_munition_trail_01_emit.bp',}, + FxTrailScale = 1.25, + FxTrailOffset = 0.2, + FxEnterWater= { '/effects/emitters/water_splash_ripples_ring_01_emit.bp', + '/effects/emitters/water_splash_plume_01_emit.bp', + }, + FxUnitHitScale = 1.25, + FxImpactUnit = EffectTemplate.CTorpedoUnitHit01, + FxImpactProp = EffectTemplate.CTorpedoUnitHit01, + FxImpactUnderWater = EffectTemplate.CTorpedoUnitHit01, + + --- if we are starting in the water then immediately switch to tracking in water + ---@param self CTorpedoShipProjectile + ---@param inWater boolean + OnCreate = function(self, inWater) + OnWaterEntryEmitterProjectile.OnCreate(self, inWater) + + if inWater == true then + self:SetCollisionShape('Sphere', 0, 0, 0, 1.0) + end + end, + + ---@param self CTorpedoShipProjectile + OnEnterWater = function(self) + OnWaterEntryEmitterProjectile.OnEnterWater(self) + self:SetCollisionShape('Sphere', 0, 0, 0, 1.0) + end, +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CTorpedoSubProjectile.lua b/lua/sim/projectiles/cybran/CTorpedoSubProjectile.lua new file mode 100644 index 0000000000..ed7c3768c3 --- /dev/null +++ b/lua/sim/projectiles/cybran/CTorpedoSubProjectile.lua @@ -0,0 +1,44 @@ +--********************************************************************************** +--** Copyright (c) 2023 FAForever +--** +--** Permission is hereby granted, free of charge, to any person obtaining a copy +--** of this software and associated documentation files (the "Software"), to deal +--** in the Software without restriction, including without limitation the rights +--** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +--** copies of the Software, and to permit persons to whom the Software is +--** furnished to do so, subject to the following conditions: +--** +--** The above copyright notice and this permission notice shall be included in all +--** copies or substantial portions of the Software. +--** +--** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +--** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +--** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +--** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +--** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +--** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +--** SOFTWARE. +--********************************************************************************** + +local EmitterProjectile = import('/lua/sim/defaultprojectiles.lua').EmitterProjectile +local EffectTemplate = import("/lua/effecttemplates.lua") + +--- CYBRAN SUB LAUNCHED TORPEDO +---@class CTorpedoSubProjectile : EmitterProjectile +CTorpedoSubProjectile = ClassProjectile(EmitterProjectile) { + FxTrails = {'/effects/emitters/torpedo_underwater_wake_02_emit.bp',}, + FxUnitHitScale = 1.25, + FxImpactUnit = EffectTemplate.CTorpedoUnitHit01, + FxImpactProp = EffectTemplate.CTorpedoUnitHit01, + FxImpactUnderWater = EffectTemplate.CTorpedoUnitHit01, + FxImpactLand = EffectTemplate.CTorpedoUnitHit01, + FxLandHitScale = 0.25, + FxNoneHitScale = 1, + + ---@param self CTorpedoSubProjectile + ---@param inWater boolean + OnCreate = function(self, inWater) + self:SetCollisionShape('Sphere', 0, 0, 0, 1.0) + EmitterProjectile.OnCreate(self, inWater) + end, +} \ No newline at end of file From 1038da58e4d6d5227fdb1fc800bff0c065c4ecf1 Mon Sep 17 00:00:00 2001 From: Josh Date: Mon, 15 Jan 2024 12:24:40 +0000 Subject: [PATCH 2/5] first pass of fixing errors and some minor code fomaing --- lua/cybranprojectiles.lua | 22 +++++++-------- .../cybran/CArtilleryProtonProjectile.lua | 6 +++-- .../cybran/CIFProtonBombProjectile.lua | 13 ++++++--- .../CLOATacticalChildMissileProjectile.lua | 4 +-- .../cybran/CLOATacticalMissileProjectile.lua | 5 ++-- .../cybran/CNeutronClusterBombProjectile.lua | 27 +++++++++++-------- 6 files changed, 43 insertions(+), 34 deletions(-) diff --git a/lua/cybranprojectiles.lua b/lua/cybranprojectiles.lua index e1564371e9..d9b64edc61 100644 --- a/lua/cybranprojectiles.lua +++ b/lua/cybranprojectiles.lua @@ -20,7 +20,6 @@ CAANanoDartProjectile02 = import('/lua/sim/projectiles/cybran/CAANanoDartProject CAANanoDartProjectile03 = import('/lua/sim/projectiles/cybran/CAANanoDartProjectile03.lua').CAANanoDartProjectile03 CArtilleryProjectile = import('/lua/sim/projectiles/cybran/CArtilleryProjectile.lua').CArtilleryProjectile CArtilleryProtonProjectile = import('/lua/sim/projectiles/cybran/CArtilleryProtonProjectile.lua').CArtilleryProtonProjectile -CAAMissileNaniteProjectile = import('/lua/sim/projectiles/cybran/CAAMissileNaniteProjectile.lua').CAAMissileNaniteProjectile CBeamProjectile = import('/lua/sim/projectiles/cybran/CBeamProjectile.lua').CBeamProjectile CBombProjectile = import('/lua/sim/projectiles/cybran/CBombProjectile.lua').CBombProjectile CCannonSeaProjectile = import('/lua/sim/projectiles/cybran/CCannonSeaProjectile.lua').CCannonSeaProjectile @@ -30,27 +29,23 @@ CDisintegratorLaserProjectile = import('/lua/sim/projectiles/cybran/CDisintegrat CDisintegratorLaserProjectile02 = import('/lua/sim/projectiles/cybran/CDisintegratorLaserProjectile02.lua').CDisintegratorLaserProjectile02 CElectronBolterProjectile = import('/lua/sim/projectiles/cybran/CElectronBolterProjectile.lua').CElectronBolterProjectile CHeavyElectronBolterProjectile = import('/lua/sim/projectiles/cybran/CHeavyElectronBolterProjectile.lua').CHeavyElectronBolterProjectile -CHeavyElectronBolterProjectile2 = import('/lua/sim/projectiles/cybran/CHeavyElectronBolterProjectile2.lua').CHeavyElectronBolterProjectile2 +CEMPFluxWarheadProjectile = import('/lua/sim/projectiles/cybran/CEMPFluxWarheadProjectile.lua').CEMPFluxWarheadProjectile CFlameThrowerProjectile = import('/lua/sim/projectiles/cybran/CFlameThrowerProjectile.lua').CFlameThrowerProjectile CIFMolecularResonanceShell = import('/lua/sim/projectiles/cybran/CIFMolecularResonanceShell.lua').CIFMolecularResonanceShell -CMissileAAProjectile = import('/lua/sim/projectiles/cybran/CMissileAAProjectile.lua').CMissileAAProjectile -CNeutronClusterBombChildProjectile = import('/lua/sim/projectiles/cybran/CNeutronClusterBombChildProjectile.lua').CNeutronClusterBombChildProjectile -CNeutronClusterBombProjectile = import('/lua/sim/projectiles/cybran/CNeutronClusterBombProjectile.lua').CNeutronClusterBombProjectile -CNeutronClusterBombProjectile02 = import('/lua/sim/projectiles/cybran/CNeutronClusterBombProjectile02.lua').CNeutronClusterBombProjectile02 -CMolecularCannonProjectile = import('/lua/sim/projectiles/cybran/CMolecularCannonProjectile.lua').CMolecularCannonProjectile -CMolecularCannonProjectile02 = import('/lua/sim/projectiles/cybran/CMolecularCannonProjectile02.lua').CMolecularCannonProjectile02 +CIridiumRocketProjectile = import('/lua/sim/projectiles/cybran/CIridiumRocketProjectile.lua').CIridiumRocketProjectile +CCorsairRocketProjectile = import('/lua/sim/projectiles/cybran/CCorsairRocketProjectile.lua').CCorsairRocketProjectile CLaserLaserProjectile = import('/lua/sim/projectiles/cybran/CLaserLaserProjectile.lua').CLaserLaserProjectile CHeavyLaserProjectile = import('/lua/sim/projectiles/cybran/CHeavyLaserProjectile.lua').CHeavyLaserProjectile CHeavyLaserProjectile2 = import('/lua/sim/projectiles/cybran/CHeavyLaserProjectile2.lua').CHeavyLaserProjectile2 -CIFSmartCharge = import('/lua/sim/projectiles/cybran/CIFSmartCharge.lua').CIFSmartCharge -CEMPFluxWarheadProjectile = import('/lua/sim/projectiles/cybran/CEMPFluxWarheadProjectile.lua').CEMPFluxWarheadProjectile -CIridiumRocketProjectile = import('/lua/sim/projectiles/cybran/CIridiumRocketProjectile.lua').CIridiumRocketProjectile -CCorsairRocketProjectile = import('/lua/sim/projectiles/cybran/CCorsairRocketProjectile.lua').CCorsairRocketProjectile +CMolecularCannonProjectile = import('/lua/sim/projectiles/cybran/CMolecularCannonProjectile.lua').CMolecularCannonProjectile +CMissileAAProjectile = import('/lua/sim/projectiles/cybran/CMissileAAProjectile.lua').CMissileAAProjectile +CNeutronClusterBombChildProjectile = import('/lua/sim/projectiles/cybran/CNeutronClusterBombChildProjectile.lua').CNeutronClusterBombChildProjectile +CNeutronClusterBombProjectile = import('/lua/sim/projectiles/cybran/CNeutronClusterBombProjectile.lua').CNeutronClusterBombProjectile CParticleCannonProjectile = import('/lua/sim/projectiles/cybran/CParticleCannonProjectile.lua').CParticleCannonProjectile CRailGunProjectile = import('/lua/sim/projectiles/cybran/CRailGunProjectile.lua').CRailGunProjectile CRocketProjectile = import('/lua/sim/projectiles/cybran/CRocketProjectile.lua').CRocketProjectile CLOATacticalMissileProjectile = import('/lua/sim/projectiles/cybran/CLOATacticalMissileProjectile.lua').CLOATacticalMissileProjectile -CLOATacticalChildMissileProjectile = import('/lua/sim/projectiles/cybran/CLOATacticalMissileProjectile.lua').CLOATacticalChildMissileProjectile +CLOATacticalChildMissileProjectile = import('/lua/sim/projectiles/cybran/CLOATacticalChildMissileProjectile.lua').CLOATacticalChildMissileProjectile CShellAAAutoCannonProjectile = import('/lua/sim/projectiles/cybran/CShellAAAutoCannonProjectile.lua').CShellAAAutoCannonProjectile CShellRiotProjectile = import('/lua/sim/projectiles/cybran/CShellRiotProjectile.lua').CShellRiotProjectile CTorpedoShipProjectile = import('/lua/sim/projectiles/cybran/CTorpedoShipProjectile.lua').CTorpedoShipProjectile @@ -59,6 +54,7 @@ CDepthChargeProjectile = import('/lua/sim/projectiles/cybran/CDepthChargeProject CHeavyDisintegratorPulseLaser = import('/lua/sim/projectiles/cybran/CHeavyDisintegratorPulseLaser.lua').CHeavyDisintegratorPulseLaser CKrilTorpedo = import('/lua/sim/projectiles/cybran/CKrilTorpedo.lua').CKrilTorpedo + -- kept for mod backwards compatibility local DefaultProjectileFile = import("/lua/sim/defaultprojectiles.lua") local DefaultExplosion = import("/lua/defaultexplosions.lua") diff --git a/lua/sim/projectiles/cybran/CArtilleryProtonProjectile.lua b/lua/sim/projectiles/cybran/CArtilleryProtonProjectile.lua index 533921316a..67ab336a20 100644 --- a/lua/sim/projectiles/cybran/CArtilleryProtonProjectile.lua +++ b/lua/sim/projectiles/cybran/CArtilleryProtonProjectile.lua @@ -37,8 +37,10 @@ CArtilleryProtonProjectile = ClassProjectile(SinglePolyTrailProjectile) { ---@param targetType string ---@param targetEntity Unit OnImpact = function(self, targetType, targetEntity) + local army = self.Army + EmitterProjectile.OnImpact(self, targetType, targetEntity) - CreateLightParticle( self, -1, self.Army, 7, 12, 'glow_03', 'ramp_red_06' ) - CreateLightParticle( self, -1, self.Army, 7, 22, 'glow_03', 'ramp_antimatter_02' ) + CreateLightParticle( self, -1, army, 7, 12, 'glow_03', 'ramp_red_06' ) + CreateLightParticle( self, -1, army, 7, 22, 'glow_03', 'ramp_antimatter_02' ) end, } \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CIFProtonBombProjectile.lua b/lua/sim/projectiles/cybran/CIFProtonBombProjectile.lua index 5431c8bd2f..824260cb00 100644 --- a/lua/sim/projectiles/cybran/CIFProtonBombProjectile.lua +++ b/lua/sim/projectiles/cybran/CIFProtonBombProjectile.lua @@ -23,6 +23,9 @@ local NullShell = import('/lua/sim/defaultprojectiles.lua').NullShell local EffectTemplate = import("/lua/effecttemplates.lua") +local MathSin = math.sin +local MathCos = math.cos + --- CYBRAN PROTON PROJECTILES --- T3 strategic bomber ---@class CIFProtonBombProjectile : NullShell @@ -36,15 +39,17 @@ CIFProtonBombProjectile = ClassProjectile(NullShell) { ---@param targetType string ---@param targetEntity Unit OnImpact = function(self, targetType, targetEntity) - CreateLightParticle(self, -1, self.Army, 12, 28, 'glow_03', 'ramp_proton_flash_02') - CreateLightParticle(self, -1, self.Army, 8, 22, 'glow_03', 'ramp_antimatter_02') + local army = self.Army + + CreateLightParticle(self, -1, army, 12, 28, 'glow_03', 'ramp_proton_flash_02') + CreateLightParticle(self, -1, army, 8, 22, 'glow_03', 'ramp_antimatter_02') local blanketSides = 12 local blanketAngle = (2*math.pi) / blanketSides local blanketVelocity = 6.25 for i = 0, (blanketSides-1) do - local blanketX = math.sin(i*blanketAngle) - local blanketZ = math.cos(i*blanketAngle) + local blanketX = MathSin(i*blanketAngle) + local blanketZ = MathCos(i*blanketAngle) self:CreateProjectile('/effects/entities/EffectProtonAmbient01/EffectProtonAmbient01_proj.bp', blanketX, 0.5, blanketZ, blanketX, 0, blanketZ):SetVelocity(blanketVelocity):SetAcceleration(-0.3) end NullShell.OnImpact(self, targetType, targetEntity) diff --git a/lua/sim/projectiles/cybran/CLOATacticalChildMissileProjectile.lua b/lua/sim/projectiles/cybran/CLOATacticalChildMissileProjectile.lua index 585ada6eb1..98a14e31a3 100644 --- a/lua/sim/projectiles/cybran/CLOATacticalChildMissileProjectile.lua +++ b/lua/sim/projectiles/cybran/CLOATacticalChildMissileProjectile.lua @@ -22,7 +22,8 @@ local EffectTemplate = import("/lua/effecttemplates.lua") local SingleBeamProjectile = import('/lua/sim/defaultprojectiles.lua').SingleBeamProjectile -local TacticalMissileComponent = import('/lua/sim/DefaultWeapons.lua').TacticalMissileComponent +local TacticalMissileComponent = import('/lua/sim/defaultprojectiles.lua').TacticalMissileComponent +local DebrisComponent = import('/lua/sim/projectiles/components/DebrisComponent.lua').DebrisComponent --- CYBRAN ROCKET PROJECILES ---@class CLOATacticalChildMissileProjectile : SingleBeamProjectile, TacticalMissileComponent, DebrisComponent @@ -61,7 +62,6 @@ CLOATacticalChildMissileProjectile = ClassProjectile(SingleBeamProjectile, Tacti ---@param self CLOATacticalChildMissileProjectile OnCreate = function(self) SingleBeamProjectile.OnCreate(self) - local blueprintPhysics = self.Blueprint.Physics local radius = 0.105 * (blueprintPhysics.MaxSpeed + blueprintPhysics.MaxSpeedRange) self:SetCollisionShape('Sphere', 0, 0, 0, radius) diff --git a/lua/sim/projectiles/cybran/CLOATacticalMissileProjectile.lua b/lua/sim/projectiles/cybran/CLOATacticalMissileProjectile.lua index 98e63b878d..7c093cdc46 100644 --- a/lua/sim/projectiles/cybran/CLOATacticalMissileProjectile.lua +++ b/lua/sim/projectiles/cybran/CLOATacticalMissileProjectile.lua @@ -22,7 +22,9 @@ local EffectTemplate = import("/lua/effecttemplates.lua") local SingleBeamProjectile = import('/lua/sim/defaultprojectiles.lua').SingleBeamProjectile -local TacticalMissileComponent = import('/lua/terranprojectiles.lua').TacticalMissileComponent +local TacticalMissileComponent = import('/lua/sim/defaultprojectiles.lua').TacticalMissileComponent +local DebrisComponent = import('/lua/sim/projectiles/components/DebrisComponent.lua').DebrisComponent +local SplitComponent = import('/lua/sim/projectiles/components/SplitComponent.lua').SplitComponent --- CYBRAN ROCKET PROJECILES ---@class CLOATacticalMissileProjectile : SingleBeamProjectile, TacticalMissileComponent, SplitComponent, DebrisComponent @@ -62,7 +64,6 @@ CLOATacticalMissileProjectile = ClassProjectile(SingleBeamProjectile, TacticalMi ---@param inWater boolean OnCreate = function(self, inWater) SingleBeamProjectile.OnCreate(self, inWater) - local blueprintPhysics = self.Blueprint.Physics local radius = 0.105 * (blueprintPhysics.MaxSpeed + blueprintPhysics.MaxSpeedRange) self:SetCollisionShape('Sphere', 0, 0, 0, radius) diff --git a/lua/sim/projectiles/cybran/CNeutronClusterBombProjectile.lua b/lua/sim/projectiles/cybran/CNeutronClusterBombProjectile.lua index ba48a37638..4c0054633f 100644 --- a/lua/sim/projectiles/cybran/CNeutronClusterBombProjectile.lua +++ b/lua/sim/projectiles/cybran/CNeutronClusterBombProjectile.lua @@ -22,6 +22,9 @@ local SinglePolyTrailProjectile = import('/lua/sim/defaultprojectiles.lua').SinglePolyTrailProjectile +local Random = Random +local TrashBagAdd = TrashBag.Add + ---@class CNeutronClusterBombProjectile : SinglePolyTrailProjectile CNeutronClusterBombProjectile = ClassProjectile(SinglePolyTrailProjectile) { PolyTrail = '/effects/emitters/default_polytrail_03_emit.bp', @@ -39,26 +42,28 @@ CNeutronClusterBombProjectile = ClassProjectile(SinglePolyTrailProjectile) { ---@param targetType string ---@param targetEntity Unit OnImpact = function(self, targetType, targetEntity) + local childProjectileBP = self.ChildProjectile + if self.Impacted == false and targetType ~= 'Air' then self.Impacted = true - local Random = Random - self:CreateChildProjectile(self.ChildProjectile):SetVelocity(0,Random(1,3),Random(1.5,3)) - self:CreateChildProjectile(self.ChildProjectile):SetVelocity(Random(1,2),Random(1,3),Random(1,2)) - self:CreateChildProjectile(self.ChildProjectile):SetVelocity(0,Random(1,3),-Random(1.5,3)) - self:CreateChildProjectile(self.ChildProjectile):SetVelocity(Random(1.5,3),Random(1,3),0) - self:CreateChildProjectile(self.ChildProjectile):SetVelocity(-Random(1,2),Random(1,3),-Random(1,2)) - self:CreateChildProjectile(self.ChildProjectile):SetVelocity(-Random(1.5,2.5),Random(1,3),0) - self:CreateChildProjectile(self.ChildProjectile):SetVelocity(-Random(1,2),Random(1,3),Random(2,4)) + self:CreateChildProjectile(childProjectileBP):SetVelocity(0,Random(1,3),Random(1.5,3)) + self:CreateChildProjectile(childProjectileBP):SetVelocity(Random(1,2),Random(1,3),Random(1,2)) + self:CreateChildProjectile(childProjectileBP):SetVelocity(0,Random(1,3),-Random(1.5,3)) + self:CreateChildProjectile(childProjectileBP):SetVelocity(Random(1.5,3),Random(1,3),0) + self:CreateChildProjectile(childProjectileBP):SetVelocity(-Random(1,2),Random(1,3),-Random(1,2)) + self:CreateChildProjectile(childProjectileBP):SetVelocity(-Random(1.5,2.5),Random(1,3),0) + self:CreateChildProjectile(childProjectileBP):SetVelocity(-Random(1,2),Random(1,3),Random(2,4)) SinglePolyTrailProjectile.OnImpact(self, targetType, targetEntity) end end, --- Overiding Destruction ---@param self CNeutronClusterBombProjectile - ---@param targetType string - ---@param targetEntity Unit + ---@param targetType string unused + ---@param targetEntity Unit unused OnImpactDestroy = function(self, targetType, targetEntity) - self.Trash:Add(ForkThread(self.DelayedDestroyThread, self)) + local trash = self.Trash + TrashBagAdd(trash, self.DelayedDestroyThread) end, ---@param self CNeutronClusterBombProjectile From 30fdabe7998c3ff66cb26ba8551dbb3f6fb33627 Mon Sep 17 00:00:00 2001 From: Josh Date: Wed, 12 Jun 2024 13:31:36 +0100 Subject: [PATCH 3/5] minor chanages --- lua/cybranprojectiles.lua | 43 ++++++++++------- .../cybran/CAADissidentProjectile.lua | 42 ++++++++--------- .../CAAElectronBurstCloudProjectile.lua | 46 +++++++++---------- .../cybran/CAAMissileNaniteProjectile.lua | 42 ++++++++--------- .../cybran/CAAMissileNaniteProjectile03.lua | 42 ++++++++--------- .../cybran/CAANanoDartProjectile.lua | 44 +++++++++--------- .../cybran/CAANanoDartProjectile02.lua | 45 +++++++++--------- .../cybran/CAANanoDartProjectile03.lua | 44 +++++++++--------- .../cybran/CArtilleryProjectile.lua | 42 ++++++++--------- .../cybran/CArtilleryProtonProjectile.lua | 42 ++++++++--------- .../projectiles/cybran/CBeamProjectile.lua | 42 ++++++++--------- .../projectiles/cybran/CBombProjectile.lua | 42 ++++++++--------- .../cybran/CCannonSeaProjectile.lua | 42 ++++++++--------- .../cybran/CCannonTankProjectile.lua | 42 ++++++++--------- .../cybran/CCorsairRocketProjectile.lua | 42 ++++++++--------- .../cybran/CDFBrackmanHackPegProjectile01.lua | 42 ++++++++--------- .../cybran/CDFBrackmanHackPegProjectile02.lua | 42 ++++++++--------- .../cybran/CDFHvyProtonCannonProjectile.lua | 42 ++++++++--------- .../cybran/CDFProtonCannonProjectile.lua | 42 ++++++++--------- .../cybran/CDFTrackerProjectile.lua | 44 +++++++++--------- .../cybran/CDepthChargeProjectile.lua | 42 ++++++++--------- .../cybran/CDisintegratorLaserProjectile.lua | 44 +++++++++--------- .../CDisintegratorLaserProjectile02.lua | 42 ++++++++--------- .../cybran/CEMPFluxWarheadProjectile.lua | 44 +++++++++--------- .../cybran/CElectronBolterProjectile.lua | 44 +++++++++--------- .../cybran/CFlameThrowerProjectile.lua | 42 ++++++++--------- .../cybran/CHeavyDisintegratorPulseLaser.lua | 42 ++++++++--------- .../cybran/CHeavyElectronBolterProjectile.lua | 42 ++++++++--------- .../cybran/CHeavyLaserProjectile.lua | 42 ++++++++--------- .../cybran/CHeavyLaserProjectile2.lua | 42 ++++++++--------- .../cybran/CIFMolecularResonanceShell.lua | 42 ++++++++--------- .../cybran/CIFProtonBombProjectile.lua | 42 ++++++++--------- .../cybran/CIridiumRocketProjectile.lua | 42 ++++++++--------- lua/sim/projectiles/cybran/CKrilTorpedo.lua | 42 ++++++++--------- .../CLOATacticalChildMissileProjectile.lua | 42 ++++++++--------- .../cybran/CLOATacticalMissileProjectile.lua | 42 ++++++++--------- .../cybran/CLaserLaserProjectile.lua | 42 ++++++++--------- .../cybran/CMissileAAProjectile.lua | 42 ++++++++--------- .../cybran/CMolecularCannonProjectile.lua | 42 ++++++++--------- .../CNeutronClusterBombChildProjectile.lua | 42 ++++++++--------- .../cybran/CNeutronClusterBombProjectile.lua | 44 +++++++++--------- .../cybran/CParticleCannonProjectile.lua | 42 ++++++++--------- .../projectiles/cybran/CRailGunProjectile.lua | 42 ++++++++--------- .../projectiles/cybran/CRocketProjectile.lua | 42 ++++++++--------- .../cybran/CShellAAAutoCannonProjectile.lua | 42 ++++++++--------- .../cybran/CShellRiotProjectile.lua | 42 ++++++++--------- .../cybran/CTorpedoShipProjectile.lua | 42 ++++++++--------- .../cybran/CTorpedoSubProjectile.lua | 42 ++++++++--------- 48 files changed, 1025 insertions(+), 1013 deletions(-) diff --git a/lua/cybranprojectiles.lua b/lua/cybranprojectiles.lua index d9b64edc61..bfe3630932 100644 --- a/lua/cybranprojectiles.lua +++ b/lua/cybranprojectiles.lua @@ -5,54 +5,65 @@ -- Copyright © 2005 Gas Powered Games, Inc. All rights reserved. ------------------------------------------------------------ --- CYBRAN PROJECILES SCRIPTS -CDFBrackmanHackPegProjectile01 = import('/lua/sim/projectiles/cybran/CDFBrackmanHackPegProjectile01.lua').CDFBrackmanHackPegProjectile01 -CDFBrackmanHackPegProjectile02 = import('/lua/sim/projectiles/cybran/CDFBrackmanHackPegProjectile02.lua').CDFBrackmanHackPegProjectile02 -CIFProtonBombProjectile = import('/lua/sim/projectiles/cybran/CIFProtonBombProjectile.lua').CIFProtonBombProjectile -CDFProtonCannonProjectile = import('/lua/sim/projectiles/cybran/CDFProtonCannonProjectile.lua').CDFProtonCannonProjectile -CDFHvyProtonCannonProjectile = import('/lua/sim/projectiles/cybran/CDFHvyProtonCannonProjectile.lua').CDFHvyProtonCannonProjectile +-- CYBRAN PROJECTILES SCRIPTS CAADissidentProjectile = import('/lua/sim/projectiles/cybran/CAADissidentProjectile.lua').CAADissidentProjectile CAAElectronBurstCloudProjectile = import('/lua/sim/projectiles/cybran/CAAElectronBurstCloudProjectile.lua').CAAElectronBurstCloudProjectile CAAMissileNaniteProjectile = import('/lua/sim/projectiles/cybran/CAAMissileNaniteProjectile.lua').CAAMissileNaniteProjectile CAAMissileNaniteProjectile03 = import('/lua/sim/projectiles/cybran/CAAMissileNaniteProjectile03.lua').CAAMissileNaniteProjectile03 + CAANanoDartProjectile = import('/lua/sim/projectiles/cybran/CAANanoDartProjectile.lua').CAANanoDartProjectile CAANanoDartProjectile02 = import('/lua/sim/projectiles/cybran/CAANanoDartProjectile02.lua').CAANanoDartProjectile02 CAANanoDartProjectile03 = import('/lua/sim/projectiles/cybran/CAANanoDartProjectile03.lua').CAANanoDartProjectile03 + CArtilleryProjectile = import('/lua/sim/projectiles/cybran/CArtilleryProjectile.lua').CArtilleryProjectile CArtilleryProtonProjectile = import('/lua/sim/projectiles/cybran/CArtilleryProtonProjectile.lua').CArtilleryProtonProjectile CBeamProjectile = import('/lua/sim/projectiles/cybran/CBeamProjectile.lua').CBeamProjectile CBombProjectile = import('/lua/sim/projectiles/cybran/CBombProjectile.lua').CBombProjectile + CCannonSeaProjectile = import('/lua/sim/projectiles/cybran/CCannonSeaProjectile.lua').CCannonSeaProjectile CCannonTankProjectile = import('/lua/sim/projectiles/cybran/CCannonTankProjectile.lua').CCannonTankProjectile +CCorsairRocketProjectile = import('/lua/sim/projectiles/cybran/CCorsairRocketProjectile.lua').CCorsairRocketProjectile +CDepthChargeProjectile = import('/lua/sim/projectiles/cybran/CDepthChargeProjectile.lua').CDepthChargeProjectile + +CDFBrackmanHackPegProjectile01 = import('/lua/sim/projectiles/cybran/CDFBrackmanHackPegProjectile01.lua').CDFBrackmanHackPegProjectile01 +CDFBrackmanHackPegProjectile02 = import('/lua/sim/projectiles/cybran/CDFBrackmanHackPegProjectile02.lua').CDFBrackmanHackPegProjectile02 +CDFHvyProtonCannonProjectile = import('/lua/sim/projectiles/cybran/CDFHvyProtonCannonProjectile.lua').CDFHvyProtonCannonProjectile +CDFProtonCannonProjectile = import('/lua/sim/projectiles/cybran/CDFProtonCannonProjectile.lua').CDFProtonCannonProjectile + CDFTrackerProjectile = import('/lua/sim/projectiles/cybran/CDFTrackerProjectile.lua').CDFTrackerProjectile CDisintegratorLaserProjectile = import('/lua/sim/projectiles/cybran/CDisintegratorLaserProjectile.lua').CDisintegratorLaserProjectile CDisintegratorLaserProjectile02 = import('/lua/sim/projectiles/cybran/CDisintegratorLaserProjectile02.lua').CDisintegratorLaserProjectile02 CElectronBolterProjectile = import('/lua/sim/projectiles/cybran/CElectronBolterProjectile.lua').CElectronBolterProjectile -CHeavyElectronBolterProjectile = import('/lua/sim/projectiles/cybran/CHeavyElectronBolterProjectile.lua').CHeavyElectronBolterProjectile + CEMPFluxWarheadProjectile = import('/lua/sim/projectiles/cybran/CEMPFluxWarheadProjectile.lua').CEMPFluxWarheadProjectile CFlameThrowerProjectile = import('/lua/sim/projectiles/cybran/CFlameThrowerProjectile.lua').CFlameThrowerProjectile +CHeavyDisintegratorPulseLaser = import('/lua/sim/projectiles/cybran/CHeavyDisintegratorPulseLaser.lua').CHeavyDisintegratorPulseLaser +CHeavyElectronBolterProjectile = import('/lua/sim/projectiles/cybran/CHeavyElectronBolterProjectile.lua').CHeavyElectronBolterProjectile + +CHeavyLaserProjectile = import('/lua/sim/projectiles/cybran/CHeavyLaserProjectile.lua').CHeavyLaserProjectile +CHeavyLaserProjectile2 = import('/lua/sim/projectiles/cybran/CHeavyLaserProjectile2.lua').CHeavyLaserProjectile2 CIFMolecularResonanceShell = import('/lua/sim/projectiles/cybran/CIFMolecularResonanceShell.lua').CIFMolecularResonanceShell +CIFProtonBombProjectile = import('/lua/sim/projectiles/cybran/CIFProtonBombProjectile.lua').CIFProtonBombProjectile + CIridiumRocketProjectile = import('/lua/sim/projectiles/cybran/CIridiumRocketProjectile.lua').CIridiumRocketProjectile -CCorsairRocketProjectile = import('/lua/sim/projectiles/cybran/CCorsairRocketProjectile.lua').CCorsairRocketProjectile +CKrilTorpedo = import('/lua/sim/projectiles/cybran/CKrilTorpedo.lua').CKrilTorpedo CLaserLaserProjectile = import('/lua/sim/projectiles/cybran/CLaserLaserProjectile.lua').CLaserLaserProjectile -CHeavyLaserProjectile = import('/lua/sim/projectiles/cybran/CHeavyLaserProjectile.lua').CHeavyLaserProjectile -CHeavyLaserProjectile2 = import('/lua/sim/projectiles/cybran/CHeavyLaserProjectile2.lua').CHeavyLaserProjectile2 -CMolecularCannonProjectile = import('/lua/sim/projectiles/cybran/CMolecularCannonProjectile.lua').CMolecularCannonProjectile +CLOATacticalChildMissileProjectile = import('/lua/sim/projectiles/cybran/CLOATacticalChildMissileProjectile.lua').CLOATacticalChildMissileProjectile + +CLOATacticalMissileProjectile = import('/lua/sim/projectiles/cybran/CLOATacticalMissileProjectile.lua').CLOATacticalMissileProjectile CMissileAAProjectile = import('/lua/sim/projectiles/cybran/CMissileAAProjectile.lua').CMissileAAProjectile +CMolecularCannonProjectile = import('/lua/sim/projectiles/cybran/CMolecularCannonProjectile.lua').CMolecularCannonProjectile CNeutronClusterBombChildProjectile = import('/lua/sim/projectiles/cybran/CNeutronClusterBombChildProjectile.lua').CNeutronClusterBombChildProjectile + CNeutronClusterBombProjectile = import('/lua/sim/projectiles/cybran/CNeutronClusterBombProjectile.lua').CNeutronClusterBombProjectile CParticleCannonProjectile = import('/lua/sim/projectiles/cybran/CParticleCannonProjectile.lua').CParticleCannonProjectile CRailGunProjectile = import('/lua/sim/projectiles/cybran/CRailGunProjectile.lua').CRailGunProjectile CRocketProjectile = import('/lua/sim/projectiles/cybran/CRocketProjectile.lua').CRocketProjectile -CLOATacticalMissileProjectile = import('/lua/sim/projectiles/cybran/CLOATacticalMissileProjectile.lua').CLOATacticalMissileProjectile -CLOATacticalChildMissileProjectile = import('/lua/sim/projectiles/cybran/CLOATacticalChildMissileProjectile.lua').CLOATacticalChildMissileProjectile + CShellAAAutoCannonProjectile = import('/lua/sim/projectiles/cybran/CShellAAAutoCannonProjectile.lua').CShellAAAutoCannonProjectile CShellRiotProjectile = import('/lua/sim/projectiles/cybran/CShellRiotProjectile.lua').CShellRiotProjectile CTorpedoShipProjectile = import('/lua/sim/projectiles/cybran/CTorpedoShipProjectile.lua').CTorpedoShipProjectile CTorpedoSubProjectile = import('/lua/sim/projectiles/cybran/CTorpedoSubProjectile.lua').CTorpedoSubProjectile -CDepthChargeProjectile = import('/lua/sim/projectiles/cybran/CDepthChargeProjectile.lua').CDepthChargeProjectile -CHeavyDisintegratorPulseLaser = import('/lua/sim/projectiles/cybran/CHeavyDisintegratorPulseLaser.lua').CHeavyDisintegratorPulseLaser -CKrilTorpedo = import('/lua/sim/projectiles/cybran/CKrilTorpedo.lua').CKrilTorpedo -- kept for mod backwards compatibility diff --git a/lua/sim/projectiles/cybran/CAADissidentProjectile.lua b/lua/sim/projectiles/cybran/CAADissidentProjectile.lua index 643079fc91..9019600e36 100644 --- a/lua/sim/projectiles/cybran/CAADissidentProjectile.lua +++ b/lua/sim/projectiles/cybran/CAADissidentProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local SinglePolyTrailProjectile = import('/lua/sim/defaultprojectiles.lua').SinglePolyTrailProjectile local EffectTemplate = import("/lua/effecttemplates.lua") diff --git a/lua/sim/projectiles/cybran/CAAElectronBurstCloudProjectile.lua b/lua/sim/projectiles/cybran/CAAElectronBurstCloudProjectile.lua index 5a37f8f7b6..46772c44c3 100644 --- a/lua/sim/projectiles/cybran/CAAElectronBurstCloudProjectile.lua +++ b/lua/sim/projectiles/cybran/CAAElectronBurstCloudProjectile.lua @@ -1,32 +1,32 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local SinglePolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").SinglePolyTrailProjectile local EffectTemplate = import("/lua/effecttemplates.lua") ---- ELECTRON BURST CLOUD PROJECILE +--- ELECTRON BURST CLOUD PROJECTILE ---@class CAAElectronBurstCloudProjectile : SinglePolyTrailProjectile CAAElectronBurstCloudProjectile = ClassProjectile(SinglePolyTrailProjectile) { PolyTrail = '/effects/emitters/default_polytrail_02_emit.bp', FxImpactAirUnit = EffectTemplate.CElectronBurstCloud01, FxImpactNone = EffectTemplate.CElectronBurstCloud01, -} +} \ No newline at end of file diff --git a/lua/sim/projectiles/cybran/CAAMissileNaniteProjectile.lua b/lua/sim/projectiles/cybran/CAAMissileNaniteProjectile.lua index f703851830..05dd311e6d 100644 --- a/lua/sim/projectiles/cybran/CAAMissileNaniteProjectile.lua +++ b/lua/sim/projectiles/cybran/CAAMissileNaniteProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local EffectTemplate = import("/lua/effecttemplates.lua") local SingleCompositeEmitterProjectile = import("/lua/sim/defaultprojectiles.lua").SingleCompositeEmitterProjectile diff --git a/lua/sim/projectiles/cybran/CAAMissileNaniteProjectile03.lua b/lua/sim/projectiles/cybran/CAAMissileNaniteProjectile03.lua index cdc6949c0f..14622ffd9c 100644 --- a/lua/sim/projectiles/cybran/CAAMissileNaniteProjectile03.lua +++ b/lua/sim/projectiles/cybran/CAAMissileNaniteProjectile03.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local CAAMissileNaniteProjectile = import('/lua/sim/projectiles/cybran/CAAMissileNaniteProjectile.lua') diff --git a/lua/sim/projectiles/cybran/CAANanoDartProjectile.lua b/lua/sim/projectiles/cybran/CAANanoDartProjectile.lua index 04ec60ad0c..b4d7586703 100644 --- a/lua/sim/projectiles/cybran/CAANanoDartProjectile.lua +++ b/lua/sim/projectiles/cybran/CAANanoDartProjectile.lua @@ -1,29 +1,29 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local SinglePolyTrailProjectile = import('/lua/sim/defaultprojectiles.lua').SinglePolyTrailProjectile local EffectTemplate = import("/lua/effecttemplates.lua") ---- NANODART PROJECILE +--- NANODART PROJECTILE ---@class CAANanoDartProjectile : SinglePolyTrailProjectile CAANanoDartProjectile = ClassProjectile(SinglePolyTrailProjectile) { FxImpactTrajectoryAligned = false, diff --git a/lua/sim/projectiles/cybran/CAANanoDartProjectile02.lua b/lua/sim/projectiles/cybran/CAANanoDartProjectile02.lua index 780348590a..7149e35f73 100644 --- a/lua/sim/projectiles/cybran/CAANanoDartProjectile02.lua +++ b/lua/sim/projectiles/cybran/CAANanoDartProjectile02.lua @@ -1,28 +1,29 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ + local CAANanoDartProjectile = import('/lua/sim/projectiles/cybran/CAANanoDartProjectile.lua').CAANanoDartProjectile local EffectTemplate = import("/lua/effecttemplates.lua") ---- NANODART PROJECILE +--- NANODART PROJECTILE ---@class CAANanoDartProjectile02 : CAANanoDartProjectile CAANanoDartProjectile02 = ClassProjectile(CAANanoDartProjectile) { PolyTrail= EffectTemplate.CNanoDartPolyTrail02, diff --git a/lua/sim/projectiles/cybran/CAANanoDartProjectile03.lua b/lua/sim/projectiles/cybran/CAANanoDartProjectile03.lua index 3ace939207..680812d97e 100644 --- a/lua/sim/projectiles/cybran/CAANanoDartProjectile03.lua +++ b/lua/sim/projectiles/cybran/CAANanoDartProjectile03.lua @@ -1,29 +1,29 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local CAANanoDartProjectile = import('/lua/sim/projectiles/cybran/CAANanoDartProjectile.lua').CAANanoDartProjectile local EffectTemplate = import("/lua/effecttemplates.lua") ---- NANODART PROJECILE +--- NANODART PROJECTILE --- adjustment to make the effects for URL0104 cheaper ---@class CAANanoDartProjectile03 : CAANanoDartProjectile CAANanoDartProjectile03 = ClassProjectile(CAANanoDartProjectile) { diff --git a/lua/sim/projectiles/cybran/CArtilleryProjectile.lua b/lua/sim/projectiles/cybran/CArtilleryProjectile.lua index 9940edf7fa..459233f137 100644 --- a/lua/sim/projectiles/cybran/CArtilleryProjectile.lua +++ b/lua/sim/projectiles/cybran/CArtilleryProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local EmitterProjectile = import('/lua/sim/defaultprojectiles.lua').EmitterProjectile local EffectTemplate = import("/lua/effecttemplates.lua") diff --git a/lua/sim/projectiles/cybran/CArtilleryProtonProjectile.lua b/lua/sim/projectiles/cybran/CArtilleryProtonProjectile.lua index 67ab336a20..bbfe7d4bfc 100644 --- a/lua/sim/projectiles/cybran/CArtilleryProtonProjectile.lua +++ b/lua/sim/projectiles/cybran/CArtilleryProtonProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local SinglePolyTrailProjectile = import('/lua/sim/defaultprojectiles.lua').SinglePolyTrailProjectile local EffectTemplate = import("/lua/effecttemplates.lua") diff --git a/lua/sim/projectiles/cybran/CBeamProjectile.lua b/lua/sim/projectiles/cybran/CBeamProjectile.lua index 0c58b6ab57..8f4c47dee7 100644 --- a/lua/sim/projectiles/cybran/CBeamProjectile.lua +++ b/lua/sim/projectiles/cybran/CBeamProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local NullShell = import('/lua/sim/defaultprojectiles.lua').NullShell local EffectTemplate = import("/lua/effecttemplates.lua") diff --git a/lua/sim/projectiles/cybran/CBombProjectile.lua b/lua/sim/projectiles/cybran/CBombProjectile.lua index b2a2cc4b04..baac6aa44d 100644 --- a/lua/sim/projectiles/cybran/CBombProjectile.lua +++ b/lua/sim/projectiles/cybran/CBombProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local EmitterProjectile = import('/lua/sim/defaultprojectiles.lua').EmitterProjectile local EffectTemplate = import("/lua/effecttemplates.lua") diff --git a/lua/sim/projectiles/cybran/CCannonSeaProjectile.lua b/lua/sim/projectiles/cybran/CCannonSeaProjectile.lua index 0e24733e58..4d6beaa465 100644 --- a/lua/sim/projectiles/cybran/CCannonSeaProjectile.lua +++ b/lua/sim/projectiles/cybran/CCannonSeaProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local SingleBeamProjectile = import('/lua/sim/defaultprojectiles.lua').SingleBeamProjectile diff --git a/lua/sim/projectiles/cybran/CCannonTankProjectile.lua b/lua/sim/projectiles/cybran/CCannonTankProjectile.lua index 7df4a1806c..312a2bd2b0 100644 --- a/lua/sim/projectiles/cybran/CCannonTankProjectile.lua +++ b/lua/sim/projectiles/cybran/CCannonTankProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local SingleBeamProjectile = import('/lua/sim/defaultprojectiles.lua').SingleBeamProjectile diff --git a/lua/sim/projectiles/cybran/CCorsairRocketProjectile.lua b/lua/sim/projectiles/cybran/CCorsairRocketProjectile.lua index 987d32b610..60b855d6d2 100644 --- a/lua/sim/projectiles/cybran/CCorsairRocketProjectile.lua +++ b/lua/sim/projectiles/cybran/CCorsairRocketProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local SingleCompositeEmitterProjectile = import('/lua/sim/defaultprojectiles.lua').SingleCompositeEmitterProjectile local EffectTemplate = import("/lua/effecttemplates.lua") diff --git a/lua/sim/projectiles/cybran/CDFBrackmanHackPegProjectile01.lua b/lua/sim/projectiles/cybran/CDFBrackmanHackPegProjectile01.lua index 32e1367182..1ed086492c 100644 --- a/lua/sim/projectiles/cybran/CDFBrackmanHackPegProjectile01.lua +++ b/lua/sim/projectiles/cybran/CDFBrackmanHackPegProjectile01.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local MultiPolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").MultiPolyTrailProjectile local EffectTemplate = import("/lua/effecttemplates.lua") diff --git a/lua/sim/projectiles/cybran/CDFBrackmanHackPegProjectile02.lua b/lua/sim/projectiles/cybran/CDFBrackmanHackPegProjectile02.lua index 20283d947c..ce249fa946 100644 --- a/lua/sim/projectiles/cybran/CDFBrackmanHackPegProjectile02.lua +++ b/lua/sim/projectiles/cybran/CDFBrackmanHackPegProjectile02.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local EffectTemplate = import("/lua/effecttemplates.lua") local MultiPolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").MultiPolyTrailProjectile diff --git a/lua/sim/projectiles/cybran/CDFHvyProtonCannonProjectile.lua b/lua/sim/projectiles/cybran/CDFHvyProtonCannonProjectile.lua index 0f2a2633d5..cec2051004 100644 --- a/lua/sim/projectiles/cybran/CDFHvyProtonCannonProjectile.lua +++ b/lua/sim/projectiles/cybran/CDFHvyProtonCannonProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local EffectTemplate = import("/lua/effecttemplates.lua") local MultiPolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").MultiPolyTrailProjectile diff --git a/lua/sim/projectiles/cybran/CDFProtonCannonProjectile.lua b/lua/sim/projectiles/cybran/CDFProtonCannonProjectile.lua index c6892b66a4..72c83bd32a 100644 --- a/lua/sim/projectiles/cybran/CDFProtonCannonProjectile.lua +++ b/lua/sim/projectiles/cybran/CDFProtonCannonProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local EffectTemplate = import("/lua/effecttemplates.lua") local MultiPolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").MultiPolyTrailProjectile diff --git a/lua/sim/projectiles/cybran/CDFTrackerProjectile.lua b/lua/sim/projectiles/cybran/CDFTrackerProjectile.lua index 28e702c702..a5a363714b 100644 --- a/lua/sim/projectiles/cybran/CDFTrackerProjectile.lua +++ b/lua/sim/projectiles/cybran/CDFTrackerProjectile.lua @@ -1,29 +1,29 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local SingleCompositeEmitterProjectile = import('/lua/sim/defaultprojectiles.lua').SingleCompositeEmitterProjectile local EffectTemplate = import("/lua/effecttemplates.lua") ---- CYBRAN TRACKER PROJECILES +--- CYBRAN TRACKER PROJECTILES ---@class CDFTrackerProjectile : SingleCompositeEmitterProjectile CDFTrackerProjectile = ClassProjectile(SingleCompositeEmitterProjectile) { TrailDelay = 1, diff --git a/lua/sim/projectiles/cybran/CDepthChargeProjectile.lua b/lua/sim/projectiles/cybran/CDepthChargeProjectile.lua index a2c9e120e8..349af23720 100644 --- a/lua/sim/projectiles/cybran/CDepthChargeProjectile.lua +++ b/lua/sim/projectiles/cybran/CDepthChargeProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local EffectTemplate = import("/lua/effecttemplates.lua") local OnWaterEntryEmitterProjectile = import('/lua/sim/OnWaterEntryEmitterProjectile.lua').OnWaterEntryEmitterProjectile diff --git a/lua/sim/projectiles/cybran/CDisintegratorLaserProjectile.lua b/lua/sim/projectiles/cybran/CDisintegratorLaserProjectile.lua index ea1e1d44a8..4bde6368d7 100644 --- a/lua/sim/projectiles/cybran/CDisintegratorLaserProjectile.lua +++ b/lua/sim/projectiles/cybran/CDisintegratorLaserProjectile.lua @@ -1,29 +1,29 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local EffectTemplate = import("/lua/effecttemplates.lua") local MultiPolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").MultiPolyTrailProjectile ---- DISINTEGRATOR LASER PROJECILE +--- DISINTEGRATOR LASER PROJECTILE --- loyalist & wailers ---@class CDisintegratorLaserProjectile : MultiPolyTrailProjectile CDisintegratorLaserProjectile = ClassProjectile(MultiPolyTrailProjectile) { diff --git a/lua/sim/projectiles/cybran/CDisintegratorLaserProjectile02.lua b/lua/sim/projectiles/cybran/CDisintegratorLaserProjectile02.lua index fdc97fcdef..f5a5330f8c 100644 --- a/lua/sim/projectiles/cybran/CDisintegratorLaserProjectile02.lua +++ b/lua/sim/projectiles/cybran/CDisintegratorLaserProjectile02.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local EffectTemplate = import("/lua/effecttemplates.lua") local MultiPolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").MultiPolyTrailProjectile diff --git a/lua/sim/projectiles/cybran/CEMPFluxWarheadProjectile.lua b/lua/sim/projectiles/cybran/CEMPFluxWarheadProjectile.lua index 0943b94a06..4d3ed5a853 100644 --- a/lua/sim/projectiles/cybran/CEMPFluxWarheadProjectile.lua +++ b/lua/sim/projectiles/cybran/CEMPFluxWarheadProjectile.lua @@ -1,31 +1,31 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local NukeProjectile = import('/lua/sim/defaultprojectiles.lua').NukeProjectile local SingleBeamProjectile = import('/lua/sim/defaultprojectiles.lua').SingleBeamProjectile local EffectTemplate = import("/lua/effecttemplates.lua") --- TERRAN SUB-LAUNCHED CRUISE MISSILE PROJECTILES ----@class CEMPFluxWarheadProjectile : NukeProjectile +---@class CEMPFluxWarheadProjectile : NukeProjectile, SingleBeamProjectile CEMPFluxWarheadProjectile = ClassProjectile(NukeProjectile, SingleBeamProjectile) { BeamName = '/effects/emitters/missile_exhaust_fire_beam_01_emit.bp', FxUnderWaterTrail = {'/effects/emitters/missile_cruise_munition_underwater_trail_01_emit.bp'}, diff --git a/lua/sim/projectiles/cybran/CElectronBolterProjectile.lua b/lua/sim/projectiles/cybran/CElectronBolterProjectile.lua index b4faa4b803..541b76ab8f 100644 --- a/lua/sim/projectiles/cybran/CElectronBolterProjectile.lua +++ b/lua/sim/projectiles/cybran/CElectronBolterProjectile.lua @@ -1,29 +1,29 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local EffectTemplate = import("/lua/effecttemplates.lua") local MultiPolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").MultiPolyTrailProjectile ---- CYBRAN ELECTRON BOLTER PROJECILES +--- CYBRAN ELECTRON BOLTER PROJECTILES --- loya, wagner, monkeylord & soul ripper ---@class CElectronBolterProjectile : MultiPolyTrailProjectile CElectronBolterProjectile = ClassProjectile(MultiPolyTrailProjectile) { diff --git a/lua/sim/projectiles/cybran/CFlameThrowerProjectile.lua b/lua/sim/projectiles/cybran/CFlameThrowerProjectile.lua index 4f46284b17..468ccab2de 100644 --- a/lua/sim/projectiles/cybran/CFlameThrowerProjectile.lua +++ b/lua/sim/projectiles/cybran/CFlameThrowerProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local EmitterProjectile = import('/lua/sim/defaultprojectiles.lua').EmitterProjectile diff --git a/lua/sim/projectiles/cybran/CHeavyDisintegratorPulseLaser.lua b/lua/sim/projectiles/cybran/CHeavyDisintegratorPulseLaser.lua index d2c3866cdf..b133b7ca8a 100644 --- a/lua/sim/projectiles/cybran/CHeavyDisintegratorPulseLaser.lua +++ b/lua/sim/projectiles/cybran/CHeavyDisintegratorPulseLaser.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local EffectTemplate = import("/lua/effecttemplates.lua") local MultiPolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").MultiPolyTrailProjectile diff --git a/lua/sim/projectiles/cybran/CHeavyElectronBolterProjectile.lua b/lua/sim/projectiles/cybran/CHeavyElectronBolterProjectile.lua index 1a3e681ff6..a9cc4ff625 100644 --- a/lua/sim/projectiles/cybran/CHeavyElectronBolterProjectile.lua +++ b/lua/sim/projectiles/cybran/CHeavyElectronBolterProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local EffectTemplate = import("/lua/effecttemplates.lua") local MultiPolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").MultiPolyTrailProjectile diff --git a/lua/sim/projectiles/cybran/CHeavyLaserProjectile.lua b/lua/sim/projectiles/cybran/CHeavyLaserProjectile.lua index 6a7e5d3bc4..4306a018df 100644 --- a/lua/sim/projectiles/cybran/CHeavyLaserProjectile.lua +++ b/lua/sim/projectiles/cybran/CHeavyLaserProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local EffectTemplate = import("/lua/effecttemplates.lua") local MultiPolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").MultiPolyTrailProjectile diff --git a/lua/sim/projectiles/cybran/CHeavyLaserProjectile2.lua b/lua/sim/projectiles/cybran/CHeavyLaserProjectile2.lua index 5363ca2aae..247c45fff4 100644 --- a/lua/sim/projectiles/cybran/CHeavyLaserProjectile2.lua +++ b/lua/sim/projectiles/cybran/CHeavyLaserProjectile2.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local EffectTemplate = import("/lua/effecttemplates.lua") local MultiPolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").MultiPolyTrailProjectile diff --git a/lua/sim/projectiles/cybran/CIFMolecularResonanceShell.lua b/lua/sim/projectiles/cybran/CIFMolecularResonanceShell.lua index ba8976f01e..8bbe5933b8 100644 --- a/lua/sim/projectiles/cybran/CIFMolecularResonanceShell.lua +++ b/lua/sim/projectiles/cybran/CIFMolecularResonanceShell.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local SinglePolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").SinglePolyTrailProjectile local EffectTemplate = import("/lua/effecttemplates.lua") diff --git a/lua/sim/projectiles/cybran/CIFProtonBombProjectile.lua b/lua/sim/projectiles/cybran/CIFProtonBombProjectile.lua index 824260cb00..16c84eae44 100644 --- a/lua/sim/projectiles/cybran/CIFProtonBombProjectile.lua +++ b/lua/sim/projectiles/cybran/CIFProtonBombProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local NullShell = import('/lua/sim/defaultprojectiles.lua').NullShell local EffectTemplate = import("/lua/effecttemplates.lua") diff --git a/lua/sim/projectiles/cybran/CIridiumRocketProjectile.lua b/lua/sim/projectiles/cybran/CIridiumRocketProjectile.lua index e8073b6077..0875ee9367 100644 --- a/lua/sim/projectiles/cybran/CIridiumRocketProjectile.lua +++ b/lua/sim/projectiles/cybran/CIridiumRocketProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local SingleCompositeEmitterProjectile = import('/lua/sim/defaultprojectiles.lua').SingleCompositeEmitterProjectile local EffectTemplate = import("/lua/effecttemplates.lua") diff --git a/lua/sim/projectiles/cybran/CKrilTorpedo.lua b/lua/sim/projectiles/cybran/CKrilTorpedo.lua index 9caa91bd31..aca96fb368 100644 --- a/lua/sim/projectiles/cybran/CKrilTorpedo.lua +++ b/lua/sim/projectiles/cybran/CKrilTorpedo.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local OnWaterEntryEmitterProjectile = import('/lua/sim/defaultprojectiles.lua').OnWaterEntryEmitterProjectile diff --git a/lua/sim/projectiles/cybran/CLOATacticalChildMissileProjectile.lua b/lua/sim/projectiles/cybran/CLOATacticalChildMissileProjectile.lua index 98a14e31a3..e5a57f3678 100644 --- a/lua/sim/projectiles/cybran/CLOATacticalChildMissileProjectile.lua +++ b/lua/sim/projectiles/cybran/CLOATacticalChildMissileProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local EffectTemplate = import("/lua/effecttemplates.lua") local SingleBeamProjectile = import('/lua/sim/defaultprojectiles.lua').SingleBeamProjectile diff --git a/lua/sim/projectiles/cybran/CLOATacticalMissileProjectile.lua b/lua/sim/projectiles/cybran/CLOATacticalMissileProjectile.lua index 7c093cdc46..b11d6498cc 100644 --- a/lua/sim/projectiles/cybran/CLOATacticalMissileProjectile.lua +++ b/lua/sim/projectiles/cybran/CLOATacticalMissileProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local EffectTemplate = import("/lua/effecttemplates.lua") local SingleBeamProjectile = import('/lua/sim/defaultprojectiles.lua').SingleBeamProjectile diff --git a/lua/sim/projectiles/cybran/CLaserLaserProjectile.lua b/lua/sim/projectiles/cybran/CLaserLaserProjectile.lua index fed2de21dd..cb1ea33459 100644 --- a/lua/sim/projectiles/cybran/CLaserLaserProjectile.lua +++ b/lua/sim/projectiles/cybran/CLaserLaserProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local EffectTemplate = import("/lua/effecttemplates.lua") local MultiPolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").MultiPolyTrailProjectile diff --git a/lua/sim/projectiles/cybran/CMissileAAProjectile.lua b/lua/sim/projectiles/cybran/CMissileAAProjectile.lua index 0d0d91572d..0459d50adc 100644 --- a/lua/sim/projectiles/cybran/CMissileAAProjectile.lua +++ b/lua/sim/projectiles/cybran/CMissileAAProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local SingleCompositeEmitterProjectile = import('/lua/sim/defaultprojectiles.lua').SingleCompositeEmitterProjectile local EffectTemplate = import("/lua/effecttemplates.lua") diff --git a/lua/sim/projectiles/cybran/CMolecularCannonProjectile.lua b/lua/sim/projectiles/cybran/CMolecularCannonProjectile.lua index f40511711b..9a1bb69b79 100644 --- a/lua/sim/projectiles/cybran/CMolecularCannonProjectile.lua +++ b/lua/sim/projectiles/cybran/CMolecularCannonProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local SinglePolyTrailProjectile = import('/lua/sim/defaultprojectiles.lua').SinglePolyTrailProjectile local EffectTemplate = import("/lua/effecttemplates.lua") diff --git a/lua/sim/projectiles/cybran/CNeutronClusterBombChildProjectile.lua b/lua/sim/projectiles/cybran/CNeutronClusterBombChildProjectile.lua index 8a4d2082ee..10ae3e5599 100644 --- a/lua/sim/projectiles/cybran/CNeutronClusterBombChildProjectile.lua +++ b/lua/sim/projectiles/cybran/CNeutronClusterBombChildProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local SinglePolyTrailProjectile = import('/lua/sim/defaultprojectiles.lua').SinglePolyTrailProjectile local EffectTemplate = import("/lua/effecttemplates.lua") diff --git a/lua/sim/projectiles/cybran/CNeutronClusterBombProjectile.lua b/lua/sim/projectiles/cybran/CNeutronClusterBombProjectile.lua index 4c0054633f..f840e4adde 100644 --- a/lua/sim/projectiles/cybran/CNeutronClusterBombProjectile.lua +++ b/lua/sim/projectiles/cybran/CNeutronClusterBombProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local SinglePolyTrailProjectile = import('/lua/sim/defaultprojectiles.lua').SinglePolyTrailProjectile @@ -57,7 +57,7 @@ CNeutronClusterBombProjectile = ClassProjectile(SinglePolyTrailProjectile) { end end, - --- Overiding Destruction + --- Overriding Destruction ---@param self CNeutronClusterBombProjectile ---@param targetType string unused ---@param targetEntity Unit unused diff --git a/lua/sim/projectiles/cybran/CParticleCannonProjectile.lua b/lua/sim/projectiles/cybran/CParticleCannonProjectile.lua index 89aea3c964..bb76ccefdd 100644 --- a/lua/sim/projectiles/cybran/CParticleCannonProjectile.lua +++ b/lua/sim/projectiles/cybran/CParticleCannonProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local SingleBeamProjectile = import('/lua/sim/defaultprojectiles.lua').SingleBeamProjectile local EffectTemplate = import("/lua/effecttemplates.lua") diff --git a/lua/sim/projectiles/cybran/CRailGunProjectile.lua b/lua/sim/projectiles/cybran/CRailGunProjectile.lua index ad9dd8bd15..3345455a03 100644 --- a/lua/sim/projectiles/cybran/CRailGunProjectile.lua +++ b/lua/sim/projectiles/cybran/CRailGunProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local EmitterProjectile = import('/lua/sim/defaultprojectiles.lua').EmitterProjectile diff --git a/lua/sim/projectiles/cybran/CRocketProjectile.lua b/lua/sim/projectiles/cybran/CRocketProjectile.lua index ff456260cc..a7361c36cc 100644 --- a/lua/sim/projectiles/cybran/CRocketProjectile.lua +++ b/lua/sim/projectiles/cybran/CRocketProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local SingleBeamProjectile = import('/lua/sim/defaultprojectiles.lua').SingleBeamProjectile local EffectTemplate = import("/lua/effecttemplates.lua") diff --git a/lua/sim/projectiles/cybran/CShellAAAutoCannonProjectile.lua b/lua/sim/projectiles/cybran/CShellAAAutoCannonProjectile.lua index ba3655778b..c00e9728fe 100644 --- a/lua/sim/projectiles/cybran/CShellAAAutoCannonProjectile.lua +++ b/lua/sim/projectiles/cybran/CShellAAAutoCannonProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local MultiPolyTrailProjectile = import("/lua/sim/defaultprojectiles.lua").MultiPolyTrailProjectile diff --git a/lua/sim/projectiles/cybran/CShellRiotProjectile.lua b/lua/sim/projectiles/cybran/CShellRiotProjectile.lua index cf0c9f1ee4..5ce5ea25f8 100644 --- a/lua/sim/projectiles/cybran/CShellRiotProjectile.lua +++ b/lua/sim/projectiles/cybran/CShellRiotProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local SingleBeamProjectile = import('/lua/sim/defaultprojectiles.lua').SingleBeamProjectile diff --git a/lua/sim/projectiles/cybran/CTorpedoShipProjectile.lua b/lua/sim/projectiles/cybran/CTorpedoShipProjectile.lua index d74b495826..9d89040616 100644 --- a/lua/sim/projectiles/cybran/CTorpedoShipProjectile.lua +++ b/lua/sim/projectiles/cybran/CTorpedoShipProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local OnWaterEntryEmitterProjectile = import('/lua/sim/defaultprojectiles.lua').OnWaterEntryEmitterProjectile local EffectTemplate = import("/lua/effecttemplates.lua") diff --git a/lua/sim/projectiles/cybran/CTorpedoSubProjectile.lua b/lua/sim/projectiles/cybran/CTorpedoSubProjectile.lua index ed7c3768c3..029fc55b45 100644 --- a/lua/sim/projectiles/cybran/CTorpedoSubProjectile.lua +++ b/lua/sim/projectiles/cybran/CTorpedoSubProjectile.lua @@ -1,24 +1,24 @@ ---********************************************************************************** ---** Copyright (c) 2023 FAForever ---** ---** Permission is hereby granted, free of charge, to any person obtaining a copy ---** of this software and associated documentation files (the "Software"), to deal ---** in the Software without restriction, including without limitation the rights ---** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ---** copies of the Software, and to permit persons to whom the Software is ---** furnished to do so, subject to the following conditions: ---** ---** The above copyright notice and this permission notice shall be included in all ---** copies or substantial portions of the Software. ---** ---** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ---** IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ---** FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ---** AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ---** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ---** OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE ---** SOFTWARE. ---********************************************************************************** +------------------------------------------------------------------------------------ +-- Copyright (c) 2023 FAForever +-- +-- Permission is hereby granted, free of charge, to any person obtaining a copy +-- of this software and associated documentation files (the "Software"), to deal +-- in the Software without restriction, including without limitation the rights +-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +-- copies of the Software, and to permit persons to whom the Software is +-- furnished to do so, subject to the following conditions: +-- +-- The above copyright notice and this permission notice shall be included in all +-- copies or substantial portions of the Software. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +-- SOFTWARE. +------------------------------------------------------------------------------------ local EmitterProjectile = import('/lua/sim/defaultprojectiles.lua').EmitterProjectile local EffectTemplate = import("/lua/effecttemplates.lua") From 8dcaa9789549c2db2adf0aaa065e3cd8b6bf1ab9 Mon Sep 17 00:00:00 2001 From: Josh Date: Wed, 12 Jun 2024 13:36:02 +0100 Subject: [PATCH 4/5] create snipit --- changelog/snippets/other.5669.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog/snippets/other.5669.md diff --git a/changelog/snippets/other.5669.md b/changelog/snippets/other.5669.md new file mode 100644 index 0000000000..589039e65d --- /dev/null +++ b/changelog/snippets/other.5669.md @@ -0,0 +1 @@ +- (#5669) Move the Classes of Cybran Projectiles to separate Files. From 28643cd4eb3572c2e4305c1adede9cdda0262ad9 Mon Sep 17 00:00:00 2001 From: Josh Date: Tue, 16 Jul 2024 11:58:15 +0100 Subject: [PATCH 5/5] Fix Imports --- lua/sim/projectiles/cybran/CDepthChargeProjectile.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/sim/projectiles/cybran/CDepthChargeProjectile.lua b/lua/sim/projectiles/cybran/CDepthChargeProjectile.lua index 349af23720..f875ae1d2f 100644 --- a/lua/sim/projectiles/cybran/CDepthChargeProjectile.lua +++ b/lua/sim/projectiles/cybran/CDepthChargeProjectile.lua @@ -21,7 +21,7 @@ ------------------------------------------------------------------------------------ local EffectTemplate = import("/lua/effecttemplates.lua") -local OnWaterEntryEmitterProjectile = import('/lua/sim/OnWaterEntryEmitterProjectile.lua').OnWaterEntryEmitterProjectile +local OnWaterEntryEmitterProjectile = import('/lua/sim/projectiles/OnWaterEntryEmitterProjectile.lua').OnWaterEntryEmitterProjectile --- Cybran DEPTH CHARGE PROJECTILES ---@class CDepthChargeProjectile : OnWaterEntryEmitterProjectile