; Weapon Definitions File ; ;DefineWeapon(RailGun) ;{ ; SetMovement(Linear) ; Linear or Homing ; SetAnimation(projectile_animation) ; animation to show while in flight ; SetAttributes(0 5 0 13 2000) ; minimum range, maximum range, maxammo, firedelay(game cycles), energypershot ; SetSpeed(10.0 0.0 1000.0 1) ; InitialSpeed, acceleration, maxspeed, rotationalspeed ; SetOffense(E1 11 8) ; offense_category, offense_strength , area_effect ; SetHitExplosion(explosion) ; explosion played when the projectile hits ; SetFireSound(gfwneutc.wav 127) ; (sound.wav volume_level) 127 is max volume level ; CanShootGround() ; this weapon can attack an empty tile square ; CanShootGroundUnit() ; This weapon can shoot ground units ; CanShootBuilding() ; This Weapon can attack Buildings ; CanShootFlyer() ; This Weapon can attack Flyers ; CanOnlyShootHumans() ; This weapon can only attack human units ; CanOnlyShootNonHumans() ; This weapon can only attack non-human units ; CanCancelBoosting() ; This weapon's attack cancels the boosting effect of a ; CanShootIndirect() ; This weapon can shoot at indirect targets ; PersistentDamage(10 5 C1 3 50) ; This Weapon causes persistent damage after its initial ; ; attack, (number_of_times_to_attack cycles_between_each_attack ; ; offense_category offense_strength, area_effect) ; SetBooster(200 100 0.5 1) ; ; SetBooster options: ; ;-Hitpoint Bonus ; ; Bonus amount hitpoints are boosted by ; ;-Time Boosted ; ; No. cycles which boost is effective (~30 cycles/sec) ; ;-Fade Speed ; ; Cycle speed at which boost is decremented, ie. ; ; 2.0 = boost decremented 2 per cycle (fast fade) ; ; 0.1 = boost decremented 1/10th per cycle (slow fade) ; ; Is Deadly ; ; 1 = Deadly (boost fades to death) ; ; 0 = NonDeadly (boost fades to previous hitpoints); ; ; weapon using the SetBooster option ;} ; ; ; There are three other weapon types which are classed as special Weapons, ; Vortex, Wave, and Shredder. ; This weapon is used by the Freedom Guard Flak Jack ; FGFlakJack fflk DefineWeapon(Chaff) { SetMovement(Linear) SetAnimation(eochfpr0_animation) SetAttributes(0 8 0 15 2000) SetSpeed(13.0 0.0 13.0 1) SetOffense(C1 8 50) CanShootFlyer() SetFireSound(gxflkwc0.wav 80) SetHitExplosion(chaff_explosion) PersistentDamage(10 5 C1 3 50) } ; This weapon is used by the Imperium Temporal Rift Creator ; IMPTemporalRiftCreator itrc DefineWeapon(TemporalRift) { SetMovement(Vortex) SetAttributes(0 350 1 1 2000) SetSpeed(100 0 0 10.0) SetOffense(V1 4 10.0) CanShootGround() CanShootGroundUnit() CanShootIndirect() CanShootFlyer() CanShootBuilding() } ; This Weapon is used by the Freedom Guard Shockwave ; FGShockWave fswv DefineWeapon(SeismicWave) { SetMovement(Wave) SetAttributes(0 24 0 0 2000) SetSpeed(2 25 10 0.0) SetOffense(W1 17 5) CanShootGround() CanShootGroundUnit() CanShootIndirect() CanShootBuilding() } ; This Weapon is used by the Imperium Shredder ; IMPShredder ishr DefineWeapon(Shredder) { SetMovement(Shredder) SetAttributes(0 0 0 0 0) SetSpeed(0 0 0 0) SetOffense(S2 10 1) SetHitSound(gxscmdc0.wav 112) CanShootGround() CanShootGroundUnit() } ;This Weapon is used by the Freedom Guard Mercenary ; FGMercenary fmrc DefineWeapon(RailGun) { SetMovement(Linear) SetAnimation(eorgnpr5_animation) SetAttributes(0 5 0 11 2000) SetSpeed(20.0 0.0 1000.0 1) SetOffense(E1 11 8) SetHitExplosion(eorgnex2_explosion) CanShootGround() CanShootGroundUnit() SetFireSound(gxmrcwc0.wav 127) CanShootBuilding() } ; This Weapon is used by the Freedom Guard Spider Bike ; FGSpiderBike fspb DefineWeapon(DoubleRailGun) { SetMovement(Linear) SetAnimation(eorgnpr3_animation) SetAttributes(0 5 0 13 2000) SetSpeed(20.0 0.0 1000.0 1) SetOffense(E1 10 8) SetHitExplosion(eorgnex1_explosion) CanShootGround() CanShootGroundUnit() SetFireSound(gxspbwc0.wav 127) CanShootBuilding() } ; This weapon is used by the Freedom Guard Triple Rail Hover Tank, ; FGTripleRailHoverTank ftrt DefineWeapon(TripleRailGun) { SetMovement(Linear) SetAnimation(eorgnpr2_animation) SetAttributes(1 8 0 20 2000) ; range, maxammo, firedelay, energypershot SetSpeed(20.0 0.0 1000.0 1) SetOffense(E1 24 20) SetHitExplosion(eorgnex0_explosion) CanShootGround() CanShootGroundUnit() SetFireSound(gxtrtwc0.wav 127) CanShootBuilding() } ; Imperium Advanced Guard Tower ; IMPAdvancedGuardTower iagt DefineWeapon(NeutronAss) { SetMovement(Linear) SetAnimation(eoncnpr0_animation) SetAttributes(0 8 0 32 2000) ; range, maxammo, firedelay, energypershot SetSpeed(35.0 0.0 1000.0 1) SetOffense(E3 180 12) SetHitExplosion(eoncnex0_explosion) CanShootGround() CanShootGroundUnit() SetFireSound(gxneuwc0.wav 127) CanShootBuilding() } ;This Weapon is used by the Freedom Guard Medium Tank ; FGMediumTank fskt DefineWeapon(SkirmishGun1) { SetMovement(Homing) SetAnimation(eomispr4_animation) SetAttributes(0 6 0 20 2000) ; range, maxammo, firedelay, energypershot SetSpeed(4.0 2.0 10.0 12) SetOffense(M2 14 10) CanShootGround() CanShootGroundUnit() CanShootFlyer() SetHitExplosion(eosktex0_explosion) ; SetSmokeExplosion(5 eovapex0_explosion) SetFireSound(gxsktwc0.wav 127) CanShootBuilding() } ;This Weapon is used by the Freedom Guard Medium Tank ; FGMediumTank fskt DefineWeapon(SkirmishGun2) { SetMovement(Homing) SetAnimation(eomispr4_animation) SetAttributes(0 6 0 20 2000) ; range, maxammo, firedelay, energypershot SetSpeed(4.0 2.0 10.0 12) SetOffense(M2 14 10) CanShootGround() CanShootGroundUnit() CanShootFlyer() SetHitExplosion(eosktex1_explosion) ; SetSmokeExplosion(5 eovapex0_explosion) SetFireSound(gxsktwc0.wav 127) CanShootBuilding() } ; this weapon is used by the Freedom Guard Sniper ; FGSniper fsnp DefineWeapon(SniperRifle) { SetMovement(Linear) SetAnimation(eorgnpr1_animation) SetAttributes(0 8 0 50 2000) SetSpeed(20.0 0.0 1000.0 1) SetOffense(S1 150 8) SetHitExplosion(eorgnex1_explosion) CanShootGround() CanShootGroundUnit() SetFireSound(gxsnpwc0.wav 80) CanShootBuilding() } ; this weapon is used by the Jeb ; FG Jeb Radec DefineWeapon(Radec) { SetMovement(Linear) SetAnimation(eorgnpr1_animation) SetAttributes(0 7 0 3 2000) SetSpeed(40.0 0.0 1000.0 1) SetOffense(S1 170 8) SetHitExplosion(eorgnex1_explosion) CanShootGround() CanShootGroundUnit() SetFireSound(gxsnpwc0.wav 80) CanShootBuilding() } ;This weapon is used by the Imperium Plasma Tank ; IMPPlasmaTank iplt DefineWeapon(PlasmaCannon) { SetMovement(Linear) SetAnimation(eoplspr1_animation) SetAttributes(0 5 0 15 2000) SetSpeed(20.0 0.0 1000.0 1) SetOffense(E3 19 8) SetHitExplosion(eoplsex2_explosion) CanShootGround() CanShootGroundUnit() SetFireSound(gxpltwc0.wav 80) CanShootBuilding() } ;This weapon is used by the Imperium Bion ; IMPBion ibon DefineWeapon(PlasmaRifle) { SetMovement(Linear) SetAnimation(eoplspr0_animation) SetAttributes(0 4 0 8 2000) SetSpeed(17.0 0.0 1000.0 1) SetOffense(E3 18 8) SetHitExplosion(eoplsex0_explosion) CanShootGround() CanShootGroundUnit() CanShootFlyer() SetFireSound(gxbonwc0.wav 80) CanShootBuilding() } ;This weapon is used by the Imperium Tachyon Tank ; IMPTachyonTank itct DefineWeapon(TachyonCannon) { SetMovement(Linear) SetAnimation(eotacpr0_animation) SetAttributes(1 8 0 20 2000) SetSpeed(35.0 0.0 1000.0 1) SetOffense(E4 30 20) SetHitExplosion(eotacex0_explosion) CanShootGround() CanShootGroundUnit() SetFireSound(gxtctwc0.wav 80) CanShootBuilding() } ;This weapon is used by the Imperium Sky Fortress ; IMPSkyFortress isky DefineWeapon(FortressCannon) { SetMovement(Linear) SetAnimation(eoskypr0_animation) SetAttributes(0 7 1 20 2000) SetSpeed(35.0 0.0 1000.0 1) SetOffense(E3 650 36) SetHitExplosion(fortress_hit_explosion) CanShootGround() CanShootGroundUnit() SetFireSound(gxskywc0.wav 80) CanShootBuilding() } ;This weapon is used by the Imperium Cyclone ; IMPCyclone icyc DefineWeapon(CycloneCannon) { SetMovement(Linear) SetAnimation(eoncnpr0_animation) SetAttributes(1 6 5 10 2000) SetSpeed(20.0 0.0 1000.0 1) SetOffense(G1 24 10) SetHitExplosion(eoncnex0_explosion) CanShootGround() CanShootGroundUnit() CanShootFlyer() SetFireSound(gxcycwc0.wav 80) CanShootBuilding() } ;This weapon is used by the Freedom Guard Martyr ; FGMartyr fmtr DefineWeapon(SuicideNuke) { SetMovement(Linear) SetAnimation(eolaspr0_animation) SetAttributes(0 2 0 50 2000) SetSpeed(1000.0 0.0 1000.0 1) SetOffense(E3 180 100) SetHitExplosion(ecexpsp1_explosion) CanShootGround() SetFireSound(gxmtrwc0.wav 80) CanShootGroundUnit() CanShootBuilding() } ;This weapon is used by the Freedom Guard Raider, Imperium Guardian , ; Imperium Invader Troop Transport ; FGRaider frad , IMPGuardian igrd , IMPITT iitt DefineWeapon(LaserRifle) { SetMovement(Linear) SetAnimation(eolaspr2_animation) SetAttributes(0 4 0 8 2000) SetSpeed(20.0 0.0 1000.0 1) SetOffense(E2 11 8) SetHitExplosion(smalllaser_hitpuff_explosion) CanShootGround() CanShootGroundUnit() ; CanShootFlyer() SetFireSound(gxlgnwc0.wav 80) CanShootBuilding() } ;This weapon is used by the Freedom Guard Water Contaminator, Imperium Water Contaminator ; FGContaminator fwco, IMPContaminator iwco DefineWeapon(Contaminator) { SetMovement(Linear) SetAnimation(eoncnpr0_animation) SetAttributes(0 1 0 2 2000) SetSpeed(20.0 0.0 1000.0 1) SetOffense(R2 5 8) SetFireSound(gxfgtwc0.wav 80) CanShootBuilding() } ;This weapon is used by the Freedom Guard Scout, Freedom Guard Spy, Imperium Spy ; FGScout fsco, FGInfiltrator finf, IMPInfiltrator iinf DefineWeapon(LaserPistol) { SetMovement(Linear) SetAnimation(eolaspr0_animation) SetAttributes(0 3 0 5 2000) SetSpeed(20.0 0.0 1000.0 1) SetOffense(E2 5 8) SetHitExplosion(eolasex0_explosion) CanShootGround() CanShootGroundUnit() SetFireSound(gxlgnwc0.wav 80) CanShootBuilding() } ;This weapon is used by the Rowdy Male Civilian, Rowdy Female Civilian DefineWeapon(CivilianPistol) { SetMovement(Linear) SetAnimation(eolaspr0_animation) SetAttributes(0 2 0 20 2000) SetSpeed(20.0 0.0 1000.0 1) SetOffense(E2 2 8) SetHitExplosion(eolasex0_explosion) CanShootGround() CanShootGroundUnit() SetFireSound(gxsnpwc0.wav 80) CanShootBuilding() } ; This Weapon is used by the Freedom Guard Ambush Tank ; FGPhaseTank fpht DefineWeapon(PhaseTankCannon) { SetMovement(Linear) SetAnimation(eolaspr4_animation) SetAttributes(0 6 0 13 2000) SetSpeed(20.0 0.0 20.0 1) SetOffense(E2 30 10) SetHitExplosion(ambushtank_explosion) SetFireSound(gxphtwc0.wav 80) CanShootGround() CanShootGroundUnit() CanShootBuilding() } ; This Weapon is used by the Imperium Scout Tank ; IMPScoutTank istt DefineWeapon(LaserCannon) { SetMovement(Linear) SetAnimation(eolaspr3_animation) SetAttributes(0 6 0 13 2000) SetSpeed(20.0 0.0 20.0 1) SetOffense(E2 10 10) SetHitExplosion(eolasex1_explosion) SetFireSound(gxsttwc0.wav 80) CanShootGround() CanShootGroundUnit() CanShootBuilding() } ;This Weapon is used by the Freedom Guard Air Defense Site DefineWeapon(FixedGroundToAirLaser) { SetMovement(Linear) SetAnimation(eolaspr1_animation) SetAttributes(0 10 0 14 2000) SetSpeed(40.0 0.0 40.0 1) SetOffense(A1 40 10) SetHitExplosion(eolasex1_explosion) SetFireSound(gxfaawc0.wav 80) CanShootFlyer() } ; Imperium Air Defense Site , iaar DefineWeapon(IMPFixedGroundToAirLaser) { SetMovement(Linear) SetAnimation(eoorbpr0_animation) SetAttributes(0 10 0 14 2000) SetSpeed(40.0 0.0 40.0 1) SetOffense(A1 14 10) SetHitExplosion(eoblatr0_explosion) SetFireSound(gxiaawc0.wav 80) CanShootFlyer() } ;This Weapon is used by the Freedom Guard Heavy Laser Platform ; DefineWeapon(FixedLaserPlat) { SetMovement(Linear) SetAnimation(eorgnpr3_animation) ; SetAnimation(eorgnpr5_animation) SetAttributes(0 8 0 10 2000) SetSpeed(20.0 0.0 1000.0 1) SetOffense(E1 13 16) SetHitExplosion(eorgnex2_explosion) CanShootGround() CanShootGroundUnit() SetFireSound(gxfagwc0.wav 127) CanShootBuilding() } ;This weapon is used by the Imperium Mobile Air Defense (MAD M.A.D.) DefineWeapon(GroundToAirLaser) { SetMovement(Linear) SetAnimation(eoorbpr0_animation) SetAttributes(0 8 0 20 2000) SetSpeed(40.0 0.0 40.0 1) SetOffense(A1 48 8) SetHitExplosion(eoblatr0_explosion) SetFireSound(gxmadwc0.wav 80) CanShootFlyer() } ;This Weapon is used by the Freedom Guard Sky Bike DefineWeapon(BkLaser) { SetMovement(Homing) SetAnimation(eomispr0_animation) SetAttributes(0 5 20 7 2000) SetSpeed(1.0 10.0 60.0 10) SetOffense(A1 10 10) SetHitExplosion(eosmosm2_explosion) SetFireSound(gxskbwc0.wav 80) CanShootGround() CanShootGroundUnit() CanShootFlyer() CanShootBuilding() } ;This Weapon is used by the FG Guard Tower, Imp Guard Tower DefineWeapon(GatLaser) { SetMovement(Linear) SetAnimation(eolaspr3_animation) SetAttributes(0 5 0 3 2000) SetSpeed(20.0 0.0 20.0 1) SetOffense(E2 10 8) SetHitExplosion(eolasex0_explosion) SetFireSound(gxfgtwc0.wav 80) CanShootGround() CanShootGroundUnit() CanShootFlyer() CanShootBuilding() } ;This Weapon is used by the FG Guard Tower, Imp Guard Tower DefineWeapon(GatPlasma) { SetMovement(Linear) SetAnimation(eoplspr1_animation) SetAttributes(0 5 0 3 2000) SetSpeed(20.0 0.0 20.0 1) SetOffense(E3 10 8) SetHitExplosion(eoplsex2_explosion) SetFireSound(gxigtwc0.wav 80) CanShootGround() CanShootGroundUnit() CanShootFlyer() CanShootBuilding() } ;This weapon is used by the Imperium Exterminator Marine DefineWeapon(PolyAcid) { SetMovement(Linear) SetAnimation(eorfgpr0_animation) SetAttributes(0 5 0 20 2000) SetSpeed(5 0.0 10 1) SetOffense(M3 15 24) SetHitExplosion(eorfgex0_explosion) SetFireSound(gxextwc1.wav 80) CanShootGroundUnit() CanShootGround() CanShootBuilding() } ; This weapon is used by the Freedom Guard Tank Hunter ; FGTankHunter fthn DefineWeapon(TankHunterGun) { SetMovement(Linear) SetAnimation(eothnpr0_animation) SetAttributes(0 3 0 20 2000) SetSpeed(10.0 0.0 10.0 1) SetOffense(E5 60 8) SetHitExplosion(eothnex0_explosion) CanShootGround() CanShootGroundUnit() SetFireSound(gxthnwc0.wav 80) CanShootBuilding() } ; This weapon is used by the Freedom Guard Outrider DefineWeapon(OutriderMissile) { SetMovement(Homing) SetAnimation(eomispr1_animation) SetAttributes(0 5 10 10 2000) ; range, maxammo, firedelay, energypershot SetSpeed(0.5 3.0 15.0 10) SetOffense(M1 20 40) SetHitExplosion(eooutex0_explosion) ; SetSmokeExplosion(5 smoke_puff_2_explosion) CanShootGroundUnit() CanShootGround() SetFireSound(gxoutwc0.wav 80) CanShootBuilding() } ; This weapon is used by the Freedom Guard Hellstorm Artillery DefineWeapon(ArtilleryShell) { SetMovement(Linear) SetAnimation(eofarpr0_animation) SetAttributes(3 45 0 80 2000) SetSpeed(10.0 -1.0 5.0 1) SetOffense(K2 30 100) SetHitExplosion(eofarex0_explosion) SetHitSound(gxex1oc0.wav 127) CanShootGround() CanShootIndirect() CanShootGroundUnit() SetFireSound(gxfarwc0.wav 80) CanShootBuilding() } ; Imperium S.C.A.R.A.B. DefineWeapon(IMPArtilleryShell) { SetMovement(Linear) SetAnimation(eoiarpr0_animation) SetAttributes(3 45 0 80 2000) SetSpeed(7.0 0.0 5.0 1) SetOffense(K2 30 100) SetHitExplosion(eoiarex0_explosion) PersistentDamage(5 10 E3 2 90) SetHitSound(gxex1oc0.wav 127) CanShootGround() CanShootIndirect() CanShootGroundUnit() SetFireSound(gxiarwc0.wav 127) CanShootBuilding() } ; This weapon is used by the Freedom Guard Medic DefineWeapon(MedicHeal) { SetMovement(Linear) SetAnimation(eolaspr0_animation) SetAttributes(0 1 0 10 2000) SetSpeed(1000.0 2.0 1000.0 1) SetOffense(H1 -20 0) CanOnlyShootHumans() CanShootGroundUnit() CanCancelBoosting() } ; This weapon is used by the Imperium Amper DefineWeapon(AmperAmp) { SetMovement(Linear) SetAnimation(eolaspr0_animation) SetAttributes(0 5 0 10 2000) SetHitExplosion(eopamex0_explosion) SetSpeed(20.0 0.0 20.0 1) SetOffense(H1 0 0) ; SetBooster options: ; Hitpoint Bonus Bonus amount hitpoints are boosted by ; Time Boosted No. cycles which boost is effective (~30 cycles/sec) ; Fade Speed Cycle speed at which boost is decremented, ie. ; 2.0 = boost decremented 2 per cycle (fast fade) ; 0.1 = boost decremented 1/10th per cycle (slow fade) ; Is Deadly 1 = Deadly (boost fades to death) ; 0 = NonDeadly (boost fades to previous hitpoints) SetBooster(200 200 0.5 1) SetFireSound(gxampwc0.wav 80) CanOnlyShootHumans() CanShootGroundUnit() } ; This weapon is used by the Freedom Guard Mechanic DefineWeapon(MechanicRepair) { SetMovement(Linear) SetAnimation(eolaspr0_animation) SetAttributes(0 1 0 10 2000) SetSpeed(1000.0 2.0 1000.0 1) SetOffense(R1 -5 0) CanOnlyShootNonHumans() CanShootGroundUnit() } DefineWeapon(SelfDestruct1) { SetMovement(SelfDestruct) SetAttributes(0 1 0 1 1) ; range, maxammo, firedelay, energypershot SetHitExplosion(eoplsex1_explosion) SetOffense(E3 150 70) SetSelfDestruct(0 0 100 100) CanShootGroundUnit() CanShootBuilding() SetFireSound(gxexpoc1.wav 80) CanShootGround() } DefineWeapon(NoWeapon) { SetMovement(Linear) SetAttributes(0 10 0 10 1) ; range, maxammo, firedelay, energypershot SetSpeed(1000.0 2.0 1000.0 1) SetOffense(M3 0 0) CanShootGroundUnit() CanShootBuilding() CanShootGround() CanShootFlyer() }