From 9a6d9968dcce1dffe254f6ff0f15476ad8d0ac60 Mon Sep 17 00:00:00 2001 From: "Wowzewow (Wezzy)" <42310821+alsoandanswer@users.noreply.github.com> Date: Fri, 11 Jul 2025 05:37:16 +0800 Subject: [PATCH] 7/7 Bugfixes (#20969) Fixes #20958 Fixes #20949 Fixes #20916 Fixes #20556 Fixes #20692 Fixes #20553 Fixes #20488 Fixes #20618 --- code/game/jobs/faction/orion_express.dm | 2 +- code/game/jobs/job/ship_crew.dm | 14 +++- .../objects/items/devices/minedetector.dm | 6 +- .../game/objects/items/stacks/sheets/glass.dm | 1 + .../objects/items/weapons/storage/boxes.dm | 2 +- .../objects/items/weapons/vaurca_items.dm | 1 - .../loadout/items/xeno/skrell.dm | 8 +-- code/modules/clothing/clothing_accessories.dm | 5 +- code/modules/clothing/glasses/glasses.dm | 5 +- code/modules/materials/materials.dm | 8 +++ code/modules/tables/tables.dm | 6 +- html/changelogs/wezzy_bugfixes77.yml | 63 ++++++++++++++++++ icons/mob/species/warriorform/eyes.dmi | Bin 219 -> 0 bytes icons/mob/species/warriorform/held_l.dmi | Bin 219 -> 0 bytes icons/mob/species/warriorform/held_r.dmi | Bin 219 -> 0 bytes icons/mob/species/warriorform/shoes.dmi | Bin 233 -> 0 bytes .../obj/item/clothing/under/skrell_casual.dmi | Bin 2656 -> 2655 bytes icons/obj/storage/boxes.dmi | Bin 14233 -> 14517 bytes icons/obj/unathi_items.dmi | Bin 99765 -> 100490 bytes 19 files changed, 104 insertions(+), 17 deletions(-) create mode 100644 html/changelogs/wezzy_bugfixes77.yml delete mode 100644 icons/mob/species/warriorform/eyes.dmi delete mode 100644 icons/mob/species/warriorform/held_l.dmi delete mode 100644 icons/mob/species/warriorform/held_r.dmi delete mode 100644 icons/mob/species/warriorform/shoes.dmi diff --git a/code/game/jobs/faction/orion_express.dm b/code/game/jobs/faction/orion_express.dm index 45fed6c07f1..82ee6cf615d 100644 --- a/code/game/jobs/faction/orion_express.dm +++ b/code/game/jobs/faction/orion_express.dm @@ -1,4 +1,4 @@ -/datum/faction/orin_express +/datum/faction/orion_express name = "Orion Express" description = {"
Founded in 2464, the Orion Express is a corporation designed to handle logistics for the
diff --git a/code/game/jobs/job/ship_crew.dm b/code/game/jobs/job/ship_crew.dm
index e3c09dbb3ea..0e3c80f12a4 100644
--- a/code/game/jobs/job/ship_crew.dm
+++ b/code/game/jobs/job/ship_crew.dm
@@ -14,7 +14,19 @@
minimal_access = list() //See /datum/job/assistant/get_access()
outfit = /obj/outfit/job/assistant
blacklisted_species = list(SPECIES_VAURCA_BREEDER)
-
+ alt_ages = list(
+ "Lab Assistant" = list(
+ SPECIES_IPC = 0
+ ),
+ "Technical Assistant" = list(
+ SPECIES_IPC = 0
+ ),
+ "Medical Orderly" = list(
+ SPECIES_IPC = 0
+ ),
+ "Wait Staff" = list(
+ SPECIES_IPC = 0
+ ))
alt_titles = list("Lab Assistant", "Technical Assistant", "Medical Orderly", "Wait Staff")
alt_outfits = list("Lab Assistant" = /obj/outfit/job/assistant/lab_assistant, "Technical Assistant" = /obj/outfit/job/assistant/tech_assistant, "Medical Orderly" = /obj/outfit/job/assistant/med_assistant, "Wait Staff" = /obj/outfit/job/assistant/waiter)
alt_factions = list(
diff --git a/code/game/objects/items/devices/minedetector.dm b/code/game/objects/items/devices/minedetector.dm
index 09727fd564b..d236221cda9 100644
--- a/code/game/objects/items/devices/minedetector.dm
+++ b/code/game/objects/items/devices/minedetector.dm
@@ -1,6 +1,9 @@
/obj/item/device/mine_detector
name = "mine detector"
desc = "A device capable of detecting mines and traps in a range."
+ icon = 'icons/obj/item/device/gps.dmi'
+ icon_state = "gps"
+ item_state = "radio"
///The types that are detected by this device
var/list/detectable_types = list(/obj/item/landmine, /obj/item/trap)
@@ -25,7 +28,7 @@
/obj/item/device/mine_detector/attack_self(mob/user)
. = ..()
-
+ ClearOverlays()
//Apply the delay and check it is passed, so a new scan can be done
if((last_use + delay_between_scans) > world.time)
return
@@ -41,6 +44,7 @@
if(!timer_id)
to_chat(user, SPAN_NOTICE("You power on the automatic mine detection system, which shows a loading screen with a progress bar."))
timer_id = addtimer(CALLBACK(src, PROC_REF(perform_scan), user), delay_between_scans, TIMER_UNIQUE|TIMER_STOPPABLE)
+ AddOverlays("gps_on")
else
to_chat(user, SPAN_NOTICE("You power off the automatic mine detection system."))
deltimer(timer_id)
diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm
index a51f7716f76..83f22b4d744 100644
--- a/code/game/objects/items/stacks/sheets/glass.dm
+++ b/code/game/objects/items/stacks/sheets/glass.dm
@@ -123,6 +123,7 @@
created_window = null
default_type = "wired glass"
construction_options = list()
+ icon_has_variants = FALSE
/obj/item/stack/material/glass/wired/attackby(obj/item/attacking_item, mob/user)
if(istype(attacking_item, /obj/item/stack/material/steel))
diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm
index b4ef9be8e99..915fcaf7286 100644
--- a/code/game/objects/items/weapons/storage/boxes.dm
+++ b/code/game/objects/items/weapons/storage/boxes.dm
@@ -594,7 +594,7 @@
/obj/item/storage/box/donkpockets/gwok
name = "box of teriyaki Gwok-pockets"
- icon_state = "gwokpocketbox"
+ icon_state = "donkpocketboxteriyaki"
item_state = "redbox"
illustration = null
starts_with = list(/obj/item/reagent_containers/food/snacks/donkpocket/teriyaki = 6)
diff --git a/code/game/objects/items/weapons/vaurca_items.dm b/code/game/objects/items/weapons/vaurca_items.dm
index 8a42a32b589..217ff6e60f4 100644
--- a/code/game/objects/items/weapons/vaurca_items.dm
+++ b/code/game/objects/items/weapons/vaurca_items.dm
@@ -286,7 +286,6 @@
species_restricted = list(BODYTYPE_VAURCA, BODYTYPE_VAURCA_WARFORM, BODYTYPE_VAURCA_BULWARK)
sprite_sheets = list(
- BODYTYPE_VAURCA_WARFORM = 'icons/mob/species/warriorform/shoes.dmi',
BODYTYPE_VAURCA_BULWARK = 'icons/mob/species/bulwark/shoes.dmi'
)
diff --git a/code/modules/client/preference_setup/loadout/items/xeno/skrell.dm b/code/modules/client/preference_setup/loadout/items/xeno/skrell.dm
index 27aeab6681d..72216fff5e9 100644
--- a/code/modules/client/preference_setup/loadout/items/xeno/skrell.dm
+++ b/code/modules/client/preference_setup/loadout/items/xeno/skrell.dm
@@ -373,14 +373,14 @@ ABSTRACT_TYPE(/datum/gear/accessory/skrell)
workcloak["iqi cloak"] = /obj/item/clothing/accessory/poncho/shouldercape/cloak/iqi
gear_tweaks += new /datum/gear_tweak/path(workcloak)
-/datum/gear/accessory/skrell/tees
+/datum/gear/shirts/skrell/tees
display_name = "skrellian wetshirts"
path = /obj/item/clothing/under/dressshirt/tshirt/skrell/ocean
whitelisted = list(SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_ATTENDANT, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER)
sort_category = "Xenowear - Skrell"
flags = GEAR_HAS_DESC_SELECTION
-/datum/gear/accessory/skrell/tees/New()
+/datum/gear/shirts/skrell/tees/New()
..()
var/list/tees = list()
tees["ocean wetshirt"] = /obj/item/clothing/under/dressshirt/tshirt/skrell/ocean
@@ -394,14 +394,14 @@ ABSTRACT_TYPE(/datum/gear/accessory/skrell)
tees["nralakk eriuyushi nebula shirt"] = /obj/item/clothing/under/dressshirt/tshirt/skrell/nebula/nralakk
gear_tweaks += new /datum/gear_tweak/path(tees)
-/datum/gear/accessory/skrell/dress
+/datum/gear/shirts/skrell/dress
display_name = "skrellian formal wetshirts"
path = /obj/item/clothing/under/dressshirt/skrell/ocean
whitelisted = list(SPECIES_SKRELL, SPECIES_SKRELL_AXIORI, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_ATTENDANT, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER)
sort_category = "Xenowear - Skrell"
flags = GEAR_HAS_DESC_SELECTION
-/datum/gear/accessory/skrell/dress/New()
+/datum/gear/shirts/skrell/dress/New()
..()
var/list/dress = list()
dress["ocean formal wetshirt"] = /obj/item/clothing/under/dressshirt/skrell/ocean
diff --git a/code/modules/clothing/clothing_accessories.dm b/code/modules/clothing/clothing_accessories.dm
index 2cf5f188756..b62173fe712 100644
--- a/code/modules/clothing/clothing_accessories.dm
+++ b/code/modules/clothing/clothing_accessories.dm
@@ -141,6 +141,9 @@
if(!(A in accessories))
return
+ if(use_check_and_message(user))
+ return
+
A.on_removed(user)
LAZYREMOVE(accessories, A)
update_clothing_icon()
@@ -152,7 +155,7 @@
set category = "Object"
set src in usr
- remove_accessory_handler(usr)
+ remove_accessory_handler(usr, FALSE)
/obj/item/clothing/proc/remove_accessory_handler(var/mob/living/user, var/force_radial = FALSE)
if(!isliving(user))
diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm
index 7b3f213e5ba..c3b31a83335 100644
--- a/code/modules/clothing/glasses/glasses.dm
+++ b/code/modules/clothing/glasses/glasses.dm
@@ -33,9 +33,6 @@ BLIND // can't see anything
var/activated_color = null
var/normal_layer = GLASSES_LAYER
var/shatter_material = /obj/item/material/shard
- sprite_sheets = list(
- BODYTYPE_VAURCA_WARFORM = 'icons/mob/species/warriorform/eyes.dmi'
- )
species_restricted = list("exclude",BODYTYPE_VAURCA_BREEDER)
drop_sound = 'sound/items/drop/accessory.ogg'
pickup_sound = 'sound/items/pickup/accessory.ogg'
@@ -850,7 +847,7 @@ BLIND // can't see anything
icon_state = "blinders"
item_state = "blinders"
sprite_sheets = list(
- BODYTYPE_VAURCA_BULWARK = 'icons/mob/species/bulwark/eyes.dmi', BODYTYPE_VAURCA_WARFORM = 'icons/mob/species/warriorform/eyes.dmi'
+ BODYTYPE_VAURCA_BULWARK = 'icons/mob/species/bulwark/eyes.dmi'
)
contained_sprite = TRUE
shatter_material = FALSE
diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm
index 9fa899bd212..2b93b6dc057 100644
--- a/code/modules/materials/materials.dm
+++ b/code/modules/materials/materials.dm
@@ -994,6 +994,7 @@
sheet_singular_name = "tile"
sheet_plural_name = "tiles"
protectiveness = 1 // 4%
+ icon_base = "carpet"
table_icon = 'icons/obj/structure/tables/fancy_table.dmi'
golem = SPECIES_GOLEM_CLOTH
drop_sound = 'sound/items/drop/cloth.ogg'
@@ -1005,6 +1006,7 @@
use_name = "black upholstery"
stack_type = /obj/item/stack/tile/carpet/black
icon_colour = COLOR_BLACK
+ icon_base = "carpet_black"
table_icon = 'icons/obj/structure/tables/fancy_table_black.dmi'
/material/carpet/blue
@@ -1012,6 +1014,7 @@
use_name = "blue upholstery"
stack_type = /obj/item/stack/tile/carpet/lightblue
icon_colour = COLOR_BLUE
+ icon_base = "carpet_blue"
table_icon = 'icons/obj/structure/tables/fancy_table_blue.dmi'
/material/carpet/cyan
@@ -1019,6 +1022,7 @@
use_name = "cyan upholstery"
stack_type = /obj/item/stack/tile/carpet/cyan
icon_colour = COLOR_CYAN
+ icon_base = "carpet_cyan"
table_icon = 'icons/obj/structure/tables/fancy_table_cyan.dmi'
/material/carpet/green
@@ -1026,6 +1030,7 @@
use_name = "green upholstery"
stack_type = /obj/item/stack/tile/carpet/green
icon_colour = COLOR_GREEN
+ icon_base = "carpet_green"
table_icon = 'icons/obj/structure/tables/fancy_table_green.dmi'
/material/carpet/orange
@@ -1033,6 +1038,7 @@
use_name = "orange upholstery"
stack_type = /obj/item/stack/tile/carpet/orange
icon_colour = COLOR_ORANGE
+ icon_base = "carpet_orange"
table_icon = 'icons/obj/structure/tables/fancy_table_green.dmi'
/material/carpet/purple
@@ -1040,12 +1046,14 @@
use_name = "purple upholstery"
stack_type = /obj/item/stack/tile/carpet/purple
icon_colour = COLOR_PURPLE
+ icon_base = "carpet_purple"
table_icon = 'icons/obj/structure/tables/fancy_table_purple.dmi'
/material/carpet/red
name = MATERIAL_CARPET_RED
stack_type = /obj/item/stack/tile/carpet/red
icon_colour = COLOR_RED
+ icon_base = "carpet_red"
table_icon = 'icons/obj/structure/tables/fancy_table_red.dmi'
/material/cloth
diff --git a/code/modules/tables/tables.dm b/code/modules/tables/tables.dm
index 5b0f622dac2..d8b1e6680a9 100644
--- a/code/modules/tables/tables.dm
+++ b/code/modules/tables/tables.dm
@@ -268,10 +268,10 @@
if(material) // Standard table image.
for(var/i = 1 to 4)
if(material.table_icon)
- if(reinforced && ("reinf_[material.name]_[connections[i]]" in icon_states(material.table_icon)))
- I = image(material.table_icon, "reinf_[material.name]_[connections[i]]", dir = 1<<(i-1))
+ if(reinforced && ("reinf_[material.icon_base]_[connections[i]]" in icon_states(material.table_icon)))
+ I = image(material.table_icon, "reinf_[material.icon_base]_[connections[i]]", dir = 1<<(i-1))
else
- I = image(material.table_icon, "[material.name]_[connections[i]]", dir = 1<<(i-1))
+ I = image(material.table_icon, "[material.icon_base]_[connections[i]]", dir = 1<<(i-1))
else
if(reinforced && ("reinf_[material.icon_base]_[connections[i]]" in icon_states(icon)))
I = image(icon, "reinf_[material.icon_base]_[connections[i]]", dir = 1<<(i-1))
diff --git a/html/changelogs/wezzy_bugfixes77.yml b/html/changelogs/wezzy_bugfixes77.yml
new file mode 100644
index 00000000000..b62696f9b6a
--- /dev/null
+++ b/html/changelogs/wezzy_bugfixes77.yml
@@ -0,0 +1,63 @@
+################################
+# Example Changelog File
+#
+# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
+#
+# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
+# When it is, any changes listed below will disappear.
+#
+# Valid Prefixes:
+# bugfix
+# - (fixes bugs)
+# wip
+# - (work in progress)
+# qol
+# - (quality of life)
+# soundadd
+# - (adds a sound)
+# sounddel
+# - (removes a sound)
+# rscadd
+# - (adds a feature)
+# rscdel
+# - (removes a feature)
+# imageadd
+# - (adds an image or sprite)
+# imagedel
+# - (removes an image or sprite)
+# spellcheck
+# - (fixes spelling or grammar)
+# experiment
+# - (experimental change)
+# balance
+# - (balance changes)
+# code_imp
+# - (misc internal code change)
+# refactor
+# - (refactors code)
+# config
+# - (makes a change to the config files)
+# admin
+# - (makes changes to administrator tools)
+# server
+# - (miscellaneous changes to server)
+#################################
+
+# Your name.
+author: Wowzewow (Wezzy)
+
+# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
+delete-after: True
+
+# Any changes you've made. See valid prefix list above.
+# INDENT WITH TWO SPACES. NOT TABS. SPACES.
+# SCREW THIS UP AND IT WON'T WORK.
+# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit.
+# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog.
+changes:
+ - bugfix: "Fixes Skrell shirts not showing up on loadout or in-game."
+ - bugfix: "IPCs no longer have a minimum age for working assistant jobs."
+ - bugfix: "Fixes Sinta Hoods not showing up on suits."
+ - bugfix: "Fixes accessories being removed from range."
+ - bugfix: "Fixes invisible glass tables."
+ - bugfix: "Fixes invisible mag-claws, teriyaki donk pocket box, and warden's mine detector."
diff --git a/icons/mob/species/warriorform/eyes.dmi b/icons/mob/species/warriorform/eyes.dmi
deleted file mode 100644
index ec85b6c82fc2592055f5c8839d96e106a3977800..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 219
zcmeAS@N?(olHy`uVBq!ia0vp^2|#SX$P6T}+<4mqq?iMILR=3VIFRPOF9pbDED7=p
zW^j0RBMr#Ot_q1LaY-#sF3Kz@$;{7VV5pcA99B?N`u$6A!N;#pw7hk-&Yd|Qydl)!
zqVa=AI_G^fPcjth?65EnGQMo=r7-8wq$86;6oNfFyNy*huaG!l^5l_^w$~Zo)(sE2
zK6w=v6=(*96?`pbjOJ!wJF8UW!vFaL&{}>^7sn8diOC5Ptcx4!7#Nre7#J@vJa`!>
O#o+1c=d#Wzp$P!fV@_KD
diff --git a/icons/mob/species/warriorform/held_l.dmi b/icons/mob/species/warriorform/held_l.dmi
deleted file mode 100644
index ec85b6c82fc2592055f5c8839d96e106a3977800..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 219
zcmeAS@N?(olHy`uVBq!ia0vp^2|#SX$P6T}+<4mqq?iMILR=3VIFRPOF9pbDED7=p
zW^j0RBMr#Ot_q1LaY-#sF3Kz@$;{7VV5pcA99B?N`u$6A!N;#pw7hk-&Yd|Qydl)!
zqVa=AI_G^fPcjth?65EnGQMo=r7-8wq$86;6oNfFyNy*huaG!l^5l_^w$~Zo)(sE2
zK6w=v6=(*96?`pbjOJ!wJF8UW!vFaL&{}>^7sn8diOC5Ptcx4!7#Nre7#J@vJa`!>
O#o+1c=d#Wzp$P!fV@_KD
diff --git a/icons/mob/species/warriorform/held_r.dmi b/icons/mob/species/warriorform/held_r.dmi
deleted file mode 100644
index ec85b6c82fc2592055f5c8839d96e106a3977800..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 219
zcmeAS@N?(olHy`uVBq!ia0vp^2|#SX$P6T}+<4mqq?iMILR=3VIFRPOF9pbDED7=p
zW^j0RBMr#Ot_q1LaY-#sF3Kz@$;{7VV5pcA99B?N`u$6A!N;#pw7hk-&Yd|Qydl)!
zqVa=AI_G^fPcjth?65EnGQMo=r7-8wq$86;6oNfFyNy*huaG!l^5l_^w$~Zo)(sE2
zK6w=v6=(*96?`pbjOJ!wJF8UW!vFaL&{}>^7sn8diOC5Ptcx4!7#Nre7#J@vJa`!>
O#o+1c=d#Wzp$P!fV@_KD
diff --git a/icons/mob/species/warriorform/shoes.dmi b/icons/mob/species/warriorform/shoes.dmi
deleted file mode 100644
index 9aa9832220e552b214a04dcd8044aa0bb9301cce..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 233
zcmeAS@N?(olHy`uVBq!ia0vp^NkH7i$P6U2Yj_s{Ddqs55Z40-4y1YSO965jOM?7@
z862M7NCR>Tt3o15TvCgZi!uvJGV}8o7%JujhZPi+e*Y3&@bT*tEpJ_|b7#&6ZwNKG
zX#C)j&UqirlMIDAJ1vZZj4vB|HOLryuX{A<$fOX3U` pD!JKDZW=|00#gAAM;Fdimed=Ue<5H;`p4kaQ0%Okv;!_@ww`A2+*&PEFsU@q)R7B0*S$5
z6}3bFa3y>iFlV%Oa)Yqx+hhVT7u_<7YHE?ohrzdKeFbsHz<4A@+HaZ@#JCl{7_8Rx
zy0imfmjgX6R}3R6oQoXS4)jhwd1CGHu(Gp{;QeptvVZIM|JOn7Kf4n5vH@blDA9?Pcx
z0xh!z*um)N=+fz#>1NB#>Fi9oNq@&oH~Bd9pDpQ+WgVYN_-XsEZY_0O9R#?$zuo#H
z1u6=BxX6{qREo=k5Lpvq9dGaEJg_}ozj(ZO(uBOUVw^cg`q5R(jmN-ak6L9
z5cYw!?9NP3`eECBIU+$4D4NVg_v~o+jfDkcBXM|nIp?>Sm~1cP#oFHn#7(iu?Gx2R
zidXI8uowDh_2Pqg7nf&UL~6!)U|KXn$a5n|Bt6=2=TDjV`BqM$vG-SUK_=6I_zVHG
zv9d8I98~6Iw*!jIpSAzn3()!W4alfh_Jo
)s+Z}fEDY$Z_u1iZbQI@9YfRE>?F52XrjoeEXtqxb>0bV(b_mvXrWibuzw
z9DTx6J8`PEX`;
z1s>AAzfJUAoU)AA%eR}s<-=VQa0tNYRgGDCjM#wjbkr&LiRwT5m^<-y;*YNMxL~fO
zhHP36Rd}CmLG{ZOFdL-oYM+zmEbdmwQ1P111{KW@#SHQq2Dex6QmWw&UIs<}_xPNH
zyRTXhcjAx<_F<`5sI8N-jGf8@u!~PK)U9{9Qf!vy$AVU6Lr=FxwY8u2EDM$M9&N
zP~7>q>2UG+3f`_ze0uQHFnhfne5UhkA?mY3kc9N6qOc?&JPvHy@-b34Z#cUa(zGdn
zZg>P`0`x~o$)7DKfJLvqqo&M