diff --git a/_maps/shuttles/independent/independent_box.dmm b/_maps/shuttles/independent/independent_box.dmm
index 577290c6581c..31891a371d8c 100644
--- a/_maps/shuttles/independent/independent_box.dmm
+++ b/_maps/shuttles/independent/independent_box.dmm
@@ -249,9 +249,6 @@
dir = 9
},
/obj/structure/catwalk/over,
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
- dir = 4
- },
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{
dir = 9
},
@@ -261,9 +258,8 @@
/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{
dir = 4
},
-/obj/structure/cable{
- icon_state = "4-8"
- },
+/obj/machinery/meter/atmos/layer2,
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2,
/turf/open/floor/plating,
/area/ship/engineering)
"bk" = (
@@ -324,6 +320,11 @@
dir = 1
},
/obj/effect/decal/cleanable/wrapping,
+/obj/machinery/light_switch{
+ pixel_x = 19;
+ pixel_y = 13;
+ dir = 8
+ },
/turf/open/floor/plating,
/area/ship/engineering)
"bo" = (
@@ -620,12 +621,11 @@
/turf/open/floor/carpet/nanoweave/blue,
/area/ship/bridge)
"cr" = (
-/obj/effect/turf_decal/industrial/hatch/yellow,
-/obj/machinery/atmospherics/components/unary/portables_connector/layer2,
-/obj/structure/cable{
- icon_state = "6-8"
+/obj/machinery/iv_drip/saline,
+/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{
+ dir = 1
},
-/obj/machinery/portable_atmospherics/canister/air,
+/obj/effect/turf_decal/industrial/outline/yellow,
/turf/open/floor/plating,
/area/ship/engineering)
"cu" = (
@@ -1497,6 +1497,10 @@
dir = 8
},
/obj/structure/catwalk/over,
+/obj/machinery/power/apc/auto_name/directional/north,
+/obj/structure/cable{
+ icon_state = "0-4"
+ },
/turf/open/floor/plating,
/area/ship/engineering)
"ql" = (
@@ -1520,27 +1524,24 @@
/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{
dir = 1
},
-/obj/structure/cable{
- icon_state = "5-9"
- },
/obj/structure/sign/warning/electricshock{
pixel_x = 32
},
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 10
+ },
/turf/open/floor/plating,
/area/ship/engineering)
"qX" = (
/turf/open/floor/plasteel/white,
/area/ship/medical)
"ri" = (
-/obj/structure/railing{
- dir = 8
- },
-/obj/machinery/iv_drip/saline,
-/obj/effect/turf_decal/industrial/hatch/yellow,
-/obj/structure/railing{
- dir = 4
+/obj/machinery/atmospherics/components/unary/portables_connector/layer2{
+ dir = 1
},
+/obj/machinery/portable_atmospherics/canister/air,
/obj/machinery/light/small/directional/south,
+/obj/effect/turf_decal/industrial/outline/yellow,
/turf/open/floor/plating,
/area/ship/engineering)
"ro" = (
@@ -1619,11 +1620,11 @@
/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{
dir = 1
},
-/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
- dir = 9
+/obj/structure/cable{
+ icon_state = "2-8"
},
-/obj/structure/cable/yellow{
- icon_state = "2-5"
+/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
+ dir = 5
},
/turf/open/floor/plating,
/area/ship/engineering)
@@ -1836,13 +1837,10 @@
/turf/open/floor/plating,
/area/ship/bridge)
"wb" = (
-/obj/machinery/power/port_gen/pacman{
- anchored = 1
- },
-/obj/effect/turf_decal/industrial/outline/yellow,
+/obj/machinery/power/port_gen/pacman,
/obj/item/wrench,
-/obj/structure/cable/yellow,
-/obj/machinery/airalarm/directional/south,
+/obj/structure/cable,
+/obj/effect/turf_decal/industrial/hatch/yellow,
/turf/open/floor/plating,
/area/ship/engineering)
"wd" = (
@@ -1871,10 +1869,13 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 8
},
+/obj/structure/catwalk/over,
/obj/structure/cable{
icon_state = "2-4"
},
-/obj/structure/catwalk/over,
+/obj/structure/cable{
+ icon_state = "2-8"
+ },
/turf/open/floor/plating,
/area/ship/engineering)
"wj" = (
@@ -2200,21 +2201,11 @@
/turf/open/floor/plasteel/dark,
/area/ship/crew)
"CR" = (
-/obj/structure/railing{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/layer_manifold/visible{
- dir = 8
- },
-/obj/structure/reagent_dispensers/watertank,
-/obj/effect/turf_decal/industrial/outline/yellow,
-/obj/item/storage/bag/trash{
- pixel_x = 6
+/obj/machinery/power/smes/engineering{
+ charge = 1e+006
},
-/obj/item/reagent_containers/glass/bucket,
-/obj/item/mop,
-/obj/machinery/power/apc/auto_name/directional/south,
/obj/structure/cable,
+/obj/effect/turf_decal/industrial/hatch/yellow,
/turf/open/floor/plating,
/area/ship/engineering)
"Dm" = (
@@ -2302,18 +2293,16 @@
/turf/open/floor/plasteel/white,
/area/ship/cargo)
"FL" = (
-/obj/machinery/firealarm/directional/south,
-/obj/structure/catwalk/over,
-/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2,
-/obj/machinery/meter/atmos/layer2,
/obj/effect/turf_decal/trimline/opaque/yellow/filled/corner{
dir = 4
},
-/obj/machinery/light_switch{
- dir = 1;
- pixel_x = 10;
- pixel_y = -19
+/obj/machinery/power/terminal{
+ dir = 8
+ },
+/obj/structure/cable{
+ icon_state = "0-4"
},
+/obj/structure/catwalk/over,
/turf/open/floor/plating,
/area/ship/engineering)
"Gb" = (
@@ -2326,10 +2315,10 @@
/obj/structure/cable{
icon_state = "1-2"
},
-/obj/item/wallframe/firealarm,
/obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{
dir = 4
},
+/obj/machinery/firealarm/directional/west,
/turf/open/floor/plating,
/area/ship/engineering)
"Gi" = (
@@ -2372,24 +2361,10 @@
/turf/open/floor/plating,
/area/ship/engineering)
"HM" = (
-/obj/machinery/power/terminal{
- dir = 4
- },
-/obj/structure/cable/yellow{
- icon_state = "0-10"
- },
-/obj/effect/spawner/lootdrop/maintenance/three,
-/obj/structure/rack,
-/obj/item/areaeditor/shuttle,
-/obj/item/flashlight{
- pixel_x = 3;
- pixel_y = 3
- },
-/obj/item/storage/toolbox/mechanical{
- pixel_y = 4
+/obj/structure/catwalk/over,
+/obj/machinery/atmospherics/components/binary/pump/layer2{
+ dir = 8
},
-/obj/item/bot_assembly/hygienebot,
-/obj/machinery/firealarm/directional/north,
/turf/open/floor/plating,
/area/ship/engineering)
"Ic" = (
@@ -2412,12 +2387,11 @@
/turf/open/floor/plasteel/mono/dark,
/area/ship/medical)
"In" = (
-/obj/machinery/power/smes/engineering{
- charge = 1e+006
- },
-/obj/structure/cable{
- icon_state = "0-10"
+/obj/machinery/atmospherics/components/unary/tank/air{
+ dir = 8;
+ piping_layer = 2
},
+/obj/effect/turf_decal/industrial/hatch/yellow,
/turf/open/floor/plating,
/area/ship/engineering)
"Ja" = (
@@ -2704,7 +2678,6 @@
/obj/structure/railing{
dir = 4
},
-/obj/machinery/firealarm/directional/north,
/turf/open/floor/plating,
/area/ship/engineering)
"SJ" = (
@@ -2832,10 +2805,20 @@
/turf/open/floor/plating,
/area/ship/bridge)
"WW" = (
-/obj/machinery/atmospherics/components/unary/tank/air{
- dir = 4
+/obj/structure/cable/yellow{
+ icon_state = "0-10"
},
-/obj/effect/turf_decal/industrial/hatch/yellow,
+/obj/effect/spawner/lootdrop/maintenance/three,
+/obj/structure/rack,
+/obj/item/areaeditor/shuttle,
+/obj/item/flashlight{
+ pixel_x = 3;
+ pixel_y = 3
+ },
+/obj/item/storage/toolbox/mechanical{
+ pixel_y = 4
+ },
+/obj/item/bot_assembly/hygienebot,
/obj/machinery/light/small/directional/west,
/turf/open/floor/plating,
/area/ship/engineering)
@@ -2963,9 +2946,15 @@
/turf/open/floor/plasteel/tech,
/area/ship/medical)
"ZN" = (
+/obj/structure/reagent_dispensers/watertank,
+/obj/effect/turf_decal/industrial/outline/yellow,
+/obj/item/storage/bag/trash{
+ pixel_x = 6
+ },
+/obj/item/reagent_containers/glass/bucket,
+/obj/item/mop,
/obj/machinery/atmospherics/pipe/simple/orange/hidden,
/obj/machinery/light/small/directional/east,
-/obj/structure/salvageable/machine,
/turf/open/floor/plating,
/area/ship/engineering)
diff --git a/code/datums/guestbook.dm b/code/datums/guestbook.dm
index 99104f09d715..ecb7087ed08e 100644
--- a/code/datums/guestbook.dm
+++ b/code/datums/guestbook.dm
@@ -67,7 +67,7 @@
given_name = reject_bad_name(given_name)
if(!given_name)
if(!silent)
- to_chat(user, span_warning("That's a pretty terrible name. You can do better."))
+ to_chat(user, span_warning("That's a pretty terrible name."))
return FALSE
if(!visibility_checks(user, guest, silent))
return FALSE
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index 00fee50bd2d0..f52b9bdace9e 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -1732,7 +1732,20 @@
/// Returns the atom name that should be used on screentip
/atom/proc/get_screentip_name(client/hovering_client)
- return name
+ if(ishuman(src))
+ var/mob/living/carbon/human/guy = src
+ var/mob/client_mob = hovering_client.mob
+ var/datum/guestbook/guestbook = client_mob.mind?.guestbook
+ if(guestbook)
+ var/known_name = guestbook.get_known_name(client_mob, guy)
+ if(known_name)
+ return known_name
+ else
+ return guy.get_visible_name()
+ else
+ return guy.real_name
+ else
+ return name
///Called whenever a player is spawned on the same turf as this atom.
/atom/proc/join_player_here(mob/M)
diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm
index b0e030206a0f..1e1718623816 100644
--- a/code/game/machinery/recharger.dm
+++ b/code/game/machinery/recharger.dm
@@ -22,6 +22,7 @@
/obj/item/modular_computer,
/obj/item/gun/ballistic/automatic/powered,
/obj/item/gun/ballistic/automatic/assault/e40,
+ /obj/item/stock_parts/cell/gun
))
/obj/machinery/recharger/RefreshParts()
@@ -31,19 +32,22 @@
/obj/machinery/recharger/examine(mob/user)
. = ..()
if(!in_range(user, src) && !issilicon(user) && !isobserver(user))
- . += "You're too far away to examine [src]'s contents and display!"
+ . += span_warning("You're too far away to examine [src]'s contents and display!")
return
if(charging)
- . += {"\The [src] contains:
- - \A [charging]."}
+ . += span_notice("\The [src] contains:")
+ . += span_notice("- \A [charging].")
if(!(machine_stat & (NOPOWER|BROKEN)))
- . += "The status display reads:"
- . += "- Recharging [recharge_coeff*10]% cell charge per cycle."
+ . += span_notice("The status display reads:")
+ . += span_notice("- Recharging [recharge_coeff*10]% cell charge per cycle.")
if(charging)
var/obj/item/stock_parts/cell/C = charging.get_cell()
- . += "- \The [charging]'s cell is at [C.percent()]%."
+ if(istype(charging, /obj/item/stock_parts/cell))
+ . += span_notice("- \The [charging]'s charge is at [C.percent()]%.")
+ else
+ . += span_notice("- \The [charging]'s cell is at [C.percent()]%.")
/obj/machinery/recharger/proc/setCharging(new_charging)
@@ -62,11 +66,11 @@
/obj/machinery/recharger/attackby(obj/item/G, mob/user, params)
if(G.tool_behaviour == TOOL_WRENCH)
if(charging)
- to_chat(user, "Remove the charging item first!")
+ to_chat(user, span_notice("Remove the charging item first!"))
return
set_anchored(!anchored)
power_change()
- to_chat(user, "You [anchored ? "attached" : "detached"] [src].")
+ to_chat(user, span_notice("You [anchored ? "attached" : "detached"] [src]."))
G.play_tool_sound(src)
return
@@ -80,13 +84,13 @@
//Checks to make sure he's not in space doing it, and that the area got proper power.
var/area/a = get_area(src)
if(!isarea(a) || a.power_equip == 0)
- to_chat(user, "[src] blinks red as you try to insert [G].")
+ to_chat(user, span_notice("[src] blinks red as you try to insert [G]."))
return TRUE
if (istype(G, /obj/item/gun/energy))
var/obj/item/gun/energy/E = G
if(!E.can_charge)
- to_chat(user, "Your gun has no external power connector.")
+ to_chat(user, span_notice("Your gun has no external power connector."))
return TRUE
if(!user.transferItemToLoc(G, src))
@@ -94,7 +98,7 @@
setCharging(G)
else
- to_chat(user, "[src] isn't connected to anything!")
+ to_chat(user, span_notice("[src] isn't connected to anything!"))
return TRUE
if(anchored && !charging)
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 09b355a86045..376d1ba16d11 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -31,7 +31,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
///If set, vox wearing this use this instead of their clothing file
var/vox_override_icon
- /// Needs to follow this syntax: either a list() with the x and y coordinates of the pixel you want to get the colour from, or a hexcolour. Colour one replaces red, two replaces blue, and three replaces green in the icon state.
+ /// Needs to follow this syntax: either a list() with the x and y coordinates of the pixel you want to get the colour from, or a hexcolour. Colour one replaces red, two replaces green, and three replaces blue in the icon state.
var/list/greyscale_colors[3]
/// Needs to be a RGB-greyscale format icon state in all species' clothing icon files.
var/greyscale_icon_state
diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm
index 6528ef4851c7..a9f28d88caed 100644
--- a/code/game/objects/items/devices/flashlight.dm
+++ b/code/game/objects/items/devices/flashlight.dm
@@ -62,7 +62,7 @@
to_chat(user, "[M] doesn't have a head!")
return
- if(light_power < 1)
+ if(light_power < 0.3)
to_chat(user, "\The [src] isn't bright enough to see anything! ")
return
diff --git a/code/game/say.dm b/code/game/say.dm
index 2d53eea65e75..cac8bafe5365 100644
--- a/code/game/say.dm
+++ b/code/game/say.dm
@@ -72,7 +72,7 @@ GLOBAL_LIST_INIT(freqcolor, list())
namepart = "[known_name]"
else
var/mob/living/carbon/human/human_narrator = reliable_narrator
- namepart = "[human_narrator.get_generic_name(prefixed = TRUE, lowercase = FALSE)]"
+ namepart = "[human_narrator.get_generic_name(prefixed = TRUE, lowercase = TRUE)]"
//End name span.
var/endspanpart = ""
diff --git a/code/modules/clothing/factions/ngr.dm b/code/modules/clothing/factions/ngr.dm
index 4a70d10327c6..c02f2f1982b6 100644
--- a/code/modules/clothing/factions/ngr.dm
+++ b/code/modules/clothing/factions/ngr.dm
@@ -123,6 +123,7 @@
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/ngr
lightweight = 1
jetpack = null
+ greyscale_colors = list("#33353a", "#d9ad82", "#8c1a34")
/obj/item/clothing/head/helmet/space/plasmaman/ngr
name = "NGR phorid envirosuit helmet"
diff --git a/code/modules/mob/dead/new_player/preferences_setup.dm b/code/modules/mob/dead/new_player/preferences_setup.dm
index cc5a69dd095f..71b66ac54fb4 100644
--- a/code/modules/mob/dead/new_player/preferences_setup.dm
+++ b/code/modules/mob/dead/new_player/preferences_setup.dm
@@ -52,7 +52,9 @@
var/random_species_type = GLOB.species_list[pick(GLOB.roundstart_races)]
pref_species = new random_species_type
if(randomise[RANDOM_NAME])
- real_name = pref_species.random_name(gender,1)
+ real_name = pref_species.random_name(gender, TRUE)
+ if(randomise[RANDOM_AGE])
+ age = rand(pref_species.species_age_min, pref_species.species_age_max)
/datum/preferences/proc/update_preview_icon(show_gear = TRUE, show_loadout = FALSE)
// Set up the dummy for its photoshoot
diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm
index 7bbe9fb1de72..cf3f5ec725ec 100644
--- a/code/modules/mob/living/carbon/human/examine.dm
+++ b/code/modules/mob/living/carbon/human/examine.dm
@@ -25,7 +25,7 @@
//if we have no guestbook, we just KNOW okay?
var/known_name = user.mind?.guestbook ? user.mind.guestbook.get_known_name(user, src, face_name) : face_name
if(known_name)
- . += "You know them as [known_name]."
+ . += "You know [t_him] as [known_name]."
else
. += "You don't recognize [t_him]. You can Ctrl-Shift click [t_him] to memorize their face."
else
diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm
index 9e2cfe4f1556..cd588a89b9ce 100644
--- a/code/modules/mob/living/carbon/human/human_helpers.dm
+++ b/code/modules/mob/living/carbon/human/human_helpers.dm
@@ -192,23 +192,65 @@
/mob/living/carbon/human/proc/get_age()
var/obscured = check_obscured_slots()
var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE))
- if((obscured & ITEM_SLOT_ICLOTHING) && skipface || isipc(src))
+ if((obscured & ITEM_SLOT_ICLOTHING) && skipface || isipc(src) || isskeleton(src)) // sorry ladies no middle aged robots
return FALSE
- switch(age)
- if(70 to INFINITY)
- return "Geriatric"
- if(60 to 70)
- return "Elderly"
- if(50 to 60)
- return "Old"
- if(40 to 50)
- return "Middle-Aged"
- if(24 to 40)
- return FALSE //not necessary because this is basically the most common age range
- if(18 to 24)
- return "Young"
- else
- return "Puzzling"
+ if(islizard(src))
+ switch(age)
+ if(175 to INFINITY)
+ return "Ancient"
+ if(130 to 175)
+ return "Elderly"
+ if(100 to 130)
+ return "Old"
+ if(65 to 100)
+ return "Middle-Aged"
+ if(40 to 65)
+ return FALSE
+ if(18 to 40)
+ return "Young"
+ else if(isvox(src))
+ switch(age)
+ if(280 to INFINITY)
+ return "Ancient"
+ if(200 to 280)
+ return "Elderly"
+ if(160 to 200)
+ return "Old"
+ if(120 to 160)
+ return "Middle-Aged"
+ if(60 to 120)
+ return FALSE
+ if(18 to 60)
+ return "Young"
+ else if(iselzuose(src))
+ switch(age)
+ if(300 to INFINITY)
+ return "Ancient"
+ if(260 to 300)
+ return "Elderly"
+ if(160 to 260)
+ return "Old"
+ if(100 to 160)
+ return "Middle-Aged"
+ if(40 to 100)
+ return FALSE // most common age range
+ if(18 to 40)
+ return "Young"
+ else
+ switch(age)
+ if(70 to INFINITY)
+ return "Ancient"
+ if(60 to 70)
+ return "Elderly"
+ if(50 to 60)
+ return "Old"
+ if(40 to 50)
+ return "Middle-Aged"
+ if(24 to 40)
+ return FALSE // most common age range
+ if(18 to 24)
+ return "Young"
+ return "Puzzling"
/mob/living/carbon/human/proc/get_generic_name(prefixed = FALSE, lowercase = FALSE)
var/final_string = ""
diff --git a/code/modules/mob/living/carbon/human/species_types/vox.dm b/code/modules/mob/living/carbon/human/species_types/vox.dm
index b9cc8306762e..b61b334e6ec2 100644
--- a/code/modules/mob/living/carbon/human/species_types/vox.dm
+++ b/code/modules/mob/living/carbon/human/species_types/vox.dm
@@ -3,7 +3,6 @@
name = "\improper Vox"
id = SPECIES_VOX
default_color = "6060FF"
- species_age_min = 17
species_age_max = 280
species_traits = list(EYECOLOR, NO_UNDERWEAR)
mutant_bodyparts = list("vox_head_quills", "vox_neck_quills")
@@ -12,7 +11,7 @@
disliked_food = GRAIN
liked_food = MEAT
changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT
- loreblurb = "Vox test"
+ loreblurb = "Vox are a big bird-like species with quills, much larger and much more long-lasting than other species. Sadly, not much else is known."
attack_verb = "slash"
attack_sound = 'sound/weapons/slash.ogg'
miss_sound = 'sound/weapons/slashmiss.ogg'
diff --git a/code/modules/projectiles/guns/ballistic/assault.dm b/code/modules/projectiles/guns/ballistic/assault.dm
index d5ed7a8225bf..bdabf0a5bda9 100644
--- a/code/modules/projectiles/guns/ballistic/assault.dm
+++ b/code/modules/projectiles/guns/ballistic/assault.dm
@@ -247,8 +247,8 @@
secondary.pre_fire(target, user, message, flag, params, zone_override, bonus_spread)
-/obj/item/gun/ballistic/automatic/powered/get_cell()
- return cell
+/obj/item/gun/ballistic/automatic/assault/e40/get_cell()
+ return secondary.get_cell()
/obj/item/gun/ballistic/automatic/assault/e40/update_overlays()
. = ..()
diff --git a/html/changelogs/AutoChangeLog-pr-3066.yml b/html/changelogs/AutoChangeLog-pr-3066.yml
deleted file mode 100644
index d5381a4208c6..000000000000
--- a/html/changelogs/AutoChangeLog-pr-3066.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: FalloutFalcon
-changes:
- - {rscdel: Removed blob and alot of stuff close to blob}
-delete-after: true
diff --git a/html/changelogs/archive/2024-08.yml b/html/changelogs/archive/2024-08.yml
index b8ee88c318b3..eae03d357083 100644
--- a/html/changelogs/archive/2024-08.yml
+++ b/html/changelogs/archive/2024-08.yml
@@ -184,3 +184,21 @@
FalloutFalcon:
- balance: Ballistic weapons now have a minimum camera shake.
- bugfix: Gunslinger now functions as intended.
+2024-08-28:
+ Anticept:
+ - bugfix: Adjusted the Box Hospital Ship's engineering layout so that it's less
+ jank, and the power system doesn't loop on itself anymore.
+ FalloutFalcon:
+ - rscdel: Removed blob and alot of stuff close to blob
+ Gristlebee:
+ - rscadd: Weapon cells can be inserted directly into weapon chargers to charge them.
+ - bugfix: e40s not charging in weapons rechargers.
+ firebudgy:
+ - bugfix: Medical Examinations via Flashlight is now an option again. Check eye
+ health or see what's in someone's mouth!
+ meemofcourse:
+ - rscadd: Vox lore blurb
+ - bugfix: Inconsistent capitalization when speaking due to guestbook
+ - code_imp: Changed how the game recognizes Vox and Sarathi age
+ thgvr:
+ - imageadd: Kepori hardsuits now have a fallback icon
diff --git a/icons/mob/clothing/species/kepori.dmi b/icons/mob/clothing/species/kepori.dmi
index 1586e80e9b19..9e108db76b87 100644
Binary files a/icons/mob/clothing/species/kepori.dmi and b/icons/mob/clothing/species/kepori.dmi differ
diff --git a/tgui/yarn.lock b/tgui/yarn.lock
index faa07b26931d..dcda23e174b2 100644
--- a/tgui/yarn.lock
+++ b/tgui/yarn.lock
@@ -2955,11 +2955,11 @@ __metadata:
linkType: hard
"braces@npm:^3.0.1, braces@npm:~3.0.2":
- version: 3.0.2
- resolution: "braces@npm:3.0.2"
+ version: 3.0.3
+ resolution: "braces@npm:3.0.3"
dependencies:
- fill-range: ^7.0.1
- checksum: e2a8e769a863f3d4ee887b5fe21f63193a891c68b612ddb4b68d82d1b5f3ff9073af066c343e9867a393fe4c2555dcb33e89b937195feb9c1613d259edfcd459
+ fill-range: ^7.1.1
+ checksum: b95aa0b3bd909f6cd1720ffcf031aeaf46154dd88b4da01f9a1d3f7ea866a79eba76a6d01cbc3c422b2ee5cdc39a4f02491058d5df0d7bf6e6a162a832df1f69
languageName: node
linkType: hard
@@ -4482,12 +4482,12 @@ __metadata:
languageName: node
linkType: hard
-"fill-range@npm:^7.0.1":
- version: 7.0.1
- resolution: "fill-range@npm:7.0.1"
+"fill-range@npm:^7.1.1":
+ version: 7.1.1
+ resolution: "fill-range@npm:7.1.1"
dependencies:
to-regex-range: ^5.0.1
- checksum: cc283f4e65b504259e64fd969bcf4def4eb08d85565e906b7d36516e87819db52029a76b6363d0f02d0d532f0033c9603b9e2d943d56ee3b0d4f7ad3328ff917
+ checksum: b4abfbca3839a3d55e4ae5ec62e131e2e356bf4859ce8480c64c4876100f4df292a63e5bb1618e1d7460282ca2b305653064f01654474aa35c68000980f17798
languageName: node
linkType: hard