mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
Holy light medbot + antimagic (#20189)
* lol * dif name * Update buffs.dm * Update buffs.dm
This commit is contained in:
@@ -68,6 +68,8 @@
|
|||||||
|
|
||||||
#define STATUS_EFFECT_DIAMONDSKIN /datum/status_effect/diamondskin //Increases heat and pressure resistance
|
#define STATUS_EFFECT_DIAMONDSKIN /datum/status_effect/diamondskin //Increases heat and pressure resistance
|
||||||
|
|
||||||
|
#define STATUS_EFFECT_HOLYLIGHT_ANTIMAGIC /datum/status_effect/holylight_antimagic //long-term temporary antimagic that makes you blue
|
||||||
|
|
||||||
/////////////
|
/////////////
|
||||||
// DEBUFFS //
|
// DEBUFFS //
|
||||||
/////////////
|
/////////////
|
||||||
|
|||||||
@@ -693,3 +693,24 @@
|
|||||||
var/mob/living/carbon/human/H = owner
|
var/mob/living/carbon/human/H = owner
|
||||||
H.physiology.pressure_mod /= 0.5
|
H.physiology.pressure_mod /= 0.5
|
||||||
H.physiology.heat_mod /= 0.5
|
H.physiology.heat_mod /= 0.5
|
||||||
|
|
||||||
|
/datum/status_effect/holylight_antimagic
|
||||||
|
id = "holy antimagic"
|
||||||
|
duration = 2 MINUTES
|
||||||
|
tick_interval = 0
|
||||||
|
status_type = STATUS_EFFECT_REFRESH
|
||||||
|
alert_type = /atom/movable/screen/alert/status_effect/holylight_antimagic
|
||||||
|
|
||||||
|
/atom/movable/screen/alert/status_effect/holylight_antimagic
|
||||||
|
name = "Holy suffusion"
|
||||||
|
desc = "Your being is suffused with holy light that repels vile magics."
|
||||||
|
icon_state = "slime_rainbowshield" //i'm a coder, not a spriter
|
||||||
|
|
||||||
|
/datum/status_effect/holylight_antimagic/on_apply()
|
||||||
|
ADD_TRAIT(owner, TRAIT_ANTIMAGIC, type)
|
||||||
|
owner.add_atom_colour(GLOB.freon_color_matrix, TEMPORARY_COLOUR_PRIORITY)
|
||||||
|
|
||||||
|
/datum/status_effect/holylight_antimagic/on_remove()
|
||||||
|
REMOVE_TRAIT(owner, TRAIT_ANTIMAGIC, type)
|
||||||
|
owner.remove_atom_colour(TEMPORARY_COLOUR_PRIORITY)
|
||||||
|
|
||||||
|
|||||||
@@ -68,6 +68,7 @@
|
|||||||
var/treatment_virus = /datum/reagent/medicine/spaceacillin
|
var/treatment_virus = /datum/reagent/medicine/spaceacillin
|
||||||
var/treat_virus = 1 //If on, the bot will attempt to treat viral infections, curing them if possible.
|
var/treat_virus = 1 //If on, the bot will attempt to treat viral infections, curing them if possible.
|
||||||
var/shut_up = 0 //self explanatory :)
|
var/shut_up = 0 //self explanatory :)
|
||||||
|
var/holy = FALSE //if it injects holy water
|
||||||
|
|
||||||
/mob/living/simple_animal/bot/medbot/mysterious
|
/mob/living/simple_animal/bot/medbot/mysterious
|
||||||
name = "\improper Mysterious Medibot"
|
name = "\improper Mysterious Medibot"
|
||||||
@@ -658,6 +659,9 @@
|
|||||||
else
|
else
|
||||||
patient.reagents.add_reagent(reagent_id,injection_amount)
|
patient.reagents.add_reagent(reagent_id,injection_amount)
|
||||||
log_combat(src, patient, "injected", "internal synthesizer", "[reagent_id]:[injection_amount]")
|
log_combat(src, patient, "injected", "internal synthesizer", "[reagent_id]:[injection_amount]")
|
||||||
|
if(holy)
|
||||||
|
patient.reagents.add_reagent(/datum/reagent/water/holywater ,injection_amount)
|
||||||
|
log_combat(src, patient, "injected", "internal synthesizer", "[/datum/reagent/water/holywater]:[injection_amount]")
|
||||||
C.visible_message(span_danger("[src] injects [patient] with its syringe!"), \
|
C.visible_message(span_danger("[src] injects [patient] with its syringe!"), \
|
||||||
span_userdanger("[src] injects you with its syringe!"))
|
span_userdanger("[src] injects you with its syringe!"))
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -607,8 +607,11 @@
|
|||||||
|
|
||||||
/datum/religion_rites/medibot/invoke_effect(mob/living/user, atom/movable/religious_tool)
|
/datum/religion_rites/medibot/invoke_effect(mob/living/user, atom/movable/religious_tool)
|
||||||
var/altar_turf = get_turf(religious_tool)
|
var/altar_turf = get_turf(religious_tool)
|
||||||
var/atom/newitem = new /mob/living/simple_animal/bot/medbot (altar_turf)
|
var/mob/living/simple_animal/bot/medbot/newitem = new (altar_turf)
|
||||||
newitem.name = "\improper Holy Medibot"
|
newitem.name = "\improper Holy Medibot"
|
||||||
|
newitem.add_atom_colour(GLOB.freon_color_matrix, TEMPORARY_COLOUR_PRIORITY)
|
||||||
|
newitem.holy = TRUE
|
||||||
|
newitem.AddComponent(/datum/component/anti_magic, TRUE, TRUE, FALSE, null, null, FALSE)
|
||||||
playsound(altar_turf, 'sound/magic/staff_healing.ogg', 50, TRUE)
|
playsound(altar_turf, 'sound/magic/staff_healing.ogg', 50, TRUE)
|
||||||
return TRUE
|
return TRUE
|
||||||
|
|
||||||
@@ -686,7 +689,7 @@
|
|||||||
man_to_revive.revive(TRUE)
|
man_to_revive.revive(TRUE)
|
||||||
if(was_dead) // aheal needs downside
|
if(was_dead) // aheal needs downside
|
||||||
man_to_revive.adjustCloneLoss(75) // can be slowly healed with the rod of asclepius anyways
|
man_to_revive.adjustCloneLoss(75) // can be slowly healed with the rod of asclepius anyways
|
||||||
man_to_revive.add_atom_colour(GLOB.freon_color_matrix, TEMPORARY_COLOUR_PRIORITY)
|
man_to_revive.apply_status_effect(STATUS_EFFECT_HOLYLIGHT_ANTIMAGIC)
|
||||||
to_chat(man_to_revive, span_userdanger("As you rise anew, you forget all that had previously harmed you!"))
|
to_chat(man_to_revive, span_userdanger("As you rise anew, you forget all that had previously harmed you!"))
|
||||||
man_to_revive.emote("smile")
|
man_to_revive.emote("smile")
|
||||||
man_to_revive.visible_message(span_notice("[man_to_revive] rises, reborn in the Holy Light!"))
|
man_to_revive.visible_message(span_notice("[man_to_revive] rises, reborn in the Holy Light!"))
|
||||||
|
|||||||
Reference in New Issue
Block a user