diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index d91dd5b7c8..9877f5b259 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -13347,7 +13347,6 @@ pixel_y = 32 }, /obj/structure/sink{ - dir = 1; pixel_y = 25 }, /obj/machinery/button/door{ @@ -14233,7 +14232,6 @@ pixel_y = 32 }, /obj/structure/sink{ - dir = 1; pixel_y = 25 }, /obj/machinery/button/door{ @@ -21718,7 +21716,6 @@ pixel_y = 32 }, /obj/structure/sink{ - dir = 1; pixel_y = 25 }, /obj/machinery/button/door{ @@ -53437,6 +53434,7 @@ "dfh" = ( /obj/machinery/power/apc{ areastring = "/area/science/circuit"; + dir = 4; name = "Circuitry Lab APC"; pixel_x = 30 }, @@ -54387,6 +54385,7 @@ /obj/structure/chair/office/dark{ dir = 1 }, +/obj/effect/landmark/start/atmospheric_technician, /turf/open/floor/plasteel, /area/engine/atmos) "fMp" = ( @@ -54776,7 +54775,6 @@ dir = 8 }, /obj/structure/sink{ - dir = 1; pixel_y = 25 }, /obj/structure/mirror{ @@ -57075,6 +57073,7 @@ dir = 4; pixel_y = 5 }, +/obj/item/clothing/head/hardhat/cakehat, /turf/open/floor/wood, /area/crew_quarters/bar) "oby" = ( @@ -57198,7 +57197,6 @@ dir = 8 }, /obj/structure/sink{ - dir = 1; pixel_y = 25 }, /obj/structure/mirror{ @@ -57847,7 +57845,6 @@ pixel_y = 32 }, /obj/structure/sink{ - dir = 1; pixel_y = 25 }, /turf/open/floor/mineral/titanium/blue, @@ -57910,7 +57907,6 @@ pixel_y = 32 }, /obj/structure/sink{ - dir = 1; pixel_y = 25 }, /obj/machinery/light/small{ @@ -60673,7 +60669,6 @@ pixel_y = 32 }, /obj/structure/sink{ - dir = 1; pixel_y = 25 }, /obj/machinery/button/door{ diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm index bf8c332cf0..fbe5b954ff 100644 --- a/_maps/map_files/KiloStation/KiloStation.dmm +++ b/_maps/map_files/KiloStation/KiloStation.dmm @@ -30475,6 +30475,7 @@ /obj/machinery/light{ dir = 1 }, +/obj/machinery/airalarm/directional/north, /turf/open/floor/plasteel/dark, /area/science/research) "aXx" = ( @@ -57345,9 +57346,7 @@ name = "landing marker"; picked_color = "Burgundy" }, -/turf/open/floor/plating/airless{ - initial_gas_mix = "o2=14;n2=23;TEMP=300" - }, +/turf/open/floor/plating/airless, /area/hallway/secondary/entry) "bOe" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ @@ -58565,9 +58564,7 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/airless{ - initial_gas_mix = "o2=14;n2=23;TEMP=300" - }, +/turf/open/floor/plating/airless, /area/hallway/secondary/entry) "bQb" = ( /obj/structure/flora/rock, @@ -58930,7 +58927,7 @@ dir = 8 }, /obj/machinery/power/apc{ - areastring = "/area/janitor"; + areastring = "/area/vacant_room/commissary"; dir = 4; name = "Vacant Commissary APC"; pixel_x = 27; @@ -61285,9 +61282,7 @@ name = "landing marker"; picked_color = "Burgundy" }, -/turf/open/floor/plating/airless{ - initial_gas_mix = "o2=14;n2=23;TEMP=300" - }, +/turf/open/floor/plating/airless, /area/hallway/secondary/entry) "bUk" = ( /obj/effect/turf_decal/tile/red, @@ -61567,9 +61562,7 @@ /turf/closed/wall, /area/engine/atmos) "bUN" = ( -/turf/open/floor/plating/airless{ - initial_gas_mix = "o2=14;n2=23;TEMP=300" - }, +/turf/open/floor/plating/airless, /area/hallway/secondary/entry) "bUP" = ( /obj/machinery/door/airlock/external{ @@ -67994,9 +67987,7 @@ name = "landing marker"; picked_color = "Burgundy" }, -/turf/open/floor/plating/airless{ - initial_gas_mix = "o2=14;n2=23;TEMP=300" - }, +/turf/open/floor/plating/airless, /area/hallway/secondary/entry) "ceV" = ( /obj/effect/turf_decal/tile/yellow{ @@ -68021,18 +68012,14 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/airless{ - initial_gas_mix = "o2=14;n2=23;TEMP=300" - }, +/turf/open/floor/plating/airless, /area/hallway/secondary/entry) "ceX" = ( /obj/machinery/light{ dir = 8 }, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/airless{ - initial_gas_mix = "o2=14;n2=23;TEMP=300" - }, +/turf/open/floor/plating/airless, /area/hallway/secondary/entry) "ceY" = ( /obj/machinery/airalarm{ @@ -68880,9 +68867,7 @@ /area/engine/engineering) "cgI" = ( /obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating/airless{ - initial_gas_mix = "o2=14;n2=23;TEMP=300" - }, +/turf/open/floor/plating/airless, /area/hallway/secondary/entry) "cgJ" = ( /obj/machinery/door/poddoor/preopen, @@ -80506,9 +80491,7 @@ /area/maintenance/fore) "cDp" = ( /obj/structure/lattice/catwalk, -/turf/open/floor/plating/airless{ - initial_gas_mix = "o2=14;n2=23;TEMP=300" - }, +/turf/open/floor/plating/airless, /area/hallway/secondary/entry) "cDq" = ( /obj/machinery/door/airlock/maintenance{ @@ -80896,9 +80879,6 @@ pixel_x = 4; pixel_y = 4 }, -/obj/item/storage/pill_bottle/dice{ - pixel_x = -4 - }, /obj/item/pen/red{ pixel_x = 4; pixel_y = 4 @@ -84920,9 +84900,7 @@ "jAT" = ( /obj/structure/lattice/catwalk, /obj/machinery/light, -/turf/open/floor/plating/airless{ - initial_gas_mix = "o2=14;n2=23;TEMP=300" - }, +/turf/open/floor/plating/airless, /area/hallway/secondary/entry) "jHJ" = ( /obj/machinery/atmospherics/pipe/simple/general/visible{ @@ -85370,9 +85348,7 @@ "rNm" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/lattice/catwalk, -/turf/open/floor/plating/airless{ - initial_gas_mix = "o2=14;n2=23;TEMP=300" - }, +/turf/open/floor/plating/airless, /area/hallway/secondary/entry) "swG" = ( /obj/item/reagent_containers/food/drinks/drinkingglass{ diff --git a/code/_onclick/telekinesis.dm b/code/_onclick/telekinesis.dm index 73d834dd64..f8a14b8c30 100644 --- a/code/_onclick/telekinesis.dm +++ b/code/_onclick/telekinesis.dm @@ -123,7 +123,7 @@ . = ..() if(!target || !user) return - if(!user.CheckActionCooldown()) + if(!user.CheckActionCooldown(CLICK_CD_MELEE)) return if(!focus) focus_object(target) @@ -146,7 +146,7 @@ else apply_focus_overlay() focus.throw_at(target, 10, 1,user) - user.DelayNextAction(immediate = FALSE) + user.DelayNextAction(considered_action = TRUE, flush = TRUE) update_icon() /proc/tkMaxRangeCheck(mob/user, atom/target) diff --git a/code/modules/antagonists/bloodsucker/bloodsucker_life.dm b/code/modules/antagonists/bloodsucker/bloodsucker_life.dm index cb6b2d8685..2d25ebb156 100644 --- a/code/modules/antagonists/bloodsucker/bloodsucker_life.dm +++ b/code/modules/antagonists/bloodsucker/bloodsucker_life.dm @@ -10,25 +10,24 @@ // // Show as dead when... -/datum/antagonist/bloodsucker/proc/LifeTick()// Should probably run from life.dm, same as handle_changeling, but will be an utter pain to move - var/notice_healing - while(owner && !AmFinalDeath()) // owner.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) == src - if(owner.current.stat == CONSCIOUS && !poweron_feed && !HAS_TRAIT(owner.current, TRAIT_FAKEDEATH)) // Deduct Blood - AddBloodVolume(passive_blood_drain) // -.1 currently - if(HandleHealing(1)) // Heal - if(!notice_healing && owner.current.blood_volume > 0) - to_chat(owner, "The power of your blood begins knitting your wounds...") - notice_healing = TRUE - else if(notice_healing == TRUE) - notice_healing = FALSE // Apply Low Blood Effects - HandleStarving() // Death - HandleDeath() // Standard Update - update_hud()// Daytime Sleep in Coffin - if(SSticker.mode.is_daylight() && !HAS_TRAIT_FROM(owner.current, TRAIT_FAKEDEATH, "bloodsucker")) - if(istype(owner.current.loc, /obj/structure/closet/crate/coffin)) - Torpor_Begin() - // Wait before next pass - sleep(10) +/datum/antagonist/bloodsucker/proc/LifeTick() //Runs from BiologicalLife, handles all the bloodsucker constant proccesses + if(!owner || AmFinalDeath()) + return + if(owner.current.stat == CONSCIOUS && !poweron_feed && !HAS_TRAIT(owner.current, TRAIT_FAKEDEATH)) // Deduct Blood + AddBloodVolume(passive_blood_drain) // -.1 currently + if(HandleHealing(1)) // Heal + if(!notice_healing && owner.current.blood_volume > 0) + to_chat(owner, "The power of your blood begins knitting your wounds...") + notice_healing = TRUE + else if(notice_healing) + notice_healing = FALSE // Apply Low Blood Effects + HandleStarving() // Death + HandleDeath() // Standard Update + update_hud()// Daytime Sleep in Coffin + if(SSticker.mode.is_daylight() && !HAS_TRAIT_FROM(owner.current, TRAIT_FAKEDEATH, "bloodsucker")) + if(istype(owner.current.loc, /obj/structure/closet/crate/coffin)) + Torpor_Begin() + // Wait before next pass FreeAllVassals() // Free my Vassals! (if I haven't yet) ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm index e111ca97ea..715de0648d 100644 --- a/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm +++ b/code/modules/antagonists/bloodsucker/datum_bloodsucker.dm @@ -37,6 +37,7 @@ var/had_toxlover var/level_bloodcost var/passive_blood_drain = -0.1 //The amount of blood we loose each bloodsucker life() tick + var/notice_healing //Var to see if you are healing for preventing spam of the chat message inform the user of such // LISTS var/static/list/defaultTraits = list (TRAIT_STABLEHEART, TRAIT_NOBREATH, TRAIT_SLEEPIMMUNE, TRAIT_NOCRITDAMAGE, TRAIT_RESISTCOLD, TRAIT_RADIMMUNE, TRAIT_NIGHT_VISION, \ TRAIT_NOSOFTCRIT, TRAIT_NOHARDCRIT, TRAIT_AGEUSIA, TRAIT_COLDBLOODED, TRAIT_NONATURALHEAL, TRAIT_NOMARROW, TRAIT_NOPULSE, TRAIT_VIRUSIMMUNE, TRAIT_NODECAP, TRAIT_NOGUT) diff --git a/code/modules/mob/living/blood.dm b/code/modules/mob/living/blood.dm index 56582386f1..36a6f6296b 100644 --- a/code/modules/mob/living/blood.dm +++ b/code/modules/mob/living/blood.dm @@ -14,7 +14,8 @@ var/obj/item/bodypart/BP = X temp_bleed += BP.get_bleed_rate() BP.generic_bleedstacks = max(0, BP.generic_bleedstacks - 1) - bleed(temp_bleed) + if(temp_bleed) + bleed(temp_bleed) //Blood regeneration if there is some space if(blood_volume < BLOOD_VOLUME_NORMAL) diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm index fb71693534..89321082c9 100644 --- a/code/modules/mob/living/life.dm +++ b/code/modules/mob/living/life.dm @@ -139,7 +139,7 @@ ExtinguishMob() return var/datum/gas_mixture/G = loc.return_air() // Check if we're standing in an oxygenless environment - if(G.get_moles(/datum/gas/oxygen, 1)) + if(!G.get_moles(/datum/gas/oxygen, 1)) ExtinguishMob() //If there's no oxygen in the tile we're on, put out the fire return var/turf/location = get_turf(src) diff --git a/code/modules/projectiles/guns/ballistic/toy.dm b/code/modules/projectiles/guns/ballistic/toy.dm index 5cdd773894..1f66cfdf8a 100644 --- a/code/modules/projectiles/guns/ballistic/toy.dm +++ b/code/modules/projectiles/guns/ballistic/toy.dm @@ -56,6 +56,7 @@ item_flags = NONE casing_ejector = FALSE can_suppress = FALSE + weapon_weight = WEAPON_MEDIUM /obj/item/gun/ballistic/shotgun/toy/process_chamber(mob/living/user, empty_chamber = 0) ..() diff --git a/html/changelogs/AutoChangeLog-pr-12952.yml b/html/changelogs/AutoChangeLog-pr-12952.yml new file mode 100644 index 0000000000..f8a26d739c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12952.yml @@ -0,0 +1,5 @@ +author: "dapnee" +delete-after: True +changes: + - tweak: "added cake hat to bar, adds another atmostech spawn" + - bugfix: "sinks point in the right direction, APC won't spawn off the wall in circuits" diff --git a/html/changelogs/AutoChangeLog-pr-12962.yml b/html/changelogs/AutoChangeLog-pr-12962.yml new file mode 100644 index 0000000000..ccb9512673 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12962.yml @@ -0,0 +1,4 @@ +author: "dapnee" +delete-after: True +changes: + - bugfix: "changes commissary APC so it actually powers the room, adds a missing AIR alarm, arrivals no longer has active atmos tiles." diff --git a/html/changelogs/AutoChangeLog-pr-12964.yml b/html/changelogs/AutoChangeLog-pr-12964.yml new file mode 100644 index 0000000000..ec4b8016d1 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12964.yml @@ -0,0 +1,4 @@ +author: "timothyteakettle" +delete-after: True +changes: + - bugfix: "monkeys no longer continuously bleed everywhere" diff --git a/html/changelogs/AutoChangeLog-pr-12967.yml b/html/changelogs/AutoChangeLog-pr-12967.yml new file mode 100644 index 0000000000..3297232e76 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12967.yml @@ -0,0 +1,4 @@ +author: "silicons" +delete-after: True +changes: + - tweak: "toy shotguns no longer need 2 hands to fire" diff --git a/html/changelogs/AutoChangeLog-pr-12988.yml b/html/changelogs/AutoChangeLog-pr-12988.yml new file mode 100644 index 0000000000..cdd447a564 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12988.yml @@ -0,0 +1,4 @@ +author: "silicons" +delete-after: True +changes: + - bugfix: "being on fire works again."