diff --git a/code/datums/spell.dm b/code/datums/spell.dm index e566ce73c8a..dd93a925b47 100644 --- a/code/datums/spell.dm +++ b/code/datums/spell.dm @@ -605,6 +605,9 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) to_chat(user, span_warning("You shouldn't have this spell! Something's wrong.")) return FALSE + if(HAS_TRAIT(user, TRAIT_NOSPELLS)) + return FALSE + if(!centcom_cancast) //Certain spells are not allowed on the centcom zlevel var/turf/user_turf = get_turf(user) if(user_turf && is_admin_level(user_turf.z)) diff --git a/code/datums/spells/wizard.dm b/code/datums/spells/wizard.dm index 7a4d403aa4d..868ec6b857a 100644 --- a/code/datums/spells/wizard.dm +++ b/code/datums/spells/wizard.dm @@ -382,7 +382,6 @@ action.button_icon_state = "fireball[active]" action.UpdateButtonIcon() - /obj/effect/proc_holder/spell/fireball/cast(list/targets, mob/living/user = usr) var/target = targets[1] //There is only ever one target for fireball var/turf/T = user.loc diff --git a/code/modules/antagonists/vampire/vampire_powers/bestia_powers.dm b/code/modules/antagonists/vampire/vampire_powers/bestia_powers.dm index a0163a1c17f..4e47ea75ff4 100644 --- a/code/modules/antagonists/vampire/vampire_powers/bestia_powers.dm +++ b/code/modules/antagonists/vampire/vampire_powers/bestia_powers.dm @@ -723,7 +723,7 @@ /obj/effect/proc_holder/spell/vampire/lunge/can_cast(mob/living/carbon/user = usr, charge_check = TRUE, show_message = FALSE) - if(user.incapacitated(INC_IGNORE_RESTRAINED|INC_IGNORE_GRABBED) || user.buckled || (iscarbon(user) && user.legcuffed) || HAS_TRAIT(user, TRAIT_CANNOT_CAST_SPELLS)) + if(user.incapacitated(INC_IGNORE_RESTRAINED|INC_IGNORE_GRABBED) || user.buckled || (iscarbon(user) && user.legcuffed)) if(show_message) to_chat(user, span_warning("You can't use this ability right now!")) return FALSE @@ -962,7 +962,7 @@ to_chat(user, span_warning("You are too weak to use this ability!")) return FALSE - if(!isturf(user.loc) || HAS_TRAIT(user, TRAIT_ISMMI)) + if(!isturf(user.loc) || HAS_TRAIT(user, TRAIT_NOSPELLS)) if(show_message) to_chat(user, span_warning("You can't use this ability inside [user.loc]!")) return FALSE