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
@@ -360,10 +360,10 @@ emp_act
// PERSON BEING HIT: CAN BE DROP PRED, ALLOWS THROW VORE.
// PERSON BEING THROWN: DEVOURABLE, ALLOWS THROW VORE, CAN BE DROP PREY.
if(can_throw_vore(src, thrown_mob))
vore_selected.nom_mob(thrown_mob) //Eat them!!!
vore_selected.nom_atom(thrown_mob) //Eat them!!!
visible_message(span_vwarning("[thrown_mob] is thrown right into [src]'s [lowertext(vore_selected.name)]!"))
if(thrown_mob.loc != vore_selected)
thrown_mob.forceMove(vore_selected) //Double check. Should never happen but...Weirder things have happened!
vore_selected.nom_atom(thrown_mob) //Double check. Should never happen but...Weirder things have happened!
add_attack_logs(thrown_mob.thrower,src,"Devoured [thrown_mob.name] via throw vore.")
return //We can stop here. We don't need to calculate damage or anything else. They're eaten.
@@ -371,9 +371,9 @@ emp_act
// PERSON BEING THROWN: CAN BE DROP PRED, ALLOWS THROW VORE.
else if(can_throw_vore(thrown_mob, src)) //Pred thrown into prey.
visible_message(span_vwarning("[src] suddenly slips inside of [thrown_mob]'s [lowertext(thrown_mob.vore_selected.name)] as [thrown_mob] flies into them!"))
thrown_mob.vore_selected.nom_mob(src) //Eat them!!!
thrown_mob.vore_selected.nom_atom(src) //Eat them!!!
if(src.loc != thrown_mob.vore_selected)
src.forceMove(thrown_mob.vore_selected) //Double check. Should never happen but...Weirder things have happened!
thrown_mob.vore_selected.nom_atom(src) //Double check. Should never happen but...Weirder things have happened!
add_attack_logs(thrown_mob.LAssailant,src,"Was Devoured by [thrown_mob.name] via throw vore.")
return
//VORESTATION EDIT END - Allows for thrown vore!
@@ -384,7 +384,7 @@ emp_act
if(adminbus_trash || is_type_in_list(O, GLOB.edible_trash) && O.trash_eatable && !is_type_in_list(O, GLOB.item_vore_blacklist))
visible_message(span_vwarning("[O] is thrown directly into [src]'s [lowertext(vore_selected.name)]!"))
O.throwing = 0
O.forceMove(vore_selected)
vore_selected.nom_atom(O)
return
if(in_throw_mode && speed <= THROWFORCE_SPEED_DIVISOR) //empty active hand and we're in throw mode
if(canmove && !restrained() && !src.is_incorporeal())
@@ -233,7 +233,7 @@
if(target_list.len)
for(var/mob/living/M in target_list)
if(M.devourable && M.can_be_drop_prey)
M.forceMove(vore_selected)
vore_selected.nom_atom(M)
to_chat(M,span_vwarning("In a bright flash of white light, you suddenly find yourself trapped in \the [src]'s [vore_selected.get_belly_name()]!"))
species.update_lleill_hud(src)
@@ -386,7 +386,7 @@
if(can_spontaneous_vore(src, target))
if(target.buckled)
target.buckled.unbuckle_mob(target, force = TRUE)
target.forceMove(vore_selected)
vore_selected.nom_atom(target)
to_chat(target,span_warning("\The [src] quickly engulfs you, [vore_selected.vore_verb]ing you into their [vore_selected.get_belly_name()]!"))
update_canmove()
@@ -736,7 +736,7 @@
target.visible_message(span_vwarning("\The [target] suddenly disappears, being dragged into the water!"),\
span_vdanger("You are dragged below the water and feel yourself slipping directly into \the [src]'s [vore_selected.get_belly_name()]!"))
to_chat(src, span_vnotice("You successfully drag \the [target] into the water, slipping them into your [vore_selected.get_belly_name()]."))
target.forceMove(src.vore_selected)
vore_selected.nom_atom(target)
/mob/living/carbon/human/proc/toggle_pain_module()
set name = "Toggle pain simulation."
@@ -185,7 +185,7 @@
/obj/item/dogborg/sleeper/proc/ingest_living(var/mob/living/victim, var/obj/belly/belly)
if (victim.devourable && is_vore_predator(hound))
belly.nom_mob(victim, hound)
belly.nom_atom(victim, hound)
add_attack_logs(hound, victim, "Eaten via [belly.name]")
return TRUE
return FALSE
@@ -19,7 +19,7 @@
B.owner.visible_message(span_boldwarning("Something grows inside [B.owner]'s [lowertext(B.name)]!"))
to_chat(B.owner, span_warning("\The [src] suddenly evolves inside your [lowertext(B.name)]!"))
B.release_specific_contents(src, TRUE)
B.nom_mob(bigger, null)
B.nom_atom(bigger, null)
qdel(src)
else
visible_message(span_warning("\The [src] suddenly evolves!"))
@@ -22,7 +22,7 @@
B.owner.visible_message(span_boldwarning("Something grows inside [B.owner]'s [lowertext(B.name)]!"))
to_chat(B.owner, span_warning("\The [src] suddenly evolves inside your [lowertext(B.name)]!"))
B.release_specific_contents(src, TRUE)
B.nom_mob(bigger, null)
B.nom_atom(bigger, null)
qdel(src)
else
visible_message(span_warning("\The [src] suddenly evolves!"))
@@ -60,7 +60,7 @@
if(potentials.len)
var/mob/living/target = pick(potentials)
if(can_phase_vore(src, target))
target.forceMove(vore_selected)
vore_selected.nom_atom(target)
to_chat(target,span_vwarning("\The [src] phases in around you, [vore_selected.vore_verb]ing you into their [vore_selected.get_belly_name()]!"))
// Do this after the potential vore, so we get the belly
@@ -204,7 +204,7 @@
if(potentials.len)
var/mob/living/target = pick(potentials)
if(can_phase_vore(src, target))
target.forceMove(vore_selected)
vore_selected.nom_atom(target)
to_chat(target,span_vwarning("\The [src] phases in around you, [vore_selected.vore_verb]ing you into their [vore_selected.get_belly_name()]!"))
// Do this after the potential vore, so we get the belly
@@ -169,7 +169,7 @@
if(will_eat(L))
var/obj/belly/B = vore_organs[1]
automatic_custom_emote(message = "snatches and devours [L]!")
B.nom_mob(L)
B.nom_atom(L)
ai_holder.find_target()
return
else if(L.size_multiplier <= 0.5 && L.step_mechanics_pref)
@@ -220,7 +220,7 @@
if(can_spontaneous_vore(src, target))
if(target.buckled)
target.buckled.unbuckle_mob(target, force = TRUE)
target.forceMove(vore_selected)
vore_selected.nom_atom(target)
to_chat(target,span_vwarning("\The [src] quickly engulfs you, [vore_selected.vore_verb]ing you into their [vore_selected.get_belly_name()]!"))
else
..()
@@ -367,7 +367,7 @@
parent_morph.forceMove(get_turf(prey_body))
parent_morph.ckey = parent_morph.original_ckey
prey_body.ckey = prey_ckey
prey_body.forceMove(parent_morph.vore_selected)
parent_morph.vore_selected.nom_atom(prey_body)
log_and_message_admins("and [key_name_admin(parent_morph)] have been returned to their original bodies. [get_area(src)] - [COORD(src)].", prey_body)
qdel(src)