#****************************************************************************
#**
#**  Author(s):  Exavier Macbeth
#**
#**  Summary  :  This is a Blank Slate for a Weapons.lua file
#**
#**  Copyright © 2005 Gas Powered Games, Inc.  All rights reserved.
#****************************************************************************

local WeaponFile = import('/lua/sim/DefaultWeapons.lua')
local CollisionBeamFile = import('/lua/defaultcollisionbeams.lua')
local CollisionBeams = import('/lua/defaultcollisionbeams.lua')
local EffectTemplate = import('/lua/EffectTemplates.lua')
local Explosion = import('/lua/defaultexplosions.lua')
local Util = import('/lua/utilities.lua')

local CustomCollisionBeamFile = import('/mods/IMBA_Mod_V4a/lua/customdefaultcollisionbeams.lua')

local DisruptorBeamCollisionBeam = CollisionBeamFile.DisruptorBeamCollisionBeam
local QuantumBeamGeneratorCollisionBeam = CustomCollisionBeamFile.QuantumBeamGeneratorCollisionBeam
local PhasonLaserCollisionBeam = CollisionBeamFile.PhasonLaserCollisionBeam
local TractorClawCollisionBeam = CollisionBeamFile.TractorClawCollisionBeam
local KamikazeWeapon = WeaponFile.KamikazeWeapon
local BareBonesWeapon = WeaponFile.BareBonesWeapon
local DefaultProjectileWeapon = WeaponFile.DefaultProjectileWeapon
local DefaultBeamWeapon = WeaponFile.DefaultBeamWeapon
local GinsuCollisionBeam = CollisionBeams.GinsuCollisionBeam

#------------------------------------------------------------------------
#  Start Your Code Here
#------------------------------------------------------------------------
BLaserWeapon = Class(DefaultBeamWeapon) {
    BeamType = CustomCollisionBeamFile.BLaserCollisionBeam,
    FxMuzzleFlash = {},
   
}

AQuantumBeamGenerator = Class(DefaultBeamWeapon) {
    BeamType = QuantumBeamGeneratorCollisionBeam,

    FxUpackingChargeEffects = {},#'/effects/emitters/quantum_generator_charge_01_emit.bp'},
    FxUpackingChargeEffectScale = 1,

    PlayFxWeaponUnpackSequence = function( self )
        local army = self.unit:GetArmy()
        local bp = self:GetBlueprint()
        for k, v in self.FxUpackingChargeEffects do
            for ek, ev in bp.RackBones[self.CurrentRackSalvoNumber].MuzzleBones do
                CreateAttachedEmitter(self.unit, ev, army, v):ScaleEmitter(self.FxUpackingChargeEffectScale)
            end
        end
        DefaultBeamWeapon.PlayFxWeaponUnpackSequence(self)
    end,
}

SIFSuthanusArtilleryCannon = Class(DefaultProjectileWeapon) {
	FxChargeMuzzleFlash = EffectTemplate.SRifterArtilleryChargeMuzzleFlash,
	FxMuzzleFlash = EffectTemplate.SRifterArtilleryMuzzleFlash,
}