/tg/ Station 13 - Modules - TypesDefine Details

code/__DEFINES/magic.dm

SCHOOL_UNSETUnset / default / "not actually magic" school.
SCHOOL_HOLYHoly school (chaplain magic)
SCHOOL_PSYCHICPsychic school. Not true magic, but psychic spells only benefit themselves.
SCHOOL_MIMEMime... school? Mime magic. It counts
SCHOOL_RESTORATIONRestoration school, which is mostly healing stuff
SCHOOL_EVOCATIONEvocation school, usually involves killing or destroy stuff, usually out of thin air
SCHOOL_TRANSMUTATIONSchool of transforming stuff into other stuff
SCHOOL_TRANSLOCATIONSchool of transolcation, usually movement spells
SCHOOL_CONJURATIONConjuration spells summon items / mobs / etc somehow
SCHOOL_NECROMANCYNecromancy spells, usually involves soul / evil / bad stuff
SCHOOL_FORBIDDENOther forbidden magics, such as heretic spells
SCHOOL_SANGUINEBlood magic, involves vampirism, draining blood, etc.
INVOCATION_NONEAllows being able to cast the spell without saying or doing anything.
INVOCATION_SHOUTForces the wizard to shout the invocation to cast the spell.
INVOCATION_WHISPERForces the wizard to whisper the invocation to cast the spell.
INVOCATION_EMOTEForces the wizard to emote to cast the spell.
SPELL_REQUIRES_WIZARD_GARBWhether the spell requires wizard clothes to cast.
SPELL_REQUIRES_HUMANWhether the spell can only be cast by humans (mob type, not species). SPELL_REQUIRES_WIZARD_GARB comes with this flag implied, as carbons and below can't wear clothes.
SPELL_CASTABLE_AS_BRAINWhether the spell can be cast by mobs who are brains / mmis. When applying, bear in mind most spells will not function for brains out of the box.
SPELL_REQUIRES_NO_ANTIMAGICWhether the spell can be cast while the user has antimagic on them that corresponds to the spell's own antimagic flags.
SPELL_REQUIRES_STATIONWhether the spell requires being on the station z-level to be cast.
SPELL_REQUIRES_MINDWhether the spell must be cast by someone with a mind datum.
SPELL_REQUIRES_MIME_VOWWhether the spell requires the caster have a mime vow (mindless mobs will succeed this check regardless).
SPELL_CASTABLE_WITHOUT_INVOCATIONWhether the spell can be cast, even if the caster is unable to speak the invocation (effectively making the invocation flavor, instead of required).
TELEPORT_SPELL_SKIP_SPACEWhether the teleport spell skips over space turfs
TELEPORT_SPELL_SKIP_DENSEWhether the teleport spell skips over dense turfs
TELEPORT_SPELL_SKIP_BLOCKEDWhether the teleport spell skips over blocked turfs
MAGIC_RESISTANCEDefault magic resistance that blocks normal magic (wizard, spells, magical staff projectiles)
MAGIC_RESISTANCE_MINDTinfoil hat magic resistance that blocks mental magic (telepathy / mind links, mind curses, abductors)
MAGIC_RESISTANCE_HOLYHoly magic resistance that blocks unholy magic (revenant, vampire, voice of god)
is_jauntingChecks if our mob is jaunting actively (within a phased mob object) Used in jaunting spells specifically to determine whether they should be entering or exiting jaunt

Define Details

INVOCATION_EMOTE

Forces the wizard to emote to cast the spell.

INVOCATION_NONE

Allows being able to cast the spell without saying or doing anything.

INVOCATION_SHOUT

Forces the wizard to shout the invocation to cast the spell.

INVOCATION_WHISPER

Forces the wizard to whisper the invocation to cast the spell.

MAGIC_RESISTANCE

Default magic resistance that blocks normal magic (wizard, spells, magical staff projectiles)

MAGIC_RESISTANCE_HOLY

Holy magic resistance that blocks unholy magic (revenant, vampire, voice of god)

MAGIC_RESISTANCE_MIND

Tinfoil hat magic resistance that blocks mental magic (telepathy / mind links, mind curses, abductors)

SCHOOL_CONJURATION

Conjuration spells summon items / mobs / etc somehow

SCHOOL_EVOCATION

Evocation school, usually involves killing or destroy stuff, usually out of thin air

SCHOOL_FORBIDDEN

Other forbidden magics, such as heretic spells

SCHOOL_HOLY

Holy school (chaplain magic)

SCHOOL_MIME

Mime... school? Mime magic. It counts

SCHOOL_NECROMANCY

Necromancy spells, usually involves soul / evil / bad stuff

SCHOOL_PSYCHIC

Psychic school. Not true magic, but psychic spells only benefit themselves.

SCHOOL_RESTORATION

Restoration school, which is mostly healing stuff

SCHOOL_SANGUINE

Blood magic, involves vampirism, draining blood, etc.

SCHOOL_TRANSLOCATION

School of transolcation, usually movement spells

SCHOOL_TRANSMUTATION

School of transforming stuff into other stuff

SCHOOL_UNSET

Unset / default / "not actually magic" school.

SPELL_CASTABLE_AS_BRAIN

Whether the spell can be cast by mobs who are brains / mmis. When applying, bear in mind most spells will not function for brains out of the box.

SPELL_CASTABLE_WITHOUT_INVOCATION

Whether the spell can be cast, even if the caster is unable to speak the invocation (effectively making the invocation flavor, instead of required).

SPELL_REQUIRES_HUMAN

Whether the spell can only be cast by humans (mob type, not species). SPELL_REQUIRES_WIZARD_GARB comes with this flag implied, as carbons and below can't wear clothes.

SPELL_REQUIRES_MIME_VOW

Whether the spell requires the caster have a mime vow (mindless mobs will succeed this check regardless).

SPELL_REQUIRES_MIND

Whether the spell must be cast by someone with a mind datum.

SPELL_REQUIRES_NO_ANTIMAGIC

Whether the spell can be cast while the user has antimagic on them that corresponds to the spell's own antimagic flags.

SPELL_REQUIRES_STATION

Whether the spell requires being on the station z-level to be cast.

SPELL_REQUIRES_WIZARD_GARB

Whether the spell requires wizard clothes to cast.

TELEPORT_SPELL_SKIP_BLOCKED

Whether the teleport spell skips over blocked turfs

TELEPORT_SPELL_SKIP_DENSE

Whether the teleport spell skips over dense turfs

TELEPORT_SPELL_SKIP_SPACE

Whether the teleport spell skips over space turfs

is_jaunting

Checks if our mob is jaunting actively (within a phased mob object) Used in jaunting spells specifically to determine whether they should be entering or exiting jaunt

If you want to use this in non-jaunt related code, it is preferable to instead check for trait TRAIT_MAGICALLY_PHASED instead of using this as it encompasses more states in which a mob may be "incorporeal from magic"