merge
This commit is contained in:
@@ -278,14 +278,14 @@
|
||||
SEND_SIGNAL(OW, COMSIG_ADD_MOOD_EVENT, "emptypred", /datum/mood_event/emptypred)
|
||||
SEND_SIGNAL(ML, COMSIG_ADD_MOOD_EVENT, "emptyprey", /datum/mood_event/emptyprey)
|
||||
|
||||
if(CHECK_BITFIELD(ML.vore_flags,ABSORBED))
|
||||
DISABLE_BITFIELD(ML.vore_flags,ABSORBED)
|
||||
if((ML.vore_flags & ABSORBED))
|
||||
ML.vore_flags &= ~(ABSORBED)
|
||||
if(ishuman(M) && ishuman(OW))
|
||||
var/mob/living/carbon/human/Prey = M
|
||||
var/mob/living/carbon/human/Pred = OW
|
||||
var/absorbed_count = 2 //Prey that we were, plus the pred gets a portion
|
||||
for(var/mob/living/P in contents)
|
||||
if(CHECK_BITFIELD(P.vore_flags,ABSORBED))
|
||||
if((P.vore_flags & ABSORBED))
|
||||
absorbed_count++
|
||||
Pred.reagents.trans_to(Prey, Pred.reagents.total_volume / absorbed_count)
|
||||
|
||||
@@ -390,7 +390,7 @@
|
||||
formatted_message = replacetext(formatted_message,"%pred",owner)
|
||||
formatted_message = replacetext(formatted_message,"%prey",english_list(contents))
|
||||
for(var/mob/living/P in contents)
|
||||
if(!CHECK_BITFIELD(P.vore_flags, ABSORBED)) //This is required first, in case there's a person absorbed and not absorbed in a stomach.
|
||||
if(!(P.vore_flags & ABSORBED)) //This is required first, in case there's a person absorbed and not absorbed in a stomach.
|
||||
total_bulge += P.mob_size
|
||||
if(total_bulge >= bulge_size && bulge_size != 0)
|
||||
return("<span class='warning'>[formatted_message]</span><BR>")
|
||||
@@ -485,7 +485,7 @@
|
||||
|
||||
// Handle a mob being absorbed
|
||||
/obj/belly/proc/absorb_living(var/mob/living/M)
|
||||
ENABLE_BITFIELD(M.vore_flags, ABSORBED)
|
||||
M.vore_flags |= ABSORBED
|
||||
to_chat(M,"<span class='notice'>[owner]'s [lowertext(name)] absorbs your body, making you part of them.</span>")
|
||||
to_chat(owner,"<span class='notice'>Your [lowertext(name)] absorbs [M]'s body, making them part of you.</span>")
|
||||
|
||||
@@ -499,7 +499,7 @@
|
||||
for(var/belly in M.vore_organs)
|
||||
var/obj/belly/B = belly
|
||||
for(var/mob/living/Mm in B)
|
||||
if(CHECK_BITFIELD(Mm.vore_flags, ABSORBED))
|
||||
if((Mm.vore_flags & ABSORBED))
|
||||
absorb_living(Mm)
|
||||
|
||||
//Update owner
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
play_sound = pick(pred_digest)
|
||||
|
||||
//Pref protection!
|
||||
if (!CHECK_BITFIELD(M.vore_flags, DIGESTABLE) || M.vore_flags & ABSORBED)
|
||||
if (!(M.vore_flags & DIGESTABLE) || M.vore_flags & ABSORBED)
|
||||
continue
|
||||
|
||||
//Person just died in guts!
|
||||
@@ -165,7 +165,7 @@
|
||||
|
||||
for (var/mob/living/M in contents)
|
||||
if(M.vore_flags & ABSORBED && owner.nutrition >= 100)
|
||||
DISABLE_BITFIELD(M.vore_flags, ABSORBED)
|
||||
M.vore_flags &= ~(ABSORBED)
|
||||
to_chat(M,"<span class='notice'>You suddenly feel solid again </span>")
|
||||
to_chat(owner,"<span class='notice'>You feel like a part of you is missing.</span>")
|
||||
owner.adjust_nutrition(-100)
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
return TRUE
|
||||
|
||||
/mob/living/proc/init_vore()
|
||||
ENABLE_BITFIELD(vore_flags, VORE_INIT)
|
||||
vore_flags |= VORE_INIT
|
||||
//Something else made organs, meanwhile.
|
||||
if(LAZYLEN(vore_organs))
|
||||
return TRUE
|
||||
@@ -75,7 +75,7 @@
|
||||
|
||||
lazy_init_belly()
|
||||
if(pred == prey) //you click your target
|
||||
if(!CHECK_BITFIELD(pred.vore_flags,FEEDING))
|
||||
if(!(pred.vore_flags & FEEDING))
|
||||
to_chat(user, "<span class='notice'>They aren't able to be fed.</span>")
|
||||
to_chat(pred, "<span class='notice'>[user] tried to feed you themselves, but you aren't voracious enough to be fed.</span>")
|
||||
return
|
||||
@@ -85,11 +85,11 @@
|
||||
feed_grabbed_to_self(user, prey)
|
||||
|
||||
else // click someone other than you/prey
|
||||
if(!CHECK_BITFIELD(pred.vore_flags,FEEDING))
|
||||
if(!(pred.vore_flags & FEEDING))
|
||||
to_chat(user, "<span class='notice'>They aren't voracious enough to be fed.</span>")
|
||||
to_chat(pred, "<span class='notice'>[user] tried to feed you [prey], but you aren't voracious enough to be fed.</span>")
|
||||
return
|
||||
if(!CHECK_BITFIELD(prey.vore_flags,FEEDING))
|
||||
if(!(prey.vore_flags & FEEDING))
|
||||
to_chat(user, "<span class='notice'>They aren't able to be fed to someone.</span>")
|
||||
to_chat(prey, "<span class='notice'>[user] tried to feed you to [pred], but you aren't able to be fed to them.</span>")
|
||||
return
|
||||
@@ -122,7 +122,7 @@
|
||||
testing("[user] attempted to feed [prey] to [pred], via [lowertext(belly.name)] but it went wrong.")
|
||||
return
|
||||
|
||||
if (!CHECK_BITFIELD(prey.vore_flags, DEVOURABLE))
|
||||
if (!(prey.vore_flags & DEVOURABLE))
|
||||
to_chat(user, "This can't be eaten!")
|
||||
return FALSE
|
||||
|
||||
@@ -283,7 +283,7 @@
|
||||
if(!client || !client.prefs)
|
||||
to_chat(src,"<span class='warning'>You attempted to apply your vore prefs but somehow you're in this character without a client.prefs variable. Tell a dev.</span>")
|
||||
return FALSE
|
||||
ENABLE_BITFIELD(vore_flags,VOREPREF_INIT)
|
||||
vore_flags |= VOREPREF_INIT
|
||||
COPY_SPECIFIC_BITFIELDS(vore_flags, client.prefs.vore_flags, DIGESTABLE | DEVOURABLE | FEEDING | LICKABLE | SMELLABLE | ABSORBABLE | MOBVORE)
|
||||
vore_taste = client.prefs.vore_taste
|
||||
vore_smell = client.prefs.vore_smell
|
||||
|
||||
@@ -181,15 +181,15 @@
|
||||
|
||||
data["selected"] = selected_list
|
||||
data["prefs"] = list(
|
||||
"digestable" = CHECK_BITFIELD(host.vore_flags, DIGESTABLE),
|
||||
"devourable" = CHECK_BITFIELD(host.vore_flags, DEVOURABLE),
|
||||
"feeding" = CHECK_BITFIELD(host.vore_flags, FEEDING),
|
||||
"absorbable" = CHECK_BITFIELD(host.vore_flags, ABSORBABLE),
|
||||
"allowmobvore" = CHECK_BITFIELD(host.vore_flags, MOBVORE),
|
||||
"vore_sounds" = CHECK_BITFIELD(host.client.prefs.cit_toggles, EATING_NOISES),
|
||||
"digestion_sounds" = CHECK_BITFIELD(host.client.prefs.cit_toggles, DIGESTION_NOISES),
|
||||
"lickable" = CHECK_BITFIELD(host.vore_flags, LICKABLE),
|
||||
"smellable" = CHECK_BITFIELD(host.vore_flags, SMELLABLE),
|
||||
"digestable" = (host.vore_flags & DIGESTABLE),
|
||||
"devourable" = (host.vore_flags & DEVOURABLE),
|
||||
"feeding" = (host.vore_flags & FEEDING),
|
||||
"absorbable" = (host.vore_flags & ABSORBABLE),
|
||||
"allowmobvore" = (host.vore_flags & MOBVORE),
|
||||
"vore_sounds" = (host.client.prefs.cit_toggles & EATING_NOISES),
|
||||
"digestion_sounds" = (host.client.prefs.cit_toggles & DIGESTION_NOISES),
|
||||
"lickable" = (host.vore_flags & LICKABLE),
|
||||
"smellable" = (host.vore_flags & SMELLABLE),
|
||||
)
|
||||
|
||||
return data
|
||||
@@ -307,49 +307,49 @@
|
||||
unsaved_changes = TRUE
|
||||
return TRUE
|
||||
if("toggle_digest")
|
||||
TOGGLE_BITFIELD(host.vore_flags, DIGESTABLE)
|
||||
(host.vore_flags ^= DIGESTABLE)
|
||||
if(host.client.prefs)
|
||||
COPY_SPECIFIC_BITFIELDS(host.client.prefs.vore_flags, host.vore_flags, DIGESTABLE)
|
||||
unsaved_changes = TRUE
|
||||
return TRUE
|
||||
if("toggle_devour")
|
||||
TOGGLE_BITFIELD(host.vore_flags, DEVOURABLE)
|
||||
(host.vore_flags ^= DEVOURABLE)
|
||||
if(host.client.prefs)
|
||||
COPY_SPECIFIC_BITFIELDS(host.client.prefs.vore_flags, host.vore_flags, DEVOURABLE)
|
||||
unsaved_changes = TRUE
|
||||
return TRUE
|
||||
if("toggle_feed")
|
||||
TOGGLE_BITFIELD(host.vore_flags, FEEDING)
|
||||
(host.vore_flags ^= FEEDING)
|
||||
if(host.client.prefs)
|
||||
COPY_SPECIFIC_BITFIELDS(host.client.prefs.vore_flags, host.vore_flags, FEEDING)
|
||||
unsaved_changes = TRUE
|
||||
return TRUE
|
||||
if("toggle_absorbable")
|
||||
TOGGLE_BITFIELD(host.vore_flags, ABSORBABLE)
|
||||
(host.vore_flags ^= ABSORBABLE)
|
||||
if(host.client.prefs)
|
||||
COPY_SPECIFIC_BITFIELDS(host.client.prefs.vore_flags, host.vore_flags, ABSORBABLE)
|
||||
unsaved_changes = TRUE
|
||||
return TRUE
|
||||
if("toggle_mobvore")
|
||||
TOGGLE_BITFIELD(host.vore_flags, MOBVORE)
|
||||
(host.vore_flags ^= MOBVORE)
|
||||
if(host.client.prefs)
|
||||
COPY_SPECIFIC_BITFIELDS(host.client.prefs.vore_flags, host.vore_flags, MOBVORE)
|
||||
unsaved_changes = TRUE
|
||||
return TRUE
|
||||
if("toggle_vore_sounds")
|
||||
TOGGLE_BITFIELD(host.client.prefs.cit_toggles, EATING_NOISES)
|
||||
(host.client.prefs.cit_toggles ^= EATING_NOISES)
|
||||
unsaved_changes = TRUE
|
||||
return TRUE
|
||||
if("toggle_digestion_sounds")
|
||||
TOGGLE_BITFIELD(host.client.prefs.cit_toggles, DIGESTION_NOISES)
|
||||
(host.client.prefs.cit_toggles ^= DIGESTION_NOISES)
|
||||
unsaved_changes = TRUE
|
||||
return TRUE
|
||||
if("toggle_lickable")
|
||||
TOGGLE_BITFIELD(host.vore_flags, LICKABLE)
|
||||
(host.vore_flags ^= LICKABLE)
|
||||
unsaved_changes = TRUE
|
||||
return TRUE
|
||||
if("toggle_smellable")
|
||||
TOGGLE_BITFIELD(host.vore_flags, SMELLABLE)
|
||||
(host.vore_flags ^= SMELLABLE)
|
||||
unsaved_changes = TRUE
|
||||
return TRUE
|
||||
|
||||
|
||||
Reference in New Issue
Block a user