Bug fixes, init signals for mobs, density updates. (#21108)

1. Look up now follows your mob (no more auto-removal when you move,
only when you go below a solid tile). Maybe add a hotkey?
2. Made the codebase work with the latest version of spacemandmm lint.
3. Advanced kits don't work on robotic limbs.
4. Density shifting should now always use set_density. Ported
TRAIT_UNDENSE from CM to better control the density of living mobs.
Fixes weird shifting behaviour with wall leaning -- what was happening
is that mob density was getting reset to TRUE because the mob wasn't
lying down.
5. TGUI say light prefs actually save.

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
This commit is contained in:
Matt Atlas
2025-08-06 10:18:14 +00:00
committed by GitHub
co-authored by Matt Atlas
parent a045fc1709
commit d7706ece53
32 changed files with 154 additions and 43 deletions
+4 -4
View File
@@ -43,6 +43,10 @@ Contains:
var/mob/living/carbon/human/H = target_mob
var/obj/item/organ/external/affecting = H.get_organ(user.zone_sel.selecting)
if((affecting.status & ORGAN_ASSISTED) || (affecting.status & ORGAN_ROBOT))
to_chat(user, SPAN_WARNING("This isn't useful at all on a robotic limb."))
return 1
if(affecting.name == BP_HEAD)
if(H.head && istype(H.head,/obj/item/clothing/head/helmet/space))
to_chat(user, SPAN_WARNING("You can't apply [src] through [H.head]!"))
@@ -69,10 +73,6 @@ Contains:
use(1)
return 1
if(affecting.status & ORGAN_ASSISTED)
to_chat(user, SPAN_WARNING("This isn't useful at all on a robotic limb."))
return 1
H.UpdateDamageIcon()
else
@@ -1351,7 +1351,7 @@
illustration = null
icon_state = "sharpsbox"
use_sound = 'sound/items/storage/briefcase.ogg'
max_storage_space = DEFAULT_LARGEBOX_STORAGE
max_storage_space = DEFAULT_BOX_STORAGE
chewable = FALSE
foldable = null
@@ -170,10 +170,10 @@
* * detail_insertions - A boolean, if `TRUE`, `can_be_inserted()` will be told to give feedbacks
*/
/obj/item/storage/proc/pickup_items_from_loc(mob/user, turf/location, detail_insertions = TRUE)
RETURN_TYPE(/list)
//In the format of list(SUCCESS, FAILURE)
var/list/return_status = list(FALSE, FALSE)
RETURN_TYPE(return_status)
var/list/rejections = list()