Lag War Day 3: 100,000 SendMaps Under The Profile (#21874)

after ragebaiting all of coderbus with our 10 second sendmap ticks, i
have slapped together this bandaid fix which should help decrease server
load from all you nerds with 72,000 body markings

i know what you are
This commit is contained in:
Wildkins
2026-02-19 04:30:08 +00:00
committed by GitHub
parent 8b4cdc1798
commit 0f1d8a1e3b
5 changed files with 29 additions and 14 deletions
+4 -3
View File
@@ -239,7 +239,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list(
// Removes an item from inventory and places it in the target atom.
// If canremove or other conditions need to be checked then use unEquip instead.
/mob/proc/drop_from_inventory(var/obj/item/W, var/atom/target)
/mob/proc/drop_from_inventory(var/obj/item/W, var/atom/target, update_icons = TRUE, force = FALSE)
if(W)
remove_from_mob(W)
if(!(W && W.loc))
@@ -247,7 +247,8 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list(
if(target)
W.forceMove(target)
W.do_drop_animation(src)
update_icon()
if(update_icons)
update_icon()
return TRUE
return FALSE
@@ -527,7 +528,7 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list(
/mob/proc/delete_inventory(var/include_carried = FALSE)
for(var/obj/item/I as anything in get_equipped_items(include_carried ? INCLUDE_POCKETS|INCLUDE_HELD : 0))
drop_from_inventory(I)
drop_from_inventory(I, null, FALSE)
qdel(I)
/mob/proc/get_covering_equipped_items(var/body_parts)
@@ -1892,10 +1892,10 @@
playsound(src.loc, SFX_FRACTURE, 50, 1, -2)
current_limb.undislocate()
/mob/living/carbon/human/drop_from_inventory(var/obj/item/W, var/atom/target = null)
if(W in organs)
/mob/living/carbon/human/drop_from_inventory(obj/item/W, atom/target, update_icons = TRUE, force = FALSE)
if(!force && (W in organs))
return
..()
return ..()
/mob/living/carbon/human/reset_view(atom/A, update_hud = 1)
..()
@@ -540,6 +540,7 @@
/datum/species/proc/create_organs(var/mob/living/carbon/human/H) //Handles creation of mob organs.
for(var/obj/item/organ/organ in H.contents)
if((organ in H.organs) || (organ in H.internal_organs))
H.drop_from_inventory(organ, null, FALSE, TRUE)
qdel(organ)
if(H.organs) H.organs.Cut()
+8 -8
View File
@@ -19,11 +19,16 @@
if(.)
visible_message("<b>\The [src]</b> points to \the [pointing_at].")
/mob/living/drop_from_inventory(var/obj/item/item, var/atom/target)
. = ..(item, target)
if(item && item.GetID())
/mob/living/drop_from_inventory(var/obj/item/item, var/atom/target, update_icons = TRUE, force = FALSE)
. = ..()
if(item?.GetID())
BITSET(hud_updateflag, ID_HUD) //If we drop our ID, update ID HUD
/mob/living/carbon/drop_from_inventory(obj/item/W, atom/target, update_icons = TRUE, force = FALSE)
if(!force && (W in internal_organs))
return
return ..()
/*one proc, four uses
swapping: if it's 1, the mobs are trying to switch, if 0, non-passive is pushing passive
default behaviour is:
@@ -818,11 +823,6 @@ default behaviour is:
layer = UNDERDOOR
underdoor = 1
/mob/living/carbon/drop_from_inventory(var/obj/item/W, var/atom/target = null)
if(W in internal_organs)
return
..()
/mob/living/touch_map_edge()
//check for nuke disks