diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm
index 4540e48ebc..6e3d995edb 100644
--- a/code/game/objects/effects/spawners/lootdrop.dm
+++ b/code/game/objects/effects/spawners/lootdrop.dm
@@ -378,3 +378,11 @@
/obj/item/circuitboard/computer/apc_control,
/obj/item/circuitboard/computer/robotics
)
+
+/obj/effect/spawner/lootdrop/keg
+ name = "random keg spawner"
+ lootcount = 1
+ loot = list(/obj/structure/reagent_dispensers/keg/mead = 5,
+ /obj/structure/reagent_dispensers/keg/aphro = 2,
+ /obj/structure/reagent_dispensers/keg/aphro/strong = 2,
+ /obj/structure/reagent_dispensers/keg/gargle = 1)
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index b50acb33af..813733d6d7 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -10,6 +10,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
var/item_state = null
var/lefthand_file = 'icons/mob/inhands/items_lefthand.dmi'
var/righthand_file = 'icons/mob/inhands/items_righthand.dmi'
+ var/list/alternate_screams = list() //REEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
//Dimensions of the icon file used when this item is worn, eg: hats.dmi
//eg: 32x32 sprite, 64x64 sprite, etc.
diff --git a/modular_citadel/code/game/objects/items/balls.dm b/code/game/objects/items/balls.dm
similarity index 99%
rename from modular_citadel/code/game/objects/items/balls.dm
rename to code/game/objects/items/balls.dm
index 79552bff6d..59b47bacbd 100644
--- a/modular_citadel/code/game/objects/items/balls.dm
+++ b/code/game/objects/items/balls.dm
@@ -89,4 +89,4 @@
resistance_flags = ACID_PROOF
/datum/action/item_action/squeeze
- name = "Squeak!"
\ No newline at end of file
+ name = "Squeak!"
diff --git a/modular_citadel/code/game/objects/items/boombox.dm b/code/game/objects/items/boombox.dm
similarity index 100%
rename from modular_citadel/code/game/objects/items/boombox.dm
rename to code/game/objects/items/boombox.dm
diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm
index cc009b5fc2..e26b9dd845 100644
--- a/code/game/objects/items/devices/radio/encryptionkey.dm
+++ b/code/game/objects/items/devices/radio/encryptionkey.dm
@@ -92,7 +92,13 @@
/obj/item/encryptionkey/heads/hop
name = "\proper the head of personnel's encryption key"
icon_state = "hop_cypherkey"
- channels = list(RADIO_CHANNEL_SUPPLY = 1, RADIO_CHANNEL_SERVICE = 1, RADIO_CHANNEL_COMMAND = 1)
+ channels = list(RADIO_CHANNEL_SERVICE = 1, RADIO_CHANNEL_COMMAND = 1)
+
+/obj/item/encryptionkey/heads/qm
+ name = "\proper the quartermaster's encryption key"
+ desc = "An encryption key for a radio headset. Channels are as follows: :u - supply, :c - command."
+ icon_state = "hop_cypherkey"
+ channels = list(RADIO_CHANNEL_SUPPLY = 1, RADIO_CHANNEL_COMMAND = 1)
/obj/item/encryptionkey/headset_cargo
name = "supply radio encryption key"
diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm
index 42d9ec0269..94ec3dc541 100644
--- a/code/game/objects/items/devices/radio/headset.dm
+++ b/code/game/objects/items/devices/radio/headset.dm
@@ -206,6 +206,12 @@ GLOBAL_LIST_INIT(channel_tokens, list(
icon_state = "com_headset"
keyslot = new /obj/item/encryptionkey/heads/hop
+/obj/item/radio/headset/heads/qm
+ name = "\proper the quartermaster's headset"
+ desc = "The headset of the king (or queen) of paperwork."
+ icon_state = "com_headset"
+ keyslot = new /obj/item/encryptionkey/heads/qm
+
/obj/item/radio/headset/headset_cargo
name = "supply radio headset"
desc = "A headset used by the QM and his slaves."
diff --git a/code/game/objects/items/grenades/grenade.dm b/code/game/objects/items/grenades/grenade.dm
index 98a1aed4c1..80096827e2 100644
--- a/code/game/objects/items/grenades/grenade.dm
+++ b/code/game/objects/items/grenades/grenade.dm
@@ -122,3 +122,6 @@
owner.visible_message("[attack_text] hits [owner]'s [src], setting it off! What a shot!")
prime()
return TRUE //It hit the grenade, not them
+
+/obj/item/proc/grenade_prime_react(obj/item/grenade/nade)
+ return
diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm
index 6972587263..b1133cb03d 100644
--- a/code/game/objects/items/stunbaton.dm
+++ b/code/game/objects/items/stunbaton.dm
@@ -223,6 +223,46 @@
if(!iscyborg(loc))
deductcharge(1000 / severity, TRUE, FALSE)
+/obj/item/melee/baton/stunsword
+ name = "stunsword"
+ desc = "not actually sharp, this sword is functionally identical to a stunbaton"
+ icon = 'modular_citadel/icons/obj/stunsword.dmi'
+ icon_state = "stunsword"
+ item_state = "sword"
+ lefthand_file = 'modular_citadel/icons/mob/inhands/stunsword_left.dmi'
+ righthand_file = 'modular_citadel/icons/mob/inhands/stunsword_right.dmi'
+
+/obj/item/melee/baton/stunsword/get_belt_overlay()
+ if(istype(loc, /obj/item/storage/belt/sabre))
+ return mutable_appearance('icons/obj/clothing/belt_overlays.dmi', "stunsword")
+ return ..()
+
+/obj/item/melee/baton/stunsword/get_worn_belt_overlay(icon_file)
+ return mutable_appearance(icon_file, "-stunsword")
+
+/obj/item/ssword_kit
+ name = "stunsword kit"
+ desc = "a modkit for making a stunbaton into a stunsword"
+ icon = 'icons/obj/vending_restock.dmi'
+ icon_state = "refill_donksoft"
+ var/product = /obj/item/melee/baton/stunsword //what it makes
+ var/list/fromitem = list(/obj/item/melee/baton, /obj/item/melee/baton/loaded) //what it needs
+ afterattack(obj/O, mob/user as mob)
+ if(istype(O, product))
+ to_chat(user,"[O] is already modified!")
+ else if(O.type in fromitem) //makes sure O is the right thing
+ var/obj/item/melee/baton/B = O
+ if(!B.cell) //checks for a powercell in the baton. If there isn't one, continue. If there is, warn the user to take it out
+ new product(usr.loc) //spawns the product
+ user.visible_message("[user] modifies [O]!","You modify the [O]!")
+ qdel(O) //Gets rid of the baton
+ qdel(src) //gets rid of the kit
+
+ else
+ to_chat(user,"Remove the powercell first!") //We make this check because the stunsword starts without a battery.
+ else
+ to_chat(user, " You can't modify [O] with this kit!")
+
//Makeshift stun baton. Replacement for stun gloves.
/obj/item/melee/baton/cattleprod
name = "stunprod"
@@ -249,5 +289,6 @@
sparkler?.activate()
. = ..()
+
#undef STUNBATON_CHARGE_LENIENCY
#undef STUNBATON_DEPLETION_RATE
diff --git a/modular_citadel/code/init.dm b/code/init.dm
similarity index 55%
rename from modular_citadel/code/init.dm
rename to code/init.dm
index a85c3a249c..04dbddc118 100644
--- a/modular_citadel/code/init.dm
+++ b/code/init.dm
@@ -1,4 +1,4 @@
-//init file stolen from hippie
+//init file stolen from hippie but the real question is why
/proc/cit_initialize()
load_mentors()
diff --git a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm
index 4c6a0fa3b6..ba43e0b9d5 100644
--- a/code/modules/clothing/head/misc.dm
+++ b/code/modules/clothing/head/misc.dm
@@ -178,6 +178,7 @@
icon_state = "xenos"
item_state = "xenos_helm"
desc = "A helmet made out of chitinous alien hide."
+ alternate_screams = list('sound/voice/hiss6.ogg')
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT
/obj/item/clothing/head/fedora
@@ -421,4 +422,4 @@
name = "security cowboy hat"
desc = "A security cowboy hat, perfect for any true lawman"
icon_state = "cowboyhat_sec"
- item_state= "cowboyhat_sec"
\ No newline at end of file
+ item_state= "cowboyhat_sec"
diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm
index a18d68cc72..24a5c5351d 100644
--- a/code/modules/clothing/head/misc_special.dm
+++ b/code/modules/clothing/head/misc_special.dm
@@ -86,6 +86,7 @@
desc = "Perfect for winter in Siberia, da?"
icon_state = "ushankadown"
item_state = "ushankadown"
+ alternate_screams = list('sound/voice/human/cyka1.ogg', 'sound/voice/human/cheekibreeki.ogg')
flags_inv = HIDEEARS|HIDEHAIR
var/earflaps = 1
cold_protection = HEAD
@@ -164,6 +165,7 @@
icon_state = "cardborg_h"
item_state = "cardborg_h"
flags_cover = HEADCOVERSEYES
+ alternate_screams = list('modular_citadel/sound/voice/scream_silicon.ogg')
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT
dog_fashion = /datum/dog_fashion/head/cardborg
diff --git a/modular_citadel/code/game/objects/effects/spawner/spawners.dm b/modular_citadel/code/game/objects/effects/spawner/spawners.dm
deleted file mode 100644
index b6fbeef4c9..0000000000
--- a/modular_citadel/code/game/objects/effects/spawner/spawners.dm
+++ /dev/null
@@ -1,7 +0,0 @@
-/obj/effect/spawner/lootdrop/keg
- name = "random keg spawner"
- lootcount = 1
- loot = list(/obj/structure/reagent_dispensers/keg/mead = 5,
- /obj/structure/reagent_dispensers/keg/aphro = 2,
- /obj/structure/reagent_dispensers/keg/aphro/strong = 2,
- /obj/structure/reagent_dispensers/keg/gargle = 1)
\ No newline at end of file
diff --git a/modular_citadel/code/game/objects/items.dm b/modular_citadel/code/game/objects/items.dm
deleted file mode 100644
index dba460414e..0000000000
--- a/modular_citadel/code/game/objects/items.dm
+++ /dev/null
@@ -1,15 +0,0 @@
-/obj/item
- var/list/alternate_screams = list() //REEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
-
-// lazy for screaming.
-/obj/item/clothing/head/xenos
- alternate_screams = list('sound/voice/hiss6.ogg')
-
-/obj/item/clothing/head/cardborg
- alternate_screams = list('modular_citadel/sound/voice/scream_silicon.ogg')
-
-/obj/item/clothing/head/ushanka
- alternate_screams = list('sound/voice/human/cyka1.ogg', 'sound/voice/human/cheekibreeki.ogg')
-
-/obj/item/proc/grenade_prime_react(obj/item/grenade/nade)
- return
\ No newline at end of file
diff --git a/modular_citadel/code/game/objects/items/devices/radio/encryptionkey.dm b/modular_citadel/code/game/objects/items/devices/radio/encryptionkey.dm
deleted file mode 100644
index 5e3d7318cf..0000000000
--- a/modular_citadel/code/game/objects/items/devices/radio/encryptionkey.dm
+++ /dev/null
@@ -1,10 +0,0 @@
-/obj/item/encryptionkey/heads/qm
- name = "\proper the quartermaster's encryption key"
- desc = "An encryption key for a radio headset. Channels are as follows: :u - supply, :c - command."
- icon_state = "hop_cypherkey"
- channels = list("Supply" = 1, "Command" = 1)
-
-/obj/item/encryptionkey/heads/hop
- desc = "An encryption key for a radio headset. Channels are as follows: :v - service, :c - command."
- channels = list("Service" = 1, "Command" = 1)
-
diff --git a/modular_citadel/code/game/objects/items/devices/radio/headset.dm b/modular_citadel/code/game/objects/items/devices/radio/headset.dm
deleted file mode 100644
index 3d1b36f645..0000000000
--- a/modular_citadel/code/game/objects/items/devices/radio/headset.dm
+++ /dev/null
@@ -1,10 +0,0 @@
-/obj/item/radio/headset/heads/qm
- name = "\proper the quartermaster's headset"
- desc = "The headset of the king (or queen) of paperwork.\nChannels are as follows: :u - supply, :c - command."
- icon_state = "com_headset"
- keyslot = new /obj/item/encryptionkey/heads/qm
-
-/obj/item/radio/headset/heads/hop
- desc = "The headset of the guy who will one day be captain.\nChannels are as follows: :v - service, :c - command."
- keyslot = new /obj/item/encryptionkey/heads/hop
-
diff --git a/modular_citadel/code/game/objects/items/stunsword.dm b/modular_citadel/code/game/objects/items/stunsword.dm
deleted file mode 100644
index 7a5398f7d2..0000000000
--- a/modular_citadel/code/game/objects/items/stunsword.dm
+++ /dev/null
@@ -1,41 +0,0 @@
-/obj/item/melee/baton/stunsword
- name = "stunsword"
- desc = "not actually sharp, this sword is functionally identical to a stunbaton"
- icon = 'modular_citadel/icons/obj/stunsword.dmi'
- icon_state = "stunsword"
- item_state = "sword"
- lefthand_file = 'modular_citadel/icons/mob/inhands/stunsword_left.dmi'
- righthand_file = 'modular_citadel/icons/mob/inhands/stunsword_right.dmi'
-
-/obj/item/melee/baton/stunsword/get_belt_overlay()
- if(istype(loc, /obj/item/storage/belt/sabre))
- return mutable_appearance('icons/obj/clothing/belt_overlays.dmi', "stunsword")
- return ..()
-
-/obj/item/melee/baton/stunsword/get_worn_belt_overlay(icon_file)
- return mutable_appearance(icon_file, "-stunsword")
-
-/obj/item/ssword_kit
- name = "stunsword kit"
- desc = "a modkit for making a stunbaton into a stunsword"
- icon = 'icons/obj/vending_restock.dmi'
- icon_state = "refill_donksoft"
- var/product = /obj/item/melee/baton/stunsword //what it makes
- var/list/fromitem = list(/obj/item/melee/baton, /obj/item/melee/baton/loaded) //what it needs
- afterattack(obj/O, mob/user as mob)
- if(istype(O, product))
- to_chat(user,"[O] is already modified!")
- else if(O.type in fromitem) //makes sure O is the right thing
- var/obj/item/melee/baton/B = O
- if(!B.cell) //checks for a powercell in the baton. If there isn't one, continue. If there is, warn the user to take it out
- new product(usr.loc) //spawns the product
- user.visible_message("[user] modifies [O]!","You modify the [O]!")
- qdel(O) //Gets rid of the baton
- qdel(src) //gets rid of the kit
-
- else
- to_chat(user,"Remove the powercell first!") //We make this check because the stunsword starts without a battery.
- else
- to_chat(user, " You can't modify [O] with this kit!")
-
-
diff --git a/tgstation.dme b/tgstation.dme
index 4372f525b3..a903f465c8 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -15,6 +15,7 @@
// BEGIN_INCLUDE
#include "_maps\_basemap.dm"
#include "code\_compile_options.dm"
+#include "code\init.dm"
#include "code\world.dm"
#include "code\__DEFINES\__513_compatibility.dm"
#include "code\__DEFINES\_globals.dm"
@@ -835,9 +836,11 @@
#include "code\game\objects\items\AI_modules.dm"
#include "code\game\objects\items\airlock_painter.dm"
#include "code\game\objects\items\apc_frame.dm"
+#include "code\game\objects\items\balls.dm"
#include "code\game\objects\items\blueprints.dm"
#include "code\game\objects\items\body_egg.dm"
#include "code\game\objects\items\bodybag.dm"
+#include "code\game\objects\items\boombox.dm"
#include "code\game\objects\items\candle.dm"
#include "code\game\objects\items\cardboard_cutouts.dm"
#include "code\game\objects\items\cards_ids.dm"
@@ -3073,7 +3076,6 @@
#include "interface\interface.dm"
#include "interface\menu.dm"
#include "interface\stylesheet.dm"
-#include "modular_citadel\code\init.dm"
#include "modular_citadel\code\__HELPERS\list2list.dm"
#include "modular_citadel\code\__HELPERS\lists.dm"
#include "modular_citadel\code\__HELPERS\mobs.dm"
@@ -3088,15 +3090,7 @@
#include "modular_citadel\code\datums\status_effects\debuffs.dm"
#include "modular_citadel\code\game\machinery\wishgranter.dm"
#include "modular_citadel\code\game\objects\cit_screenshake.dm"
-#include "modular_citadel\code\game\objects\items.dm"
-#include "modular_citadel\code\game\objects\effects\spawner\spawners.dm"
#include "modular_citadel\code\game\objects\effects\temporary_visuals\souldeath.dm"
-#include "modular_citadel\code\game\objects\items\balls.dm"
-#include "modular_citadel\code\game\objects\items\boombox.dm"
-#include "modular_citadel\code\game\objects\items\stunsword.dm"
-#include "modular_citadel\code\game\objects\items\devices\radio\encryptionkey.dm"
-#include "modular_citadel\code\game\objects\items\devices\radio\headset.dm"
-#include "modular_citadel\code\game\objects\items\devices\radio\shockcollar.dm"
#include "modular_citadel\code\modules\admin\admin.dm"
#include "modular_citadel\code\modules\admin\chat_commands.dm"
#include "modular_citadel\code\modules\admin\holder2.dm"