From 03d79a1b65105ccc9ac84decd0e25e2e2b2f91d8 Mon Sep 17 00:00:00 2001 From: Cirno Date: Mon, 29 Jun 2020 18:52:21 -0300 Subject: [PATCH 01/75] I think this changed pills? --- code/game/objects/items/storage/firstaid.dm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/code/game/objects/items/storage/firstaid.dm b/code/game/objects/items/storage/firstaid.dm index d7065df0f0..596ae9ea5a 100644 --- a/code/game/objects/items/storage/firstaid.dm +++ b/code/game/objects/items/storage/firstaid.dm @@ -229,6 +229,21 @@ STR.click_gather = TRUE STR.can_hold = typecacheof(list(/obj/item/reagent_containers/pill, /obj/item/dice)) + +/obj/item/storage/pill_bottle/AltClick(mob/living/carbon/user) + if(!istype(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user))) + return + var/obj/item/reagent_containers/pill/W = locate(/obj/item/reagent_containers/pill) in contents + if(W && contents.len > 0) + SEND_SIGNAL(src, COMSIG_TRY_STORAGE_TAKE, W, user) + user.put_in_hands(W) + contents -= W + to_chat(user, "You pop \a [W] out of the bottle.") + else + to_chat(user, "There are no pills left in the bottle.") + return TRUE + + /obj/item/storage/pill_bottle/suicide_act(mob/user) user.visible_message("[user] is trying to get the cap off [src]! It looks like [user.p_theyre()] trying to commit suicide!") return (TOXLOSS) From 020da9fa0789ff87fe1ad0da7542f65d16c97caa Mon Sep 17 00:00:00 2001 From: Cirno Date: Sat, 4 Jul 2020 15:47:38 -0300 Subject: [PATCH 02/75] i hope this works --- _maps/RandomRuins/SpaceRuins/spacehotel.dmm | 2 +- _maps/RandomZLevels/away_mission/research.dmm | 2 +- _maps/map_files/generic/CentCom.dmm | 4 ++-- _maps/shuttles/arrival_delta.dmm | 2 +- _maps/shuttles/arrival_omega.dmm | 2 +- code/game/objects/effects/spawners/lootdrop.dm | 4 ++-- code/game/objects/items/RSF.dm | 2 +- code/game/objects/items/dice.dm | 6 +++--- code/modules/mining/equipment/survival_pod.dm | 2 +- code/modules/vending/games.dm | 2 +- modular_citadel/code/modules/client/loadout/hands.dm | 2 +- 11 files changed, 15 insertions(+), 15 deletions(-) diff --git a/_maps/RandomRuins/SpaceRuins/spacehotel.dmm b/_maps/RandomRuins/SpaceRuins/spacehotel.dmm index 209feb82e3..b946f0bde3 100644 --- a/_maps/RandomRuins/SpaceRuins/spacehotel.dmm +++ b/_maps/RandomRuins/SpaceRuins/spacehotel.dmm @@ -1453,7 +1453,7 @@ /area/ruin/space/has_grav/hotel/guestroom/room_2) "eu" = ( /obj/structure/table/wood, -/obj/item/storage/pill_bottle/dice, +/obj/item/storage/box/dice, /turf/open/floor/wood, /area/ruin/space/has_grav/hotel/guestroom/room_2) "ev" = ( diff --git a/_maps/RandomZLevels/away_mission/research.dmm b/_maps/RandomZLevels/away_mission/research.dmm index 4f85d084b5..c4aad6b9dd 100644 --- a/_maps/RandomZLevels/away_mission/research.dmm +++ b/_maps/RandomZLevels/away_mission/research.dmm @@ -5395,7 +5395,7 @@ /area/awaymission/research/interior/dorm) "kS" = ( /obj/structure/table/wood, -/obj/item/storage/pill_bottle/dice, +/obj/item/storage/box/dice, /turf/open/floor/plasteel, /area/awaymission/research/interior/dorm) "kT" = ( diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm index f82ba2d735..338e0eb7b6 100644 --- a/_maps/map_files/generic/CentCom.dmm +++ b/_maps/map_files/generic/CentCom.dmm @@ -8429,7 +8429,7 @@ /area/centcom/ferry) "tx" = ( /obj/structure/table/wood, -/obj/item/storage/pill_bottle/dice, +/obj/item/storage/box/dice, /turf/open/floor/plasteel/grimy, /area/centcom/ferry) "ty" = ( @@ -10217,7 +10217,7 @@ /area/wizard_station) "xy" = ( /obj/structure/table/wood/fancy, -/obj/item/storage/pill_bottle/dice{ +/obj/item/storage/box/dice{ icon_state = "magicdicebag" }, /turf/open/floor/carpet, diff --git a/_maps/shuttles/arrival_delta.dmm b/_maps/shuttles/arrival_delta.dmm index 62e30ef335..d167e31a52 100644 --- a/_maps/shuttles/arrival_delta.dmm +++ b/_maps/shuttles/arrival_delta.dmm @@ -307,7 +307,7 @@ "D" = ( /obj/structure/table/reinforced, /obj/item/folder, -/obj/item/storage/pill_bottle/dice, +/obj/item/storage/box/dice, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/shuttle/arrival) diff --git a/_maps/shuttles/arrival_omega.dmm b/_maps/shuttles/arrival_omega.dmm index f580149163..780f8e3fe6 100644 --- a/_maps/shuttles/arrival_omega.dmm +++ b/_maps/shuttles/arrival_omega.dmm @@ -237,7 +237,7 @@ /area/shuttle/arrival) "C" = ( /obj/structure/table/reinforced, -/obj/item/storage/pill_bottle/dice{ +/obj/item/storage/box/dice{ pixel_x = -2; pixel_y = 8 }, diff --git a/code/game/objects/effects/spawners/lootdrop.dm b/code/game/objects/effects/spawners/lootdrop.dm index 2c7f701a6e..8978da7a22 100644 --- a/code/game/objects/effects/spawners/lootdrop.dm +++ b/code/game/objects/effects/spawners/lootdrop.dm @@ -466,7 +466,7 @@ /obj/effect/spawner/lootdrop/cigars_cases/no_turf = 2, /obj/effect/spawner/lootdrop/space_cash/no_turf = 5, /obj/item/reagent_containers/food/snacks/grown/cannabis = 5, - /obj/item/storage/pill_bottle/dice = 5, + /obj/item/storage/box/dice = 5, /obj/item/toy/cards/deck = 5, /obj/effect/spawner/lootdrop/druggie_pill/no_turf = 5 ) @@ -485,7 +485,7 @@ /obj/effect/spawner/lootdrop/cig_packs/no_turf = 10, /obj/effect/spawner/lootdrop/cigars_cases/no_turf = 5, /obj/item/reagent_containers/food/snacks/grown/cannabis = 5, - /obj/item/storage/pill_bottle/dice = 5, + /obj/item/storage/box/dice = 5, /obj/item/toy/cards/deck = 5, /obj/effect/spawner/lootdrop/druggie_pill/no_turf = 5, /obj/item/kitchen/knife = 5, diff --git a/code/game/objects/items/RSF.dm b/code/game/objects/items/RSF.dm index 01b351edd0..b1a4e53bd4 100644 --- a/code/game/objects/items/RSF.dm +++ b/code/game/objects/items/RSF.dm @@ -91,7 +91,7 @@ RSF use_matter(50, user) if(4) to_chat(user, "Dispensing Dice Pack...") - new /obj/item/storage/pill_bottle/dice(T) + new /obj/item/storage/box/dice(T) use_matter(200, user) if(5) to_chat(user, "Dispensing Cigarette...") diff --git a/code/game/objects/items/dice.dm b/code/game/objects/items/dice.dm index 4fdb862288..2fe4c67362 100644 --- a/code/game/objects/items/dice.dm +++ b/code/game/objects/items/dice.dm @@ -1,10 +1,10 @@ -/obj/item/storage/pill_bottle/dice +/obj/item/storage/box/dice name = "bag of dice" desc = "Contains all the luck you'll ever need." icon = 'icons/obj/dice.dmi' icon_state = "dicebag" -/obj/item/storage/pill_bottle/dice/Initialize() +/obj/item/storage/box/dice/Initialize() . = ..() var/special_die = pick("1","2","fudge","space","00","8bd20","4dd6","100") if(special_die == "1") @@ -30,7 +30,7 @@ if(special_die == "100") new /obj/item/dice/d100(src) -/obj/item/storage/pill_bottle/dice/suicide_act(mob/user) +/obj/item/storage/box/dice/suicide_act(mob/user) user.visible_message("[user] is gambling with death! It looks like [user.p_theyre()] trying to commit suicide!") return (OXYLOSS) diff --git a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm index ab0356aa66..7e324382c3 100644 --- a/code/modules/mining/equipment/survival_pod.dm +++ b/code/modules/mining/equipment/survival_pod.dm @@ -204,7 +204,7 @@ var/obj/item/reagent_containers/food/snacks/donkpocket/warm/W = new(src) load(W) if(prob(50)) - var/obj/item/storage/pill_bottle/dice/D = new(src) + var/obj/item/storage/box/dice/D = new(src) load(D) else var/obj/item/instrument/guitar/G = new(src) diff --git a/code/modules/vending/games.dm b/code/modules/vending/games.dm index 7bed27b0bd..7fd8246dd6 100644 --- a/code/modules/vending/games.dm +++ b/code/modules/vending/games.dm @@ -4,7 +4,7 @@ product_ads = "Escape to a fantasy world!;Fuel your gambling addiction!;Ruin your friendships!;Roll for initiative!;Elves and dwarves!;Paranoid computers!;Totally not satanic!;Fun times forever!" icon_state = "games" products = list(/obj/item/toy/cards/deck = 5, - /obj/item/storage/pill_bottle/dice = 10, + /obj/item/storage/box/dice = 10, /obj/item/toy/cards/deck/cas = 3, /obj/item/toy/cards/deck/cas/black = 3, /obj/item/toy/cards/deck/unum = 3) diff --git a/modular_citadel/code/modules/client/loadout/hands.dm b/modular_citadel/code/modules/client/loadout/hands.dm index 3b07ecaec5..2f03bd3b07 100644 --- a/modular_citadel/code/modules/client/loadout/hands.dm +++ b/modular_citadel/code/modules/client/loadout/hands.dm @@ -11,7 +11,7 @@ /datum/gear/dice name = "Dice bag" category = SLOT_HANDS - path = /obj/item/storage/pill_bottle/dice + path = /obj/item/storage/box/dice /datum/gear/eightball name = "Magic eightball" From bd289d0edbea2f55298405473fa15f46a587cd08 Mon Sep 17 00:00:00 2001 From: Cirno Date: Sun, 5 Jul 2020 00:08:33 -0300 Subject: [PATCH 03/75] more map changes... --- _maps/map_files/BoxStation/BoxStation.dmm | 4 ++-- _maps/map_files/Deltastation/DeltaStation2.dmm | 12 ++++++------ _maps/map_files/MetaStation/MetaStation.dmm | 8 ++++---- _maps/map_files/OmegaStation/OmegaStation.dmm | 4 ++-- _maps/map_files/PubbyStation/PubbyStation.dmm | 4 ++-- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 2902cf12c4..f34ecf8d73 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -350,7 +350,7 @@ /area/security/prison) "aaV" = ( /obj/structure/table/wood, -/obj/item/storage/pill_bottle/dice, +/obj/item/storage/box/dice, /turf/open/floor/plasteel, /area/security/prison) "aaW" = ( @@ -54949,7 +54949,7 @@ /area/engine/atmos) "hgO" = ( /obj/structure/table, -/obj/item/storage/pill_bottle/dice{ +/obj/item/storage/box/dice{ pixel_x = 4; pixel_y = 4 }, diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 8a4b5f8130..b9dbf19eff 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -19546,7 +19546,7 @@ /area/security/prison) "aND" = ( /obj/structure/table, -/obj/item/storage/pill_bottle/dice, +/obj/item/storage/box/dice, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -20242,7 +20242,7 @@ /area/crew_quarters/bar/atrium) "aOJ" = ( /obj/structure/table/wood, -/obj/item/storage/pill_bottle/dice, +/obj/item/storage/box/dice, /obj/effect/turf_decal/tile/red{ dir = 1 }, @@ -72672,7 +72672,7 @@ /area/library) "ctL" = ( /obj/structure/table/wood, -/obj/item/storage/pill_bottle/dice, +/obj/item/storage/box/dice, /obj/machinery/computer/security/telescreen/entertainment{ pixel_y = -32 }, @@ -94731,7 +94731,7 @@ /area/medical/medbay/central) "deG" = ( /obj/structure/table/wood, -/obj/item/storage/pill_bottle/dice, +/obj/item/storage/box/dice, /obj/structure/sign/poster/official/help_others{ pixel_x = -32 }, @@ -116361,7 +116361,7 @@ /area/library/abandoned) "dQx" = ( /obj/structure/table/wood, -/obj/item/storage/pill_bottle/dice, +/obj/item/storage/box/dice, /turf/open/floor/carpet, /area/library/abandoned) "dQy" = ( @@ -122603,7 +122603,7 @@ /area/hallway/secondary/exit/departure_lounge) "ecH" = ( /obj/structure/table, -/obj/item/storage/pill_bottle/dice, +/obj/item/storage/box/dice, /obj/effect/turf_decal/delivery, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index c08670c2c0..6e21b6c72e 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -922,7 +922,7 @@ /area/security/prison) "acb" = ( /obj/structure/table, -/obj/item/storage/pill_bottle/dice, +/obj/item/storage/box/dice, /turf/open/floor/plasteel, /area/security/prison) "acc" = ( @@ -15603,7 +15603,7 @@ /area/crew_quarters/dorms) "aDZ" = ( /obj/structure/table, -/obj/item/storage/pill_bottle/dice, +/obj/item/storage/box/dice, /turf/open/floor/plasteel, /area/crew_quarters/dorms) "aEa" = ( @@ -21182,7 +21182,7 @@ /area/crew_quarters/locker) "aPI" = ( /obj/structure/table, -/obj/item/storage/pill_bottle/dice, +/obj/item/storage/box/dice, /turf/open/floor/plasteel, /area/crew_quarters/locker) "aPJ" = ( @@ -42467,7 +42467,7 @@ dir = 10 }, /obj/structure/table/wood/poker, -/obj/item/storage/pill_bottle/dice, +/obj/item/storage/box/dice, /turf/open/floor/wood, /area/crew_quarters/bar) "bFt" = ( diff --git a/_maps/map_files/OmegaStation/OmegaStation.dmm b/_maps/map_files/OmegaStation/OmegaStation.dmm index ebdda21c5e..2ff1c2dc2f 100644 --- a/_maps/map_files/OmegaStation/OmegaStation.dmm +++ b/_maps/map_files/OmegaStation/OmegaStation.dmm @@ -21581,7 +21581,7 @@ /area/hallway/primary/starboard) "aJa" = ( /obj/structure/table, -/obj/item/storage/pill_bottle/dice, +/obj/item/storage/box/dice, /obj/machinery/firealarm{ dir = 4; pixel_x = -24 @@ -26467,7 +26467,7 @@ "aTf" = ( /obj/structure/table/wood, /obj/item/clipboard, -/obj/item/storage/pill_bottle/dice, +/obj/item/storage/box/dice, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index 18d1b115a4..e9639b22ec 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -1665,7 +1665,7 @@ /turf/open/floor/plasteel/dark, /area/security/prison) "afp" = ( -/obj/item/storage/pill_bottle/dice, +/obj/item/storage/box/dice, /obj/structure/table, /turf/open/floor/plasteel/dark, /area/security/prison) @@ -10373,7 +10373,7 @@ /area/crew_quarters/dorms) "ayo" = ( /obj/structure/table/wood, -/obj/item/storage/pill_bottle/dice, +/obj/item/storage/box/dice, /turf/open/floor/carpet, /area/crew_quarters/dorms) "ayq" = ( From 2553ef6dd8229fc9b5a603d1d091b175dc13f812 Mon Sep 17 00:00:00 2001 From: Cirno Date: Sun, 5 Jul 2020 00:46:56 -0300 Subject: [PATCH 04/75] Am I finally free? --- code/game/objects/items/storage/firstaid.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/game/objects/items/storage/firstaid.dm b/code/game/objects/items/storage/firstaid.dm index 596ae9ea5a..7deda5da27 100644 --- a/code/game/objects/items/storage/firstaid.dm +++ b/code/game/objects/items/storage/firstaid.dm @@ -229,7 +229,6 @@ STR.click_gather = TRUE STR.can_hold = typecacheof(list(/obj/item/reagent_containers/pill, /obj/item/dice)) - /obj/item/storage/pill_bottle/AltClick(mob/living/carbon/user) if(!istype(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user))) return From 6af75197270ac4579fd4353c72034f3ea36fed95 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Thu, 9 Jul 2020 23:04:06 -0700 Subject: [PATCH 05/75] Update turnstile.dm --- code/game/machinery/turnstile.dm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/code/game/machinery/turnstile.dm b/code/game/machinery/turnstile.dm index 9bc5193bbb..3e62667c7b 100644 --- a/code/game/machinery/turnstile.dm +++ b/code/game/machinery/turnstile.dm @@ -18,9 +18,6 @@ /obj/machinery/turnstile/CanAtmosPass(turf/T) return TRUE -/obj/machinery/turnstile/bullet_act(obj/item/projectile/P, def_zone) - return BULLET_ACT_FORCE_PIERCE //Pass through! - /obj/machinery/turnstile/proc/allowed_access(var/mob/B) if(B.pulledby && ismob(B.pulledby)) return allowed(B.pulledby) | allowed(B) @@ -28,6 +25,8 @@ return allowed(B) /obj/machinery/turnstile/CanPass(atom/movable/AM, turf/T) + if(istype(AM, /obj/item/projectile)) + return TRUE if(ismob(AM)) var/mob/B = AM if(isliving(AM)) @@ -81,4 +80,4 @@ M.last_bumped = world.time return canexit else - return TRUE \ No newline at end of file + return TRUE From 8686029009cdcaf2871b3d1d762dcd3c0e142701 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Thu, 9 Jul 2020 23:04:58 -0700 Subject: [PATCH 06/75] Update turnstile.dm --- code/game/machinery/turnstile.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/game/machinery/turnstile.dm b/code/game/machinery/turnstile.dm index 3e62667c7b..f30ef22dd7 100644 --- a/code/game/machinery/turnstile.dm +++ b/code/game/machinery/turnstile.dm @@ -59,6 +59,8 @@ return FALSE /obj/machinery/turnstile/CheckExit(atom/movable/AM as mob|obj, target) + if(istype(AM, /obj/item/projectile)) + return TRUE if(isliving(AM)) var/mob/living/M = AM var/outdir = dir From 9c9c611285bc3b81e55a2b21ea6bc55da0543846 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Thu, 9 Jul 2020 23:34:35 -0700 Subject: [PATCH 07/75] ok --- code/controllers/subsystem/vote.dm | 52 +++++++++++++++++++++++++++++- code/modules/mob/mob.dm | 2 ++ 2 files changed, 53 insertions(+), 1 deletion(-) diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm index 97a5ec2c2b..c8a48ef188 100644 --- a/code/controllers/subsystem/vote.dm +++ b/code/controllers/subsystem/vote.dm @@ -15,6 +15,8 @@ SUBSYSTEM_DEF(vote) var/vote_system = PLURALITY_VOTING var/question = null var/list/choices = list() + /// List of choice = object for statclick objects for statpanel voting + var/list/choice_statclicks = list() var/list/scores = list() var/list/choice_descs = list() // optional descriptions var/list/voted = list() @@ -47,7 +49,32 @@ SUBSYSTEM_DEF(vote) client_popup.open(0) next_pop = world.time+VOTE_COOLDOWN - +/** + * Renders a statpanel. Directly uses statpanel/stat calls since this is called from base of mob/Stat(). + */ +/datum/controller/subsystem/vote/proc/render_statpanel(mob/M) + if(!mode) // check if vote is running + return + if(!statpanel("Vote")) // don't bother if they're not focused on this panel + return + var/static/list/supported = list(PLURALITY_VOTING, APPROVAL_VOTING) + if(!(vote_system in supported)) + stat("Vote Manually!", "The current vote system is not supported by statpanel rendering. Please vote manually by opening the vote popup using the action button or chat link.") + return + stat("Time Left:", "[round(end_time - world.time)] seconds") + stat("Question:", question) + stat(null, null) + stat("Choices:", null) + stat(null, null) + for(var/i in 1 to choice_statclicks.len) + var/choice = choice_statclicks[i] + var/ivotedforthis = FALSE + switch(vote_system) + if(APPROVAL_VOTING) + ivotedforthis = voted[usr.ckey] && (i in voted[usr.ckey]) + if(PLURALITY_VOTING) + ivotedforthis = voted[usr.ckey] == i + stat(ivotedforthis? "\[X\]" : "\[ \]", choice_statclicks[choice]) /datum/controller/subsystem/vote/proc/reset() initiator = null @@ -59,9 +86,26 @@ SUBSYSTEM_DEF(vote) voted.Cut() voting.Cut() scores.Cut() + cleanup_statclicks() display_votes = initial(display_votes) //CIT CHANGE - obfuscated votes remove_action_buttons() +/datum/controller/subsystem/vote/proc/cleanup_statclicks() + for(var/choice in choice_statclicks) + qdel(choice_statclicks[choice]) + choice_statclicks = list() + +/obj/effect/statclick/vote + name = "ERROR" + var/choice + +/obj/effect/statclick/vote/Click() + SSvote.submit_vote(choice) + +/obj/effect/statclick/vote/New(loc, choice, name) + src.choice = choice + src.name = name + /datum/controller/subsystem/vote/proc/get_result() //get the highest number of votes var/greatest_votes = 0 @@ -536,6 +580,12 @@ SUBSYSTEM_DEF(vote) vp = CONFIG_GET(number/vote_period) to_chat(world, "\n[text]\nType vote or click here to place your votes.\nYou have [DisplayTimeText(vp)] to vote.") end_time = started_time+vp + // generate statclick list + cleanup_statclicks() + for(var/i in 1 to choices.len) + var/choice = choices[i] + choice_statclicks[choice] = new /obj/effect/statclick/vote(null, i, choice) + // for(var/c in GLOB.clients) SEND_SOUND(c, sound('sound/misc/server-ready.ogg')) var/client/C = c diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index fd9afc91cd..d81ddec271 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -539,6 +539,8 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0) /mob/Stat() ..() + SSvote?.render_statpanel(src) + //This is only called from client/Stat(), let's assume client exists. if(statpanel("Status")) From 2940f0efa5ef891cc076776ce80fcc4e6cd100fe Mon Sep 17 00:00:00 2001 From: Chiirno <43803700+Chiirno@users.noreply.github.com> Date: Fri, 10 Jul 2020 02:35:42 -0400 Subject: [PATCH 08/75] Update code/game/objects/items/storage/firstaid.dm Co-authored-by: silicons <2003111+silicons@users.noreply.github.com> --- code/game/objects/items/storage/firstaid.dm | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/code/game/objects/items/storage/firstaid.dm b/code/game/objects/items/storage/firstaid.dm index 7deda5da27..34c1a6b280 100644 --- a/code/game/objects/items/storage/firstaid.dm +++ b/code/game/objects/items/storage/firstaid.dm @@ -232,12 +232,17 @@ /obj/item/storage/pill_bottle/AltClick(mob/living/carbon/user) if(!istype(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user))) return - var/obj/item/reagent_containers/pill/W = locate(/obj/item/reagent_containers/pill) in contents - if(W && contents.len > 0) - SEND_SIGNAL(src, COMSIG_TRY_STORAGE_TAKE, W, user) - user.put_in_hands(W) - contents -= W - to_chat(user, "You pop \a [W] out of the bottle.") + if(!length(user.get_empty_held_indexes())) + to_chat(user, "Your hands are full!") + return + var/obj/item/reagent_containers/pill/P = locate() in contents + if(P) + SEND_SIGNAL(src, COMSIG_TRY_STORAGE_TAKE, P, user) + if(!user.put_in_hands(P)) + P.forceMove(user.drop_location()) // make sure it's not stuck in the user if the put in hands somehow fails + to_chat(user, "You take \a [P] out of [src].") + else + to_chat(user, "[P] drops to the floor!") else to_chat(user, "There are no pills left in the bottle.") return TRUE From 214b95445e47bcf8ad0ee1d22e64b07605464077 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Thu, 9 Jul 2020 23:59:51 -0700 Subject: [PATCH 09/75] status panel --- code/controllers/subsystem/vote.dm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm index c8a48ef188..390d42dcb4 100644 --- a/code/controllers/subsystem/vote.dm +++ b/code/controllers/subsystem/vote.dm @@ -55,14 +55,15 @@ SUBSYSTEM_DEF(vote) /datum/controller/subsystem/vote/proc/render_statpanel(mob/M) if(!mode) // check if vote is running return - if(!statpanel("Vote")) // don't bother if they're not focused on this panel + if(!statpanel("Status")) // don't bother if they're not focused on this panel return var/static/list/supported = list(PLURALITY_VOTING, APPROVAL_VOTING) + stat(null, null) + stat("Vote active!", "There is currently a vote running. Question: [question]") if(!(vote_system in supported)) - stat("Vote Manually!", "The current vote system is not supported by statpanel rendering. Please vote manually by opening the vote popup using the action button or chat link.") + stat("", "The current vote system is not supported by statpanel rendering. Please vote manually by opening the vote popup using the action button or chat link.") return stat("Time Left:", "[round(end_time - world.time)] seconds") - stat("Question:", question) stat(null, null) stat("Choices:", null) stat(null, null) From 630d65dfec72a32419d5f2de593cb7b25b9e60a9 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Fri, 10 Jul 2020 00:08:53 -0700 Subject: [PATCH 10/75] done --- code/controllers/subsystem/vote.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm index 390d42dcb4..a93aff7d2b 100644 --- a/code/controllers/subsystem/vote.dm +++ b/code/controllers/subsystem/vote.dm @@ -58,7 +58,6 @@ SUBSYSTEM_DEF(vote) if(!statpanel("Status")) // don't bother if they're not focused on this panel return var/static/list/supported = list(PLURALITY_VOTING, APPROVAL_VOTING) - stat(null, null) stat("Vote active!", "There is currently a vote running. Question: [question]") if(!(vote_system in supported)) stat("", "The current vote system is not supported by statpanel rendering. Please vote manually by opening the vote popup using the action button or chat link.") @@ -76,6 +75,7 @@ SUBSYSTEM_DEF(vote) if(PLURALITY_VOTING) ivotedforthis = voted[usr.ckey] == i stat(ivotedforthis? "\[X\]" : "\[ \]", choice_statclicks[choice]) + stat(null, null) /datum/controller/subsystem/vote/proc/reset() initiator = null From d8aa20b4e99e3ab92eb2c46985a948a6ddefb080 Mon Sep 17 00:00:00 2001 From: TheSpaghetti <37235090+TheSpaghetti@users.noreply.github.com> Date: Sun, 12 Jul 2020 13:11:06 -0400 Subject: [PATCH 11/75] Adds monophobia quirk --- code/datums/traits/negative.dm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm index 40b71eec0a..76d2ce9b6b 100644 --- a/code/datums/traits/negative.dm +++ b/code/datums/traits/negative.dm @@ -452,3 +452,21 @@ GLOBAL_LIST_EMPTY(family_heirlooms) mob_trait = TRAIT_COLDBLOODED gain_text = "You feel cold-blooded." lose_text = "You feel more warm-blooded." + + /datum/quirk/monophobia + name = "Monophobia" + desc = "You will become increasingly stressed when not in company of others, triggering panic reactions ranging from sickness to heart attacks.." + value = -3 // Might change it to 4. + gain_text = "You feel really lonely..." + lose_text = "You feel like you could be safe on your own." + medical_record_text = "Patient feels sick and distressed when not around other people, leading to potentially lethal levels of stress." + var/datum/brain_trauma/severe/monophobia + +/datum/quirk/monophobia/post_add() + var/mob/living/carbon/human/H = quirk_holder + monophobia = new + H.gain_trauma(monophobia, TRAUMA_RESILIENCE_ABSOLUTE) + +/datum/quirk/monophobia/remove() + var/mob/living/carbon/human/H = quirk_holder + H?.cure_trauma_type(monophobia, TRAUMA_RESILIENCE_ABSOLUTE) From 0200c4ca1f0390c410f7563f5f6c33eff940d65a Mon Sep 17 00:00:00 2001 From: TheSpaghetti <37235090+TheSpaghetti@users.noreply.github.com> Date: Sun, 12 Jul 2020 13:13:25 -0400 Subject: [PATCH 12/75] Fixed the double period. Whoops. --- code/datums/traits/negative.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm index 76d2ce9b6b..364151f2a1 100644 --- a/code/datums/traits/negative.dm +++ b/code/datums/traits/negative.dm @@ -455,7 +455,7 @@ GLOBAL_LIST_EMPTY(family_heirlooms) /datum/quirk/monophobia name = "Monophobia" - desc = "You will become increasingly stressed when not in company of others, triggering panic reactions ranging from sickness to heart attacks.." + desc = "You will become increasingly stressed when not in company of others, triggering panic reactions ranging from sickness to heart attacks." value = -3 // Might change it to 4. gain_text = "You feel really lonely..." lose_text = "You feel like you could be safe on your own." From a3531383d396573109ddeacb88d6add92bb23bda Mon Sep 17 00:00:00 2001 From: TheSpaghetti <37235090+TheSpaghetti@users.noreply.github.com> Date: Sun, 12 Jul 2020 15:29:32 -0400 Subject: [PATCH 13/75] "monophobia = new" isn't needed --- code/datums/traits/negative.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm index 364151f2a1..da9b36cf25 100644 --- a/code/datums/traits/negative.dm +++ b/code/datums/traits/negative.dm @@ -464,7 +464,6 @@ GLOBAL_LIST_EMPTY(family_heirlooms) /datum/quirk/monophobia/post_add() var/mob/living/carbon/human/H = quirk_holder - monophobia = new H.gain_trauma(monophobia, TRAUMA_RESILIENCE_ABSOLUTE) /datum/quirk/monophobia/remove() From cb8725d08db40adda7b1023009b12a683144c352 Mon Sep 17 00:00:00 2001 From: TheSpaghetti <37235090+TheSpaghetti@users.noreply.github.com> Date: Sun, 12 Jul 2020 17:20:08 -0400 Subject: [PATCH 14/75] ok maybe it is --- code/datums/traits/negative.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm index da9b36cf25..364151f2a1 100644 --- a/code/datums/traits/negative.dm +++ b/code/datums/traits/negative.dm @@ -464,6 +464,7 @@ GLOBAL_LIST_EMPTY(family_heirlooms) /datum/quirk/monophobia/post_add() var/mob/living/carbon/human/H = quirk_holder + monophobia = new H.gain_trauma(monophobia, TRAUMA_RESILIENCE_ABSOLUTE) /datum/quirk/monophobia/remove() From 73d4ea3201ed474c26fff82cebd035899a7168ed Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Mon, 13 Jul 2020 16:35:50 -0700 Subject: [PATCH 15/75] Delete emoji_32.dmi --- icons/emoji_32.dmi | Bin 7493 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 icons/emoji_32.dmi diff --git a/icons/emoji_32.dmi b/icons/emoji_32.dmi deleted file mode 100644 index 44b36a35e419c6c64e7edb9409d085afc0340025..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7493 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 P00000NkvXXu0mjfD*J5k From cc3b49666996087ea06ffeb7d0a5571e8e43a0c5 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Mon, 13 Jul 2020 16:37:31 -0700 Subject: [PATCH 16/75] Add files via upload --- icons/emoji_32.dmi | Bin 0 -> 7931 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 icons/emoji_32.dmi diff --git a/icons/emoji_32.dmi b/icons/emoji_32.dmi new file mode 100644 index 0000000000000000000000000000000000000000..492ca7404c930496d96dbc13f8f70e495221db7f GIT binary patch literal 7931 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 ud62_p-Ehuc_*KVy!+I` zSdR-jsChST~MFVqtkv!Gc(WG#5_P2&1Q?=r+P<>ak{X5%+J zO&b#FhqTiNcg}*4}D&RDw8yei`Rd0@a7ZmJTm#% zf++6*_Q;2R+ni|(X+b>{$j+XU<3O2sLCpj->W!pQd2XyUG`vb1TeUauo*o<=`j_R4 zA2N47s5o|~J3CK`!t8ZPS4!Lyo|oVM@bbgkkCwK#xBj3!y#E3%OnYl{yxF|8Cd^pQ z5J}sCjaL1Xsq_`ud?9PdBjLYYoZAL~e`4mpDJzYS zsPN%JwVT>C3(D$dnvMZ&qf(g~pQ)S}!Jp}DX=-n6Jkj3TctSQjN}HU~ovEA{sZ^${ z-wac&o=vM&_9Ayg{?R)NYLRRxEyg5_vSOV&`q04bfk(ex8k%^0b7TD=0KBi8w_6i! zD36x^68$#8_Rh{@!}}(dpZQ|yJEJ?Fym9gBZ+46lB!EcRXvkSUlC-k%LIrQ_Pvv=t zQ0{_`oxMkSs<>8^BzXIr<5CQBIlb!9+r?Sr1uFORM z*vku^zZ1_s^RvyZt-n}YeD{BJWgyFCLOfOLr$a)TFQ{#@kxGmvJ6O*{fha#h0{SA} z(W$SE4DT=f@W9A@uK-Z28+P#G#>VD>VHkldv9YmvfR-14T`M^<{;mB0-+Ffa*ejcN z+dsOx^se?vZYo4H>25aa=MqFFL`3|5GAs&5OUvfAC6+HG@42ol7m(hLghPgSAN+0! z*3Q}QYE@1i`R&s1{T~6ybt}iq_gk7@l*f4a{w8y_6EJHya^EWl0A8tV9(lYuf9=0b zWM(mzBT2{#hdTn0B*n>T(-Ik=qmMi?C`GBl(d;X=v_kZ;0BaaN43GxGyShSt;Mm>QG081 z7F1ML&KXg@wPVaPF|aTw|m1bkryUp%ND@|OR-%|yx@BYdGd7S_uLPd1<7dl z!y)YK3|x~*DzKfmzFo%Qt*fDU13{{T9cui3n`h2k}vm$q2el?=f3gv=ZE)?{2YLC&L;reUR@o%(t0PT z8)*Wei?{!k7B^nbQsB#3Lc5*};n=a?`|5q=hi{P2x7+Ol zb8}6tldfH3W~Q=#uvEH3KL6s@uMRCP{`)U|1YWLPOG7Nb5BWZkoPjIMk6(mAuy6S<)YtYrF0#0y3!j0z zdZC%{$X|r|pM~RINtk>-v6b1!N6@*StzYG%btWJ3ad)et*8lx0LtY6u03dfi8q4R6 z3@0P>;^b0-w{}@peu(mY!*}_8%l8SPCyc6Vjn2tXE|7<9DiIM(0_vQFNW0iVXIlr) zlFD9=Arm$t!Z&&dX!8(K(wSA~dMWaq=xzX6IUynI{9c?~N`QKBVno*HBA}}ifK@KX z&^>-UZ={P*gRMq9H1upoVs#^BCsB}UIixPv6Y9SLbVQKoy$Ym1&x&- z5#bJ00^-{@Or2zHrWFydm?S-gLNB_D106jk_VZcGOYKZf@%S662;ZT zi|nNtHlVVbBNWTyvH{3iKAs2Bdb92xR9}c=KuL)FD_yq0styHtQ9fCy)N9_#E$A z5-uXo7yt?;F0$?_0i4#G~mw%a2FX7yM}YdcE%ba*QZH+sj#a@^KWQ{(aw$ l6t5=>1o3(@Kk!Y!{|5=V4t;?2p@ske002ovPDHLkV1i`cQ~Uq` literal 0 HcmV?d00001 From fbf137b7e2993b309fe9361fcc371b6efb79cae2 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Mon, 13 Jul 2020 16:39:01 -0700 Subject: [PATCH 17/75] Delete emoji_32.dmi --- icons/emoji_32.dmi | Bin 7931 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 icons/emoji_32.dmi diff --git a/icons/emoji_32.dmi b/icons/emoji_32.dmi deleted file mode 100644 index 492ca7404c930496d96dbc13f8f70e495221db7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7931 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 ud62_p-Ehuc_*KVy!+I` zSdR-jsChST~MFVqtkv!Gc(WG#5_P2&1Q?=r+P<>ak{X5%+J zO&b#FhqTiNcg}*4}D&RDw8yei`Rd0@a7ZmJTm#% zf++6*_Q;2R+ni|(X+b>{$j+XU<3O2sLCpj->W!pQd2XyUG`vb1TeUauo*o<=`j_R4 zA2N47s5o|~J3CK`!t8ZPS4!Lyo|oVM@bbgkkCwK#xBj3!y#E3%OnYl{yxF|8Cd^pQ z5J}sCjaL1Xsq_`ud?9PdBjLYYoZAL~e`4mpDJzYS zsPN%JwVT>C3(D$dnvMZ&qf(g~pQ)S}!Jp}DX=-n6Jkj3TctSQjN}HU~ovEA{sZ^${ z-wac&o=vM&_9Ayg{?R)NYLRRxEyg5_vSOV&`q04bfk(ex8k%^0b7TD=0KBi8w_6i! zD36x^68$#8_Rh{@!}}(dpZQ|yJEJ?Fym9gBZ+46lB!EcRXvkSUlC-k%LIrQ_Pvv=t zQ0{_`oxMkSs<>8^BzXIr<5CQBIlb!9+r?Sr1uFORM z*vku^zZ1_s^RvyZt-n}YeD{BJWgyFCLOfOLr$a)TFQ{#@kxGmvJ6O*{fha#h0{SA} z(W$SE4DT=f@W9A@uK-Z28+P#G#>VD>VHkldv9YmvfR-14T`M^<{;mB0-+Ffa*ejcN z+dsOx^se?vZYo4H>25aa=MqFFL`3|5GAs&5OUvfAC6+HG@42ol7m(hLghPgSAN+0! z*3Q}QYE@1i`R&s1{T~6ybt}iq_gk7@l*f4a{w8y_6EJHya^EWl0A8tV9(lYuf9=0b zWM(mzBT2{#hdTn0B*n>T(-Ik=qmMi?C`GBl(d;X=v_kZ;0BaaN43GxGyShSt;Mm>QG081 z7F1ML&KXg@wPVaPF|aTw|m1bkryUp%ND@|OR-%|yx@BYdGd7S_uLPd1<7dl z!y)YK3|x~*DzKfmzFo%Qt*fDU13{{T9cui3n`h2k}vm$q2el?=f3gv=ZE)?{2YLC&L;reUR@o%(t0PT z8)*Wei?{!k7B^nbQsB#3Lc5*};n=a?`|5q=hi{P2x7+Ol zb8}6tldfH3W~Q=#uvEH3KL6s@uMRCP{`)U|1YWLPOG7Nb5BWZkoPjIMk6(mAuy6S<)YtYrF0#0y3!j0z zdZC%{$X|r|pM~RINtk>-v6b1!N6@*StzYG%btWJ3ad)et*8lx0LtY6u03dfi8q4R6 z3@0P>;^b0-w{}@peu(mY!*}_8%l8SPCyc6Vjn2tXE|7<9DiIM(0_vQFNW0iVXIlr) zlFD9=Arm$t!Z&&dX!8(K(wSA~dMWaq=xzX6IUynI{9c?~N`QKBVno*HBA}}ifK@KX z&^>-UZ={P*gRMq9H1upoVs#^BCsB}UIixPv6Y9SLbVQKoy$Ym1&x&- z5#bJ00^-{@Or2zHrWFydm?S-gLNB_D106jk_VZcGOYKZf@%S662;ZT zi|nNtHlVVbBNWTyvH{3iKAs2Bdb92xR9}c=KuL)FD_yq0styHtQ9fCy)N9_#E$A z5-uXo7yt?;F0$?_0i4#G~mw%a2FX7yM}YdcE%ba*QZH+sj#a@^KWQ{(aw$ l6t5=>1o3(@Kk!Y!{|5=V4t;?2p@ske002ovPDHLkV1i`cQ~Uq` From 08206a02d88cf7748f72470701448a3fda427ad3 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Mon, 13 Jul 2020 16:39:30 -0700 Subject: [PATCH 18/75] Add files via upload --- icons/emoji_32.dmi | Bin 0 -> 7940 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 icons/emoji_32.dmi diff --git a/icons/emoji_32.dmi b/icons/emoji_32.dmi new file mode 100644 index 0000000000000000000000000000000000000000..2b52677ff60c32f8fa1d274c3633c33301d4df1c GIT binary patch literal 7940 zcmV+fAN$~mP)V=-0C=2@lTB^{F${&*lT%o*MODkNolOO*SilufG;t;=8GDo;B6|8RkSZ2! z<6RWq&G26$7Qje5q%`3KWB_{C+%bp4&(sm@@~cNn1G^qYRuKWUU&`lf_oN8F~eW4fj` zH!_VF35`Iw3Up^Jc&XGP=uEf$Hih(DlBD~JI^NsZ!bKpvpa9~^Tagz6s&b58GUmu+ zxsZ{t3zsa={$z=7NXg%@4W`-0KR(AZcK26o$2Vz`L4q+;8AkzCQRj<^yrfG&D~Q2! zMf8&sl#GEZwK2T;AfP5Bj5-T;Q<=X6ySAYuCkxml3Pcd}=7bz!$x#b@vGE_1*Kj!R zVShTRZ`fqUKV&-!PyhfOdPzh2AfPLRo7{ zw5*h_-MWP zKPUkJyjdGdU!6G8bMxwjW@1Cg(bJWby!P_SHF%-EmH+@$tJM@Jk{b1f75UX#wMRar z0F6c?%8&BB%1_R~l|Ax}zqZJifis;S=xUT7<$IE!d_J+20(8h{i*O>Gx;d315|&p=0MKc?tpOl7{3zdt`~iS$$p_G}thlw6X?(R-O{u0_0|)B|6Z~su^Wn?XQ%8Q$+iw#g$uDIk zR2S%FqW*ZbR!wd7&20m(8(D9YGVyYX*8YA+umohiz(&21gs6mMolF(6={r0RQDT>WxIy6|>Rx!4;h+hwN^#%2JVC^!EFN&WA^o zhxM+4C7=vw4YEDv5RGMgDpt|k-w((&0ZHIrA=(#7Wemo<7pl?~z5TX;TYhrAkW5GB zVWnq1vtS9R^O9A@M!MkD%cf!$z5OIu#HU@i@sSWcOIrD?JiNLDOTdT--_ZRCs-*8b z0^0Zr=edj3ukEKzI-$Sw+%3)p0rR$)YrDQhXuqu)RGgH&bjz?TTclIuf`GKC-q4iM zW!;M2e!N_o)yuOL%mo1v$nFR2dX~t#4n=Rj2zex7t_X<3mokQ;bp6(T*|J#Hj_h^{ z%d3IY*XoSH}n+&eOn;kD0=(zhyj4kN!8@()h>Y_%nQ)j^hll_jNqbMMIOw` zlWzi6-Bsilz5Ol_lKglyJwTKn<$IH#)a&&aoF&SS@;%8Hp}b{8PZ_b*?Bv9r~5?VMg+WQgar3!0{BTI4}+l_wUm?)Pd{hGZK3$4Ne%$)<>PFUG z=Yv6hxsIN$q^b&SgA6nx(#j(1n>G1JC6oPN;6Rfh(_lUsg2s3apih8Iw*a78O+~Y? zc>T$bA$gycPlkw80?Hf$B&*b_%Fj!$Yt>Zh%j!1Bl8}~PMh}$Wm(E1ARpM&Umu%LtA;}<`JxJ zDS1E7$YL_+VEtgSM?wwgJZD}WqYb$BNrcoiqhJauk#@{{rK}pCDTUP=LHb(nJ~K6($vbb9$wKb2yNnrmzGRt z<9X=}CtMFfWZNbCk+e?0e&}YBBvg6mp>+dIWU740O=Z!bGocphBwWw4*^NyhML^$Y z{QHpa)8f&l{zIsX3y6j+xJDKf(=UT@Gcy z(hJ&lEMMRfQ1(H%B7<-FBB(5e+gOCp3Ry1l^CnD8iI|6vvGgR2Y-4C-ut7wh@@XI) zZB5sXLIRro+rH zt880DC)WUZZL!@>Ru_~cA?qE}obpZd(B;}Lmw;p=vW`#ZTRs5Wvazh4%WXok?qIG+ zh+pT`$(DSUv%hFRC@sJ42if(m6Dhux^u?)sf%7=d#EBu=4@euc zv99sTKx06jE@gGRN3hP=Aws15wqII5Zn`xEYagg?Su7G}^{lN=!uUQ*#)W)c5BRL) zM&uU*0Aa_c^DW;6qWo|?Q2;#02aHG4NBJQfO`p{X)#Rz%-jAlQ*X!Pcb42;YmQU8f zCK05_AL9c?M7SY>X=EnXhy=_Ctl73aI1ER)gK>O7nVHAXyFjMxH?Cif+aKk3%itZ= zNt16p2_r+mkS76jl_MS1ZGg%Y1mR=(?< z)1kLN1oW{9@xzJltIm`f^x|JX|K^DOx;wVyEUBTBg^dVO|K&Q@5<02@d?KbkBv*?VJqJ8W_ zhm1w-A)s!T%H~E{n*(W`ZiUQxkE-(PI4sy8RNjXJDnlXDF(+AuX?~e922=%*1-d?Z z!sLTsGSR`x%PUhSj|+LM`+1xAQ919&*4aS#5)slN+4qM&nB+1O4?Px8b&J1l9#MG! z_a30^SIL&YrD!dO)!kOjqf;mHe{`SLMWvOaYgJVi!TY5vEIZUP`LIck0Yz}}z-jAl zv1iJoQJFeWGOrAtL($8#Wopr36P~+UVf1-2T4E@s$LNI z^*qf2lB7{_ey~}dNEZ1a=(nzLmPEF8FmEVdADOXX$gr)%S(1VzVZRX4C6t1*px>=& z{(XQj9=?q=G?TSGo9mefz8xM|)=p)d9&ry!&e$~KA&~c6D4!3o#$4p@ytgyL4}=7) z)~YE4Qu*`k3ryNd4P_k1ZvQPA~#&vWj9J0D%1LjvzU3tU$;yiq*z(V&`M7A(u> z%Hqg;?R{H>B4F?Ro`)XtbzP_3vm{$I(=NO8fJ1Bn&jWCVeq2nS0e~0nStuI$NGs*i zBgZsNgdt?fb>5vLJMMCb>mKbsnU@CX4Y|I-Yfu&>j0gZPW+zHU-&hlH~CcKK1K3G&IhvfWfCw%1(tm%S=A?^*s#G7<^6!ZAlujwKO7MeEGQq$ zYXf;b7&gj}@@>nH@d2a!DBq*}7#}dokMd)Dz=()qA~%yT5fS|e2#qdA!JEdtJRd&ckA`KRdTzM?|m8K)LVatEILS9|4t@BuOeFVb=14BcQIu zqk%R~lO>1lM*x*=lY}~CBKM}Lta%lts^%?TW45uRb}$d&5?m?w4T4clL(|sV=C@c*6FVTV$nJO3lmXdtyWeJ_#T@zLPl%RVFP!_SOdhSt0b> zmwcr$AbB1Jx}Mh=H`_2Jx#+{jODD=_GK`>IldWq!oq!Lmld)yfm^^r0MYicarc#z@ zmQ`hfNoK63IvbfcBH#dY#d z9FG?YSPG2aXDKr;FS@5oAXoCO1?XgzlQ$C5W=UCuay6#p#eYy)Z?kbm4y_ECgRw+u zX%H#D4d@a`71NlE7FI4P-}yRVp2&y5TdFY0V}r1&J&~-J6kNP-%#*}v9$T0u2tJ*r zT_nU2m=H+S1&vmQtMm~a2jwK`?26l+n(s-2 zU&Fg^}iuA5yb%_g0FII z$#3lvv4xS8R<3r0Twh~5a?>mca-UyB_`t0og34?qKCvM~9^Cr*maj}e*^pf!A}`)B zp+UFT6S6LZ0xb*3T3(=e$*4f4%enf}IMWJ7>(_xT&m>+bIDA=z^;@ZOWaa0TnP+0kk|6KhK61uW)`LY<7W!LdY?p<6Wdizkyw)L+De+8ZV{MV1<<;VH z>yqh=w~nsR7SLsu2UumP5-4l=T9Yu!HBmsGt(0r{ijhY~d_~tpzg6APDC4BAzsYoD z9`YWU7f%<8{9G)=`-YBd8p`LQK3T&x@$2<^LOXX8kwAAsgqM$8hVUgn5>OKTLZ*;G zQ&=6JPF}Z+zG-gA1iOOOZi`j+qe`TLd+0JvKiH4pAd zf~*q$8~>Z-b;2W`FZuCkdQdx>-nRUBG<|RP*44qd0CI=(W+^|2_<+8HqxhEZ`}zBp zPXjq7Gu_dydOUqr@?(6!h+Lp=gR_K2z?qq+%kB35@9f(@`Zwggjk~wMTPofB$GN$i z>ptox!pzL%NV`4x$NTn={*=78argG0mr8eEpPRdW%SYWJ!bA{VP+B?^H3lA~#09^GP<(|HZWP z{P!-#NjPuvy~hW{U7lnVm;_Sj&5heX9E7c(&Rx3psl}@HVCK0a4{XEGcZc_l{s_RV z&W(B_LDuPflI`=~BOyk<7$1@?-{w{}T)t9#K%3t7aJ@zZ)EcA2;V0 zuNW0bpmOrq@$GH+{=NhEeGkB1eLH6}Cs1$Loiq@kR;{G~DWpj+`Kq%f^Rv;mnWZ3q4_EkC}53R73@c5akX*zE_1R006A5-a61~UA?PQ=JfQ@ z{bS?hJLvBcm=iA#K*T{r!mqKQl2#TW>|$|U2jRiIvSiZPh>2iRsqwPPD-7@;V{it%-KeST;1^L}FPrQ)}r0!Z$JG(dGvw5&6DM;zS+HI)p)_YdrPy5_;uT`MIuxACLt1J!qRmS z&_#SW5fN=GHnJ*r@2s7?ym0-JX?d65zW&;YJJau!4~)$NxUkl2E2wkIG)X>m%?1fO zb#QO#Naa_FuV|8&mY;P^1~MeZ|ACf%VWD;DB*Pev8T=>mZWfr2(=br)1NTaSC`9Hw9AW?e^Bt z{M-_iA*a4HJUlS<+y(%^`r6HJ1HcjhKnkl<4?Z;cMin0Y`<aIed`{+mBqxP0R+n4_nw zRKD?B14H{hMt_ftO}+v3|M=P7?_CT`J-1QW+IXzl{Kfy0Wz5aZx1kQniDwV}VR_`C ze+JO+l7>D3;{&{|o`{4dd2QC6ye5*@b22vG%~1&iLQ9WdV_DMn*5;RZ735*B%ei^? zsfEio-eRRYe*EzBrCsvfnrKr=gI_NV?fdxn@x#xv%3HX6s`E1Ph8A`W&x44;N3UL>l3}p5X+R4w+@<( z-|#YNWg&MoSw$|dl;De7pMHOF@%m4I;qUVF;X`Hgn^k7DdXm{Le4Xy;!-vY(-@DPX zi{Z+Z);iQ7Id<&nKP{IZ__2;Js4jTxZ+RhH9^m>|%kE_e3i;4=9TL*YL)VsJx$8Pk zLID1bg8#eu@rmWd4=*$2N?N{+jjaa(0QSKU^*$ou0}nm)c@?Tm(kw1s|H;9dPrUQU zx&zoFANp-`rZJ=i^-v%?drFQ2W%30z6VRwPl1k;dvC`1+Ds61l-n@HyaB%2f zmM?zD-1(s5*q!d|JSj@E*CkykaZh+&e*eSE4{twO+TPy!gYxkH3$!%tt3tI(77+f!hO*e!Da@@%rY*`auAAU$<_z zCfZOQE&nC@ZG!EcoyUgvO)Nk2#ng93cRqRJ;?>{m7!^nWk+9K_vwS3JW%Gp!-rAqa z^$?-l1sywkk4#VgXGd{GjkQ5)WOZm}rcyaH29V8GA=DMER1S?bn>V_~bL00-ybdt& zdKKJw{yUt3!pe*3T%M!%Dl#W)G&2398UrOF}U0E(5y&VaM4Dmkr z-4d*wv)|RKoILW|rQ!QO0+8!gj+gJZG`}d1@$&sm=4>Zm)^Oy$R}KKYQrSH6cys>R zf1Ak6Vk}3Jkd+R11RzO@lhdXpMAnWZ9qYOcS*B%(()9R(0?3hX?OY>qLB2;Hd1O$E zd}&IpyDac^Mq|flPF?o=ONa0O=+Q?W88j2*2PCm*JLSpiwn35s-)X>0XChBTAmrf9 za>SOYkCqa@d)AB|~jNZ3`WZ`nd%C!>{50lWECxw6r$B zB8985pGY1paB@hR*XHLJKDo2LJ_67o4DBC4$MQ9sm$p#8X7kb(ZV6fW?yRqm z%+D`;B2yQ&wxyZJ=fnLVe8&g$9iLGo|LTQiLjJQQKbWKG5oRitvB9Czs>l+F#$cyT zogCiTZcjrp@HnJt8{p23($M&gMx)7n(bZ}tX>Y9_0yuC8lB5Lb&PM}-rPjrZ^F7B@ zbmbGc!j)G_u)WnDpKCU|7VqQH^aVefKBV9*2+w`v>(3AGANe@|<(y9dxV^eMdZqPF zP!W=jPd_sc_Uqf8f<;ULqpGYBvv<4c7lbKp0%|j57249t2+32eyVb9*ORu_&PLi0&_zIA za6;POBt+>=Jjrzx&{T0lc=_n4*bt#XCE$k3P*x^g_dF<~2qw#6A%kfFRk!}TJSsqU z`@gMY160PYHg-(gg6(IoYI#F>4k3eU0m-A;R4jl@dKH+E$5tJR3e{&ApSe7QUC{XO zBO=^^N;;@wuBL6wBlC1CX_RybhxEX5Brgz7WTNk`VbFf2n_uv>&ezw6` uc=B-+;raWHjugX_1%eo!%ny7M@c#h=pA||EA)$o;0000 Date: Mon, 13 Jul 2020 16:48:07 -0700 Subject: [PATCH 19/75] epic --- icons/emoji_32.dmi | Bin 7940 -> 7836 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/emoji_32.dmi b/icons/emoji_32.dmi index 2b52677ff60c32f8fa1d274c3633c33301d4df1c..fdd6fc7d75adc7d05ab60ad24383c1b3c56460e5 100644 GIT binary patch delta 7441 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 P00000NkvXXu0mjf!^4;q delta 7546 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 Qg#Z8m07*qoM6N<$f&_E?xc~qF From 4b615b8a6fd2f1ffa883ae6c079fc8c61658ecb2 Mon Sep 17 00:00:00 2001 From: TheSpaghetti <37235090+TheSpaghetti@users.noreply.github.com> Date: Tue, 14 Jul 2020 02:20:27 -0400 Subject: [PATCH 20/75] It should actually work now. Co-authored-by: silicons <2003111+silicons@users.noreply.github.com> --- code/datums/traits/negative.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm index 364151f2a1..8f902fa088 100644 --- a/code/datums/traits/negative.dm +++ b/code/datums/traits/negative.dm @@ -460,13 +460,13 @@ GLOBAL_LIST_EMPTY(family_heirlooms) gain_text = "You feel really lonely..." lose_text = "You feel like you could be safe on your own." medical_record_text = "Patient feels sick and distressed when not around other people, leading to potentially lethal levels of stress." - var/datum/brain_trauma/severe/monophobia /datum/quirk/monophobia/post_add() + . = ..() var/mob/living/carbon/human/H = quirk_holder - monophobia = new - H.gain_trauma(monophobia, TRAUMA_RESILIENCE_ABSOLUTE) + H.gain_trauma(/datum/brain_trauma/severe/monophobia, TRAUMA_RESILIENCE_ABSOLUTE) /datum/quirk/monophobia/remove() + . = ..() var/mob/living/carbon/human/H = quirk_holder - H?.cure_trauma_type(monophobia, TRAUMA_RESILIENCE_ABSOLUTE) + H?.cure_trauma_type(/datum/brain_trauma/severe/monophobia, TRAUMA_RESILIENCE_ABSOLUTE) From a381ed324de6b39389709a0d8a5f923d854dd3a3 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Tue, 14 Jul 2020 09:28:50 -0700 Subject: [PATCH 21/75] Update game_mode.dm --- code/game/gamemodes/game_mode.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index a7ccada9f2..3d7eeb7a8a 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -543,6 +543,8 @@ /datum/game_mode/proc/get_remaining_days(client/C) if(!C) return 0 + if(C.prefs?.db_flags & DB_FLAG_EXEMPT) + return 0 if(!CONFIG_GET(flag/use_age_restriction_for_jobs)) return 0 if(!isnum(C.player_age)) From f653fd5c3cdf5a678efc43dd20f7158b017b257a Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Wed, 15 Jul 2020 14:58:51 -0700 Subject: [PATCH 22/75] kay --- code/game/gamemodes/objective.dm | 31 +++++++++++++++++++ .../antagonists/survivalist/survivalist.dm | 12 +++++++ .../antagonists/wizard/equipment/spellbook.dm | 2 ++ 3 files changed, 45 insertions(+) diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index 6312dc08a4..10b92d9655 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -845,6 +845,37 @@ GLOBAL_LIST_EMPTY(possible_items_special) /datum/objective/destroy/internal var/stolen = FALSE //Have we already eliminated this target? +/datum/objective/steal_five_of_type + name = "steal five of" + explanation_text = "Steal at least five items!" + var/list/wanted_items = list(/obj/item) + +/datum/objective/steal_five_of_type/New() + ..() + wanted_items = typecacheof(wanted_items) + +/datum/objective/steal_five_of_type/summon_guns + name = "steal guns" + explanation_text = "Steal at least five guns!" + wanted_items = list(/obj/item/gun) + +/datum/objective/steal_five_of_type/summon_magic + name = "steal magic" + explanation_text = "Steal at least five magical artefacts!" + wanted_items = list(/obj/item/spellbook, /obj/item/gun/magic, /obj/item/clothing/suit/space/hardsuit/wizard, /obj/item/scrying, /obj/item/antag_spawner/contract, /obj/item/necromantic_stone) + +/datum/objective/steal_five_of_type/check_completion() + var/list/datum/mind/owners = get_owners() + var/stolen_count = 0 + for(var/datum/mind/M in owners) + if(!isliving(M.current)) + continue + var/list/all_items = M.current.GetAllContents() //this should get things in cheesewheels, books, etc. + for(var/obj/I in all_items) //Check for wanted items + if(is_type_in_typecache(I, wanted_items)) + stolen_count++ + return stolen_count >= 5 + //Created by admin tools /datum/objective/custom name = "custom" diff --git a/code/modules/antagonists/survivalist/survivalist.dm b/code/modules/antagonists/survivalist/survivalist.dm index 04ad53f65b..296369fe3b 100644 --- a/code/modules/antagonists/survivalist/survivalist.dm +++ b/code/modules/antagonists/survivalist/survivalist.dm @@ -23,6 +23,18 @@ /datum/antagonist/survivalist/guns greet_message = "Your own safety matters above all else, and the only way to ensure your safety is to stockpile weapons! Grab as many guns as possible, and don't let anyone take them!" +/datum/antagonist/survivalist/guns/forge_objectives() + var/datum/objective/steal_five_of_type/summon_guns/guns = new + guns.owner = owner + objectives += guns + ..() + /datum/antagonist/survivalist/magic name = "Amateur Magician" greet_message = "This magic stuff is... so powerful. You want more. More! They want your power. They can't have it! Don't let them have it!" + +/datum/antagonist/survivalist/magic/forge_objectives() + var/datum/objective/steal_five_of_type/summon_magic/magic = new + magic.owner = owner + objectives += magic + ..() diff --git a/code/modules/antagonists/wizard/equipment/spellbook.dm b/code/modules/antagonists/wizard/equipment/spellbook.dm index ab043ef1c9..4c29c53a2e 100644 --- a/code/modules/antagonists/wizard/equipment/spellbook.dm +++ b/code/modules/antagonists/wizard/equipment/spellbook.dm @@ -503,6 +503,7 @@ name = "Summon Guns" desc = "Nothing could possibly go wrong with arming a crew of lunatics just itching for an excuse to kill you. Just be careful not to stand still too long!" dynamic_requirement = 60 + limit = 1 /datum/spellbook_entry/summon/guns/IsAvailible() if(!SSticker.mode) // In case spellbook is placed on map @@ -521,6 +522,7 @@ name = "Summon Magic" desc = "Share the wonders of magic with the crew and show them why they aren't to be trusted with it at the same time." dynamic_requirement = 60 + limit = 1 /datum/spellbook_entry/summon/magic/IsAvailible() if(!SSticker.mode) // In case spellbook is placed on map From a493ecdc4a8dd7dfde5738656216e0a3a56cc7c2 Mon Sep 17 00:00:00 2001 From: CameronWoof Date: Wed, 15 Jul 2020 16:44:24 -0700 Subject: [PATCH 23/75] suture and mesh additions --- code/game/objects/items/stacks/cash.dm | 1 + code/game/objects/items/stacks/medical.dm | 62 ++++++++++++++++++ .../items/stacks/sheets/sheet_types.dm | 4 +- code/game/objects/items/stacks/tape.dm | 1 + code/game/objects/items/stacks/wrap.dm | 1 + code/modules/hydroponics/grown/corn.dm | 1 + code/modules/hydroponics/grown/misc.dm | 31 +++++++++ code/modules/hydroponics/grown/towercap.dm | 2 + code/modules/hydroponics/plant_genes.dm | 4 +- code/modules/paperwork/paper.dm | 1 + .../chemistry/reagents/drink_reagents.dm | 15 +++++ .../chemistry/reagents/other_reagents.dm | 6 ++ .../reagents/chemistry/recipes/medicine.dm | 16 +++++ .../reagents/chemistry/recipes/others.dm | 5 ++ code/modules/vending/megaseed.dm | 3 +- icons/obj/hydroponics/growing_vegetables.dmi | Bin 23222 -> 25949 bytes icons/obj/hydroponics/harvest.dmi | Bin 88306 -> 88669 bytes icons/obj/hydroponics/seeds.dmi | Bin 26415 -> 26558 bytes icons/obj/stack_objects.dmi | Bin 50268 -> 51133 bytes 19 files changed, 148 insertions(+), 5 deletions(-) diff --git a/code/game/objects/items/stacks/cash.dm b/code/game/objects/items/stacks/cash.dm index ce0bc6591a..954950f5e6 100644 --- a/code/game/objects/items/stacks/cash.dm +++ b/code/game/objects/items/stacks/cash.dm @@ -11,6 +11,7 @@ w_class = WEIGHT_CLASS_TINY full_w_class = WEIGHT_CLASS_TINY resistance_flags = FLAMMABLE + grind_results = list(/datum/reagent/cellulose = 10) var/value = 0 /obj/item/stack/spacecash/Initialize() diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index e6403e83cc..c238f50abc 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -207,6 +207,16 @@ /obj/item/stack/medical/suture/one amount = 1 +/obj/item/stack/medical/suture/medicated + name = "medicated suture" + icon_state = "suture_purp" + desc = "A suture infused with drugs that speed up wound healing of the treated laceration." + heal_brute = 15 + grind_results = list(/datum/reagent/medicine/polypyr = 2) + +/obj/item/stack/medical/suture/one + amount = 1 + /obj/item/stack/medical/suture/heal(mob/living/M, mob/user) . = ..() if(M.stat == DEAD) @@ -246,12 +256,30 @@ /obj/item/stack/medical/mesh/one amount = 1 +/obj/item/stack/medical/mesh/advanced + name = "advanced regenerative mesh" + desc = "An advanced mesh made with aloe extracts and sterilizing chemicals, used to treat burns." + gender = PLURAL + singular_name = "advanced regenerative mesh" + icon_state = "aloe_mesh" + heal_burn = 15 + grind_results = list(/datum/reagent/consumable/aloejuice = 1) + +/obj/item/stack/medical/mesh/advanced/one + amount = 1 + /obj/item/stack/medical/mesh/Initialize() . = ..() if(amount == max_amount) //only seal full mesh packs is_open = FALSE update_icon() +/obj/item/stack/medical/mesh/advanced/update_icon_state() + if(!is_open) + icon_state = "aloe_mesh_closed" + else + return ..() + /obj/item/stack/medical/mesh/update_icon_state() if(!is_open) icon_state = "regen_mesh_closed" @@ -294,3 +322,37 @@ playsound(src, 'sound/items/poster_ripped.ogg', 20, TRUE) return . = ..() + +/obj/item/stack/medical/aloe + name = "aloe cream" + desc = "A healing paste you can apply on wounds." + + icon_state = "aloe_paste" + self_delay = 20 + other_delay = 10 + novariants = TRUE + amount = 20 + max_amount = 20 + var/heal = 3 + grind_results = list(/datum/reagent/consumable/aloejuice = 1) + +/obj/item/stack/medical/aloe/heal(mob/living/M, mob/user) + . = ..() + if(M.stat == DEAD) + to_chat(user, "[M] is dead! You can not help [M.p_them()].") + return FALSE + if(iscarbon(M)) + return heal_carbon(M, user, heal, heal) + if(isanimal(M)) + var/mob/living/simple_animal/critter = M + if (!(critter.healable)) + to_chat(user, "You cannot use \the [src] on [M]!") + return FALSE + else if (critter.health == critter.maxHealth) + to_chat(user, "[M] is at full health.") + return FALSE + user.visible_message("[user] applies \the [src] on [M].", "You apply \the [src] on [M].") + M.heal_bodypart_damage(heal, heal) + return TRUE + + to_chat(user, "You can't heal [M] with the \the [src]!") \ No newline at end of file diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 3ca7137548..c3a73df05f 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -287,7 +287,7 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \ merge_type = /obj/item/stack/sheet/mineral/wood novariants = TRUE material_type = /datum/material/wood - grind_results = list(/datum/reagent/carbon = 20) + grind_results = list(/datum/reagent/cellulose = 20) walltype = /turf/closed/wall/mineral/wood /obj/item/stack/sheet/mineral/wood/attackby(obj/item/W, mob/user, params) // NOTE: sheet_types.dm is where the WOOD stack lives. Maybe move this over there. @@ -349,7 +349,7 @@ GLOBAL_LIST_INIT(bamboo_recipes, list ( \ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 0) resistance_flags = FLAMMABLE merge_type = /obj/item/stack/sheet/mineral/bamboo - grind_results = list(/datum/reagent/carbon = 5) + grind_results = list(/datum/reagent/cellulose = 10) material_type = /datum/material/bamboo /obj/item/stack/sheet/mineral/bamboo/get_main_recipes() diff --git a/code/game/objects/items/stacks/tape.dm b/code/game/objects/items/stacks/tape.dm index d33d106d11..b66d053807 100644 --- a/code/game/objects/items/stacks/tape.dm +++ b/code/game/objects/items/stacks/tape.dm @@ -11,6 +11,7 @@ amount = 5 max_amount = 5 resistance_flags = FLAMMABLE + grind_results = list(/datum/reagent/cellulose = 5) var/list/conferred_embed = EMBED_HARMLESS var/overwrite_existing = FALSE diff --git a/code/game/objects/items/stacks/wrap.dm b/code/game/objects/items/stacks/wrap.dm index 10240e902b..6ae63e640f 100644 --- a/code/game/objects/items/stacks/wrap.dm +++ b/code/game/objects/items/stacks/wrap.dm @@ -35,6 +35,7 @@ amount = 25 max_amount = 25 resistance_flags = FLAMMABLE + grind_results = list(/datum/reagent/cellulose = 5) /obj/item/stack/packageWrap/suicide_act(mob/living/user) user.visible_message("[user] begins wrapping [user.p_them()]self in \the [src]! It looks like [user.p_theyre()] trying to commit suicide!") diff --git a/code/modules/hydroponics/grown/corn.dm b/code/modules/hydroponics/grown/corn.dm index 6c852c426d..ad09751e44 100644 --- a/code/modules/hydroponics/grown/corn.dm +++ b/code/modules/hydroponics/grown/corn.dm @@ -38,6 +38,7 @@ throwforce = 0 throw_speed = 3 throw_range = 7 + grind_results = list(/datum/reagent/cellulose = 10) /obj/item/grown/corncob/attackby(obj/item/grown/W, mob/user, params) if(W.get_sharpness()) diff --git a/code/modules/hydroponics/grown/misc.dm b/code/modules/hydroponics/grown/misc.dm index 01044cda25..fe60e9f397 100644 --- a/code/modules/hydroponics/grown/misc.dm +++ b/code/modules/hydroponics/grown/misc.dm @@ -504,3 +504,34 @@ prime() if(!QDELETED(src)) qdel(src) + +/obj/item/seeds/aloe + name = "pack of aloe seeds" + desc = "These seeds grow into aloe." + icon_state = "seed-aloe" + species = "aloe" + plantname = "Aloe" + product = /obj/item/reagent_containers/food/snacks/grown/aloe + lifespan = 60 + endurance = 25 + maturation = 4 + production = 4 + yield = 6 + growthstages = 5 + growing_icon = 'icons/obj/hydroponics/growing_vegetables.dmi' + reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.05, /datum/reagent/consumable/nutriment = 0.05) + +/obj/item/reagent_containers/food/snacks/grown/aloe + seed = /obj/item/seeds/aloe + name = "aloe" + desc = "Cut leaves from the aloe plant." + icon_state = "aloe" + filling_color = "#90EE90" + bitesize_mod = 5 + foodtype = VEGETABLES + juice_results = list(/datum/reagent/consumable/aloejuice = 0) + distill_reagent = /datum/reagent/consumable/ethanol/tequila + +/obj/item/reagent_containers/food/snacks/grown/aloe/microwave_act(obj/machinery/microwave/M) + new /obj/item/stack/medical/aloe(drop_location(), 2) + qdel(src) \ No newline at end of file diff --git a/code/modules/hydroponics/grown/towercap.dm b/code/modules/hydroponics/grown/towercap.dm index 28ae5f4b69..fe404f5fc0 100644 --- a/code/modules/hydroponics/grown/towercap.dm +++ b/code/modules/hydroponics/grown/towercap.dm @@ -16,6 +16,7 @@ icon_dead = "towercap-dead" genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism) mutatelist = list(/obj/item/seeds/tower/steel) + reagents_add = list(/datum/reagent/cellulose = 0.05) /obj/item/seeds/tower/steel name = "pack of steel-cap mycelium" @@ -25,6 +26,7 @@ plantname = "Steel Caps" product = /obj/item/grown/log/steel mutatelist = list() + reagents_add = list(/datum/reagent/cellulose = 0.05, /datum/reagent/iron = 0.05) rarity = 20 /obj/item/grown/log diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm index a666a36099..887ea0417c 100644 --- a/code/modules/hydroponics/plant_genes.dm +++ b/code/modules/hydroponics/plant_genes.dm @@ -157,12 +157,12 @@ /datum/plant_gene/reagent/polypyr name = "Polypyrylium Oligomers" - reagent_id = "polypyr" + reagent_id = /datum/reagent/medicine/polypyr rate = 0.15 /datum/plant_gene/reagent/liquidelectricity name = "Liquid Electricity" - reagent_id = "liquidelectricity" + reagent_id = /datum/reagent/consumable/liquidelectricity rate = 0.1 // Various traits affecting the product. Each must be somehow useful. diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 4afc2f1d5b..f1c90c24e8 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -21,6 +21,7 @@ resistance_flags = FLAMMABLE max_integrity = 50 dog_fashion = /datum/dog_fashion/head + grind_results = list(/datum/reagent/cellulose = 3) var/info //What's actually written on the paper. var/info_links //A different version of the paper which includes html links at fields and EOF diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index b157f328c5..0c3de579b6 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -999,3 +999,18 @@ glass_name = "glass of bungo juice" glass_desc = "Exotic! You feel like you are on vacation already." value = REAGENT_VALUE_COMMON + +/datum/reagent/consumable/aloejuice + name = "Aloe Juice" + color = "#A3C48B" + description = "A healthy and refreshing juice." + taste_description = "vegetable" + glass_icon_state = "glass_yellow" + glass_name = "glass of aloe juice" + glass_desc = "A healthy and refreshing juice." + +/datum/reagent/consumable/aloejuice/on_mob_life(mob/living/M) + if(M.getToxLoss() && prob(30)) + M.adjustToxLoss(-1, 0) + ..() + . = TRUE \ No newline at end of file diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 988441fa2b..4c66b0e51e 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -2296,3 +2296,9 @@ if(data["blood_DNA"]) S.add_blood_DNA(list(data["blood_DNA"] = data["blood_type"])) +/datum/reagent/cellulose + name = "Cellulose Fibers" + description = "A crystaline polydextrose polymer, plants swear by this stuff." + reagent_state = SOLID + color = "#E6E6DA" + taste_mult = 0 \ No newline at end of file diff --git a/code/modules/reagents/chemistry/recipes/medicine.dm b/code/modules/reagents/chemistry/recipes/medicine.dm index 9cf9acb424..e591daeb8e 100644 --- a/code/modules/reagents/chemistry/recipes/medicine.dm +++ b/code/modules/reagents/chemistry/recipes/medicine.dm @@ -318,3 +318,19 @@ id = /datum/reagent/medicine/psicodine results = list(/datum/reagent/medicine/psicodine = 5) required_reagents = list( /datum/reagent/medicine/mannitol = 2, /datum/reagent/water = 2, /datum/reagent/impedrezene = 1) + +/datum/chemical_reaction/medsuture + required_reagents = list(/datum/reagent/cellulose = 10, /datum/reagent/toxin/formaldehyde = 20, /datum/reagent/medicine/polypyr = 15) //This might be a bit much, reagent cost should be reviewed after implementation. + +/datum/chemical_reaction/medsuture/on_reaction(datum/reagents/holder, created_volume) + var/location = get_turf(holder.my_atom) + for(var/i = 1, i <= created_volume, i++) + new /obj/item/stack/medical/suture/medicated(location) + +/datum/chemical_reaction/medmesh + required_reagents = list(/datum/reagent/cellulose = 20, /datum/reagent/consumable/aloejuice = 20, /datum/reagent/space_cleaner/sterilizine = 10) + +/datum/chemical_reaction/medmesh/on_reaction(datum/reagents/holder, created_volume) + var/location = get_turf(holder.my_atom) + for(var/i = 1, i <= created_volume, i++) + new /obj/item/stack/medical/mesh/advanced(location) \ No newline at end of file diff --git a/code/modules/reagents/chemistry/recipes/others.dm b/code/modules/reagents/chemistry/recipes/others.dm index a8aec91669..63c2bee945 100644 --- a/code/modules/reagents/chemistry/recipes/others.dm +++ b/code/modules/reagents/chemistry/recipes/others.dm @@ -825,3 +825,8 @@ required_reagents = list(/datum/reagent/medicine/salglu_solution = 1, /datum/reagent/iron = 1, /datum/reagent/stable_plasma = 1) mix_message = "The mixture congeals and gives off a faint copper scent." required_temp = 350 + +/datum/chemical_reaction/cellulose_carbonization + results = list(/datum/reagent/carbon = 1) + required_reagents = list(/datum/reagent/cellulose = 1) + required_temp = 512 \ No newline at end of file diff --git a/code/modules/vending/megaseed.dm b/code/modules/vending/megaseed.dm index 2eb68aaf4a..45199298ca 100644 --- a/code/modules/vending/megaseed.dm +++ b/code/modules/vending/megaseed.dm @@ -4,7 +4,8 @@ product_slogans = "THIS'S WHERE TH' SEEDS LIVE! GIT YOU SOME!;Hands down the best seed selection on the station!;Also certain mushroom varieties available, more for experts! Get certified today!" product_ads = "We like plants!;Grow some crops!;Grow, baby, growww!;Aw h'yeah son!" icon_state = "seeds" - products = list(/obj/item/seeds/ambrosia = 3, + products = list(/obj/item/seeds/aloe = 3, + /obj/item/seeds/ambrosia = 3, /obj/item/seeds/apple = 3, /obj/item/seeds/banana = 3, /obj/item/seeds/berry = 3, diff --git a/icons/obj/hydroponics/growing_vegetables.dmi b/icons/obj/hydroponics/growing_vegetables.dmi index b426b8f6de706ff1b3c072fcd5209f9a4358afe1..e174b4fb0b98b605042bb5c72b993488734cb7cb 100644 GIT binary patch literal 25949 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 literal 23222 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 Z%fakWhl|o&Ks{=Z*|nQj@kS4x{|Dv1`fvaM diff --git a/icons/obj/hydroponics/harvest.dmi b/icons/obj/hydroponics/harvest.dmi index d7800fc0a539c9d2c895f14b1537dbda6011ef3e..7474bb87abd9e4327965819f1d6c90f5169efe9d 100644 GIT binary patch delta 20378 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�V1w8*CO<)vz?94E#AKX(f+V7yo<5HT2QqNE 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ͳH2UKs!vw){A_7ZW<*H7yfj; zLVx2hw{toU=pRm(1|Tckx|j_*>`>XmpAF$2zEQ(rx-Jp2_t$k$!G^Jcl>G zNXHDvu?j>wr624Ffe0vy&Q2!&N{TPz47ga^dfNmm#rD=qd-MD@t`cU_G#^u`+MJ@7 z4$~g$9VHRRO%|NK=v<2!!~UoOX{&0#ihod>!2vKYrIl5-<-F0=5;+ffBUfd9i9@PH zzkgru^rC$U(72@xCJqYOdle>rB;%z7f6p~@xd9Yc=|1U=JtVsM8{Rj6ErF6#4#ddv zaw8yA4gRh}=g6MPxe)AF{lyyUTQ(TajqB!A>}W9g^>g0o$rd_GM$U(un1uct-7GdX z02BjqNsxJE<8xNB=Qg_oTjFV#=rf8kCW2Ns5%hv4^dcqPly9K2!sqv~xY9||jFWS< z>N8rT(3R}wcHtKskHr|Ne#re4QNY{(X>928l;k+gEX{4J%Mv;eD>g$3Kt{Gv)+5nFqKVx9ypM9=^C^b%-Mn~^=p7V~ zrpC@l^W@$LM-6R4{LuLh6KuB>>l9k(*1_X3zwTiwWD_q3jH`S@H*0boeZI;)o%rB_ zRbRj7gOgfr#)0GFHS@R$q<+VHMOfD?(OXlLtvX-OThCSHnx<$R=3hd;U#FS^;f{-) qalTKCReob)#jD-8W^YZdRyrtsvx6(hDJcNNcx=yIuq-?4jrkv$kD`kJ delta 19972 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 delta 10152 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 From 4785a753ba5874f2376ea5e372fca7632bdb147e Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Wed, 15 Jul 2020 17:12:48 -0700 Subject: [PATCH 24/75] Update SDQL_2.dm --- code/modules/admin/verbs/SDQL2/SDQL_2.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2.dm b/code/modules/admin/verbs/SDQL2/SDQL_2.dm index 044016698c..b757028ea2 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_2.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_2.dm @@ -666,8 +666,8 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null obj_count_finished = select_refs var/n = 0 for(var/i in found) - if(++n == 20000) - text_list += "
TRUNCATED - 20000 OBJECT LIMIT HIT" + if(++n == 2500) + text_list += "
TRUNCATED - 2500 OBJECT LIMIT HIT" SDQL_print(i, text_list, print_nulls) select_refs[REF(i)] = TRUE SDQL2_TICK_CHECK From 1e07a277f492217c3b5e6fc3409a8237e1a49708 Mon Sep 17 00:00:00 2001 From: TheSpaghetti <37235090+TheSpaghetti@users.noreply.github.com> Date: Thu, 16 Jul 2020 03:17:28 -0400 Subject: [PATCH 25/75] Makes extradimensional oranges weirder. --- code/modules/hydroponics/grown/citrus.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/hydroponics/grown/citrus.dm b/code/modules/hydroponics/grown/citrus.dm index f4748ccde8..6ac7bbcfcb 100644 --- a/code/modules/hydroponics/grown/citrus.dm +++ b/code/modules/hydroponics/grown/citrus.dm @@ -107,8 +107,8 @@ icon_state = "orang" filling_color = "#FFA500" juice_results = list(/datum/reagent/consumable/orangejuice = 0) - distill_reagent = /datum/reagent/consumable/ethanol/triple_sec - tastes = list("polygons" = 1, "oranges" = 1) + distill_reagent = /datum/reagent/toxin/mindbreaker + tastes = list("polygons" = 1, "bluespace" = 1, "the true nature of reality" = 1) /obj/item/reagent_containers/food/snacks/grown/citrus/orange_3d/pickup(mob/user) . = ..() From 9e05d9f748470db8a9b38f28bbbc6fbcd6f50b7d Mon Sep 17 00:00:00 2001 From: DeltaFire Date: Thu, 16 Jul 2020 23:26:46 +0200 Subject: [PATCH 26/75] fixes swarmers not being able to eat any items --- code/modules/antagonists/swarmer/swarmer.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/swarmer/swarmer.dm b/code/modules/antagonists/swarmer/swarmer.dm index e559313aff..72fb1e89e8 100644 --- a/code/modules/antagonists/swarmer/swarmer.dm +++ b/code/modules/antagonists/swarmer/swarmer.dm @@ -486,7 +486,7 @@ var/obj/O = target if(O.resistance_flags & INDESTRUCTIBLE) return FALSE - for(var/mob/living/L in GetAllContents()) + for(var/mob/living/L in target.GetAllContents()) if(!ispAI(L) && !isbrain(L)) to_chat(src, "An organism has been detected inside this object. Aborting.") return FALSE From b2e95792171a2d81fafb8594a5d454d95ffdd630 Mon Sep 17 00:00:00 2001 From: TheSpaghetti <37235090+TheSpaghetti@users.noreply.github.com> Date: Fri, 17 Jul 2020 00:48:45 -0400 Subject: [PATCH 27/75] Fixes typos in the light sensitivity trait. It was bothering me. --- code/datums/traits/negative.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm index 8f902fa088..1566baa421 100644 --- a/code/datums/traits/negative.dm +++ b/code/datums/traits/negative.dm @@ -173,9 +173,9 @@ GLOBAL_LIST_EMPTY(family_heirlooms) name = "Light Sensitivity" desc = "Bright lights irritate you. Your eyes start to water, your skin feels itchy against the photon radiation, and your hair gets dry and frizzy. Maybe it's a medical condition. If only Nanotrasen was more considerate of your needs..." value = -1 - gain_text = "The safty of light feels off..." + gain_text = "The safety of light feels off..." lose_text = "Enlightening." - medical_record_text = "Despite my warnings, the patient refuses turn on the lights, only to end up rolling down a full flight of stairs and into the cellar." + medical_record_text = "Despite my warnings, the patient refuses to turn on the lights, only to end up rolling down a full flight of stairs and into the cellar." /datum/quirk/lightless/on_process() var/turf/T = get_turf(quirk_holder) From 813fd9b3e0a48449073b3e995df8bfd39316ce2f Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Fri, 17 Jul 2020 09:00:02 -0700 Subject: [PATCH 28/75] Update shields.dm --- code/game/objects/items/shields.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index 154714b13f..992c173d3b 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -446,6 +446,12 @@ obj/item/shield/riot/bullet_proof return BLOCK_SUCCESS | BLOCK_REDIRECTED | BLOCK_SHOULD_REDIRECT return ..() +/obj/item/shield/energy/active_block(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return, override_direction) + if((attack_type & ATTACK_TYPE_PROJECTILE) && is_energy_reflectable_projectile(object)) + block_return[BLOCK_RETURN_REDIRECT_METHOD] = REDIRECT_METHOD_DEFLECT + return BLOCK_SUCCESS | BLOCK_REDIRECTED | BLOCK_SHOULD_REDIRECT + return ..() + /obj/item/shield/energy/attack_self(mob/living/carbon/human/user) if(clumsy_check && HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)) to_chat(user, "You beat yourself in the head with [src]!") From 73a758adc83d9d69e1977b72f15a0dc5304481a5 Mon Sep 17 00:00:00 2001 From: Artur Date: Fri, 17 Jul 2020 22:05:46 +0300 Subject: [PATCH 29/75] Decal Painter fix --- code/game/objects/items/airlock_painter.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/airlock_painter.dm b/code/game/objects/items/airlock_painter.dm index c9a31a48c2..4f3761f899 100644 --- a/code/game/objects/items/airlock_painter.dm +++ b/code/game/objects/items/airlock_painter.dm @@ -183,7 +183,7 @@ /obj/item/airlock_painter/decal/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state) ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) if(!ui) - ui = new(user, src, ui_key, "decal_painter", name, 500, 400, master_ui, state) + ui = new(user, src, ui_key, "DecalPainter", name, 500, 400, master_ui, state) ui.open() /obj/item/airlock_painter/decal/ui_data(mob/user) @@ -233,4 +233,4 @@ /obj/item/airlock_painter/decal/debug/Initialize() . = ..() - ink = new /obj/item/toner/extreme(src) \ No newline at end of file + ink = new /obj/item/toner/extreme(src) From 82e0a3b66b99dd3b202d9ee95f76099716958144 Mon Sep 17 00:00:00 2001 From: SiliconMain <65544193+SiliconMain@users.noreply.github.com> Date: Fri, 17 Jul 2020 14:32:46 -0500 Subject: [PATCH 30/75] Update geiger_counter.dm --- code/game/objects/items/devices/geiger_counter.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/objects/items/devices/geiger_counter.dm b/code/game/objects/items/devices/geiger_counter.dm index 5cab9e33de..f5d3014d35 100644 --- a/code/game/objects/items/devices/geiger_counter.dm +++ b/code/game/objects/items/devices/geiger_counter.dm @@ -18,6 +18,7 @@ righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' w_class = WEIGHT_CLASS_SMALL slot_flags = ITEM_SLOT_BELT + rad_flags = RAD_NO_CONTAMINATE custom_materials = list(/datum/material/iron = 150, /datum/material/glass = 150) var/grace = RAD_GRACE_PERIOD From 6cd9993e507c86c9d08f438adb0feb0174a64ee4 Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Fri, 17 Jul 2020 15:54:45 -0400 Subject: [PATCH 31/75] 5 --- code/modules/events/stray_cargo.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/events/stray_cargo.dm b/code/modules/events/stray_cargo.dm index 02d02a8510..031642c875 100644 --- a/code/modules/events/stray_cargo.dm +++ b/code/modules/events/stray_cargo.dm @@ -2,7 +2,7 @@ /datum/round_event_control/stray_cargo name = "Stray Cargo Pod" typepath = /datum/round_event/stray_cargo - weight = 20 + weight = 5 max_occurrences = 4 earliest_start = 10 MINUTES From 36d25b178a272e50790f514d49c884f6c276ac12 Mon Sep 17 00:00:00 2001 From: CameronWoof Date: Fri, 17 Jul 2020 17:35:15 -0700 Subject: [PATCH 32/75] arcade tickets got lost in the resolution --- icons/obj/stack_objects.dmi | Bin 51133 -> 51987 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/stack_objects.dmi b/icons/obj/stack_objects.dmi index 9241e7ffd8a099b1cdcf0d72dda9ebae3f79aff0..1cdb3b6443e6ac60f96763f4e87d89b11fbbe4a6 100644 GIT binary patch delta 11924 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 delta 11063 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 Date: Sat, 18 Jul 2020 16:03:32 +1000 Subject: [PATCH 33/75] e --- code/game/objects/items/RSF.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/game/objects/items/RSF.dm b/code/game/objects/items/RSF.dm index 01b351edd0..e2bbdf0f04 100644 --- a/code/game/objects/items/RSF.dm +++ b/code/game/objects/items/RSF.dm @@ -26,6 +26,11 @@ RSF /obj/item/rsf/cyborg matter = 30 +/obj/item/rsf/cyborg/Initialize() + if(matter > 30) + matter = 30 + ..() + /obj/item/rsf/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/rcd_ammo)) if((matter + 10) > 30) From f84b044f341167cbf63e4e80ee6719d58d76240a Mon Sep 17 00:00:00 2001 From: lolman360 <22850904+lolman360@users.noreply.github.com> Date: Sat, 18 Jul 2020 16:05:57 +1000 Subject: [PATCH 34/75] Update robot_modules.dm --- code/modules/mob/living/silicon/robot/robot_modules.dm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index ccf38a547b..4bff48a650 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -779,9 +779,8 @@ /obj/item/toy/crayon/spraycan/borg, /obj/item/hand_labeler/borg, /obj/item/razor, - /obj/item/rsf, - /obj/item/instrument/violin, - /obj/item/instrument/guitar, + /obj/item/rsf/cyborg, + /obj/item/instrument/synthesizer, /obj/item/reagent_containers/dropper, /obj/item/lighter, /obj/item/storage/bag/tray, From f696a461afcc30ddbc327ce73b23f69df89de943 Mon Sep 17 00:00:00 2001 From: lolman360 <22850904+lolman360@users.noreply.github.com> Date: Sat, 18 Jul 2020 16:10:25 +1000 Subject: [PATCH 35/75] Update RSF.dm --- code/game/objects/items/RSF.dm | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/code/game/objects/items/RSF.dm b/code/game/objects/items/RSF.dm index e2bbdf0f04..79fa080269 100644 --- a/code/game/objects/items/RSF.dm +++ b/code/game/objects/items/RSF.dm @@ -26,10 +26,6 @@ RSF /obj/item/rsf/cyborg matter = 30 -/obj/item/rsf/cyborg/Initialize() - if(matter > 30) - matter = 30 - ..() /obj/item/rsf/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/rcd_ammo)) @@ -69,15 +65,16 @@ RSF return if (!(istype(A, /obj/structure/table) || isfloorturf(A))) return - - if(matter < 1) - to_chat(user, "\The [src] doesn't have enough matter left.") - return if(iscyborg(user)) + matter = 30 //borgs dont actually use the matter so this is mostly just so it doesnt fail the next check incase of shennanigans var/mob/living/silicon/robot/R = user if(!R.cell || R.cell.charge < 200) to_chat(user, "You do not have enough power to use [src].") return + if(matter < 1) + to_chat(user, "\The [src] doesn't have enough matter left.") + return + var/turf/T = get_turf(A) playsound(src.loc, 'sound/machines/click.ogg', 10, 1) From 55ed77a89d1513139bc8e605cd1dd0943e6581bf Mon Sep 17 00:00:00 2001 From: lolman360 <22850904+lolman360@users.noreply.github.com> Date: Sat, 18 Jul 2020 16:15:47 +1000 Subject: [PATCH 36/75] Update robot_modules.dm --- code/modules/mob/living/silicon/robot/robot_modules.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 4bff48a650..cd3601942c 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -780,7 +780,7 @@ /obj/item/hand_labeler/borg, /obj/item/razor, /obj/item/rsf/cyborg, - /obj/item/instrument/synthesizer, + /obj/item/instrument/piano_synth, /obj/item/reagent_containers/dropper, /obj/item/lighter, /obj/item/storage/bag/tray, From c39a5175193fbed929d42e5fd223a0178646cbbe Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Sat, 18 Jul 2020 03:47:31 -0400 Subject: [PATCH 37/75] nerf this --- code/game/objects/items/storage/backpack.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index b989398e53..99dbde2364 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -502,7 +502,6 @@ new /obj/item/retractor/advanced(src) new /obj/item/surgicaldrill/advanced(src) new /obj/item/surgical_drapes(src) - new /obj/item/storage/firstaid/tactical(src) new /obj/item/clothing/suit/straight_jacket(src) new /obj/item/clothing/mask/muzzle(src) new /obj/item/mmi/syndie(src) From 0364fe857936711aef02a4a49e3c2d8063ba80d7 Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Sat, 18 Jul 2020 03:50:17 -0400 Subject: [PATCH 38/75] lower cost --- code/modules/uplink/uplink_items/uplink_devices.dm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/code/modules/uplink/uplink_items/uplink_devices.dm b/code/modules/uplink/uplink_items/uplink_devices.dm index df6373b8de..5d19a3959c 100644 --- a/code/modules/uplink/uplink_items/uplink_devices.dm +++ b/code/modules/uplink/uplink_items/uplink_devices.dm @@ -230,10 +230,9 @@ /datum/uplink_item/device_tools/surgerybag_adv name = "Advanced Syndicate Surgery Duffel Bag" - desc = "The Syndicate surgery duffel bag is a toolkit containing all advanced surgery tools, surgical drapes, \ - a Syndicate brand MMI, a straitjacket, a muzzle, and an outdated, yet still useful Combat Medic Kit." + desc = "A Syndicate surgery duffel bag, with a set of upgraded surgery tools to boot." item = /obj/item/storage/backpack/duffelbag/syndie/surgery_adv - cost = 10 + cost = 7 /datum/uplink_item/device_tools/brainwash_disk name = "Brainwashing Surgery Program" From 56f56d5cbe4804e9a0123fbeb1de0a2e6a3f65b0 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Sat, 18 Jul 2020 10:24:36 -0700 Subject: [PATCH 39/75] Update gateway.dm --- code/modules/awaymissions/gateway.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/code/modules/awaymissions/gateway.dm b/code/modules/awaymissions/gateway.dm index 6ddda43bc8..157fdb7bc7 100644 --- a/code/modules/awaymissions/gateway.dm +++ b/code/modules/awaymissions/gateway.dm @@ -188,7 +188,8 @@ GLOBAL_LIST_EMPTY(gateway_destinations) target = null dest.deactivate(src) QDEL_NULL(portal) - use_power = IDLE_POWER_USE + if(use_power == ACTIVE_POWER_USE) + use_power = IDLE_POWER_USE update_icon() /obj/machinery/gateway/process() @@ -216,7 +217,8 @@ GLOBAL_LIST_EMPTY(gateway_destinations) target = D target.activate(destination) generate_bumper() - use_power = ACTIVE_POWER_USE + if(use_power == IDLE_POWER_USE) + use_power = ACTIVE_POWER_USE update_icon() /obj/machinery/gateway/proc/Transfer(atom/movable/AM) From 16957d78e903714bc7f68a38a36455d9566ed5b0 Mon Sep 17 00:00:00 2001 From: TheSpaghetti <37235090+TheSpaghetti@users.noreply.github.com> Date: Sat, 18 Jul 2020 18:11:48 -0400 Subject: [PATCH 40/75] Makes the grammar bad again. For some reason the fixed grammar didn't compile. --- code/datums/traits/negative.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm index 1566baa421..8f902fa088 100644 --- a/code/datums/traits/negative.dm +++ b/code/datums/traits/negative.dm @@ -173,9 +173,9 @@ GLOBAL_LIST_EMPTY(family_heirlooms) name = "Light Sensitivity" desc = "Bright lights irritate you. Your eyes start to water, your skin feels itchy against the photon radiation, and your hair gets dry and frizzy. Maybe it's a medical condition. If only Nanotrasen was more considerate of your needs..." value = -1 - gain_text = "The safety of light feels off..." + gain_text = "The safty of light feels off..." lose_text = "Enlightening." - medical_record_text = "Despite my warnings, the patient refuses to turn on the lights, only to end up rolling down a full flight of stairs and into the cellar." + medical_record_text = "Despite my warnings, the patient refuses turn on the lights, only to end up rolling down a full flight of stairs and into the cellar." /datum/quirk/lightless/on_process() var/turf/T = get_turf(quirk_holder) From de5e87d522e640d3d3c354bcda7471adb747c1e1 Mon Sep 17 00:00:00 2001 From: Artur Date: Sun, 19 Jul 2020 02:37:11 +0300 Subject: [PATCH 41/75] Fixes a typo --- .../antagonists/bloodsucker/objects/bloodsucker_coffin.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/bloodsucker/objects/bloodsucker_coffin.dm b/code/modules/antagonists/bloodsucker/objects/bloodsucker_coffin.dm index e85d3af5a0..a555677719 100644 --- a/code/modules/antagonists/bloodsucker/objects/bloodsucker_coffin.dm +++ b/code/modules/antagonists/bloodsucker/objects/bloodsucker_coffin.dm @@ -110,7 +110,7 @@ if (bloodsuckerdatum && bloodsuckerdatum.coffin == src) bloodsuckerdatum.coffin = null bloodsuckerdatum.lair = null - to_chat(resident, "You sense that the link with your coffin, your sacred place of rest, has been brokem! You will need to seek another.") + to_chat(resident, "You sense that the link with your coffin, your sacred place of rest, has been broken! You will need to seek another.") resident = null // Remove resident. Because this object isnt removed from the game immediately (GC?) we need to give them a way to see they don't have a home anymore. /obj/structure/closet/crate/coffin/can_open(mob/living/user) From 19dd73f9b4b81b6c10ab06904e1e6ddf2d49ccc3 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sun, 19 Jul 2020 00:10:43 +0000 Subject: [PATCH 42/75] Automatic changelog compile [ci skip] --- html/changelog.html | 47 ++++++++++++++++++++++ html/changelogs/.all_changelog.yml | 30 ++++++++++++++ html/changelogs/AutoChangeLog-pr-12229.yml | 4 -- html/changelogs/AutoChangeLog-pr-12679.yml | 4 -- html/changelogs/AutoChangeLog-pr-12733.yml | 4 -- html/changelogs/AutoChangeLog-pr-12750.yml | 4 -- html/changelogs/AutoChangeLog-pr-12758.yml | 4 -- html/changelogs/AutoChangeLog-pr-12759.yml | 4 -- html/changelogs/AutoChangeLog-pr-12761.yml | 6 --- html/changelogs/AutoChangeLog-pr-12762.yml | 4 -- html/changelogs/AutoChangeLog-pr-12763.yml | 4 -- html/changelogs/AutoChangeLog-pr-12775.yml | 4 -- html/changelogs/AutoChangeLog-pr-12776.yml | 4 -- html/changelogs/AutoChangeLog-pr-12779.yml | 4 -- html/changelogs/AutoChangeLog-pr-12812.yml | 4 -- 15 files changed, 77 insertions(+), 54 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-12229.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-12679.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-12733.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-12750.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-12758.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-12759.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-12761.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-12762.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-12763.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-12775.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-12776.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-12779.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-12812.yml diff --git a/html/changelog.html b/html/changelog.html index 1442691167..33ff04b891 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -50,6 +50,53 @@ -->
+

19 July 2020

+

Arturlang updated:

+
    +
  • TGUI 3.0 and enables all the UIs, plus the smart asset cache, and all the things required for them
  • +
+

EmeraldSundisk updated:

+
    +
  • Adds a pool to Delta Station
  • +
  • Adds light fixtures to specified areas
  • +
  • Relocates objects in impacted areas of Delta's starboard maintenance
  • +
+

MrJWhit updated:

+
    +
  • Adds a small light next to the kitchen counter
  • +
+

Putnam3145 updated:

+
    +
  • Pen uplinks no longer broken
  • +
+

TheObserver-sys updated:

+
    +
  • Adds a new reaction: Slime Extractification. Take 30u Slime Jelly, 5u Frost Oil, and 5u plasma to generate a fresh grey slime extract.
  • +
+

Yakumo Chen updated:

+
    +
  • Hierophant club now checks for friendly fire by default.
  • +
+

b1tt3r1n0 updated:

+
    +
  • Added the updated circle game
  • +
+

silicons updated:

+
    +
  • Unarmed parry is now a thing.
  • +
+

timothyteakettle updated:

+
    +
  • plushies in the loadout have been replaced with a box that lets you choose one instead
  • +
  • wrestling should no longer have the ability to permanently rotate people
  • +
  • you can now select to wear a snail shell as your backpack in the customization menu
  • +
+

zeroisthebiggay updated:

+
    +
  • martial arts twenty minpop
  • +
  • records
  • +
+

17 July 2020

ShizCalev, Fikou updated:

    diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 05e4c0cf69..7f5d343069 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -26387,3 +26387,33 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. - bugfix: fixes a small pickle related issue - rscadd: recent culinary and scientific advancements have brought forth new pickle related technologies +2020-07-19: + Arturlang: + - rscadd: TGUI 3.0 and enables all the UIs, plus the smart asset cache, and all + the things required for them + EmeraldSundisk: + - rscadd: Adds a pool to Delta Station + - rscadd: Adds light fixtures to specified areas + - tweak: Relocates objects in impacted areas of Delta's starboard maintenance + MrJWhit: + - rscadd: Adds a small light next to the kitchen counter + Putnam3145: + - bugfix: Pen uplinks no longer broken + TheObserver-sys: + - rscadd: 'Adds a new reaction: Slime Extractification. Take 30u Slime Jelly, 5u + Frost Oil, and 5u plasma to generate a fresh grey slime extract.' + Yakumo Chen: + - tweak: Hierophant club now checks for friendly fire by default. + b1tt3r1n0: + - rscadd: Added the updated circle game + silicons: + - rscadd: Unarmed parry is now a thing. + timothyteakettle: + - rscadd: plushies in the loadout have been replaced with a box that lets you choose + one instead + - bugfix: wrestling should no longer have the ability to permanently rotate people + - rscadd: you can now select to wear a snail shell as your backpack in the customization + menu + zeroisthebiggay: + - tweak: martial arts twenty minpop + - bugfix: records diff --git a/html/changelogs/AutoChangeLog-pr-12229.yml b/html/changelogs/AutoChangeLog-pr-12229.yml deleted file mode 100644 index 02316f0323..0000000000 --- a/html/changelogs/AutoChangeLog-pr-12229.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Arturlang" -delete-after: True -changes: - - rscadd: "TGUI 3.0 and enables all the UIs, plus the smart asset cache, and all the things required for them" diff --git a/html/changelogs/AutoChangeLog-pr-12679.yml b/html/changelogs/AutoChangeLog-pr-12679.yml deleted file mode 100644 index 5cb7906927..0000000000 --- a/html/changelogs/AutoChangeLog-pr-12679.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "silicons" -delete-after: True -changes: - - rscadd: "Unarmed parry is now a thing." diff --git a/html/changelogs/AutoChangeLog-pr-12733.yml b/html/changelogs/AutoChangeLog-pr-12733.yml deleted file mode 100644 index 79c6035e5e..0000000000 --- a/html/changelogs/AutoChangeLog-pr-12733.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "TheObserver-sys" -delete-after: True -changes: - - rscadd: "Adds a new reaction: Slime Extractification. Take 30u Slime Jelly, 5u Frost Oil, and 5u plasma to generate a fresh grey slime extract." diff --git a/html/changelogs/AutoChangeLog-pr-12750.yml b/html/changelogs/AutoChangeLog-pr-12750.yml deleted file mode 100644 index 722b3c5c93..0000000000 --- a/html/changelogs/AutoChangeLog-pr-12750.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "timothyteakettle" -delete-after: True -changes: - - rscadd: "plushies in the loadout have been replaced with a box that lets you choose one instead" diff --git a/html/changelogs/AutoChangeLog-pr-12758.yml b/html/changelogs/AutoChangeLog-pr-12758.yml deleted file mode 100644 index 5fb00341ea..0000000000 --- a/html/changelogs/AutoChangeLog-pr-12758.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "MrJWhit" -delete-after: True -changes: - - rscadd: "Adds a small light next to the kitchen counter" diff --git a/html/changelogs/AutoChangeLog-pr-12759.yml b/html/changelogs/AutoChangeLog-pr-12759.yml deleted file mode 100644 index bef328da68..0000000000 --- a/html/changelogs/AutoChangeLog-pr-12759.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Yakumo Chen" -delete-after: True -changes: - - tweak: "Hierophant club now checks for friendly fire by default." diff --git a/html/changelogs/AutoChangeLog-pr-12761.yml b/html/changelogs/AutoChangeLog-pr-12761.yml deleted file mode 100644 index f3db58516e..0000000000 --- a/html/changelogs/AutoChangeLog-pr-12761.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "EmeraldSundisk" -delete-after: True -changes: - - rscadd: "Adds a pool to Delta Station" - - rscadd: "Adds light fixtures to specified areas" - - tweak: "Relocates objects in impacted areas of Delta's starboard maintenance" diff --git a/html/changelogs/AutoChangeLog-pr-12762.yml b/html/changelogs/AutoChangeLog-pr-12762.yml deleted file mode 100644 index 12432db3b2..0000000000 --- a/html/changelogs/AutoChangeLog-pr-12762.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "zeroisthebiggay" -delete-after: True -changes: - - tweak: "martial arts twenty minpop" diff --git a/html/changelogs/AutoChangeLog-pr-12763.yml b/html/changelogs/AutoChangeLog-pr-12763.yml deleted file mode 100644 index 613323cd64..0000000000 --- a/html/changelogs/AutoChangeLog-pr-12763.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "zeroisthebiggay" -delete-after: True -changes: - - bugfix: "records" diff --git a/html/changelogs/AutoChangeLog-pr-12775.yml b/html/changelogs/AutoChangeLog-pr-12775.yml deleted file mode 100644 index e7e28914a4..0000000000 --- a/html/changelogs/AutoChangeLog-pr-12775.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "timothyteakettle" -delete-after: True -changes: - - bugfix: "wrestling should no longer have the ability to permanently rotate people" diff --git a/html/changelogs/AutoChangeLog-pr-12776.yml b/html/changelogs/AutoChangeLog-pr-12776.yml deleted file mode 100644 index d51b334a67..0000000000 --- a/html/changelogs/AutoChangeLog-pr-12776.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "timothyteakettle" -delete-after: True -changes: - - rscadd: "you can now select to wear a snail shell as your backpack in the customization menu" diff --git a/html/changelogs/AutoChangeLog-pr-12779.yml b/html/changelogs/AutoChangeLog-pr-12779.yml deleted file mode 100644 index 49c4c20ed1..0000000000 --- a/html/changelogs/AutoChangeLog-pr-12779.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "b1tt3r1n0" -delete-after: True -changes: - - rscadd: "Added the updated circle game" diff --git a/html/changelogs/AutoChangeLog-pr-12812.yml b/html/changelogs/AutoChangeLog-pr-12812.yml deleted file mode 100644 index 7504025e37..0000000000 --- a/html/changelogs/AutoChangeLog-pr-12812.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Putnam3145" -delete-after: True -changes: - - bugfix: "Pen uplinks no longer broken" From 53dd4fc85780ba8435864b5f323b9db8e782f3af Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Sat, 18 Jul 2020 20:50:28 -0700 Subject: [PATCH 43/75] Update areas.dm --- code/game/area/areas.dm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index dabbe93bec..f87f7a757c 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -516,7 +516,7 @@ GLOBAL_LIST_EMPTY(teleportlocs) used_environ += amount -/area/Entered(atom/movable/M) +/area/Entered(atom/movable/M, atom/OldLoc) set waitfor = FALSE SEND_SIGNAL(src, COMSIG_AREA_ENTERED, M) SEND_SIGNAL(M, COMSIG_ENTER_AREA, src) //The atom that enters the area @@ -524,6 +524,11 @@ GLOBAL_LIST_EMPTY(teleportlocs) return var/mob/living/L = M + var/turf/oldTurf = get_turf(OldLoc) + var/area/A = oldTurf?.loc + if(A && (A.has_gravity != has_gravity)) + L.update_gravity(L.mob_has_gravity()) + if(!L.ckey) return From 9b1aa3949700fda6c4d1eed6232f868306f5caf8 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Sat, 18 Jul 2020 20:51:30 -0700 Subject: [PATCH 44/75] Update space.dm --- code/game/turfs/space/space.dm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm index b131a1ed70..42096866c4 100644 --- a/code/game/turfs/space/space.dm +++ b/code/game/turfs/space/space.dm @@ -133,10 +133,15 @@ else to_chat(user, "The plating is going to need some support! Place metal rods first.") -/turf/open/space/Entered(atom/movable/A) +/turf/open/space/Entered(atom/movable/A, atom/OldLoc) ..() if ((!(A) || src != A.loc)) return + + var/turf/old = get_turf(OldLoc) + if(!isspaceturf(old) && ismob(A)) + var/mob/M = A + M.update_gravity(M.mob_has_gravity()) if(destination_z && destination_x && destination_y && !(A.pulledby || !A.can_be_z_moved)) var/tx = destination_x From 5b408d5b33c0f039f43abf3f7962b48cfe0d918f Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Sat, 18 Jul 2020 20:52:15 -0700 Subject: [PATCH 45/75] Update space.dm --- code/game/turfs/space/space.dm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm index 42096866c4..0e028ed4af 100644 --- a/code/game/turfs/space/space.dm +++ b/code/game/turfs/space/space.dm @@ -134,9 +134,7 @@ to_chat(user, "The plating is going to need some support! Place metal rods first.") /turf/open/space/Entered(atom/movable/A, atom/OldLoc) - ..() - if ((!(A) || src != A.loc)) - return + . = ..() var/turf/old = get_turf(OldLoc) if(!isspaceturf(old) && ismob(A)) @@ -175,6 +173,12 @@ stoplag()//Let a diagonal move finish, if necessary A.newtonian_move(A.inertia_dir) +/turf/open/space/Exited(atom/movable/AM, atom/OldLoc) + . = ..() + var/turf/old = get_turf(OldLoc) + if(!isspaceturf(old) && ismob(AM)) + var/mob/M = AM + M.update_gravity(M.mob_has_gravity()) /turf/open/space/MakeSlippery(wet_setting, min_wet_time, wet_time_to_add, max_wet_time, permanent) return From 38f05bf23061829bc2d7a01f7fa18afc0cf2395c Mon Sep 17 00:00:00 2001 From: kappa-sama <44128284+kappa-sama@users.noreply.github.com> Date: Sun, 19 Jul 2020 04:37:51 -0400 Subject: [PATCH 46/75] 6 because i feel like it --- code/modules/uplink/uplink_items/uplink_devices.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/uplink/uplink_items/uplink_devices.dm b/code/modules/uplink/uplink_items/uplink_devices.dm index 5d19a3959c..aa4048f13b 100644 --- a/code/modules/uplink/uplink_items/uplink_devices.dm +++ b/code/modules/uplink/uplink_items/uplink_devices.dm @@ -232,7 +232,7 @@ name = "Advanced Syndicate Surgery Duffel Bag" desc = "A Syndicate surgery duffel bag, with a set of upgraded surgery tools to boot." item = /obj/item/storage/backpack/duffelbag/syndie/surgery_adv - cost = 7 + cost = 6 /datum/uplink_item/device_tools/brainwash_disk name = "Brainwashing Surgery Program" From 7094649881c7c6af679555d64e198d894b54628d Mon Sep 17 00:00:00 2001 From: Kraseo Date: Sun, 19 Jul 2020 11:30:55 +0200 Subject: [PATCH 47/75] don't like this --- .../reagents/reagent_containers/rags.dm | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/code/modules/reagents/reagent_containers/rags.dm b/code/modules/reagents/reagent_containers/rags.dm index c6903ff7b4..afa188e9f6 100644 --- a/code/modules/reagents/reagent_containers/rags.dm +++ b/code/modules/reagents/reagent_containers/rags.dm @@ -36,15 +36,19 @@ var/reagentlist = pretty_string_from_reagent_list(reagents) var/log_object = "a damp rag containing [reagentlist]" if(user.a_intent == INTENT_HARM && !C.is_mouth_covered()) - reagents.reaction(C, INGEST) - reagents.trans_to(C, 5) - C.visible_message("[user] has smothered \the [C] with \the [src]!", "[user] has smothered you with \the [src]!", "You hear some struggling and muffled cries of surprise.") - log_combat(user, C, "smothered", log_object) + C.visible_message("[user] is trying to smother \the [C] with \the [src]!", "[user] is trying to smother you with \the [src]!", "You hear some struggling and muffled cries of surprise.") + if(do_after(user, 20, target = C)) + reagents.reaction(C, INGEST) + reagents.trans_to(C, 5) + C.visible_message("[user] has smothered \the [C] with \the [src]!", "[user] has smothered you with \the [src]!", "You hear some struggling and a heavy breath taken.") + log_combat(user, C, "smothered", log_object) else - reagents.reaction(C, TOUCH) - reagents.remove_all(5) - C.visible_message("[user] has touched \the [C] with \the [src].") - log_combat(user, C, "touched", log_object) + C.visible_message("[user] is trying to wipe \the [C] with \the [src].") + if(do_after(user, 20, target = C)) + reagents.reaction(C, TOUCH) + reagents.remove_all(5) + C.visible_message("[user] has wiped \the [C] with \the [src].") + log_combat(user, C, "touched", log_object) else if(istype(A) && (src in user)) user.visible_message("[user] starts to wipe down [A] with [src]!", "You start to wipe down [A] with [src]...") From 8709a72fc01c3f9e1965619f76472667572adb1c Mon Sep 17 00:00:00 2001 From: timothyteakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Mon, 20 Jul 2020 00:40:18 +0100 Subject: [PATCH 48/75] fry everything --- code/__DEFINES/is_helpers.dm | 2 +- code/__HELPERS/unsorted.dm | 1 - code/datums/components/edible.dm | 3 +- code/datums/components/fried.dm | 89 +++++++++++++++++++ code/modules/food_and_drinks/food/snacks.dm | 7 +- .../food_and_drinks/food/snacks_bread.dm | 87 ------------------ .../kitchen_machinery/deep_fryer.dm | 12 +-- .../chemistry/reagents/food_reagents.dm | 8 +- .../chemistry/recipes/slime_extracts.dm | 5 +- tgstation.dme | 1 + 10 files changed, 107 insertions(+), 108 deletions(-) create mode 100644 code/datums/components/fried.dm diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index 90c7c34f8d..a9d9bda00c 100644 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -216,7 +216,7 @@ GLOBAL_LIST_INIT(pointed_types, typecacheof(list( #define isgun(A) (istype(A, /obj/item/gun)) -#define isfood(A) (istype(A, /obj/item/reagent_containers/food)) +#define isfood(A) (istype(A, /obj/item/reagent_containers/food/snacks)) //Assemblies #define isassembly(O) (istype(O, /obj/item/assembly)) diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index cbe004ed90..4addae3ac4 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -1437,7 +1437,6 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new) /obj/item/reagent_containers/food/snacks/grown, /obj/item/reagent_containers/food/snacks/grown/mushroom, /obj/item/reagent_containers/food/snacks/grown/nettle, // base type - /obj/item/reagent_containers/food/snacks/deepfryholder, /obj/item/reagent_containers/food/snacks/grown/shell, /obj/item/reagent_containers/food/snacks/clothing, /obj/item/reagent_containers/food/snacks/store/bread diff --git a/code/datums/components/edible.dm b/code/datums/components/edible.dm index 47e60a1ee1..dc2e490fe4 100644 --- a/code/datums/components/edible.dm +++ b/code/datums/components/edible.dm @@ -51,7 +51,8 @@ Behavior that's still missing from this component that original food items had t var/atom/owner = parent - owner.create_reagents(volume, INJECTABLE) + if(!owner.reagents) //we don't want to override what's in the item if it possibly contains reagents already + owner.create_reagents(volume, INJECTABLE) if(initial_reagents) for(var/rid in initial_reagents) diff --git a/code/datums/components/fried.dm b/code/datums/components/fried.dm new file mode 100644 index 0000000000..3e4b78a1a6 --- /dev/null +++ b/code/datums/components/fried.dm @@ -0,0 +1,89 @@ +/*! + This component essentially encapsulates frying and utilizes the edible component + This means fried items can work like regular ones, and generally the code is far less messy +*/ +/datum/component/fried + var/fry_power //how powerfully was this item fried + var/atom/owner //the atom it is owned by + var/stored_name //name of the owner when the component was first added + var/frying_examine_text = "the coders messed frying code up, report this!" + +/datum/component/fried/Initialize(frying_power) + if(!isatom(parent)) + return COMPONENT_INCOMPATIBLE + + RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/examine) + + fry_power = frying_power + owner = parent + stored_name = owner.name + + setup_fried_item() + +//some stuff to do with the contents of fried junk +GLOBAL_VAR_INIT(frying_hardmode, TRUE) +GLOBAL_VAR_INIT(frying_bad_chem_add_volume, TRUE) +GLOBAL_LIST_INIT(frying_bad_chems, list( +/datum/reagent/toxin/bad_food = 1, +/datum/reagent/toxin = 1, +/datum/reagent/lithium = 1, +/datum/reagent/mercury = 1, +)) + +/datum/component/fried/proc/examine(datum/source, mob/user, list/examine_list) + examine_list += "The [parent] has been [frying_examine_text]" + +/datum/component/fried/proc/setup_fried_item() //sets the name, colour and examine text and edibility up + switch(fry_power) + if(0 to 15) + owner.name = "lightly fried [owner.name]" + owner.add_atom_colour(rgb(166,103,54), FIXED_COLOUR_PRIORITY) + frying_examine_text = "lightly fried" + if(16 to 49) + owner.name = "fried [owner.name]" + owner.add_atom_colour(rgb(103,63,24), FIXED_COLOUR_PRIORITY) + frying_examine_text = "moderately fried" + if(50 to 59) + owner.name = "deep fried [owner.name]" + owner.add_atom_colour(rgb(63,23,4), FIXED_COLOUR_PRIORITY) + frying_examine_text = "deeply fried" + else + owner.name = "the physical manifestation of fried foods" + owner.add_atom_colour(rgb(33,19,9), FIXED_COLOUR_PRIORITY) + frying_examine_text = "incomprehensibly fried to a crisp" + + var/list/fried_tastes = list("crispy") + var/fried_foodtypes = FRIED + var/fried_junk = FALSE + + if(!isfood(owner) && GLOB.frying_hardmode && GLOB.frying_bad_chems.len && !owner.reagents) //you fried some junk, it's not gonna taste great + fried_junk = TRUE + fried_foodtypes |= TOXIC // junk tastes toxic too + else + if(isfood(owner)) + var/obj/item/reagent_containers/food/snacks/food_item = owner + fried_tastes += food_item.tastes + fried_foodtypes |= food_item.foodtype + + owner.AddComponent(/datum/component/edible, foodtypes = fried_tastes, tastes = fried_tastes) + + //adding the edible component gives it reagents meaning we can now add the bad frying reagents if it's junk + if(fried_junk && owner.reagents) //check again just incase + var/R = rand(1, GLOB.frying_bad_chems.len) + var/bad_chem = GLOB.frying_bad_chems[R] + var/bad_chem_amount = max(4,GLOB.frying_bad_chems[bad_chem] * (fry_power/12.5)) //4u of bad chem reached when deeply fried + owner.reagents.add_reagent(bad_chem, bad_chem_amount) + +/datum/component/fried/proc/restore_name() //restore somethings name + //we do string manipulation and not restoring their name to real_name because some things hide your real_name and we want to maintain that + if(copytext(owner.name,1,14) == "lightly fried ") + owner.name = copytext(owner.name,15) + else + if(copytext(owner.name,1,6) == "fried ") + owner.name = copytext(owner.name,7) + else + if(copytext(owner.name,1,11) == "deep fried ") + owner.name = copytext(owner.name, 12) + else + if(owner.name == "the physical manifestation of fried foods") //if the name is still this, their name hasn't changed, so we can safely restore their stored name + owner.name = stored_name diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index de264ff0e4..7c2cba0c95 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -21,7 +21,7 @@ Food formatting and crafting examples. icon_state = "saltychip" //Refers to an icon, usually in food.dmi bitesize = 3 //How many reagents are consumed in each bite. list_reagents = list(/datum/reagent/consumable/nutriment = 6, //What's inside the snack, but only if spawned. For example, from a chemical reaction, vendor, or slime core spawn. - /datum/reagent/consumable/nutriment/vitamin = 2) + /datum/reagent/consumable/nutriment/vitamin = 2) bonus_reagents = list(/datum/reagent/consumable/nutriment = 1, //What's -added- to the food, in addition to the reagents contained inside the foods used to craft it. Basically, a reward for cooking. /datum/reagent/consumable/nutriment/vitamin = 1) ^^For example. Egg+Egg = 2Egg + Bonus Reagents. filling_color = "#F4A460" //What color it will use if put in a custom food. @@ -406,3 +406,8 @@ All foods are distributed among various categories. Use common sense. TB.MouseDrop(over) else return ..() + +// //////////////////////////////////////////////Frying//////////////////////////////////////// +/atom/proc/fry(cook_time = 30) //you can truly fry anything + if(!GetComponent(/datum/component/fried)) + AddComponent(/datum/component/fried, frying_power = cook_time) diff --git a/code/modules/food_and_drinks/food/snacks_bread.dm b/code/modules/food_and_drinks/food/snacks_bread.dm index f3d84f7169..0d7c715654 100644 --- a/code/modules/food_and_drinks/food/snacks_bread.dm +++ b/code/modules/food_and_drinks/food/snacks_bread.dm @@ -191,93 +191,6 @@ tastes = list("bread" = 1, "garlic" = 1, "butter" = 1) foodtype = GRAIN -/obj/item/reagent_containers/food/snacks/deepfryholder - name = "Deep Fried Foods Holder Obj" - desc = "If you can see this description the code for the deep fryer fucked up." - icon = 'icons/obj/food/food.dmi' - icon_state = "" - bitesize = 2 - var/fried_garbage = FALSE //did you really fry a fire extinguisher? - -GLOBAL_VAR_INIT(frying_hardmode, TRUE) -GLOBAL_VAR_INIT(frying_bad_chem_add_volume, TRUE) -GLOBAL_LIST_INIT(frying_bad_chems, list( -/datum/reagent/toxin/bad_food = 3, -/datum/reagent/drug/aranesp = 2, -/datum/reagent/toxin = 2, -/datum/reagent/lithium = 2, -/datum/reagent/mercury = 2, -)) - -/obj/item/reagent_containers/food/snacks/deepfryholder/Initialize(mapload, obj/item/fried) - . = ..() - name = fried.name //We'll determine the other stuff when it's actually removed - appearance = fried.appearance - layer = initial(layer) - plane = initial(plane) - lefthand_file = fried.lefthand_file - righthand_file = fried.righthand_file - item_state = fried.item_state - desc = fried.desc - w_class = fried.w_class - slowdown = fried.slowdown - equip_delay_self = fried.equip_delay_self - equip_delay_other = fried.equip_delay_other - strip_delay = fried.strip_delay - species_exception = fried.species_exception - item_flags = fried.item_flags - obj_flags = fried.obj_flags - - if(isfood(fried)) - fried.reagents.trans_to(src, fried.reagents.total_volume) - qdel(fried) - else - fried.forceMove(src) - trash = fried - fried_garbage = TRUE - -/obj/item/reagent_containers/food/snacks/deepfryholder/Destroy() - if(trash) - QDEL_NULL(trash) - . = ..() - -/obj/item/reagent_containers/food/snacks/deepfryholder/On_Consume(mob/living/eater) - if(fried_garbage && GLOB.frying_hardmode && GLOB.frying_bad_chems.len) - var/R = rand(1, GLOB.frying_bad_chems.len) - var/bad_chem = GLOB.frying_bad_chems[R] - var/bad_chem_amount = GLOB.frying_bad_chems[bad_chem] - eater.reagents.add_reagent(bad_chem, bad_chem_amount) - //All fried inedible items also get condensed cooking oil added, which induces minor vomiting and heart damage - eater.reagents.add_reagent(/datum/reagent/toxin/condensed_cooking_oil, 2) - if(trash) - QDEL_NULL(trash) - ..() - -/obj/item/reagent_containers/food/snacks/deepfryholder/proc/fry(cook_time = 30) - switch(cook_time) - if(0 to 15) - add_atom_colour(rgb(166,103,54), FIXED_COLOUR_PRIORITY) - name = "lightly-fried [name]" - desc = "[desc] It's been lightly fried in a deep fryer." - adjust_food_quality(food_quality - 5) - if(16 to 49) - add_atom_colour(rgb(103,63,24), FIXED_COLOUR_PRIORITY) - name = "fried [name]" - desc = "[desc] It's been fried, increasing its tastiness value by [rand(1, 75)]%." - adjust_food_quality(food_quality - 10) - if(50 to 59) - add_atom_colour(rgb(63,23,4), FIXED_COLOUR_PRIORITY) - name = "deep-fried [name]" - desc = "[desc] Deep-fried to perfection." - adjust_food_quality(food_quality) //we shouldn't punish perfection in the fried arts - if(60 to INFINITY) - add_atom_colour(rgb(33,19,9), FIXED_COLOUR_PRIORITY) - name = "the physical manifestation of the very concept of fried foods" - desc = "A heavily-fried...something. Who can tell anymore?" - adjust_food_quality(0) //good job, you're truly the best cook. - filling_color = color - foodtype |= FRIED - /obj/item/reagent_containers/food/snacks/butteredtoast name = "buttered toast" desc = "Butter lightly spread over a piece of toast." diff --git a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm index d05f0b334f..5cb5a59afb 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm @@ -29,7 +29,7 @@ God bless America. use_power = IDLE_POWER_USE idle_power_usage = 5 layer = BELOW_OBJ_LAYER - var/obj/item/reagent_containers/food/snacks/deepfryholder/frying //What's being fried RIGHT NOW? + var/obj/item/frying //What's being fried RIGHT NOW? var/cook_time = 0 var/oil_use = 0.05 //How much cooking oil is used per tick var/fry_speed = 1 //How quickly we fry food @@ -91,7 +91,7 @@ God bless America. if(I.resistance_flags & INDESTRUCTIBLE) to_chat(user, "You don't feel it would be wise to fry [I]...") return - if(istype(I, /obj/item/reagent_containers/food/snacks/deepfryholder)) + if(I.GetComponent(/datum/component/fried)) to_chat(user, "Your cooking skills are not up to the legendary Doublefry technique.") return if(default_unfasten_wrench(user, I)) @@ -102,14 +102,8 @@ God bless America. if(is_type_in_typecache(I, deepfry_blacklisted_items) || HAS_TRAIT(I, TRAIT_NODROP) || (I.item_flags & (ABSTRACT | DROPDEL))) return ..() else if(!frying && user.transferItemToLoc(I, src)) + frying = I to_chat(user, "You put [I] into [src].") - frying = new/obj/item/reagent_containers/food/snacks/deepfryholder(src, I) - //setup food quality for item depending on if it's edible or not - if(isfood(I)) - var/obj/item/reagent_containers/food/original_food = I - frying.adjust_food_quality(original_food.food_quality) //food quality remains unchanged until degree of frying is calculated - else - frying.adjust_food_quality(10) //inedible fried item has low quality icon_state = "fryer_on" fry_loop.start() diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index f80cd10792..982ef85328 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -115,11 +115,11 @@ /datum/reagent/consumable/cooking_oil/reaction_obj(obj/O, reac_volume) if(holder && holder.chem_temp >= fry_temperature) - if(isitem(O) && !istype(O, /obj/item/reagent_containers/food/snacks/deepfryholder) && !(O.resistance_flags & (FIRE_PROOF|INDESTRUCTIBLE))) + if(isitem(O) && !O.GetComponent(/datum/component/fried) && !(O.resistance_flags & (FIRE_PROOF|INDESTRUCTIBLE)) && !O.reagents) //don't fry stuff we shouldn't O.loc.visible_message("[O] rapidly fries as it's splashed with hot oil! Somehow.") - var/obj/item/reagent_containers/food/snacks/deepfryholder/F = new(O.drop_location(), O) - F.fry(volume) - F.reagents.add_reagent(/datum/reagent/consumable/cooking_oil, reac_volume) + O.fry(volume) + if(O.reagents) + O.reagents.add_reagent(/datum/reagent/consumable/cooking_oil, reac_volume) /datum/reagent/consumable/cooking_oil/reaction_mob(mob/living/M, method = TOUCH, reac_volume, show_message = 1, touch_protection = 0) if(!istype(M)) diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm index ead47e2a42..2c3f25e73a 100644 --- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm +++ b/code/modules/reagents/chemistry/recipes/slime_extracts.dm @@ -165,10 +165,7 @@ var/chosen = getbork() var/obj/B = new chosen(T) if(prob(5))//Fry it! - var/obj/item/reagent_containers/food/snacks/deepfryholder/fried - fried = new(T, B) - fried.fry() // actually set the name and colour it - B = fried + B.fry() // actually set the name and colour it if(prob(50)) for(var/j in 1 to rand(1, 3)) step(B, pick(NORTH,SOUTH,EAST,WEST)) diff --git a/tgstation.dme b/tgstation.dme index 9314992c5f..2c5d30e2b7 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -415,6 +415,7 @@ #include "code\datums\components\explodable.dm" #include "code\datums\components\field_of_vision.dm" #include "code\datums\components\footstep.dm" +#include "code\datums\components\fried.dm" #include "code\datums\components\identification.dm" #include "code\datums\components\igniter.dm" #include "code\datums\components\infective.dm" From c052e79e855558a4e9c676f82104726ea86dbf53 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Sun, 19 Jul 2020 18:43:03 -0500 Subject: [PATCH 49/75] Automatic changelog generation for PR #12810 [ci skip] --- html/changelogs/AutoChangeLog-pr-12810.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12810.yml diff --git a/html/changelogs/AutoChangeLog-pr-12810.yml b/html/changelogs/AutoChangeLog-pr-12810.yml new file mode 100644 index 0000000000..c68ca0a0bd --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12810.yml @@ -0,0 +1,5 @@ +author: "lolman360" +delete-after: True +changes: + - tweak: "Service borgs now have synthesizers instead of a violin and guitar." + - bugfix: "borg RSF" From e2b68797b7be38e3f60047b3e8cc4048b2c845e3 Mon Sep 17 00:00:00 2001 From: timothyteakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Mon, 20 Jul 2020 00:49:00 +0100 Subject: [PATCH 50/75] bugfixes --- code/datums/components/fried.dm | 2 +- code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm | 2 ++ code/modules/reagents/chemistry/reagents/food_reagents.dm | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/code/datums/components/fried.dm b/code/datums/components/fried.dm index 3e4b78a1a6..6fec887a28 100644 --- a/code/datums/components/fried.dm +++ b/code/datums/components/fried.dm @@ -31,7 +31,7 @@ GLOBAL_LIST_INIT(frying_bad_chems, list( )) /datum/component/fried/proc/examine(datum/source, mob/user, list/examine_list) - examine_list += "The [parent] has been [frying_examine_text]" + examine_list += "[parent] has been [frying_examine_text]" /datum/component/fried/proc/setup_fried_item() //sets the name, colour and examine text and edibility up switch(fry_power) diff --git a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm index 5cb5a59afb..f3c63c1ba2 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm @@ -98,6 +98,8 @@ God bless America. return else if(default_deconstruction_screwdriver(user, "fryer_off", "fryer_off" ,I)) //where's the open maint panel icon?! return + else if(I.reagents && !isfood(I)) + return else if(is_type_in_typecache(I, deepfry_blacklisted_items) || HAS_TRAIT(I, TRAIT_NODROP) || (I.item_flags & (ABSTRACT | DROPDEL))) return ..() diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index 982ef85328..6acc4d5a64 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -115,7 +115,7 @@ /datum/reagent/consumable/cooking_oil/reaction_obj(obj/O, reac_volume) if(holder && holder.chem_temp >= fry_temperature) - if(isitem(O) && !O.GetComponent(/datum/component/fried) && !(O.resistance_flags & (FIRE_PROOF|INDESTRUCTIBLE)) && !O.reagents) //don't fry stuff we shouldn't + if(isitem(O) && !O.GetComponent(/datum/component/fried) && !(O.resistance_flags & (FIRE_PROOF|INDESTRUCTIBLE)) && (!O.reagents || isfood(O))) //don't fry stuff we shouldn't O.loc.visible_message("[O] rapidly fries as it's splashed with hot oil! Somehow.") O.fry(volume) if(O.reagents) From 2af449a3c7f959cd0bb97df06ad54c14cd5f6c85 Mon Sep 17 00:00:00 2001 From: Funce Date: Mon, 20 Jul 2020 11:55:23 +1200 Subject: [PATCH 51/75] Fixes genewebs being impossibly impassable --- code/game/objects/effects/spiders.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm index be0faccf5b..8d50d822f7 100644 --- a/code/game/objects/effects/spiders.dm +++ b/code/game/objects/effects/spiders.dm @@ -38,7 +38,7 @@ /obj/structure/spider/stickyweb/CanPass(atom/movable/mover, turf/target) if (genetic) - return + return TRUE if(istype(mover, /mob/living/simple_animal/hostile/poison/giant_spider)) return TRUE else if(isliving(mover)) From 809b9d8d35a9b4322b0bcbd4785d0cc859ecde0f Mon Sep 17 00:00:00 2001 From: Changelogs Date: Mon, 20 Jul 2020 00:10:32 +0000 Subject: [PATCH 52/75] Automatic changelog compile [ci skip] --- html/changelog.html | 7 +++++++ html/changelogs/.all_changelog.yml | 4 ++++ html/changelogs/AutoChangeLog-pr-12810.yml | 5 ----- 3 files changed, 11 insertions(+), 5 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-12810.yml diff --git a/html/changelog.html b/html/changelog.html index 33ff04b891..28a790a46f 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -50,6 +50,13 @@ -->
    +

    20 July 2020

    +

    lolman360 updated:

    +
      +
    • Service borgs now have synthesizers instead of a violin and guitar.
    • +
    • borg RSF
    • +
    +

    19 July 2020

    Arturlang updated:

      diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 7f5d343069..97a1f5fda8 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -26417,3 +26417,7 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. zeroisthebiggay: - tweak: martial arts twenty minpop - bugfix: records +2020-07-20: + lolman360: + - tweak: Service borgs now have synthesizers instead of a violin and guitar. + - bugfix: borg RSF diff --git a/html/changelogs/AutoChangeLog-pr-12810.yml b/html/changelogs/AutoChangeLog-pr-12810.yml deleted file mode 100644 index c68ca0a0bd..0000000000 --- a/html/changelogs/AutoChangeLog-pr-12810.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "lolman360" -delete-after: True -changes: - - tweak: "Service borgs now have synthesizers instead of a violin and guitar." - - bugfix: "borg RSF" From 0c07faa3e0c9b388843156271fc8296774b80f64 Mon Sep 17 00:00:00 2001 From: Funce Date: Mon, 20 Jul 2020 12:22:18 +1200 Subject: [PATCH 53/75] For future reference, '.' return overrides 'return' statements --- code/game/objects/effects/spiders.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm index 8d50d822f7..745b281d2a 100644 --- a/code/game/objects/effects/spiders.dm +++ b/code/game/objects/effects/spiders.dm @@ -38,7 +38,7 @@ /obj/structure/spider/stickyweb/CanPass(atom/movable/mover, turf/target) if (genetic) - return TRUE + return if(istype(mover, /mob/living/simple_animal/hostile/poison/giant_spider)) return TRUE else if(isliving(mover)) @@ -69,6 +69,7 @@ if(prob(50)) to_chat(mover, "You get stuck in \the [src] for a moment.") return FALSE + return TRUE else if(istype(mover, /obj/item/projectile)) return prob(30) From 64d5bd003009f58e9033777e96a12d602d7fbd06 Mon Sep 17 00:00:00 2001 From: Chiirno Date: Sun, 19 Jul 2020 21:38:44 -0300 Subject: [PATCH 54/75] switches around messages --- code/game/objects/items/storage/firstaid.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/objects/items/storage/firstaid.dm b/code/game/objects/items/storage/firstaid.dm index 34c1a6b280..ea88f80304 100644 --- a/code/game/objects/items/storage/firstaid.dm +++ b/code/game/objects/items/storage/firstaid.dm @@ -240,9 +240,9 @@ SEND_SIGNAL(src, COMSIG_TRY_STORAGE_TAKE, P, user) if(!user.put_in_hands(P)) P.forceMove(user.drop_location()) // make sure it's not stuck in the user if the put in hands somehow fails - to_chat(user, "You take \a [P] out of [src].") - else to_chat(user, "[P] drops to the floor!") + else + to_chat(user, "You take \a [P] out of [src].") else to_chat(user, "There are no pills left in the bottle.") return TRUE From eab0ae8af0bbb5402e4d06e8e240e672dc6a12c1 Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Mon, 20 Jul 2020 17:20:54 +0100 Subject: [PATCH 55/75] small changes --- code/modules/food_and_drinks/food/snacks.dm | 7 ++++++- .../chemistry/reagents/food_reagents.dm | 5 ++--- .../chemistry/reagents/toxin_reagents.dm | 19 ------------------- 3 files changed, 8 insertions(+), 23 deletions(-) diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index 7c2cba0c95..3c26ff7048 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -409,5 +409,10 @@ All foods are distributed among various categories. Use common sense. // //////////////////////////////////////////////Frying//////////////////////////////////////// /atom/proc/fry(cook_time = 30) //you can truly fry anything - if(!GetComponent(/datum/component/fried)) + //don't fry reagent containers that aren't food items, indestructable items, or items that are already fried + if(isitem(src)) + var/obj/item/fried_item = src + if(fried_item.resistance_flags & INDESTRUCTIBLE) + return + if(!GetComponent(/datum/component/fried) && (!reagents || isfood(src))) AddComponent(/datum/component/fried, frying_power = cook_time) diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index 6acc4d5a64..d449fa310c 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -141,10 +141,9 @@ /datum/reagent/consumable/cooking_oil/reaction_turf(turf/open/T, reac_volume) if(!istype(T) || isgroundlessturf(T)) return - if(reac_volume >= 5) + if(reac_volume >= 5 && holder && holder.chem_temp >= fry_temperature) T.MakeSlippery(TURF_WET_LUBE, min_wet_time = 10 SECONDS, wet_time_to_add = reac_volume * 1.5 SECONDS) - T.name = "deep-fried [initial(T.name)]" - T.add_atom_colour(color, TEMPORARY_COLOUR_PRIORITY) + T.fry(reac_volume/4) /datum/reagent/consumable/sugar name = "Sugar" diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index 02e4a89e1d..c7add16fcf 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -520,25 +520,6 @@ taste_description = "bad cooking" value = REAGENT_VALUE_NONE -/datum/reagent/toxin/condensed_cooking_oil - name = "Condensed Cooking Oil" - description = "Taste the consequences of your mistakes." - reagent_state = LIQUID - color = "#d6d6d8" - metabolization_rate = 0.25 * REAGENTS_METABOLISM - toxpwr = 0 - taste_mult = -2 - taste_description = "awful cooking" - value = REAGENT_VALUE_NONE - -/datum/reagent/toxin/condensed_cooking_oil/on_mob_life(mob/living/carbon/M) - if(prob(5)) - M.vomit() - else - if(prob(40)) - M.adjustOrganLoss(ORGAN_SLOT_HEART, 0.5) //For reference, bungotoxin does 3 - ..() - /datum/reagent/toxin/itching_powder name = "Itching Powder" description = "A powder that induces itching upon contact with the skin. Causes the victim to scratch at their itches and has a very low chance to decay into Histamine." From c68f0559d9f72dace49edfa01652937e36eb9f9e Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Mon, 20 Jul 2020 17:29:09 +0100 Subject: [PATCH 56/75] old instant eating speed --- code/datums/components/fried.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/components/fried.dm b/code/datums/components/fried.dm index 6fec887a28..eb06fbde8f 100644 --- a/code/datums/components/fried.dm +++ b/code/datums/components/fried.dm @@ -65,7 +65,7 @@ GLOBAL_LIST_INIT(frying_bad_chems, list( fried_tastes += food_item.tastes fried_foodtypes |= food_item.foodtype - owner.AddComponent(/datum/component/edible, foodtypes = fried_tastes, tastes = fried_tastes) + owner.AddComponent(/datum/component/edible, foodtypes = fried_tastes, tastes = fried_tastes, eat_time = 0) //adding the edible component gives it reagents meaning we can now add the bad frying reagents if it's junk if(fried_junk && owner.reagents) //check again just incase From a0c166c4901ef9ca64e05561dc151501987bb82a Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Mon, 20 Jul 2020 17:43:58 +0100 Subject: [PATCH 57/75] badmin safeguarding --- code/datums/components/fried.dm | 54 +++++++++++++++++++++------------ 1 file changed, 35 insertions(+), 19 deletions(-) diff --git a/code/datums/components/fried.dm b/code/datums/components/fried.dm index eb06fbde8f..c0ffa8cd0f 100644 --- a/code/datums/components/fried.dm +++ b/code/datums/components/fried.dm @@ -13,6 +13,7 @@ return COMPONENT_INCOMPATIBLE RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/examine) + RegisterSignal(parent, COMSIG_COMPONENT_CLEAN_ACT, .proc/restore) //basically, unfry people who are being cleaned (badmemes fried someone) fry_power = frying_power owner = parent @@ -34,24 +35,7 @@ GLOBAL_LIST_INIT(frying_bad_chems, list( examine_list += "[parent] has been [frying_examine_text]" /datum/component/fried/proc/setup_fried_item() //sets the name, colour and examine text and edibility up - switch(fry_power) - if(0 to 15) - owner.name = "lightly fried [owner.name]" - owner.add_atom_colour(rgb(166,103,54), FIXED_COLOUR_PRIORITY) - frying_examine_text = "lightly fried" - if(16 to 49) - owner.name = "fried [owner.name]" - owner.add_atom_colour(rgb(103,63,24), FIXED_COLOUR_PRIORITY) - frying_examine_text = "moderately fried" - if(50 to 59) - owner.name = "deep fried [owner.name]" - owner.add_atom_colour(rgb(63,23,4), FIXED_COLOUR_PRIORITY) - frying_examine_text = "deeply fried" - else - owner.name = "the physical manifestation of fried foods" - owner.add_atom_colour(rgb(33,19,9), FIXED_COLOUR_PRIORITY) - frying_examine_text = "incomprehensibly fried to a crisp" - + //first we do some checks depending on the type of item being fried var/list/fried_tastes = list("crispy") var/fried_foodtypes = FRIED var/fried_junk = FALSE @@ -65,7 +49,33 @@ GLOBAL_LIST_INIT(frying_bad_chems, list( fried_tastes += food_item.tastes fried_foodtypes |= food_item.foodtype - owner.AddComponent(/datum/component/edible, foodtypes = fried_tastes, tastes = fried_tastes, eat_time = 0) + var/fried_eat_time = 0 + if(isturf(owner)) + fried_eat_time = 30 //we want turfs to be eaten slowly + + var/colour_priority = FIXED_COLOUR_PRIORITY + if(ismob(owner)) + colour_priority = WASHABLE_COLOUR_PRIORITY //badmins fried someone and we want to let them wash the fry colour off + else + owner.AddComponent(/datum/component/edible, foodtypes = fried_tastes, tastes = fried_tastes, eat_time = fried_eat_time) //we don't want mobs to get the edible component + + switch(fry_power) + if(0 to 15) + owner.name = "lightly fried [owner.name]" + owner.add_atom_colour(rgb(166,103,54), colour_priority) + frying_examine_text = "lightly fried" + if(16 to 49) + owner.name = "fried [owner.name]" + owner.add_atom_colour(rgb(103,63,24), colour_priority) + frying_examine_text = "moderately fried" + if(50 to 59) + owner.name = "deep fried [owner.name]" + owner.add_atom_colour(rgb(63,23,4), colour_priority) + frying_examine_text = "deeply fried" + else + owner.name = "the physical manifestation of fried foods" + owner.add_atom_colour(rgb(33,19,9), colour_priority) + frying_examine_text = "incomprehensibly fried to a crisp" //adding the edible component gives it reagents meaning we can now add the bad frying reagents if it's junk if(fried_junk && owner.reagents) //check again just incase @@ -87,3 +97,9 @@ GLOBAL_LIST_INIT(frying_bad_chems, list( else if(owner.name == "the physical manifestation of fried foods") //if the name is still this, their name hasn't changed, so we can safely restore their stored name owner.name = stored_name + +/datum/component/fried/proc/restore() //restore a fried mob to being not-fried + if(ismob(owner)) + //restore the name, the colour should wash off itself, and then remove the component + restore_name() + RemoveComponent() From b06948bed4eb8f9d9a87476acb596fa85f8ca2fa Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Mon, 20 Jul 2020 17:48:37 +0100 Subject: [PATCH 58/75] fry smite --- code/__DEFINES/admin.dm | 1 + code/datums/components/fried.dm | 2 ++ code/modules/admin/verbs/randomverbs.dm | 16 +++++++++++++++- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/code/__DEFINES/admin.dm b/code/__DEFINES/admin.dm index 054a8e36eb..6a0cd3b8ee 100644 --- a/code/__DEFINES/admin.dm +++ b/code/__DEFINES/admin.dm @@ -75,6 +75,7 @@ #define ADMIN_PUNISHMENT_PIE "Cream Pie" #define ADMIN_PUNISHMENT_CUSTOM_PIE "Custom Cream Pie" #define ADMIN_PUNISHMENT_PICKLE "Pickle-ify" +#define ADMIN_PUNISHMENT_FRY "Fry" #define AHELP_ACTIVE 1 #define AHELP_CLOSED 2 diff --git a/code/datums/components/fried.dm b/code/datums/components/fried.dm index c0ffa8cd0f..4e21962778 100644 --- a/code/datums/components/fried.dm +++ b/code/datums/components/fried.dm @@ -56,6 +56,8 @@ GLOBAL_LIST_INIT(frying_bad_chems, list( var/colour_priority = FIXED_COLOUR_PRIORITY if(ismob(owner)) colour_priority = WASHABLE_COLOUR_PRIORITY //badmins fried someone and we want to let them wash the fry colour off + //lets heavily hint at how to undo their frying + to_chat(owner, "You've been coated in hot cooking oil! You should probably go wash it off at the showers.") else owner.AddComponent(/datum/component/edible, foodtypes = fried_tastes, tastes = fried_tastes, eat_time = fried_eat_time) //we don't want mobs to get the edible component diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 9b36fd7a2a..5027e8fe51 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -1269,7 +1269,19 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits if(!check_rights(R_ADMIN) || !check_rights(R_FUN)) return - var/list/punishment_list = list(ADMIN_PUNISHMENT_PIE, ADMIN_PUNISHMENT_CUSTOM_PIE, ADMIN_PUNISHMENT_FIREBALL, ADMIN_PUNISHMENT_LIGHTNING, ADMIN_PUNISHMENT_BRAINDAMAGE, ADMIN_PUNISHMENT_BSA, ADMIN_PUNISHMENT_GIB, ADMIN_PUNISHMENT_SUPPLYPOD_QUICK, ADMIN_PUNISHMENT_SUPPLYPOD, ADMIN_PUNISHMENT_MAZING, ADMIN_PUNISHMENT_ROD, ADMIN_PUNISHMENT_PICKLE) + var/list/punishment_list = list(ADMIN_PUNISHMENT_PIE, + ADMIN_PUNISHMENT_CUSTOM_PIE, + ADMIN_PUNISHMENT_FIREBALL, + ADMIN_PUNISHMENT_LIGHTNING, + ADMIN_PUNISHMENT_BRAINDAMAGE, + ADMIN_PUNISHMENT_BSA, + ADMIN_PUNISHMENT_GIB, + ADMIN_PUNISHMENT_SUPPLYPOD_QUICK, + ADMIN_PUNISHMENT_SUPPLYPOD, + ADMIN_PUNISHMENT_MAZING, + ADMIN_PUNISHMENT_ROD, + ADMIN_PUNISHMENT_PICKLE, + ADMIN_PUNISHMENT_FRY) var/punishment = input("Choose a punishment", "DIVINE SMITING") as null|anything in punishment_list @@ -1349,6 +1361,8 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits A.splat(target) if(ADMIN_PUNISHMENT_PICKLE) target.turn_into_pickle() + if(ADMIN_PUNISHMENT_FRY) + target.fry() punish_log(target, punishment) From 57126cba74e620b170f3a8945a12501ff7231006 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 20 Jul 2020 12:49:12 -0500 Subject: [PATCH 59/75] Automatic changelog generation for PR #12830 [ci skip] --- html/changelogs/AutoChangeLog-pr-12830.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12830.yml diff --git a/html/changelogs/AutoChangeLog-pr-12830.yml b/html/changelogs/AutoChangeLog-pr-12830.yml new file mode 100644 index 0000000000..c6b05a73be --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12830.yml @@ -0,0 +1,4 @@ +author: "Funce" +delete-after: True +changes: + - bugfix: "Genetics spiderwebs are no longer impassable walls" From 4b70e29e36b46df9bc6ad602f0c7feec6842e8dd Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Mon, 20 Jul 2020 19:42:07 +0100 Subject: [PATCH 60/75] let the fry smite work --- code/modules/food_and_drinks/food/snacks.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/food_and_drinks/food/snacks.dm b/code/modules/food_and_drinks/food/snacks.dm index 3c26ff7048..adb8e47c94 100644 --- a/code/modules/food_and_drinks/food/snacks.dm +++ b/code/modules/food_and_drinks/food/snacks.dm @@ -414,5 +414,5 @@ All foods are distributed among various categories. Use common sense. var/obj/item/fried_item = src if(fried_item.resistance_flags & INDESTRUCTIBLE) return - if(!GetComponent(/datum/component/fried) && (!reagents || isfood(src))) + if(!GetComponent(/datum/component/fried) && (!reagents || isfood(src) || ismob(src))) AddComponent(/datum/component/fried, frying_power = cook_time) From 2351e464d640f402c115142fea3589cfc85d3e3a Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 20 Jul 2020 18:15:42 -0500 Subject: [PATCH 61/75] Automatic changelog generation for PR #12646 [ci skip] --- html/changelogs/AutoChangeLog-pr-12646.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12646.yml diff --git a/html/changelogs/AutoChangeLog-pr-12646.yml b/html/changelogs/AutoChangeLog-pr-12646.yml new file mode 100644 index 0000000000..157e124c60 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12646.yml @@ -0,0 +1,5 @@ +author: "Chiirno" +delete-after: True +changes: + - rscadd: "Alt-click pill bottles places top-most pill into active hand." + - tweak: "Moved dice bags from pill_bottle/dice to box/dice to avoid dice bags being affected from medical specific pill bottle changes." From 0ef5753a92dff8dc932cbd6a77418d63e4e7966b Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 20 Jul 2020 18:17:48 -0500 Subject: [PATCH 62/75] Automatic changelog generation for PR #12728 [ci skip] --- html/changelogs/AutoChangeLog-pr-12728.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12728.yml diff --git a/html/changelogs/AutoChangeLog-pr-12728.yml b/html/changelogs/AutoChangeLog-pr-12728.yml new file mode 100644 index 0000000000..9a4bfb5716 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12728.yml @@ -0,0 +1,4 @@ +author: "silicons" +delete-after: True +changes: + - rscadd: "voting can now be done from the stat panel if the system is plurality and approval" From 401eeafa82ddedc3e5c39a11d43ad6d3a46c22a8 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 20 Jul 2020 18:18:24 -0500 Subject: [PATCH 63/75] Automatic changelog generation for PR #12766 [ci skip] --- html/changelogs/AutoChangeLog-pr-12766.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12766.yml diff --git a/html/changelogs/AutoChangeLog-pr-12766.yml b/html/changelogs/AutoChangeLog-pr-12766.yml new file mode 100644 index 0000000000..38af0da8f9 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12766.yml @@ -0,0 +1,4 @@ +author: "silicons" +delete-after: True +changes: + - imageadd: ":dsmile: :dfrown: :dhsmile: :dpog: :dneutral:" From a810a1dc6348005ca85330c2a0ef1114a9d0c2ed Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 20 Jul 2020 18:20:12 -0500 Subject: [PATCH 64/75] Automatic changelog generation for PR #12786 [ci skip] --- html/changelogs/AutoChangeLog-pr-12786.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12786.yml diff --git a/html/changelogs/AutoChangeLog-pr-12786.yml b/html/changelogs/AutoChangeLog-pr-12786.yml new file mode 100644 index 0000000000..159adc79fb --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12786.yml @@ -0,0 +1,6 @@ +author: "silicons" +delete-after: True +changes: + - tweak: "survivalists (from summon guns/magic) are proper objective'd pseudoantagonists again" + - tweak: "summon guns/magic can only be used once each" + - tweak: "summon guns/magic now only cost one point each" From ffde1709ea73d4f67457fd65e7064fbcf65ff71f Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 20 Jul 2020 18:21:59 -0500 Subject: [PATCH 65/75] Automatic changelog generation for PR #12823 [ci skip] --- html/changelogs/AutoChangeLog-pr-12823.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12823.yml diff --git a/html/changelogs/AutoChangeLog-pr-12823.yml b/html/changelogs/AutoChangeLog-pr-12823.yml new file mode 100644 index 0000000000..f189b3d288 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12823.yml @@ -0,0 +1,4 @@ +author: "silicons" +delete-after: True +changes: + - bugfix: "gravity should update for mobs a fair bit faster" From 2ec64f3e055e5e56bb4661c01ceba7455fe6c804 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Mon, 20 Jul 2020 16:50:56 -0700 Subject: [PATCH 66/75] Update wizard.dm --- code/modules/spells/spell_types/wizard.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/spells/spell_types/wizard.dm b/code/modules/spells/spell_types/wizard.dm index b104c2182a..13c47ab9ac 100644 --- a/code/modules/spells/spell_types/wizard.dm +++ b/code/modules/spells/spell_types/wizard.dm @@ -371,7 +371,7 @@ if(isliving(hit_atom)) var/mob/living/M = hit_atom if(!M.anti_magic_check()) - M.electrocute_act(80, src, SHOCK_ILLUSION) + M.electrocute_act(80, src, null, SHOCK_ILLUSION) qdel(src) /obj/item/spellpacket/lightningbolt/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback) From 2e09ecee4c83b3ccfaffb0e4ae1e2c21a509c577 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 20 Jul 2020 18:54:28 -0500 Subject: [PATCH 67/75] Automatic changelog generation for PR #12749 [ci skip] --- html/changelogs/AutoChangeLog-pr-12749.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12749.yml diff --git a/html/changelogs/AutoChangeLog-pr-12749.yml b/html/changelogs/AutoChangeLog-pr-12749.yml new file mode 100644 index 0000000000..00c32485ee --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12749.yml @@ -0,0 +1,4 @@ +author: "TheSpaghetti" +delete-after: True +changes: + - rscadd: "new snowflake trait" From ef9a757a825f25444576e7a1b1c2ff336efaae5d Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 20 Jul 2020 18:55:03 -0500 Subject: [PATCH 68/75] Automatic changelog generation for PR #12800 [ci skip] --- html/changelogs/AutoChangeLog-pr-12800.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12800.yml diff --git a/html/changelogs/AutoChangeLog-pr-12800.yml b/html/changelogs/AutoChangeLog-pr-12800.yml new file mode 100644 index 0000000000..020a216e8b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12800.yml @@ -0,0 +1,4 @@ +author: "DeltaFire15" +delete-after: True +changes: + - bugfix: "Swarmers can once again eat items as long as there's nothing living in them." From 38557d0b2974ee009ab891e05dcdae924d161ae1 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 20 Jul 2020 18:55:41 -0500 Subject: [PATCH 69/75] Automatic changelog generation for PR #12804 [ci skip] --- html/changelogs/AutoChangeLog-pr-12804.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12804.yml diff --git a/html/changelogs/AutoChangeLog-pr-12804.yml b/html/changelogs/AutoChangeLog-pr-12804.yml new file mode 100644 index 0000000000..05eff30c77 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12804.yml @@ -0,0 +1,4 @@ +author: "Arturlang" +delete-after: True +changes: + - bugfix: "Decal painter ui now works, yay?" From 53e18d0314c968ac2040e8f9a42fd8461f5e9f46 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 20 Jul 2020 18:56:25 -0500 Subject: [PATCH 70/75] Automatic changelog generation for PR #12826 [ci skip] --- html/changelogs/AutoChangeLog-pr-12826.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12826.yml diff --git a/html/changelogs/AutoChangeLog-pr-12826.yml b/html/changelogs/AutoChangeLog-pr-12826.yml new file mode 100644 index 0000000000..323c8a38e0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12826.yml @@ -0,0 +1,4 @@ +author: "Kraseo" +delete-after: True +changes: + - balance: "Damp rags no longer instantly apply their chemicals onto someone." From 12a09bee5281552b4600b9031e3f059933e8d205 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 20 Jul 2020 18:56:59 -0500 Subject: [PATCH 71/75] Automatic changelog generation for PR #12805 [ci skip] --- html/changelogs/AutoChangeLog-pr-12805.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12805.yml diff --git a/html/changelogs/AutoChangeLog-pr-12805.yml b/html/changelogs/AutoChangeLog-pr-12805.yml new file mode 100644 index 0000000000..b652197755 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12805.yml @@ -0,0 +1,4 @@ +author: "SiliconMain" +delete-after: True +changes: + - tweak: "Geigers can no longer be contaminated" From 3efe9c8c0003d6a4b24cb8a22e70d71b0345f576 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 20 Jul 2020 18:57:27 -0500 Subject: [PATCH 72/75] Automatic changelog generation for PR #12807 [ci skip] --- html/changelogs/AutoChangeLog-pr-12807.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12807.yml diff --git a/html/changelogs/AutoChangeLog-pr-12807.yml b/html/changelogs/AutoChangeLog-pr-12807.yml new file mode 100644 index 0000000000..a13e58d896 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12807.yml @@ -0,0 +1,4 @@ +author: "kappa-sama" +delete-after: True +changes: + - tweak: "quartered the weight of the stray cargo pod event from 2x normal to 1/2 normal" From 8c254744bf22389ef4373a5ac3d542dd1b4d1e87 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 20 Jul 2020 18:58:05 -0500 Subject: [PATCH 73/75] Automatic changelog generation for PR #12811 [ci skip] --- html/changelogs/AutoChangeLog-pr-12811.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12811.yml diff --git a/html/changelogs/AutoChangeLog-pr-12811.yml b/html/changelogs/AutoChangeLog-pr-12811.yml new file mode 100644 index 0000000000..3db0c85533 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12811.yml @@ -0,0 +1,4 @@ +author: "kappa-sama" +delete-after: True +changes: + - balance: "advanced surgery duffel bag no longer comes with a nukie medkit. it costs 4 less telecrystals to make up for this colossal nerf." From 9ea17928a5bc760eb87d3e51b834c2bc04f528ad Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 20 Jul 2020 18:59:40 -0500 Subject: [PATCH 74/75] Automatic changelog generation for PR #12829 [ci skip] --- html/changelogs/AutoChangeLog-pr-12829.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12829.yml diff --git a/html/changelogs/AutoChangeLog-pr-12829.yml b/html/changelogs/AutoChangeLog-pr-12829.yml new file mode 100644 index 0000000000..a666b5d3d2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12829.yml @@ -0,0 +1,5 @@ +author: "timothyteakettle" +delete-after: True +changes: + - rscadd: "new fried component used for frying objects" + - bugfix: "various frying bugs fixed such as being able to unfry items and frying turfs with cold cooking oil" From 9a798c7ba81264be678341df435d9fb0e40a831f Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 20 Jul 2020 19:01:36 -0500 Subject: [PATCH 75/75] Automatic changelog generation for PR #12787 [ci skip] --- html/changelogs/AutoChangeLog-pr-12787.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12787.yml diff --git a/html/changelogs/AutoChangeLog-pr-12787.yml b/html/changelogs/AutoChangeLog-pr-12787.yml new file mode 100644 index 0000000000..9ecd6fd3be --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12787.yml @@ -0,0 +1,6 @@ +author: "CameronWoof" +delete-after: True +changes: + - rscadd: "Adds aloe, a new growable plant" + - rscadd: "Adds medicated sutures and advanced regenerative meshes" + - bugfix: "Polypyrylium oligomers and liquid electricity now correctly populate"