mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-22 03:27:46 +01:00
Adds the item-friendly gurglemode.
-This can be found in the belly hold mode selection. -Also slightly reduces borgo trash nom sound volume.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
// Belly Mode Constants
|
||||
#define DM_HOLD "Hold"
|
||||
#define DM_DIGEST "Digest"
|
||||
#define DM_ITEMWEAK "Digest (Item friendly)"
|
||||
#define DM_DIGEST_NUMB "Digest (Numbing)"
|
||||
#define DM_HEAL "Heal"
|
||||
#define DM_ABSORB "Absorb"
|
||||
|
||||
@@ -510,7 +510,7 @@
|
||||
if(do_after(user, 30, target) && length(contents) < max_item_count)
|
||||
target.forceMove(src)
|
||||
user.visible_message("<span class='warning'>[hound.name]'s garbage processor groans lightly as [target.name] slips inside.</span>", "<span class='notice'>Your garbage compactor groans lightly as [target] slips inside.</span>")
|
||||
playsound(hound, 'sound/vore/gulp.ogg', 50, 1)
|
||||
playsound(hound, 'sound/vore/gulp.ogg', 30, 1)
|
||||
if(length(contents) > 11) //grow that tum after a certain junk amount
|
||||
hound.sleeper_r = 1
|
||||
hound.updateicon()
|
||||
@@ -523,7 +523,7 @@
|
||||
trashmouse.forceMove(src)
|
||||
trashmouse.reset_view(src)
|
||||
user.visible_message("<span class='warning'>[hound.name]'s garbage processor groans lightly as [trashmouse] slips inside.</span>", "<span class='notice'>Your garbage compactor groans lightly as [trashmouse] slips inside.</span>")
|
||||
playsound(hound, 'sound/vore/gulp.ogg', 50, 1)
|
||||
playsound(hound, 'sound/vore/gulp.ogg', 30, 1)
|
||||
if(length(contents) > 11) //grow that tum after a certain junk amount
|
||||
hound.sleeper_r = 1
|
||||
hound.updateicon()
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
var/datum/belly/transferlocation = null // Location that the prey is released if they struggle and get dropped off.
|
||||
|
||||
var/tmp/digest_mode = DM_HOLD // Whether or not to digest. Default to not digest.
|
||||
var/tmp/list/digest_modes = list(DM_HOLD,DM_DIGEST,DM_HEAL,DM_ABSORB,DM_DRAIN,DM_UNABSORB) // Possible digest modes
|
||||
var/tmp/list/digest_modes = list(DM_HOLD,DM_DIGEST,DM_ITEMWEAK,DM_HEAL,DM_ABSORB,DM_DRAIN,DM_UNABSORB) // Possible digest modes
|
||||
var/tmp/list/transform_modes = list(DM_TRANSFORM_MALE,DM_TRANSFORM_FEMALE,DM_TRANSFORM_KEEP_GENDER,DM_TRANSFORM_CHANGE_SPECIES_AND_TAUR,DM_TRANSFORM_CHANGE_SPECIES_AND_TAUR_EGG,DM_TRANSFORM_REPLICA,DM_TRANSFORM_REPLICA_EGG,DM_TRANSFORM_KEEP_GENDER_EGG,DM_TRANSFORM_MALE_EGG,DM_TRANSFORM_FEMALE_EGG, DM_EGG)
|
||||
var/tmp/mob/living/owner // The mob whose belly this is.
|
||||
var/tmp/list/internal_contents = list() // People/Things you've eaten into this belly!
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
return //Pretty boring, huh
|
||||
|
||||
//////////////////////////// DM_DIGEST ////////////////////////////
|
||||
if(digest_mode == DM_DIGEST || digest_mode == DM_DIGEST_NUMB)
|
||||
if(digest_mode == DM_DIGEST || digest_mode == DM_DIGEST_NUMB || digest_mode == DM_ITEMWEAK)
|
||||
|
||||
if(prob(50)) //Was SO OFTEN. AAAA.
|
||||
var/churnsound = pick(digestion_sounds)
|
||||
@@ -77,7 +77,7 @@
|
||||
else
|
||||
owner.nutrition += (10/difference)
|
||||
|
||||
/*if(owner.weakgurgles < 1) // An example for possible trait or gurglemode modifier. (Not existing currently)
|
||||
if(digest_mode == DM_ITEMWEAK)
|
||||
var/obj/item/T = pick(internal_contents)
|
||||
if(istype(T, /obj/item))
|
||||
if(istype(T, /obj/item) && _is_digestable(T) && !(T in items_preserved))
|
||||
@@ -96,35 +96,34 @@
|
||||
else
|
||||
return
|
||||
return
|
||||
else -do the tab crap to the paragraph below- */
|
||||
|
||||
else
|
||||
// Handle leftovers.
|
||||
var/obj/item/T = pick(internal_contents)
|
||||
if(istype(T, /obj/item))
|
||||
if(istype(T, /obj/item) && _is_digestable(T) && !(T in items_preserved))
|
||||
if(T in items_preserved)// Doublecheck just in case.
|
||||
return
|
||||
for(var/obj/item/SubItem in T)
|
||||
if(istype(SubItem,/obj/item/weapon/storage/internal))
|
||||
var/obj/item/weapon/storage/internal/SI = SubItem
|
||||
for(var/obj/item/SubSubItem in SI)
|
||||
SubSubItem.forceMove(internal_contents)
|
||||
qdel(SI)
|
||||
var/obj/item/T = pick(internal_contents)
|
||||
if(istype(T, /obj/item))
|
||||
if(istype(T, /obj/item) && _is_digestable(T) && !(T in items_preserved))
|
||||
if(T in items_preserved)// Doublecheck just in case.
|
||||
return
|
||||
for(var/obj/item/SubItem in T)
|
||||
if(istype(SubItem,/obj/item/weapon/storage/internal))
|
||||
var/obj/item/weapon/storage/internal/SI = SubItem
|
||||
for(var/obj/item/SubSubItem in SI)
|
||||
SubSubItem.forceMove(internal_contents)
|
||||
qdel(SI)
|
||||
else
|
||||
SubItem.forceMove(internal_contents)
|
||||
if(istype(T, /obj/item/weapon/reagent_containers/food/snacks)) // Food gets its own treatment now. Hopefully your prey didn't load their bag with donk boxes.
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/F = T
|
||||
F.reagents.trans_to_mob(owner, (F.reagents.total_volume * 0.3), CHEM_INGEST)
|
||||
if(F.nutriment_amt)
|
||||
owner.reagents.add_reagent("nutriment", (F.nutriment_amt * 0.3))
|
||||
internal_contents -= F
|
||||
qdel(F)
|
||||
else
|
||||
SubItem.forceMove(internal_contents)
|
||||
if(istype(T, /obj/item/weapon/reagent_containers/food/snacks)) // Food gets its own treatment now. Hopefully your prey didn't load their bag with donk boxes.
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/F = T
|
||||
F.reagents.trans_to_mob(owner, (F.reagents.total_volume * 0.3), CHEM_INGEST)
|
||||
if(F.nutriment_amt)
|
||||
owner.reagents.add_reagent("nutriment", (F.nutriment_amt * 0.3))
|
||||
internal_contents -= F
|
||||
qdel(F)
|
||||
owner.nutrition += (1 * T.w_class)
|
||||
internal_contents -= T
|
||||
qdel(T)
|
||||
else
|
||||
owner.nutrition += (1 * T.w_class)
|
||||
internal_contents -= T
|
||||
qdel(T)
|
||||
else
|
||||
return
|
||||
return
|
||||
|
||||
return
|
||||
|
||||
|
||||
@@ -99,6 +99,8 @@
|
||||
spanstyle = ""
|
||||
if(DM_DIGEST)
|
||||
spanstyle = "color:red;"
|
||||
if(DM_ITEMWEAK)
|
||||
spanstyle = "color:red;"
|
||||
if(DM_HEAL)
|
||||
spanstyle = "color:green;"
|
||||
if(DM_ABSORB)
|
||||
|
||||
Reference in New Issue
Block a user