mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-16 17:43:35 +01:00
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:
@@ -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'
|
||||
|
||||
Reference in New Issue
Block a user