optimizes transfer (#18943)

* limits belly contetns to 200 items

* there too

* this too

* don't strip blacklisted things

* .

* sometime later

* no remains if belly is full

* this

* just warn for now

* .

* .

* .

* .

* .

* -

* .

* .

* linter

* faster

* .

* .

* optimize

* fix that

* 20 should be ok

* nom atom

* .

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
Kashargul
2026-01-04 15:49:25 +01:00
committed by GitHub
co-authored by Cameron Lennox
parent 732a9f218d
commit fb068c5c62
35 changed files with 141 additions and 95 deletions
+7 -3
View File
@@ -9,7 +9,7 @@
slot_flags = SLOT_BELT | SLOT_BACK
var/vac_power = 0
var/output_dest = null
var/list/vac_settings = list(
var/static/list/vac_settings = list(
"power off" = 0,
"dust and grime" = 1,
"tiny objects" = 2,
@@ -79,8 +79,6 @@
return
if(!output_dest)
return
if(istype(target,/obj/structure/window) || istype(target,/obj/structure/grille))
target = get_turf(target) // Windows can be clicked to clean their turf
if(istype(output_dest,/obj/item/storage/bag/trash))
if(get_turf(output_dest) != get_turf(user))
vac_power = 0
@@ -111,6 +109,8 @@
output_dest = null
to_chat(user, span_warning("Target destination not found. Shutting down."))
return
if(istype(target,/obj/structure/window) || istype(target,/obj/structure/grille))
target = get_turf(target) // Windows can be clicked to clean their turf
user.setClickCooldown(DEFAULT_ATTACK_COOLDOWN)
var/auto_setting = 1
if(isturf(target))
@@ -238,6 +238,10 @@
if(target_item.drop_sound)
playsound(src, target_item.drop_sound, vac_power * 5, 1, -1)
playsound(src, 'sound/rakshasa/corrosion3.ogg', auto_setting * 15, 1, -1)
if(isbelly(output_dest))
var/obj/belly/output_belly = output_dest
output_belly.nom_atom(target)
return
target.forceMove(output_dest)
/obj/item/vac_attachment/resolve_attackby(atom/A, mob/user, var/attack_modifier = 1, var/click_parameters)