Makes the sickness affect only people dying via non-vore deaths, adds fluff version with no downsides

This commit is contained in:
Heroman
2020-01-07 17:02:39 +10:00
parent 9490261230
commit 2b10027024
6 changed files with 22 additions and 4 deletions

2
code/datums/mind_vr.dm Normal file
View File

@@ -0,0 +1,2 @@
/datum/mind
var/vore_death = FALSE // Was our last gasp a gurgle?

View File

@@ -91,3 +91,4 @@
/datum/reagent/sleevingcure/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
M.remove_a_modifier_of_type(/datum/modifier/resleeving_sickness)
M.remove_a_modifier_of_type(/datum/modifier/faux_resleeving_sickness)

View File

@@ -584,7 +584,11 @@
occupant.confused = max(occupant.confused, confuse_amount) // Apply immedeate effects
occupant.eye_blurry = max(occupant.eye_blurry, blur_amount)
occupant.add_modifier(/datum/modifier/resleeving_sickness, sickness_duration) //And more longterm ones
if(!(occupant.mind.vore_death))
occupant.add_modifier(/datum/modifier/faux_resleeving_sickness, sickness_duration/3) // And more longterm, though purely visual ones
else
occupant.add_modifier(/datum/modifier/resleeving_sickness, sickness_duration) // Much more serious if it wasn't a death by vore though
occupant.mind.vore_death = FALSE // Reset our death type. Just in case
if(occupant.mind && occupant.original_player && ckey(occupant.mind.key) != occupant.original_player)
log_and_message_admins("is now a cross-sleeved character. Body originally belonged to [occupant.real_name]. Mind is now [occupant.mind.name].",occupant)

View File

@@ -1,6 +1,6 @@
/datum/modifier/resleeving_sickness
name = "resleeving sickness"
desc = "You feel rather weak, having been sleeved not so long ago."
desc = "You feel rather weak and unfocused, having been sleeved not so long ago."
stacks = MODIFIER_STACK_EXTEND
on_created_text = "<span class='warning'><font size='3'>You feel weak and unfocused.</font></span>"
@@ -14,3 +14,11 @@
evasion = -50 // 50% easier to hit.
accuracy = -66 // 66% less accurate.
accuracy_dispersion = 30 // 30% less precise.
/datum/modifier/faux_resleeving_sickness
name = "resleeving sickness"
desc = "You feel somewhat weak and unfocused, having been sleeved not so long ago."
stacks = MODIFIER_STACK_EXTEND
on_created_text = "<span class='warning'>You feel slightly weak and unfocused.</font></span>"
on_expired_text = "<span class='notice'>You feel your strength and focus return to you.</font></span>"

View File

@@ -393,6 +393,8 @@
//M.death(1) // "Stop it he's already dead..." Basically redundant and the reason behind screaming mouse carcasses.
if(M.ckey)
message_admins("[key_name(owner)] has digested [key_name(M)] in their [lowertext(name)] ([owner ? "<a href='?_src_=holder;adminplayerobservecoodjump=1;X=[owner.x];Y=[owner.y];Z=[owner.z]'>JMP</a>" : "null"])")
if(M.mind)
M.mind.vore_death = TRUE
// If digested prey is also a pred... anyone inside their bellies gets moved up.
if(is_vore_predator(M))

View File

@@ -272,6 +272,7 @@
#include "code\datums\ghost_query.dm"
#include "code\datums\hierarchy.dm"
#include "code\datums\mind.dm"
#include "code\datums\mind_vr.dm"
#include "code\datums\mixed.dm"
#include "code\datums\modules.dm"
#include "code\datums\mutable_appearance.dm"