From 2453e95eee75a1884c5c015b1a0743d1fd35ea68 Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:16:51 -0500
Subject: [PATCH 01/35] moves this
---
code/init.dm | 5 +++++
1 file changed, 5 insertions(+)
create mode 100644 code/init.dm
diff --git a/code/init.dm b/code/init.dm
new file mode 100644
index 0000000000..04dbddc118
--- /dev/null
+++ b/code/init.dm
@@ -0,0 +1,5 @@
+//init file stolen from hippie but the real question is why
+
+/proc/cit_initialize()
+ load_mentors()
+ initialize_global_loadout_items()
From 9f85b541659014c3ca010e1df51e61541eac6071 Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:17:52 -0500
Subject: [PATCH 02/35] moves this
---
tgstation.dme | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tgstation.dme b/tgstation.dme
index a6d8501b04..9da63745c9 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"
@@ -3061,7 +3062,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"
From 820eeceb12052d14dcce7527d8599061dcf32cf7 Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:18:03 -0500
Subject: [PATCH 03/35] bye
---
modular_citadel/code/init.dm | 5 -----
1 file changed, 5 deletions(-)
delete mode 100644 modular_citadel/code/init.dm
diff --git a/modular_citadel/code/init.dm b/modular_citadel/code/init.dm
deleted file mode 100644
index a85c3a249c..0000000000
--- a/modular_citadel/code/init.dm
+++ /dev/null
@@ -1,5 +0,0 @@
-//init file stolen from hippie
-
-/proc/cit_initialize()
- load_mentors()
- initialize_global_loadout_items()
From 25422542c9816065c48de6630901591f88e03e3a Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:19:00 -0500
Subject: [PATCH 04/35] this
---
code/game/objects/effects/spawners/lootdrop.dm | 8 ++++++++
1 file changed, 8 insertions(+)
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)
From 0079a5acad02b4f002d4d019cb6ef6971568ae50 Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:19:13 -0500
Subject: [PATCH 05/35] byye
---
.../code/game/objects/effects/spawner/spawners.dm | 7 -------
1 file changed, 7 deletions(-)
delete mode 100644 modular_citadel/code/game/objects/effects/spawner/spawners.dm
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
From 046c56c194f0916ec9f4ffde2d13b8069942ce3f Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:19:33 -0500
Subject: [PATCH 06/35] cya
---
tgstation.dme | 1 -
1 file changed, 1 deletion(-)
diff --git a/tgstation.dme b/tgstation.dme
index 9da63745c9..4c969e175e 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -3077,7 +3077,6 @@
#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"
From 412b0175b6b9e6edc08eab1095484dd8d0175a09 Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:20:53 -0500
Subject: [PATCH 07/35] new file
---
code/game/objects/items/balls.dm | 92 ++++++++++++++++++++++++++++++++
1 file changed, 92 insertions(+)
create mode 100644 code/game/objects/items/balls.dm
diff --git a/code/game/objects/items/balls.dm b/code/game/objects/items/balls.dm
new file mode 100644
index 0000000000..59b47bacbd
--- /dev/null
+++ b/code/game/objects/items/balls.dm
@@ -0,0 +1,92 @@
+/* BALLS - GLORIOUS BALLS
+//
+// Includes:-
+// 1) Tennis balls, lines 10 - 92
+//
+//
+//
+*/
+
+/obj/item/toy/tennis
+ name = "tennis ball"
+ desc = "A classical tennis ball. It appears to have faint bite marks scattered all over its surface."
+ icon = 'modular_citadel/icons/obj/balls.dmi'
+ icon_state = "tennis_classic"
+ lefthand_file = 'modular_citadel/icons/mob/inhands/balls_left.dmi'
+ righthand_file = 'modular_citadel/icons/mob/inhands/balls_right.dmi'
+ item_state = "tennis_classic"
+ alternate_worn_icon = 'modular_citadel/icons/mob/mouthball.dmi'
+ slot_flags = ITEM_SLOT_HEAD | ITEM_SLOT_NECK | ITEM_SLOT_EARS //Fluff item, put it wherever you want!
+ throw_range = 14
+ w_class = WEIGHT_CLASS_SMALL
+
+/obj/item/toy/tennis/pre_altattackby(atom/A, mob/living/user, params) //checks if it can do right click memes
+ altafterattack(A, user, TRUE, params)
+ return TRUE
+
+/obj/item/toy/tennis/altafterattack(atom/target, mob/living/carbon/user, proximity_flag, click_parameters) //does right click memes
+ if(istype(user))
+ user.visible_message("[user] waggles [src] at [target].", "You waggle [src] at [target].")
+ return TRUE
+
+/obj/item/toy/tennis/rainbow
+ name = "pseudo-euclidean interdimensional tennis sphere"
+ desc = "A tennis ball from another plane of existance. Really groovy."
+ icon_state = "tennis_rainbow"
+ item_state = "tennis_rainbow"
+ actions_types = list(/datum/action/item_action/squeeze) //Giving the masses easy access to unilimted honks would be annoying
+
+/obj/item/toy/tennis/rainbow/Initialize()
+ . = ..()
+ AddComponent(/datum/component/squeak)
+
+/obj/item/toy/tennis/rainbow/izzy //izzyinbox's donator item
+ name = "Katlin's Ball"
+ desc = "A tennis ball that's seen a good bit of love, being covered in a few black and white hairs and slobber."
+ icon_state = "tennis_izzy"
+ item_state = "tennis_izzy"
+
+/obj/item/toy/tennis/red //da red wuns go fasta
+ name = "red tennis ball"
+ desc = "A red tennis ball. It goes three times faster!"
+ icon_state = "tennis_red"
+ item_state = "tennis_red"
+ throw_speed = 9
+
+/obj/item/toy/tennis/yellow //because yellow is hot I guess
+ name = "yellow tennis ball"
+ desc = "A yellow tennis ball. It seems to have a flame-retardant coating."
+ icon_state = "tennis_yellow"
+ item_state = "tennis_yellow"
+ resistance_flags = FIRE_PROOF
+
+/obj/item/toy/tennis/green //pestilence
+ name = "green tennis ball"
+ desc = "A green tennis ball. It seems to have an impermeable coating."
+ icon_state = "tennis_green"
+ item_state = "tennis_green"
+ permeability_coefficient = 0.9
+
+/obj/item/toy/tennis/cyan //electric
+ name = "cyan tennis ball"
+ desc = "A cyan tennis ball. It seems to have odd electrical properties."
+ icon_state = "tennis_cyan"
+ item_state = "tennis_cyan"
+ siemens_coefficient = 0.9
+
+/obj/item/toy/tennis/blue //reliability
+ name = "blue tennis ball"
+ desc = "A blue tennis ball. It seems ever so slightly more robust than normal."
+ icon_state = "tennis_blue"
+ item_state = "tennis_blue"
+ max_integrity = 300
+
+/obj/item/toy/tennis/purple //because purple dyes have high pH and would neutralize acids I guess
+ name = "purple tennis ball"
+ desc = "A purple tennis ball. It seems to have an acid-resistant coating."
+ icon_state = "tennis_purple"
+ item_state = "tennis_purple"
+ resistance_flags = ACID_PROOF
+
+/datum/action/item_action/squeeze
+ name = "Squeak!"
From 2f9b6f93bb9289818c66b2723d4f755684da2490 Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:21:37 -0500
Subject: [PATCH 08/35] balls.dm
---
tgstation.dme | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tgstation.dme b/tgstation.dme
index 4c969e175e..ea637139ec 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -836,6 +836,7 @@
#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"
@@ -3078,7 +3079,6 @@
#include "modular_citadel\code\game\objects\cit_screenshake.dm"
#include "modular_citadel\code\game\objects\items.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"
From 4ebc80e13755c9fd95c084d8bcd117e1b6536540 Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:21:45 -0500
Subject: [PATCH 09/35] bye bye
---
.../code/game/objects/items/balls.dm | 92 -------------------
1 file changed, 92 deletions(-)
delete mode 100644 modular_citadel/code/game/objects/items/balls.dm
diff --git a/modular_citadel/code/game/objects/items/balls.dm b/modular_citadel/code/game/objects/items/balls.dm
deleted file mode 100644
index 79552bff6d..0000000000
--- a/modular_citadel/code/game/objects/items/balls.dm
+++ /dev/null
@@ -1,92 +0,0 @@
-/* BALLS - GLORIOUS BALLS
-//
-// Includes:-
-// 1) Tennis balls, lines 10 - 92
-//
-//
-//
-*/
-
-/obj/item/toy/tennis
- name = "tennis ball"
- desc = "A classical tennis ball. It appears to have faint bite marks scattered all over its surface."
- icon = 'modular_citadel/icons/obj/balls.dmi'
- icon_state = "tennis_classic"
- lefthand_file = 'modular_citadel/icons/mob/inhands/balls_left.dmi'
- righthand_file = 'modular_citadel/icons/mob/inhands/balls_right.dmi'
- item_state = "tennis_classic"
- alternate_worn_icon = 'modular_citadel/icons/mob/mouthball.dmi'
- slot_flags = ITEM_SLOT_HEAD | ITEM_SLOT_NECK | ITEM_SLOT_EARS //Fluff item, put it wherever you want!
- throw_range = 14
- w_class = WEIGHT_CLASS_SMALL
-
-/obj/item/toy/tennis/pre_altattackby(atom/A, mob/living/user, params) //checks if it can do right click memes
- altafterattack(A, user, TRUE, params)
- return TRUE
-
-/obj/item/toy/tennis/altafterattack(atom/target, mob/living/carbon/user, proximity_flag, click_parameters) //does right click memes
- if(istype(user))
- user.visible_message("[user] waggles [src] at [target].", "You waggle [src] at [target].")
- return TRUE
-
-/obj/item/toy/tennis/rainbow
- name = "pseudo-euclidean interdimensional tennis sphere"
- desc = "A tennis ball from another plane of existance. Really groovy."
- icon_state = "tennis_rainbow"
- item_state = "tennis_rainbow"
- actions_types = list(/datum/action/item_action/squeeze) //Giving the masses easy access to unilimted honks would be annoying
-
-/obj/item/toy/tennis/rainbow/Initialize()
- . = ..()
- AddComponent(/datum/component/squeak)
-
-/obj/item/toy/tennis/rainbow/izzy //izzyinbox's donator item
- name = "Katlin's Ball"
- desc = "A tennis ball that's seen a good bit of love, being covered in a few black and white hairs and slobber."
- icon_state = "tennis_izzy"
- item_state = "tennis_izzy"
-
-/obj/item/toy/tennis/red //da red wuns go fasta
- name = "red tennis ball"
- desc = "A red tennis ball. It goes three times faster!"
- icon_state = "tennis_red"
- item_state = "tennis_red"
- throw_speed = 9
-
-/obj/item/toy/tennis/yellow //because yellow is hot I guess
- name = "yellow tennis ball"
- desc = "A yellow tennis ball. It seems to have a flame-retardant coating."
- icon_state = "tennis_yellow"
- item_state = "tennis_yellow"
- resistance_flags = FIRE_PROOF
-
-/obj/item/toy/tennis/green //pestilence
- name = "green tennis ball"
- desc = "A green tennis ball. It seems to have an impermeable coating."
- icon_state = "tennis_green"
- item_state = "tennis_green"
- permeability_coefficient = 0.9
-
-/obj/item/toy/tennis/cyan //electric
- name = "cyan tennis ball"
- desc = "A cyan tennis ball. It seems to have odd electrical properties."
- icon_state = "tennis_cyan"
- item_state = "tennis_cyan"
- siemens_coefficient = 0.9
-
-/obj/item/toy/tennis/blue //reliability
- name = "blue tennis ball"
- desc = "A blue tennis ball. It seems ever so slightly more robust than normal."
- icon_state = "tennis_blue"
- item_state = "tennis_blue"
- max_integrity = 300
-
-/obj/item/toy/tennis/purple //because purple dyes have high pH and would neutralize acids I guess
- name = "purple tennis ball"
- desc = "A purple tennis ball. It seems to have an acid-resistant coating."
- icon_state = "tennis_purple"
- item_state = "tennis_purple"
- resistance_flags = ACID_PROOF
-
-/datum/action/item_action/squeeze
- name = "Squeak!"
\ No newline at end of file
From e5e58518e4a9015d70827594c7de2c933c83a412 Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:22:44 -0500
Subject: [PATCH 10/35] boomers
---
code/game/objects/items/boombox.dm | 61 ++++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)
create mode 100644 code/game/objects/items/boombox.dm
diff --git a/code/game/objects/items/boombox.dm b/code/game/objects/items/boombox.dm
new file mode 100644
index 0000000000..10d12f1973
--- /dev/null
+++ b/code/game/objects/items/boombox.dm
@@ -0,0 +1,61 @@
+/obj/item/boombox
+ name = "boombox"
+ desc = "A dusty, gray, bulky, battery-powered, auto-looping stereo cassette player. An ancient relic from prehistoric times on that one planet with humans and stuff. Yeah, that one."
+ icon = 'modular_citadel/icons/obj/boombox.dmi'
+ icon_state = "raiqbawks_off"//PLACEHOLDER UNTIL SOMEONE SPRITES PLAIN NON-FANCY BOOMBOXES
+ w_class = WEIGHT_CLASS_NORMAL
+ force = 3
+ var/baseiconstate = "raiqbawks"
+ var/boomingandboxing = FALSE
+ var/list/availabletrackids
+
+/obj/item/boombox/attack_self(mob/user)
+ . = ..()
+ if(boomingandboxing)
+ SSjukeboxes.removejukebox(SSjukeboxes.findjukeboxindex(src))
+ boomingandboxing = FALSE
+ to_chat(user, "You flip a switch on [src], and the music immediately stops.")
+ update_icon()
+ return
+ if(!availabletrackids || !availabletrackids.len)
+ to_chat(user, "[src] flashes as you prod it senselessly. It doesn't have any songs stored on it.")
+ return
+ if(!boomingandboxing)
+ var/list/tracklist = list()
+ for(var/datum/track/S in SSjukeboxes.songs)
+ if(istype(S) && S.song_associated_id in availabletrackids)
+ tracklist[S.song_name] = S
+ var/selected = input(user, "Play song", "Track:") as null|anything in tracklist
+ if(QDELETED(src) || !selected || !istype(tracklist[selected], /datum/track))
+ return
+ var/jukeboxslottotake = SSjukeboxes.addjukebox(src, tracklist[selected])
+ if(jukeboxslottotake)
+ boomingandboxing = TRUE
+ update_icon()
+
+/obj/item/boombox/Destroy(mob/user)
+ SSjukeboxes.removejukebox(SSjukeboxes.findjukeboxindex(src))
+ . = ..()
+
+/obj/item/boombox/update_icon()
+ icon_state = "[baseiconstate]_[boomingandboxing ? "on" : "off"]"
+ return
+
+/obj/item/boombox/raiq
+ name = "Miami Boomer"
+ desc = "A shiny, fashionable boombox filled to the brim with neon lights, synthesizers, gang violence, and broken R keys. A worn-out sticker on the back states \"Includes three kickin' beats!\""
+ icon_state = "raiqbawks_off"
+ baseiconstate = "raiqbawks"
+ availabletrackids = list("hotline.ogg","chiptune.ogg","genesis.ogg")
+
+/obj/item/boombox/raiq/update_icon()
+ . = ..()
+ if(boomingandboxing)
+ START_PROCESSING(SSobj, src)
+ else
+ STOP_PROCESSING(SSobj, src)
+ set_light(0)
+
+/obj/item/boombox/raiq/process()
+ set_light(5,0.95,pick("#d87aff","#7a7aff","#89ecff","#b88eff","#ff59ad"))
+ return
From ab8e82d3df48832b7402afb88b9d4c704db05c5b Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:23:25 -0500
Subject: [PATCH 11/35] boombox
---
tgstation.dme | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tgstation.dme b/tgstation.dme
index ea637139ec..0505947573 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -840,6 +840,7 @@
#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"
@@ -3079,7 +3080,6 @@
#include "modular_citadel\code\game\objects\cit_screenshake.dm"
#include "modular_citadel\code\game\objects\items.dm"
#include "modular_citadel\code\game\objects\effects\temporary_visuals\souldeath.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"
From 0f7b3f4ee89e8504c46e22bc1d53b59d3ab32050 Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:23:32 -0500
Subject: [PATCH 12/35] death
---
.../code/game/objects/items/boombox.dm | 61 -------------------
1 file changed, 61 deletions(-)
delete mode 100644 modular_citadel/code/game/objects/items/boombox.dm
diff --git a/modular_citadel/code/game/objects/items/boombox.dm b/modular_citadel/code/game/objects/items/boombox.dm
deleted file mode 100644
index 10d12f1973..0000000000
--- a/modular_citadel/code/game/objects/items/boombox.dm
+++ /dev/null
@@ -1,61 +0,0 @@
-/obj/item/boombox
- name = "boombox"
- desc = "A dusty, gray, bulky, battery-powered, auto-looping stereo cassette player. An ancient relic from prehistoric times on that one planet with humans and stuff. Yeah, that one."
- icon = 'modular_citadel/icons/obj/boombox.dmi'
- icon_state = "raiqbawks_off"//PLACEHOLDER UNTIL SOMEONE SPRITES PLAIN NON-FANCY BOOMBOXES
- w_class = WEIGHT_CLASS_NORMAL
- force = 3
- var/baseiconstate = "raiqbawks"
- var/boomingandboxing = FALSE
- var/list/availabletrackids
-
-/obj/item/boombox/attack_self(mob/user)
- . = ..()
- if(boomingandboxing)
- SSjukeboxes.removejukebox(SSjukeboxes.findjukeboxindex(src))
- boomingandboxing = FALSE
- to_chat(user, "You flip a switch on [src], and the music immediately stops.")
- update_icon()
- return
- if(!availabletrackids || !availabletrackids.len)
- to_chat(user, "[src] flashes as you prod it senselessly. It doesn't have any songs stored on it.")
- return
- if(!boomingandboxing)
- var/list/tracklist = list()
- for(var/datum/track/S in SSjukeboxes.songs)
- if(istype(S) && S.song_associated_id in availabletrackids)
- tracklist[S.song_name] = S
- var/selected = input(user, "Play song", "Track:") as null|anything in tracklist
- if(QDELETED(src) || !selected || !istype(tracklist[selected], /datum/track))
- return
- var/jukeboxslottotake = SSjukeboxes.addjukebox(src, tracklist[selected])
- if(jukeboxslottotake)
- boomingandboxing = TRUE
- update_icon()
-
-/obj/item/boombox/Destroy(mob/user)
- SSjukeboxes.removejukebox(SSjukeboxes.findjukeboxindex(src))
- . = ..()
-
-/obj/item/boombox/update_icon()
- icon_state = "[baseiconstate]_[boomingandboxing ? "on" : "off"]"
- return
-
-/obj/item/boombox/raiq
- name = "Miami Boomer"
- desc = "A shiny, fashionable boombox filled to the brim with neon lights, synthesizers, gang violence, and broken R keys. A worn-out sticker on the back states \"Includes three kickin' beats!\""
- icon_state = "raiqbawks_off"
- baseiconstate = "raiqbawks"
- availabletrackids = list("hotline.ogg","chiptune.ogg","genesis.ogg")
-
-/obj/item/boombox/raiq/update_icon()
- . = ..()
- if(boomingandboxing)
- START_PROCESSING(SSobj, src)
- else
- STOP_PROCESSING(SSobj, src)
- set_light(0)
-
-/obj/item/boombox/raiq/process()
- set_light(5,0.95,pick("#d87aff","#7a7aff","#89ecff","#b88eff","#ff59ad"))
- return
From 62ebc2d2263cc310b2f0a38376cdca3050365619 Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:25:07 -0500
Subject: [PATCH 13/35] zoom
---
code/game/objects/items/devices/radio/encryptionkey.dm | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
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"
From 861a3c7a1154e84b108af6af56a2c706e38921f4 Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:25:16 -0500
Subject: [PATCH 14/35] zee
---
.../game/objects/items/devices/radio/encryptionkey.dm | 10 ----------
1 file changed, 10 deletions(-)
delete mode 100644 modular_citadel/code/game/objects/items/devices/radio/encryptionkey.dm
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)
-
From 96a2ee3c3fbaced10c1d8d2373f45d925dac28bd Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:25:35 -0500
Subject: [PATCH 15/35] Update tgstation.dme
---
tgstation.dme | 1 -
1 file changed, 1 deletion(-)
diff --git a/tgstation.dme b/tgstation.dme
index 0505947573..3459c8a5bb 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -3081,7 +3081,6 @@
#include "modular_citadel\code\game\objects\items.dm"
#include "modular_citadel\code\game\objects\effects\temporary_visuals\souldeath.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"
From aacf4bec8bf3219a3cad48aedab7beb1ef616d55 Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:26:48 -0500
Subject: [PATCH 16/35] qm set
---
code/game/objects/items/devices/radio/headset.dm | 6 ++++++
1 file changed, 6 insertions(+)
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."
From 6abb7449c32ee9edc46830c909cd9601e033cfce Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:27:01 -0500
Subject: [PATCH 17/35] bye
---
.../code/game/objects/items/devices/radio/headset.dm | 10 ----------
1 file changed, 10 deletions(-)
delete mode 100644 modular_citadel/code/game/objects/items/devices/radio/headset.dm
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
-
From 17a169b90c1f525db4074db767a838d4710a8006 Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:27:14 -0500
Subject: [PATCH 18/35] headset
---
tgstation.dme | 1 -
1 file changed, 1 deletion(-)
diff --git a/tgstation.dme b/tgstation.dme
index 3459c8a5bb..3bf5b6a848 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -3081,7 +3081,6 @@
#include "modular_citadel\code\game\objects\items.dm"
#include "modular_citadel\code\game\objects\effects\temporary_visuals\souldeath.dm"
#include "modular_citadel\code\game\objects\items\stunsword.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"
From e21cb4e67b501f5214dca986e5b58ec4e790e418 Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:28:55 -0500
Subject: [PATCH 19/35] shocking
---
.../items/devices/radio/electropack.dm | 84 +++++++++++++++++++
1 file changed, 84 insertions(+)
diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm
index b74b0fa3d4..231818be77 100644
--- a/code/game/objects/items/devices/radio/electropack.dm
+++ b/code/game/objects/items/devices/radio/electropack.dm
@@ -142,3 +142,87 @@ Code:
user << browse(dat, "window=radio")
onclose(user, "radio")
return
+
+/obj/item/electropack/shockcollar
+ name = "shock collar"
+ desc = "A reinforced metal collar. It seems to have some form of wiring near the front. Strange.."
+ icon = 'modular_citadel/icons/obj/clothing/cit_neck.dmi'
+ alternate_worn_icon = 'modular_citadel/icons/mob/citadel/neck.dmi'
+ icon_state = "shockcollar"
+ item_state = "shockcollar"
+ body_parts_covered = NECK
+ slot_flags = ITEM_SLOT_NECK | ITEM_SLOT_DENYPOCKET //no more pocket shockers
+ w_class = WEIGHT_CLASS_SMALL
+ strip_delay = 60
+ equip_delay_other = 60
+ materials = list(MAT_METAL=5000, MAT_GLASS=2000)
+ var/tagname = null
+
+/datum/design/electropack/shockcollar
+ name = "Shockcollar"
+ id = "shockcollar"
+ build_type = AUTOLATHE
+ build_path = /obj/item/electropack/shockcollar
+ materials = list(MAT_METAL=5000, MAT_GLASS=2000)
+ category = list("hacked", "Misc")
+
+/obj/item/electropack/shockcollar/attack_hand(mob/user)
+ if(loc == user && user.get_item_by_slot(SLOT_NECK))
+ to_chat(user, "The collar is fastened tight! You'll need help taking this off!")
+ return
+ ..()
+
+/obj/item/electropack/shockcollar/receive_signal(datum/signal/signal)
+ if(!signal || signal.data["code"] != code)
+ return
+
+ if(isliving(loc) && on)
+ if(shock_cooldown != 0)
+ return
+ shock_cooldown = 1
+ spawn(100)
+ shock_cooldown = 0
+ var/mob/living/L = loc
+ step(L, pick(GLOB.cardinals))
+
+ to_chat(L, "You feel a sharp shock from the collar!")
+ var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
+ s.set_up(3, 1, L)
+ s.start()
+
+ L.Knockdown(100)
+
+ if(master)
+ master.receive_signal()
+ return
+
+/obj/item/electropack/shockcollar/attack_self(mob/user) //Turns out can't fully source this from the parent item, spritepath gets confused if power toggled. Will come back to this when I know how to code better and readd powertoggle..
+ var/option = "Change Name"
+ option = input(user, "What do you want to do?", "[src]", option) as null|anything in list("Change Name", "Change Frequency")
+ switch(option)
+ if("Change Name")
+ var/t = input(user, "Would you like to change the name on the tag?", "Name your new pet", tagname ? tagname : "Spot") as null|text
+ if(t)
+ tagname = copytext(sanitize(t), 1, MAX_NAME_LEN)
+ name = "[initial(name)] - [tagname]"
+ if("Change Frequency")
+ if(!ishuman(user))
+ return
+ user.set_machine(src)
+ var/dat = {"
+ Frequency/Code for shock collar:
+ Frequency:
+ -
+ - [format_frequency(frequency)]
+ +
+ +
+ Code:
+ -
+ - [code]
+ +
+ +
+ "}
+
+ user << browse(dat, "window=radio")
+ onclose(user, "radio")
+ return
From 9f95fb5d9b5477cc6a80a34320717e81f4a36138 Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:29:02 -0500
Subject: [PATCH 20/35] cya
---
.../items/devices/radio/shockcollar.dm | 83 -------------------
1 file changed, 83 deletions(-)
delete mode 100644 modular_citadel/code/game/objects/items/devices/radio/shockcollar.dm
diff --git a/modular_citadel/code/game/objects/items/devices/radio/shockcollar.dm b/modular_citadel/code/game/objects/items/devices/radio/shockcollar.dm
deleted file mode 100644
index 9d0757e26e..0000000000
--- a/modular_citadel/code/game/objects/items/devices/radio/shockcollar.dm
+++ /dev/null
@@ -1,83 +0,0 @@
-/obj/item/electropack/shockcollar
- name = "shock collar"
- desc = "A reinforced metal collar. It seems to have some form of wiring near the front. Strange.."
- icon = 'modular_citadel/icons/obj/clothing/cit_neck.dmi'
- alternate_worn_icon = 'modular_citadel/icons/mob/citadel/neck.dmi'
- icon_state = "shockcollar"
- item_state = "shockcollar"
- body_parts_covered = NECK
- slot_flags = ITEM_SLOT_NECK | ITEM_SLOT_DENYPOCKET //no more pocket shockers
- w_class = WEIGHT_CLASS_SMALL
- strip_delay = 60
- equip_delay_other = 60
- materials = list(MAT_METAL=5000, MAT_GLASS=2000)
- var/tagname = null
-
-/datum/design/electropack/shockcollar
- name = "Shockcollar"
- id = "shockcollar"
- build_type = AUTOLATHE
- build_path = /obj/item/electropack/shockcollar
- materials = list(MAT_METAL=5000, MAT_GLASS=2000)
- category = list("hacked", "Misc")
-
-/obj/item/electropack/shockcollar/attack_hand(mob/user)
- if(loc == user && user.get_item_by_slot(SLOT_NECK))
- to_chat(user, "The collar is fastened tight! You'll need help taking this off!")
- return
- ..()
-
-/obj/item/electropack/shockcollar/receive_signal(datum/signal/signal)
- if(!signal || signal.data["code"] != code)
- return
-
- if(isliving(loc) && on)
- if(shock_cooldown != 0)
- return
- shock_cooldown = 1
- spawn(100)
- shock_cooldown = 0
- var/mob/living/L = loc
- step(L, pick(GLOB.cardinals))
-
- to_chat(L, "You feel a sharp shock from the collar!")
- var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread
- s.set_up(3, 1, L)
- s.start()
-
- L.Knockdown(100)
-
- if(master)
- master.receive_signal()
- return
-
-/obj/item/electropack/shockcollar/attack_self(mob/user) //Turns out can't fully source this from the parent item, spritepath gets confused if power toggled. Will come back to this when I know how to code better and readd powertoggle..
- var/option = "Change Name"
- option = input(user, "What do you want to do?", "[src]", option) as null|anything in list("Change Name", "Change Frequency")
- switch(option)
- if("Change Name")
- var/t = input(user, "Would you like to change the name on the tag?", "Name your new pet", tagname ? tagname : "Spot") as null|text
- if(t)
- tagname = copytext(sanitize(t), 1, MAX_NAME_LEN)
- name = "[initial(name)] - [tagname]"
- if("Change Frequency")
- if(!ishuman(user))
- return
- user.set_machine(src)
- var/dat = {"
- Frequency/Code for shock collar:
- Frequency:
- -
- - [format_frequency(frequency)]
- +
- +
- Code:
- -
- - [code]
- +
- +
- "}
-
- user << browse(dat, "window=radio")
- onclose(user, "radio")
- return
From b66d773755b8febc1eb8ebffb3767f452e136cc6 Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:29:16 -0500
Subject: [PATCH 21/35] bye
---
tgstation.dme | 1 -
1 file changed, 1 deletion(-)
diff --git a/tgstation.dme b/tgstation.dme
index 3bf5b6a848..9430c579da 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -3081,7 +3081,6 @@
#include "modular_citadel\code\game\objects\items.dm"
#include "modular_citadel\code\game\objects\effects\temporary_visuals\souldeath.dm"
#include "modular_citadel\code\game\objects\items\stunsword.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"
From f88eefa8a989b29b54ded8b240179dd3733255df Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:30:28 -0500
Subject: [PATCH 22/35] stunsword
---
code/game/objects/items/stunbaton.dm | 81 ++++++++++++++++++++++++++++
1 file changed, 81 insertions(+)
diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm
index 6972587263..fd35fa2509 100644
--- a/code/game/objects/items/stunbaton.dm
+++ b/code/game/objects/items/stunbaton.dm
@@ -223,6 +223,86 @@
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!")
+
+/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 +329,6 @@
sparkler?.activate()
. = ..()
+
#undef STUNBATON_CHARGE_LENIENCY
#undef STUNBATON_DEPLETION_RATE
From 0dbcf2085b4cf16a94f75b0b21821fe397f7de76 Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:30:45 -0500
Subject: [PATCH 23/35] bye
---
.../code/game/objects/items/stunsword.dm | 41 -------------------
1 file changed, 41 deletions(-)
delete mode 100644 modular_citadel/code/game/objects/items/stunsword.dm
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!")
-
-
From a03f5b4b268e0316459efcd86324eaba029c10d2 Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:30:53 -0500
Subject: [PATCH 24/35] bye
---
tgstation.dme | 1 -
1 file changed, 1 deletion(-)
diff --git a/tgstation.dme b/tgstation.dme
index 9430c579da..cae142f3ee 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -3080,7 +3080,6 @@
#include "modular_citadel\code\game\objects\cit_screenshake.dm"
#include "modular_citadel\code\game\objects\items.dm"
#include "modular_citadel\code\game\objects\effects\temporary_visuals\souldeath.dm"
-#include "modular_citadel\code\game\objects\items\stunsword.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"
From 799059071f912ff8b419acda89ea1e80b428a96c Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:32:47 -0500
Subject: [PATCH 25/35] this
---
code/game/objects/items.dm | 1 +
1 file changed, 1 insertion(+)
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.
From 93fc0b3716e9624ef1cb9339157b14a430e5f141 Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:34:26 -0500
Subject: [PATCH 26/35] xenos helmet
---
code/modules/clothing/head/misc.dm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
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"
From 5857da02a534c3cf38352029fa23b900cbb08e1f Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:35:30 -0500
Subject: [PATCH 27/35] cheeki breeki
---
code/modules/clothing/head/misc_special.dm | 1 +
1 file changed, 1 insertion(+)
diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm
index a18d68cc72..466af10dbd 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
From 3281db6000d8146c3fbd0469b4ed3f36c22d7611 Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:39:13 -0500
Subject: [PATCH 28/35] scream
---
code/modules/clothing/head/misc_special.dm | 1 +
1 file changed, 1 insertion(+)
diff --git a/code/modules/clothing/head/misc_special.dm b/code/modules/clothing/head/misc_special.dm
index 466af10dbd..24a5c5351d 100644
--- a/code/modules/clothing/head/misc_special.dm
+++ b/code/modules/clothing/head/misc_special.dm
@@ -165,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
From bfedc80c6498c4f60df57c77cdac471f8f2a1fe2 Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:39:45 -0500
Subject: [PATCH 29/35] idk what this even is lmao
---
code/game/objects/items/grenades/grenade.dm | 3 +++
1 file changed, 3 insertions(+)
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
From ab5223cb20847928f06e722017f9d22bae77061e Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:40:10 -0500
Subject: [PATCH 30/35] this took longer than all the other items combined
---
modular_citadel/code/game/objects/items.dm | 15 ---------------
1 file changed, 15 deletions(-)
delete mode 100644 modular_citadel/code/game/objects/items.dm
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
From 0a3daa211cd8bcae5dbeff52309581d226906beb Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:40:25 -0500
Subject: [PATCH 31/35] items begone
---
tgstation.dme | 1 -
1 file changed, 1 deletion(-)
diff --git a/tgstation.dme b/tgstation.dme
index cae142f3ee..65f613fe0e 100755
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -3078,7 +3078,6 @@
#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\temporary_visuals\souldeath.dm"
#include "modular_citadel\code\modules\admin\admin.dm"
#include "modular_citadel\code\modules\admin\chat_commands.dm"
From b6a187dc6d68e96baf95e8e85d811670ac477e6d Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Fri, 10 Jan 2020 22:48:33 -0500
Subject: [PATCH 32/35] OOPS
---
code/game/objects/items/stunbaton.dm | 40 ----------------------------
1 file changed, 40 deletions(-)
diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm
index fd35fa2509..b1133cb03d 100644
--- a/code/game/objects/items/stunbaton.dm
+++ b/code/game/objects/items/stunbaton.dm
@@ -263,46 +263,6 @@
else
to_chat(user, " You can't modify [O] with this kit!")
-/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"
From 1aee5e880a61cbb23c8b8962c01d94dceadea03a Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Sat, 11 Jan 2020 12:24:23 -0500
Subject: [PATCH 33/35] god
---
.../items/devices/radio/electropack.dm | 61 ++++++++-----------
1 file changed, 27 insertions(+), 34 deletions(-)
diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm
index 231818be77..5b13537a44 100644
--- a/code/game/objects/items/devices/radio/electropack.dm
+++ b/code/game/objects/items/devices/radio/electropack.dm
@@ -156,6 +156,7 @@ Code:
strip_delay = 60
equip_delay_other = 60
materials = list(MAT_METAL=5000, MAT_GLASS=2000)
+
var/tagname = null
/datum/design/electropack/shockcollar
@@ -170,18 +171,17 @@ Code:
if(loc == user && user.get_item_by_slot(SLOT_NECK))
to_chat(user, "The collar is fastened tight! You'll need help taking this off!")
return
- ..()
+ return ..()
/obj/item/electropack/shockcollar/receive_signal(datum/signal/signal)
if(!signal || signal.data["code"] != code)
return
if(isliving(loc) && on)
- if(shock_cooldown != 0)
+ if(shock_cooldown == TRUE)
return
- shock_cooldown = 1
- spawn(100)
- shock_cooldown = 0
+ shock_cooldown = TRUE
+ addtimer(VARSET_CALLBACK(src, shock_cooldown, FALSE), 100)
var/mob/living/L = loc
step(L, pick(GLOB.cardinals))
@@ -196,33 +196,26 @@ Code:
master.receive_signal()
return
-/obj/item/electropack/shockcollar/attack_self(mob/user) //Turns out can't fully source this from the parent item, spritepath gets confused if power toggled. Will come back to this when I know how to code better and readd powertoggle..
- var/option = "Change Name"
- option = input(user, "What do you want to do?", "[src]", option) as null|anything in list("Change Name", "Change Frequency")
- switch(option)
- if("Change Name")
- var/t = input(user, "Would you like to change the name on the tag?", "Name your new pet", tagname ? tagname : "Spot") as null|text
- if(t)
- tagname = copytext(sanitize(t), 1, MAX_NAME_LEN)
- name = "[initial(name)] - [tagname]"
- if("Change Frequency")
- if(!ishuman(user))
- return
- user.set_machine(src)
- var/dat = {"
- Frequency/Code for shock collar:
- Frequency:
- -
- - [format_frequency(frequency)]
- +
- +
- Code:
- -
- - [code]
- +
- +
- "}
+/obj/item/electropack/shockcollar/attackby(obj/item/W, mob/user, params) //moves it here because on_click is being bad
+ if(istype(W, /obj/item/pen))
+ var/t = input(user, "Would you like to change the name on the tag?", "Name your new pet", tagname ? tagname : "Spot") as null|text
+ if(t)
+ tagname = copytext(sanitize(t), 1, MAX_NAME_LEN)
+ name = "[initial(name)] - [tagname]"
+ else
+ return ..()
- user << browse(dat, "window=radio")
- onclose(user, "radio")
- return
+/obj/item/electropack/shockcollar/ui_interact(mob/user) //on_click calls this
+ var/dat = {"
+
+Frequency/Code for shock collar:
+Frequency:
+[format_frequency(src.frequency)]
+Set
+Code:
+[src.code]
+Set
+"}
+ user << browse(dat, "window=radio")
+ onclose(user, "radio")
+ return
From 108e585cf1e2821d7df0d5d3f4982350a89ac359 Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Sat, 11 Jan 2020 12:25:38 -0500
Subject: [PATCH 34/35] shit
---
.../items/devices/radio/electropack.dm | 109 +++++++++---------
1 file changed, 55 insertions(+), 54 deletions(-)
diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm
index 5b13537a44..f9da35ec18 100644
--- a/code/game/objects/items/devices/radio/electropack.dm
+++ b/code/game/objects/items/devices/radio/electropack.dm
@@ -10,22 +10,23 @@
slot_flags = ITEM_SLOT_BACK
w_class = WEIGHT_CLASS_HUGE
materials = list(MAT_METAL=10000, MAT_GLASS=2500)
- var/on = TRUE
+
var/code = 2
var/frequency = FREQ_ELECTROPACK
- var/shock_cooldown = 0
+ var/on = TRUE
+ var/shock_cooldown = FALSE
-/obj/item/electropack/suicide_act(mob/user)
+/obj/item/electropack/suicide_act(mob/living/carbon/user)
user.visible_message("[user] hooks [user.p_them()]self to the electropack and spams the trigger! It looks like [user.p_theyre()] trying to commit suicide!")
return (FIRELOSS)
/obj/item/electropack/Initialize()
. = ..()
- SSradio.add_object(src, frequency, RADIO_SIGNALER)
+ set_frequency(frequency)
/obj/item/electropack/Destroy()
SSradio.remove_object(src, frequency)
- return ..()
+ . = ..()
//ATTACK HAND IGNORING PARENT RETURN VALUE
/obj/item/electropack/attack_hand(mob/user)
@@ -36,7 +37,7 @@
return
return ..()
-/obj/item/electropack/attackby(obj/item/W, mob/user, params)
+/obj/item/electropack/attackby(obj/item/W, mob/living/user, params)
if(istype(W, /obj/item/clothing/head/helmet))
var/obj/item/assembly/shock_kit/A = new /obj/item/assembly/shock_kit(user)
A.icon = 'icons/obj/assemblies.dmi'
@@ -57,43 +58,47 @@
return ..()
/obj/item/electropack/Topic(href, href_list)
- //..()
var/mob/living/carbon/C = usr
if(usr.stat || usr.restrained() || C.back == src)
return
- if((ishuman(usr) && usr.contents.Find(src)) || usr.contents.Find(master) || (in_range(src, usr) && isturf(loc)))
- usr.set_machine(src)
- if(href_list["freq"])
- SSradio.remove_object(src, frequency)
- frequency = sanitize_frequency(frequency + text2num(href_list["freq"]))
- SSradio.add_object(src, frequency, RADIO_SIGNALER)
- else
- if(href_list["code"])
- code += text2num(href_list["code"])
- code = round(code)
- code = min(100, code)
- code = max(1, code)
- else
- if(href_list["power"])
- on = !( on )
- icon_state = "electropack[on]"
- if(!( master ))
- if(ismob(loc))
- attack_self(loc)
- else
- for(var/mob/M in viewers(1, src))
- if(M.client)
- attack_self(M)
- else
- if(ismob(master.loc))
- attack_self(master.loc)
- else
- for(var/mob/M in viewers(1, master))
- if(M.client)
- attack_self(M)
- else
+
+ if(!usr.canUseTopic(src, BE_CLOSE))
usr << browse(null, "window=radio")
+ onclose(usr, "radio")
return
+
+ if(href_list["set"])
+ if(href_list["set"] == "freq")
+ var/new_freq = input(usr, "Input a new receiving frequency", "Electropack Frequency", format_frequency(frequency)) as num|null
+ if(!usr.canUseTopic(src, BE_CLOSE))
+ return
+ new_freq = unformat_frequency(new_freq)
+ new_freq = sanitize_frequency(new_freq, TRUE)
+ set_frequency(new_freq)
+
+ if(href_list["set"] == "code")
+ var/new_code = input(usr, "Input a new receiving code", "Electropack Code", code) as num|null
+ if(!usr.canUseTopic(src, BE_CLOSE))
+ return
+ new_code = round(new_code)
+ new_code = CLAMP(new_code, 1, 100)
+ code = new_code
+
+ if(href_list["set"] == "power")
+ if(!usr.canUseTopic(src, BE_CLOSE))
+ return
+ on = !(on)
+ icon_state = "electropack[on]"
+
+ if(usr)
+ attack_self(usr)
+
+ return
+
+/obj/item/electropack/proc/set_frequency(new_frequency)
+ SSradio.remove_object(src, frequency)
+ frequency = new_frequency
+ SSradio.add_object(src, frequency, RADIO_SIGNALER)
return
/obj/item/electropack/receive_signal(datum/signal/signal)
@@ -101,10 +106,10 @@
return
if(isliving(loc) && on)
- if(shock_cooldown != 0)
+ if(shock_cooldown == TRUE)
return
- shock_cooldown = 1
- addtimer(VARSET_CALLBACK(src, shock_cooldown, 0), 100)
+ shock_cooldown = TRUE
+ addtimer(VARSET_CALLBACK(src, shock_cooldown, FALSE), 100)
var/mob/living/L = loc
step(L, pick(GLOB.cardinals))
@@ -119,25 +124,21 @@
master.receive_signal()
return
-/obj/item/electropack/attack_self(mob/user)
-
+/obj/item/electropack/ui_interact(mob/user)
if(!ishuman(user))
return
+
user.set_machine(src)
- var/dat = {"Turned [on ? "On" : "Off"] -
-Toggle
+ var/dat = {"
+
+Turned [on ? "On" : "Off"] - Toggle
Frequency/Code for electropack:
Frequency:
--
-- [format_frequency(frequency)]
-+
-+
-
+[format_frequency(src.frequency)]
+Set
Code:
--
-- [code]
-+
-+
+[src.code]
+Set
"}
user << browse(dat, "window=radio")
onclose(user, "radio")
From 8a7e6d49a65656e408185f005bec0afb54dbedde Mon Sep 17 00:00:00 2001
From: kappa-sama <44128284+kappa-sama@users.noreply.github.com>
Date: Sat, 11 Jan 2020 12:35:49 -0500
Subject: [PATCH 35/35] e
---
code/game/objects/items/devices/radio/electropack.dm | 2 ++
1 file changed, 2 insertions(+)
diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm
index f9da35ec18..f10ee2b63f 100644
--- a/code/game/objects/items/devices/radio/electropack.dm
+++ b/code/game/objects/items/devices/radio/electropack.dm
@@ -136,6 +136,7 @@ Turned [on ? "On" : "Off"] - Toggle
Frequency:
[format_frequency(src.frequency)]
Set
+
Code:
[src.code]
Set
@@ -213,6 +214,7 @@ Code:
Frequency:
[format_frequency(src.frequency)]
Set
+
Code:
[src.code]
Set