From 4a59c7e496b7001e4eb68ba56d025d9d711f8b4f Mon Sep 17 00:00:00 2001 From: Verkister Date: Thu, 12 Apr 2018 21:11:04 +0300 Subject: [PATCH 1/4] Squashed commit of the following: commit 8782aeb10d0c0ea76572a17fbcd2ab5ca49898f1 Author: Verkister Date: Wed Apr 11 08:33:40 2018 +0300 Update bellymodes_vr.dm commit 996fc34a308d37bb9b348f06e83bfa7ec3196b64 Author: Verkister Date: Fri Mar 16 20:32:19 2018 +0200 Update bellymodes_vr.dm commit 6d77b3a8656ac96ee86bea5f112985737ad19a9b Author: Verkister Date: Fri Mar 16 20:29:03 2018 +0200 comment commit 5851841d4bba670cd6932809cace7687093b60d0 Author: Verkister Date: Fri Mar 16 17:36:02 2018 +0200 Now that's more like it HP to nutrition ratio raised to 1/5, full 200 hp average same size prey now amounts to 1000 nutrition (+-taxes) commit df9666b718cd2c0421f86fb033b9ba1e23162d38 Author: Verkister Date: Fri Mar 16 13:39:44 2018 +0200 Adds prey oxyloss compensation commit ba29fa9849756053eec931cf955061f1b642e8ee Author: Verkister Date: Thu Mar 15 14:34:45 2018 +0200 comment commit 4d1acb8c90f763caabb7d9da46efeddb866f96ac Author: Verkister Date: Thu Mar 15 10:56:18 2018 +0200 Slight gurgle gain tweak. Increases the preyhealth to nutrition ratio to 1.5x of the current value. Currently a full health same size average weight prey would give maximum 400 nutrition to the pred (more or less or less when counting possible size/weight difference and ruthless oxyloss/hunger drain during slow gurgles), which in immersion is about worth a single plate of spaghetti or something. The range from absolutely starved (as the case in damn near every non grab&gulp scene there is) to the first time the grey burger appears is 450 nutrition. I'm getting so bummed by most of my non-micro/macro gurgle scenes still ending with the pred still at red burger levels lmao. Now the total gain before inevitable taxes is 600. Take off the nutrition tax during the gurgle time, the prey health oxyloss tax during the time between critical treshold and death, the prey likely being smaller than the pred size difference tax, non-tanky prey health/resistance tax, and the skinny prey tax, it might get you past yellow hunger if lucky :v --- code/modules/vore/eating/bellymodes_vr.dm | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/code/modules/vore/eating/bellymodes_vr.dm b/code/modules/vore/eating/bellymodes_vr.dm index 564531ef5b5..b91ba43b64a 100644 --- a/code/modules/vore/eating/bellymodes_vr.dm +++ b/code/modules/vore/eating/bellymodes_vr.dm @@ -52,6 +52,7 @@ if(M.stat == DEAD) var/digest_alert_owner = pick(digest_messages_owner) var/digest_alert_prey = pick(digest_messages_prey) + var/compensation = M.getOxyLoss() //How much of the prey's damage was caused by passive crit oxyloss to compensate the lost nutrition. //Replace placeholder vars digest_alert_owner = replacetext(digest_alert_owner,"%pred",owner) @@ -69,6 +70,12 @@ play_sound = pick(death_sounds) digestion_death(M) owner.update_icons() + if(compensation > 0) + if(isrobot(owner)) + var/mob/living/silicon/robot/R = owner + R.cell.charge += 25*compensation + else + owner.nutrition += 4.5*compensation continue if(digest_mode == DM_DIGEST_NUMB && ishuman(M)) @@ -84,11 +91,11 @@ var/difference = owner.size_multiplier / M.size_multiplier if(isrobot(owner)) var/mob/living/silicon/robot/R = owner - R.cell.charge += 20*(digest_brute+digest_burn) + R.cell.charge += 25*(digest_brute+digest_burn) if(offset) // If any different than default weight, multiply the % of offset. - owner.nutrition += offset*(2*(digest_brute+digest_burn)/difference) // 9.5 nutrition per digestion tick if they're 130 pounds and it's same size. 10.2 per digestion tick if they're 140 and it's same size. Etc etc. + owner.nutrition += offset*(4.5*(digest_brute+digest_burn)/difference) //5 nutrition points per health point. Normal same size 100+100 health prey with average weight would give 1000 points if the digestion was instant. With all the size/weight offset taxes plus over time oxyloss+hunger taxes deducted with non-instant digestion, this should be enough to not leave the pred starved. else - owner.nutrition += 2*(digest_brute+digest_burn)/difference + owner.nutrition += 4.5*(digest_brute+digest_burn)/difference M.updateVRPanel() //Contaminate or gurgle items From 0b71a71fbf2b2f69a32425a74a9695a76025cf9c Mon Sep 17 00:00:00 2001 From: Verkister Date: Thu, 12 Apr 2018 21:15:00 +0300 Subject: [PATCH 2/4] sync --- code/modules/vore/eating/bellymodes_vr.dm | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/code/modules/vore/eating/bellymodes_vr.dm b/code/modules/vore/eating/bellymodes_vr.dm index fc0439ecca5..1a8188d089d 100644 --- a/code/modules/vore/eating/bellymodes_vr.dm +++ b/code/modules/vore/eating/bellymodes_vr.dm @@ -51,11 +51,11 @@ if(L.absorbed) L.Weaken(5) - + //Handle 'human' if(ishuman(L)) var/mob/living/carbon/human/H = L - + //Numbing flag if(mode_flags & DM_FLAG_NUMBING) if(H.bloodstr.get_reagent_amount("numbenzyme") < 2) @@ -132,7 +132,7 @@ var/mob/living/silicon/robot/R = owner R.cell.charge += 25*(digest_brute+digest_burn) if(offset) // If any different than default weight, multiply the % of offset. - owner.nutrition += offset*(4.5*(digest_brute+digest_burn)/difference) //5 nutrition points per health point. Normal same size 100+100 health prey with average weight would give 1000 points if the digestion was instant. With all the size/weight offset taxes plus over time oxyloss+hunger taxes deducted with non-instant digestion, this should be enough to not leave the pred starved. + owner.nutrition += offset*(4.5*(digest_brute+digest_burn)/difference) //4.5 nutrition points per health point. Normal same size 100+100 health prey with average weight would give 900 points if the digestion was instant. With all the size/weight offset taxes plus over time oxyloss+hunger taxes deducted with non-instant digestion, this should be enough to not leave the pred starved. else owner.nutrition += 4.5*(digest_brute+digest_burn)/difference M.updateVRPanel() @@ -162,7 +162,7 @@ for (var/target in touchable_mobs) var/mob/living/M = target - + if(M.absorbed && owner.nutrition >= 100) M.absorbed = 0 to_chat(M,"You suddenly feel solid again ") @@ -174,7 +174,7 @@ for (var/target in touchable_mobs) var/mob/living/M = target - + if(prob(10)) //Less often than gurgles. People might leave this on forever. play_sound = pick(digestion_sounds) @@ -188,13 +188,13 @@ for (var/target in touchable_mobs) var/mob/living/M = target - + if(prob(10)) //Infinite gurgles! play_sound = pick(digestion_sounds) if(M.size_multiplier > shrink_grow_size) //Shrink until smol. M.resize(M.size_multiplier-0.01) //Shrink by 1% per tick. - + if(M.nutrition >= 100) //Absorbing bodymass results in nutrition if possible. var/oldnutrition = (M.nutrition * 0.05) M.nutrition = (M.nutrition * 0.95) @@ -205,7 +205,7 @@ for (var/target in touchable_mobs) var/mob/living/M = target - + if(prob(10)) play_sound = pick(digestion_sounds) @@ -219,14 +219,14 @@ for (var/target in touchable_mobs) var/mob/living/M = target - + if(prob(10)) play_sound = pick(digestion_sounds) if(M.size_multiplier > shrink_grow_size && owner.size_multiplier < 2) //Grow until either pred is large or prey is small. owner.resize(owner.size_multiplier+0.01) //Grow by 1% per tick. M.resize(M.size_multiplier-0.01) //Shrink by 1% per tick - + if(M.nutrition >= 100) var/oldnutrition = (M.nutrition * 0.05) M.nutrition = (M.nutrition * 0.95) @@ -234,7 +234,7 @@ ///////////////////////////// DM_HEAL ///////////////////////////// else if(digest_mode == DM_HEAL) - + if(prob(50)) //Wet heals! The secret is you can leave this on for gurgle noises for fun. play_sound = pick(digestion_sounds) From f7324044f353312884ab18b8d2f897fd68ed6e8b Mon Sep 17 00:00:00 2001 From: Verkister Date: Sun, 22 Apr 2018 15:50:27 +0300 Subject: [PATCH 3/4] Update bellymodes_vr.dm --- code/modules/vore/eating/bellymodes_vr.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/vore/eating/bellymodes_vr.dm b/code/modules/vore/eating/bellymodes_vr.dm index 92d59929c52..64d4e345820 100644 --- a/code/modules/vore/eating/bellymodes_vr.dm +++ b/code/modules/vore/eating/bellymodes_vr.dm @@ -103,7 +103,7 @@ digest_alert_owner = replacetext(digest_alert_owner,"%prey",M) digest_alert_owner = replacetext(digest_alert_owner,"%belly",lowertext(name)) - digest_alert_prey = replacetext(digest_alert_prey,"%pred",owner) + digest_alert_prey = replacetext(digest_alert_prey,"%pred",owner) digest_alert_prey = replacetext(digest_alert_prey,"%prey",M) digest_alert_prey = replacetext(digest_alert_prey,"%belly",lowertext(name)) From 4bf17aea585832fcef2c82b04974b1a86bb0b69b Mon Sep 17 00:00:00 2001 From: Verkister Date: Sun, 22 Apr 2018 15:51:19 +0300 Subject: [PATCH 4/4] gr --- code/modules/vore/eating/bellymodes_vr.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/vore/eating/bellymodes_vr.dm b/code/modules/vore/eating/bellymodes_vr.dm index 64d4e345820..f706a5bdcf7 100644 --- a/code/modules/vore/eating/bellymodes_vr.dm +++ b/code/modules/vore/eating/bellymodes_vr.dm @@ -103,7 +103,7 @@ digest_alert_owner = replacetext(digest_alert_owner,"%prey",M) digest_alert_owner = replacetext(digest_alert_owner,"%belly",lowertext(name)) - digest_alert_prey = replacetext(digest_alert_prey,"%pred",owner) + digest_alert_prey = replacetext(digest_alert_prey,"%pred",owner) digest_alert_prey = replacetext(digest_alert_prey,"%prey",M) digest_alert_prey = replacetext(digest_alert_prey,"%belly",lowertext(name))