diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm
index 870aa3d4411..192599073a6 100644
--- a/code/game/mecha/equipment/weapons/weapons.dm
+++ b/code/game/mecha/equipment/weapons/weapons.dm
@@ -28,6 +28,10 @@
var/turf/targloc = get_turf(target)
if(!curloc || !targloc)
return
+ chassis.use_power(energy_drain)
+ chassis.visible_message("[chassis] fires [src]!")
+ occupant_message("You fire [src]!")
+ log_message("Fired from [src], targeting [target].")
for(var/i = 1 to min(projectiles, projectiles_per_shot))
var/turf/aimloc = targloc
if(deviation)
@@ -43,10 +47,6 @@
if(auto_rearm)
projectiles = projectiles_per_shot
set_ready_state(0)
- chassis.use_power(energy_drain)
- chassis.visible_message("[chassis] fires [src]!")
- occupant_message("You fire [src]!")
- log_message("Fired from [src], targeting [target].")
do_after_cooldown()
return
@@ -223,6 +223,7 @@
projectiles_per_shot = 3
deviation = 0.3
projectile_energy_cost = 20
+ fire_cooldown = 2
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack
var/missile_speed = 2
diff --git a/code/game/mecha/mecha_parts.dm b/code/game/mecha/mecha_parts.dm
index 9d8c0696b29..2db25119fb3 100644
--- a/code/game/mecha/mecha_parts.dm
+++ b/code/game/mecha/mecha_parts.dm
@@ -6,7 +6,7 @@
name = "mecha part"
icon = 'icons/mecha/mech_construct.dmi'
icon_state = "blank"
- w_class = 20
+ w_class = 5
flags = FPRINT | TABLEPASS | CONDUCT
origin_tech = "programming=2;materials=2"
var/construction_time = 100