From ffbc0b6ee9d6b152ab208505ede1aefb70dac317 Mon Sep 17 00:00:00 2001 From: Geeves Date: Thu, 17 Dec 2020 22:38:06 +0200 Subject: [PATCH] Medical Taperolls + Tape Improvements (#10782) --- code/__defines/mobs.dm | 4 + code/_onclick/hud/human.dm | 2 +- code/_onclick/hud/morph.dm | 2 +- code/_onclick/hud/nymph_hud.dm | 2 +- code/_onclick/hud/screen_objects.dm | 20 ++--- code/datums/brain_damage/mild.dm | 2 +- code/datums/brain_damage/severe.dm | 2 +- code/game/area/areas.dm | 4 +- .../effects/decals/Cleanable/humans.dm | 2 +- code/game/objects/items/toys.dm | 2 +- .../items/weapons/material/caltrops.dm | 2 +- code/game/objects/items/weapons/policetape.dm | 69 ++++++++++++------ code/game/objects/objs.dm | 1 + code/game/turfs/simulated.dm | 2 +- code/game/turfs/turf.dm | 2 +- .../living/carbon/alien/diona/diona_nymph.dm | 4 +- code/modules/mob/living/carbon/carbon.dm | 2 +- .../mob/living/carbon/human/human_movement.dm | 2 +- .../living/carbon/human/species/species.dm | 2 +- .../human/species/station/diona/diona.dm | 2 +- .../carbon/human/species/station/ipc/ipc.dm | 2 +- .../mob/living/carbon/human/update_icons.dm | 4 +- .../mob/living/silicon/robot/robot_modules.dm | 2 + .../mob/living/simple_animal/hostile/morph.dm | 4 +- code/modules/mob/mob_defines.dm | 2 +- code/modules/mob/mob_movement.dm | 2 +- code/modules/tables/interactions.dm | 4 +- html/changelogs/geeves-medical_tape.yml | 9 +++ icons/policetape.dmi | Bin 17386 -> 23932 bytes maps/aurora/aurora-3_sublevel.dmm | 16 ++++ maps/aurora/aurora-4_mainlevel.dmm | 8 ++ 31 files changed, 125 insertions(+), 58 deletions(-) create mode 100644 html/changelogs/geeves-medical_tape.yml diff --git a/code/__defines/mobs.dm b/code/__defines/mobs.dm index 0b67aa3e456..2379fbe2185 100644 --- a/code/__defines/mobs.dm +++ b/code/__defines/mobs.dm @@ -85,6 +85,10 @@ #define I_GRAB "grab" #define I_HURT "harm" +//movement intents +#define M_WALK "walk" +#define M_RUN "run" + // Limbs and robotic stuff. #define BP_L_FOOT "l_foot" #define BP_R_FOOT "r_foot" diff --git a/code/_onclick/hud/human.dm b/code/_onclick/hud/human.dm index c0cc156d171..1bb4d6310a8 100644 --- a/code/_onclick/hud/human.dm +++ b/code/_onclick/hud/human.dm @@ -127,7 +127,7 @@ if(hud_data.has_m_intent) using = new /obj/screen/movement_intent() using.icon = ui_style - using.icon_state = (mymob.m_intent == "run" ? "running" : "walking") + using.icon_state = (mymob.m_intent == M_RUN ? "running" : "walking") using.color = ui_color using.alpha = ui_alpha src.adding += using diff --git a/code/_onclick/hud/morph.dm b/code/_onclick/hud/morph.dm index b83ccedc5ce..77b56463fb1 100644 --- a/code/_onclick/hud/morph.dm +++ b/code/_onclick/hud/morph.dm @@ -5,7 +5,7 @@ var/obj/screen/mov_intent = new /obj/screen/movement_intent() mov_intent.set_dir(SOUTHWEST) mov_intent.icon = 'icons/mob/screen/morph.dmi' - mov_intent.icon_state = (mymob.m_intent == "run" ? "running" : "walking") + mov_intent.icon_state = (mymob.m_intent == M_RUN ? "running" : "walking") move_intent = mov_intent mymob.healths = new /obj/screen() diff --git a/code/_onclick/hud/nymph_hud.dm b/code/_onclick/hud/nymph_hud.dm index e1112618748..70800182756 100644 --- a/code/_onclick/hud/nymph_hud.dm +++ b/code/_onclick/hud/nymph_hud.dm @@ -11,7 +11,7 @@ using = new /obj/screen/movement_intent() using.set_dir(SOUTHWEST) using.icon = 'icons/mob/screen/alien.dmi' - using.icon_state = (mymob.m_intent == "run" ? "running" : "walking") + using.icon_state = (mymob.m_intent == M_RUN ? "running" : "walking") src.adding += using move_intent = using diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index b901089a575..b6e7b6a25f4 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -417,7 +417,7 @@ user.stamina_bar.update(user.stamina) - if (user.m_intent == "run") + if (user.m_intent == M_RUN) icon_state = "running" else icon_state = "walking" @@ -435,21 +435,21 @@ if(C.legcuffed) to_chat(C, "You are legcuffed! You cannot run until you get [C.legcuffed] removed!") - C.m_intent = "walk" //Just incase + C.m_intent = M_WALK //Just incase C.hud_used.move_intent.icon_state = "walking" return 1 switch(usr.m_intent) - if("run") - usr.m_intent = "walk" - if("walk") - usr.m_intent = "run" + if(M_RUN) + usr.m_intent = M_WALK + if(M_WALK) + usr.m_intent = M_RUN else if(istype(usr, /mob/living/simple_animal/hostile/morph)) var/mob/living/simple_animal/hostile/morph/M = usr switch(usr.m_intent) - if("run") - usr.m_intent = "walk" - if("walk") - usr.m_intent = "run" + if(M_RUN) + usr.m_intent = M_WALK + if(M_WALK) + usr.m_intent = M_RUN M.update_speed() update_move_icon(usr) diff --git a/code/datums/brain_damage/mild.dm b/code/datums/brain_damage/mild.dm index 002ff6075a3..d301441f497 100644 --- a/code/datums/brain_damage/mild.dm +++ b/code/datums/brain_damage/mild.dm @@ -153,7 +153,7 @@ /datum/brain_trauma/mild/muscle_weakness/on_life() var/fall_chance = 5 - if(owner.m_intent == "run") + if(owner.m_intent == M_RUN) fall_chance += 15 if(prob(fall_chance) && !owner.lying && !owner.buckled) to_chat(owner, "Your leg gives out!") diff --git a/code/datums/brain_damage/severe.dm b/code/datums/brain_damage/severe.dm index 715dcde7c75..1aa599898d8 100644 --- a/code/datums/brain_damage/severe.dm +++ b/code/datums/brain_damage/severe.dm @@ -79,7 +79,7 @@ if(owner.stat == UNCONSCIOUS || owner.sleeping > 0) return var/sleep_chance = 5 - if(owner.m_intent == "run") + if(owner.m_intent == M_RUN) sleep_chance += 15 if(owner.drowsyness) sleep_chance += owner.drowsyness + 5 diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 70afc8ba8dd..31db9f84adb 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -320,7 +320,7 @@ var/list/mob/living/forced_ambiance_list = new L.lastarea = get_area(L.loc) var/area/newarea = get_area(L.loc) var/area/oldarea = L.lastarea - if((oldarea.has_gravity() == 0) && (newarea.has_gravity() == 1) && (L.m_intent == "run")) // Being ready when you change areas gives you a chance to avoid falling all together. + if((oldarea.has_gravity() == 0) && (newarea.has_gravity() == 1) && (L.m_intent == M_RUN)) // Being ready when you change areas gives you a chance to avoid falling all together. thunk(L) L.update_floating( L.Check_Dense_Object() ) @@ -375,7 +375,7 @@ var/list/mob/living/forced_ambiance_list = new if(H.Check_Shoegrip(FALSE)) return - if(H.m_intent == "run") + if(H.m_intent == M_RUN) H.AdjustStunned(2) H.AdjustWeakened(2) else diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index f12efa31123..a3a9de78022 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -110,7 +110,7 @@ perp.update_inv_shoes(1) amount-- - if(amount > 2 && prob(perp.slip_chance(perp.m_intent == "run" ? 20 : 5))) + if(amount > 2 && prob(perp.slip_chance(perp.m_intent == M_RUN ? 20 : 5))) perp.slip(src, 4) /obj/effect/decal/cleanable/blood/proc/dry() diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 24d0d41fb82..542b646c1de 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -504,7 +504,7 @@ /obj/item/toy/snappop/Crossed(H as mob|obj) if((ishuman(H))) //i guess carp and shit shouldn't set them off var/mob/living/carbon/M = H - if(M.m_intent == "run") + if(M.m_intent == M_RUN) to_chat(M, SPAN_WARNING("You step on the snap pop!")) do_pop() diff --git a/code/game/objects/items/weapons/material/caltrops.dm b/code/game/objects/items/weapons/material/caltrops.dm index 64d02e1b3ad..55724b94202 100644 --- a/code/game/objects/items/weapons/material/caltrops.dm +++ b/code/game/objects/items/weapons/material/caltrops.dm @@ -35,7 +35,7 @@ if(H.shoes || H.wear_suit?.body_parts_covered & FEET) damage_coef -= 0.1 - if (H.m_intent == "run") + if (H.m_intent == M_RUN) damage_coef += 0.4 diff --git a/code/game/objects/items/weapons/policetape.dm b/code/game/objects/items/weapons/policetape.dm index fcfdb6ca0de..f3ec465eaaf 100644 --- a/code/game/objects/items/weapons/policetape.dm +++ b/code/game/objects/items/weapons/policetape.dm @@ -17,9 +17,15 @@ var/list/tape_roll_applications = list() icon = 'icons/policetape.dmi' anchored = 1 var/lifted = 0 + var/list/crumplers var/crumpled = 0 var/icon_base +/obj/item/tape/examine(mob/user, distance) + . = ..() + if(LAZYLEN(crumplers) && Adjacent(user)) + to_chat(user, SPAN_WARNING("\The [initial(name)] has been crumpled by [english_list(crumplers)].")) + /obj/item/tape/New() ..() if(!hazard_overlays) @@ -42,6 +48,19 @@ var/list/tape_roll_applications = list() req_access = list(access_security) icon_base = "police" +/obj/item/taperoll/medical + name = "medical tape" + desc = "A roll of medical tape used to prevent overcrowding of hallways during emergencies." + icon_state = "medical_start" + tape_type = /obj/item/tape/medical + icon_base = "medical" + +/obj/item/tape/medical + name = "medical tape" + desc = "A length of medical tape. Better not cross it." + req_one_access = list(access_medical_equip) + icon_base = "medical" + /obj/item/taperoll/engineering name = "engineering tape" desc = "A roll of engineering tape used to block off working areas from the public." @@ -137,41 +156,50 @@ var/list/tape_roll_applications = list() tape_roll_applications[F] |= direction return -/obj/item/tape/proc/crumple() +/obj/item/tape/proc/crumple(var/mob/user) + if(ishuman(user)) + var/mob/living/carbon/human/H = user + var/obj/item/card/id/ID = H.GetIdCard(TRUE) + if(ID && ID.registered_name) + LAZYDISTINCTADD(crumplers, ID.registered_name) if(!crumpled) - crumpled = 1 + crumpled = TRUE icon_state = "[icon_state]_c" name = "crumpled [name]" /obj/item/tape/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) if(!lifted && ismob(mover)) var/mob/M = mover - add_fingerprint(M) - if (!allowed(M)) //only select few learn art of not crumpling the tape - to_chat(M, "You are not supposed to go past [src]...") - crumple() - return ..(mover) + if(!allowed(M)) //only select few learn art of not crumpling the tape + if(M.a_intent != I_HURT && M.m_intent != M_RUN) + return FALSE + to_chat(M, SPAN_WARNING("You aren't supposed to go past the [initial(name)]...")) + crumple(mover) + return ..() -/obj/item/tape/attackby(obj/item/W as obj, mob/user as mob) +/obj/item/tape/attackby(obj/item/W, mob/user) breaktape(W, user) -/obj/item/tape/attack_hand(mob/user as mob) - if (user.a_intent == I_HELP && src.allowed(user)) - user.show_viewers(SPAN_NOTICE("[user] lifts [src], allowing passage.")) - crumple() - lifted = 1 - spawn(200) - lifted = 0 +/obj/item/tape/attack_hand(mob/user) + if(user.a_intent == I_HELP) + lifted = !lifted + user.visible_message("[user] [lifted ? "lifts" : "drops"] the [initial(name)], [lifted ? "allowing" : "blocking"] passage.", SPAN_NOTICE("You [lifted ? "lift" : "drop"] the [initial(name)], [lifted ? "allowing" : "blocking"] passage.")) + var/shake_time = animate_shake() + sleep(shake_time) + if(!allowed(user)) + crumple(user) + if(lifted) + animate(src, 1 SECOND, alpha = 150) + else + animate(src, 1 SECOND, alpha = initial(alpha)) else breaktape(null, user) - - /obj/item/tape/proc/breaktape(obj/item/W as obj, mob/user as mob) if(user.a_intent == I_HELP && ((!can_puncture(W) && src.allowed(user)))) - to_chat(user, "You can't break the [src] with that!") + to_chat(user, SPAN_NOTICE("You can't break \the [src] with that!")) return - user.show_viewers(SPAN_NOTICE("[user] breaks the [src]!")) + user.visible_message(SPAN_NOTICE("[user] breaks \the [src]!")) var/dir[2] var/icon_dir = src.icon_state @@ -193,5 +221,4 @@ var/list/tape_roll_applications = list() qdel(P) cur = get_step(cur,dir[i]) - qdel(src) - return + qdel(src) \ No newline at end of file diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index 868c480acfb..bd1fd47444f 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -223,6 +223,7 @@ var/shake_dir = pick(-1, 1) animate(src, transform = turn(matrix(), 8*shake_dir), pixel_x = init_px + 2*shake_dir, time = 1) animate(transform = null, pixel_x = init_px, time = 6, easing = ELASTIC_EASING) + return 7 // how long it takes to do this /obj/proc/rotate(var/mob/user, var/anchored_ignore = FALSE) if(use_check_and_message(user)) diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm index 8df97c9a342..b25c6cf30f4 100644 --- a/code/game/turfs/simulated.dm +++ b/code/game/turfs/simulated.dm @@ -79,7 +79,7 @@ if(istype(A,/mob/living)) var/mob/living/M = A if(src.wet_type && src.wet_amount) - if(M.buckled || (src.wet_type == 1 && M.m_intent == "walk")) + if(M.buckled || (src.wet_type == 1 && M.m_intent == M_WALK)) return //Water diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 339271f7320..051c954fa58 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -254,7 +254,7 @@ var/const/enterloopsanity = 100 if(H.shoes) var/obj/item/clothing/shoes/S = H.shoes if(istype(S)) - S.handle_movement(src, H.m_intent == "run" ? TRUE : FALSE) + S.handle_movement(src, H.m_intent == M_RUN ? TRUE : FALSE) if(S.track_footprint) if(S.blood_DNA) footprint_DNA = S.blood_DNA diff --git a/code/modules/mob/living/carbon/alien/diona/diona_nymph.dm b/code/modules/mob/living/carbon/alien/diona/diona_nymph.dm index bfc02df877a..789c3c7a52d 100644 --- a/code/modules/mob/living/carbon/alien/diona/diona_nymph.dm +++ b/code/modules/mob/living/carbon/alien/diona/diona_nymph.dm @@ -76,9 +76,9 @@ /mob/living/carbon/alien/diona/movement_delay() . = ..() switch(m_intent) - if("walk") + if(M_WALK) . += 3 - if("run") + if(M_RUN) species.handle_sprint_cost(src,.+config.walk_speed) /mob/living/carbon/alien/diona/ex_act(severity) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 3d5a1d006e3..1f55822d256 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -62,7 +62,7 @@ if(src.hydration) adjustHydrationLoss(hydration_loss*0.1) - if((FAT in src.mutations) && src.m_intent == "run" && src.bodytemperature <= 360) + if((FAT in src.mutations) && src.m_intent == M_RUN && src.bodytemperature <= 360) src.bodytemperature += 2 // Moving around increases germ_level faster diff --git a/code/modules/mob/living/carbon/human/human_movement.dm b/code/modules/mob/living/carbon/human/human_movement.dm index ffc585b1392..fd69006454c 100644 --- a/code/modules/mob/living/carbon/human/human_movement.dm +++ b/code/modules/mob/living/carbon/human/human_movement.dm @@ -161,7 +161,7 @@ return last_x = x last_y = y - if (m_intent == "run") + if (m_intent == M_RUN) playsound(src, footsound, 70, 1, required_asfx_toggles = ASFX_FOOTSTEPS) else footstep++ diff --git a/code/modules/mob/living/carbon/human/species/species.dm b/code/modules/mob/living/carbon/human/species/species.dm index 09a62fd14ed..bdcdb299881 100644 --- a/code/modules/mob/living/carbon/human/species/species.dm +++ b/code/modules/mob/living/carbon/human/species/species.dm @@ -567,7 +567,7 @@ H.flash_pain(H.get_shock()) if ((H.get_shock() + H.getOxyLoss()) >= (exhaust_threshold * 0.8)) - H.m_intent = "walk" + H.m_intent = M_WALK H.hud_used.move_intent.update_move_icon(H) to_chat(H, SPAN_DANGER("You're too exhausted to run anymore!")) H.flash_pain(H.get_shock()) diff --git a/code/modules/mob/living/carbon/human/species/station/diona/diona.dm b/code/modules/mob/living/carbon/human/species/station/diona/diona.dm index 2909ee7e79d..bb74693130e 100644 --- a/code/modules/mob/living/carbon/human/species/station/diona/diona.dm +++ b/code/modules/mob/living/carbon/human/species/station/diona/diona.dm @@ -150,7 +150,7 @@ DS.stored_energy = 0 H.adjustHalLoss(remainder*5, 1) H.updatehealth() - H.m_intent = "walk" + H.m_intent = M_WALK H.hud_used.move_intent.update_move_icon(H) to_chat(H, SPAN_DANGER("We have expended our energy reserves, and cannot continue to move at such a pace. We must find light!")) return 0 diff --git a/code/modules/mob/living/carbon/human/species/station/ipc/ipc.dm b/code/modules/mob/living/carbon/human/species/station/ipc/ipc.dm index 0cc04f41171..e43a7bc75b4 100644 --- a/code/modules/mob/living/carbon/human/species/station/ipc/ipc.dm +++ b/code/modules/mob/living/carbon/human/species/station/ipc/ipc.dm @@ -135,7 +135,7 @@ datum/species/machine/handle_post_spawn(var/mob/living/carbon/human/H) H.adjustNutritionLoss(cost * sprint_charge_factor) if(H.nutrition <= 0 && H.max_nutrition > 0) H.Weaken(15) - H.m_intent = "walk" + H.m_intent = M_WALK H.hud_used.move_intent.update_move_icon(H) to_chat(H, SPAN_DANGER("ERROR: Power reserves depleted, emergency shutdown engaged. Backup power will come online in approximately 30 seconds, initiate charging as primary directive.")) playsound(H.loc, 'sound/machines/buzz-two.ogg', 100, 0) diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 42fa0577936..80439f2ee54 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -1139,8 +1139,8 @@ There are several things that need to be remembered: standing = image('icons/mob/mob.dmi', "legcuff1") overlays_raw[LEGCUFF_LAYER] = standing - if(m_intent != "walk") - m_intent = "walk" + if(m_intent != M_WALK) + m_intent = M_WALK if(hud_used && hud_used.move_intent) hud_used.move_intent.icon_state = "walking" diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index ba4797553f4..a412e247d48 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -221,6 +221,7 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/device/mass_spectrometer(src) src.modules += new /obj/item/autopsy_scanner(src) src.modules += new /obj/item/device/breath_analyzer(src) + modules += new /obj/item/taperoll/medical(src) src.modules += new /obj/item/taperoll/engineering(src) // To enable 'borgs to telegraph danger visually. src.modules += new /obj/item/inflatable_dispenser(src) // To enable 'borgs to protect Crew from danger in direct hazards. src.modules += new /obj/item/device/gps(src) // For being located while disabled and coordinating with life sensor consoles. @@ -294,6 +295,7 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/gripper/chemistry(src) src.modules += new /obj/item/tank/jetpack/carbondioxide/synthetic(src) src.modules += new /obj/item/borg/rescue/mobility(src) + modules += new /obj/item/taperoll/medical(src) src.modules += new /obj/item/taperoll/engineering(src) // To enable 'borgs to telegraph danger visually. src.modules += new /obj/item/inflatable_dispenser(src) // To enable 'borgs to protect Crew from danger in direct hazards. src.modules += new /obj/item/device/gps(src) // For being located while disabled and coordinating with life sensor consoles. diff --git a/code/modules/mob/living/simple_animal/hostile/morph.dm b/code/modules/mob/living/simple_animal/hostile/morph.dm index dbf72fef369..77aad032bd2 100644 --- a/code/modules/mob/living/simple_animal/hostile/morph.dm +++ b/code/modules/mob/living/simple_animal/hostile/morph.dm @@ -111,9 +111,9 @@ /mob/living/simple_animal/hostile/morph/proc/update_speed() switch(m_intent) - if("run") + if(M_RUN) speed = 1.5 - if("walk") + if(M_WALK) speed = 2.5 /mob/living/simple_animal/hostile/morph/proc/allowed(atom/movable/A) diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index df93a1cd6d3..4df9007f521 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -132,7 +132,7 @@ var/intent = null//Living var/shakecamera = 0 var/a_intent = I_HELP//Living - var/m_intent = "walk"//Living + var/m_intent = M_WALK //Living var/lastKnownIP = null var/obj/buckled = null//Living var/obj/item/l_hand = null//Living diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index e139ea06ce2..7962fb8805c 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -302,7 +302,7 @@ if (mob_is_human) var/mob/living/carbon/human/H = mob //If we're sprinting and able to continue sprinting, then apply the sprint bonus ontop of this - if (H.m_intent == "run" && (H.status_flags & GODMODE || H.species.handle_sprint_cost(H, tally))) //This will return false if we collapse from exhaustion + if (H.m_intent == M_RUN && (H.status_flags & GODMODE || H.species.handle_sprint_cost(H, tally))) //This will return false if we collapse from exhaustion tally = (tally / (1 + H.sprint_speed_factor)) * config.run_delay_multiplier else tally = max(tally * config.walk_delay_multiplier, H.min_walk_delay) //clamp walking speed if its limited diff --git a/code/modules/tables/interactions.dm b/code/modules/tables/interactions.dm index 9607c1da3e3..da9f5be361a 100644 --- a/code/modules/tables/interactions.dm +++ b/code/modules/tables/interactions.dm @@ -63,7 +63,7 @@ ..() if(ishuman(am)) var/mob/living/carbon/human/H = am - if(H.a_intent != I_HELP || H.m_intent == "run") + if(H.a_intent != I_HELP || H.m_intent == M_RUN) throw_things(H) else if(H.is_diona() || H.species.get_bodytype() == BODYTYPE_IPC_INDUSTRIAL) throw_things(H) @@ -119,7 +119,7 @@ ) if(ishuman(user)) var/mob/living/carbon/human/H = user - if(H.a_intent != I_HELP || H.m_intent == "run") + if(H.a_intent != I_HELP || H.m_intent == M_RUN) throw_things(H) else if(H.is_diona() || H.species.get_bodytype() == BODYTYPE_IPC_INDUSTRIAL) throw_things(H) diff --git a/html/changelogs/geeves-medical_tape.yml b/html/changelogs/geeves-medical_tape.yml new file mode 100644 index 00000000000..264bf9a4f25 --- /dev/null +++ b/html/changelogs/geeves-medical_tape.yml @@ -0,0 +1,9 @@ +author: Geeves + +delete-after: True + +changes: + - rscadd: "Added some medical taperolls to the medical sub-level equipment area and EMT room. Also gave medical borgs medical taperolls." + - rscadd: "Crumpled tape now stores who crumpled it, provided the crumpler had an ID to track them with." + - rscadd: "Tape now physically blocks passage, unless the mover has their intent set to harm, or their move intent set to run." + - rscadd: "Lifting tape now actually works as you'd expect it to. It plays a little animation and goes transparent. If you don't have access, it crumples, if you do, it doesn't. People can now pass over without crumpling it or needing intents set." \ No newline at end of file diff --git a/icons/policetape.dmi b/icons/policetape.dmi index 95851cf1c197c9a7cde08c08d82671c39d69e6db..7a71bdefed97f94b031ca5eb1d439295d8236a65 100644 GIT binary patch literal 23932 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%0DDhZqoOWYtJp<1Ubs2=g{=m#FI1rr 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 DLSh6P literal 17386 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%0Dv~DJc5#Z`qVjw`eaLn_H?U`E`+>4% zTL3XYJXzn2A_+#tQ_pOt8<;qsm=Q~O-8m!}eT#qnbZusBZJ-%i1n#s1{(9rTvD9v? z7}r%9y+o~Ag-HL&R(~RTTw?*fIcd%1jTlIt=C6S7#M0ugNqyF)+LcM^gKE^b4@g=LLDCRP3FD+vA0+dv4Y;}-s}y0$Nx=F4P9UOwB7=RV%N z9fo?+6j=MtFPbZkJ&~H`0$koPAEx}?l(jr^3&eck2=pc0_3|h3lI`>FmN3^=C)o2q zPX%r3$PJN2G+DjY?AWD{t&E}LVCNl79DAW~rLDuhd~4RC%_4nY+I;*>f}eum2Ftyi zUI=Ts7D4AYOznjIj^7){SM4E|#=8jfO^f(g*bLH;poSHYf1oZ^m^#flGpXvx9kamY zstQHQQL;a6^c9CsXaRE{1DhwF@;-L&-UPcK_uPz-YdkuYH-unqLfBW6muvQ&Tcqi2 zE>fM31V7wy~6x_Uj8w5dnVoVGrOV!C3|!~ zg3-IFzZc=~Sb>m()(tQwZ{Gdct2|0p^$~lK;t} zexaoXwXX*-nS>px$t08CpK%N7ps(1AkJP*PHMR@Pe0vBuf==e2%!aC znQ=1lt?1Un;@%rb86Q4v&6U!k57{(I@4GUa6P~714)qGg4Gtuzc<}&pfpnGmN zMBoIXDn5Y2*qQ}t>9f?jI!`V9ph*KrEeN#zwhLijOqfyVuV0rEbxqLp&@1p4eoxt~ zvAS!Jvh(w9hQ2(w0Q};6-Q{7XzGOX{0JBpwwHGCq$v>MXZfLmYB&mZ>}cYTtn&l2)oFuG%b8ZjN{3x%~2yiTR7 zvlV{SOnN0zSY9izRL8h|(qQqFGeB}rE#D={Msxm^1bVybPVyC1+;vM_kG!p^{kalI zWk`A#I(K(piWR=fPaFE6e9>c_=WppY6N=Jya5(z~J}A`Z5{9vg-=8Uj7+>}=L9=i# z4t%(Nz2hGB%f1YwD*rEkoMNl*=v?+K7_prH@dc*~p`4PoOoHHEUcfKWYGK?wEG2bJ z#OGiy4m5S$Jej|E?{r8Y!R9wK=SeCTA0_9b2VD!Rgd_zTB2gZ|l&6!Z6*Evw>aK)L z^MVj&^JUg?k8P?o3#lO{oVB7*9~L$~w!JbL&vqeyt#UrU;%f>qHtFgbxgNbwNxjdu zI&r9XSyVgLF+604MUjNsqxsyg0lP;cJF^uFIuq@;UIOO%Fmis+CxJ+EuRl~%J5zbUkD|4s3gaou45vCH?Af3}JU%UueE#ymUb_qjDw0tNPAro5G7 zhhjPCygM9ZA?%OHTmMIZ@jru^|D&_qaC*D+(gsS04m9x#0)ZtmAcgHWi>HF#zX?r$ zP9PuIQ_HV-zn=0-73i}YN-cIDlg zCFF?JJvpTXel$v%&)o#H^RNX+6I^=_Je{*LN(rzPlPzeihlV7kCicswDQ`VGXiSVy zbKieCO|V}6J3Mk%kZzw%*^(-73qUwF*5<(5cjW_q%mn`PEhDDt2s6HK}Xcj z`L4Thb5$8nFh!OmkIV6oH`kEJosD8P7ggbcc6BN4S1 zC2G;@r`&4o#=2F}R2&cTUFL5(U8se&@qc1jbqL+9oq;4DI|MgSQ^PRU7HnM2g7YnO zaF(h&@&F1r9*zF8+oNI%&RLPtEJn=EjZSdtaa;#nW+|1)9{YnhlDX z5arCr==3on0GU@YMP^x>_gn>B*(~>;2ROCakFPbzsExa%B<)$+C4s>38~JR@UE+~V zN&8zqbjnyEWGS;P5`jEDnHjKcXGzZ-!qQ6@cqt>HH>b25cwL(oAf*Tw<Cruup z%!;`FZkd3cG~|fy7Xa=)B7X>ku#?6qPzJG+cIAEizv@t90khn; zvpd)2^e?c(N{&4?NV+B4>RBE>O__-(YW=x7@vP}hV#(NM|Lmz2zsZB_CA*FJ#ZuwD zfv=zat{o8}PYnt9#{Efxv}#CDl(%Jw0Ir#PS!&;dK&Y`Fb;vRHC-!&2mc79zvVG_UZDM*r_jpyVO?@!0-{Nuk!O3CB`m?VfE(S4f<& z*b7$FFuJtB*V#H<69e`&K6qm{r2&&xr$j-hi5EnFy=ffN-%)$x)OBXQOlIl^ts9;k zIYg%F-(?*Lc~5|q%a#zNL)N3->eOS=z^fN;zW1@Ud1G6vcYdE*z4{w@tIhtw{hJTM z*!=!=PiIpr?xwhx>ia$uPH`n;l2u|aJw*dfmvEZwT6y>86bOF}Xb|FbtGf9p<^$%h z*qoY03Iq`^=aJd6+^gH<(m0uU3^y@p=0)zApPun=dK^y29>YeMTaPC|omQhGD@q28 zPX&J|_`QDzyi%dF)7Du%s7s$XAzz>T`cKGJ=#>eoztqX|Iv&A69RBR)+59Kj3I4X> zZ@%deShQF?w5Jg8Vy;Ga#Q3xKf&?g5Es!vAqnMqJxEbEN?R%)-FIXxZuTewMwXec? zH+MQ9g5oaNXP_jU!QEry1&eFXO@V#5>iJ1|W|a!jM=m0Tc?3RS^!RwC=rFr#-TDB1 zHe3P%E8i_~`zGG8U`a&^ltupGdl_&Q-u*V=nWh14a#Xv6?dA$K0ttYY^%fyKf?J_{ z^u!ay>X{h3TXsCvdEoQU@xeYVg5xy_D%Qqbd9>LwrU+|feObG$r5AYK3)`H29|#5Y z-~HrA7Bla+cVF@v#3yb%jdgLz5CWn8jl}VSH*+Zg#B>C)KPk}akZ)-4iEb@U^e!~g zah172@nXnI4?2{D{TC81fJkg2P?tZCiG2sb&a3%NX0y=(H{|t&i9JZ=#{MhB>_BlD zW#Eyzs|8bE|8J$Q{nOH((uLYXyxk$Y7~loVUgMx(S5nLuU4SW&5tE>s$@D<%ZKIrOFPF! z$)!$081;5lIP&T8p<+!yha6=8G{4y8-K*x?e_uwg{C zuQ*TNFJtTw1VZl2w&$LIkx+7vP-1-C`Kh~5%-*P4dqI z*Cz5x1*RY;q4r9=M!&Ze4C&AgAlDw^Ez)H}(0c{`Wj@D@Kq1kV6;5=7m$!?6+Vbgu z0=xhhYP>caG;yj>db3vuyB$OjVWiCxPsC}DbK*DyD@p4cS{u=`u--Trv-0PgL#p`{ zD~XF?7v*>K(M<7Sl}mMaxY*CT77xE?>FNj73FROtC2<&mLyNoD0#Xq-zo_wENv-9Y zU%2$$1kD6>uxpDrM~%TQbcR_jUJJ-&(dKz^IX!)#_OSd<#nRMj*+;VNdK1hKyjewa zjs}^)tHmP_*PtOm&2V)&chGQY$-rucnP=2|C;tUFR)EkLxg{-EZXhRj#ZqCbXy!L| zAv}-wkS3%ul+H(svV$0hgo=`Kxkx3>COqmTAZq+|W(8-B7)9{L;V7uBX70*jj$%Wk zVc7W{HCx7Fik3iw6aje9fY?PmF{o!m{JN{Yi;&U59(c?>iS@C4v?j zubnua!nDe=`0DKsggO{rR6Zs~SoyZyFe$;Kw`<#FDj>!$0_4bvM*umGF#5Egnko>Q z_jP#TD`Ga$haF?jrnoY->F?ZeVjZK%o}t+XS~Uw}Lg>VCPv0vA6_1R6ID^b&XNZ8l zvt&&^E4xyfKDd-EH%GUwKm#ZMkbN)~U%Nizys-E+|6L3>3b@dM^O#KAoFyah zR5!43tDkf~i%W%k%TKfVM!GmgIOFi;h&Tq$D2};unaXBUMj1F-#9~1|;Xg_6{F%Q- zxaC_r8-ZM_QTh;?2{J)29WnH}+ubBx#r3-BFTMiUS+h&FrT>Zw>CZ1$2wTjr!1 zt1~z}LVh=O`CfM-o!TE1-AC2u;Bv)VG2ngj>K}4HCh80Nt)6J@xfnX6a6MEc!q+d& zi>jmb5HPns0N?CMm_x_C2=}i75)L%9hsALB!|FApcGqcxDW- z>|P~D=sYN0Bj)q^(;s5}_73w?8TgaAu7dBp@o=8;da0_8p~FvsbqXAxh8T&s$UO;0 z!HYd~JKh&_j_aaf3}uiZC+XN}z{@=Y96yp#1lcmTsPm}zrtBxi&viyJBWjr0*$Emm==(xjoDYgb@*DgYRm1A$PZl?&~VI5(GD;6QeztqMa*D%EP2$& zI2g;TnRXx`4umO)bY+hGWrE!WEP^fC&2(KHPr#Clse z0D#$=5G9?IkJ3U;jE_r^k$gcbt)=-RPCY&M`r}kzAg)%XN=>N)=O!#gPtdbdY zq{uA4ZDhvx?xXt=8AlySbf{J$Kg)a8hgTH*Q-{8rs!HwVBgZbAE{h*^(OFS9(Ee(t%cDA zXx09)8G<)(RQA5OG`loDY`$@OoABl&Sp%J%21tC*Bhtcuo#M!h2@>ecco5go01_$_ z+#upMQ5A?&J<$}@kCRTUs)Hp4czG_9P6{}ALahYQk?({=cawy`Uh84*nYuu84?X#3 ztHA<+y`Q&T48=-S@bq!Z2NHPT7cXJm#dllh*9(?UUU${HBx$J+fS66x z5>D-PCbXvXz{&g4|)b0hTB$7l5|vq9Z@7F-p}eKukVY4mCoVZ zl3(*mtIs;4ih z+i3v9+<^hgg`gp`S!9G523<>VRu*MuU3NOVU6%!b;)?IHdRjCu9V$riBmXNia^kSE zzLgCm^{iul$8k*lT(Qd_p7j#~!iep6beW#zQY-3PuEXz$d6^<(==lg#t^XT&rPL);b$%G_MlsSqdReG6Z@}6XY6{>o5)y1Z}8$Lfa zvZEs>-u6`i+3I`N`5S*e48@h}XbUb9{0^ZF|1Tg3U5}s8>51+7vl6YHtDMs>ELWeZIHiI?!7=jwB(<xO>_n|1fMCW@+t}ql3KV>b>YGDy7iG;_$#kwM<3H@27Qh202L?}1iHFBO?PtTOTy4+uQ)O?n17KFuch z2g@15+}aTEKZY|kKK|kh)6v&Ey;+23uu}@tvUsGQp?4_BJFj0=fc60Yrno7cC|k=G zbqtR7BR)q*FL%G8d{O;&iAgi4!0(HfGFto9Bh=P04b-erYdw(FLlauVpyRfQqcUxTx}pbKV6?&(hsSO>^%0551FR)s$x z(XOzG8-UO8awS`V37Ci>PB8QDb@Jt(oxfS#_|~mcJVtr1D=?>9O2R~>h)eWVdENz2 zChcPVubfCDQ>twDbspqKryLb<<>OFccU&rLr^+W!t$5SIN$1?v2l^@F-41k_$q^rrK{tPIy{vyUzaaDk9>d}l?RQ2H zq%Zw*D_v=1*xF|+zwJg#@rYUCR6?KumG{sjnE=vEYw)`7=92=9gU5x_muYEJcoo4% zd=B+9dVByhPi%<4W)^|*imFC6lpx6Fv70DR_T?FCCE78a&UVB^?~fGNNOxinUNaws zkLzTDrr#$_Lh!K7+ah?DSb-~Uy=Z{&xX zP^`N%QEwkNx0_tjHgP&Tr8UK>r1RXfOa{HpK`RSHo$C^GEq2VriSTFWBt?Ni989cBn%Y=ZSY#o|gWa*i=tHh(2 z+`>75c_(14&H-9f@6uFs#ExCsYVnD3L1 zs$Mw1-}EGZ+|aMoF^SWA91EWH4XJY&QYOS+qzk>ld}@izywg0~VHLTb#9Ml5Ti$Lk zL*{3cX3E99`M7B}-P1&8VvpP@@9O!Co-C`h5d}V2BP%i?rZYF|ZmHhvQfQNVKTT%- zaQE{-pZ<9%D(OVOe+N>nqOhf@&V+e?<5V#&?SMbVfeZPqy`+R9fqQ9nx1AjN7;*Ln z*$yrsiKS;ojpM9x`k^0lFT|F_bQ-^X@qdAzU4*lv9)5>PrbGE}E{k*CqVbevQo<9l&veert1C~caxZ?{JUiV#a!CY^?iRLEfULp6t5}O+u%Gs(K-5GPDX_M%`sy@D3*EYpMkZ zI4obf;Muh*VeKGv2LruxUeo8*sFA=TLu@Uj^W3m1rr5~&ic7-vGOt*^9r=a5CbP{= zBep?#eS%bS9v74H@36;PLI~P`swi6`jRgDJDbPH z8Zws&Vd86D+ACeM5{TLdET?Mvkjzt~F|DaAqgj>B2fT=9wc+sI0VvNT^akd=?1sNS z&lGN}Am>UnkXiZzm6+Xbh6Ld&J>IuB*$(UW0Bd7|B0qB6O10F;bko+Me@eM>k$OB? za@ic_t`Mug2rkgVL*+gf&Hx$aJx@eo35?vguF$gRWk9pHJY-C~KOe#D@vX30mZt>k zJZn{iIXS&EpZeo>WmLLG3X7c8GMUHr#g#zyszq6;AY``QHS2GZ;|Hf>E7>DvR%MIW zS{gnOd)^rdN(21VT}=aSzXWBc_f@$;1iH_>n%RLn$S4TGJED*k$ACL?;a?d#i&sH- z`(bJ;W&3|aj^v3mnDpHl3=L)l8cY_O&HOr2RQ#HMW^6gXISkyd^j+}Aw204wl}hlf z7K1%eg7WfIPXS-$%`xfnG=#&5gCzP&Tulj9FCRVi=q@M&HI(3Xv;`33IgR?ZTheU774+5F@jT*ZTP?^lZ#LgBHHmfsyP}N0oniz~reOaAUX{zAHtmg>Lcda)m3!}tdkk=a*RwWmyK+>$r>V!IJ2qok=Uh;Y zF{$i(f|krXtda3VKC4wJ$2_$kEq@X`n!KIW6?)Yl_4##q#fT$pOu~S1t`1z#x_SNz z^&Dy7N__!>6eU2bkZeCnMM#Zim5*h$>1DlvAtuX_j&vjpdiC?i1=sUGsG+vpt;(U4 zPfM4W2eROz9ymYw?oe7X&#pF}sR&y3G>RKT=Ze4l?Oh*s>Y9hi4BaH_sNsQ5izmlb zE9(mj(<|A{9ov=oroCl04hWBRQe%yBOIJkNCWK3D#;Uo(6dWyC6YDOBCj2cc|RJ zhg%1xRjC}_CcdavfWP*6GR3;ITR!E{#oC5B*&d0<&$*EssaXheQ!by7WBT%Un`Dv* z7d@l(&N?MAHZd8xKJl<&N({_yuAO>>uGs~1<$ zo13RA`xE1QFh&!m0k(<3YwQVZz7qJo7B|E|Mu;APwrFByhNP&-^1FE?4l8JO|rC%C4+M0|tZwTRW*ZNC*Dq!}KdJEc`5qd5s#K(>R4 zVuK~PQxjdtq4&7wG50QFRhkB;Vq^^7RFeU^V_M(ato!Vdi5@FE9&Wex*NtcNSXbId z5bA_TL~O+bP1e@u7!Y5d8yZFQm$xM$PK!zscMiwjpr6SfqKcZ=CF9$&C^S7V=~G%^ zU~)a6&LN=j{LQL~&y-1t=v|!~T|+N6p|V&L9AhY)=bNiXN2J z<-1(RNzke&TyzQ&m*MN~?&djr(+QbosB3-0j6NE-yz8=~NzrphM+a$t$Z(3LjQkKY z9VHtU1Om3yEIzNY0JJe!)rq}oCv{9W;WaKJqiE2@1mQJwe0pO{v*VlW-<#ZQ_Uh1N zAIBS`1M3X4LS5W1kj{~l?0;KxN?olfUSGaPkIzZkRUP4ppDUfiPpC-!uBiVvW6Mh? zUwrT>j`%!Ts9Q;u!K+t2x=x=P9=uFn;KG1A#_7<1%Gg3DF?%8N_g*QEah=i@p_%Z_ z6z9eKwnvOxZw9jU&QGSz>8R5dx`utgC3`UAyl`ymQqS^Nt|EtXie3@7zD-kuR6i~q zbeYIn_;G5DGB_Di6-#4zJ>l}5RqP0*JR`0zQ@vp|nAf`WB?+46ka-sb`dZAxOch+# z3AE<72MF!AbBpaxqkd2)y>tVOxsb_!E+y+a`&m6OL=>LO=cy8=;Y^4=1oDIEtC7V4 z4V!$~U+ffnD0xN=!SMTillXIopj$b@%wSHu77uoqzE76#ympHP{jx zmAjX^u~k=F`(|?~cmif$znwERGuX#TH}k$e5ngBIWGQX1wOc_jc)>EI3Ch~z?%flq zH{2DFqJuZd??zcnRlX$(r&rlHef@$Evpl_1!E0>F7d2jGwZE-3^P_sqX>h~rzodjh zz9T4oKoHPt zyp9u@ks@p3eVcU6_k1sFPAlB2PmYn%8$@Q==|R_hiG7!v zj7An2I9)3cW9;`yw&KN#@j7gX739b=_R=HCieA`U_bG@@ zdR0*!3wfZRB}U5u>y^r!^R6I8#EN5DPM6k9)pU|>8m9>F7KphyatrGTN@8f38_+uE zi1dD8_VJJ4r0A*>_48&n#@LmsEF#wsTo+-Vem?iBi4}r{`+_8kI1aa~yh^QD{G@bz z?tkNQHyZOt;^>uIrp!B&$R}u-`StJO#MdA7R7-%AouZ=#CKR{JpO;+;`e__YGk1WS}8c~RPmp%|jhY`vJNN`L4 z?i`X$C{fh?B8L+A zac_1BRvuAHQ&p$sP{`YziMfH2`SnG)4NQj-4;0RALrmBk7HkAH61&?DqLf^U2bMzN z6nWb!z`8#xGt0vN2LV~IWv&nHqzBjQ2n!<|^+GYB0oOL49T3cd0OMt$u`jUK0>bMW z2%_}{mzz~Ou&~#lN~gLBqG?SDYyra9uX#&y>Df8KsSg+`IpsQmscWzlf9~kO zGsR^=EXN&d04AWVTtMSd2wb|jDeO}bi9n%CsIu-<8&6U z`UWqo&D-DKCXBvom{TX~uP(`d4S0?V22HyBnvusLGc)s~!0yh#`dW&ZO#J@q@p2mm zSl{b!Ghke2(z@Pz*LiIjt>Aw;mD=<{xS(oyt~iy!SAwz_Of;!KwPw=nS=qOgB;=Xf zf5!p(8*~`T#RHZK796)Y1Jng05MzxqdQ3-@EUu(faXJBqG7rYE@_!4a@Hx#C-rB3F zbJYg}zUb(U3a&&t=eBm&OA+)~A4dE}X`X%1Fk z#gg)ZwB`lzBe+dn&3VfMpN??VSh08IuU7%0E4UEgIQ7&jpQTw$_lX^sC=&G^rfE2) z{d9AOkcYJEt@ZQk%l#gAhvaZ^j5ian0=q%~KP1*SK3|Jqk0{FpeUw^I%mWb`Hp}2! zT}vb~G+;2%KsEMLjY(!Vt$6^0Z+)qXUw(TH;4(CR&)AHd&r^^~x~4BtDGGAJRK&iy zZzIe=T`2H$WD{Q2)V@&b5vB$i4gJA{Z}_^Gm;DK}sfb!^o$e#pg!34;qs#8Dlq4G@ zKx+QN8m06SI<^7dMY$GZ77hrgWf;O$ZST=Wb>hbt$SG|xfFU-G4;t?e(oAoepfnG& z;07q~5;R9{U1N`$y3Y_vH_v&SI#dYD|HQ0@fc_=6m0aND?iEFsGTzwd49kczUk}tz zbw&~j?-@K%#fR*mCLg0Tvc6?K7!rt6a`kZjy|0&JE*dYCYQVwDp5(Cn6Wb_gzo#hdZ9)d34n0u0d zMu(y0NoRzD_4OAC+!i^)>~3f!NU*gZx=7PJ+WHBpV#>xKE+o?HDcwq=4J8Tk(D-w$ z+z)RIO$Bzmq@?K}NKvD?V_grF7oNM&>GwhRS1ZljN#6ySJ}Y|UcB${K%=7MV?DN`} zC&YQ%$)~2?52r_~e9RZer@AbU9@f^ED9*9(@UzqHv={Sgo4+ERv`3HZP*eXT$$Cin zL&NE2$eU+kbULdpM)ikr>$&^X!COby1Wv#YPdXxbMeMg9j4fL_+6prSKi)BB7(QlylzSM2cg8{;-AQ0M(T=lVz?aAr zY8a~Um_2tFGU#VPNs1wErkqV6Fpq0aqYkADAmMu={p|L~nSMf&J&7_*HLzXd*D4LkZVB3jqs-XhmLxRr06R) z7sYNw(vZ5_UZH6&as7k7oV4<6XDMX_$2?iYH^A|BO|eArKt5X49LQ@z*dWM4y7qu?_$ zhB$q4?1pA|NIw&aauFcxVZ|zXbm?3-^(SH{;eKDR`qB#bl@Wncl2%M)85W#}3WE^LFc^JVU(bsFiG+LdR%F5# zf-R5If^A6zk7+W*WjU2O{%}z1yg9Qqm9L<=&{omdLP{J z|6_pT$=>QjzDR!hOQZ+%_G48h_1JT}v>Y*aMm+HeO1X$re@1-hJmH|OH&fK5F9`ce zvbXW(D7OZOJqlYNKy^%)i8XHLsn{Zyqg1^vNXW_I-Z$(RVPGz-P?^f1^fPSzg0ZE9 zJhn5s4EwaZxi@1g)YV#^F{(2<)bhyE+@UJ!^R;je6fq&S5w;-cNXKZ-6kF}7RH4p6 zcQ>2wJ_oVzeM(tSX7%6v?RhB!?1VsUV#=#A9`I``(oS8{Eu7OH zBmi>Qr(3WfdeWC)n%bNDEEYh6EaD$j#eM5CJ^e!p1%*cJpJ;E5WIK7 zdIW*0WZ9qgK(tib#c$@@kigr3wwYNR*kY9p`-hD~jW+Od0ltPp?*2VN-Fy&FkcvQQ zK0Mgd-Mxni`kU0$Z@+dH3!Z={w`UiW0dl*drQ<^Y^gp+v%_Ui?`lzRWoO}ox8ygEw zNxAu=&Ht7e6fOP`4-BU1W-0M*fROrTooprDr46rQkMz6<_|3TNy&n6Z5B$VUp3%yO z(H1B5c`4L-4+FtSW$;7C=845%iqO%8zpb5J=b!aHtG=t#`u6XVaR1QVneud|hq!c# zl4C0gJ2+dvirc}x*D1jBR>tyF&g-FCXnW4V$5 diff --git a/maps/aurora/aurora-3_sublevel.dmm b/maps/aurora/aurora-3_sublevel.dmm index af16314cfa5..04a1e5e63dd 100644 --- a/maps/aurora/aurora-3_sublevel.dmm +++ b/maps/aurora/aurora-3_sublevel.dmm @@ -21468,6 +21468,22 @@ name = "Station Intercom (General)"; pixel_y = 22 }, +/obj/item/taperoll/medical{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/taperoll/medical{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/taperoll/medical{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/taperoll/medical{ + pixel_x = -6; + pixel_y = 6 + }, /turf/simulated/floor/tiled, /area/medical/medbay4) "aSH" = ( diff --git a/maps/aurora/aurora-4_mainlevel.dmm b/maps/aurora/aurora-4_mainlevel.dmm index 396a6e3a97a..04cf6c322bc 100644 --- a/maps/aurora/aurora-4_mainlevel.dmm +++ b/maps/aurora/aurora-4_mainlevel.dmm @@ -46332,6 +46332,14 @@ pixel_y = 5 }, /obj/effect/floor_decal/corner/white/diagonal, +/obj/item/taperoll/medical{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/taperoll/medical{ + pixel_x = -6; + pixel_y = 6 + }, /turf/simulated/floor/tiled, /area/medical/first_responder) "bAO" = (