From e9c450bf17e1ec6cc9f0964c53fd8fdb334c0e44 Mon Sep 17 00:00:00 2001 From: Carlen White Date: Tue, 21 May 2019 22:04:14 -0400 Subject: [PATCH 01/50] Flavor text with special characters don't get partially unescaped Copying the text that was escaped would occasionally trim an escaping character. Now it's decoded, copied, then encoded to prevent it. --- code/modules/mob/say_vr.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/say_vr.dm b/code/modules/mob/say_vr.dm index 39a0bba701..3bd23c1b80 100644 --- a/code/modules/mob/say_vr.dm +++ b/code/modules/mob/say_vr.dm @@ -23,11 +23,11 @@ /mob/proc/print_flavor_text() if(flavor_text && flavor_text != "") - var/msg = replacetext(flavor_text, "\n", " ") + var/msg = html_decode(replacetext(flavor_text, "\n", " ")) if(lentext(msg) <= 40) - return "[msg]" + return "[html_encode(msg)]" else - return "[copytext(msg, 1, 37)]... More..." + return "[html_encode(copytext(msg, 1, 37))]... More..." /mob/proc/get_top_level_mob() if(istype(src.loc,/mob)&&src.loc!=src) From 6bb70297ec6e6b7eca01203eb3b60bd1ea3905fb Mon Sep 17 00:00:00 2001 From: Ghommie Date: Wed, 22 May 2019 06:09:18 +0200 Subject: [PATCH 02/50] Why did you check if the gamemode's type is an antagonist datum? And why did it sort of work too? I don't understand. Pooj's copypasting this black magic, smh. --- code/game/gamemodes/cult/cult.dm | 15 ++++ code/modules/antagonists/cult/cult.dm | 84 ++++++++++++------- .../code/game/machinery/cryopod.dm | 42 ++-------- 3 files changed, 73 insertions(+), 68 deletions(-) diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 7b492e3a95..ce4b0014c9 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -97,6 +97,21 @@ main_cult = C.cult_team ..() +/datum/game_mode/cult/process() + if(finished) + return + var/datum/objective/sacrifice/sac_objective = locate() in main_cult.objectives + if(!sac_objective || sac_objective.check_completion()) + return + var/datum/mind/sacrificial = sac_objective.get_target() + var/mob/living/t_current = sacrificial.current + if(!sacrificial || !sacrificial.current) //target is gone for good but not sacced. + main_cult.sort_sacrifice(TRUE) + if(QDELETED(sac_objective.target_current) || sac_objective.target_current != t_current) //target is now a different mob (monkey, simple mob) + sac_objective.sac_image = t_current.get_sac_image() + sac_objective.target_current = t_current + sac_objective.update_explanation_text() + /datum/game_mode/proc/add_cultist(datum/mind/cult_mind, stun , equip = FALSE) //BASE if (!istype(cult_mind)) return FALSE diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/cult.dm index c8d59f54a8..c4d696ab59 100644 --- a/code/modules/antagonists/cult/cult.dm +++ b/code/modules/antagonists/cult/cult.dm @@ -13,7 +13,7 @@ var/give_equipment = FALSE var/datum/team/cult/cult_team - + /datum/antagonist/cult/get_team() return cult_team @@ -115,7 +115,7 @@ cult_team.rise(current) if(cult_team.cult_ascendent) cult_team.ascend(current) - + /datum/antagonist/cult/remove_innate_effects(mob/living/mob_override) . = ..() var/mob/living/current = owner.current @@ -220,7 +220,7 @@ throwing.Remove(current) current.update_action_buttons_icon() current.remove_status_effect(/datum/status_effect/cult_master) - + if(ishuman(current)) var/mob/living/carbon/human/H = current H.eye_color = initial(H.eye_color) @@ -241,7 +241,7 @@ var/reckoning_complete = FALSE var/cult_risen = FALSE var/cult_ascendent = FALSE - + /datum/team/cult/proc/check_size() if(cult_ascendent) return @@ -262,7 +262,7 @@ to_chat(B.current, "The veil weakens as your cult grows, your eyes begin to glow...") addtimer(CALLBACK(src, .proc/rise, B.current), 200) cult_risen = TRUE - + if(ratio > CULT_ASCENDENT && !cult_ascendent) for(var/datum/mind/B in members) if(B.current) @@ -270,8 +270,8 @@ to_chat(B.current, "Your cult is ascendent and the red harvest approaches - you cannot hide your true nature for much longer!!") addtimer(CALLBACK(src, .proc/ascend, B.current), 200) cult_ascendent = TRUE - - + + /datum/team/cult/proc/rise(cultist) if(ishuman(cultist)) var/mob/living/carbon/human/H = cultist @@ -279,7 +279,7 @@ H.dna.update_ui_block(DNA_EYE_COLOR_BLOCK) H.add_trait(CULT_EYES) H.update_body() - + /datum/team/cult/proc/ascend(cultist) if(ishuman(cultist)) var/mob/living/carbon/human/H = cultist @@ -289,48 +289,68 @@ /datum/team/cult/proc/setup_objectives() //SAC OBJECTIVE , todo: move this to objective internals + sort_sacrifice() + //SUMMON OBJECTIVE + var/datum/objective/eldergod/summon_objective = new() + summon_objective.team = src + objectives += summon_objective + +/datum/team/cult/proc/sort_sacrifice(replacement = FALSE) + var/list/target_candidates = list() - var/datum/objective/sacrifice/sac_objective = new - sac_objective.team = src + + var/datum/objective/sacrifice/sac_objective = locate() in GLOB.objectives + if(!sac_objective) + sac_objective = new + sac_objective.team = src for(var/mob/living/carbon/human/player in GLOB.player_list) if(player.mind && !player.mind.has_antag_datum(/datum/antagonist/cult) && !is_convertable_to_cult(player) && player.stat != DEAD) target_candidates += player.mind - if(target_candidates.len == 0) + if(!length(target_candidates)) message_admins("Cult Sacrifice: Could not find unconvertible target, checking for convertible target.") for(var/mob/living/carbon/human/player in GLOB.player_list) if(player.mind && !player.mind.has_antag_datum(/datum/antagonist/cult) && player.stat != DEAD) target_candidates += player.mind + listclearnulls(target_candidates) - if(LAZYLEN(target_candidates)) - sac_objective.target = pick(target_candidates) - sac_objective.update_explanation_text() + if(!LAZYLEN(target_candidates)) + message_admins("Cult Sacrifice: Could not find unconvertible or convertible target. Proceeding to next stage!") + sac_objective.sacced = TRUE + return + var/datum/mind/new_target = pick(target_candidates) + if(replacement) + for(var/datum/mind/H in members) + if(H.current) + to_chat(H.current, "Nar'Sie murmurs, [sac_objective.target] is beyond your reach. Sacrifice [new_target] instead...") + sac_objective.target = new_target + sac_objective.target_current = new_target.current + sac_objective.update_explanation_text() - var/datum/job/sacjob = SSjob.GetJob(sac_objective.target.assigned_role) - var/datum/preferences/sacface = sac_objective.target.current.client.prefs - var/icon/reshape = get_flat_human_icon(null, sacjob, sacface, list(SOUTH)) - reshape.Shift(SOUTH, 4) - reshape.Shift(EAST, 1) - reshape.Crop(7,4,26,31) - reshape.Crop(-5,-3,26,30) - sac_objective.sac_image = reshape + sac_objective.sac_image = sac_objective.target_current.get_sac_image() + objectives += sac_objective - objectives += sac_objective - else - message_admins("Cult Sacrifice: Could not find unconvertible or convertible target. WELP!") +/mob/proc/get_sac_image() + var/icon/reshape = icon(icon, icon_state, SOUTH) + reshape.Shift(SOUTH, 4) + reshape.Shift(EAST, 1) + reshape.Crop(7,4,26,31) + reshape.Crop(-5,-3,26,30) +/mob/living/carbon/human/get_sac_image() + var/datum/job/sacjob = SSjob.GetJob(mind.assigned_role) + var/datum/preferences/sacface = client.prefs + var/icon/reshape = get_flat_human_icon(null, sacjob, sacface, list(SOUTH)) + reshape.Shift(SOUTH, 4) + reshape.Shift(EAST, 1) + reshape.Crop(7,4,26,31) + reshape.Crop(-5,-3,26,30) - //SUMMON OBJECTIVE - - var/datum/objective/eldergod/summon_objective = new() - summon_objective.team = src - objectives += summon_objective - - /datum/objective/sacrifice var/sacced = FALSE var/sac_image + var/mob/living/target_current /datum/objective/sacrifice/check_completion() return sacced || completed diff --git a/modular_citadel/code/game/machinery/cryopod.dm b/modular_citadel/code/game/machinery/cryopod.dm index 1ff628bfbd..095641f1b4 100644 --- a/modular_citadel/code/game/machinery/cryopod.dm +++ b/modular_citadel/code/game/machinery/cryopod.dm @@ -245,43 +245,13 @@ // This function can not be undone; do not call this unless you are sure /obj/machinery/cryopod/proc/despawn_occupant() var/mob/living/mob_occupant = occupant - var/list/target_candidates = list() - if(istype(SSticker.mode, /datum/antagonist/cult))//thank - if("sacrifice" in SSticker.mode.cult) - for(var/mob/living/carbon/human/player in GLOB.player_list) - if(player.mind && !player.mind.has_antag_datum(/datum/antagonist/cult) && !is_convertable_to_cult(player) && player.stat != DEAD) - target_candidates += player.mind - - target_candidates -= mob_occupant.mind - - if(target_candidates.len == 0) - message_admins("Cult Sacrifice: Could not find unconvertable target, checking for convertable target.") - for(var/mob/living/carbon/human/player in GLOB.player_list) - if(player.mind && !player.mind.has_antag_datum(/datum/antagonist/cult) && player.stat != DEAD) - target_candidates += player.mind - - listclearnulls(target_candidates) - if(LAZYLEN(target_candidates)) - var/datum/objective/sacrifice/sac_objective = locate() in GLOB.objectives - sac_objective.target = pick(target_candidates) - sac_objective.update_explanation_text() - - var/datum/job/sacjob = SSjob.GetJob(sac_objective.target.assigned_role) - var/datum/preferences/sacface = sac_objective.target.current.client.prefs - var/icon/reshape = get_flat_human_icon(null, sacjob, sacface) - reshape.Shift(SOUTH, 4) - reshape.Shift(EAST, 1) - reshape.Crop(7,4,26,31) - reshape.Crop(-5,-3,26,30) - sac_objective.sac_image = reshape - - for(var/datum/mind/H in SSticker.mode.cult) - if(H.current) - to_chat(H.current, "Nar'Sie murmurs, [occupant] is beyond your reach. Sacrifice [sac_objective.target.current] instead...") - - else - message_admins("Cult Sacrifice: Could not find unconvertable or convertable target after cryopod. WELP!") + if(istype(SSticker.mode, /datum/game_mode/cult)) + var/datum/game_mode/cult/M = SSticker.mode + var/datum/team/cult/C = M.main_cult + var/datum/objective/sacrifice/S = locate() in C.objectives + if(S.target == mob_occupant.mind) + C.sort_sacrifice(TRUE) //Update any existing objectives involving this mob. for(var/datum/objective/O in GLOB.objectives) From 6f88ecb4deb32e34d55e5877780967ae72f3d566 Mon Sep 17 00:00:00 2001 From: Ghommie Date: Wed, 22 May 2019 06:21:37 +0200 Subject: [PATCH 03/50] return --- code/game/gamemodes/cult/cult.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index ce4b0014c9..c0ebc1c63a 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -107,6 +107,7 @@ var/mob/living/t_current = sacrificial.current if(!sacrificial || !sacrificial.current) //target is gone for good but not sacced. main_cult.sort_sacrifice(TRUE) + return if(QDELETED(sac_objective.target_current) || sac_objective.target_current != t_current) //target is now a different mob (monkey, simple mob) sac_objective.sac_image = t_current.get_sac_image() sac_objective.target_current = t_current From bb2a8bdd5970c3989025242b2903d432c1f96cfe Mon Sep 17 00:00:00 2001 From: Carlen White Date: Wed, 22 May 2019 00:27:19 -0400 Subject: [PATCH 04/50] Fixes flavor text from being removed when canceled. This was because canceling really just sent a empty string and not null which caused it to set the flavor text to an empty string. --- code/__HELPERS/text.dm | 2 ++ code/modules/client/preferences.dm | 2 +- code/modules/mob/say_vr.dm | 6 +++--- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm index 7d6c017b77..7d8eb108f3 100644 --- a/code/__HELPERS/text.dm +++ b/code/__HELPERS/text.dm @@ -94,6 +94,8 @@ // Used to get a properly sanitized multiline input, of max_length /proc/stripped_multiline_input(mob/user, message = "", title = "", default = "", max_length=MAX_MESSAGE_LEN, no_trim=FALSE) var/name = input(user, message, title, default) as message|null + if(isnull(name)) // Return null if canceled. + return null if(no_trim) return copytext(html_encode(name), 1, max_length) else diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 8e4891fb70..d80f56c8c8 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1458,7 +1458,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) age = max(min( round(text2num(new_age)), AGE_MAX),AGE_MIN) if("flavor_text") - var/msg = stripped_multiline_input(usr,"Set the flavor text in your 'examine' verb. This can also be used for OOC notes and preferences!","Flavor Text",html_decode(features["flavor_text"]), MAX_MESSAGE_LEN*2, TRUE) as null|message + var/msg = stripped_multiline_input(usr, "Set the flavor text in your 'examine' verb. This can also be used for OOC notes and preferences!", "Flavor Text", html_decode(features["flavor_text"]), MAX_MESSAGE_LEN*2, TRUE) if(!isnull(msg)) msg = copytext(msg, 1, MAX_MESSAGE_LEN*2) features["flavor_text"] = msg diff --git a/code/modules/mob/say_vr.dm b/code/modules/mob/say_vr.dm index 3bd23c1b80..158aabc80a 100644 --- a/code/modules/mob/say_vr.dm +++ b/code/modules/mob/say_vr.dm @@ -8,9 +8,9 @@ set src in usr if(usr != src) usr << "No." - var/msg = input(usr,"Set the flavor text in your 'examine' verb. Can also be used for OOC notes about your character.","Flavor Text",html_decode(flavor_text)) as message|null - - if(msg != null) + var/msg = stripped_multiline_input(usr, "Set the flavor text in your 'examine' verb. This can also be used for OOC notes and preferences!", "Flavor Text", html_decode(flavor_text), MAX_MESSAGE_LEN*2, TRUE) + + if(!isnull(msg)) msg = copytext(msg, 1, MAX_MESSAGE_LEN) msg = html_encode(msg) From 1bddf2d5ae677a83845871be0c556bf6340a366f Mon Sep 17 00:00:00 2001 From: Carlen White Date: Wed, 22 May 2019 09:32:25 -0400 Subject: [PATCH 05/50] Added comment For whoever comes across this code and wonders what am I doing. --- code/modules/mob/say_vr.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/mob/say_vr.dm b/code/modules/mob/say_vr.dm index 158aabc80a..6cc0ca185f 100644 --- a/code/modules/mob/say_vr.dm +++ b/code/modules/mob/say_vr.dm @@ -23,6 +23,7 @@ /mob/proc/print_flavor_text() if(flavor_text && flavor_text != "") + // We are decoding and then encoding to not only get correct amount of characters, but also to prevent partial escaping characters being shown. var/msg = html_decode(replacetext(flavor_text, "\n", " ")) if(lentext(msg) <= 40) return "[html_encode(msg)]" From 4998b7cfa1883cea121a2926993298bee149859c Mon Sep 17 00:00:00 2001 From: Ghommie Date: Wed, 22 May 2019 18:43:26 +0200 Subject: [PATCH 06/50] Actually, the cult team should process it instead. Got you covered, badmins spawning cult on other modes. --- code/game/gamemodes/cult/cult.dm | 16 ------------- code/modules/antagonists/cult/cult.dm | 24 +++++++++++++++++++ .../code/game/machinery/cryopod.dm | 7 ------ 3 files changed, 24 insertions(+), 23 deletions(-) diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index c0ebc1c63a..7b492e3a95 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -97,22 +97,6 @@ main_cult = C.cult_team ..() -/datum/game_mode/cult/process() - if(finished) - return - var/datum/objective/sacrifice/sac_objective = locate() in main_cult.objectives - if(!sac_objective || sac_objective.check_completion()) - return - var/datum/mind/sacrificial = sac_objective.get_target() - var/mob/living/t_current = sacrificial.current - if(!sacrificial || !sacrificial.current) //target is gone for good but not sacced. - main_cult.sort_sacrifice(TRUE) - return - if(QDELETED(sac_objective.target_current) || sac_objective.target_current != t_current) //target is now a different mob (monkey, simple mob) - sac_objective.sac_image = t_current.get_sac_image() - sac_objective.target_current = t_current - sac_objective.update_explanation_text() - /datum/game_mode/proc/add_cultist(datum/mind/cult_mind, stun , equip = FALSE) //BASE if (!istype(cult_mind)) return FALSE diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/cult.dm index c4d696ab59..9451012a04 100644 --- a/code/modules/antagonists/cult/cult.dm +++ b/code/modules/antagonists/cult/cult.dm @@ -242,6 +242,30 @@ var/cult_risen = FALSE var/cult_ascendent = FALSE +/datum/team/cult/New() + . = ..() + START_PROCESSING(SSprocessing, src) + +/datum/team/cult/Destroy() + STOP_PROCESSING(SSprocessing, src) + return ..() + +/datum/team/cult/process() + if(SSticker.current_state == GAME_STATE_FINISHED) + return + var/datum/objective/sacrifice/sac_objective = locate() in objectives + if(!sac_objective || sac_objective.check_completion()) + return + var/datum/mind/sacrificial = sac_objective.get_target() + var/mob/living/sac_current = sacrificial.current + if(!sacrificial || !sac_current) //target is gone for good but not sacrified. + sort_sacrifice(TRUE) + return + if(QDELETED(sac_objective.target_current) || sac_objective.target_current != sac_current) //target is now a different mob (monkey, simple mob) + sac_objective.sac_image = sac_current.get_sac_image() + sac_objective.target_current = sac_current + sac_objective.update_explanation_text() + /datum/team/cult/proc/check_size() if(cult_ascendent) return diff --git a/modular_citadel/code/game/machinery/cryopod.dm b/modular_citadel/code/game/machinery/cryopod.dm index 095641f1b4..15e7d34c65 100644 --- a/modular_citadel/code/game/machinery/cryopod.dm +++ b/modular_citadel/code/game/machinery/cryopod.dm @@ -246,13 +246,6 @@ /obj/machinery/cryopod/proc/despawn_occupant() var/mob/living/mob_occupant = occupant - if(istype(SSticker.mode, /datum/game_mode/cult)) - var/datum/game_mode/cult/M = SSticker.mode - var/datum/team/cult/C = M.main_cult - var/datum/objective/sacrifice/S = locate() in C.objectives - if(S.target == mob_occupant.mind) - C.sort_sacrifice(TRUE) - //Update any existing objectives involving this mob. for(var/datum/objective/O in GLOB.objectives) // We don't want revs to get objectives that aren't for heads of staff. Letting From 0cf0d4d8ed446f1910b6e37152fdedb8a900d8fa Mon Sep 17 00:00:00 2001 From: UntoldTactics <47285532+UntoldTactics@users.noreply.github.com> Date: Thu, 23 May 2019 18:37:17 +1000 Subject: [PATCH 07/50] Update runes.dm --- code/modules/antagonists/cult/runes.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index 8a3f81fc01..1593064dba 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -246,7 +246,7 @@ structure_check() searches for nearby cultist structures required for the invoca return 0 to_chat(convertee, "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible, truth. The veil of reality has been ripped away \ and something evil takes root.") - to_chat(convertee, "Do you wish to embrace the Geometer of Blood? Click here to stop resisting the truth. Or you could choose to continue resisting...") + to_chat(convertee, "Do you wish to embrace the Geometer of Blood? Click here to become a follower of Nar'sie. Or you could choose to continue resisting and suffer a fate worse than death.") currentconversionman = convertee conversiontimeout = world.time + (10 SECONDS) convertee.Stun(100) From 92bbe42337d3d841447b9e00dfcc8a077a1c9999 Mon Sep 17 00:00:00 2001 From: Sishen Date: Fri, 24 May 2019 07:41:18 -0400 Subject: [PATCH 08/50] FOUR TRIES? IT TOOK HIM FOUR TRIES?! --- _maps/map_files/BoxStation/BoxStation.dmm | 6 ++++++ _maps/map_files/PubbyStation/PubbyStation.dmm | 13 ++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index de28ff59fa..688e54be53 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -46031,6 +46031,9 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/delivery, +/obj/machinery/shower{ + dir = 4 + }, /turf/open/floor/plasteel, /area/engine/engineering) "cek" = ( @@ -46039,6 +46042,9 @@ name = "engineering security door" }, /obj/effect/turf_decal/delivery, +/obj/machinery/shower{ + dir = 8 + }, /turf/open/floor/plasteel, /area/engine/engineering) "cel" = ( diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index 4a8eee364c..f9792a736e 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -44325,7 +44325,9 @@ dir = 1; pixel_y = -22 }, -/obj/structure/closet/radiation, +/obj/machinery/shower{ + dir = 4 + }, /turf/open/floor/plasteel, /area/engine/break_room) "bWF" = ( @@ -44352,7 +44354,10 @@ dir = 6 }, /obj/effect/turf_decal/delivery, -/obj/structure/closet/radiation, +/obj/machinery/shower{ + dir = 8; + pixel_y = -4 + }, /turf/open/floor/plasteel, /area/engine/break_room) "bWH" = ( @@ -44932,6 +44937,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 1 }, +/obj/structure/closet/radiation, /turf/open/floor/plasteel, /area/engine/engineering) "bYn" = ( @@ -44956,6 +44962,7 @@ /obj/machinery/light{ dir = 4 }, +/obj/structure/closet/radiation, /turf/open/floor/plasteel, /area/engine/engineering) "bYp" = ( @@ -53780,7 +53787,7 @@ "eSB" = ( /obj/machinery/computer/cryopod{ dir = 1; - pixel_y = -26; + pixel_y = -26 }, /turf/open/floor/plasteel/dark, /area/security/prison) From d9cc539948577d07fc78ef54824b7b95c241f521 Mon Sep 17 00:00:00 2001 From: CalamaBanana Date: Fri, 24 May 2019 17:46:48 +0200 Subject: [PATCH 09/50] Removed color whitelist --- code/modules/integrated_electronics/core/saved_circuits.dm | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/code/modules/integrated_electronics/core/saved_circuits.dm b/code/modules/integrated_electronics/core/saved_circuits.dm index eef4fe38dd..8b5219dc9f 100644 --- a/code/modules/integrated_electronics/core/saved_circuits.dm +++ b/code/modules/integrated_electronics/core/saved_circuits.dm @@ -124,7 +124,7 @@ // Save modified name if(initial(name) != name) assembly_params["name"] = name - + // Save modified description if(initial(desc) != desc) assembly_params["desc"] = desc @@ -144,8 +144,6 @@ return "Bad assembly name." if(assembly_params["desc"] && !reject_bad_text(assembly_params["desc"])) return "Bad assembly description." - if(assembly_params["detail_color"] && !(assembly_params["detail_color"] in color_whitelist)) - return "Bad assembly color." // Loads assembly parameters from a list // Doesn't verify any of the parameters it loads, this is the job of verify_save() @@ -153,7 +151,7 @@ // Load modified name, if any. if(assembly_params["name"]) name = assembly_params["name"] - + // Load modified description, if any. if(assembly_params["desc"]) desc = assembly_params["desc"] From d8024ef36f5d8cd07e6103b72a0c69e8fb573546 Mon Sep 17 00:00:00 2001 From: Ghommie Date: Sat, 25 May 2019 16:32:17 +0200 Subject: [PATCH 10/50] lazyinitlist. --- code/modules/antagonists/traitor/IAA/internal_affairs.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/antagonists/traitor/IAA/internal_affairs.dm b/code/modules/antagonists/traitor/IAA/internal_affairs.dm index 5213c679ca..051bf74705 100644 --- a/code/modules/antagonists/traitor/IAA/internal_affairs.dm +++ b/code/modules/antagonists/traitor/IAA/internal_affairs.dm @@ -130,6 +130,7 @@ if(!owner.current||owner.current.stat==DEAD) return to_chat(owner.current, " Target eliminated: [victim.name]") + LAZYINITLIST(targets_stolen) for(var/objective_ in victim.objectives) if(istype(objective_, /datum/objective/assassinate/internal)) var/datum/objective/assassinate/internal/objective = objective_ From fc5b617ca0393239182a2dddb930e49b09168f33 Mon Sep 17 00:00:00 2001 From: CalamaBanana Date: Sat, 25 May 2019 21:18:17 +0200 Subject: [PATCH 11/50] Input-check for the color --- code/modules/integrated_electronics/core/saved_circuits.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/integrated_electronics/core/saved_circuits.dm b/code/modules/integrated_electronics/core/saved_circuits.dm index 8b5219dc9f..2fe6984808 100644 --- a/code/modules/integrated_electronics/core/saved_circuits.dm +++ b/code/modules/integrated_electronics/core/saved_circuits.dm @@ -144,6 +144,8 @@ return "Bad assembly name." if(assembly_params["desc"] && !reject_bad_text(assembly_params["desc"])) return "Bad assembly description." + if(assembly_params["detail_color"] && !reject_bad_text(assembly_params["detail_color"], 7)) + return "Bad assembly color." // Loads assembly parameters from a list // Doesn't verify any of the parameters it loads, this is the job of verify_save() From ed974bdcdef312b82788403b62519c3d66995cb2 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sat, 25 May 2019 17:18:40 -0400 Subject: [PATCH 12/50] Update sheet_types.dm --- code/game/objects/items/stacks/sheets/sheet_types.dm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 89d939e505..045fd2c81b 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -252,7 +252,8 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \ new/datum/stack_recipe("bedsheet", /obj/item/bedsheet, 3), \ new/datum/stack_recipe("empty sandbag", /obj/item/emptysandbag, 4), \ null, \ - new/datum/stack_recipe("fingerless gloves", /obj/item/clothing/gloves/fingerless, 1), \ + new/datum/stack_recipe("fingerless gloves", /obj/item/clothing/gloves/fingerless, 1),\ + new/datum/stack_recipe("white gloves", /obj/item/clothing/gloves/color/white, 1),\ new/datum/stack_recipe("black gloves", /obj/item/clothing/gloves/color/black, 3), \ null, \ new/datum/stack_recipe("blindfold", /obj/item/clothing/glasses/sunglasses/blindfold, 2), \ @@ -284,6 +285,9 @@ GLOBAL_LIST_INIT(cardboard_recipes, list ( \ new/datum/stack_recipe("light tubes", /obj/item/storage/box/lights/tubes), \ new/datum/stack_recipe("light bulbs", /obj/item/storage/box/lights/bulbs), \ new/datum/stack_recipe("mouse traps", /obj/item/storage/box/mousetraps), \ + new/datum/stack_recipe("lethal ammo box", /obj/item/storage/box/lethalshot), \ + new/datum/stack_recipe("rubber shot ammo box", /obj/item/storage/box/rubbershot), \ + new/datum/stack_recipe("bean bag ammo box", /obj/item/storage/box/beanbag), \ new/datum/stack_recipe("cardborg suit", /obj/item/clothing/suit/cardborg, 3), \ new/datum/stack_recipe("cardborg helmet", /obj/item/clothing/head/cardborg), \ new/datum/stack_recipe("pizza box", /obj/item/pizzabox), \ From 97a795dc0a6be79cc70bdf7d75c27cba2f90a96f Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sat, 25 May 2019 17:38:06 -0400 Subject: [PATCH 13/50] Delete storage.dmi --- icons/obj/storage.dmi | Bin 63549 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 icons/obj/storage.dmi diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi deleted file mode 100644 index d6ffc12ae735437ac3752e5fc6d66f4ee08e8747..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63549 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 Lshsx^=KsF{g8Sq( From 011be481caeec0aa1c2f011974b21105a6712e8d Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sat, 25 May 2019 17:39:03 -0400 Subject: [PATCH 14/50] Add files via upload --- icons/obj/storage.dmi | Bin 0 -> 63960 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 icons/obj/storage.dmi diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi new file mode 100644 index 0000000000000000000000000000000000000000..1a1e5f617b05967ff1c512e93180f20e877f7821 GIT binary patch literal 63960 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%0D{8O)LLBO0kRiB4V!Asef% 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 LHHBh1Bme&e_p>OQ literal 0 HcmV?d00001 From b6590cd9e941838759408cfecaf1205c6c2b5f66 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sat, 25 May 2019 17:54:57 -0400 Subject: [PATCH 15/50] Update boxes.dm --- code/game/objects/items/storage/boxes.dm | 49 +++++++++++++++++++++--- 1 file changed, 43 insertions(+), 6 deletions(-) diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index c8e96d0b28..f09c040795 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -14,8 +14,9 @@ * ID and security PDA cart boxes, * Handcuff, mousetrap, and pillbottle boxes, * Snap-pops and matchboxes, - * Replacement light boxes. - * Action Figure Boxes + * Replacement light boxes, + * Shotgun Ammo boxes, + * Action Figure Boxes, * Various paper bags. * * For syndicate call-ins see uplink_kits.dm @@ -84,7 +85,6 @@ for(var/i in 1 to 7) new /obj/item/disk/data(src) - /obj/item/storage/box/disks_plantgene name = "plant data disks box" illustration = "disk_kit" @@ -117,7 +117,6 @@ new /obj/item/crowbar/red(src) new /obj/item/reagent_containers/hypospray/medipen(src) - // Engineer survival box /obj/item/storage/box/engineer/PopulateContents() new /obj/item/clothing/mask/breath(src) @@ -261,7 +260,6 @@ new /obj/item/assembly/flash/handheld(src) new /obj/item/screwdriver(src) - /obj/item/storage/box/teargas name = "box of tear gas grenades (WARNING)" desc = "WARNING: These devices are extremely dangerous and can cause blindness and skin irritation." @@ -615,7 +613,6 @@ for(var/i in 1 to 7) new /obj/item/light/bulb(src) - /obj/item/storage/box/deputy name = "box of deputy armbands" desc = "To be issued to those authorized to act as deputy of security." @@ -721,6 +718,46 @@ for(var/i in 1 to 6) new /obj/item/ammo_casing/shotgun/beanbag(src) +/obj/item/storage/box/lethalslugs + name = "box of 12g shotgun slugs" + desc = "A box full of lethal 12g slug, designed for riot shotguns." + icon_state = "12g_box" + illustration = null + +/obj/item/storage/box/lethalslugs/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/projectile/bullet/shotgun_slug(src) + +/obj/item/storage/box/stunslug + name = "box of stun slugs" + desc = "A box full of stun 12g slugs." + icon_state = "stunslug_box" + illustration = null + +/obj/item/storage/box/stunslug/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/projectile/bullet/shotgun_stunslug(src) + +/obj/item/storage/box/techsslug + name = "box of tech shotgun shells" + desc = "A box full of tech shotgun shells." + icon_state = "techslug_box" + illustration = null + +/obj/item/storage/box/techsslug/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/ammo_casing/shotgun/techshell(src) + +/obj/item/storage/box/fireshot + name = "box of incendiary ammo" + desc = "A box full of tech incendiary ammo." + icon_state = "fireshot_box" + illustration = null + +/obj/item/storage/box/techsslug/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/ammo_casing/shotgun/incendiary(src) + /obj/item/storage/box/actionfigure name = "box of action figures" desc = "The latest set of collectable action figures." From 070e43ca64cd448e8229bdba515944b38e83cb75 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sat, 25 May 2019 17:58:33 -0400 Subject: [PATCH 16/50] Update sheet_types.dm --- code/game/objects/items/stacks/sheets/sheet_types.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 045fd2c81b..a8c44656ca 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -288,6 +288,10 @@ GLOBAL_LIST_INIT(cardboard_recipes, list ( \ new/datum/stack_recipe("lethal ammo box", /obj/item/storage/box/lethalshot), \ new/datum/stack_recipe("rubber shot ammo box", /obj/item/storage/box/rubbershot), \ new/datum/stack_recipe("bean bag ammo box", /obj/item/storage/box/beanbag), \ + new/datum/stack_recipe("12g ammo box", /obj/item/storage/box/lethalslugs), \ + new/datum/stack_recipe("stun slug ammo box", /obj/item/storage/box/stunslug), \ + new/datum/stack_recipe("tech shell ammo box", /obj/item/storage/box/techsslug), \ + new/datum/stack_recipe("incendiary ammo box", /obj/item/storage/box/fireshot), \ new/datum/stack_recipe("cardborg suit", /obj/item/clothing/suit/cardborg, 3), \ new/datum/stack_recipe("cardborg helmet", /obj/item/clothing/head/cardborg), \ new/datum/stack_recipe("pizza box", /obj/item/pizzabox), \ From 49351fe909d4b108ca30fd1e9f14e662a7428764 Mon Sep 17 00:00:00 2001 From: UntoldTactics <47285532+UntoldTactics@users.noreply.github.com> Date: Sun, 26 May 2019 12:23:35 +1000 Subject: [PATCH 17/50] Update code/modules/antagonists/cult/runes.dm Co-Authored-By: deathride58 --- code/modules/antagonists/cult/runes.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index 1593064dba..3c11351660 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -246,7 +246,7 @@ structure_check() searches for nearby cultist structures required for the invoca return 0 to_chat(convertee, "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible, truth. The veil of reality has been ripped away \ and something evil takes root.") - to_chat(convertee, "Do you wish to embrace the Geometer of Blood? Click here to become a follower of Nar'sie. Or you could choose to continue resisting and suffer a fate worse than death.") + to_chat(convertee, "Do you wish to embrace the Geometer of Blood? Click here to become a follower of Nar'sie. Or you could choose to continue resisting and suffer a fate worse than death...") currentconversionman = convertee conversiontimeout = world.time + (10 SECONDS) convertee.Stun(100) From 28c435134b185e51cb12ee905b8c1f51712594a1 Mon Sep 17 00:00:00 2001 From: Ghommie Date: Sun, 26 May 2019 04:52:05 +0200 Subject: [PATCH 18/50] stunbaton emp & status tweaks --- code/game/objects/items/stunbaton.dm | 55 +++++++++++++++++++--------- 1 file changed, 38 insertions(+), 17 deletions(-) diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index c0e81a7949..86cccb56f8 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -13,11 +13,12 @@ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 50, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 80) var/stunforce = 140 - var/status = 0 + var/status = FALSE var/obj/item/stock_parts/cell/cell var/hitcost = 1000 var/throw_hit_chance = 35 var/preload_cell_type //if not empty the baton starts with this type of cell + var/emped_timer = 0 /obj/item/melee/baton/get_cell() return cell @@ -45,16 +46,30 @@ preload_cell_type = /obj/item/stock_parts/cell/high /obj/item/melee/baton/proc/deductcharge(chrgdeductamt) - if(cell) - //Note this value returned is significant, as it will determine - //if a stun is applied or not - . = cell.use(chrgdeductamt) - if(status && cell.charge < hitcost) - //we're below minimum, turn off - status = 0 - update_icon() - playsound(loc, "sparks", 75, 1, -1) + if(!cell) + switch_status(FALSE, TRUE) + return FALSE + //Note this value returned is significant, as it will determine + //if a stun is applied or not + . = cell.use(chrgdeductamt) + if(status && cell.charge < hitcost) + //we're below minimum, turn off + switch_status(FALSE) +/obj/item/melee/baton/proc/switch_status(new_status = FALSE, silent = FALSE) + if(status == new_status) + return + status = new_status + update_icon() + if(!silent) + playsound(loc, "sparks", 75, 1, -1) + if(status) + START_PROCESSING(SSobj, src) + else + STOP_PROCESSING(SSobj, src) + +/obj/item/melee/baton/process() + deductcharge(10) /obj/item/melee/baton/update_icon() if(status) @@ -92,23 +107,23 @@ cell.forceMove(get_turf(src)) cell = null to_chat(user, "You remove the cell from [src].") - status = 0 - update_icon() + switch_status(FALSE, TRUE) else return ..() /obj/item/melee/baton/attack_self(mob/user) if(cell && cell.charge > hitcost) - status = !status - to_chat(user, "[src] is now [status ? "on" : "off"].") - playsound(loc, "sparks", 75, 1, -1) + if(emped_timer > world.time) + to_chat(user, "[src] briefly flickers as you try to turn it on, looks like it's momentarily out of service.") + else + switch_status(!status) + to_chat(user, "[src] is now [status ? "on" : "off"].") else - status = 0 + switch_status(FALSE, TRUE) if(!cell) to_chat(user, "[src] does not have a power source!") else to_chat(user, "[src] is out of charge.") - update_icon() add_fingerprint(user) /obj/item/melee/baton/attack(mob/M, mob/living/carbon/human/user) @@ -185,7 +200,13 @@ /obj/item/melee/baton/emp_act(severity) . = ..() if (!(. & EMP_PROTECT_SELF)) + switch_status(FALSE) deductcharge(1000 / severity) + var/downtime = 4 SECONDS / severity + if(emped_timer > world.time) + emped_timer += downtime * 0.5 + else + emped_timer = world.time + downtime //Makeshift stun baton. Replacement for stun gloves. /obj/item/melee/baton/cattleprod From e61942cba9b14b57bcb23e73d0708d9fd831a9ad Mon Sep 17 00:00:00 2001 From: Ghommie Date: Sun, 26 May 2019 05:18:07 +0200 Subject: [PATCH 19/50] it will approx take 18-19 minutes now. --- code/game/objects/items/stunbaton.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index 86cccb56f8..45f6106559 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -69,7 +69,7 @@ STOP_PROCESSING(SSobj, src) /obj/item/melee/baton/process() - deductcharge(10) + deductcharge(18 * hitcost * 0.001) /obj/item/melee/baton/update_icon() if(status) From 9b2ab8fc2a82fb14eb34e229230f35d50f9e9b06 Mon Sep 17 00:00:00 2001 From: Ghommie Date: Sun, 26 May 2019 05:21:17 +0200 Subject: [PATCH 20/50] 21 minutes sounds, I don't really wanna overly punish. --- code/game/objects/items/stunbaton.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index 45f6106559..39f77f0bfb 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -69,7 +69,7 @@ STOP_PROCESSING(SSobj, src) /obj/item/melee/baton/process() - deductcharge(18 * hitcost * 0.001) + deductcharge(15 * hitcost * 0.001) /obj/item/melee/baton/update_icon() if(status) From 125db4c6b4aa5877c91ea410ff0d42410ab54f1d Mon Sep 17 00:00:00 2001 From: BurgerLua Date: Sat, 25 May 2019 21:21:52 -0700 Subject: [PATCH 21/50] Added --- code/modules/mob/living/carbon/human/species.dm | 12 ++++++------ tgstation.dme | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index d68c936909..3930d19168 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -1475,9 +1475,9 @@ GLOBAL_LIST_EMPTY(roundstart_races) else if(aim_for_mouth && ( target_on_help || target_restrained || target_aiming_for_mouth)) playsound(target.loc, 'sound/weapons/slap.ogg', 50, 1, -1) - user.visible_message( - "[user] slaps [target] in the face!", - "You slap [user == target ? "yourself" : target] in the face! ",\ + user.visible_message(\ + "\The [user] slaps \the [target] in the face!",\ + "You slap [user == target ? "yourself" : "\the [target]"] in the face! ",\ "You hear a slap." ) if (!target.has_trait(TRAIT_NYMPHO)) @@ -1487,9 +1487,9 @@ GLOBAL_LIST_EMPTY(roundstart_races) return FALSE else if(aim_for_groin && (target == user || target.lying || same_dir) && (target_on_help || target_restrained || target_aiming_for_groin)) playsound(target.loc, 'sound/weapons/slap.ogg', 50, 1, -1) - user.visible_message( - "[user] slaps [target]'s ass!", - "You slap [user == target ? "your" : target + "'s"] ass! ",\ + user.visible_message(\ + "\The [user] slaps \the [target]'s ass!",\ + "You slap [user == target ? "your" : "\the [target]'s"] ass!",\ "You hear a slap." ) if (target.canbearoused) diff --git a/tgstation.dme b/tgstation.dme index 4d74c8a95f..dea02c485f 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -2502,12 +2502,6 @@ #include "code\modules\research\server.dm" #include "code\modules\research\stock_parts.dm" #include "code\modules\research\designs\AI_module_designs.dm" -#include "code\modules\research\designs\autolathe_desings\autolathe_designs_construction.dm" -#include "code\modules\research\designs\autolathe_desings\autolathe_designs_electronics.dm" -#include "code\modules\research\designs\autolathe_desings\autolathe_designs_medical_and_dinnerware.dm" -#include "code\modules\research\designs\autolathe_desings\autolathe_designs_sec_and_hacked.dm" -#include "code\modules\research\designs\autolathe_desings\autolathe_designs_tcomms_and_misc.dm" -#include "code\modules\research\designs\autolathe_desings\autolathe_designs_tools.dm" #include "code\modules\research\designs\biogenerator_designs.dm" #include "code\modules\research\designs\bluespace_designs.dm" #include "code\modules\research\designs\comp_board_designs.dm" @@ -2527,6 +2521,12 @@ #include "code\modules\research\designs\stock_parts_designs.dm" #include "code\modules\research\designs\telecomms_designs.dm" #include "code\modules\research\designs\weapon_designs.dm" +#include "code\modules\research\designs\autolathe_desings\autolathe_designs_construction.dm" +#include "code\modules\research\designs\autolathe_desings\autolathe_designs_electronics.dm" +#include "code\modules\research\designs\autolathe_desings\autolathe_designs_medical_and_dinnerware.dm" +#include "code\modules\research\designs\autolathe_desings\autolathe_designs_sec_and_hacked.dm" +#include "code\modules\research\designs\autolathe_desings\autolathe_designs_tcomms_and_misc.dm" +#include "code\modules\research\designs\autolathe_desings\autolathe_designs_tools.dm" #include "code\modules\research\machinery\_production.dm" #include "code\modules\research\machinery\circuit_imprinter.dm" #include "code\modules\research\machinery\departmental_circuit_imprinter.dm" From 7289d8a9991bfcf7317b95c54d9bdedcf75c059e Mon Sep 17 00:00:00 2001 From: Ghommie Date: Sun, 26 May 2019 06:31:25 +0200 Subject: [PATCH 22/50] tweaking. --- code/game/objects/items/stunbaton.dm | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index 39f77f0bfb..3386b54145 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -45,14 +45,14 @@ /obj/item/melee/baton/loaded //this one starts with a cell pre-installed. preload_cell_type = /obj/item/stock_parts/cell/high -/obj/item/melee/baton/proc/deductcharge(chrgdeductamt) +/obj/item/melee/baton/proc/deductcharge(chrgdeductamt, chargecheck = TRUE) if(!cell) switch_status(FALSE, TRUE) return FALSE //Note this value returned is significant, as it will determine //if a stun is applied or not . = cell.use(chrgdeductamt) - if(status && cell.charge < hitcost) + if(status && (!. || (chargecheck && cell.charge < hitcost))) //we're below minimum, turn off switch_status(FALSE) @@ -69,7 +69,7 @@ STOP_PROCESSING(SSobj, src) /obj/item/melee/baton/process() - deductcharge(15 * hitcost * 0.001) + deductcharge(hitcost * 0.004, FALSE) /obj/item/melee/baton/update_icon() if(status) @@ -168,17 +168,21 @@ var/mob/living/carbon/human/H = L if(H.check_shields(src, 0, "[user]'s [name]", MELEE_ATTACK)) //No message; check_shields() handles that playsound(L, 'sound/weapons/genhit.ogg', 50, 1) - return 0 + return FALSE + var/stunpwr = stunforce if(iscyborg(loc)) var/mob/living/silicon/robot/R = loc - if(!R || !R.cell || !R.cell.use(hitcost)) - return 0 + if(!istype(R) || !R.cell || !R.cell.use(hitcost)) + return FALSE else - if(!deductcharge(hitcost)) - return 0 + var/stuncharge = cell.charge + if(!deductcharge(hitcost, FALSE)) + stunpwr *= round(stuncharge/hitcost) + if(stunpwr < stunforce * 0.2) + return FALSE - L.Knockdown(stunforce) - L.adjustStaminaLoss(stunforce*0.1, affected_zone = (istype(user) ? user.zone_selected : BODY_ZONE_CHEST))//CIT CHANGE - makes stunbatons deal extra staminaloss. Todo: make this also deal pain when pain gets implemented. + L.Knockdown(stunpwr) + L.adjustStaminaLoss(stunpwr*0.1, affected_zone = (istype(user) ? user.zone_selected : BODY_ZONE_CHEST))//CIT CHANGE - makes stunbatons deal extra staminaloss. Todo: make this also deal pain when pain gets implemented. L.apply_effect(EFFECT_STUTTER, stunforce) SEND_SIGNAL(L, COMSIG_LIVING_MINOR_SHOCK) if(user) @@ -195,14 +199,14 @@ H.forcesay(GLOB.hit_appends) - return 1 + return TRUE /obj/item/melee/baton/emp_act(severity) . = ..() if (!(. & EMP_PROTECT_SELF)) switch_status(FALSE) deductcharge(1000 / severity) - var/downtime = 4 SECONDS / severity + var/downtime = 5 SECONDS / severity if(emped_timer > world.time) emped_timer += downtime * 0.5 else From 288f97dd1389af7a23ceeb110115289d27825143 Mon Sep 17 00:00:00 2001 From: Ghommie Date: Sun, 26 May 2019 06:38:04 +0200 Subject: [PATCH 23/50] further tweaking. --- code/game/objects/items/stunbaton.dm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index 3386b54145..9260b1bc6f 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -1,3 +1,5 @@ +#define STUNBATON_CHARGE_LENIENCY 0.3 + /obj/item/melee/baton name = "stunbaton" desc = "A stun baton for incapacitating people with." @@ -112,9 +114,9 @@ return ..() /obj/item/melee/baton/attack_self(mob/user) - if(cell && cell.charge > hitcost) + if(cell && cell.charge > hitcost * STUNBATON_CHARGE_LENIENCY) if(emped_timer > world.time) - to_chat(user, "[src] briefly flickers as you try to turn it on, looks like it's momentarily out of service.") + to_chat(user, "[src] briefly flickers as you fail to turn it on, looks like it's momentarily out of service.") else switch_status(!status) to_chat(user, "[src] is now [status ? "on" : "off"].") @@ -178,7 +180,7 @@ var/stuncharge = cell.charge if(!deductcharge(hitcost, FALSE)) stunpwr *= round(stuncharge/hitcost) - if(stunpwr < stunforce * 0.2) + if(stunpwr < stunforce * STUNBATON_CHARGE_LENIENCY) return FALSE L.Knockdown(stunpwr) From cfa53d53f16b71b752be206de39b7c004c1838d3 Mon Sep 17 00:00:00 2001 From: Ghommie Date: Sun, 26 May 2019 06:49:58 +0200 Subject: [PATCH 24/50] updating old teleprods. --- code/game/objects/items/stunbaton.dm | 13 +++++++---- code/game/objects/items/teleprod.dm | 34 ++++++++++++---------------- 2 files changed, 24 insertions(+), 23 deletions(-) diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index 9260b1bc6f..df59b924fe 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -130,10 +130,7 @@ /obj/item/melee/baton/attack(mob/M, mob/living/carbon/human/user) if(status && user.has_trait(TRAIT_CLUMSY) && prob(50)) - user.visible_message("[user] accidentally hits [user.p_them()]self with [src]!", \ - "You accidentally hit yourself with [src]!") - user.Knockdown(stunforce*3) - deductcharge(hitcost) + clowning_around(user) return if(user.getStaminaLoss() >= STAMINA_SOFTCRIT)//CIT CHANGE - makes it impossible to baton in stamina softcrit @@ -203,6 +200,12 @@ return TRUE +/obj/item/melee/baton/proc/clowning_around(mob/living/user) + user.visible_message("[user] accidentally hits [user.p_them()]self with [src]!", \ + "You accidentally hit yourself with [src]!") + user.Knockdown(stunforce*3) + deductcharge(hitcost) + /obj/item/melee/baton/emp_act(severity) . = ..() if (!(. & EMP_PROTECT_SELF)) @@ -238,3 +241,5 @@ /obj/item/melee/baton/cattleprod/baton_stun() if(sparkler.activate()) ..() + +#undef STUNBATON_CHARGE_LENIENCY diff --git a/code/game/objects/items/teleprod.dm b/code/game/objects/items/teleprod.dm index fd9972f427..c514e5e926 100644 --- a/code/game/objects/items/teleprod.dm +++ b/code/game/objects/items/teleprod.dm @@ -6,27 +6,23 @@ item_state = "teleprod" slot_flags = null -/obj/item/melee/baton/cattleprod/teleprod/attack(mob/living/carbon/M, mob/living/carbon/user)//handles making things teleport when hit - ..() - if(status && user.has_trait(TRAIT_CLUMSY) && prob(50)) - user.visible_message("[user] accidentally hits [user.p_them()]self with [src]!", \ - "You accidentally hit yourself with [src]!") - if(do_teleport(user, get_turf(user), 50))//honk honk - SEND_SIGNAL(user, COMSIG_LIVING_MINOR_SHOCK) - user.Knockdown(stunforce*3) - deductcharge(hitcost) - else - SEND_SIGNAL(user, COMSIG_LIVING_MINOR_SHOCK) - user.Knockdown(stunforce*3) - deductcharge(hitcost/4) +/obj/item/melee/baton/cattleprod/teleprod/baton_stun(mob/living/carbon/M, mob/living/carbon/user)//handles making things teleport when hit + . = ..() + if(!. || !istype(M) || M.anchored) return else - if(status) - if(!istype(M) && M.anchored) - return . - else - SEND_SIGNAL(M, COMSIG_LIVING_MINOR_SHOCK) - do_teleport(M, get_turf(M), 15) + SEND_SIGNAL(M, COMSIG_LIVING_MINOR_SHOCK) + do_teleport(M, get_turf(M), 15) + +/obj/item/melee/baton/cattleprod/teleprod/clowning_around(mob/living/user) + user.visible_message("[user] accidentally hits [user.p_them()]self with [src]!", \ + "You accidentally hit yourself with [src]!") + SEND_SIGNAL(user, COMSIG_LIVING_MINOR_SHOCK) + user.Knockdown(stunforce*3) + if(do_teleport(user, get_turf(user), 50)) + deductcharge(hitcost) + else + deductcharge(hitcost * 0.25) /obj/item/melee/baton/cattleprod/attackby(obj/item/I, mob/user, params)//handles sticking a crystal onto a stunprod to make a teleprod if(istype(I, /obj/item/stack/ore/bluespace_crystal)) From a47a7b31ba465169a726e156bbd507a0484290ab Mon Sep 17 00:00:00 2001 From: Ghommie Date: Sun, 26 May 2019 06:56:02 +0200 Subject: [PATCH 25/50] more leniency. --- code/game/objects/items/stunbaton.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index df59b924fe..5a9f3c34e8 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -54,7 +54,7 @@ //Note this value returned is significant, as it will determine //if a stun is applied or not . = cell.use(chrgdeductamt) - if(status && (!. || (chargecheck && cell.charge < hitcost))) + if(status && (!. || (chargecheck && cell.charge < hitcost * STUNBATON_CHARGE_LENIENCY))) //we're below minimum, turn off switch_status(FALSE) From e3aaff68b7367c90db264d1402befcfb83b80f22 Mon Sep 17 00:00:00 2001 From: BurgerLua Date: Sun, 26 May 2019 00:34:37 -0700 Subject: [PATCH 26/50] Added --- code/game/machinery/computer/crew.dm | 25 ++++++++++++++++++++----- tgstation.dme | 12 ++++++------ 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm index 09cbb68083..ccc2121929 100644 --- a/code/game/machinery/computer/crew.dm +++ b/code/game/machinery/computer/crew.dm @@ -103,7 +103,9 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new) if(data_by_z["[z]"] && last_update["[z]"] && world.time <= last_update["[z]"] + SENSORS_UPDATE_PERIOD) return data_by_z["[z]"] - var/list/results = list() + var/list/results_damaged = list() + var/list/results_undamaged = list() + var/obj/item/clothing/under/U var/obj/item/card/id/I var/turf/pos @@ -114,6 +116,7 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new) var/toxdam var/burndam var/brutedam + var/totaldam var/area var/pos_x var/pos_y @@ -157,11 +160,13 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new) toxdam = round(H.getToxLoss(),1) burndam = round(H.getFireLoss(),1) brutedam = round(H.getBruteLoss(),1) + totaldam = oxydam + toxdam + burndam + brutedam else oxydam = null toxdam = null burndam = null brutedam = null + totaldam = 0 if (nanite_sensors || U.sensor_mode >= SENSOR_COORDS) if (!pos) @@ -174,16 +179,26 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new) pos_x = null pos_y = null - results[++results.len] = list("name" = name, "assignment" = assignment, "ijob" = ijob, "life_status" = life_status, "oxydam" = oxydam, "toxdam" = toxdam, "burndam" = burndam, "brutedam" = brutedam, "area" = area, "pos_x" = pos_x, "pos_y" = pos_y, "can_track" = H.can_track(null)) + var/total_list = list("name" = name, "assignment" = assignment, "ijob" = ijob, "life_status" = life_status, "oxydam" = oxydam, "toxdam" = toxdam, "burndam" = burndam, "brutedam" = brutedam, "totaldam" = totaldam, "area" = area, "pos_x" = pos_x, "pos_y" = pos_y, "can_track" = H.can_track(null)) - data_by_z["[z]"] = sortTim(results,/proc/sensor_compare) + if(totaldam) + results_damaged[++results_damaged.len] = total_list + else + results_undamaged[++results_undamaged.len] = total_list + + var/list/returning = sortTim(results_damaged,/proc/damage_compare) + sortTim(results_undamaged,/proc/ijob_compare) + + data_by_z["[z]"] = returning last_update["[z]"] = world.time - return results + return returning -/proc/sensor_compare(list/a,list/b) +/proc/ijob_compare(list/a,list/b) return a["ijob"] - b["ijob"] +/proc/damage_compare(list/a,list/b) + return b["totaldam"] - a["totaldam"] + /datum/crewmonitor/ui_act(action,params) var/mob/living/silicon/ai/AI = usr if(!istype(AI)) diff --git a/tgstation.dme b/tgstation.dme index 4d74c8a95f..dea02c485f 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -2502,12 +2502,6 @@ #include "code\modules\research\server.dm" #include "code\modules\research\stock_parts.dm" #include "code\modules\research\designs\AI_module_designs.dm" -#include "code\modules\research\designs\autolathe_desings\autolathe_designs_construction.dm" -#include "code\modules\research\designs\autolathe_desings\autolathe_designs_electronics.dm" -#include "code\modules\research\designs\autolathe_desings\autolathe_designs_medical_and_dinnerware.dm" -#include "code\modules\research\designs\autolathe_desings\autolathe_designs_sec_and_hacked.dm" -#include "code\modules\research\designs\autolathe_desings\autolathe_designs_tcomms_and_misc.dm" -#include "code\modules\research\designs\autolathe_desings\autolathe_designs_tools.dm" #include "code\modules\research\designs\biogenerator_designs.dm" #include "code\modules\research\designs\bluespace_designs.dm" #include "code\modules\research\designs\comp_board_designs.dm" @@ -2527,6 +2521,12 @@ #include "code\modules\research\designs\stock_parts_designs.dm" #include "code\modules\research\designs\telecomms_designs.dm" #include "code\modules\research\designs\weapon_designs.dm" +#include "code\modules\research\designs\autolathe_desings\autolathe_designs_construction.dm" +#include "code\modules\research\designs\autolathe_desings\autolathe_designs_electronics.dm" +#include "code\modules\research\designs\autolathe_desings\autolathe_designs_medical_and_dinnerware.dm" +#include "code\modules\research\designs\autolathe_desings\autolathe_designs_sec_and_hacked.dm" +#include "code\modules\research\designs\autolathe_desings\autolathe_designs_tcomms_and_misc.dm" +#include "code\modules\research\designs\autolathe_desings\autolathe_designs_tools.dm" #include "code\modules\research\machinery\_production.dm" #include "code\modules\research\machinery\circuit_imprinter.dm" #include "code\modules\research\machinery\departmental_circuit_imprinter.dm" From 375965d7313b99f65bba504c6d69c75b50d1277a Mon Sep 17 00:00:00 2001 From: deathride58 Date: Sun, 26 May 2019 16:22:15 -0400 Subject: [PATCH 27/50] Item stripping no longer gets interrupted by changes in your actively held item --- code/__HELPERS/mobs.dm | 4 ++-- code/modules/mob/living/carbon/human/human.dm | 2 +- code/modules/mob/living/living.dm | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index 74a1fbd785..34a34273dc 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -294,7 +294,7 @@ GLOBAL_LIST_EMPTY(species_list) else return "unknown" -/proc/do_mob(mob/user , mob/target, time = 30, uninterruptible = 0, progress = 1, datum/callback/extra_checks = null) +/proc/do_mob(mob/user , mob/target, time = 30, uninterruptible = 0, progress = 1, datum/callback/extra_checks = null, ignorehelditem = 0) if(!user || !target) return 0 var/user_loc = user.loc @@ -327,7 +327,7 @@ GLOBAL_LIST_EMPTY(species_list) drifting = 0 user_loc = user.loc - if((!drifting && user.loc != user_loc) || target.loc != target_loc || user.get_active_held_item() != holding || user.incapacitated() || user.lying || (extra_checks && !extra_checks.Invoke())) + if((!drifting && user.loc != user_loc) || target.loc != target_loc || (!ignorehelditem && user.get_active_held_item() != holding) || user.incapacitated() || user.lying || (extra_checks && !extra_checks.Invoke())) . = 0 break if (progress) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 49d2722323..13da7b913c 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -260,7 +260,7 @@ else return - if(do_mob(usr, src, POCKET_STRIP_DELAY/delay_denominator)) //placing an item into the pocket is 4 times faster + if(do_mob(usr, src, POCKET_STRIP_DELAY/delay_denominator, ignorehelditem = TRUE)) //placing an item into the pocket is 4 times faster if(pocket_item) if(pocket_item == (pocket_id == SLOT_R_STORE ? r_store : l_store)) //item still in the pocket we search dropItemToGround(pocket_item) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index b9b6424092..ae662c7628 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -698,7 +698,7 @@ who.visible_message("[src] tries to remove [who]'s [what.name].", \ "[src] tries to remove [who]'s [what.name].") what.add_fingerprint(src) - if(do_mob(src, who, what.strip_delay)) + if(do_mob(src, who, what.strip_delay, ignorehelditem = TRUE)) if(what && Adjacent(who)) if(islist(where)) var/list/L = where From 81da063fa8df9d57bb691820745f2f10277e3c90 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 26 May 2019 19:22:46 -0500 Subject: [PATCH 28/50] Automatic changelog generation for PR #8419 [ci skip] --- html/changelogs/AutoChangeLog-pr-8419.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8419.yml diff --git a/html/changelogs/AutoChangeLog-pr-8419.yml b/html/changelogs/AutoChangeLog-pr-8419.yml new file mode 100644 index 0000000000..037dba41ad --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8419.yml @@ -0,0 +1,4 @@ +author: "UntoldTactics" +delete-after: True +changes: + - tweak: "Rewords the click here prompt given when an attempted conversion is done on an offer rune (for blood cult)" From 33d40c0e9438d0168ea951e1ffd1eb337d908ed5 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 26 May 2019 19:23:07 -0500 Subject: [PATCH 29/50] Automatic changelog generation for PR #8435 [ci skip] --- html/changelogs/AutoChangeLog-pr-8435.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8435.yml diff --git a/html/changelogs/AutoChangeLog-pr-8435.yml b/html/changelogs/AutoChangeLog-pr-8435.yml new file mode 100644 index 0000000000..3c2caeb994 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8435.yml @@ -0,0 +1,4 @@ +author: "Ghommie" +delete-after: True +changes: + - bugfix: "fixes IAA." From 37aa491fa5cc9409b874434fed4ea027910e21b2 Mon Sep 17 00:00:00 2001 From: Ghommie Date: Mon, 27 May 2019 02:30:03 +0200 Subject: [PATCH 30/50] removes emp downtime, Kev's request. --- code/game/objects/items/stunbaton.dm | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index 5a9f3c34e8..5265f555da 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -20,7 +20,6 @@ var/hitcost = 1000 var/throw_hit_chance = 35 var/preload_cell_type //if not empty the baton starts with this type of cell - var/emped_timer = 0 /obj/item/melee/baton/get_cell() return cell @@ -115,11 +114,8 @@ /obj/item/melee/baton/attack_self(mob/user) if(cell && cell.charge > hitcost * STUNBATON_CHARGE_LENIENCY) - if(emped_timer > world.time) - to_chat(user, "[src] briefly flickers as you fail to turn it on, looks like it's momentarily out of service.") - else - switch_status(!status) - to_chat(user, "[src] is now [status ? "on" : "off"].") + switch_status(!status) + to_chat(user, "[src] is now [status ? "on" : "off"].") else switch_status(FALSE, TRUE) if(!cell) @@ -211,11 +207,6 @@ if (!(. & EMP_PROTECT_SELF)) switch_status(FALSE) deductcharge(1000 / severity) - var/downtime = 5 SECONDS / severity - if(emped_timer > world.time) - emped_timer += downtime * 0.5 - else - emped_timer = world.time + downtime //Makeshift stun baton. Replacement for stun gloves. /obj/item/melee/baton/cattleprod From 06bacf34361d2eb4ea73c82e5220df71c543cbfc Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sun, 26 May 2019 21:52:28 -0400 Subject: [PATCH 31/50] Update uplink_items.dm --- code/modules/uplink/uplink_items.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index 798b495cfd..bd78405013 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -510,7 +510,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) name = "12g Scatter Laser shot Slugs" desc = "An alternative 8-round Scatter Laser Shot magazine for use in the Bulldog shotgun." item = /obj/item/ammo_box/magazine/m12g/scatter - cost = 5 // most armor has less laser protection then bullet + cost = 4 // most armor has less laser protection then bullet /datum/uplink_item/ammo/shotgun/bag name = "12g Ammo Duffel Bag" From 5a0c7df824364d79ba96eb82c92100d96d607189 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sun, 26 May 2019 21:59:01 -0400 Subject: [PATCH 32/50] Update uplink_items.dm --- code/modules/uplink/uplink_items.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index 798b495cfd..7739831e7a 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -844,7 +844,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) You will receive the unlock code upon activating the virus, and the new uplink may be charged with \ telecrystals normally." item = /obj/item/cartridge/virus/frame - cost = 4 + cost = 2 restricted = TRUE /datum/uplink_item/stealthy_tools/agent_card From a633d3202afa022cc39e8a8d7a25727fd4906135 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sun, 26 May 2019 22:22:31 -0400 Subject: [PATCH 33/50] It was --- code/modules/uplink/uplink_items.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index 798b495cfd..9efcd3d85e 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -999,7 +999,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) desc = "The Syndicate surgery duffel bag is a toolkit containing all newest surgery tools, surgical drapes, \ a Syndicate brand MMI, a straitjacket, a muzzle, and a full Syndicate Combat Medic Kit." item = /obj/item/storage/backpack/duffelbag/syndie/surgery_adv - cost = 15 //Mite be to cheap + cost = 10 /datum/uplink_item/device_tools/military_belt name = "Chest Rig" From 4138748616ad07b39f820a6c473eedc1ab081c10 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sun, 26 May 2019 22:29:55 -0400 Subject: [PATCH 34/50] Update uplink_items.dm --- code/modules/uplink/uplink_items.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index 9efcd3d85e..c022fe4420 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -995,7 +995,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) cost = 1 /datum/uplink_item/device_tools/surgerybag_adv - name = "Syndicate Surgery Duffel Bag" + name = "Advanced Syndicate Surgery Duffel Bag" desc = "The Syndicate surgery duffel bag is a toolkit containing all newest surgery tools, surgical drapes, \ a Syndicate brand MMI, a straitjacket, a muzzle, and a full Syndicate Combat Medic Kit." item = /obj/item/storage/backpack/duffelbag/syndie/surgery_adv From ea6b538d0b47ce63059844f01d05349b14d862d5 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sun, 26 May 2019 22:32:10 -0400 Subject: [PATCH 35/50] Update uplink_items.dm --- code/modules/uplink/uplink_items.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index 798b495cfd..768944b6e6 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -1041,7 +1041,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) such as AI units and cyborgs, over their private binary channel. Caution should \ be taken while doing this, as unless they are allied with you, they are programmed to report such intrusions." item = /obj/item/encryptionkey/binary - cost = 5 + cost = 2 surplus = 75 restricted = TRUE From b28e374640e23b89e9d797a80785d23872363326 Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sun, 26 May 2019 22:35:12 -0400 Subject: [PATCH 36/50] Update uplink_items.dm --- code/modules/uplink/uplink_items.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index 798b495cfd..5a51cd420e 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -776,7 +776,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) desc = "Fitted for use on any small caliber weapon with a threaded barrel, this suppressor will silence the \ shots of the weapon for increased stealth and superior ambushing capability." item = /obj/item/suppressor - cost = 3 + cost = 1 surplus = 10 exclude_modes = list(/datum/game_mode/nuclear/clown_ops) From 21ade7bb2cc43586aa5251ed9226610326f3617d Mon Sep 17 00:00:00 2001 From: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com> Date: Sun, 26 May 2019 22:49:07 -0400 Subject: [PATCH 37/50] Update uplink_items.dm --- code/modules/uplink/uplink_items.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm index 798b495cfd..8808fce1e1 100644 --- a/code/modules/uplink/uplink_items.dm +++ b/code/modules/uplink/uplink_items.dm @@ -1517,12 +1517,12 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) cost = 15 restricted_roles = list("Clown") -/datum/uplink_item/device_tools/honkpins //Idealy so they can place it into their own guns without needing cargo +/datum/uplink_item/device_tools/ultrahonkpins //Idealy so they can place it into their own guns without needing cargo name = "Hilarious firing pin" desc = "A single firing pin made for Clown agents, this firing pin makes any gun honk when fired if not a true clown! \ This firing pin also helps you fire the gun correctly. May the HonkMother HONK you agent." - item = /obj/item/firing_pin/clown - cost = 1 + item = /obj/item/firing_pin/clown/ultra + cost = 2 restricted_roles = list("Clown") /* From 065105bd9f5a29c737fcd005aaa76838cb4367d2 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 27 May 2019 05:23:35 -0500 Subject: [PATCH 38/50] Automatic changelog generation for PR #8450 [ci skip] --- html/changelogs/AutoChangeLog-pr-8450.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8450.yml diff --git a/html/changelogs/AutoChangeLog-pr-8450.yml b/html/changelogs/AutoChangeLog-pr-8450.yml new file mode 100644 index 0000000000..8afa74c68c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8450.yml @@ -0,0 +1,4 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - tweak: "4tc - > 2tc" From 10b03cdc7d5c2ff515b81770decb10f54537d721 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 27 May 2019 05:24:50 -0500 Subject: [PATCH 39/50] Automatic changelog generation for PR #8460 [ci skip] --- html/changelogs/AutoChangeLog-pr-8460.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8460.yml diff --git a/html/changelogs/AutoChangeLog-pr-8460.yml b/html/changelogs/AutoChangeLog-pr-8460.yml new file mode 100644 index 0000000000..39af97ef12 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8460.yml @@ -0,0 +1,4 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - tweak: "1->2 and ultra" From 0f8276fb7ab4b3930ac9100daf1c19cabd6efdfa Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 27 May 2019 05:25:58 -0500 Subject: [PATCH 40/50] Automatic changelog generation for PR #8448 [ci skip] --- html/changelogs/AutoChangeLog-pr-8448.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8448.yml diff --git a/html/changelogs/AutoChangeLog-pr-8448.yml b/html/changelogs/AutoChangeLog-pr-8448.yml new file mode 100644 index 0000000000..e670ffc0f4 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8448.yml @@ -0,0 +1,4 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - tweak: "4 - > 5" From 77ef5e9feb31dc73735810dd9800a2c0b6195d6c Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 27 May 2019 05:26:28 -0500 Subject: [PATCH 41/50] Automatic changelog generation for PR #8454 [ci skip] --- html/changelogs/AutoChangeLog-pr-8454.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8454.yml diff --git a/html/changelogs/AutoChangeLog-pr-8454.yml b/html/changelogs/AutoChangeLog-pr-8454.yml new file mode 100644 index 0000000000..4cc6d98df1 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8454.yml @@ -0,0 +1,5 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - tweak: "15 - >10" + - bugfix: "both bags have the same name" From 125a3a2d857a85c0fccca3582a5893fe8f29b588 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 27 May 2019 05:26:47 -0500 Subject: [PATCH 42/50] Automatic changelog generation for PR #8455 [ci skip] --- html/changelogs/AutoChangeLog-pr-8455.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8455.yml diff --git a/html/changelogs/AutoChangeLog-pr-8455.yml b/html/changelogs/AutoChangeLog-pr-8455.yml new file mode 100644 index 0000000000..e7944f5869 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8455.yml @@ -0,0 +1,4 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - tweak: "5 - > 2" From 57bce9b22ba47ce29b459e3d9344e1582c36ef11 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 27 May 2019 05:27:24 -0500 Subject: [PATCH 43/50] Automatic changelog generation for PR #8456 [ci skip] --- html/changelogs/AutoChangeLog-pr-8456.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8456.yml diff --git a/html/changelogs/AutoChangeLog-pr-8456.yml b/html/changelogs/AutoChangeLog-pr-8456.yml new file mode 100644 index 0000000000..3ff35b1c09 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8456.yml @@ -0,0 +1,4 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - tweak: "3 -> 1" From 5d164a67cd95d7e4cfd5edfe5dd43d431b16b4f5 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 27 May 2019 05:29:04 -0500 Subject: [PATCH 44/50] Automatic changelog generation for PR #8437 [ci skip] --- html/changelogs/AutoChangeLog-pr-8437.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8437.yml diff --git a/html/changelogs/AutoChangeLog-pr-8437.yml b/html/changelogs/AutoChangeLog-pr-8437.yml new file mode 100644 index 0000000000..4257a801c9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8437.yml @@ -0,0 +1,5 @@ +author: "Trilbyspaceclone" +delete-after: True +changes: + - rscadd: "more box options" + - bugfix: "a lack of replaceable boxes" From 1e7149afc7734a077ac4d2add89e46889f0e26c8 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 27 May 2019 05:31:51 -0500 Subject: [PATCH 45/50] Automatic changelog generation for PR #8404 [ci skip] --- html/changelogs/AutoChangeLog-pr-8404.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8404.yml diff --git a/html/changelogs/AutoChangeLog-pr-8404.yml b/html/changelogs/AutoChangeLog-pr-8404.yml new file mode 100644 index 0000000000..c230977a44 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8404.yml @@ -0,0 +1,5 @@ +author: "WhiteHusky" +delete-after: True +changes: + - bugfix: "Flavor text with special characters will not get partially unescaped." + - bugfix: "Canceling when setting flavor text does not clear it anymore." From 4cb24687223942464a06fe5cd2fd2ebf94a576df Mon Sep 17 00:00:00 2001 From: Useroth Date: Mon, 27 May 2019 12:42:17 +0200 Subject: [PATCH 46/50] Magpistol magazines no longer invisible. --- modular_citadel/icons/obj/guns/cit_guns.dmi | Bin 44551 -> 44554 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/modular_citadel/icons/obj/guns/cit_guns.dmi b/modular_citadel/icons/obj/guns/cit_guns.dmi index e02025f436761e6b6e85c3f0524815db861feb85..8154a753e09bb11923e14198259863eeed751b52 100644 GIT binary patch delta 577 zcmV-H0>1r++yaW+0+1vD60s!*0RmshlP&@8fBx*l`jl@V;+t~peJR`aM7PJbJs}OU zZBI~(eC9xpA5|0eeBph{7Nc|6tm%zv*2q3J>oqe6tvhLq%rU1v23hWn`x;c6T#T@7v_Ne2P&!>($Uik%g)G>YQ4{k|JKdp8U1p4w>$Kcj0Eix+(P1Y(p ze+^d@k=Pafr)d0Ep?muN)jiU~>psF8M%_oAQF<@S@1&TrlX-sbNPq#$!ExHFr?%}0 zYfwKx_~q=zfbObp4CvnK#(?gyE(X|R-n09dw{HbJ!a6K6JdSZ>d~ys>8XRP=Ffa|Z zLK#~00|o|aG_KuFoRHacz+l~ua9Xt^f1K9r2&WZ$#!WpijpptI*e1%DU?I* zy)aIZ@r!e%7^j6baP%4HTq#C(_?#;RJj`&e6r-iXxl)XNs^nZLU_#+sDPaERe_SbG z_UBwFVD2CG7sKc*WIZri^s+cK*eS|-ndX%dJK!?QdU-BaUM9b)nm(eAZS-?+yaN(0+1vD53wZ&0Ro@NlP&@8f8efhSfBC@M0`_@y)R|kp6K@2wkM=P zw(SXOk7ZCL}FL?pQ7(%;g_=;1G=laF`#>^8w0w-x)@-OdC%@+-o6#^2gFe!oW1t z3T0@~4;UDz(YSUyaYAO(0fTir!fDlxe{fo}Bb-+38AtURjx6sRgf~xFPB{zXbl(XD z6xJ|Cn6#6btd3KUYB%t%%_l;>1x43M`kh3FacV1CpE``wq65LYDoVOo>M%}4r%(>L z_rf?u#xKs5Vw@J%z|m)%bEO#F;d8DO@G!%+AeVSh1<&O+7$qeU-^LxY{7te0tC8LiC9vV}Y9QIDW*> z%GMg)+F%o`7W`>(An?o0oW$AFtz9L!OCJ}p~#WY|* z&DkbMGqO#hWcvnwIN81dazBG1BYn)aN%ReZP-iS$Vr%|3jeQQj|9A~vllS@mD_#sl MA=3BNvp)pOsVf>GCIA2c From c332807827d7f60b93966fa54695e208d8f5bf6d Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 27 May 2019 13:21:43 -0500 Subject: [PATCH 47/50] Automatic changelog generation for PR #8465 [ci skip] --- html/changelogs/AutoChangeLog-pr-8465.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8465.yml diff --git a/html/changelogs/AutoChangeLog-pr-8465.yml b/html/changelogs/AutoChangeLog-pr-8465.yml new file mode 100644 index 0000000000..91556b4afc --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8465.yml @@ -0,0 +1,4 @@ +author: "Useroth" +delete-after: True +changes: + - bugfix: "After the PR which raised the ammo capacity of said magazines, due to the code, they ended up with an invalid icon state. Fixed through changing the icon state name in the icon file." From 0f14ec188acdaaa4e14ccf8f8ada9f2fff3227bf Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 27 May 2019 16:08:06 -0500 Subject: [PATCH 48/50] Automatic changelog generation for PR #8443 [ci skip] --- html/changelogs/AutoChangeLog-pr-8443.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8443.yml diff --git a/html/changelogs/AutoChangeLog-pr-8443.yml b/html/changelogs/AutoChangeLog-pr-8443.yml new file mode 100644 index 0000000000..1b1f82977b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8443.yml @@ -0,0 +1,4 @@ +author: "deathride58" +delete-after: True +changes: + - tweak: "The timer for stripping an item off of a spaceman is no longer interrupted by your active held item changing. This means you no longer have to worry about filling both of your hands when you're stripping items off of someone." From 928450f34fe0328a426a8dfc3680300a0d0964e8 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 27 May 2019 16:08:54 -0500 Subject: [PATCH 49/50] Automatic changelog generation for PR #8439 [ci skip] --- html/changelogs/AutoChangeLog-pr-8439.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8439.yml diff --git a/html/changelogs/AutoChangeLog-pr-8439.yml b/html/changelogs/AutoChangeLog-pr-8439.yml new file mode 100644 index 0000000000..1e4bd2efae --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8439.yml @@ -0,0 +1,6 @@ +author: "Ghommie" +delete-after: True +changes: + - balance: "EMPs now flick off stunbatons, they can be turned back on immediately by the user anyway." + - balance: "Stunbatons now very slowly consume charge whilst kept on, at a rate of 4/1000th of a standard batoning charge cost per tick." + - balance: "Softened up the charge cost checks to stop the above update from practically reducing the maximum uses of a stun baton by one. Now, should the remaining charge be lower than the hit cost, the resulting stun will be be proportional to the remaining charge divided by the hitcost, within a limit under which the stun batoning just won't happen." From 0c644995a5760873c78ce5fece4eef9027ed43a9 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 27 May 2019 17:09:14 -0500 Subject: [PATCH 50/50] Automatic changelog generation for PR #8408 [ci skip] --- html/changelogs/AutoChangeLog-pr-8408.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-8408.yml diff --git a/html/changelogs/AutoChangeLog-pr-8408.yml b/html/changelogs/AutoChangeLog-pr-8408.yml new file mode 100644 index 0000000000..548e4947be --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-8408.yml @@ -0,0 +1,4 @@ +author: "Ghommie" +delete-after: True +changes: + - bugfix: "Fixes cult potentially stalling if the target is erased from existence without being sacced."