diff --git a/baystation12.dme b/baystation12.dme index 1453fd6be2d..708ae6033c4 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -1076,6 +1076,7 @@ #include "code\modules\mob\simple_animal\worm.dm" #include "code\modules\power\apc.dm" #include "code\modules\power\cable.dm" +#include "code\modules\power\cable_heavyduty.dm" #include "code\modules\power\cell.dm" #include "code\modules\power\engine.dm" #include "code\modules\power\generator.dm" diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 69558e18fb5..31f7e391cfa 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -547,7 +547,7 @@ if (emptyHand) wear_mask.DblClick() return - if (!( istype(W, /obj/item/clothing/mask) )) + if (!( W.slot_flags & SLOT_MASK )) return u_equip(W) wear_mask = W diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index aabe19c9e90..17e4acdde25 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -90,15 +90,20 @@ if("mask") if (wear_mask) return - if (!( istype(W, /obj/item/clothing/mask) )) + if (!( W.slot_flags & SLOT_MASK )) return u_equip(W) wear_mask = W W.equipped(src, text) if("back") - if ((back || !( istype(W, /obj/item/weapon) ))) + if (back) return - if (!( W.flags & 1 )) + if (!istype(W, /obj/item)) + return + if (!( W.slot_flags & SLOT_BACK )) + return + if(istype(W,/obj/item/weapon/twohanded) && W:wielded) + usr << "Unwield the [initial(W.name)] first!" return u_equip(W) back = W diff --git a/code/modules/power/cable_heavyduty.dm b/code/modules/power/cable_heavyduty.dm new file mode 100644 index 00000000000..b23d164b214 --- /dev/null +++ b/code/modules/power/cable_heavyduty.dm @@ -0,0 +1,27 @@ +/obj/item/weapon/cable_coil/heavyduty + name = "heavy cable coil" + icon = 'power.dmi' + icon_state = "wire" + +/obj/structure/cable/heavyduty + icon = 'power_cond_heavy.dmi' + name = "large power cable" + desc = "This cable is tough. It cannot be cut with simple hand tools." + +/obj/structure/cable/heavyduty/attackby(obj/item/W, mob/user) + + var/turf/T = src.loc + if(T.intact) + return + + if(istype(W, /obj/item/weapon/wirecutters)) + usr << "\blue These cables are too tough to be cut with those [W.name]." + return + else if(istype(W, /obj/item/weapon/cable_coil)) + usr << "\blue You will need heavier cables to connect to these." + return + else + ..() + +/obj/structure/cable/heavyduty/cableColor(var/colorC) + return \ No newline at end of file diff --git a/icons/obj/power_cond_heavy.dmi b/icons/obj/power_cond_heavy.dmi new file mode 100644 index 00000000000..69b9ef085b1 Binary files /dev/null and b/icons/obj/power_cond_heavy.dmi differ