diff --git a/code/game/mecha/combat/combat.dm b/code/game/mecha/combat/combat.dm
index 6077431123a..e9be41ae473 100644
--- a/code/game/mecha/combat/combat.dm
+++ b/code/game/mecha/combat/combat.dm
@@ -3,6 +3,7 @@
var/melee_cooldown = 10
var/melee_can_hit = 1
var/list/destroyable_obj = list(/obj/mecha, /obj/structure/window, /obj/structure/grille, /turf/simulated/wall)
+ var/maxsize = 2
internal_damage_threshold = 50
maint_access = 0
//add_req_access = 0
diff --git a/code/game/mecha/combat/gygax.dm b/code/game/mecha/combat/gygax.dm
index 9962e29705c..a68fd42e0e5 100644
--- a/code/game/mecha/combat/gygax.dm
+++ b/code/game/mecha/combat/gygax.dm
@@ -15,13 +15,14 @@
wreckage = /obj/effect/decal/mecha_wreckage/gygax
internal_damage_threshold = 35
max_equip = 3
+ maxsize = 1
force = 10
/obj/mecha/combat/gygax/loaded/New()
..()
var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/weapon/energy/taser
ME.attach(src)
- ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang/clusterbang
+ ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang
ME.attach(src)
return
@@ -37,6 +38,7 @@
overload_coeff = 1
wreckage = /obj/effect/decal/mecha_wreckage/gygax/dark
max_equip = 4
+ maxsize = 2
step_energy_drain = 5
/obj/mecha/combat/gygax/dark/New()
diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm
index 3605c493246..55ac2dbddcd 100644
--- a/code/game/mecha/equipment/weapons/weapons.dm
+++ b/code/game/mecha/equipment/weapons/weapons.dm
@@ -4,18 +4,20 @@
origin_tech = "materials=3;combat=3"
var/projectile
var/fire_sound
-
+ var/size=0
/obj/item/mecha_parts/mecha_equipment/weapon/can_attach(var/obj/mecha/combat/M as obj)
if(..())
if(istype(M))
+ if(size > M.maxsize)
+ return 0
return 1
return 0
/obj/item/mecha_parts/mecha_equipment/weapon/energy
name = "General Energy Weapon"
-
+ size = 2
action(target)
if(!action_checks(target)) return
var/turf/curloc = chassis.loc
@@ -107,7 +109,7 @@
equip_cooldown = 8
projectile = /obj/item/projectile/beam/stun
fire_sound = 'sound/weapons/Taser.ogg'
-
+ size = 1
/obj/item/mecha_parts/mecha_equipment/weapon/honker
name = "HoNkER BlAsT 5000"
@@ -169,7 +171,7 @@
name = "General Ballisic Weapon"
var/projectiles
var/projectile_energy_cost
-
+ size = 2
action_checks(atom/target)
if(..())
if(projectiles > 0)
@@ -343,7 +345,7 @@
projectile_energy_cost = 800
equip_cooldown = 60
var/det_time = 20
-
+ size=1
action(target)
if(!action_checks(target)) return
set_ready_state(0)
@@ -361,7 +363,7 @@
name = "SOP-6 Grenade Launcher"
projectile = /obj/item/weapon/grenade/flashbang/clusterbang
construction_cost = list("metal"=20000,"gold"=6000,"uranium"=6000)
-
+ size=1
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang/clusterbang/limited/get_equip_info()//Limited version of the clusterbang launcher that can't reload
return "* [chassis.selected==src?"":""][src.name][chassis.selected==src?"":""]\[[src.projectiles]\]"