Holy light medbot + antimagic (#20189)

* lol

* dif name

* Update buffs.dm

* Update buffs.dm
This commit is contained in:
Molti
2023-09-01 19:48:58 -05:00
committed by GitHub
parent 88291ea07d
commit b7e3a00fea
4 changed files with 32 additions and 2 deletions

View File

@@ -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 //
///////////// /////////////

View File

@@ -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)

View File

@@ -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

View File

@@ -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!"))