mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-29 23:17:28 +01:00
Mob Hose Inflation and Draining (#17849)
* inflation handling * lets not allow that * some fixes * additional sanity and sanitization * borg connector, refactors * type correction * reagents to bellies become belly reagents * handle prefs * pref handling expanded * pain tweaks * need to handle it this way * multiple fixes * proper belly interaction * belly update belly update for vore
This commit is contained in:
@@ -69,6 +69,7 @@
|
||||
regenerate_icons()
|
||||
|
||||
AddComponent(/datum/component/personal_crafting)
|
||||
AddComponent(/datum/component/hose_connector/inflation) // Comment out to disable all human mob inflation mechanics
|
||||
|
||||
// Chicken Stuff
|
||||
var/animal = pick("cow","chicken_brown", "chicken_black", "chicken_white", "chick", "mouse_brown", "mouse_gray", "mouse_white", "lizard", "cat2", "goose", "penguin")
|
||||
|
||||
@@ -203,6 +203,8 @@
|
||||
|
||||
riding_datum = new /datum/riding/dogborg(src)
|
||||
|
||||
AddComponent(/datum/component/hose_connector/input/borg)
|
||||
AddComponent(/datum/component/hose_connector/output/borg)
|
||||
|
||||
/mob/living/silicon/robot/LateInitialize()
|
||||
pick_module()
|
||||
|
||||
@@ -261,9 +261,11 @@
|
||||
|
||||
var/part = amount / total_volume
|
||||
|
||||
var/target_is_belly = isbelly(target.my_atom) // Sending reagents into bellies turns them into belly reagents
|
||||
|
||||
for(var/datum/reagent/current in reagent_list)
|
||||
var/amount_to_transfer = current.volume * part
|
||||
target.add_reagent(current.id, amount_to_transfer * multiplier, current.get_data(), safety = 1, was_from_belly = current.from_belly) // We don't react until everything is in place
|
||||
target.add_reagent(current.id, amount_to_transfer * multiplier, current.get_data(), safety = 1, was_from_belly = (current.from_belly || target_is_belly)) // We don't react until everything is in place
|
||||
if(!copy)
|
||||
remove_reagent(current.id, amount_to_transfer, 1)
|
||||
|
||||
|
||||
@@ -1411,7 +1411,12 @@
|
||||
if(!RTB)
|
||||
return FALSE
|
||||
|
||||
to_chat(src, span_vnotice("[RTB] has [RTB.reagents.total_volume] units of liquid."))
|
||||
var/total_report = span_vnotice("[RTB] has [RTB.reagents.total_volume] units of liquid.")
|
||||
if(RTB.reagents.total_volume > 0)
|
||||
for(var/datum/reagent/R in RTB.reagents.reagent_list)
|
||||
total_report += "<br>"
|
||||
total_report += span_info(" -[R.name]: [R.volume]u")
|
||||
to_chat(src, total_report)
|
||||
|
||||
/mob/living/proc/vore_transfer_reagents()
|
||||
set name = "Transfer Liquid (Vore)"
|
||||
|
||||
Reference in New Issue
Block a user