mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-10 01:49:19 +00:00
New branch test
This commit is contained in:
@@ -30,6 +30,8 @@
|
||||
|
||||
#define STATUS_EFFECT_FLESHMEND /datum/status_effect/fleshmend //Very fast healing; suppressed by fire, and heals less fire damage
|
||||
|
||||
#define STATUS_EFFECT_PANACEA /datum/status_effect/panacea //Anatomic panacea that directly heals, rather than injecting a small chemical cocktail
|
||||
|
||||
#define STATUS_EFFECT_EXERCISED /datum/status_effect/exercised //Prevents heart disease
|
||||
|
||||
#define STATUS_EFFECT_HIPPOCRATIC_OATH /datum/status_effect/hippocraticOath //Gives you an aura of healing as well as regrowing the Rod of Asclepius if lost
|
||||
|
||||
@@ -580,4 +580,63 @@
|
||||
/datum/status_effect/regenerative_core/on_remove()
|
||||
. = ..()
|
||||
REMOVE_TRAIT(owner, TRAIT_IGNOREDAMAGESLOWDOWN, "regenerative_core")
|
||||
owner.updatehealth()
|
||||
owner.updatehealth()
|
||||
|
||||
/datum/status_effect/panacea
|
||||
id = "Anatomic Panacea"
|
||||
duration = 100
|
||||
tick_interval = 10
|
||||
alert_type = /obj/screen/alert/status_effect/panacea
|
||||
|
||||
/obj/screen/alert/status_effect/panacea
|
||||
name = "Panacea"
|
||||
desc = "We purge the impurities from our body."
|
||||
icon_state = "panacea"
|
||||
|
||||
// Changeling's anatomic panacea now in buff form. Directly fixes issues instead of injecting chems
|
||||
/datum/status_effect/panacea/tick()
|
||||
var/mob/living/carbon/M = owner
|
||||
|
||||
//Heal brain damage and toxyloss, alongside trauma
|
||||
owner.adjustOrganLoss(ORGAN_SLOT_BRAIN, -8)
|
||||
owner.adjustToxLoss(-6, forced = TRUE)
|
||||
M.cure_trauma_type(resilience = TRAUMA_RESILIENCE_BASIC)
|
||||
//Purges 50 rads per tick
|
||||
if(owner.radiation > 0)
|
||||
owner.radiation -= min(owner.radiation, 50)
|
||||
//Mutadone effects
|
||||
owner.jitteriness = 0
|
||||
if(owner.has_dna())
|
||||
M.dna.remove_all_mutations(mutadone = TRUE)
|
||||
if(!QDELETED(owner)) //We were a monkey, now a human
|
||||
..()
|
||||
// Purges toxins
|
||||
for(var/datum/reagent/toxin/R in owner.reagents.reagent_list)
|
||||
owner.reagents.remove_reagent(R.type, 5)
|
||||
//Antihol effects
|
||||
M.reagents.remove_all_type(/datum/reagent/consumable/ethanol, 10, 0, 1)
|
||||
M.drunkenness = max(M.drunkenness - 10, 0)
|
||||
owner.dizziness = 0
|
||||
owner.drowsyness = 0
|
||||
owner.slurring = 0
|
||||
owner.confused = 0
|
||||
//Organ and disease cure moved from panacea.dm to buff proc
|
||||
var/list/bad_organs = list(
|
||||
owner.getorgan(/obj/item/organ/body_egg),
|
||||
owner.getorgan(/obj/item/organ/zombie_infection))
|
||||
for(var/o in bad_organs)
|
||||
var/obj/item/organ/O = o
|
||||
if(!istype(O))
|
||||
continue
|
||||
O.Remove()
|
||||
if(iscarbon(owner))
|
||||
var/mob/living/carbon/C = owner
|
||||
C.vomit(0, toxic = TRUE)
|
||||
O.forceMove(get_turf(owner))
|
||||
if(isliving(owner))
|
||||
var/mob/living/L = owner
|
||||
for(var/thing in L.diseases)
|
||||
var/datum/disease/D = thing
|
||||
if(D.severity == DISEASE_SEVERITY_POSITIVE)
|
||||
continue
|
||||
D.cure()
|
||||
@@ -3,41 +3,19 @@
|
||||
desc = "Expels impurifications from our form; curing diseases, removing parasites, sobering us, purging toxins and radiation, and resetting our genetic code completely."
|
||||
helptext = "Can be used while unconscious."
|
||||
chemical_cost = 20
|
||||
dna_cost = 1
|
||||
dna_cost = 2
|
||||
req_stat = UNCONSCIOUS
|
||||
action_icon = 'icons/mob/actions/actions_changeling.dmi'
|
||||
action_icon_state = "ling_anatomic_panacea"
|
||||
action_background_icon_state = "bg_ling"
|
||||
|
||||
//Heals the things that the other regenerative abilities don't.
|
||||
/obj/effect/proc_holder/changeling/panacea/sting_action(mob/user)
|
||||
/obj/effect/proc_holder/changeling/panacea/sting_action(mob/living/user)
|
||||
if(user.has_status_effect(STATUS_EFFECT_PANACEA))
|
||||
to_chat(user, "<span class='warning'>We are already cleansing our impurities!</span>")
|
||||
return
|
||||
to_chat(user, "<span class='notice'>We cleanse impurities from our form.</span>")
|
||||
|
||||
var/list/bad_organs = list(
|
||||
user.getorgan(/obj/item/organ/body_egg),
|
||||
user.getorgan(/obj/item/organ/zombie_infection))
|
||||
|
||||
for(var/o in bad_organs)
|
||||
var/obj/item/organ/O = o
|
||||
if(!istype(O))
|
||||
continue
|
||||
|
||||
O.Remove()
|
||||
if(iscarbon(user))
|
||||
var/mob/living/carbon/C = user
|
||||
C.vomit(0, toxic = TRUE)
|
||||
O.forceMove(get_turf(user))
|
||||
|
||||
user.reagents.add_reagent(/datum/reagent/medicine/mutadone, 10)
|
||||
user.reagents.add_reagent(/datum/reagent/medicine/pen_acid/pen_jelly, 20)
|
||||
user.reagents.add_reagent(/datum/reagent/medicine/antihol, 10)
|
||||
user.reagents.add_reagent(/datum/reagent/medicine/mannitol, 25)
|
||||
|
||||
if(isliving(user))
|
||||
var/mob/living/L = user
|
||||
for(var/thing in L.diseases)
|
||||
var/datum/disease/D = thing
|
||||
if(D.severity == DISEASE_SEVERITY_POSITIVE)
|
||||
continue
|
||||
D.cure()
|
||||
user.apply_status_effect(STATUS_EFFECT_PANACEA)
|
||||
return TRUE
|
||||
|
||||
//buffs.dm has the code for anatomic panacea
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 108 KiB |
Reference in New Issue
Block a user