diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm
index b2a2b8f8..b345d475 100644
--- a/_maps/map_files/PubbyStation/PubbyStation.dmm
+++ b/_maps/map_files/PubbyStation/PubbyStation.dmm
@@ -14718,9 +14718,8 @@
/turf/open/floor/plasteel/white/side,
/area/crew_quarters/dorms)
"aDk" = (
-/obj/machinery/vr_sleeper{
- dir = 8;
- icon_state = "sleeper"
+/obj/machinery/cryopod{
+ dir = 8
},
/turf/open/floor/plasteel/white/corner{
dir = 8
@@ -56851,13 +56850,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/plating,
/area/maintenance/disposal)
-"dbi" = (
-/obj/machinery/vr_sleeper{
- dir = 8;
- icon_state = "sleeper"
- },
-/turf/open/floor/plasteel,
-/area/crew_quarters/dorms)
"dci" = (
/obj/structure/rack,
/obj/item/gun/energy/laser/practice,
@@ -105609,8 +105601,8 @@ fIu
rTZ
aIh
azA
-dbi
-dbi
+rTZ
+rTZ
aDk
aEd
aFb
diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm
index 3525742c..3968e3ef 100644
--- a/code/game/machinery/doors/airlock_types.dm
+++ b/code/game/machinery/doors/airlock_types.dm
@@ -500,7 +500,7 @@
SEND_SOUND(L, sound(pick('sound/hallucinations/turn_around1.ogg','sound/hallucinations/turn_around2.ogg'),0,1,50))
flash_color(L, flash_color="#960000", flash_time=20)
L.Knockdown(40)
- L.throw_at(throwtarget, 5, 1,src)
+ L.throw_at(throwtarget, 5, 1)
return 0
/obj/machinery/door/airlock/cult/proc/conceal()
diff --git a/code/game/turfs/simulated/lava.dm b/code/game/turfs/simulated/lava.dm
index ce98b16e..efdf8c13 100644
--- a/code/game/turfs/simulated/lava.dm
+++ b/code/game/turfs/simulated/lava.dm
@@ -109,7 +109,7 @@
O.resistance_flags |= FLAMMABLE //Even fireproof things burn up in lava
if(O.resistance_flags & FIRE_PROOF)
O.resistance_flags &= ~FIRE_PROOF
- if(O.armor.fire > 50) //obj with 100% fire armor still get slowly burned away.
+ if(O.armor?.fire > 50) //obj with 100% fire armor still get slowly burned away.
O.armor = O.armor.setRating(fire = 50)
O.fire_act(10000, 1000)
diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm
index 19263410..b0a95cac 100644
--- a/code/modules/clothing/head/misc.dm
+++ b/code/modules/clothing/head/misc.dm
@@ -321,6 +321,39 @@
icon_state = "christmashatg"
item_state = "christmashatg"
+
+/obj/item/clothing/head/cowboyhat
+ name = "cowboy hat"
+ desc = "A standard brown cowboy hat, yeehaw."
+ icon_state = "cowboyhat"
+ item_state = "cowboyhat"
+
+/obj/item/clothing/head/cowboyhat/black
+ name = "black cowboy hat"
+ desc = "A a black cowboy hat, perfect for any outlaw"
+ icon_state = "cowboyhat_black"
+ item_state = "cowboyhat_black"
+
+/obj/item/clothing/head/cowboyhat/white
+ name = "white cowboy hat"
+ desc = "A white cowboy hat, perfect for your every day rancher"
+ icon_state = "cowboyhat_white"
+ item_state = "cowboyhat_white"
+
+/obj/item/clothing/head/cowboyhat/pink
+ name = "pink cowboy hat"
+ desc = "A pink cowboy? more like cowgirl hat, just don't be a buckle bunny."
+ icon_state = "cowboyhat_pink"
+ item_state = "cowboyhat_pink"
+
+/obj/item/clothing/head/cowboyhat/sec
+ name = "security cowboy hat"
+ desc = "A security cowboy hat, perfect for any true lawman"
+ icon_state = "cowboyhat_sec"
+ item_state = "cowboyhat_sec"
+ armor = list("melee" = 40, "bullet" = 30, "laser" = 30,"energy" = 10, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50)
+
+
/obj/item/clothing/head/pharaoh
name = "pharaoh hat"
desc = "Walk like an Egyptian."
diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm
index a90be14c..89e038d3 100644
--- a/code/modules/clothing/shoes/miscellaneous.dm
+++ b/code/modules/clothing/shoes/miscellaneous.dm
@@ -397,6 +397,16 @@
desc = "Ankle coverings. Hang ten, brother."
icon_state = "bluecuffs"
+/obj/item/clothing/shoes/cowboyboots
+ name = "cowboy boots"
+ desc = "A standard pair of brown cowboy boots."
+ icon_state = "cowboyboots"
+
+/obj/item/clothing/shoes/cowboyboots/black
+ name = "black cowboy boots"
+ desc = "A pair of black cowboy boots, pretty easy to scuff up."
+ icon_state = "cowboyboots_black"
+
/obj/item/clothing/shoes/winterboots/christmasbootsr
name = "red christmas boots"
desc = "A pair of fluffy red christmas boots!"
diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm
index 48c87cae..f229c0ce 100644
--- a/code/modules/flufftext/Hallucination.dm
+++ b/code/modules/flufftext/Hallucination.dm
@@ -237,10 +237,10 @@ GLOBAL_LIST_INIT(hallucination_list, list(
xeno = new(pump.loc,target)
sleep(10)
xeno.update_icon("alienh_leap",'icons/mob/alienleap.dmi',-32,-32)
- xeno.throw_at(target,7,1, xeno, FALSE, TRUE)
+ xeno.throw_at(target,7,1, null, FALSE, TRUE)
sleep(10)
xeno.update_icon("alienh_leap",'icons/mob/alienleap.dmi',-32,-32)
- xeno.throw_at(pump,7,1, xeno, FALSE, TRUE)
+ xeno.throw_at(pump,7,1, null, FALSE, TRUE)
sleep(10)
var/xeno_name = xeno.name
to_chat(target, "[xeno_name] begins climbing into the ventilation system...")
diff --git a/code/modules/integrated_electronics/subtypes/manipulation.dm b/code/modules/integrated_electronics/subtypes/manipulation.dm
index f4456eaf..12f5791c 100644
--- a/code/modules/integrated_electronics/subtypes/manipulation.dm
+++ b/code/modules/integrated_electronics/subtypes/manipulation.dm
@@ -339,7 +339,7 @@
assembly.visible_message("[assembly] has thrown [A]!")
log_attack("[assembly] [REF(assembly)] has thrown [A] with non-lethal force.")
A.forceMove(drop_location())
- A.throw_at(locate(x_abs, y_abs, T.z), range, 3, , , , CALLBACK(src, .proc/post_throw, A))
+ A.throw_at(locate(x_abs, y_abs, T.z), range, 3, null, null, null, CALLBACK(src, .proc/post_throw, A))
// If the item came from a grabber now we can update the outputs since we've thrown it.
if(istype(G))
diff --git a/code/modules/mob/dead/new_player/sprite_accessories/undershirt.dm b/code/modules/mob/dead/new_player/sprite_accessories/undershirt.dm
index fb40563c..4909ade7 100644
--- a/code/modules/mob/dead/new_player/sprite_accessories/undershirt.dm
+++ b/code/modules/mob/dead/new_player/sprite_accessories/undershirt.dm
@@ -310,4 +310,36 @@
name = "Tube Top"
icon_state = "tubetop"
has_color = TRUE
- gender = FEMALE
\ No newline at end of file
+ gender = FEMALE
+
+/datum/sprite_accessory/underwear/top/cowboyshirt
+ name = "Cowboy Shirt Black"
+ icon_state = "cowboyshirt"
+
+/datum/sprite_accessory/underwear/top/cowboyshirt/s
+ name = "Cowboy Shirt Shortsleeved Black"
+ icon_state = "cowboyshirt_s"
+
+/datum/sprite_accessory/underwear/top/cowboyshirt/white
+ name = "Cowboy Shirt White"
+ icon_state = "cowboyshirt_white"
+
+/datum/sprite_accessory/underwear/top/cowboyshirt/white/s
+ name = "Cowboy Shirt Shortsleeved White"
+ icon_state = "cowboyshirt_whites"
+
+/datum/sprite_accessory/underwear/top/cowboyshirt/navy
+ name = "Cowboy Shirt Navy"
+ icon_state = "cowboyshirt_navy"
+
+/datum/sprite_accessory/underwear/top/cowboyshirt/navy/s
+ name = "Cowboy Shirt Shortsleeved Navy"
+ icon_state = "cowboyshirt_navys"
+
+/datum/sprite_accessory/underwear/top/cowboyshirt/red
+ name = "Cowboy Shirt Red"
+ icon_state = "cowboyshirt_red"
+
+/datum/sprite_accessory/underwear/top/cowboyshirt/red/s
+ name = "Cowboy Shirt Shortsleeved Red"
+ icon_state = "cowboyshirt_reds"
diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm
index 76732918..91f68cd3 100644
--- a/code/modules/mob/mob_helpers.dm
+++ b/code/modules/mob/mob_helpers.dm
@@ -514,10 +514,10 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
//gets ID card object from special clothes slot or null.
/mob/proc/get_idcard(hand_first = TRUE)
var/obj/item/held_item = get_active_held_item()
- . = held_item?.GetID()
+ . = held_item ? held_item.GetID() : null
if(!.) //If so, then check the inactive hand
held_item = get_inactive_held_item()
- . = held_item?.GetID()
+ . = held_item ? held_item.GetID() : null
/mob/proc/get_id_in_hand()
var/obj/item/held_item = get_active_held_item()
diff --git a/code/modules/mob/mob_transformation_simple.dm b/code/modules/mob/mob_transformation_simple.dm
index 673548ff..8c9eb076 100644
--- a/code/modules/mob/mob_transformation_simple.dm
+++ b/code/modules/mob/mob_transformation_simple.dm
@@ -47,7 +47,7 @@
D.updateappearance(mutcolor_update=1, mutations_overlay_update=1)
else if(ishuman(M))
var/mob/living/carbon/human/H = M
- client.prefs.copy_to(H)
+ client?.prefs.copy_to(H)
H.dna.update_dna_identity()
if(mind && isliving(M))
diff --git a/code/modules/modular_computers/computers/item/processor.dm b/code/modules/modular_computers/computers/item/processor.dm
index 99d648d0..b4ed0b1e 100644
--- a/code/modules/modular_computers/computers/item/processor.dm
+++ b/code/modules/modular_computers/computers/item/processor.dm
@@ -17,7 +17,7 @@
machinery_computer = null
/obj/item/modular_computer/processor/New(comp)
- STOP_PROCESSING(SSobj, src) // Processed by its machine
+ . = ..()
if(!comp || !istype(comp, /obj/machinery/modular_computer))
CRASH("Inapropriate type passed to obj/item/modular_computer/processor/New()! Aborting.")
@@ -73,4 +73,4 @@
if(MC_SDD)
machinery_computer.verbs -= /obj/machinery/modular_computer/proc/eject_disk
if(MC_AI)
- machinery_computer.verbs -= /obj/machinery/modular_computer/proc/eject_card
\ No newline at end of file
+ machinery_computer.verbs -= /obj/machinery/modular_computer/proc/eject_card
diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm
index 2aca847e..4ab19515 100644
--- a/code/modules/projectiles/projectile.dm
+++ b/code/modules/projectiles/projectile.dm
@@ -223,8 +223,8 @@
beam_segments[beam_index] = null
/obj/item/projectile/Bump(atom/A)
- var/datum/point/pcache = trajectory.copy_to()
- if(check_ricochet(A) && check_ricochet_flag(A) && ricochets < ricochets_max)
+ if(trajectory && check_ricochet(A) && check_ricochet_flag(A) && ricochets < ricochets_max)
+ var/datum/point/pcache = trajectory.copy_to()
ricochets++
if(A.handle_ricochet(src))
on_ricochet(A)
diff --git a/code/modules/research/designs/machine_desings/machine_designs_all_misc.dm b/code/modules/research/designs/machine_desings/machine_designs_all_misc.dm
index 31723cde..e53f87d9 100644
--- a/code/modules/research/designs/machine_desings/machine_designs_all_misc.dm
+++ b/code/modules/research/designs/machine_desings/machine_designs_all_misc.dm
@@ -95,6 +95,6 @@
name = "Machine Design (VR Sleeper Board)"
desc = "The circuit board for a VR sleeper."
id = "vr_sleeper"
- build_path = /obj/item/circuitboard/machine/vr_sleeper
+ build_path = /obj/item/circuitboard/machine/cell_charger //Replaced with a cell charger until someone takes the job to fix VR sleepers.
departmental_flags = DEPARTMENTAL_FLAG_ALL
category = list ("Medical Machinery")
diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm
index 99a6e415..65a94273 100644
--- a/code/modules/research/designs/weapon_designs.dm
+++ b/code/modules/research/designs/weapon_designs.dm
@@ -157,6 +157,50 @@
category = list("Ammo")
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
+////////////////////////////////
+//MWS 'Big Iron' Specific Ammo//
+////////////////////////////////
+
+/datum/design/xray_mws
+ name = "X-Ray MWS 'Big Iron' Microbattery"
+ desc = "An high-tech X-Ray Microbattery for the MWS 'Big Iron'."
+ id = "mws_xray"
+ build_type = PROTOLATHE
+ materials = list(MAT_GOLD = 2500, MAT_URANIUM = 2000, MAT_METAL = 2500, MAT_TITANIUM = 1000, MAT_BLUESPACE = 1000)
+ build_path = /obj/item/ammo_casing/mws_batt/xray
+ category = list("Ammo")
+ departmental_flags = DEPARTMENTAL_FLAG_SECURITY
+
+/datum/design/ion_mws
+ name = "Ion MWS 'Big Iron' Microbattery"
+ desc = "An mid-tech Ion Microbattery for the MWS 'Big Iron'."
+ id = "mws_ion"
+ build_type = PROTOLATHE
+ materials = list(MAT_SILVER = 3000, MAT_METAL = 4000, MAT_URANIUM = 1000)
+ build_path = /obj/item/ammo_casing/mws_batt/ion
+ category = list("Ammo")
+ departmental_flags = DEPARTMENTAL_FLAG_SECURITY
+
+/datum/design/disabler_mws
+ name = "Disabler MWS 'Big Iron' Microbattery"
+ desc = "An low-tech Disabler Microbattery for the MWS 'Big Iron'."
+ id = "mws_stun"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 7000, MAT_GLASS = 5000, MAT_GOLD = 1250, MAT_SILVER = 1250)
+ build_path = /obj/item/ammo_casing/mws_batt/stun
+ category = list("Ammo")
+ departmental_flags = DEPARTMENTAL_FLAG_SECURITY
+
+/datum/design/lethal_mws
+ name = "Lethal MWS 'Big Iron' Microbattery"
+ desc = "An low-tech Lethal Microbattery for the MWS 'Big Iron'."
+ id = "mws_lethal"
+ build_type = PROTOLATHE
+ materials = list(MAT_METAL = 7000, MAT_GLASS = 5000, MAT_GOLD = 1250, MAT_SILVER = 1250)
+ build_path = /obj/item/ammo_casing/mws_batt/lethal
+ category = list("Ammo")
+ departmental_flags = DEPARTMENTAL_FLAG_SECURITY
+
//////////////
//Firing Pins/
//////////////
diff --git a/code/modules/research/machinery/_production.dm b/code/modules/research/machinery/_production.dm
index 0978986f..48df9a27 100644
--- a/code/modules/research/machinery/_production.dm
+++ b/code/modules/research/machinery/_production.dm
@@ -84,8 +84,9 @@
investigate_log("[key_name(user)] built [amount] of [path] at [src]([type]).", INVESTIGATE_RESEARCH)
message_admins("[ADMIN_LOOKUPFLW(user)] has built [amount] of [path] at a [src]([type]).")
for(var/i in 1 to amount)
- var/obj/item/I = new path(get_turf(src))
- if(efficient_with(I.type))
+ var/obj/O = new path(get_turf(src))
+ if(efficient_with(O.type) && isitem(O))
+ var/obj/item/I = O
I.materials = matlist.Copy()
SSblackbox.record_feedback("nested tally", "item_printed", amount, list("[type]", "[path]"))
diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm
index f7142dbf..5276e2b4 100644
--- a/code/modules/research/techweb/all_nodes.dm
+++ b/code/modules/research/techweb/all_nodes.dm
@@ -657,7 +657,7 @@
display_name = "Weapon Development Technology"
description = "Our researchers have found new to weaponize just about everything now."
prereq_ids = list("engineering")
- design_ids = list("pin_testing", "tele_shield", "lasercarbine")
+ design_ids = list("pin_testing", "tele_shield", "lasercarbine", "mws_stun", "mws_lethal")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 7500)
export_price = 5000
@@ -675,7 +675,7 @@
display_name = "Electric Weapons"
description = "Weapons using electric technology"
prereq_ids = list("weaponry", "adv_power" , "emp_basic")
- design_ids = list("stunrevolver", "stunshell", "ioncarbine")
+ design_ids = list("stunrevolver", "stunshell", "ioncarbine", "mws_ion")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3500)
export_price = 5000
@@ -702,7 +702,7 @@
display_name = "Beam Weaponry"
description = "Various basic beam weapons"
prereq_ids = list("adv_weaponry")
- design_ids = list("temp_gun", "xray_laser")
+ design_ids = list("temp_gun", "xray_laser", "mws_xray")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
export_price = 5000
diff --git a/code/modules/shuttle/special.dm b/code/modules/shuttle/special.dm
index 4ee94c05..26a49bf6 100644
--- a/code/modules/shuttle/special.dm
+++ b/code/modules/shuttle/special.dm
@@ -187,7 +187,7 @@
var/mob/living/M = AM
var/throwtarget = get_edge_target_turf(src, boot_dir)
M.Knockdown(40)
- M.throw_at(throwtarget, 5, 1,src)
+ M.throw_at(throwtarget, 5, 1)
to_chat(M, "No climbing on the bar please.")
else
. = ..()
diff --git a/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm
index 69057c60..fe0595de 100644
--- a/code/modules/surgery/organs/eyes.dm
+++ b/code/modules/surgery/organs/eyes.dm
@@ -227,7 +227,7 @@
terminate_effects()
. = ..()
-/obj/item/organ/eyes/robotic/glow/Remove()
+/obj/item/organ/eyes/robotic/glow/Remove(mob/living/carbon/M, special = FALSE)
terminate_effects()
. = ..()
@@ -338,7 +338,7 @@
/obj/item/organ/eyes/robotic/glow/proc/start_visuals()
if(!islist(eye_lighting))
regenerate_light_effects()
- if((eye_lighting.len < light_beam_distance) || !on_mob)
+ if((LAZYLEN(eye_lighting) < light_beam_distance) || !on_mob)
regenerate_light_effects()
sync_light_effects()
update_visuals()
@@ -377,4 +377,4 @@
/obj/item/organ/eyes/ipc
name = "ipc eyes"
- icon_state = "cybernetic_eyeballs"
\ No newline at end of file
+ icon_state = "cybernetic_eyeballs"
diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm
index fc205f60..cf224f7c 100644
--- a/code/modules/surgery/organs/organ_internal.dm
+++ b/code/modules/surgery/organs/organ_internal.dm
@@ -176,7 +176,7 @@
if(owner)
// The special flag is important, because otherwise mobs can die
// while undergoing transformation into different mobs.
- Remove(owner, special=TRUE)
+ Remove(owner, TRUE)
return ..()
/obj/item/organ/attack(mob/living/carbon/M, mob/user)
diff --git a/code/modules/vending/clothesmate.dm b/code/modules/vending/clothesmate.dm
index 8eb05178..1fed39bb 100644
--- a/code/modules/vending/clothesmate.dm
+++ b/code/modules/vending/clothesmate.dm
@@ -117,7 +117,13 @@
/obj/item/clothing/head/christmashatg = 3,
/obj/item/clothing/shoes/winterboots/christmasbootsr = 3,
/obj/item/clothing/shoes/winterboots/christmasbootsg = 3,
- /obj/item/clothing/shoes/winterboots/santaboots = 3)
+ /obj/item/clothing/shoes/winterboots/santaboots = 3,
+ /obj/item/clothing/head/cowboyhat = 3,
+ /obj/item/clothing/head/cowboyhat/black = 3,
+ /obj/item/clothing/head/cowboyhat/white = 3,
+ /obj/item/clothing/head/cowboyhat/pink = 3,
+ /obj/item/clothing/shoes/cowboyboots = 3,
+ /obj/item/clothing/shoes/cowboyboots/black = 3)
contraband = list(/obj/item/clothing/under/syndicate/tacticool = 3,
/obj/item/clothing/under/syndicate/tacticool/skirt = 3,
/obj/item/clothing/mask/balaclava = 3,
diff --git a/hyperstation/code/modules/surgery/organs/augments_arms.dm b/hyperstation/code/modules/surgery/organs/augments_arms.dm
new file mode 100644
index 00000000..8430fcac
--- /dev/null
+++ b/hyperstation/code/modules/surgery/organs/augments_arms.dm
@@ -0,0 +1,25 @@
+/obj/item/organ/cyberimp/arm/mblade
+ name = "arm-mounted scytheblade"
+ desc = "An extremely dangerous implant which can be used in a variety of ways. Mostly killing."
+ contents = newlist(/obj/item/melee/mblade)
+
+/obj/item/organ/cyberimp/arm/mblade/l
+ zone = BODY_ZONE_L_ARM
+
+/obj/item/melee/mblade
+ name = "mounted scytheblade"
+ desc = "An extremely dangerous implant which can be used in a variety of ways. Mostly killing."
+ icon = 'icons/obj/items_and_weapons.dmi'
+ icon_state = "mblade"
+ item_state = "mblade"
+ lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi'
+ righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi'
+ force = 45
+ hitsound = 'sound/weapons/bladeslice.ogg'
+ throwforce = 45
+ block_chance = 70
+ armour_penetration = 80
+ flags_1 = CONDUCT_1
+ w_class = WEIGHT_CLASS_BULKY
+ sharpness = IS_SHARP_ACCURATE
+ attack_verb = list("slashed", "cut")
diff --git a/icons/mob/feet.dmi b/icons/mob/feet.dmi
index f5ddc89e..57b85d70 100644
Binary files a/icons/mob/feet.dmi and b/icons/mob/feet.dmi differ
diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi
index de85ec3d..689dc07d 100644
Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ
diff --git a/icons/mob/inhands/weapons/melee_lefthand.dmi b/icons/mob/inhands/weapons/melee_lefthand.dmi
index ee5b26e3..6e9aa072 100644
Binary files a/icons/mob/inhands/weapons/melee_lefthand.dmi and b/icons/mob/inhands/weapons/melee_lefthand.dmi differ
diff --git a/icons/mob/inhands/weapons/melee_righthand.dmi b/icons/mob/inhands/weapons/melee_righthand.dmi
index 2391514d..b5f2f451 100644
Binary files a/icons/mob/inhands/weapons/melee_righthand.dmi and b/icons/mob/inhands/weapons/melee_righthand.dmi differ
diff --git a/icons/mob/underwear.dmi b/icons/mob/underwear.dmi
index bf0df371..a5cb33f3 100644
Binary files a/icons/mob/underwear.dmi and b/icons/mob/underwear.dmi differ
diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi
index 3d93c30b..ab6d1f8a 100644
Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ
diff --git a/icons/obj/clothing/shoes.dmi b/icons/obj/clothing/shoes.dmi
index 9e8621de..7815d52d 100644
Binary files a/icons/obj/clothing/shoes.dmi and b/icons/obj/clothing/shoes.dmi differ
diff --git a/icons/obj/items_and_weapons.dmi b/icons/obj/items_and_weapons.dmi
index 5caa3e04..8dac840e 100644
Binary files a/icons/obj/items_and_weapons.dmi and b/icons/obj/items_and_weapons.dmi differ
diff --git a/modular_citadel/code/datums/traits/neutral.dm b/modular_citadel/code/datums/traits/neutral.dm
index de682418..d26f64a1 100644
--- a/modular_citadel/code/datums/traits/neutral.dm
+++ b/modular_citadel/code/datums/traits/neutral.dm
@@ -9,14 +9,13 @@
lose_text = "You don't feel that burning sensation anymore."
/datum/quirk/libido/add()
- var/mob/living/M = quirk_holder
- M.min_arousal = 16
- M.arousal_rate = 3
+ quirk_holder.min_arousal = 16
+ quirk_holder.arousal_rate = 3
/datum/quirk/libido/remove()
- var/mob/living/M = quirk_holder
- M.min_arousal = initial(M.min_arousal)
- M.arousal_rate = initial(M.arousal_rate)
+ if(quirk_holder)
+ quirk_holder.min_arousal = initial(quirk_holder.min_arousal)
+ quirk_holder.arousal_rate = initial(quirk_holder.arousal_rate)
/datum/quirk/libido/on_process()
var/mob/living/M = quirk_holder
diff --git a/modular_citadel/code/modules/client/loadout/head.dm b/modular_citadel/code/modules/client/loadout/head.dm
index 921881a1..238af10b 100644
--- a/modular_citadel/code/modules/client/loadout/head.dm
+++ b/modular_citadel/code/modules/client/loadout/head.dm
@@ -109,6 +109,33 @@
category = SLOT_HEAD
path = /obj/item/clothing/head/christmashatg
+/datum/gear/cowboyhat
+ name = "Cowboy Hat, Brown"
+ category = SLOT_HEAD
+ path = /obj/item/clothing/head/cowboyhat
+
+/datum/gear/cowboyhat/black
+ name = "Cowboy Hat, Black"
+ category = SLOT_HEAD
+ path = /obj/item/clothing/head/cowboyhat/black
+
+/datum/gear/cowboyhat/white
+ name = "Cowboy Hat, White"
+ category = SLOT_HEAD
+ path = /obj/item/clothing/head/cowboyhat/white
+
+/datum/gear/cowboyhat/pink
+ name = "Cowboy Hat, Pink"
+ category = SLOT_HEAD
+ path = /obj/item/clothing/head/cowboyhat/pink
+
+/datum/gear/cowboyhat/sec
+ name = "Cowboy Hat, Security"
+ category = SLOT_HEAD
+ path = /obj/item/clothing/head/cowboyhat/sec
+ restricted_desc = "Security"
+ restricted_roles = list("Warden","Detective","Security Officer","Head of Security")
+
/datum/gear/pharaohmhat
name = "Pharaoh Hat"
category = SLOT_HEAD
@@ -128,4 +155,4 @@
name = "Improper Roman legionnaire helmet"
category = SLOT_HEAD
path = /obj/item/clothing/head/helmet/roman/legionnaire/fake
- cost = 2
\ No newline at end of file
+ cost = 2
diff --git a/modular_citadel/code/modules/client/loadout/shoes.dm b/modular_citadel/code/modules/client/loadout/shoes.dm
index 7b9fe2b1..d4da69d2 100644
--- a/modular_citadel/code/modules/client/loadout/shoes.dm
+++ b/modular_citadel/code/modules/client/loadout/shoes.dm
@@ -93,12 +93,22 @@
category = SLOT_SHOES
path= /obj/item/clothing/shoes/winterboots/santaboots
-datum/gear/highheels
+/datum/gear/highheels
name = "High Heels"
category = SLOT_SHOES
path= /obj/item/clothing/shoes/highheels
-datum/gear/romansandals
+/datum/gear/romansandals
name = "Roman sandals"
category = SLOT_SHOES
- path= /obj/item/clothing/shoes/roman
\ No newline at end of file
+ path= /obj/item/clothing/shoes/roman
+
+/datum/gear/cowboyboots
+ name = "Cowboy Boots, Brown"
+ category = SLOT_SHOES
+ path = /obj/item/clothing/shoes/cowboyboots
+
+/datum/gear/cowboyboots/black
+ name = "Cowboy Boots, Black"
+ category = SLOT_SHOES
+ path = /obj/item/clothing/shoes/cowboyboots/black
diff --git a/tgstation.dme b/tgstation.dme
index 7fcdee30..f96ab7c0 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -3057,6 +3057,7 @@
#include "hyperstation\code\modules\resize\resizing.dm"
#include "hyperstation\code\modules\resize\sizechems.dm"
#include "hyperstation\code\modules\resize\sizegun.dm"
+#include "hyperstation\code\modules\surgery\organs\augments_arms.dm"
#include "hyperstation\code\obj\bluespace sewing kit.dm"
#include "hyperstation\code\obj\condom.dm"
#include "hyperstation\code\obj\decal.dm"