|
|
|
@@ -16,7 +16,7 @@ GLOBAL_LIST_INIT(gurgled_overlays, list(
|
|
|
|
|
"pink" = image('icons/effects/sludgeoverlay_vr.dmi', icon_state = "pink")
|
|
|
|
|
))
|
|
|
|
|
|
|
|
|
|
/obj/item/proc/gurgle_contaminate(atom/movable/item_storage = null, contamination_flavor = "Generic", contamination_color = "green")
|
|
|
|
|
/obj/item/proc/gurgle_contaminate(atom/movable/item_storage = null, contamination_flavor = "Generic", contamination_color = "green", obj/belly/contamination_source = null)
|
|
|
|
|
if(!can_gurgle())
|
|
|
|
|
return FALSE
|
|
|
|
|
|
|
|
|
@@ -34,6 +34,10 @@ GLOBAL_LIST_INIT(gurgled_overlays, list(
|
|
|
|
|
cleandesc = src.desc
|
|
|
|
|
name = "[gurgleflavor] [cleanname]"
|
|
|
|
|
desc = "[cleandesc] It seems to be covered in ominously foul residue and needs a wash."
|
|
|
|
|
if(contamination_source && contamination_source.owner) //Add something to track back the owner. Until we get various 'dna sources' we'll just settle on blooddna
|
|
|
|
|
if(ishuman(contamination_source.owner))
|
|
|
|
|
var/mob/living/carbon/human/stomach_owner = contamination_source.owner
|
|
|
|
|
add_blooddna(stomach_owner.dna, stomach_owner)
|
|
|
|
|
// for(var/obj/item/O in contents) //Yeah, no. This contaminates stuff that should never be contaminated in places that should not be reached. Handle it for specific cases instead.
|
|
|
|
|
// O.gurgle_contaminate(item_storage, contamination_flavor, contamination_color)
|
|
|
|
|
return TRUE
|
|
|
|
@@ -62,62 +66,62 @@ GLOBAL_LIST_INIT(gurgled_overlays, list(
|
|
|
|
|
//////////////
|
|
|
|
|
// Special handling of gurgle_contaminate
|
|
|
|
|
//////////////
|
|
|
|
|
/obj/item/card/id/gurgle_contaminate(atom/movable/item_storage = null)
|
|
|
|
|
/obj/item/card/id/gurgle_contaminate(atom/movable/item_storage = null, contamination_flavor = "Generic", contamination_color = "green", obj/belly/contamination_source = null)
|
|
|
|
|
digest_act(item_storage) //Contamination and digestion does same thing to these
|
|
|
|
|
return TRUE
|
|
|
|
|
|
|
|
|
|
/obj/item/pda/gurgle_contaminate(atom/movable/item_storage = null)
|
|
|
|
|
/obj/item/pda/gurgle_contaminate(atom/movable/item_storage = null, contamination_flavor = "Generic", contamination_color = "green", obj/belly/contamination_source = null)
|
|
|
|
|
return FALSE
|
|
|
|
|
|
|
|
|
|
/obj/item/reagent_containers/food/gurgle_contaminate(atom/movable/item_storage = null)
|
|
|
|
|
/obj/item/reagent_containers/food/gurgle_contaminate(atom/movable/item_storage = null, contamination_flavor = "Generic", contamination_color = "green", obj/belly/contamination_source = null)
|
|
|
|
|
return FALSE
|
|
|
|
|
|
|
|
|
|
/obj/item/storage/vore_egg/gurgle_contaminate(atom/movable/item_storage = null)
|
|
|
|
|
/obj/item/storage/vore_egg/gurgle_contaminate(atom/movable/item_storage = null, contamination_flavor = "Generic", contamination_color = "green", obj/belly/contamination_source = null)
|
|
|
|
|
return FALSE
|
|
|
|
|
|
|
|
|
|
/obj/item/holder/gurgle_contaminate(atom/movable/item_storage = null)
|
|
|
|
|
/obj/item/holder/gurgle_contaminate(atom/movable/item_storage = null, contamination_flavor = "Generic", contamination_color = "green", obj/belly/contamination_source = null)
|
|
|
|
|
if(isbelly(loc))
|
|
|
|
|
digest_act(item_storage)
|
|
|
|
|
return TRUE
|
|
|
|
|
return FALSE
|
|
|
|
|
|
|
|
|
|
/obj/item/organ/gurgle_contaminate(atom/movable/item_storage = null)
|
|
|
|
|
/obj/item/organ/gurgle_contaminate(atom/movable/item_storage = null, contamination_flavor = "Generic", contamination_color = "green", obj/belly/contamination_source = null)
|
|
|
|
|
return FALSE
|
|
|
|
|
|
|
|
|
|
/obj/item/cell/gurgle_contaminate(atom/movable/item_storage = null)
|
|
|
|
|
/obj/item/cell/gurgle_contaminate(atom/movable/item_storage = null, contamination_flavor = "Generic", contamination_color = "green", obj/belly/contamination_source = null)
|
|
|
|
|
if(!gurgled)
|
|
|
|
|
//Don't make them wet, just drain
|
|
|
|
|
var/obj/item/cell/C = src
|
|
|
|
|
C.charge = 0
|
|
|
|
|
return TRUE
|
|
|
|
|
|
|
|
|
|
/obj/item/storage/box/gurgle_contaminate(atom/movable/item_storage = null)
|
|
|
|
|
/obj/item/storage/box/gurgle_contaminate(atom/movable/item_storage = null, contamination_flavor = "Generic", contamination_color = "green", obj/belly/contamination_source = null)
|
|
|
|
|
if((. = ..()))
|
|
|
|
|
name = "soggy [cleanname]"
|
|
|
|
|
desc = "This soggy box is about to fall apart any time."
|
|
|
|
|
|
|
|
|
|
//Storages that contaminate contents
|
|
|
|
|
/obj/item/storage/backpack/gurgle_contaminate(atom/movable/item_storage = null, contamination_flavor = "Generic", contamination_color = "green")
|
|
|
|
|
/obj/item/storage/backpack/gurgle_contaminate(atom/movable/item_storage = null, contamination_flavor = "Generic", contamination_color = "green", obj/belly/contamination_source = null)
|
|
|
|
|
if(contents)
|
|
|
|
|
for(var/obj/item/O in contents)
|
|
|
|
|
O.gurgle_contaminate(item_storage, contamination_flavor, contamination_color)
|
|
|
|
|
O.gurgle_contaminate(item_storage, contamination_flavor, contamination_color, contamination_source)
|
|
|
|
|
..()
|
|
|
|
|
|
|
|
|
|
/obj/item/storage/belt/gurgle_contaminate(atom/movable/item_storage = null, contamination_flavor = "Generic", contamination_color = "green")
|
|
|
|
|
/obj/item/storage/belt/gurgle_contaminate(atom/movable/item_storage = null, contamination_flavor = "Generic", contamination_color = "green", obj/belly/contamination_source = null)
|
|
|
|
|
if(contents)
|
|
|
|
|
for(var/obj/item/O in contents)
|
|
|
|
|
O.gurgle_contaminate(item_storage, contamination_flavor, contamination_color)
|
|
|
|
|
O.gurgle_contaminate(item_storage, contamination_flavor, contamination_color, contamination_source)
|
|
|
|
|
..()
|
|
|
|
|
|
|
|
|
|
/obj/item/storage/belt/gurgle_contaminate(atom/movable/item_storage = null, contamination_flavor = "Generic", contamination_color = "green")
|
|
|
|
|
/obj/item/storage/belt/gurgle_contaminate(atom/movable/item_storage = null, contamination_flavor = "Generic", contamination_color = "green", obj/belly/contamination_source = null)
|
|
|
|
|
if(contents)
|
|
|
|
|
for(var/obj/item/O in contents)
|
|
|
|
|
O.gurgle_contaminate(item_storage, contamination_flavor, contamination_color)
|
|
|
|
|
O.gurgle_contaminate(item_storage, contamination_flavor, contamination_color, contamination_source)
|
|
|
|
|
..()
|
|
|
|
|
|
|
|
|
|
/obj/item/clothing/suit/storage/gurgle_contaminate(atom/movable/item_storage = null, contamination_flavor = "Generic", contamination_color = "green")
|
|
|
|
|
/obj/item/clothing/suit/storage/gurgle_contaminate(atom/movable/item_storage = null, contamination_flavor = "Generic", contamination_color = "green", obj/belly/contamination_source = null)
|
|
|
|
|
if(pockets)
|
|
|
|
|
if(pockets.contents)
|
|
|
|
|
for(var/obj/item/O in pockets.contents)
|
|
|
|
|
O.gurgle_contaminate(item_storage, contamination_flavor, contamination_color)
|
|
|
|
|
O.gurgle_contaminate(item_storage, contamination_flavor, contamination_color, contamination_source)
|
|
|
|
|
..()
|
|
|
|
|