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