[MIRROR] Replaces alien brain necropolis chest loot with new artifact [MERGE READY] (#5892)
* Replaces alien brain necropolis chest loot with new artifact [MERGE READY] (#36143) * -Replaces alien brain necropolis chest loot with new artifact -Adds new artifact to necropolis chests loot, the Rod of Asclepius -Adds corresponding status effect and defines * Update necropolis_chests.dm fixed spelling * Spelling FIx *disperses * Fixed spelling, lowered the boost to the owner, added oxy heals, and refactored some of the code * Adds some form of sprites (Still subject to change) * Adds new sprites, fixes slime people taking toxin damage, and adds the rod to list of snake phobia objects. * Nerfed clone healing and simple animal healing, fixed healing while dead as well as added a death event, tweaked the sprites, and cleaned up some code. * Fixed grammar and cleaned up some code. * Further cleaned up code because Cobby is mean. * FURTHER cleaned up code p.s. please send help, Cobby is holding me hostage * Replaces alien brain necropolis chest loot with new artifact [MERGE READY]
This commit is contained in:
committed by
Poojawa
parent
0f7171a5b4
commit
e3831a684f
@@ -450,3 +450,93 @@
|
||||
/datum/status_effect/exercised/Destroy()
|
||||
. = ..()
|
||||
STOP_PROCESSING(SSprocessing, src)
|
||||
|
||||
//Hippocratic Oath: Applied when the Rod of Asclepius is activated.
|
||||
/datum/status_effect/hippocraticOath
|
||||
id = "Hippocratic Oath"
|
||||
status_type = STATUS_EFFECT_UNIQUE
|
||||
duration = -1
|
||||
tick_interval = 25
|
||||
examine_text = "<span class='notice'>They seem to have an aura of healing and helpfulness about them.</span>"
|
||||
alert_type = null
|
||||
var/hand
|
||||
var/deathTick = 0
|
||||
|
||||
/datum/status_effect/hippocraticOath/on_apply()
|
||||
//Makes the user passive, it's in their oath not to harm!
|
||||
owner.add_trait(TRAIT_PACIFISM, "hippocraticOath")
|
||||
var/datum/atom_hud/H = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED]
|
||||
H.add_hud_to(owner)
|
||||
return ..()
|
||||
|
||||
/datum/status_effect/hippocraticOath/on_remove()
|
||||
owner.remove_trait(TRAIT_PACIFISM, "hippocraticOath")
|
||||
var/datum/atom_hud/H = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED]
|
||||
H.remove_hud_from(owner)
|
||||
|
||||
/datum/status_effect/hippocraticOath/tick()
|
||||
if(owner.stat == DEAD)
|
||||
if(deathTick < 4)
|
||||
deathTick += 1
|
||||
else
|
||||
owner.visible_message("[owner]'s soul is absorbed into the rod, releaving the previous snake of it's duty.")
|
||||
var/mob/living/simple_animal/hostile/retaliate/poison/snake/healSnake = new(owner.loc)
|
||||
var/list/chems = list("bicaridine", "salbutamol", "kelotane", "antitoxin")
|
||||
healSnake.poison_type = pick(chems)
|
||||
healSnake.name = "Asclepius's Snake"
|
||||
healSnake.real_name = "Asclepius's Snake"
|
||||
healSnake.desc = "A mystical snake previously trapped upon the Rod of Asclepius, now freed of its burden. Unlike the average snake, its bites contain chemicals with minor healing properties."
|
||||
new /obj/effect/decal/cleanable/ash(owner.loc)
|
||||
new /obj/item/rod_of_asclepius(owner.loc)
|
||||
qdel(owner)
|
||||
else
|
||||
if(iscarbon(owner))
|
||||
var/mob/living/carbon/itemUser = owner
|
||||
var/obj/item/heldItem = itemUser.get_item_for_held_index(hand)
|
||||
if(heldItem == null || heldItem.type != /obj/item/rod_of_asclepius) //Checks to make sure the rod is still in their hand
|
||||
var/obj/item/rod_of_asclepius/newRod = new(itemUser.loc)
|
||||
newRod.activated()
|
||||
if(!itemUser.has_hand_for_held_index(hand))
|
||||
//If user does not have the corresponding hand anymore, give them one and return the rod to their hand
|
||||
if(((hand % 2) == 0))
|
||||
var/obj/item/bodypart/L = itemUser.newBodyPart("r_arm", FALSE, FALSE)
|
||||
L.attach_limb(itemUser)
|
||||
itemUser.put_in_r_hand(newRod)
|
||||
else
|
||||
var/obj/item/bodypart/L = itemUser.newBodyPart("l_arm", FALSE, FALSE)
|
||||
L.attach_limb(itemUser)
|
||||
itemUser.put_in_l_hand(newRod)
|
||||
to_chat(itemUser, "<span class='notice'>Your arm suddenly grows back with the Rod of Asclepius still attached!</span>")
|
||||
else
|
||||
//Otherwise get rid of whatever else is in their hand and return the rod to said hand
|
||||
itemUser.dropItemToGround(itemUser.get_item_for_held_index(hand))
|
||||
if(((hand % 2) == 0))
|
||||
itemUser.put_in_r_hand(newRod)
|
||||
else
|
||||
itemUser.put_in_l_hand(newRod)
|
||||
to_chat(itemUser, "<span class='notice'>The Rod of Asclepius suddenly grows back out of your arm!</span>")
|
||||
//Because a servant of medicines stops at nothing to help others, lets keep them on their toes and give them an additional boost.
|
||||
if(itemUser.health < itemUser.maxHealth)
|
||||
new /obj/effect/temp_visual/heal(get_turf(itemUser), "#375637")
|
||||
itemUser.adjustBruteLoss(-1.5)
|
||||
itemUser.adjustFireLoss(-1.5)
|
||||
itemUser.adjustToxLoss(-1.5, forced = TRUE) //Because Slime People are people too
|
||||
itemUser.adjustOxyLoss(-1.5)
|
||||
itemUser.adjustStaminaLoss(-1.5)
|
||||
itemUser.adjustBrainLoss(-1.5)
|
||||
itemUser.adjustCloneLoss(-0.5) //Becasue apparently clone damage is the bastion of all health
|
||||
//Heal all those around you, unbiased
|
||||
for(var/mob/living/L in view(7, owner))
|
||||
if(L.health < L.maxHealth)
|
||||
new /obj/effect/temp_visual/heal(get_turf(L), "#375637")
|
||||
if(iscarbon(L))
|
||||
L.adjustBruteLoss(-3.5)
|
||||
L.adjustFireLoss(-3.5)
|
||||
L.adjustToxLoss(-3.5, forced = TRUE) //Because Slime People are people too
|
||||
L.adjustOxyLoss(-3.5)
|
||||
L.adjustStaminaLoss(-3.5)
|
||||
L.adjustBrainLoss(-3.5)
|
||||
L.adjustCloneLoss(-1) //Becasue apparently clone damage is the bastion of all health
|
||||
else
|
||||
var/mob/living/simple_animal/SM = L
|
||||
SM.adjustHealth(-3.5, forced = TRUE)
|
||||
Reference in New Issue
Block a user