mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2026-08-27 22:57:15 +01:00
Move Sanguine Metabolism
Moves Sanguine Metabolism to a separate file to match new formatting.
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
// Lite version of Bloodflege
|
||||
// Removes all special powers
|
||||
/datum/quirk/bloodfledge_lite
|
||||
name = "Sanguine Metabolism"
|
||||
desc = "You are a non-magical Bloodsucker Fledgling, with no special powers. Only blood will sate your hungers, and holy energies will cause your flesh to char."
|
||||
value = 0
|
||||
medical_record_text = "Patient exhibits an unusually weak sanguine curse."
|
||||
mob_trait = TRAIT_BLOODFLEDGE_LITE
|
||||
gain_text = span_notice("You feel a sanguine thirst.")
|
||||
lose_text = span_notice("You feel the sanguine thirst fade away.")
|
||||
|
||||
/datum/quirk/bloodfledge_lite/add()
|
||||
// Define quirk mob
|
||||
var/mob/living/carbon/human/quirk_mob = quirk_holder
|
||||
|
||||
// Add quirk traits
|
||||
ADD_TRAIT(quirk_mob,TRAIT_NO_PROCESS_FOOD,ROUNDSTART_TRAIT)
|
||||
ADD_TRAIT(quirk_mob,TRAIT_NOTHIRST,ROUNDSTART_TRAIT)
|
||||
|
||||
// Add full trait to preserve bite, holy weakness, and examine functionality
|
||||
ADD_TRAIT(quirk_mob,TRAIT_BLOODFLEDGE,ROUNDSTART_TRAIT)
|
||||
|
||||
// Lite version does not set skin tone or grant the language
|
||||
|
||||
// Register examine text
|
||||
RegisterSignal(quirk_holder, COMSIG_PARENT_EXAMINE, PROC_REF(quirk_examine_bloodfledge_lite))
|
||||
|
||||
/datum/quirk/bloodfledge_lite/post_add()
|
||||
// Define quirk mob
|
||||
var/mob/living/carbon/human/quirk_mob = quirk_holder
|
||||
|
||||
// Define and grant ability Bite
|
||||
var/datum/action/cooldown/bloodfledge/bite/act_bite = new
|
||||
act_bite.Grant(quirk_mob)
|
||||
|
||||
// Lite version does not grant the revive ability
|
||||
|
||||
/datum/quirk/bloodfledge_lite/remove()
|
||||
// Define quirk mob
|
||||
var/mob/living/carbon/human/quirk_mob = quirk_holder
|
||||
|
||||
// Remove quirk traits
|
||||
REMOVE_TRAIT(quirk_mob, TRAIT_NO_PROCESS_FOOD, ROUNDSTART_TRAIT)
|
||||
REMOVE_TRAIT(quirk_mob, TRAIT_NOTHIRST, ROUNDSTART_TRAIT)
|
||||
REMOVE_TRAIT(quirk_mob, TRAIT_BLOODFLEDGE, ROUNDSTART_TRAIT)
|
||||
|
||||
// Remove quirk ability action datums
|
||||
var/datum/action/cooldown/bloodfledge/bite/act_bite = locate() in quirk_mob.actions
|
||||
act_bite.Remove(quirk_mob)
|
||||
|
||||
// Unregister examine text
|
||||
UnregisterSignal(quirk_holder, COMSIG_PARENT_EXAMINE)
|
||||
|
||||
/datum/quirk/bloodfledge_lite/proc/quirk_examine_bloodfledge_lite(atom/examine_target, mob/living/carbon/human/examiner, list/examine_list)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
// Check if human examiner exists
|
||||
if(!istype(examiner))
|
||||
return
|
||||
|
||||
// Check if examiner is a non-Fledgling
|
||||
if(!isbloodfledge(examiner))
|
||||
// Return with no effects
|
||||
return
|
||||
|
||||
// Check if examiner is dumb
|
||||
if(HAS_TRAIT(examiner, TRAIT_DUMB))
|
||||
// Return with no effects
|
||||
return
|
||||
|
||||
// Define quirk mob
|
||||
var/mob/living/carbon/human/quirk_mob = quirk_holder
|
||||
|
||||
// Define hunger texts
|
||||
var/examine_hunger
|
||||
|
||||
// Check hunger levels
|
||||
switch(quirk_mob.nutrition)
|
||||
// Hungry
|
||||
if(NUTRITION_LEVEL_STARVING to NUTRITION_LEVEL_HUNGRY)
|
||||
examine_hunger = "[quirk_holder.p_they(TRUE)] [quirk_holder.p_are()] blood starved!"
|
||||
|
||||
// Starving
|
||||
if(0 to NUTRITION_LEVEL_STARVING)
|
||||
examine_hunger = "[quirk_holder.p_they(TRUE)] [quirk_holder.p_are()] in dire need of blood!"
|
||||
|
||||
// Invalid hunger
|
||||
else
|
||||
// Return with no message
|
||||
return
|
||||
|
||||
// Add detection text
|
||||
examine_list += span_info("[quirk_holder.p_their(TRUE)] hunger allows you to identify [quirk_holder.p_them()] as a lesser Bloodsucker Fledgling!")
|
||||
|
||||
// Add hunger text
|
||||
examine_list += span_warning(examine_hunger)
|
||||
Reference in New Issue
Block a user