From 5e6ace26687e71ddd0d6e12f928380c0dc505b6f Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Thu, 14 Jan 2021 20:49:46 -0600 Subject: [PATCH 01/30] bruh --- .../mob/living/simple_animal/hostile/mining_mobs/hivelord.dm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm index 11ce4f9214..ae0f5ea3ca 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm @@ -398,7 +398,6 @@ uniform = /obj/item/clothing/under/color/grey belt = /obj/item/tank/internals/emergency_oxygen mask = /obj/item/clothing/mask/gas - ears = /obj/item/radio/headset gloves = /obj/item/clothing/gloves/color/fyellow id = /obj/item/card/id/silver/reaper //looks cool and has a fancy name but only a 1% chance if(prob(99)) @@ -412,7 +411,7 @@ back = /obj/item/spear else if(prob(80)) //Now they dont always have a backpack back = /obj/item/storage/backpack - backpack_contents = list(/obj/item/stack/cable_coil = 1, /obj/item/assembly/flash = 1, /obj/item/storage/fancy/donut_box = 1, /obj/item/storage/fancy/cigarettes/cigpack_shadyjims = 1, /obj/item/lighter = 1) + backpack_contents = list(/obj/item/stack/cable_coil = 1, /obj/item/storage/fancy/donut_box = 1, /obj/item/storage/fancy/cigarettes/cigpack_shadyjims = 1, /obj/item/lighter = 1) if(prob(90)) r_pocket = /obj/item/kitchen/knife if(prob(60)) @@ -423,7 +422,6 @@ suit = /obj/item/clothing/suit/hooded/bee_costume shoes = /obj/item/clothing/shoes/sneakers/yellow gloves = /obj/item/clothing/gloves/color/yellow - ears = /obj/item/radio/headset belt = /obj/item/storage/belt/fannypack/yellow id_job = "Assisant" id = /obj/item/card/id From 4578f30001ca835a6a3b29293c24d6c6087ad05f Mon Sep 17 00:00:00 2001 From: DeltaFire Date: Wed, 20 Jan 2021 05:54:38 +0100 Subject: [PATCH 02/30] brrt --- code/__DEFINES/antagonists.dm | 3 ++ .../eldritch_cult/eldritch_antag.dm | 29 +++++++++++++++++++ .../eldritch_cult/eldritch_items.dm | 11 +++++++ .../eldritch_cult/eldritch_knowledge.dm | 29 +++++++++++++++++-- 4 files changed, 70 insertions(+), 2 deletions(-) diff --git a/code/__DEFINES/antagonists.dm b/code/__DEFINES/antagonists.dm index 68515426c3..e71243994d 100644 --- a/code/__DEFINES/antagonists.dm +++ b/code/__DEFINES/antagonists.dm @@ -69,6 +69,9 @@ #define LINGBLOOD_EXPLOSION_THRESHOLD (LINGBLOOD_DETECTION_THRESHOLD * LINGBLOOD_EXPLOSION_MULT) //Hey, important to note here: the explosion threshold is explicitly more than, rather than more than or equal to. This stops a single loud ability from triggering the explosion threshold. ///Heretics -- +GLOBAL_LIST_EMPTY(living_heart_cache) //A list of all living hearts in existance, for us to iterate through. + + #define IS_HERETIC(mob) (mob.mind?.has_antag_datum(/datum/antagonist/heretic)) #define IS_HERETIC_MONSTER(mob) (mob.mind?.has_antag_datum(/datum/antagonist/heretic_monster)) diff --git a/code/modules/antagonists/eldritch_cult/eldritch_antag.dm b/code/modules/antagonists/eldritch_cult/eldritch_antag.dm index ea226a3cb6..b59d6af61b 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_antag.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_antag.dm @@ -10,6 +10,8 @@ var/give_equipment = TRUE var/list/researched_knowledge = list() var/total_sacrifices = 0 + var/list/sac_targetted = list() //Which targets did living hearts give them, but they did not sac? + var/list/actually_sacced = list() //Which targets did they actually sac? var/ascended = FALSE /datum/antagonist/heretic/admin_add(datum/mind/new_owner,mob/admin) @@ -175,6 +177,17 @@ knowledge_message += "[EK.name]" parts += knowledge_message.Join(", ") + parts += "Targets assigned by living hearts, but not sacrificed:" + if(!sac_targetted.len) + parts += "None." + else + parts += sac_targetted.Join(",") + parts += "Sacrifices performed:" + if(!actually_sacced.len) + parts += "None!" + else + parts += actually_sacced.Join(",") + return parts.Join("
") //////////////// // Knowledge // @@ -213,6 +226,22 @@ if(ascended) . += 20 +/datum/antagonist/heretic/antag_panel() + var/list/parts = list() + parts += ..() + parts += "Targets currently assigned by living hearts (Can give a false negative if they stole someone elses living heart, check the other heretics if this is suspected to be the case):" + if(!sac_targetted.len) + parts += "None." + else + parts += sac_targetted.Join(",") + parts += "Targets actually sacrificed:" + if(!actually_sacced.len) + parts += "None." + else + parts += actually_sacced.Join(",") + return parts.Join("
") + + //////////////// // Objectives // //////////////// diff --git a/code/modules/antagonists/eldritch_cult/eldritch_items.dm b/code/modules/antagonists/eldritch_cult/eldritch_items.dm index da2c61ad16..fbf0740e50 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_items.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_items.dm @@ -6,6 +6,17 @@ w_class = WEIGHT_CLASS_SMALL ///Target var/mob/living/carbon/human/target + var/datum/antagonist/heretic/sac_targetter //The heretic who used this to acquire the current target - gets cleared when target gets sacrificed. + +/obj/item/living_heart/Initialize() + . = ..() + GLOB.living_heart_cache.Add(src) //Add is better than +=. + +/obj/item/living_heart/Destroy() + GLOB.living_heart_cache.Remove(src) + if(sac_targetter && target) + sac_targetter.sac_targetted.Remove(target.real_name) + return ..() /obj/item/living_heart/attack_self(mob/user) . = ..() diff --git a/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm b/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm index e0189944e5..481ac08ea5 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm @@ -1,6 +1,6 @@ /** - * #Eldritch Knwoledge + * #Eldritch Knowledge * * Datum that makes eldritch cultist interesting. * @@ -252,6 +252,10 @@ LH.target = null var/datum/antagonist/heretic/EC = carbon_user.mind.has_antag_datum(/datum/antagonist/heretic) + EC.actually_sacced.Add(H.real_name) + if(LH.sac_targetter) + LH.sac_targetter.sac_targetted.Remove(H.real_name) + LH.sac_targetter = null EC.total_sacrifices++ for(var/X in carbon_user.get_all_gear()) if(!istype(X,/obj/item/forbidden_book)) @@ -265,8 +269,14 @@ var/datum/objective/A = new A.owner = user.mind var/list/targets = list() + var/list/target_blacklist = list() + for(var/obj/item/living_heart/CLH in GLOB.living_heart_cache) + if(!CLH || !CLH.target || !CLH.target.mind) + continue + target_blacklist.Add(CLH.target.mind) + for(var/i in 0 to 3) - var/datum/mind/targeted = A.find_target()//easy way, i dont feel like copy pasting that entire block of code + var/datum/mind/targeted = A.find_target(blacklist = target_blacklist)//easy way, i dont feel like copy pasting that entire block of code if(!targeted) break targets[targeted.current.real_name] = targeted.current @@ -274,9 +284,24 @@ if(!LH.target && targets.len) LH.target = pick(targets) //Tsk tsk, you can and will get another target if you want it or not. + + if(LH.target) + target_blacklist = list() + for(var/obj/item/living_heart/CLH in (GLOB.living_heart_cache - LH)) //Recreate blacklist, excluding ourselves. + if(!CLH || !CLH.target || !CLH.target.mind) + continue + target_blacklist.Add(CLH.target.mind) + if(LH.target.mind in target_blacklist) //Someone was faster, or you tried to cheese the system. + to_chat(user, "It seems you were too slow, and your target of choice has already been selected by another living heart!") + LH.target = null + qdel(A) if(LH.target) to_chat(user,"Your new target has been selected, go and sacrifice [LH.target.real_name]!") + var/datum/antagonist/heretic/EC = carbon_user.mind.has_antag_datum(/datum/antagonist/heretic) + LH.sac_targetter = EC + EC.sac_targetted.Add(LH.target.real_name) + else to_chat(user,"target could not be found for living heart.") From 7136f5cffb170f2ac621a14320d98f6a9005c740 Mon Sep 17 00:00:00 2001 From: DeltaFire Date: Wed, 20 Jan 2021 06:09:20 +0100 Subject: [PATCH 03/30] boop --- code/modules/antagonists/eldritch_cult/eldritch_antag.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/antagonists/eldritch_cult/eldritch_antag.dm b/code/modules/antagonists/eldritch_cult/eldritch_antag.dm index b59d6af61b..1e43754477 100644 --- a/code/modules/antagonists/eldritch_cult/eldritch_antag.dm +++ b/code/modules/antagonists/eldritch_cult/eldritch_antag.dm @@ -229,7 +229,7 @@ /datum/antagonist/heretic/antag_panel() var/list/parts = list() parts += ..() - parts += "Targets currently assigned by living hearts (Can give a false negative if they stole someone elses living heart, check the other heretics if this is suspected to be the case):" + parts += "Targets currently assigned by living hearts (Can give a false negative if they stole someone elses living heart):" if(!sac_targetted.len) parts += "None." else @@ -239,7 +239,8 @@ parts += "None." else parts += actually_sacced.Join(",") - return parts.Join("
") + + return (parts.Join("
") + "
") //////////////// From e24eb1412174898bb3479f7be33420002f4be809 Mon Sep 17 00:00:00 2001 From: DeltaFire Date: Wed, 20 Jan 2021 16:32:15 +0100 Subject: [PATCH 04/30] args these are needed for the CI not to fail, even if unused in most cases. --- code/game/gamemodes/objective.dm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index d8617e0b48..0ee07951a9 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -455,7 +455,7 @@ If not set, defaults to check_completion instead. Set it. It's used by cryo. var/target_real_name // Has to be stored because the target's real_name can change over the course of the round var/target_missing_id -/datum/objective/escape/escape_with_identity/find_target() +/datum/objective/escape/escape_with_identity/find_target(dupe_search_range, blacklist) target = ..() update_explanation_text() @@ -553,7 +553,7 @@ GLOBAL_LIST_EMPTY(possible_items) for(var/I in subtypesof(/datum/objective_item/steal)) new I -/datum/objective/steal/find_target() +/datum/objective/steal/find_target(dupe_search_range, blacklist) var/list/datum/mind/owners = get_owners() var/approved_targets = list() check_items: @@ -631,7 +631,7 @@ GLOBAL_LIST_EMPTY(possible_items_special) for(var/I in subtypesof(/datum/objective_item/special) + subtypesof(/datum/objective_item/stack)) new I -/datum/objective/steal/special/find_target() +/datum/objective/steal/special/find_target(dupe_search_range, blacklist) return set_target(pick(GLOB.possible_items_special)) /datum/objective/steal/exchange @@ -844,7 +844,7 @@ GLOBAL_LIST_EMPTY(possible_items_special) name = "destroy AI" martyr_compatible = 1 -/datum/objective/destroy/find_target() +/datum/objective/destroy/find_target(dupe_search_range, blacklist) var/list/possible_targets = active_ais(1) var/mob/living/silicon/ai/target_ai = pick(possible_targets) target = target_ai.mind @@ -1124,7 +1124,7 @@ GLOBAL_LIST_EMPTY(possible_items_special) /datum/objective/hoard/heirloom name = "steal heirloom" -/datum/objective/hoard/heirloom/find_target() +/datum/objective/hoard/heirloom/find_target(dupe_search_range, blacklist) set_target(pick(GLOB.family_heirlooms)) GLOBAL_LIST_EMPTY(traitor_contraband) @@ -1141,7 +1141,7 @@ GLOBAL_LIST_EMPTY(cult_contraband) if(!GLOB.cult_contraband.len) GLOB.cult_contraband = list(/obj/item/clockwork/slab,/obj/item/clockwork/component/belligerent_eye,/obj/item/clockwork/component/belligerent_eye/lens_gem,/obj/item/shuttle_curse,/obj/item/cult_shift) -/datum/objective/hoard/collector/find_target() +/datum/objective/hoard/collector/find_target(dupe_search_range, blacklist) var/obj/item/I var/I_type if(prob(50)) @@ -1172,7 +1172,7 @@ GLOBAL_LIST_EMPTY(possible_sabotages) for(var/I in subtypesof(/datum/sabotage_objective)) new I -/datum/objective/sabotage/find_target() +/datum/objective/sabotage/find_target(dupe_search_range, blacklist) var/list/datum/mind/owners = get_owners() var/approved_targets = list() check_sabotages: From 95db018de8fbb19e28a9174c2146cab0f322a1ac Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Wed, 20 Jan 2021 18:34:57 -0600 Subject: [PATCH 05/30] itt: i dont test my code again --- _maps/RandomRuins/AnywhereRuins/golem_ship.dmm | 12 ++++++------ code/datums/components/gps.dm | 4 +++- code/game/objects/items/devices/gps.dm | 6 +++++- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/_maps/RandomRuins/AnywhereRuins/golem_ship.dmm b/_maps/RandomRuins/AnywhereRuins/golem_ship.dmm index 37a89ba2ff..274c814cf5 100644 --- a/_maps/RandomRuins/AnywhereRuins/golem_ship.dmm +++ b/_maps/RandomRuins/AnywhereRuins/golem_ship.dmm @@ -18,7 +18,7 @@ /obj/item/mining_scanner, /obj/item/flashlight/lantern, /obj/item/card/id/mining, -/obj/item/gps/mining, +/obj/item/gps/mining/off, /turf/open/floor/plating, /area/ruin/powered/golem_ship) "d" = ( @@ -32,7 +32,7 @@ /obj/item/mining_scanner, /obj/item/flashlight/lantern, /obj/item/card/id/mining, -/obj/item/gps/mining, +/obj/item/gps/mining/off, /turf/open/floor/plating, /area/ruin/powered/golem_ship) "e" = ( @@ -71,8 +71,8 @@ /area/ruin/powered/golem_ship) "k" = ( /obj/machinery/computer/arcade/battle{ - icon_state = "arcade"; - dir = 4 + dir = 4; + icon_state = "arcade" }, /turf/open/floor/mineral/titanium/purple, /area/ruin/powered/golem_ship) @@ -112,8 +112,8 @@ /area/ruin/powered/golem_ship) "s" = ( /obj/machinery/computer/arcade/orion_trail{ - icon_state = "arcade"; - dir = 4 + dir = 4; + icon_state = "arcade" }, /turf/open/floor/mineral/titanium/purple, /area/ruin/powered/golem_ship) diff --git a/code/datums/components/gps.dm b/code/datums/components/gps.dm index c2b3ad1f30..61098c8b66 100644 --- a/code/datums/components/gps.dm +++ b/code/datums/components/gps.dm @@ -21,7 +21,7 @@ GLOBAL_LIST_EMPTY(GPS_list) var/updating = TRUE //Automatic updating of GPS list. Can be set to manual by user. var/global_mode = TRUE //If disabled, only GPS signals of the same Z level are shown -/datum/component/gps/item/Initialize(_gpstag = "COM0", emp_proof = FALSE) +/datum/component/gps/item/Initialize(_gpstag = "COM0", emp_proof = FALSE, starton = TRUE) . = ..() if(. == COMPONENT_INCOMPATIBLE || !isitem(parent)) return COMPONENT_INCOMPATIBLE @@ -33,6 +33,8 @@ GLOBAL_LIST_EMPTY(GPS_list) RegisterSignal(parent, COMSIG_ATOM_EMP_ACT, .proc/on_emp_act) RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/on_examine) RegisterSignal(parent, COMSIG_CLICK_ALT, .proc/on_AltClick) + if(!starton) + tracking = FALSE ///Called on COMSIG_ITEM_ATTACK_SELF /datum/component/gps/item/proc/interact(datum/source, mob/user) diff --git a/code/game/objects/items/devices/gps.dm b/code/game/objects/items/devices/gps.dm index bb46577702..a0b695e29f 100644 --- a/code/game/objects/items/devices/gps.dm +++ b/code/game/objects/items/devices/gps.dm @@ -8,10 +8,11 @@ slot_flags = ITEM_SLOT_BELT obj_flags = UNIQUE_RENAME var/gpstag = "COM0" + var/starton = TRUE /obj/item/gps/Initialize() . = ..() - AddComponent(/datum/component/gps/item, gpstag) + AddComponent(/datum/component/gps/item, gpstag, starton) /obj/item/gps/science icon_state = "gps-s" @@ -26,6 +27,9 @@ gpstag = "MINE0" desc = "A positioning system helpful for rescuing trapped or injured miners, keeping one on you at all times while mining might just save your life." +/obj/item/gps/mining/off + starton = FALSE + /obj/item/gps/cyborg icon_state = "gps-b" gpstag = "BORG0" From 401e6a76907bf0136b237bec3196fc6c6626087a Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Thu, 21 Jan 2021 20:17:25 +0000 Subject: [PATCH 06/30] test --- code/modules/admin/verbs/adminhelp.dm | 6 +++--- code/modules/admin/verbs/adminpm.dm | 14 +++++++------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index 4348ae7661..45d05c70b9 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -174,7 +174,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) //is_bwoink is TRUE if this ticket was started by an admin PM /datum/admin_help/New(msg, client/C, is_bwoink) //clean the input msg - msg = sanitize(copytext_char(msg,1,MAX_MESSAGE_LEN)) + msg = copytext_char(msg,1,MAX_MESSAGE_LEN) if(!msg || !C || !C.mob) qdel(src) return @@ -263,7 +263,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) //message from the initiator without a target, all admins will see this //won't bug irc /datum/admin_help/proc/MessageNoRecipient(msg) - msg = sanitize(copytext_char(msg, 1, MAX_MESSAGE_LEN)) + msg = copytext_char(msg, 1, MAX_MESSAGE_LEN) var/ref_src = "[REF(src)]" //Message to be sent to all admins var/admin_msg = "Ticket [TicketHref("#[id]", ref_src)]: [LinkedReplyName(ref_src)] [FullMonty(ref_src)]: [keywords_lookup(msg)]" @@ -523,7 +523,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) if(handle_spam_prevention(msg,MUTE_ADMINHELP)) return - msg = trim(msg) + msg = sanitize(trim(msg)) if(!msg) return diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 2931c52a5c..1f4313dfda 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -80,6 +80,12 @@ to_chat(src, "Message: [msg]", confidential = TRUE) return + //clean the message if it's not sent by a high-rank admin + if(!check_rights(R_SERVER|R_DEBUG,0)||external)//no sending html to the poor bots + msg = sanitize(copytext_char(msg, 1, MAX_MESSAGE_LEN)) + if(!msg) + return + var/client/recipient var/recipient_ckey // Stored in case client is deleted between this and after the message is input var/datum/admin_help/recipient_ticket // Stored in case client is deleted between this and after the message is input @@ -141,15 +147,9 @@ to_chat(src, "Error: Admin-PM: You are unable to use admin PM-s (muted).", confidential = TRUE) return - if (src.handle_spam_prevention(msg,MUTE_ADMINHELP)) + if(src.handle_spam_prevention(msg,MUTE_ADMINHELP)) return - //clean the message if it's not sent by a high-rank admin - if(!check_rights(R_SERVER|R_DEBUG,0)||external)//no sending html to the poor bots - msg = sanitize(copytext_char(msg, 1, MAX_MESSAGE_LEN)) - if(!msg) - return - var/rawmsg = msg if(holder) From 8569c40ce5647763211bcc9b0be41a01e28fb57f Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Thu, 21 Jan 2021 22:23:48 +0000 Subject: [PATCH 07/30] Update adminpm.dm --- code/modules/admin/verbs/adminpm.dm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 1f4313dfda..4856f5af32 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -80,12 +80,6 @@ to_chat(src, "Message: [msg]", confidential = TRUE) return - //clean the message if it's not sent by a high-rank admin - if(!check_rights(R_SERVER|R_DEBUG,0)||external)//no sending html to the poor bots - msg = sanitize(copytext_char(msg, 1, MAX_MESSAGE_LEN)) - if(!msg) - return - var/client/recipient var/recipient_ckey // Stored in case client is deleted between this and after the message is input var/datum/admin_help/recipient_ticket // Stored in case client is deleted between this and after the message is input @@ -119,6 +113,11 @@ to_chat(src, "Error: Use the admin IRC/Discord channel, nerd.", confidential = TRUE) return + //clean the message if it's not sent by a high-rank admin + if(!check_rights(R_SERVER|R_DEBUG,0)||external)//no sending html to the poor bots + msg = sanitize(copytext_char(msg, 1, MAX_MESSAGE_LEN)) + if(!msg) + return else //get message text, limit it's length.and clean/escape html From 897f8a744f8c5473dbcae9c1a1df4f0d25050c00 Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Thu, 21 Jan 2021 22:39:38 +0000 Subject: [PATCH 08/30] Update overmind.dm --- code/modules/antagonists/blob/blob/overmind.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/modules/antagonists/blob/blob/overmind.dm b/code/modules/antagonists/blob/blob/overmind.dm index 02be432045..ca7845a297 100644 --- a/code/modules/antagonists/blob/blob/overmind.dm +++ b/code/modules/antagonists/blob/blob/overmind.dm @@ -277,3 +277,7 @@ GLOBAL_LIST_EMPTY(blob_nodes) var/datum/antagonist/blob/B = mind.has_antag_datum(/datum/antagonist/blob) if(!B) mind.add_antag_datum(/datum/antagonist/blob) + +//the same but it's forced to be allowed by default as cameras usually don't allow emoting +/mob/camera/emote(act, m_type=1, message = null, intentional = FALSE, forced = TRUE) + . = ..() From ca9292f6fd01214564e9203eef32d3fc7b061639 Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Thu, 21 Jan 2021 22:45:46 +0000 Subject: [PATCH 09/30] Update overmind.dm --- code/modules/antagonists/blob/blob/overmind.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/blob/blob/overmind.dm b/code/modules/antagonists/blob/blob/overmind.dm index ca7845a297..18f6817ec9 100644 --- a/code/modules/antagonists/blob/blob/overmind.dm +++ b/code/modules/antagonists/blob/blob/overmind.dm @@ -279,5 +279,5 @@ GLOBAL_LIST_EMPTY(blob_nodes) mind.add_antag_datum(/datum/antagonist/blob) //the same but it's forced to be allowed by default as cameras usually don't allow emoting -/mob/camera/emote(act, m_type=1, message = null, intentional = FALSE, forced = TRUE) +/mob/camera/blob/emote(act, m_type=1, message = null, intentional = FALSE, forced = TRUE) . = ..() From 09d91643ef0c204b148bdc8b1fa4da6ca063272d Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Fri, 22 Jan 2021 18:39:46 -0600 Subject: [PATCH 10/30] tg 56348 --- code/modules/antagonists/traitor/equipment/contractor.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/traitor/equipment/contractor.dm b/code/modules/antagonists/traitor/equipment/contractor.dm index 28298f4983..525f40d1f7 100644 --- a/code/modules/antagonists/traitor/equipment/contractor.dm +++ b/code/modules/antagonists/traitor/equipment/contractor.dm @@ -43,7 +43,7 @@ var/list/to_generate = list( CONTRACT_PAYOUT_LARGE, CONTRACT_PAYOUT_MEDIUM, - CONTRACT_PAYOUT_SMALL, + CONTRACT_PAYOUT_MEDIUM, CONTRACT_PAYOUT_SMALL, CONTRACT_PAYOUT_SMALL, CONTRACT_PAYOUT_SMALL From d8f76a023bbfbb98cd524297c442695571a311a1 Mon Sep 17 00:00:00 2001 From: MrJWhit <48370570+MrJWhit@users.noreply.github.com> Date: Sat, 23 Jan 2021 03:44:55 -0500 Subject: [PATCH 11/30] Tada --- _maps/map_files/CogStation/CogStation.dmm | 19 ++++++---- .../map_files/Deltastation/DeltaStation2.dmm | 6 +-- _maps/map_files/KiloStation/KiloStation.dmm | 38 ++----------------- _maps/map_files/MetaStation/MetaStation.dmm | 25 ++++-------- _maps/map_files/OmegaStation/OmegaStation.dmm | 4 +- _maps/map_files/PubbyStation/PubbyStation.dmm | 17 +++++++++ 6 files changed, 43 insertions(+), 66 deletions(-) diff --git a/_maps/map_files/CogStation/CogStation.dmm b/_maps/map_files/CogStation/CogStation.dmm index 6f5bab0498..e41f6c7d89 100644 --- a/_maps/map_files/CogStation/CogStation.dmm +++ b/_maps/map_files/CogStation/CogStation.dmm @@ -6004,12 +6004,12 @@ c_tag = "Security Checkpoint"; pixel_x = 22 }, -/obj/machinery/newscaster/security_unit{ - pixel_y = 32 - }, /obj/structure/cable{ icon_state = "4-8" }, +/obj/machinery/airalarm{ + pixel_y = 23 + }, /turf/open/floor/plasteel, /area/security/checkpoint) "aoz" = ( @@ -32290,10 +32290,6 @@ dir = 8; light_color = "#e8eaff" }, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 - }, /turf/open/floor/plasteel, /area/hydroponics) "bsl" = ( @@ -71184,6 +71180,13 @@ /obj/machinery/atmospherics/pipe/simple/yellow/visible, /turf/open/floor/plasteel, /area/engine/atmos) +"pMW" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel, +/area/hydroponics) "pZq" = ( /obj/structure/disposalpipe/sorting/mail/flip{ dir = 8; @@ -121382,7 +121385,7 @@ amV aqI aqB aGO -auy +pMW aqB aqI amV diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 07902b28b1..368b85938c 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -49530,7 +49530,7 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/turf_decal/stripes/line{ - dir = 10 + dir = 8 }, /turf/open/floor/plasteel, /area/engine/gravity_generator) @@ -113323,10 +113323,6 @@ /obj/item/clothing/gloves/color/black, /obj/item/storage/box/evidence, /obj/item/taperecorder, -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm index 408efad32f..1b37eea20c 100644 --- a/_maps/map_files/KiloStation/KiloStation.dmm +++ b/_maps/map_files/KiloStation/KiloStation.dmm @@ -30529,9 +30529,6 @@ dir = 8 }, /obj/structure/closet/bombcloset, -/obj/machinery/airalarm{ - pixel_y = 24 - }, /turf/open/floor/plasteel/dark, /area/science/mixing) "aXC" = ( @@ -43701,10 +43698,6 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 - }, /mob/living/simple_animal/chicken{ desc = "The arch-nemesis of Kentucky."; name = "Popeye"; @@ -46363,9 +46356,6 @@ "bwK" = ( /obj/structure/flora/grass/jungle/b, /obj/structure/flora/ausbushes/sparsegrass, -/obj/machinery/airalarm{ - pixel_y = 22 - }, /turf/open/floor/grass, /area/chapel/main) "bwL" = ( @@ -48132,16 +48122,6 @@ }, /turf/open/floor/plasteel/showroomfloor, /area/security/brig) -"bzx" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/closed/wall, -/area/crew_quarters/locker) "bzy" = ( /obj/machinery/light/small{ dir = 8 @@ -58156,10 +58136,6 @@ icon_state = "plant-02"; pixel_y = 3 }, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -22 - }, /obj/machinery/camera{ c_tag = "Prison Wing Cells"; dir = 4; @@ -61358,7 +61334,7 @@ dir = 10 }, /turf/open/floor/plasteel, -/area/space) +/area/security/warden) "bUs" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/command/glass{ @@ -67210,10 +67186,6 @@ /obj/structure/cable{ icon_state = "1-4" }, -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, /turf/open/floor/plasteel, /area/security/main) "cdU" = ( @@ -71327,9 +71299,9 @@ icon_gib = "magicarp_gib"; icon_living = "magicarp"; icon_state = "magicarp"; + maxHealth = 200; max_co2 = 5; max_tox = 2; - maxHealth = 200; melee_damage_lower = 15; melee_damage_upper = 20; min_oxy = 5; @@ -83281,10 +83253,6 @@ /obj/machinery/atmospherics/pipe/simple/yellow/visible{ dir = 5 }, -/obj/machinery/airalarm{ - dir = 4; - pixel_x = -23 - }, /obj/machinery/camera{ c_tag = "Atmospherics Port Tanks"; dir = 4; @@ -108992,7 +108960,7 @@ bss btV aEu bxW -bzx +bIV bKq bKq bKq diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 34fea2180d..c2a0e5c353 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -1111,10 +1111,6 @@ /turf/open/floor/plasteel, /area/security/prison) "acx" = ( -/obj/machinery/airalarm{ - dir = 8; - pixel_x = 24 - }, /obj/machinery/cryopod{ dir = 8 }, @@ -40497,10 +40493,9 @@ /area/maintenance/port) "bBr" = ( /obj/machinery/airalarm{ - dir = 4; - pixel_x = -23 + dir = 1; + pixel_y = -22 }, -/obj/structure/displaycase/trophy, /turf/open/floor/wood, /area/library) "bBs" = ( @@ -45866,10 +45861,6 @@ /area/library) "bML" = ( /obj/machinery/light/small, -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, /turf/open/floor/wood, /area/library) "bMM" = ( @@ -59581,6 +59572,10 @@ /obj/structure/chair{ dir = 1 }, +/obj/machinery/airalarm{ + dir = 4; + pixel_x = -23 + }, /turf/open/floor/plasteel/dark, /area/medical/surgery) "coz" = ( @@ -61596,10 +61591,6 @@ /turf/open/floor/plasteel/white, /area/medical/surgery) "csl" = ( -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, /obj/structure/window/reinforced{ dir = 8 }, @@ -102698,7 +102689,7 @@ bue bwa bxU bzD -bBr +dmD bSx bEw bzE @@ -103733,7 +103724,7 @@ bGs bHS bzE bLk -bzE +bBr bue bPS bPR diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm index f4d798511f..24b9559c07 100644 --- a/_maps/map_files/OmegaStation/OmegaStation.dmm +++ b/_maps/map_files/OmegaStation/OmegaStation.dmm @@ -4924,7 +4924,6 @@ /obj/effect/turf_decal/stripes/end{ dir = 1 }, -/obj/item/gun/energy/e_gun/hos, /obj/effect/turf_decal/tile/neutral, /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -40544,6 +40543,9 @@ name = "Starboard Quater Maintenance APC"; pixel_y = -26 }, +/obj/structure/cable/white{ + icon_state = "0-8" + }, /turf/open/floor/plating{ icon_state = "panelscorched" }, diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index 12ae0092f0..12c507c2bf 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -16530,6 +16530,9 @@ /obj/structure/cable{ icon_state = "4-8" }, +/obj/machinery/airalarm{ + pixel_y = 22 + }, /turf/open/floor/plasteel, /area/quartermaster/warehouse) "aMr" = ( @@ -47631,6 +47634,9 @@ pixel_x = -25; specialfunctions = 4 }, +/obj/machinery/airalarm{ + pixel_y = 22 + }, /turf/open/floor/plasteel/grimy, /area/chapel/main/monastery) "cgM" = ( @@ -47979,6 +47985,9 @@ pixel_x = -25; specialfunctions = 4 }, +/obj/machinery/airalarm{ + pixel_y = 22 + }, /turf/open/floor/plasteel/grimy, /area/chapel/main/monastery) "cip" = ( @@ -51466,6 +51475,10 @@ name = "Coffin Storage"; req_one_access_txt = "22" }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 24 + }, /turf/open/floor/plasteel/dark, /area/chapel/main/monastery) "cvu" = ( @@ -59434,6 +59447,10 @@ /obj/effect/turf_decal/tile/yellow{ dir = 8 }, +/obj/machinery/airalarm{ + dir = 8; + pixel_x = 23 + }, /turf/open/floor/plasteel, /area/construction/mining/aux_base) "qXq" = ( From 661a5e6580f9cd72588b0a2dbf8889563f0cdba9 Mon Sep 17 00:00:00 2001 From: MrJWhit <48370570+MrJWhit@users.noreply.github.com> Date: Sat, 23 Jan 2021 03:53:36 -0500 Subject: [PATCH 12/30] WHOOPS DIDN'T MEAN TO DELETE THAT --- _maps/map_files/OmegaStation/OmegaStation.dmm | 1 + 1 file changed, 1 insertion(+) diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm index 24b9559c07..6f7f211b3e 100644 --- a/_maps/map_files/OmegaStation/OmegaStation.dmm +++ b/_maps/map_files/OmegaStation/OmegaStation.dmm @@ -4928,6 +4928,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 4 }, +/obj/item/gun/energy/e_gun/hos, /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/captain/private) "ahI" = ( From cbc19c7e91bcfa9739c4e00eb175378fc5ded0f6 Mon Sep 17 00:00:00 2001 From: Hatterhat Date: Sat, 23 Jan 2021 19:37:39 -0600 Subject: [PATCH 13/30] depcards not in lockers --- code/game/objects/items/cards_ids.dm | 26 +++++++++++++++++++++++++- icons/obj/card.dmi | Bin 15291 -> 16929 bytes 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index 5b1b86b9e4..7d2b0ed832 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -779,16 +779,40 @@ /obj/item/card/id/departmental_budget/update_label() return +/obj/item/card/id/departmental_budget/civ + department_ID = ACCOUNT_CIV + department_name = ACCOUNT_CIV_NAME + +/obj/item/card/id/departmental_budget/eng + department_ID = ACCOUNT_ENG + department_name = ACCOUNT_ENG_NAME + +/obj/item/card/id/departmental_budget/sci + department_ID = ACCOUNT_SCI + department_name = ACCOUNT_SCI_NAME + +/obj/item/card/id/departmental_budget/med + department_ID = ACCOUNT_MED + department_name = ACCOUNT_MED_NAME + +/obj/item/card/id/departmental_budget/srv + department_ID = ACCOUNT_SRV + department_name = ACCOUNT_SRV_NAME + /obj/item/card/id/departmental_budget/car department_ID = ACCOUNT_CAR department_name = ACCOUNT_CAR_NAME +/obj/item/card/id/departmental_budget/sec + department_ID = ACCOUNT_SEC + department_name = ACCOUNT_SEC_NAME + //Polychromatic Knight Badge /obj/item/card/id/knight name = "knight badge" icon_state = "knight" - desc = "A badge denoting the owner as a knight! It has a strip for swiping like an ID" + desc = "A badge denoting the owner as a knight! It has a strip for swiping like an ID." var/id_color = "#00FF00" //defaults to green var/mutable_appearance/id_overlay diff --git a/icons/obj/card.dmi b/icons/obj/card.dmi index 13a0725b05653393a1b8f68b6cf6a691f4a6face..1bd94f24241a1d07bb6c97c41ba8e12731299549 100644 GIT binary patch literal 16929 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�v%yd0JmYvY+K#EChh_vOe6Z+Ihf1_VtnZM}ypJa^7cSb>931AW0=1rexeK@tuI2f?{$_)@5#^VTo~3K(pb#P&

(J7{OJ9QXj`)Lmcl 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 literal 15291 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�e}O^D!-Yt9%^Et-Z=<2&}%d=&g|@zH=EKhw7vo`E<7BzTR@; zJ!{ZKHF0$!TvMyVKjOuwRBTg z%{E%?!$stKfya)$!;DanYo~}aSheiM?BB%fsAnnouW?Ag@(ZE3NK<7c&J*4>u;>_K zVL~ykB0l5|%=rVeNg=fqr2LH1LQo)Co#J<`TENTGII&@g7fUm6`BhyEuxF6puJ(vY zYB1PwIm;JJBNQ=JbYp%8dotPTX8Krgz%d#^+!I z*H6(K9puaJZOA|Wej&v5G4Aj?_O?fK%VA-#CB|xWu}Muj-}f7%f|kHom(`U)ny~hA z`p&5ty8%R+_tldC(?B@vFJre?wjF47PL$-A)~ z(Q$O<9#t7L-mQ*JbIaNW0Y? zU=3^>L|mL>k}wJ={cf@OsEYip(T0A*od#A8_uY0Gi5xv_K^=iFBOu@QSs^#8Mp;;} zmZ(Rtc?S>GtBFW4BbzvNcE_cNKE@j|Z6N)4y}ON^t}UsA0^14RH^<74uQv$ll09=4 zcTxijmwEp}$YP}|=+Zhzi>+hz&L&Y%DMsnSlj9UYMsxUIFQoe$DBB11D+l zRARzEx{BGLpm1|gKHUQ<+EoPEl^8S*ym^peu+>K{d#{j^3cfZG)nwo}Ye*BDq|G=Y0aqRfYJa`d z*Mq6LFuif(T|O?H=Tl?*`M3AbmUpoHXt)BQP)p||S{tcl2Tp08IS(6J6XIo{{y zlAlQAB!A+PVS-^*b->G*wffBOq=z(dm^&#r1u|zTF78LrrWpJ6@U-5EORm2|O91+Z z!Y_LXzk?Cv_Ik89jz?vgqvRq*?8Gygk4y*+pQYQBK%?WNtJorlO2;?<>J`+P4urpp*nUX?N3Qp&*8{ffH(bQ~M@CKIQBa&|xq->)m<3Z$f zi5xa=9QQ(M@{gPTrMTw|%^aa!QT;9;j`s{sn1Yu5&{i54^> z5Y?d_ZRAD`z@T-VY@D0SzrAC!MOMaNy?Q!Dj$Av@rFr^YYT6a0a?R@Gu`W`$uhaFF zw1lZjZpR;Wc}o?eV4Cv;`>BoiE3f3Fysd#mk;d1B2N8-N!Sx{@uciYmb|*_?_Rctz zLQwU{Ej~ci{iH)@rMD~JM!+k5MA*cOsbvoi&}WQ$?2-r6(@ow*76 z9ri&iV42U#%BsMi!We&|9c1uQ%Vh4(bJvg2$(6*d#wn=tZEue6nIg#UQs%(jS zRbdnO+b5|tg{2sL96j5g-KGR)1p@9OcHrCoLw!q`0C8>=Uh zns?)x7i%!&A_6~z;7z&e)u@%AK9qIuW;Z?{A}gtqKeHVchz^Buxf-$wz~#@bhURptvS8W>NBq;%i?u`C z)iE$jpijBa?*OhQXaY3o04@dwQ4a;TE``}Tzp$A*cSiBUKgGvm0-ciHpgyUM7)}?A zC!rS!3jOgz(g6j&X5zU!`E$+ezPZm4vcYY+10tUNgqmmA?+5(k%ZNbs`IR-wa{cfI z@=p^ufpJ~s8eZlTGkPg^Sx0!#kIAZ)wbfM?=|5Cq=gQ^@sAZY=1(>)bS57Q{M*?4< z(cAdtzy-6F^~YGY?JP$}1{RWoFDCx$`kgg2M0UwKFQoh|34AFR NP?pz_tCY0}{vWCqdCLF* From 91cd7378ca51abf28cae25df0efa2f4d8e295394 Mon Sep 17 00:00:00 2001 From: Artur Date: Sun, 24 Jan 2021 16:05:42 +0200 Subject: [PATCH 14/30] Give Improved --- code/_onclick/right_click.dm | 6 +----- code/game/objects/items.dm | 4 ++++ code/game/objects/items/stunbaton.dm | 6 ++++++ code/modules/mob/living/carbon/carbon.dm | 22 ++++++++++++++++++++++ 4 files changed, 33 insertions(+), 5 deletions(-) diff --git a/code/_onclick/right_click.dm b/code/_onclick/right_click.dm index 9a99bbd20b..4b2480eb8c 100644 --- a/code/_onclick/right_click.dm +++ b/code/_onclick/right_click.dm @@ -51,11 +51,7 @@ //Standard reach turf to turf or reaching inside storage if(CanReach(A,W)) if(W) - if(a_intent == INTENT_HELP && iscarbon(src)) - var/mob/living/carbon/C = src - C.give() - else - return W.rightclick_melee_attack_chain(src, A, params) + return W.rightclick_melee_attack_chain(src, A, params) else if(!AltUnarmedAttack(A, TRUE)) . = UnarmedAttack(A, TRUE, a_intent) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 251e2fe327..8e3441400a 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -939,6 +939,10 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb /obj/item/proc/get_part_rating() return 0 +//Can this item be given to people? +/obj/item/proc/can_give() + return TRUE + /obj/item/doMove(atom/destination) if (ismob(loc)) var/mob/M = loc diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index d7db5ce908..b52d138385 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -236,6 +236,12 @@ if(!iscyborg(loc)) deductcharge(severity*10, TRUE, FALSE) +/obj/item/melee/baton/can_give() + if(turned_on) + return FALSE + else + ..() + /obj/item/melee/baton/stunsword name = "stunsword" desc = "Not actually sharp, this sword is functionally identical to its baton counterpart." diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 45a0d82d2c..979baeb065 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -1229,3 +1229,25 @@ */ /mob/living/carbon/proc/get_biological_state() return BIO_FLESH_BONE + +/mob/living/carbon/altattackby(obj/item/W, mob/living/carbon/user, params) + if(user.incapacitated() || !user.Adjacent(src)) + return FALSE + if(W && user.a_intent == INTENT_HELP && W.can_give()) + user.give() + return TRUE + +/mob/living/carbon/verb/give_verb() + set src in oview(1) + set category = "IC" + set name = "Give" + + if(usr.incapacitated() || !usr.Adjacent(src)) + return + + if(!usr.get_active_held_item()) // Let me know if this has any problems -Yota + return + var/obj/item/I = usr.get_active_held_item() + var/mob/living/carbon/C = usr + if(I.can_give()) + C.give() From f2d9643c75f6d39de338ebb109dd8bd9741cde32 Mon Sep 17 00:00:00 2001 From: raspy-on-osu Date: Sun, 24 Jan 2021 22:31:39 -0500 Subject: [PATCH 15/30] init --- code/datums/elements/ventcrawling.dm | 9 +++++++-- .../mob/living/carbon/human/species_types/golems.dm | 2 +- .../mob/living/carbon/human/species_types/vampire.dm | 2 +- .../living/simple_animal/friendly/drone/interaction.dm | 2 +- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/code/datums/elements/ventcrawling.dm b/code/datums/elements/ventcrawling.dm index 4af3a085ef..254345a97f 100644 --- a/code/datums/elements/ventcrawling.dm +++ b/code/datums/elements/ventcrawling.dm @@ -6,6 +6,10 @@ /datum/element/ventcrawling/Attach(datum/target, duration = 0, given_tier = VENTCRAWLER_NUDE) . = ..() + var/mob/living/person = target + if(!istype(person)) + return FALSE + src.tier = given_tier RegisterSignal(target, COMSIG_HANDLE_VENTCRAWL, .proc/handle_ventcrawl) @@ -16,9 +20,10 @@ addtimer(CALLBACK(src, .proc/Detach, target), duration) /datum/element/ventcrawling/Detach(datum/target) - . = ..() - UnregisterSignal(target, list(COMSIG_HANDLE_VENTCRAWL, COMSIG_CHECK_VENTCRAWL)) + to_chat(target, "You can no longer ventcrawl.") + + return ..() /datum/element/ventcrawling/proc/handle_ventcrawl(datum/target,atom/A) var/mob/living/person = target diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm index 858e3000fb..75aff774ce 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -805,7 +805,7 @@ /datum/species/golem/plastic/on_species_loss(mob/living/carbon/C) . = ..() - C.RemoveElement(/datum/element/ventcrawling) + C.RemoveElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) /datum/species/golem/bronze name = "Bronze Golem" diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.dm b/code/modules/mob/living/carbon/human/species_types/vampire.dm index 2296b69762..5e07150ce6 100644 --- a/code/modules/mob/living/carbon/human/species_types/vampire.dm +++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm @@ -169,7 +169,7 @@ if(istype(H, /mob/living/simple_animal)) var/mob/living/simple_animal/SA = H if((human_caster.blood_volume <= (BLOOD_VOLUME_BAD*human_caster.blood_ratio)) || (ventcrawl_nude_only && length(human_caster.get_equipped_items(include_pockets = TRUE)))) - SA.RemoveElement(/datum/element/ventcrawling) + SA.RemoveElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) if(transfer_name) H.name = human_caster.name diff --git a/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm b/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm index 0728484cea..11d7884999 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm @@ -110,7 +110,7 @@ to_chat(src, "Your onboard antivirus has initiated lockdown. Motor servos are impaired, ventilation access is denied, and your display reports that you are hacked to all nearby.") hacked = TRUE mind.special_role = "hacked drone" - RemoveElement(/datum/element/ventcrawling) // balance + RemoveElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS) // balance speed = 1 //gotta go slow message_admins("[src] ([src.key]) became a hacked drone hellbent on [clockwork ? "serving Ratvar" : "destroying the station"]!") else From e85379eea2ae1c448ac94b7a629fcee6bf20dde8 Mon Sep 17 00:00:00 2001 From: shellspeed1 <46614774+shellspeed1@users.noreply.github.com> Date: Sun, 24 Jan 2021 21:36:04 -0800 Subject: [PATCH 16/30] a --- .../mob/living/simple_animal/bot/floorbot.dm | 15 +++++++++++++++ sound/effects/whistlereset.ogg | Bin 0 -> 16689 bytes 2 files changed, 15 insertions(+) create mode 100644 sound/effects/whistlereset.ogg diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm index 0ba4023864..1fe0e84598 100644 --- a/code/modules/mob/living/simple_animal/bot/floorbot.dm +++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm @@ -335,6 +335,11 @@ /mob/living/simple_animal/bot/floorbot/proc/repair(turf/target_turf) + if(check_bot_working(target_turf)) + add_to_ignore(target_turf) + target = null + playsound(src, 'sound/effects/whistlereset.ogg', 50, TRUE) + return if(isspaceturf(target_turf)) //Must be a hull breach or in line mode to continue. if(!is_hull_breach(target_turf) && !targetdirection) @@ -418,3 +423,13 @@ repair(A) else ..() + +/** + * Checks a given turf to see if another floorbot is there, working as well. + */ +/mob/living/simple_animal/bot/floorbot/proc/check_bot_working(turf/active_turf) + if(isturf(active_turf)) + for(var/mob/living/simple_animal/bot/floorbot/robot in active_turf) + if(robot.mode == BOT_REPAIRING) + return TRUE + return FALSE \ No newline at end of file diff --git a/sound/effects/whistlereset.ogg b/sound/effects/whistlereset.ogg new file mode 100644 index 0000000000000000000000000000000000000000..cf55c06ca88f100b7d10a2e304c4eaed4b475387 GIT binary patch literal 16689 zcmeIZbyQr>(kQxd2o@xGkU(&EXCT2Lc<>Np(BSS9LxLr^PawDkcMHKSI0X0L!JWCA zpbUAs%Vs(bgSSy^cT$iP2of#GjOfimV2i5khn(Z$Th z^$vvmwCEoc=fB9cNNRUI|DEo7B7sjiT`Y!#Vu=5iKB4>_iVeijvvIQKRCBSSePv_z z{0{+IMOt2N9$s!6h&6Jr(bY8~96iLs#_Wai;Ko&PFm`7Is*04e}u#)|y1u4p?b zVnxOj>GD~`=9zFVEyf3pMG>rTCyeF}Ih8qf4udR@F>&?Lz$Xpi5M0pofgbY~Rv4j>Y`VmX?7sVV)+Y+0UYU{#k`@VAazH*#D zD4 z@XNdMce#p#S>EkwPprzou?qgbgm5Qz0D$mNbvRS?fZWjJ7=m$1M>;aUrHcCNX9B{@{i=B0TI09wa@v)DWh$n z+9^zR`H3liB=~BOd;%uan#q#IqSm z#>k)61N-X#NM6sYBL-`su_;Vdb=rT&`$sMEU!)GUi7bIVLVu>%)nOTfwF`^Xy#cH{ z*nd|a2q-txDYDMAH?;nd=w`%pIdn19Zc%tKpLx1jvZx~><&^T@s%w%nWxKukGjm!1 zcz6Gg7XPdGqso7^I4k-CYcF#}KW`uVT~X9ND7yW%{r(di9#D(f1wbv1s9H~VEfG<$ z%dVO*V9SoxRAR~gYf+$3X)QiVqm%zJlAuJFUY1f2{B zSbqilFUxTz?)pU4^NB&ZoI!Pjec+H^?TCMvNLGViRqKKA@B{Zz5~!A-@u&cFR0lfl z0iCXf8rJyhSN~%$f6ZoL()~Xy=gvePiA1g_M5F$f<$Pw2To#U`SBz%Rk7o3aw+c

qM^w#t|>6C$)Tey@xQhhuyveY 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 literal 0 HcmV?d00001 From 8176bf30ffc1e0ab7ca56f9fcc49f7de9d0b3658 Mon Sep 17 00:00:00 2001 From: shellspeed1 <46614774+shellspeed1@users.noreply.github.com> Date: Sun, 24 Jan 2021 21:51:08 -0800 Subject: [PATCH 17/30] new line --- code/modules/mob/living/simple_animal/bot/floorbot.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm index 1fe0e84598..ff6941ec70 100644 --- a/code/modules/mob/living/simple_animal/bot/floorbot.dm +++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm @@ -432,4 +432,5 @@ for(var/mob/living/simple_animal/bot/floorbot/robot in active_turf) if(robot.mode == BOT_REPAIRING) return TRUE - return FALSE \ No newline at end of file + return FALSE + From 6fb5067da46b3c84afe5f8de25788160160181cb Mon Sep 17 00:00:00 2001 From: SandPoot Date: Mon, 25 Jan 2021 19:40:35 -0300 Subject: [PATCH 18/30] upload files --- .../modules/integrated_electronics/core/integrated_circuit.dm | 4 ++-- code/modules/integrated_electronics/subtypes/manipulation.dm | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/code/modules/integrated_electronics/core/integrated_circuit.dm b/code/modules/integrated_electronics/core/integrated_circuit.dm index f90b584d76..92d2aa270f 100644 --- a/code/modules/integrated_electronics/core/integrated_circuit.dm +++ b/code/modules/integrated_electronics/core/integrated_circuit.dm @@ -378,7 +378,7 @@ a creative player the means to solve many problems. Circuits are held inside an // Checks if the target object is reachable. Useful for various manipulators and manipulator-like objects. -/obj/item/integrated_circuit/proc/check_target(atom/target, exclude_contents = FALSE, exclude_components = FALSE, exclude_self = FALSE) +/obj/item/integrated_circuit/proc/check_target(atom/target, exclude_contents = FALSE, exclude_components = FALSE, exclude_self = FALSE, exclude_outside = FALSE) if(!target) return FALSE @@ -394,7 +394,7 @@ a creative player the means to solve many problems. Circuits are held inside an if(target == assembly.battery) return FALSE - if(target.Adjacent(acting_object) && isturf(target.loc)) + if(!exclude_outside && target.Adjacent(acting_object) && isturf(target.loc)) return TRUE if(!exclude_contents && (target in acting_object.GetAllContents())) diff --git a/code/modules/integrated_electronics/subtypes/manipulation.dm b/code/modules/integrated_electronics/subtypes/manipulation.dm index eac16d2950..e32f8daa2d 100644 --- a/code/modules/integrated_electronics/subtypes/manipulation.dm +++ b/code/modules/integrated_electronics/subtypes/manipulation.dm @@ -186,6 +186,8 @@ AM.forceMove(src) /obj/item/integrated_circuit/manipulation/grabber/proc/drop(obj/item/AM, turf/T = drop_location()) + if(!check_target(AM, FALSE, TRUE, TRUE, TRUE)) + return var/atom/A = get_object() A.investigate_log("dropped ([AM]) from [src].", INVESTIGATE_CIRCUIT) AM.forceMove(T) From 4ae31b3c6821efaea67288eae9e2b301027d517c Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 25 Jan 2021 23:02:04 -0600 Subject: [PATCH 19/30] Automatic changelog generation for PR #14135 [ci skip] --- html/changelogs/AutoChangeLog-pr-14135.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14135.yml diff --git a/html/changelogs/AutoChangeLog-pr-14135.yml b/html/changelogs/AutoChangeLog-pr-14135.yml new file mode 100644 index 0000000000..bbbb7170b9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14135.yml @@ -0,0 +1,4 @@ +author: "raspy-on-osu" +delete-after: True +changes: + - bugfix: "bespoke ventcrawling element not detaching due to malformed call" From 4a2d77994c95af5375c942672e127ca2a208a88c Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 25 Jan 2021 23:58:08 -0600 Subject: [PATCH 20/30] Automatic changelog generation for PR #14059 [ci skip] --- html/changelogs/AutoChangeLog-pr-14059.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14059.yml diff --git a/html/changelogs/AutoChangeLog-pr-14059.yml b/html/changelogs/AutoChangeLog-pr-14059.yml new file mode 100644 index 0000000000..c20e1165ab --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14059.yml @@ -0,0 +1,5 @@ +author: "Hatterhat" +delete-after: True +changes: + - rscdel: "Headsets can't be found on most legion corpses now." + - rscdel: "The flash on the assistant corpse is gone, too." From b0d2983bf420979a6b806293d5f7c2876dcf0262 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 25 Jan 2021 23:58:57 -0600 Subject: [PATCH 21/30] Automatic changelog generation for PR #14105 [ci skip] --- html/changelogs/AutoChangeLog-pr-14105.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14105.yml diff --git a/html/changelogs/AutoChangeLog-pr-14105.yml b/html/changelogs/AutoChangeLog-pr-14105.yml new file mode 100644 index 0000000000..08c86c9915 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14105.yml @@ -0,0 +1,6 @@ +author: "DeltaFire15" +delete-after: True +changes: + - admin: "The heretic antag panel now shows their sacrifices & current sacrifice targets." + - tweak: "The heretic roundend report now shows their sacrifices and nonsacrificed targets." + - bugfix: "Living hearts can no longer select the same target as another living heart, removing a certain problem." From ed2768d54e19561ebfd4cb501f843805ddd77d7c Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 25 Jan 2021 23:59:13 -0600 Subject: [PATCH 22/30] Automatic changelog generation for PR #14114 [ci skip] --- html/changelogs/AutoChangeLog-pr-14114.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14114.yml diff --git a/html/changelogs/AutoChangeLog-pr-14114.yml b/html/changelogs/AutoChangeLog-pr-14114.yml new file mode 100644 index 0000000000..5035b47431 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14114.yml @@ -0,0 +1,4 @@ +author: "Hatterhat" +delete-after: True +changes: + - balance: "The free golem ship's GPSes no longer start on. They were never meant to, but they did." From abf8ac1b9a2cb8ca9ff273ea67aa792379715e82 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 25 Jan 2021 23:59:20 -0600 Subject: [PATCH 23/30] Automatic changelog generation for PR #14116 [ci skip] --- html/changelogs/AutoChangeLog-pr-14116.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14116.yml diff --git a/html/changelogs/AutoChangeLog-pr-14116.yml b/html/changelogs/AutoChangeLog-pr-14116.yml new file mode 100644 index 0000000000..fdbc7f2a6c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14116.yml @@ -0,0 +1,4 @@ +author: "timothyteakettle" +delete-after: True +changes: + - admin: "adminhelps and pms only sanitize once instead of twice" From c21cbc2416a8863dd49101ca6ca135e717c1278e Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 25 Jan 2021 23:59:27 -0600 Subject: [PATCH 24/30] Automatic changelog generation for PR #14117 [ci skip] --- html/changelogs/AutoChangeLog-pr-14117.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14117.yml diff --git a/html/changelogs/AutoChangeLog-pr-14117.yml b/html/changelogs/AutoChangeLog-pr-14117.yml new file mode 100644 index 0000000000..f3fcae5eae --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14117.yml @@ -0,0 +1,4 @@ +author: "timothyteakettle" +delete-after: True +changes: + - rscadd: "blobs can use the 'me' verb" From 1d54e2d2337f6767a485f7876313aca512683bc9 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 26 Jan 2021 00:00:55 -0600 Subject: [PATCH 25/30] Automatic changelog generation for PR #14137 [ci skip] --- html/changelogs/AutoChangeLog-pr-14137.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14137.yml diff --git a/html/changelogs/AutoChangeLog-pr-14137.yml b/html/changelogs/AutoChangeLog-pr-14137.yml new file mode 100644 index 0000000000..1b7602437b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14137.yml @@ -0,0 +1,4 @@ +author: "SandPoot" +delete-after: True +changes: + - bugfix: "The drop circuit can no longer drop things that are not inside it." From 14c4fc0cb26f2aae5b4717408075af6e897cdc88 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 26 Jan 2021 00:01:26 -0600 Subject: [PATCH 26/30] Automatic changelog generation for PR #14136 [ci skip] --- html/changelogs/AutoChangeLog-pr-14136.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14136.yml diff --git a/html/changelogs/AutoChangeLog-pr-14136.yml b/html/changelogs/AutoChangeLog-pr-14136.yml new file mode 100644 index 0000000000..8b578f16e8 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14136.yml @@ -0,0 +1,5 @@ +author: "shellspeed1" +delete-after: True +changes: + - bugfix: "Floorbots had had a software update, preventing them from dogpiling on their target as easily as they did before." + - soundadd: "Floorbots will now play a small chime when stacked on top of each other to indicate that they're moving apart." From 8075888e22c7411e5814e96526bfc6ce477f193a Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 26 Jan 2021 00:02:06 -0600 Subject: [PATCH 27/30] Automatic changelog generation for PR #14134 [ci skip] --- html/changelogs/AutoChangeLog-pr-14134.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14134.yml diff --git a/html/changelogs/AutoChangeLog-pr-14134.yml b/html/changelogs/AutoChangeLog-pr-14134.yml new file mode 100644 index 0000000000..c699728c67 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14134.yml @@ -0,0 +1,4 @@ +author: "Arturlang" +delete-after: True +changes: + - rscadd: "Actually adds a right click give option" From 426a2446c454fb53534188e4486c5830d3db2dd5 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 26 Jan 2021 00:02:14 -0600 Subject: [PATCH 28/30] Automatic changelog generation for PR #14133 [ci skip] --- html/changelogs/AutoChangeLog-pr-14133.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14133.yml diff --git a/html/changelogs/AutoChangeLog-pr-14133.yml b/html/changelogs/AutoChangeLog-pr-14133.yml new file mode 100644 index 0000000000..9968f41134 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14133.yml @@ -0,0 +1,5 @@ +author: "Hatterhat" +delete-after: True +changes: + - tweak: "Department budget cards have been readded. TO THE CODE. NOT LOCKERS." + - tweak: "Also budget cards now look more like every other ID - see tgstation#55001." From fd52c5b5127ce90dd72156c058819fa25ff76403 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 26 Jan 2021 00:03:58 -0600 Subject: [PATCH 29/30] Automatic changelog generation for PR #14131 [ci skip] --- html/changelogs/AutoChangeLog-pr-14131.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14131.yml diff --git a/html/changelogs/AutoChangeLog-pr-14131.yml b/html/changelogs/AutoChangeLog-pr-14131.yml new file mode 100644 index 0000000000..5838f49bb2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14131.yml @@ -0,0 +1,4 @@ +author: "MrJWhit" +delete-after: True +changes: + - tweak: "Remaps some air alarms for sanity." From 323efeb06fde4b1386c427d1381119b5477e53af Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Tue, 26 Jan 2021 00:04:05 -0600 Subject: [PATCH 30/30] Automatic changelog generation for PR #14127 [ci skip] --- html/changelogs/AutoChangeLog-pr-14127.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-14127.yml diff --git a/html/changelogs/AutoChangeLog-pr-14127.yml b/html/changelogs/AutoChangeLog-pr-14127.yml new file mode 100644 index 0000000000..2adc32ddd6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14127.yml @@ -0,0 +1,4 @@ +author: "Hatterhat" +delete-after: True +changes: + - balance: "One of the contractor tablet's payouts has been raised from a small payout to a medium payout."