10min define('SPELL_ATTR4_AREA_TARGET_CHAIN', 0x00040000); // Chain area targets DESCRIPTION [NYI] Hits area targets over time instead of all at once define('SPELL_ATTR4_UNK19', 0x00080000); // Unknown attribute 19@Attr4 define('SPELL_ATTR4_NOT_CHECK_SELFCAST_POWER', 0x00100000); // Allow self-cast to override stronger aura (client only) define('SPELL_ATTR4_UNK21', 0x00200000); // Keep when entering arena define('SPELL_ATTR4_UNK22', 0x00400000); // Unknown attribute 22@Attr4 define('SPELL_ATTR4_CANT_TRIGGER_ITEM_SPELLS', 0x00800000); // Cannot trigger item spells define('SPELL_ATTR4_UNK24', 0x01000000); // Unknown attribute 24@Attr4 DESCRIPTION Shoot-type spell? define('SPELL_ATTR4_IS_PET_SCALING', 0x02000000); // Pet Scaling aura define('SPELL_ATTR4_CAST_ONLY_IN_OUTLAND', 0x04000000); // Only in Outland/Northrend define('SPELL_ATTR4_INHERIT_CRIT_FROM_AURA', 0x08000000); // Inherit critical chance from triggering aura define('SPELL_ATTR4_UNK28', 0x10000000); // Unknown attribute 28@Attr4 define('SPELL_ATTR4_UNK29', 0x20000000); // Unknown attribute 29@Attr4 define('SPELL_ATTR4_UNK30', 0x40000000); // Unknown attribute 30@Attr4 define('SPELL_ATTR4_UNK31', 0x80000000); // Unknown attribute 31@Attr4 define('SPELL_ATTR5_CAN_CHANNEL_WHEN_MOVING', 0x00000001); // Can be channeled while moving define('SPELL_ATTR5_NO_REAGENT_WHILE_PREP', 0x00000002); // No reagents during arena preparation define('SPELL_ATTR5_REMOVE_ON_ARENA_ENTER', 0x00000004); // Remove when entering arena DESCRIPTION Force this aura to be removed on entering arena, regardless of other properties define('SPELL_ATTR5_USABLE_WHILE_STUNNED', 0x00000008); // Usable while stunned define('SPELL_ATTR5_UNK4', 0x00000010); // Unknown attribute 4@Attr5 define('SPELL_ATTR5_SINGLE_TARGET_SPELL', 0x00000020); // Single-target aura DESCRIPTION Remove previous application to another unit if applied define('SPELL_ATTR5_UNK6', 0x00000040); // Unknown attribute 6@Attr5 define('SPELL_ATTR5_UNK7', 0x00000080); // Unknown attribute 7@Attr5 define('SPELL_ATTR5_UNK8', 0x00000100); // Unknown attribute 8@Attr5 define('SPELL_ATTR5_START_PERIODIC_AT_APPLY', 0x00000200); // Immediately do periodic tick on apply define('SPELL_ATTR5_HIDE_DURATION', 0x00000400); // Do not send aura duration to client define('SPELL_ATTR5_ALLOW_TARGET_OF_TARGET_AS_TARGET', 0x00000800); // Auto-target target of target (client only) define('SPELL_ATTR5_UNK12', 0x00001000); // Unknown attribute 12@Attr5 DESCRIPTION Cleave related? define('SPELL_ATTR5_HASTE_AFFECT_DURATION', 0x00002000); // Duration scales with Haste Rating define('SPELL_ATTR5_UNK14', 0x00004000); // Unknown attribute 14@Attr5 define('SPELL_ATTR5_UNK15', 0x00008000); // Unknown attribute 15@Attr5 DESCRIPTION Related to multi-target spells? define('SPELL_ATTR5_UNK16', 0x00010000); // Unknown attribute 16@Attr5 define('SPELL_ATTR5_USABLE_WHILE_FEARED', 0x00020000); // Usable while feared define('SPELL_ATTR5_USABLE_WHILE_CONFUSED', 0x00040000); // Usable while confused define('SPELL_ATTR5_DONT_TURN_DURING_CAST', 0x00080000); // Do not auto-turn while casting define('SPELL_ATTR5_UNK20', 0x00100000); // Unknown attribute 20@Attr5 define('SPELL_ATTR5_UNK21', 0x00200000); // Unknown attribute 21@Attr5 define('SPELL_ATTR5_UNK22', 0x00400000); // Unknown attribute 22@Attr5 define('SPELL_ATTR5_UNK23', 0x00800000); // Unknown attribute 23@Attr5 define('SPELL_ATTR5_UNK24', 0x01000000); // Unknown attribute 24@Attr5 define('SPELL_ATTR5_UNK25', 0x02000000); // Unknown attribute 25@Attr5 define('SPELL_ATTR5_SKIP_CHECKCAST_LOS_CHECK', 0x04000000); // Ignore line of sight checks define('SPELL_ATTR5_DONT_SHOW_AURA_IF_SELF_CAST', 0x08000000); // Don't show aura if self-cast (client only) define('SPELL_ATTR5_DONT_SHOW_AURA_IF_NOT_SELF_CAST', 0x10000000); // Don't show aura unless self-cast (client only) define('SPELL_ATTR5_UNK29', 0x20000000); // Unknown attribute 29@Attr5 define('SPELL_ATTR5_UNK30', 0x40000000); // Unknown attribute 30@Attr5 define('SPELL_ATTR5_UNK31', 0x80000000); // Unknown attribute 31@Attr5 DESCRIPTION Forces nearby enemies to attack caster? define('SPELL_ATTR6_DONT_DISPLAY_COOLDOWN', 0x00000001); // Don't display cooldown (client only) define('SPELL_ATTR6_ONLY_IN_ARENA', 0x00000002); // Only usable in arena define('SPELL_ATTR6_IGNORE_CASTER_AURAS', 0x00000004); // Ignore all preventing caster auras define('SPELL_ATTR6_ASSIST_IGNORE_IMMUNE_FLAG', 0x00000008); // Ignore immunity flags when assisting define('SPELL_ATTR6_UNK4', 0x00000010); // Unknown attribute 4@Attr6 define('SPELL_ATTR6_DONT_CONSUME_PROC_CHARGES', 0x00000020); // Don't consume proc charges define('SPELL_ATTR6_USE_SPELL_CAST_EVENT', 0x00000040); // Generate spell_cast event instead of aura_start (client only) define('SPELL_ATTR6_UNK7', 0x00000080); // Unknown attribute 7@Attr6 define('SPELL_ATTR6_CANT_TARGET_CROWD_CONTROLLED', 0x00000100); // Do not implicitly target in CC DESCRIPTION Implicit targeting (chaining and area targeting) will not impact crowd controlled targets define('SPELL_ATTR6_UNK9', 0x00000200); // Unknown attribute 9@Attr6 define('SPELL_ATTR6_CAN_TARGET_POSSESSED_FRIENDS', 0x00000400); // Can target possessed friends DESCRIPTION [NYI] define('SPELL_ATTR6_NOT_IN_RAID_INSTANCE', 0x00000800); // Unusable in raid instances define('SPELL_ATTR6_CASTABLE_WHILE_ON_VEHICLE', 0x00001000); // Castable while caster is on vehicle define('SPELL_ATTR6_CAN_TARGET_INVISIBLE', 0x00002000); // Can target invisible units define('SPELL_ATTR6_UNK14', 0x00004000); // Unknown attribute 14@Attr6 define('SPELL_ATTR6_UNK15', 0x00008000); // Unknown attribute 15@Attr6 define('SPELL_ATTR6_UNK16', 0x00010000); // Unknown attribute 16@Attr6 define('SPELL_ATTR6_UNK17', 0x00020000); // Unknown attribute 17@Attr6 DESCRIPTION Mount related? define('SPELL_ATTR6_CAST_BY_CHARMER', 0x00040000); // Spell is cast by charmer DESCRIPTION Client will prevent casting if not possessed, charmer will be caster for all intents and purposes define('SPELL_ATTR6_UNK19', 0x00080000); // Unknown attribute 19@Attr6 define('SPELL_ATTR6_ONLY_VISIBLE_TO_CASTER', 0x00100000); // Only visible to caster (client only) define('SPELL_ATTR6_CLIENT_UI_TARGET_EFFECTS', 0x00200000); // Client UI target effects (client only) define('SPELL_ATTR6_UNK22', 0x00400000); // Unknown attribute 22@Attr6 define('SPELL_ATTR6_UNK23', 0x00800000); // Unknown attribute 23@Attr6 define('SPELL_ATTR6_CAN_TARGET_UNTARGETABLE', 0x01000000); // Can target untargetable units define('SPELL_ATTR6_NOT_RESET_SWING_IF_INSTANT', 0x02000000); // Do not reset swing timer if cast time is instant define('SPELL_ATTR6_UNK26', 0x04000000); // Unknown attribute 26@Attr6 DESCRIPTION Player castable buff? define('SPELL_ATTR6_LIMIT_PCT_HEALING_MODS', 0x08000000); // Limit applicable %healing modifiers DESCRIPTION This prevents certain healing modifiers from applying - see implementation if you really care about details define('SPELL_ATTR6_UNK28', 0x10000000); // Unknown attribute 28@Attr6 DESCRIPTION Death grip? define('SPELL_ATTR6_LIMIT_PCT_DAMAGE_MODS', 0x20000000); // Limit applicable %damage modifiers DESCRIPTION This prevents certain damage modifiers from applying - see implementation if you really care about details define('SPELL_ATTR6_UNK30', 0x40000000); // Unknown attribute 30@Attr6 define('SPELL_ATTR6_IGNORE_CATEGORY_COOLDOWN_MODS', 0x80000000); // Ignore cooldown modifiers for category cooldown define('SPELL_ATTR7_UNK0', 0x00000001); // Unknown attribute 0@Attr7 define('SPELL_ATTR7_IGNORE_DURATION_MODS', 0x00000002); // Ignore duration modifiers define('SPELL_ATTR7_REACTIVATE_AT_RESURRECT', 0x00000004); // Reactivate at resurrect (client only) define('SPELL_ATTR7_IS_CHEAT_SPELL', 0x00000008); // Is cheat spell DESCRIPTION Cannot cast if caster doesn't have UnitFlag2 & UNIT_FLAG2_ALLOW_CHEAT_SPELLS define('SPELL_ATTR7_UNK4', 0x00000010); // Unknown attribute 4@Attr7 DESCRIPTION Soulstone related? define('SPELL_ATTR7_SUMMON_PLAYER_TOTEM', 0x00000020); // Summons player-owned totem define('SPELL_ATTR7_NO_PUSHBACK_ON_DAMAGE', 0x00000040); // Damage dealt by this does not cause spell pushback define('SPELL_ATTR7_UNK7', 0x00000080); // Unknown attribute 7@Attr7 define('SPELL_ATTR7_HORDE_ONLY', 0x00000100); // Horde only define('SPELL_ATTR7_ALLIANCE_ONLY', 0x00000200); // Alliance only define('SPELL_ATTR7_DISPEL_CHARGES', 0x00000400); // Dispel/Spellsteal remove individual charges define('SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER', 0x00000800); // Only interrupt non-player casting define('SPELL_ATTR7_UNK12', 0x00001000); // Unknown attribute 12@Attr7 define('SPELL_ATTR7_UNK13', 0x00002000); // Unknown attribute 13@Attr7 define('SPELL_ATTR7_UNK14', 0x00004000); // Unknown attribute 14@Attr7 define('SPELL_ATTR7_UNK15', 0x00008000); // Unknown attribute 15@Attr7 DESCRIPTION Exorcism - guaranteed crit vs families? define('SPELL_ATTR7_CAN_RESTORE_SECONDARY_POWER', 0x00010000); // Can restore secondary power DESCRIPTION Only spells with this attribute can replenish a non-active power type define('SPELL_ATTR7_UNK17', 0x00020000); // Unknown attribute 17@Attr7 define('SPELL_ATTR7_HAS_CHARGE_EFFECT', 0x00040000); // Has charge effect define('SPELL_ATTR7_ZONE_TELEPORT', 0x00080000); // Is zone teleport define('SPELL_ATTR7_UNK20', 0x00100000); // Unknown attribute 20@Attr7 DESCRIPTION Invulnerability related? define('SPELL_ATTR7_UNK21', 0x00200000); // Unknown attribute 21@Attr7 define('SPELL_ATTR7_IGNORE_COLD_WEATHER_FLYING', 0x00400000); // Ignore cold weather flying restriction DESCRIPTION Set for loaner mounts, allows them to be used despite lacking required flight skill define('SPELL_ATTR7_UNK23', 0x00800000); // Unknown attribute 23@Attr7 define('SPELL_ATTR7_UNK24', 0x01000000); // Unknown attribute 24@Attr7 define('SPELL_ATTR7_UNK25', 0x02000000); // Unknown attribute 25@Attr7 define('SPELL_ATTR7_UNK26', 0x04000000); // Unknown attribute 26@Attr7 define('SPELL_ATTR7_UNK27', 0x08000000); // Unknown attribute 27@Attr7 define('SPELL_ATTR7_CONSOLIDATED_RAID_BUFF', 0x10000000); // Consolidate in raid buff frame (client only) define('SPELL_ATTR7_UNK29', 0x20000000); // Unknown attribute 29@Attr7 define('SPELL_ATTR7_UNK30', 0x40000000); // Unknown attribute 30@Attr7 define('SPELL_ATTR7_CLIENT_INDICATOR', 0x80000000); // Client indicator (client only) // (some) Skill ids define('SKILL_FIRST_AID', 129); define('SKILL_BLACKSMITHING', 164); define('SKILL_LEATHERWORKING', 165); define('SKILL_ALCHEMY', 171); define('SKILL_HERBALISM', 182); define('SKILL_COOKING', 185); define('SKILL_MINING', 186); define('SKILL_TAILORING', 197); define('SKILL_ENGINEERING', 202); define('SKILL_ENCHANTING', 333); define('SKILL_FISHING', 356); define('SKILL_SKINNING', 393); define('SKILL_LOCKPICKING', 633); define('SKILL_JEWELCRAFTING', 755); define('SKILL_RIDING', 762); define('SKILL_INSCRIPTION', 773); define('SKILLS_TRADE_PRIMARY', [SKILL_BLACKSMITHING, SKILL_LEATHERWORKING, SKILL_ALCHEMY, SKILL_HERBALISM, SKILL_MINING, SKILL_TAILORING, SKILL_ENGINEERING, SKILL_ENCHANTING, SKILL_SKINNING, SKILL_JEWELCRAFTING, SKILL_INSCRIPTION]); define('SKILLS_TRADE_SECONDARY', [SKILL_FIRST_AID, SKILL_COOKING, SKILL_FISHING, SKILL_RIDING]); // AchievementCriteriaCondition define('ACHIEVEMENT_CRITERIA_CONDITION_NO_DEATH', 1); // reset progress on death define('ACHIEVEMENT_CRITERIA_CONDITION_BG_MAP', 3); // requires you to be on specific map, reset at change define('ACHIEVEMENT_CRITERIA_CONDITION_NOT_IN_GROUP', 10); // requires the player not to be in group // AchievementFlags define('ACHIEVEMENT_FLAG_COUNTER', 0x0001); // Just count statistic (never stop and complete) define('ACHIEVEMENT_FLAG_HIDDEN', 0x0002); // Not sent to client - internal use only define('ACHIEVEMENT_FLAG_STORE_MAX_VALUE', 0x0004); // Store only max value? used only in "Reach level xx" define('ACHIEVEMENT_FLAG_SUM', 0x0008); // Use sum criteria value from all reqirements (and calculate max value) define('ACHIEVEMENT_FLAG_MAX_USED', 0x0010); // Show max criteria (and calculate max value ??) define('ACHIEVEMENT_FLAG_REQ_COUNT', 0x0020); // Use not zero req count (and calculate max value) define('ACHIEVEMENT_FLAG_AVERAGE', 0x0040); // Show as average value (value / time_in_days) depend from other flag (by def use last criteria value) define('ACHIEVEMENT_FLAG_PROGRESS_BAR', 0x0080); // Show as progress bar (value / max vale) depend from other flag (by def use last criteria value) define('ACHIEVEMENT_FLAG_REALM_FIRST', 0x0100); // first max race/class/profession define('ACHIEVEMENT_FLAG_REALM_FIRST_KILL', 0x0200); // first boss kill // AchievementCriteriaFlags define('ACHIEVEMENT_CRITERIA_FLAG_SHOW_PROGRESS_BAR', 0x0001); // Show progress as bar define('ACHIEVEMENT_CRITERIA_FLAG_HIDDEN', 0x0002); // Not show criteria in client define('ACHIEVEMENT_CRITERIA_FLAG_MONEY_COUNTER', 0x0020); // Displays counter as money // Commented ones solved generically define('ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE', 0); define('ACHIEVEMENT_CRITERIA_TYPE_WIN_BG', 1); define('ACHIEVEMENT_CRITERIA_TYPE_REACH_LEVEL', 5); define('ACHIEVEMENT_CRITERIA_TYPE_REACH_SKILL_LEVEL', 7); define('ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_ACHIEVEMENT', 8); // define('ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST_COUNT', 9); // define('ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_DAILY_QUEST_DAILY', 10); define('ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUESTS_IN_ZONE', 11); // define('ACHIEVEMENT_CRITERIA_TYPE_DAMAGE_DONE', 13); // define('ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_DAILY_QUEST', 14); define('ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_BATTLEGROUND', 15); define('ACHIEVEMENT_CRITERIA_TYPE_DEATH_AT_MAP', 16); // define('ACHIEVEMENT_CRITERIA_TYPE_DEATH', 17); // define('ACHIEVEMENT_CRITERIA_TYPE_DEATH_IN_DUNGEON', 18); // define('ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_RAID', 19); define('ACHIEVEMENT_CRITERIA_TYPE_KILLED_BY_CREATURE', 20); // define('ACHIEVEMENT_CRITERIA_TYPE_KILLED_BY_PLAYER', 23); // define('ACHIEVEMENT_CRITERIA_TYPE_FALL_WITHOUT_DYING', 24); // define('ACHIEVEMENT_CRITERIA_TYPE_DEATHS_FROM', 26); define('ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUEST', 27); define('ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET', 28); define('ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL', 29); // define('ACHIEVEMENT_CRITERIA_TYPE_BG_OBJECTIVE_CAPTURE', 30); define('ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL_AT_AREA', 31); define('ACHIEVEMENT_CRITERIA_TYPE_WIN_ARENA', 32); define('ACHIEVEMENT_CRITERIA_TYPE_PLAY_ARENA', 33); define('ACHIEVEMENT_CRITERIA_TYPE_LEARN_SPELL', 34); // define('ACHIEVEMENT_CRITERIA_TYPE_HONORABLE_KILL', 35); define('ACHIEVEMENT_CRITERIA_TYPE_OWN_ITEM', 36); // define('ACHIEVEMENT_CRITERIA_TYPE_WIN_RATED_ARENA', 37); // define('ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_TEAM_RATING', 38); // define('ACHIEVEMENT_CRITERIA_TYPE_REACH_TEAM_RATING', 39); define('ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LEVEL', 40); define('ACHIEVEMENT_CRITERIA_TYPE_USE_ITEM', 41); define('ACHIEVEMENT_CRITERIA_TYPE_LOOT_ITEM', 42); define('ACHIEVEMENT_CRITERIA_TYPE_EXPLORE_AREA', 43); // define('ACHIEVEMENT_CRITERIA_TYPE_OWN_RANK', 44); // define('ACHIEVEMENT_CRITERIA_TYPE_BUY_BANK_SLOT', 45); define('ACHIEVEMENT_CRITERIA_TYPE_GAIN_REPUTATION', 46); // define('ACHIEVEMENT_CRITERIA_TYPE_GAIN_EXALTED_REPUTATION', 47); // define('ACHIEVEMENT_CRITERIA_TYPE_VISIT_BARBER_SHOP', 48); // define('ACHIEVEMENT_CRITERIA_TYPE_EQUIP_EPIC_ITEM', 49); // define('ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED_ON_LOOT', 50); // define('ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED_ON_LOOT', 51); define('ACHIEVEMENT_CRITERIA_TYPE_HK_CLASS', 52); define('ACHIEVEMENT_CRITERIA_TYPE_HK_RACE', 53); define('ACHIEVEMENT_CRITERIA_TYPE_DO_EMOTE', 54); // define('ACHIEVEMENT_CRITERIA_TYPE_HEALING_DONE', 55); // define('ACHIEVEMENT_CRITERIA_TYPE_GET_KILLING_BLOWS', 56); define('ACHIEVEMENT_CRITERIA_TYPE_EQUIP_ITEM', 57); // define('ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_VENDORS', 59); // define('ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_TALENTS', 60); // define('ACHIEVEMENT_CRITERIA_TYPE_NUMBER_OF_TALENT_RESETS', 61); // define('ACHIEVEMENT_CRITERIA_TYPE_MONEY_FROM_QUEST_REWARD', 62); // define('ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_TRAVELLING', 63); // define('ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_AT_BARBER', 65); // define('ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_MAIL', 66); // define('ACHIEVEMENT_CRITERIA_TYPE_LOOT_MONEY', 67); define('ACHIEVEMENT_CRITERIA_TYPE_USE_GAMEOBJECT', 68); define('ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2', 69); // define('ACHIEVEMENT_CRITERIA_TYPE_SPECIAL_PVP_KILL', 70); define('ACHIEVEMENT_CRITERIA_TYPE_FISH_IN_GAMEOBJECT', 72); define('ACHIEVEMENT_CRITERIA_TYPE_EARNED_PVP_TITLE', 74); define('ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILLLINE_SPELLS', 75); // define('ACHIEVEMENT_CRITERIA_TYPE_WIN_DUEL', 76); // define('ACHIEVEMENT_CRITERIA_TYPE_LOSE_DUEL', 77); define('ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE_TYPE', 78); // define('ACHIEVEMENT_CRITERIA_TYPE_GOLD_EARNED_BY_AUCTIONS', 80); // define('ACHIEVEMENT_CRITERIA_TYPE_CREATE_AUCTION', 82); // define('ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_AUCTION_BID', 83); // define('ACHIEVEMENT_CRITERIA_TYPE_WON_AUCTIONS', 84); // define('ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_AUCTION_SOLD', 85); // define('ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_GOLD_VALUE_OWNED', 86); // define('ACHIEVEMENT_CRITERIA_TYPE_GAIN_REVERED_REPUTATION', 87); // define('ACHIEVEMENT_CRITERIA_TYPE_GAIN_HONORED_REPUTATION', 88); // define('ACHIEVEMENT_CRITERIA_TYPE_KNOWN_FACTIONS', 89); // define('ACHIEVEMENT_CRITERIA_TYPE_LOOT_EPIC_ITEM', 90); // define('ACHIEVEMENT_CRITERIA_TYPE_RECEIVE_EPIC_ITEM', 91); // define('ACHIEVEMENT_CRITERIA_TYPE_ROLL_NEED', 93); // define('ACHIEVEMENT_CRITERIA_TYPE_ROLL_GREED', 94); // define('ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEALTH', 95); // define('ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_POWER', 96); // define('ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_STAT', 97); // define('ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_SPELLPOWER', 98); // define('ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_ARMOR', 99); // define('ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_RATING', 100); // define('ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HIT_DEALT', 101); // define('ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HIT_RECEIVED', 102); // define('ACHIEVEMENT_CRITERIA_TYPE_TOTAL_DAMAGE_RECEIVED', 103); // define('ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEAL_CASTED', 104); // define('ACHIEVEMENT_CRITERIA_TYPE_TOTAL_HEALING_RECEIVED', 105); // define('ACHIEVEMENT_CRITERIA_TYPE_HIGHEST_HEALING_RECEIVED', 106); // define('ACHIEVEMENT_CRITERIA_TYPE_QUEST_ABANDONED', 107); // define('ACHIEVEMENT_CRITERIA_TYPE_FLIGHT_PATHS_TAKEN', 108); // define('ACHIEVEMENT_CRITERIA_TYPE_LOOT_TYPE', 109); define('ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL2', 110); define('ACHIEVEMENT_CRITERIA_TYPE_LEARN_SKILL_LINE', 112); // define('ACHIEVEMENT_CRITERIA_TYPE_EARN_HONORABLE_KILL', 113); // define('ACHIEVEMENT_CRITERIA_TYPE_ACCEPTED_SUMMONINGS', 114); // define('ACHIEVEMENT_CRITERIA_TYPE_DISENCHANT_ROLLS', 117); // define('ACHIEVEMENT_CRITERIA_TYPE_USE_LFD_TO_GROUP_WITH_PLAYERS', 119); // TrinityCore - SmartAI define('SAI_SRC_TYPE_CREATURE', 0); define('SAI_SRC_TYPE_OBJECT', 1); define('SAI_SRC_TYPE_AREATRIGGER', 2); define('SAI_SRC_TYPE_ACTIONLIST', 9); define('SAI_EVENT_FLAG_NO_REPEAT', 0x0001); define('SAI_EVENT_FLAG_DIFFICULTY_0', 0x0002); define('SAI_EVENT_FLAG_DIFFICULTY_1', 0x0004); define('SAI_EVENT_FLAG_DIFFICULTY_2', 0x0008); define('SAI_EVENT_FLAG_DIFFICULTY_3', 0x0010); define('SAI_EVENT_FLAG_NO_RESET', 0x0100); define('SAI_EVENT_FLAG_WHILE_CHARMED', 0x0200); define('SAI_EVENT_UPDATE_IC', 0); // In combat. define('SAI_EVENT_UPDATE_OOC', 1); // Out of combat. define('SAI_EVENT_HEALTH_PCT', 2); // Health Percentage define('SAI_EVENT_MANA_PCT', 3); // Mana Percentage define('SAI_EVENT_AGGRO', 4); // On Creature Aggro define('SAI_EVENT_KILL', 5); // On Creature Kill define('SAI_EVENT_DEATH', 6); // On Creature Death define('SAI_EVENT_EVADE', 7); // On Creature Evade Attack define('SAI_EVENT_SPELLHIT', 8); // On Creature/Gameobject Spell Hit define('SAI_EVENT_RANGE', 9); // On Target In Range define('SAI_EVENT_OOC_LOS', 10); // On Target In Distance Out of Combat define('SAI_EVENT_RESPAWN', 11); // On Creature/Gameobject Respawn define('SAI_EVENT_TARGET_HEALTH_PCT', 12); // On Target Health Percentage define('SAI_EVENT_VICTIM_CASTING', 13); // On Target Casting Spell define('SAI_EVENT_FRIENDLY_HEALTH', 14); // On Friendly Health Deficit define('SAI_EVENT_FRIENDLY_IS_CC', 15); // define('SAI_EVENT_FRIENDLY_MISSING_BUFF', 16); // On Friendly Lost Buff define('SAI_EVENT_SUMMONED_UNIT', 17); // On Creature/Gameobject Summoned Unit define('SAI_EVENT_TARGET_MANA_PCT', 18); // On Target Mana Percentage define('SAI_EVENT_ACCEPTED_QUEST', 19); // On Target Accepted Quest define('SAI_EVENT_REWARD_QUEST', 20); // On Target Rewarded Quest define('SAI_EVENT_REACHED_HOME', 21); // On Creature Reached Home define('SAI_EVENT_RECEIVE_EMOTE', 22); // On Receive Emote. define('SAI_EVENT_HAS_AURA', 23); // On Creature Has Aura define('SAI_EVENT_TARGET_BUFFED', 24); // On Target Buffed With Spell define('SAI_EVENT_RESET', 25); // After Combat, On Respawn or Spawn define('SAI_EVENT_IC_LOS', 26); // On Target In Distance In Combat define('SAI_EVENT_PASSENGER_BOARDED', 27); // define('SAI_EVENT_PASSENGER_REMOVED', 28); // define('SAI_EVENT_CHARMED', 29); // On Creature Charmed define('SAI_EVENT_CHARMED_TARGET', 30); // On Target Charmed define('SAI_EVENT_SPELLHIT_TARGET', 31); // On Target Spell Hit define('SAI_EVENT_DAMAGED', 32); // On Creature Damaged define('SAI_EVENT_DAMAGED_TARGET', 33); // On Target Damaged define('SAI_EVENT_MOVEMENTINFORM', 34); // WAYPOINT_MOTION_TYPE = 2, POINT_MOTION_TYPE = 8 define('SAI_EVENT_SUMMON_DESPAWNED', 35); // On Summoned Unit Despawned define('SAI_EVENT_CORPSE_REMOVED', 36); // On Creature Corpse Removed define('SAI_EVENT_AI_INIT', 37); // define('SAI_EVENT_DATA_SET', 38); // On Creature/Gameobject Data Set, Can be used with SMART_ACTION_SET_DATA define('SAI_EVENT_WAYPOINT_START', 39); // On Creature Waypoint ID Started define('SAI_EVENT_WAYPOINT_REACHED', 40); // On Creature Waypoint ID Reached // define('SAI_EVENT_TRANSPORT_ADDPLAYER', 41); // // define('SAI_EVENT_TRANSPORT_ADDCREATURE', 42); // // define('SAI_EVENT_TRANSPORT_REMOVE_PLAYER', 43); // // define('SAI_EVENT_TRANSPORT_RELOCATE', 44); // // define('SAI_EVENT_INSTANCE_PLAYER_ENTER', 45); // define('SAI_EVENT_AREATRIGGER_ONTRIGGER', 46); // // define('SAI_EVENT_QUEST_ACCEPTED', 47); // On Target Quest Accepted // define('SAI_EVENT_QUEST_OBJ_COMPLETION', 48); // On Target Quest Objective Completed // define('SAI_EVENT_QUEST_COMPLETION', 49); // On Target Quest Completed // define('SAI_EVENT_QUEST_REWARDED', 50); // On Target Quest Rewarded // define('SAI_EVENT_QUEST_FAIL', 51); // On Target Quest Field define('SAI_EVENT_TEXT_OVER', 52); // On TEXT_OVER Event Triggered After SMART_ACTION_TALK define('SAI_EVENT_RECEIVE_HEAL', 53); // On Creature Received Healing define('SAI_EVENT_JUST_SUMMONED', 54); // On Creature Just spawned define('SAI_EVENT_WAYPOINT_PAUSED', 55); // On Creature Paused at Waypoint ID define('SAI_EVENT_WAYPOINT_RESUMED', 56); // On Creature Resumed after Waypoint ID define('SAI_EVENT_WAYPOINT_STOPPED', 57); // On Creature Stopped On Waypoint ID define('SAI_EVENT_WAYPOINT_ENDED', 58); // On Creature Waypoint Path Ended define('SAI_EVENT_TIMED_EVENT_TRIGGERED', 59); // define('SAI_EVENT_UPDATE', 60); // define('SAI_EVENT_LINK', 61); // Used to link together multiple events as a chain of events. define('SAI_EVENT_GOSSIP_SELECT', 62); // On gossip clicked (gossip_menu_option335). define('SAI_EVENT_JUST_CREATED', 63); // define('SAI_EVENT_GOSSIP_HELLO', 64); // On Right-Click Creature/Gameobject that have gossip enabled. define('SAI_EVENT_FOLLOW_COMPLETED', 65); // define('SAI_EVENT_EVENT_PHASE_CHANGE', 66); // On event phase mask set define('SAI_EVENT_IS_BEHIND_TARGET', 67); // On Creature is behind target. define('SAI_EVENT_GAME_EVENT_START', 68); // On game_event started. define('SAI_EVENT_GAME_EVENT_END', 69); // On game_event ended. define('SAI_EVENT_GO_STATE_CHANGED', 70); // define('SAI_EVENT_GO_EVENT_INFORM', 71); // define('SAI_EVENT_ACTION_DONE', 72); // define('SAI_EVENT_ON_SPELLCLICK', 73); // define('SAI_EVENT_FRIENDLY_HEALTH_PCT', 74); // define('SAI_EVENT_DISTANCE_CREATURE', 75); // On creature guid OR any instance of creature entry is within distance. define('SAI_EVENT_DISTANCE_GAMEOBJECT', 76); // On gameobject guid OR any instance of gameobject entry is within distance. define('SAI_EVENT_COUNTER_SET', 77); // If the value of specified counterID is equal to a specified value // define('SAI_EVENT_SCENE_START', 78); // don't use on 3.3.5a // define('SAI_EVENT_SCENE_TRIGGER', 79); // don't use on 3.3.5a // define('SAI_EVENT_SCENE_CANCEL', 80); // don't use on 3.3.5a // define('SAI_EVENT_SCENE_COMPLETE', 81); // don't use on 3.3.5a define('SAI_EVENT_SUMMONED_UNIT_DIES', 82); // CreatureId(0 all), CooldownMin, CooldownMax define('SAI_ACTION_NONE', 0); // Do nothing define('SAI_ACTION_TALK', 1); // Param2 in Milliseconds. define('SAI_ACTION_SET_FACTION', 2); // Sets faction to creature. define('SAI_ACTION_MORPH_TO_ENTRY_OR_MODEL', 3); // Take DisplayID of creature (param1) OR Turn to DisplayID (param2) OR Both = 0 for Demorph define('SAI_ACTION_SOUND', 4); // TextRange = 0 only sends sound to self, TextRange = 1 sends sound to everyone in visibility range define('SAI_ACTION_PLAY_EMOTE', 5); // Play Emote define('SAI_ACTION_FAIL_QUEST', 6); // Fail Quest of Target define('SAI_ACTION_OFFER_QUEST', 7); // Add Quest to Target define('SAI_ACTION_SET_REACT_STATE', 8); // React State. Can be Passive (0), Defensive (1), Aggressive (2), Assist (3). define('SAI_ACTION_ACTIVATE_GOBJECT', 9); // Activate Object define('SAI_ACTION_RANDOM_EMOTE', 10); // Play Random Emote define('SAI_ACTION_CAST', 11); // Cast Spell ID at Target define('SAI_ACTION_SUMMON_CREATURE', 12); // Summon Unit define('SAI_ACTION_THREAT_SINGLE_PCT', 13); // Change Threat Percentage for Single Target define('SAI_ACTION_THREAT_ALL_PCT', 14); // Change Threat Percentage for All Enemies define('SAI_ACTION_CALL_AREAEXPLOREDOREVENTHAPPENS', 15); // // define('SAI_ACTION_SET_INGAME_PHASE_ID', 16); // For 4.3.4 + only define('SAI_ACTION_SET_EMOTE_STATE', 17); // Play Emote Continuously define('SAI_ACTION_SET_UNIT_FLAG', 18); // Can set Multi-able flags at once define('SAI_ACTION_REMOVE_UNIT_FLAG', 19); // Can Remove Multi-able flags at once define('SAI_ACTION_AUTO_ATTACK', 20); // Stop or Continue Automatic Attack. define('SAI_ACTION_ALLOW_COMBAT_MOVEMENT', 21); // Allow or Disable Combat Movement define('SAI_ACTION_SET_EVENT_PHASE', 22); // define('SAI_ACTION_INC_EVENT_PHASE', 23); // Set param1 OR param2 (not both). Value 0 has no effect. define('SAI_ACTION_EVADE', 24); // Evade Incoming Attack define('SAI_ACTION_FLEE_FOR_ASSIST', 25); // If you want the fleeing NPC to say '%s attempts to run away in fear' on flee, use 1 on param1. 0 for no message. define('SAI_ACTION_CALL_GROUPEVENTHAPPENS', 26); // define('SAI_ACTION_COMBAT_STOP', 27); // define('SAI_ACTION_REMOVEAURASFROMSPELL', 28); // 0 removes all auras define('SAI_ACTION_FOLLOW', 29); // Follow Target define('SAI_ACTION_RANDOM_PHASE', 30); // define('SAI_ACTION_RANDOM_PHASE_RANGE', 31); // define('SAI_ACTION_RESET_GOBJECT', 32); // Reset Gameobject define('SAI_ACTION_CALL_KILLEDMONSTER', 33); // This is the ID from quest_template.RequiredNpcOrGo define('SAI_ACTION_SET_INST_DATA', 34); // Set Instance Data // define('SAI_ACTION_SET_INST_DATA64', 35); // Set Instance Data uint64 define('SAI_ACTION_UPDATE_TEMPLATE', 36); // Updates creature_template to given entry define('SAI_ACTION_DIE', 37); // Kill Target define('SAI_ACTION_SET_IN_COMBAT_WITH_ZONE', 38); // define('SAI_ACTION_CALL_FOR_HELP', 39); // If you want the NPC to say '%s calls for help!'. Use 1 on param1, 0 for no message. define('SAI_ACTION_SET_SHEATH', 40); // define('SAI_ACTION_FORCE_DESPAWN', 41); // Despawn Target after param1 in Milliseconds. If you want to set respawn time set param2 in seconds. define('SAI_ACTION_SET_INVINCIBILITY_HP_LEVEL', 42); // If you use both params, only percent will be used. define('SAI_ACTION_MOUNT_TO_ENTRY_OR_MODEL', 43); // Mount to Creature Entry (param1) OR Mount to Creature Display (param2) Or both = 0 for Unmount define('SAI_ACTION_SET_INGAME_PHASE_MASK', 44); // define('SAI_ACTION_SET_DATA', 45); // Set Data For Target, can be used with SMART_EVENT_DATA_SET define('SAI_ACTION_ATTACK_STOP', 46); // define('SAI_ACTION_SET_VISIBILITY', 47); // Makes creature Visible = 1 or Invisible = 0 define('SAI_ACTION_SET_ACTIVE', 48); // define('SAI_ACTION_ATTACK_START', 49); // Allows basic melee swings to creature. define('SAI_ACTION_SUMMON_GO', 50); // Spawns Gameobject, use target_type to set spawn position. define('SAI_ACTION_KILL_UNIT', 51); // Kills Creature. define('SAI_ACTION_ACTIVATE_TAXI', 52); // Sends player to flight path. You have to be close to Flight Master, which gives Taxi ID you need. define('SAI_ACTION_WP_START', 53); // Creature starts Waypoint Movement. Use waypoints table to create movement. define('SAI_ACTION_WP_PAUSE', 54); // Creature pauses its Waypoint Movement for given time. define('SAI_ACTION_WP_STOP', 55); // Creature stops its Waypoint Movement. define('SAI_ACTION_ADD_ITEM', 56); // Adds item(s) to player. define('SAI_ACTION_REMOVE_ITEM', 57); // Removes item(s) from player. define('SAI_ACTION_INSTALL_AI_TEMPLATE', 58); // define('SAI_ACTION_SET_RUN', 59); // define('SAI_ACTION_SET_DISABLE_GRAVITY', 60); // Only works for creatures with inhabit air. define('SAI_ACTION_SET_SWIM', 61); // define('SAI_ACTION_TELEPORT', 62); // Continue this action with the TARGET_TYPE column. Use any target_type (except 0), and use target_x, target_y, target_z, target_o as the coordinates define('SAI_ACTION_SET_COUNTER', 63); // define('SAI_ACTION_STORE_TARGET_LIST', 64); // define('SAI_ACTION_WP_RESUME', 65); // Creature continues in its Waypoint Movement. define('SAI_ACTION_SET_ORIENTATION', 66); // define('SAI_ACTION_CREATE_TIMED_EVENT', 67); // define('SAI_ACTION_PLAYMOVIE', 68); // define('SAI_ACTION_MOVE_TO_POS', 69); // PointId is called by SMART_EVENT_MOVEMENTINFORM. Continue this action with the TARGET_TYPE column. Use any target_type, and use target_x, target_y, target_z, target_o as the coordinates define('SAI_ACTION_ENABLE_TEMP_GOBJ', 70); // param1 = duration define('SAI_ACTION_EQUIP', 71); // only slots with mask set will be sent to client, bits are 1, 2, 4, leaving mask 0 is defaulted to mask 7 (send all), Slots1-3 are only used if no Param1 is set define('SAI_ACTION_CLOSE_GOSSIP', 72); // Closes gossip window. define('SAI_ACTION_TRIGGER_TIMED_EVENT', 73); // define('SAI_ACTION_REMOVE_TIMED_EVENT', 74); // define('SAI_ACTION_ADD_AURA', 75); // Adds aura to player(s). Use target_type 17 to make AoE aura. define('SAI_ACTION_OVERRIDE_SCRIPT_BASE_OBJECT', 76); // WARNING: CAN CRASH CORE, do not use if you dont know what you are doing define('SAI_ACTION_RESET_SCRIPT_BASE_OBJECT', 77); // define('SAI_ACTION_CALL_SCRIPT_RESET', 78); // define('SAI_ACTION_SET_RANGED_MOVEMENT', 79); // Sets movement to follow at a specific range to the target. define('SAI_ACTION_CALL_TIMED_ACTIONLIST', 80); // define('SAI_ACTION_SET_NPC_FLAG', 81); // define('SAI_ACTION_ADD_NPC_FLAG', 82); // define('SAI_ACTION_REMOVE_NPC_FLAG', 83); // define('SAI_ACTION_SIMPLE_TALK', 84); // Makes a player say text. SMART_EVENT_TEXT_OVER is not triggered and whispers can not be used. define('SAI_ACTION_SELF_CAST', 85); // spellID, castFlags define('SAI_ACTION_CROSS_CAST', 86); // This action is used to make selected caster (in CasterTargetType) to cast spell. Actual target is entered in target_type as normally. define('SAI_ACTION_CALL_RANDOM_TIMED_ACTIONLIST', 87); // Will select one entry from the ones provided. 0 is ignored. define('SAI_ACTION_CALL_RANDOM_RANGE_TIMED_ACTIONLIST', 88); // 0 is ignored. define('SAI_ACTION_RANDOM_MOVE', 89); // Creature moves to random position in given radius. define('SAI_ACTION_SET_UNIT_FIELD_BYTES_1', 90); // define('SAI_ACTION_REMOVE_UNIT_FIELD_BYTES_1', 91); // define('SAI_ACTION_INTERRUPT_SPELL', 92); // This action allows you to interrupt the current spell being cast. If you do not set the spellId, the core will find the current spell depending on the withDelay and the withInstant values. define('SAI_ACTION_SEND_GO_CUSTOM_ANIM', 93); // define('SAI_ACTION_SET_DYNAMIC_FLAG', 94); // define('SAI_ACTION_ADD_DYNAMIC_FLAG', 95); // define('SAI_ACTION_REMOVE_DYNAMIC_FLAG', 96); // define('SAI_ACTION_JUMP_TO_POS', 97); // define('SAI_ACTION_SEND_GOSSIP_MENU', 98); // Can be used together with 'SMART_EVENT_GOSSIP_HELLO' to set custom gossip. define('SAI_ACTION_GO_SET_LOOT_STATE', 99); // define('SAI_ACTION_SEND_TARGET_TO_TARGET', 100); // Send targets previously stored with SMART_ACTION_STORE_TARGET, to another npc/go, the other npc/go can then access them as if it was its own stored list define('SAI_ACTION_SET_HOME_POS', 101); // Use with SMART_TARGET_SELF or SMART_TARGET_POSITION define('SAI_ACTION_SET_HEALTH_REGEN', 102); // Sets the current creatures health regen on or off. define('SAI_ACTION_SET_ROOT', 103); // Enables or disables creature movement define('SAI_ACTION_SET_GO_FLAG', 104); // oldFlag = newFlag define('SAI_ACTION_ADD_GO_FLAG', 105); // oldFlag |= newFlag define('SAI_ACTION_REMOVE_GO_FLAG', 106); // oldFlag &= ~newFlag define('SAI_ACTION_SUMMON_CREATURE_GROUP', 107); // Use creature_summon_groups table. SAI target has no effect, use 0 define('SAI_ACTION_SET_POWER', 108); // define('SAI_ACTION_ADD_POWER', 109); // define('SAI_ACTION_REMOVE_POWER', 110); // define('SAI_ACTION_GAME_EVENT_STOP', 111); // define('SAI_ACTION_GAME_EVENT_START', 112); // define('SAI_ACTION_START_CLOSEST_WAYPOINT', 113); // Make target follow closest waypoint to its location define('SAI_ACTION_MOVE_OFFSET', 114); // Use target_x, target_y, target_z With target_type=1 define('SAI_ACTION_RANDOM_SOUND', 115); // define('SAI_ACTION_SET_CORPSE_DELAY', 116); // define('SAI_ACTION_DISABLE_EVADE', 117); // define('SAI_ACTION_GO_SET_GO_STATE', 118); // define('SAI_ACTION_SET_CAN_FLY', 119); // define('SAI_ACTION_REMOVE_AURAS_BY_TYPE', 120); // define('SAI_ACTION_SET_SIGHT_DIST', 121); // define('SAI_ACTION_FLEE', 122); // define('SAI_ACTION_ADD_THREAT', 123); // define('SAI_ACTION_LOAD_EQUIPMENT', 124); // define('SAI_ACTION_TRIGGER_RANDOM_TIMED_EVENT', 125); // define('SAI_ACTION_REMOVE_ALL_GAMEOBJECTS', 126); // define('SAI_ACTION_PAUSE_MOVEMENT', 127); // MovementSlot (default = 0, active = 1, controlled = 2), PauseTime (ms), Force // define('SAI_ACTION_PLAY_ANIMKIT', 128); // don't use on 3.3.5a // define('SAI_ACTION_SCENE_PLAY', 129); // don't use on 3.3.5a // define('SAI_ACTION_SCENE_CANCEL', 130); // don't use on 3.3.5a define('SAI_ACTION_SPAWN_SPAWNGROUP', 131); // define('SAI_ACTION_DESPAWN_SPAWNGROUP', 132); // define('SAI_ACTION_RESPAWN_BY_SPAWNID', 133); // type, typeGuid - Use to respawn npcs and gobs, the target in this case is always=1 and only a single unit could be a target via the spawnId (action_param1, action_param2) define('SAI_ACTION_INVOKER_CAST', 134); // spellID, castFlags define('SAI_ACTION_PLAY_CINEMATIC', 135); // cinematic define('SAI_ACTION_SET_MOVEMENT_SPEED', 136); // movementType, speedInteger, speedFraction define('SAI_ACTION_PLAY_SPELL_VISUAL_KIT', 137); // spellVisualKitId (RESERVED, PENDING CHERRYPICK) define('SAI_ACTION_OVERRIDE_LIGHT', 138); // zoneId, areaLightId, overrideLightID, transitionMilliseconds define('SAI_ACTION_OVERRIDE_WEATHER', 139); // zoneId, weatherId, intensity define('SAI_ACTION_ALL_SPELLCASTS', [SAI_ACTION_CAST, SAI_ACTION_ADD_AURA, SAI_ACTION_INVOKER_CAST, SAI_ACTION_SELF_CAST, SAI_ACTION_CROSS_CAST]); define('SAI_ACTION_ALL_TIMED_ACTION_LISTS', [SAI_ACTION_CALL_TIMED_ACTIONLIST, SAI_ACTION_CALL_RANDOM_TIMED_ACTIONLIST, SAI_ACTION_CALL_RANDOM_RANGE_TIMED_ACTIONLIST]); define('SAI_CAST_FLAG_INTERRUPT_PREV', 0x01); define('SAI_CAST_FLAG_TRIGGERED', 0x02); // define('SAI_CAST_FORCE_CAST', 0x04); // Forces cast even if creature is out of mana or out of range // define('SAI_CAST_NO_MELEE_IF_OOM', 0x08); // Prevents creature from entering melee if out of mana or out of range // define('SAI_CAST_FORCE_TARGET_SELF', 0x10); // the target to cast this spell on itself define('SAI_CAST_FLAG_AURA_MISSING', 0x20); define('SAI_CAST_FLAG_COMBAT_MOVE', 0x40); define('SAI_REACT_PASSIVE', 0); define('SAI_REACT_DEFENSIVE', 1); define('SAI_REACT_AGGRESSIVE', 2); define('SAI_REACT_ASSIST', 3); define('SAI_SUMMON_TIMED_OR_DEAD_DESPAWN', 1); define('SAI_SUMMON_TIMED_OR_CORPSE_DESPAWN', 2); define('SAI_SUMMON_TIMED_DESPAWN', 3); define('SAI_SUMMON_TIMED_DESPAWN_OOC', 4); define('SAI_SUMMON_CORPSE_DESPAWN', 5); define('SAI_SUMMON_CORPSE_TIMED_DESPAWN', 6); define('SAI_SUMMON_DEAD_DESPAWN', 7); define('SAI_SUMMON_MANUAL_DESPAWN', 8); define('SAI_TARGET_NONE', 0); // None. define('SAI_TARGET_SELF', 1); // Self cast. define('SAI_TARGET_VICTIM', 2); // Our current target. (ie: highest aggro) define('SAI_TARGET_HOSTILE_SECOND_AGGRO', 3); // Second highest aggro. define('SAI_TARGET_HOSTILE_LAST_AGGRO', 4); // Dead last on aggro. define('SAI_TARGET_HOSTILE_RANDOM', 5); // Just any random target on our threat list. define('SAI_TARGET_HOSTILE_RANDOM_NOT_TOP', 6); // Any random target except top threat. define('SAI_TARGET_ACTION_INVOKER', 7); // Unit who caused this Event to occur. define('SAI_TARGET_POSITION', 8); // Use xyz from event params. define('SAI_TARGET_CREATURE_RANGE', 9); // (Random?) creature with specified ID within specified range. define('SAI_TARGET_CREATURE_GUID', 10); // Creature with specified GUID. define('SAI_TARGET_CREATURE_DISTANCE', 11); // Creature with specified ID within distance. (Different from #9?) define('SAI_TARGET_STORED', 12); // Uses pre-stored target(list) define('SAI_TARGET_GAMEOBJECT_RANGE', 13); // (Random?) object with specified ID within specified range. define('SAI_TARGET_GAMEOBJECT_GUID', 14); // Object with specified GUID. define('SAI_TARGET_GAMEOBJECT_DISTANCE', 15); // Object with specified ID within distance. (Different from #13?) define('SAI_TARGET_INVOKER_PARTY', 16); // Invoker's party members define('SAI_TARGET_PLAYER_RANGE', 17); // (Random?) player within specified range. define('SAI_TARGET_PLAYER_DISTANCE', 18); // (Random?) player within specified distance. (Different from #17?) define('SAI_TARGET_CLOSEST_CREATURE', 19); // Closest creature with specified ID within specified range. define('SAI_TARGET_CLOSEST_GAMEOBJECT', 20); // Closest object with specified ID within specified range. define('SAI_TARGET_CLOSEST_PLAYER', 21); // Closest player within specified range. define('SAI_TARGET_ACTION_INVOKER_VEHICLE', 22); // Unit's vehicle who caused this Event to occur define('SAI_TARGET_OWNER_OR_SUMMONER', 23); // Unit's owner or summoner define('SAI_TARGET_THREAT_LIST', 24); // All units on creature's threat list define('SAI_TARGET_CLOSEST_ENEMY', 25); // Any attackable target (creature or player) within maxDist define('SAI_TARGET_CLOSEST_FRIENDLY', 26); // Any friendly unit (creature, player or pet) within maxDist define('SAI_TARGET_LOOT_RECIPIENTS', 27); // All tagging players define('SAI_TARGET_FARTHEST', 28); // Farthest unit on the threat list define('SAI_TARGET_VEHICLE_PASSENGER', 29); // Vehicle can target unit in given seat define('SAI_TARGET_CLOSEST_UNSPAWNED_GO', 30); // entry(0any), maxDist define('SAI_TEMPLATE_BASIC', 0); // define('SAI_TEMPLATE_CASTER', 1); // +JOIN: target_param1 as castFlag define('SAI_TEMPLATE_TURRET', 2); // +JOIN: target_param1 as castflag define('SAI_TEMPLATE_PASSIVE', 3); // define('SAI_TEMPLATE_CAGED_GO_PART', 4); // define('SAI_TEMPLATE_CAGED_NPC_PART', 5); // define('SAI_SPAWN_FLAG_NONE', 0x00); define('SAI_SPAWN_FLAG_IGNORE_RESPAWN', 0x01); // onSpawnIn - ignore & reset respawn timer define('SAI_SPAWN_FLAG_FORCE_SPAWN', 0x02); // onSpawnIn - force additional spawn if already in world define('SAI_SPAWN_FLAG_NOSAVE_RESPAWN', 0x04); // onDespawn - remove respawn time // TrinityCore - Account Security define('SEC_PLAYER', 0); define('SEC_MODERATOR', 1); define('SEC_GAMEMASTER', 2); define('SEC_ADMINISTRATOR', 3); define('SEC_CONSOLE', 4); // console only - should not be encountered // profiler queue interactions define('PR_QUEUE_STATUS_ENDED', 0); define('PR_QUEUE_STATUS_WAITING', 1); define('PR_QUEUE_STATUS_WORKING', 2); define('PR_QUEUE_STATUS_READY', 3); define('PR_QUEUE_STATUS_ERROR', 4); define('PR_QUEUE_ERROR_UNK', 0); define('PR_QUEUE_ERROR_CHAR', 1); define('PR_QUEUE_ERROR_ARMORY', 2); // profiler completion manager define('PR_EXCLUDE_GROUP_UNAVAILABLE', 0x001); define('PR_EXCLUDE_GROUP_TCG', 0x002); define('PR_EXCLUDE_GROUP_COLLECTORS_EDITION', 0x004); define('PR_EXCLUDE_GROUP_PROMOTION', 0x008); define('PR_EXCLUDE_GROUP_WRONG_REGION', 0x010); define('PR_EXCLUDE_GROUP_REQ_ALLIANCE', 0x020); define('PR_EXCLUDE_GROUP_REQ_HORDE', 0x040); define('PR_EXCLUDE_GROUP_OTHER_FACTION', PR_EXCLUDE_GROUP_REQ_ALLIANCE | PR_EXCLUDE_GROUP_REQ_HORDE); define('PR_EXCLUDE_GROUP_REQ_FISHING', 0x080); define('PR_EXCLUDE_GROUP_REQ_ENGINEERING', 0x100); define('PR_EXCLUDE_GROUP_REQ_TAILORING', 0x200); define('PR_EXCLUDE_GROUP_WRONG_PROFESSION', PR_EXCLUDE_GROUP_REQ_FISHING | PR_EXCLUDE_GROUP_REQ_ENGINEERING | PR_EXCLUDE_GROUP_REQ_TAILORING); define('PR_EXCLUDE_GROUP_REQ_CANT_BE_EXALTED', 0x400); define('PR_EXCLUDE_GROUP_ANY', 0x7FF); // Areatrigger types define('AT_TYPE_NONE', 0); define('AT_TYPE_TAVERN', 1); define('AT_TYPE_TELEPORT', 2); define('AT_TYPE_OBJECTIVE', 3); define('AT_TYPE_SMART', 4); define('AT_TYPE_SCRIPT', 5); // Drop Sources define('SRC_CRAFTED', 1); define('SRC_DROP', 2); define('SRC_PVP', 3); define('SRC_QUEST', 4); define('SRC_VENDOR', 5); define('SRC_TRAINER', 6); define('SRC_DISCOVERY', 7); define('SRC_REDEMPTION', 8); // unused define('SRC_TALENT', 9); define('SRC_STARTER', 10); define('SRC_EVENT', 11); // unused define('SRC_ACHIEVEMENT', 12); define('SRC_CUSTOM_STRING', 13); // define('SRC_BLACK_MARKET', 14); // not in 3.3.5 define('SRC_DISENCHANTMENT', 15); define('SRC_FISHING', 16); define('SRC_GATHERING', 17); define('SRC_MILLING', 18); define('SRC_MINING', 19); define('SRC_PROSPECTING', 20); define('SRC_PICKPOCKETING', 21); define('SRC_SALVAGING', 22); define('SRC_SKINNING', 23); // define('SRC_INGAME_STORE', 24); // not in 3.3.5 define('SRC_SUB_PVP_ARENA', 1); define('SRC_SUB_PVP_BG', 2); define('SRC_SUB_PVP_WORLD', 4); define('SRC_FLAG_BOSSDROP', 0x01); define('SRC_FLAG_COMMON', 0x02); define('SRC_FLAG_DUNGEON_DROP', 0x10); define('SRC_FLAG_RAID_DROP', 0x20); // Map Types define('MAP_TYPE_ZONE', 0); define('MAP_TYPE_TRANSIT', 1); define('MAP_TYPE_DUNGEON', 2); define('MAP_TYPE_RAID', 3); define('MAP_TYPE_BATTLEGROUND', 4); define('MAP_TYPE_DUNGEON_HC', 5); define('MAP_TYPE_ARENA', 6); define('MAP_TYPE_MMODE_RAID', 7); define('MAP_TYPE_MMODE_RAID_HC', 8); define('EMOTE_FLAG_ONLY_STANDING', 0x0001); // Only while standig define('EMOTE_FLAG_USE_MOUNT', 0x0002); // Emote applies to mount define('EMOTE_FLAG_NOT_CHANNELING', 0x0004); // Not while channeling define('EMOTE_FLAG_ANIM_TALK', 0x0008); // Talk anim - talk define('EMOTE_FLAG_ANIM_QUESTION', 0x0010); // Talk anim - question define('EMOTE_FLAG_ANIM_EXCLAIM', 0x0020); // Talk anim - exclamation define('EMOTE_FLAG_ANIM_SHOUT', 0x0040); // Talk anim - shout define('EMOTE_FLAG_NOT_SWIMMING', 0x0080); // Not while swimming define('EMOTE_FLAG_ANIM_LAUGH', 0x0100); // Talk anim - laugh define('EMOTE_FLAG_CAN_LIE_ON_GROUND', 0x0200); // Ok while sleeping or dead define('EMOTE_FLAG_NOT_FROM_CLIENT', 0x0400); // Disallow from client define('EMOTE_FLAG_NOT_CASTING', 0x0800); // Not while casting define('EMOTE_FLAG_END_MOVEMENT', 0x1000); // Movement ends define('EMOTE_FLAG_INTERRUPT_ON_ATTACK', 0x2000); // Interrupt on attack define('EMOTE_FLAG_ONLY_STILL', 0x4000); // Only while still define('EMOTE_FLAG_NOT_FLYING', 0x8000); // Not while flying ?>