mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-08-25 14:16:30 +01:00
Animals ripping out organs will get organ items instead of meat slabs.
This commit is contained in:
@@ -802,10 +802,18 @@
|
||||
center_of_mass = list("x"=16, "y"=16)
|
||||
bitesize = 3
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/organ/Initialize()
|
||||
/obj/item/reagent_containers/food/snacks/organ/Initialize(var/ml, var/obj/item/organ/donor)
|
||||
. = ..()
|
||||
reagents.add_reagent("protein", rand(3,5))
|
||||
reagents.add_reagent("toxin", rand(1,3))
|
||||
if(donor)
|
||||
appearance = donor
|
||||
if(donor.reagents?.total_volume)
|
||||
donor.reagents.trans_to(src, donor.reagents.total_volume)
|
||||
fingerprints = donor.fingerprints?.Copy()
|
||||
fingerprintshidden = donor.fingerprintshidden?.Copy()
|
||||
fingerprintslast = donor.fingerprintslast
|
||||
qdel(donor)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/tofu
|
||||
name = "Tofu"
|
||||
|
||||
@@ -104,10 +104,9 @@
|
||||
|
||||
if(istype(snack, /obj/item/organ))
|
||||
var/obj/item/organ/organ = snack
|
||||
if(organ.meat_type)
|
||||
snack = new organ.meat_type(src)
|
||||
qdel(organ)
|
||||
else if(!istype(snack) || !snack.reagents?.total_volume)
|
||||
if(organ.meat_type) // Let's assume not having a meat_type means it's not edible.
|
||||
snack = new /obj/item/reagent_containers/food/snacks/organ(get_turf(snack), snack)
|
||||
if(!istype(snack) || !snack.reagents?.total_volume)
|
||||
to_chat(src, SPAN_WARNING("\The [snack] doesn't seem edible."))
|
||||
return
|
||||
|
||||
|
||||
@@ -431,20 +431,7 @@ var/global/list/organ_cache = list()
|
||||
blood_splatter(src,B,1)
|
||||
|
||||
user.drop_from_inventory(src)
|
||||
var/obj/item/reagent_containers/food/snacks/organ/O = new(get_turf(src))
|
||||
O.name = name
|
||||
O.icon = icon
|
||||
O.icon_state = icon_state
|
||||
|
||||
// Pass over the blood.
|
||||
reagents.trans_to(O, reagents.total_volume)
|
||||
|
||||
if(fingerprints) O.fingerprints = fingerprints.Copy()
|
||||
if(fingerprintshidden) O.fingerprintshidden = fingerprintshidden.Copy()
|
||||
if(fingerprintslast) O.fingerprintslast = fingerprintslast
|
||||
|
||||
user.put_in_active_hand(O)
|
||||
qdel(src)
|
||||
user.put_in_active_hand(new /obj/item/reagent_containers/food/snacks/organ(get_turf(src), src))
|
||||
|
||||
/obj/item/organ/attack_self(mob/user as mob)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user