diff --git a/code/__DEFINES/status_effects.dm b/code/__DEFINES/status_effects.dm index 2e1524ebac..b481ba7ddd 100644 --- a/code/__DEFINES/status_effects.dm +++ b/code/__DEFINES/status_effects.dm @@ -28,6 +28,8 @@ #define STATUS_EFFECT_BLOODDRUNK /datum/status_effect/blooddrunk //Stun immunity and greatly reduced damage taken +#define STATUS_EFFECT_FLESHMEND /datum/status_effect/fleshmend //Very fast healing; suppressed by fire, and heals less fire damage + ///////////// // DEBUFFS // ///////////// diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm index ec4b81acbe..9179b9bea4 100644 --- a/code/datums/status_effects/buffs.dm +++ b/code/datums/status_effects/buffs.dm @@ -412,3 +412,27 @@ /datum/status_effect/sword_spin/on_remove() owner.visible_message("[owner]'s inhuman strength dissipates and the sword's runes grow cold!") + + +//Used by changelings to rapidly heal +//Heals 10 brute and oxygen damage every second, and 5 fire +//Being on fire will suppress this healing +/datum/status_effect/fleshmend + id = "fleshmend" + duration = 100 + alert_type = /obj/screen/alert/status_effect/fleshmend + +/datum/status_effect/fleshmend/tick() + if(owner.on_fire) + linked_alert.icon_state = "fleshmend_fire" + return + else + linked_alert.icon_state = "fleshmend" + owner.adjustBruteLoss(-10, FALSE) + owner.adjustFireLoss(-5, FALSE) + owner.adjustOxyLoss(-10) + +/obj/screen/alert/status_effect/fleshmend + name = "Fleshmend" + desc = "Our wounds are rapidly healing. This effect is prevented if we are on fire." + icon_state = "fleshmend" diff --git a/code/game/gamemodes/changeling/powers/fleshmend.dm b/code/game/gamemodes/changeling/powers/fleshmend.dm index dd9d4a8634..eef9995d3c 100644 --- a/code/game/gamemodes/changeling/powers/fleshmend.dm +++ b/code/game/gamemodes/changeling/powers/fleshmend.dm @@ -1,3 +1,4 @@ +<<<<<<< HEAD /obj/effect/proc_holder/changeling/fleshmend name = "Fleshmend" desc = "Our flesh rapidly regenerates, healing our burns, bruises and shortness of breath. Effectiveness decreases with quick, repeated use." @@ -50,3 +51,24 @@ else break sleep(10) +======= +/obj/effect/proc_holder/changeling/fleshmend + name = "Fleshmend" + desc = "Our flesh rapidly regenerates, healing our burns, bruises, and shortness of breath. Functions while unconscious." + helptext = "If we are on fire, the healing effect will not function. Does not regrow limbs or restore lost blood." + chemical_cost = 20 + dna_cost = 2 + req_stat = UNCONSCIOUS + +//Starts healing you every second for 10 seconds. +//Can be used whilst unconscious. +/obj/effect/proc_holder/changeling/fleshmend/sting_action(mob/living/user) + if(user.has_status_effect(STATUS_EFFECT_FLESHMEND)) + to_chat(user, "We are already fleshmending!") + return + to_chat(user, "We begin to heal rapidly.") + user.apply_status_effect(STATUS_EFFECT_FLESHMEND) + return TRUE + +//Check buffs.dm for the fleshmend status effect code +>>>>>>> c051740... Refactors and nerfs Fleshmend (#34458) diff --git a/icons/mob/screen_alert.dmi b/icons/mob/screen_alert.dmi index e6d40977a7..01fcdcddad 100644 Binary files a/icons/mob/screen_alert.dmi and b/icons/mob/screen_alert.dmi differ