Here's my weapon tbl, it may reference a few effects that's not in MediaVPs.
$Name: LR Railgun
+Tech Title: XSTR( "Insert Name", -1 )
+Tech Anim: tech_subach
+Tech Description: XSTR( "Insert Tech Description.", -1 )
$end_multi_text
$Model File: none
@Laser Bitmap: massdriver_bitmap
@Laser Glow: Maxim_Glow
@Laser Color: 250, 200, 50
@Laser Color2: 255, 200, 10
@Laser Length: 12
@Laser Head Radius: 66
@Laser Tail Radius: 66
$Mass: 0.6
$Velocity: 4000.0
$Fire Wait: 5
$Damage: 1000
$Armor Factor: 1.0
$Shield Factor: 1.0
$Subsystem Factor: 0.06
$Lifetime: 7.5
$Energy Consumed: 0.90
$Cargo Size: 0.0
$Homing: NO
$LaunchSnd: 198
$ImpactSnd: 88
+Weapon Range: 30000
$Flags: ( "Big Ship" "Huge" "particle spew" )
$Trail:
+Start Width: 15.0
+End Width: 15.0
+Start Alpha: 1.0
+End Alpha: 0.0
+Max Life: 4.0
+Bitmap: massdriver_trail
$Icon: iconSD4
$Anim: WSHL-12
$Impact Explosion: explo3
$Impact Explosion Radius: 81
$Piercing Impact Explosion: exp06
$Piercing Impact Radius: 30.0
$Piercing Impact Velocity: 375
$Piercing Impact Splash Velocity: 375
$Piercing Impact Variance: 0.0
$Piercing Impact Life: 0.25
$Piercing Impact Particles: 30
$Muzzleflash: railgun_explo
$Pspew:
+Count: 1
+Time: 15
+Vel: 0.0
+Radius: 7.5
+Life: 0.1
+Scale: 0.0
+Bitmap: massdriver_particle
The weapon range line for beams controls the effective targeting range for beams (since beams all run for 30km normally on a "miss" unless its attentuation range is changed). If you add it to a regular weapon, it will override the game's default targeting range calculation based on Lifetime X Velocity, and instead uses the specified range before firing, However, the projectiles' effective range is unchanged - it just changes when the AI will fire it.