#pragma once namespace MagicSystem { enum CastingSource : int32_t { LEFT_HAND = 0x0, RIGHT_HAND = 0x1, OTHER = 0x2, INSTANT = 0x3, CASTING_SOURCE_COUNT = 0x4, }; enum SoundID : int32_t { ESSID_DRAWSHEATHE_LPM = 0x0, ESSID_CHARGE = 0x1, ESSID_READY_LOOP = 0x2, ESSID_RELEASE = 0x3, ESSID_CAST_LOOP = 0x4, ESSID_HIT = 0x5, ESSID_COUNT = 0x6, }; enum CannotCastReason : int32_t { NOCAST_OK = 0x0, NOCAST_MAGICKA = 0x1, NOCAST_POWERUSED = 0x2, NOCAST_RANGEDUNDERWATER = 0x3, NOCAST_MULTIPLECAST = 0x4, NOCAST_ITEM_CHARGE = 0x5, NOCAST_CASTWHILESHOUTING = 0x6, NOCAST_SHOUTWHILECASTING = 0x7, NOCAST_SHOUTWHILERECOVERING = 0x8, NOCAST_CUSTOMREASON_START = 0x64, }; enum CastingType : int32_t { CONSTANT_EFFECT = 0x0, FIRE_AND_FORGET = 0x1, CONCENTRATION = 0x2, // Skyrim: SCROLL = 0x3? CASTING_COUNT = 0x3, }; enum Delivery : int32_t { SELF = 0x0, TOUCH = 0x1, AIMED = 0x2, TARGET_ACTOR = 0x3, TARGET_LOCATION = 0x4, DELIVERY_COUNT = 0x5, }; enum SpellType : int32_t { SPELL = 0x0, DISEASE = 0x1, POWER = 0x2, LESSER_POWER = 0x3, ABILITY = 0x4, POISON = 0x5, ENCHANTMENT = 0x6, POTION = 0x7, WORTCRAFT = 0x8, LEVELED_SPELL = 0x9, ADDICTION = 0xA, VOICE_POWER = 0xB, STAFF_ENCHANTMENT = 0xC, SCROLL = 0xD, SPELL_TYPE_COUNT = 0xE, }; } // namespace MagicSystem namespace EffectArchetypes { enum ArchetypeID : int32_t { kNone = -1, kValueModifier = 0, kScript = 1, kDispel = 2, kCureDisease = 3, kAbsorb = 4, kDualValueModifier = 5, kCalm = 6, kDemoralize = 7, kFrenzy = 8, kDisarm = 9, kCommandSummoned = 10, kInvisibility = 11, kLight = 12, kDarkness = 13, kNightEye = 14, kLock = 15, kOpen = 16, kBoundWeapon = 17, kSummonCreature = 18, kDetectLife = 19, kTelekinesis = 20, kParalysis = 21, kReanimate = 22, kSoulTrap = 23, kTurnUndead = 24, kGuide = 25, kWerewolfFeed = 26, kCureParalysis = 27, kCureAddiction = 28, kCurePoison = 29, kConcussion = 30, kValueAndParts = 31, kAccumulateMagnitude = 32, kStagger = 33, kPeakValueModifier = 34, kCloak = 35, kWerewolf = 36, kSlowTime = 37, kRally = 38, kEnhanceWeapon = 39, kSpawnHazard = 40, kEtherealize = 41, kBanish = 42, kSpawnScriptedRef = 43, kDisguise = 44, kGrabActor = 45, kVampireLord = 46 }; }