Merge pull request #6312 from TheFurryFeline/TFF-No_Absorbee,_No_Absorbee,_Noooo_Absorbee

Absorption Permission Stuff
This commit is contained in:
Novacat
2020-01-09 22:50:18 -05:00
committed by GitHub
4 changed files with 43 additions and 13 deletions
+16 -13
View File
@@ -223,21 +223,24 @@
for (var/target in touchable_mobs)
var/mob/living/M = target
if(prob(10)) //Less often than gurgles. People might leave this on forever.
if(M && M.client && M.is_preference_enabled(/datum/client_preference/digestion_noises))
SEND_SOUND(M,prey_digest)
play_sound = pick(pred_digest)
if(M.absorbable == FALSE)
return
else
if(prob(10)) //Less often than gurgles. People might leave this on forever.
if(M && M.client && M.is_preference_enabled(/datum/client_preference/digestion_noises))
SEND_SOUND(M,prey_digest)
play_sound = pick(pred_digest)
if(M.absorbed)
continue
if(M.absorbed)
continue
if(M.nutrition >= 100) //Drain them until there's no nutrients left. Slowly "absorb" them.
var/oldnutrition = (M.nutrition * 0.05)
M.nutrition = (M.nutrition * 0.95)
owner.nutrition += oldnutrition
else if(M.nutrition < 100) //When they're finally drained.
absorb_living(M)
to_update = TRUE
if(M.nutrition >= 100) //Drain them until there's no nutrients left. Slowly "absorb" them.
var/oldnutrition = (M.nutrition * 0.05)
M.nutrition = (M.nutrition * 0.95)
owner.nutrition += oldnutrition
else if(M.nutrition < 100) //When they're finally drained.
absorb_living(M)
to_update = TRUE
//////////////////////////// DM_UNABSORB ////////////////////////////
else if(digest_mode == DM_UNABSORB)
+4
View File
@@ -3,6 +3,7 @@
var/digestable = TRUE // Can the mob be digested inside a belly?
var/devourable = TRUE // Can the mob be devoured at all?
var/feeding = TRUE // Can the mob be vorishly force fed or fed to others?
var/absorbable = TRUE // Are you allowed to absorb this person? TFF addition 14/12/19
var/digest_leave_remains = FALSE // Will this mob leave bones/skull/etc after the melty demise?
var/allowmobvore = TRUE // Will simplemobs attempt to eat the mob?
var/showvoreprefs = TRUE // Determines if the mechanical vore preferences button will be displayed on the mob or not.
@@ -220,6 +221,7 @@
P.digestable = src.digestable
P.devourable = src.devourable
P.feeding = src.feeding
P.absorbable = src.absorbable //TFF 14/12/19 - choose whether allowing absorbing
P.digest_leave_remains = src.digest_leave_remains
P.allowmobvore = src.allowmobvore
P.vore_taste = src.vore_taste
@@ -249,6 +251,7 @@
digestable = P.digestable
devourable = P.devourable
feeding = P.feeding
absorbable = P.absorbable //TFF 14/12/19 - choose whether allowing absorbing
digest_leave_remains = P.digest_leave_remains
allowmobvore = P.allowmobvore
vore_taste = P.vore_taste
@@ -710,6 +713,7 @@
dispvoreprefs += "<b>Digestable:</b> [digestable ? "Enabled" : "Disabled"]<br>"
dispvoreprefs += "<b>Devourable:</b> [devourable ? "Enabled" : "Disabled"]<br>"
dispvoreprefs += "<b>Feedable:</b> [feeding ? "Enabled" : "Disabled"]<br>"
dispvoreprefs += "<b>Absorption Permission:</b> [absorbable ? "Allowed" : "Disallowed"]<br>"
dispvoreprefs += "<b>Leaves Remains:</b> [digest_leave_remains ? "Enabled" : "Disabled"]<br>"
dispvoreprefs += "<b>Mob Vore:</b> [allowmobvore ? "Enabled" : "Disabled"]<br>"
dispvoreprefs += "<b>Healbelly permission:</b> [permit_healbelly ? "Allowed" : "Disallowed"]<br>"
+5
View File
@@ -46,6 +46,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
var/digestable = TRUE
var/devourable = TRUE
var/feeding = TRUE
var/absorbable = TRUE //TFF 14/12/19 - choose whether allowing absorbing
var/digest_leave_remains = FALSE
var/allowmobvore = TRUE
var/list/belly_prefs = list()
@@ -116,6 +117,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
digestable = json_from_file["digestable"]
devourable = json_from_file["devourable"]
feeding = json_from_file["feeding"]
absorbable = json_from_file["absorbable"] //TFF 14/12/19 - choose whether allowing absorbing
digest_leave_remains = json_from_file["digest_leave_remains"]
allowmobvore = json_from_file["allowmobvore"]
vore_taste = json_from_file["vore_taste"]
@@ -131,6 +133,8 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
devourable = TRUE
if(isnull(feeding))
feeding = TRUE
if(isnull(absorbable))
absorbable = TRUE
if(isnull(digest_leave_remains))
digest_leave_remains = FALSE
if(isnull(allowmobvore))
@@ -154,6 +158,7 @@ V::::::V V::::::VO:::::::OOO:::::::ORR:::::R R:::::REE::::::EEEEEE
"version" = version,
"digestable" = digestable,
"devourable" = devourable,
"absorbable" = absorbable,
"feeding" = feeding,
"digest_leave_remains" = digest_leave_remains,
"allowmobvore" = allowmobvore,
+18
View File
@@ -326,6 +326,11 @@
dat += "<br><a style='background:#173d15;' href='?src=\ref[src];toggledfeed=1'>Toggle Feeding (Currently: ON)</a>"
if(FALSE)
dat += "<br><a style='background:#990000;' href='?src=\ref[src];toggledfeed=1'>Toggle Feeding (Currently: OFF)</a>"
switch(user.absorbable)
if(TRUE)
dat += "<a style='background:#173d15;' href='?src=\ref[src];toggleabsorbable=1'>Toggle Absorbtion Permission (Currently: ON)</a>"
if(FALSE)
dat += "<a style='background:#990000;' href='?src=\ref[src];toggleabsorbable=1'>Toggle Absorbtion Permission (Currently: OFF)</a>"
switch(user.digest_leave_remains)
if(TRUE)
dat += "<a style='background:#173d15;' href='?src=\ref[src];toggledlm=1'>Toggle Leaving Remains (Currently: ON)</a>"
@@ -961,6 +966,19 @@
if(user.client.prefs_vr)
user.client.prefs_vr.feeding = user.feeding
if(href_list["toggleabsorbable"])
var/choice = alert(user, "This button allows preds to know whether you prefer or don't prefer to be absorbed. Currently you are [user.absorbable? "" : "not"] giving permission.", "", "Allow absorption", "Cancel", "Disallow absorption")
switch(choice)
if("Cancel")
return FALSE
if("Allow absorption")
user.absorbable = TRUE
if("Disallow absorption")
user.absorbable = FALSE
if(user.client.prefs_vr)
user.client.prefs_vr.absorbable = user.absorbable
if(href_list["toggledlm"])
var/choice = alert(user, "This button allows preds to have your remains be left in their belly after you are digested. This will only happen if pred sets their belly to do so. Remains consist of skeletal parts. Currently you are [user.digest_leave_remains? "" : "not"] leaving remains.", "", "Allow Post-digestion Remains", "Cancel", "Disallow Post-digestion Remains")
switch(choice)