Ports Anti-magic from TG. (#27560)

* the rest of the fucking owl

* OK hands need work but otherwise good

* fuck time out fix vampire after

* temporary codersprite do not merge this lmao

* codersprite up

* pause, time out

* deploy the antimagic

* Update code/__HELPERS/trait_helpers.dm

Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Signed-off-by: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com>

* Update code/datums/status_effects/buffs.dm

Signed-off-by: Burzah <116982774+Burzah@users.noreply.github.com>

* Update code/game/gamemodes/wizard/magic_tarot.dm

Signed-off-by: Burzah <116982774+Burzah@users.noreply.github.com>

---------

Signed-off-by: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com>
Signed-off-by: Burzah <116982774+Burzah@users.noreply.github.com>
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
This commit is contained in:
Qwertytoforty
2025-01-02 03:36:07 -05:00
committed by GitHub
parent 6057ff5c31
commit 7bbebbb23f
62 changed files with 580 additions and 28 deletions
+6
View File
@@ -17,6 +17,8 @@
/obj/effect/forcefield/wizard
var/mob/wizard
/// Flags for what antimagic can just ignore our forcefields
var/antimagic_flags = MAGIC_RESISTANCE
/obj/effect/forcefield/wizard/Initialize(mapload, mob/summoner)
. = ..()
@@ -25,6 +27,10 @@
/obj/effect/forcefield/wizard/CanPass(atom/movable/mover, border_dir)
if(mover == wizard)
return TRUE
if(isliving(mover))
var/mob/living/living_mover = mover
if(living_mover.can_block_magic(antimagic_flags, charge_cost = 0))
return TRUE
return FALSE
///////////Mimewalls///////////
@@ -21,9 +21,12 @@
var/list/fluff_transformations = list()
/// Extra 'Holy' burn damage for ERT null rods
var/sanctify_force = 0
/// The antimagic type the nullrod has.
var/antimagic_type = MAGIC_RESISTANCE_HOLY
/obj/item/nullrod/Initialize(mapload)
. = ..()
AddComponent(/datum/component/anti_magic, antimagic_type)
if(!length(variant_names))
for(var/I in typesof(/obj/item/nullrod))
var/obj/item/nullrod/rod = I
@@ -37,11 +40,6 @@
/obj/item/nullrod/attack__legacy__attackchain(mob/M, mob/living/carbon/user)
..()
var/datum/antagonist/vampire/V = M.mind?.has_antag_datum(/datum/antagonist/vampire)
if(ishuman(M) && V && HAS_MIND_TRAIT(M, TRAIT_HOLY))
if(!V.get_ability(/datum/vampire_passive/full))
to_chat(M, "<span class='warning'>The nullrod's power interferes with your own!</span>")
V.adjust_nullification(30 + sanctify_force, 15 + sanctify_force)
if(!sanctify_force)
return
if(isliving(M))
@@ -593,6 +591,16 @@
to_chat(user, "<span class='notice'>Your prayer to [SSticker.Bible_deity_name] was interrupted.</span>")
praying = FALSE
/obj/item/nullrod/nazar
name = "nazar"
icon_state = "nazar"
item_state = null
desc = "A set of glass beads and amulet, which has been forged to provide powerful magic protection to the wielder."
force = 0
throwforce = 0
antimagic_type = ALL
/obj/item/nullrod/salt
name = "Holy Salt"
icon = 'icons/obj/food/containers.dmi'