DB/SAI: Add new view vw_smart_scripts_with_labels that shows labels instead of numbers from smart_scripts table

This commit is contained in:
jackpoz
2020-07-24 17:55:26 +02:00
parent 6c4f71c84b
commit c164c257ae

View File

@@ -0,0 +1,322 @@
--
-- Drop previous functions/views if any
DROP FUNCTION IF EXISTS `fn_smart_scripts_event_type`;
DROP FUNCTION IF EXISTS `fn_smart_scripts_action_type`;
DROP FUNCTION IF EXISTS `fn_smart_scripts_target_type`;
DROP VIEW IF EXISTS `vw_smart_scripts_with_labels`;
-- Create the functions to convert int to string
DELIMITER $$
CREATE FUNCTION `fn_smart_scripts_event_type`(event_type TINYINT(3))
RETURNS CHAR(50) DETERMINISTIC
BEGIN
RETURN CASE event_type
WHEN 0 THEN 'SMART_EVENT_UPDATE_IC'
WHEN 1 THEN 'SMART_EVENT_UPDATE_OOC'
WHEN 2 THEN 'SMART_EVENT_HEALTH_PCT'
WHEN 3 THEN 'SMART_EVENT_MANA_PCT'
WHEN 4 THEN 'SMART_EVENT_AGGRO'
WHEN 5 THEN 'SMART_EVENT_KILL'
WHEN 6 THEN 'SMART_EVENT_DEATH'
WHEN 7 THEN 'SMART_EVENT_EVADE'
WHEN 8 THEN 'SMART_EVENT_SPELLHIT'
WHEN 9 THEN 'SMART_EVENT_RANGE'
WHEN 10 THEN 'SMART_EVENT_OOC_LOS'
WHEN 11 THEN 'SMART_EVENT_RESPAWN'
WHEN 12 THEN 'SMART_EVENT_TARGET_HEALTH_PCT'
WHEN 13 THEN 'SMART_EVENT_VICTIM_CASTING'
WHEN 14 THEN 'SMART_EVENT_FRIENDLY_HEALTH'
WHEN 15 THEN 'SMART_EVENT_FRIENDLY_IS_CC'
WHEN 16 THEN 'SMART_EVENT_FRIENDLY_MISSING_BUFF'
WHEN 17 THEN 'SMART_EVENT_SUMMONED_UNIT'
WHEN 18 THEN 'SMART_EVENT_TARGET_MANA_PCT'
WHEN 19 THEN 'SMART_EVENT_ACCEPTED_QUEST'
WHEN 20 THEN 'SMART_EVENT_REWARD_QUEST'
WHEN 21 THEN 'SMART_EVENT_REACHED_HOME'
WHEN 22 THEN 'SMART_EVENT_RECEIVE_EMOTE'
WHEN 23 THEN 'SMART_EVENT_HAS_AURA'
WHEN 24 THEN 'SMART_EVENT_TARGET_BUFFED'
WHEN 25 THEN 'SMART_EVENT_RESET'
WHEN 26 THEN 'SMART_EVENT_IC_LOS'
WHEN 27 THEN 'SMART_EVENT_PASSENGER_BOARDED'
WHEN 28 THEN 'SMART_EVENT_PASSENGER_REMOVED'
WHEN 29 THEN 'SMART_EVENT_CHARMED'
WHEN 30 THEN 'SMART_EVENT_CHARMED_TARGET'
WHEN 31 THEN 'SMART_EVENT_SPELLHIT_TARGET'
WHEN 32 THEN 'SMART_EVENT_DAMAGED'
WHEN 33 THEN 'SMART_EVENT_DAMAGED_TARGET'
WHEN 34 THEN 'SMART_EVENT_MOVEMENTINFORM'
WHEN 35 THEN 'SMART_EVENT_SUMMON_DESPAWNED'
WHEN 36 THEN 'SMART_EVENT_CORPSE_REMOVED'
WHEN 37 THEN 'SMART_EVENT_AI_INIT'
WHEN 38 THEN 'SMART_EVENT_DATA_SET'
WHEN 39 THEN 'SMART_EVENT_WAYPOINT_START'
WHEN 40 THEN 'SMART_EVENT_WAYPOINT_REACHED'
WHEN 41 THEN 'SMART_EVENT_TRANSPORT_ADDPLAYER'
WHEN 42 THEN 'SMART_EVENT_TRANSPORT_ADDCREATURE'
WHEN 43 THEN 'SMART_EVENT_TRANSPORT_REMOVE_PLAYER'
WHEN 44 THEN 'SMART_EVENT_TRANSPORT_RELOCATE'
WHEN 45 THEN 'SMART_EVENT_INSTANCE_PLAYER_ENTER'
WHEN 46 THEN 'SMART_EVENT_AREATRIGGER_ONTRIGGER'
WHEN 47 THEN 'SMART_EVENT_QUEST_ACCEPTED'
WHEN 48 THEN 'SMART_EVENT_QUEST_OBJ_COPLETETION'
WHEN 49 THEN 'SMART_EVENT_QUEST_COMPLETION'
WHEN 50 THEN 'SMART_EVENT_QUEST_REWARDED'
WHEN 51 THEN 'SMART_EVENT_QUEST_FAIL'
WHEN 52 THEN 'SMART_EVENT_TEXT_OVER'
WHEN 53 THEN 'SMART_EVENT_RECEIVE_HEAL'
WHEN 54 THEN 'SMART_EVENT_JUST_SUMMONED'
WHEN 55 THEN 'SMART_EVENT_WAYPOINT_PAUSED'
WHEN 56 THEN 'SMART_EVENT_WAYPOINT_RESUMED'
WHEN 57 THEN 'SMART_EVENT_WAYPOINT_STOPPED'
WHEN 58 THEN 'SMART_EVENT_WAYPOINT_ENDED'
WHEN 59 THEN 'SMART_EVENT_TIMED_EVENT_TRIGGERED'
WHEN 60 THEN 'SMART_EVENT_UPDATE'
WHEN 61 THEN 'SMART_EVENT_LINK'
WHEN 62 THEN 'SMART_EVENT_GOSSIP_SELECT'
WHEN 63 THEN 'SMART_EVENT_JUST_CREATED'
WHEN 64 THEN 'SMART_EVENT_GOSSIP_HELLO'
WHEN 65 THEN 'SMART_EVENT_FOLLOW_COMPLETED'
WHEN 66 THEN 'SMART_EVENT_EVENT_PHASE_CHANGE'
WHEN 67 THEN 'SMART_EVENT_IS_BEHIND_TARGET'
WHEN 68 THEN 'SMART_EVENT_GAME_EVENT_START'
WHEN 69 THEN 'SMART_EVENT_GAME_EVENT_END'
WHEN 70 THEN 'SMART_EVENT_GO_LOOT_STATE_CHANGED'
WHEN 71 THEN 'SMART_EVENT_GO_EVENT_INFORM'
WHEN 72 THEN 'SMART_EVENT_ACTION_DONE'
WHEN 73 THEN 'SMART_EVENT_ON_SPELLCLICK'
WHEN 74 THEN 'SMART_EVENT_FRIENDLY_HEALTH_PCT'
WHEN 75 THEN 'SMART_EVENT_DISTANCE_CREATURE'
WHEN 76 THEN 'SMART_EVENT_DISTANCE_GAMEOBJECT'
WHEN 77 THEN 'SMART_EVENT_COUNTER_SET'
WHEN 78 THEN 'SMART_EVENT_SCENE_START'
WHEN 79 THEN 'SMART_EVENT_SCENE_TRIGGER'
WHEN 80 THEN 'SMART_EVENT_SCENE_CANCEL'
WHEN 81 THEN 'SMART_EVENT_SCENE_COMPLETE'
WHEN 82 THEN 'SMART_EVENT_SUMMONED_UNIT_DIES'
ELSE event_type
END;
END$$
CREATE FUNCTION `fn_smart_scripts_action_type`(action_type TINYINT(3))
RETURNS CHAR(50) DETERMINISTIC
BEGIN
RETURN CASE action_type
WHEN 0 THEN 'SMART_ACTION_NONE'
WHEN 1 THEN 'SMART_ACTION_TALK'
WHEN 2 THEN 'SMART_ACTION_SET_FACTION'
WHEN 3 THEN 'SMART_ACTION_MORPH_TO_ENTRY_OR_MODEL'
WHEN 4 THEN 'SMART_ACTION_SOUND'
WHEN 5 THEN 'SMART_ACTION_PLAY_EMOTE'
WHEN 6 THEN 'SMART_ACTION_FAIL_QUEST'
WHEN 7 THEN 'SMART_ACTION_OFFER_QUEST'
WHEN 8 THEN 'SMART_ACTION_SET_REACT_STATE'
WHEN 9 THEN 'SMART_ACTION_ACTIVATE_GOBJECT'
WHEN 10 THEN 'SMART_ACTION_RANDOM_EMOTE'
WHEN 11 THEN 'SMART_ACTION_CAST'
WHEN 12 THEN 'SMART_ACTION_SUMMON_CREATURE'
WHEN 13 THEN 'SMART_ACTION_THREAT_SINGLE_PCT'
WHEN 14 THEN 'SMART_ACTION_THREAT_ALL_PCT'
WHEN 15 THEN 'SMART_ACTION_CALL_AREAEXPLOREDOREVENTHAPPENS'
WHEN 16 THEN 'SMART_ACTION_RESERVED_16'
WHEN 17 THEN 'SMART_ACTION_SET_EMOTE_STATE'
WHEN 18 THEN 'SMART_ACTION_SET_UNIT_FLAG'
WHEN 19 THEN 'SMART_ACTION_REMOVE_UNIT_FLAG'
WHEN 20 THEN 'SMART_ACTION_AUTO_ATTACK'
WHEN 21 THEN 'SMART_ACTION_ALLOW_COMBAT_MOVEMENT'
WHEN 22 THEN 'SMART_ACTION_SET_EVENT_PHASE'
WHEN 23 THEN 'SMART_ACTION_INC_EVENT_PHASE'
WHEN 24 THEN 'SMART_ACTION_EVADE'
WHEN 25 THEN 'SMART_ACTION_FLEE_FOR_ASSIST'
WHEN 26 THEN 'SMART_ACTION_CALL_GROUPEVENTHAPPENS'
WHEN 27 THEN 'SMART_ACTION_COMBAT_STOP'
WHEN 28 THEN 'SMART_ACTION_REMOVEAURASFROMSPELL'
WHEN 29 THEN 'SMART_ACTION_FOLLOW'
WHEN 30 THEN 'SMART_ACTION_RANDOM_PHASE'
WHEN 31 THEN 'SMART_ACTION_RANDOM_PHASE_RANGE'
WHEN 32 THEN 'SMART_ACTION_RESET_GOBJECT'
WHEN 33 THEN 'SMART_ACTION_CALL_KILLEDMONSTER'
WHEN 34 THEN 'SMART_ACTION_SET_INST_DATA'
WHEN 35 THEN 'SMART_ACTION_SET_INST_DATA64'
WHEN 36 THEN 'SMART_ACTION_UPDATE_TEMPLATE'
WHEN 37 THEN 'SMART_ACTION_DIE'
WHEN 38 THEN 'SMART_ACTION_SET_IN_COMBAT_WITH_ZONE'
WHEN 39 THEN 'SMART_ACTION_CALL_FOR_HELP'
WHEN 40 THEN 'SMART_ACTION_SET_SHEATH'
WHEN 41 THEN 'SMART_ACTION_FORCE_DESPAWN'
WHEN 42 THEN 'SMART_ACTION_SET_INVINCIBILITY_HP_LEVEL'
WHEN 43 THEN 'SMART_ACTION_MOUNT_TO_ENTRY_OR_MODEL'
WHEN 44 THEN 'SMART_ACTION_SET_INGAME_PHASE_MASK'
WHEN 45 THEN 'SMART_ACTION_SET_DATA'
WHEN 46 THEN 'SMART_ACTION_ATTACK_STOP'
WHEN 47 THEN 'SMART_ACTION_SET_VISIBILITY'
WHEN 48 THEN 'SMART_ACTION_SET_ACTIVE'
WHEN 49 THEN 'SMART_ACTION_ATTACK_START'
WHEN 50 THEN 'SMART_ACTION_SUMMON_GO'
WHEN 51 THEN 'SMART_ACTION_KILL_UNIT'
WHEN 52 THEN 'SMART_ACTION_ACTIVATE_TAXI'
WHEN 53 THEN 'SMART_ACTION_WP_START'
WHEN 54 THEN 'SMART_ACTION_WP_PAUSE'
WHEN 55 THEN 'SMART_ACTION_WP_STOP'
WHEN 56 THEN 'SMART_ACTION_ADD_ITEM'
WHEN 57 THEN 'SMART_ACTION_REMOVE_ITEM'
WHEN 58 THEN 'SMART_ACTION_INSTALL_AI_TEMPLATE'
WHEN 59 THEN 'SMART_ACTION_SET_RUN'
WHEN 60 THEN 'SMART_ACTION_SET_DISABLE_GRAVITY'
WHEN 61 THEN 'SMART_ACTION_SET_SWIM'
WHEN 62 THEN 'SMART_ACTION_TELEPORT'
WHEN 63 THEN 'SMART_ACTION_SET_COUNTER'
WHEN 64 THEN 'SMART_ACTION_STORE_TARGET_LIST'
WHEN 65 THEN 'SMART_ACTION_WP_RESUME'
WHEN 66 THEN 'SMART_ACTION_SET_ORIENTATION'
WHEN 67 THEN 'SMART_ACTION_CREATE_TIMED_EVENT'
WHEN 68 THEN 'SMART_ACTION_PLAYMOVIE'
WHEN 69 THEN 'SMART_ACTION_MOVE_TO_POS'
WHEN 70 THEN 'SMART_ACTION_ENABLE_TEMP_GOBJ'
WHEN 71 THEN 'SMART_ACTION_EQUIP'
WHEN 72 THEN 'SMART_ACTION_CLOSE_GOSSIP'
WHEN 73 THEN 'SMART_ACTION_TRIGGER_TIMED_EVENT'
WHEN 74 THEN 'SMART_ACTION_REMOVE_TIMED_EVENT'
WHEN 75 THEN 'SMART_ACTION_ADD_AURA'
WHEN 76 THEN 'SMART_ACTION_OVERRIDE_SCRIPT_BASE_OBJECT'
WHEN 77 THEN 'SMART_ACTION_RESET_SCRIPT_BASE_OBJECT'
WHEN 78 THEN 'SMART_ACTION_CALL_SCRIPT_RESET'
WHEN 79 THEN 'SMART_ACTION_SET_RANGED_MOVEMENT'
WHEN 80 THEN 'SMART_ACTION_CALL_TIMED_ACTIONLIST'
WHEN 81 THEN 'SMART_ACTION_SET_NPC_FLAG'
WHEN 82 THEN 'SMART_ACTION_ADD_NPC_FLAG'
WHEN 83 THEN 'SMART_ACTION_REMOVE_NPC_FLAG'
WHEN 84 THEN 'SMART_ACTION_SIMPLE_TALK'
WHEN 85 THEN 'SMART_ACTION_SELF_CAST'
WHEN 86 THEN 'SMART_ACTION_CROSS_CAST'
WHEN 87 THEN 'SMART_ACTION_CALL_RANDOM_TIMED_ACTIONLIST'
WHEN 88 THEN 'SMART_ACTION_CALL_RANDOM_RANGE_TIMED_ACTIONLIST'
WHEN 89 THEN 'SMART_ACTION_RANDOM_MOVE'
WHEN 90 THEN 'SMART_ACTION_SET_UNIT_FIELD_BYTES_1'
WHEN 91 THEN 'SMART_ACTION_REMOVE_UNIT_FIELD_BYTES_1'
WHEN 92 THEN 'SMART_ACTION_INTERRUPT_SPELL'
WHEN 93 THEN 'SMART_ACTION_SEND_GO_CUSTOM_ANIM'
WHEN 94 THEN 'SMART_ACTION_SET_DYNAMIC_FLAG'
WHEN 95 THEN 'SMART_ACTION_ADD_DYNAMIC_FLAG'
WHEN 96 THEN 'SMART_ACTION_REMOVE_DYNAMIC_FLAG'
WHEN 97 THEN 'SMART_ACTION_JUMP_TO_POS'
WHEN 98 THEN 'SMART_ACTION_SEND_GOSSIP_MENU'
WHEN 99 THEN 'SMART_ACTION_GO_SET_LOOT_STATE'
WHEN 100 THEN 'SMART_ACTION_SEND_TARGET_TO_TARGET'
WHEN 101 THEN 'SMART_ACTION_SET_HOME_POS'
WHEN 102 THEN 'SMART_ACTION_SET_HEALTH_REGEN'
WHEN 103 THEN 'SMART_ACTION_SET_ROOT'
WHEN 104 THEN 'SMART_ACTION_SET_GO_FLAG'
WHEN 105 THEN 'SMART_ACTION_ADD_GO_FLAG'
WHEN 106 THEN 'SMART_ACTION_REMOVE_GO_FLAG'
WHEN 107 THEN 'SMART_ACTION_SUMMON_CREATURE_GROUP'
WHEN 108 THEN 'SMART_ACTION_SET_POWER'
WHEN 109 THEN 'SMART_ACTION_ADD_POWER'
WHEN 110 THEN 'SMART_ACTION_REMOVE_POWER'
WHEN 111 THEN 'SMART_ACTION_GAME_EVENT_STOP'
WHEN 112 THEN 'SMART_ACTION_GAME_EVENT_START'
WHEN 113 THEN 'SMART_ACTION_START_CLOSEST_WAYPOINT'
WHEN 114 THEN 'SMART_ACTION_MOVE_OFFSET'
WHEN 115 THEN 'SMART_ACTION_RANDOM_SOUND'
WHEN 116 THEN 'SMART_ACTION_SET_CORPSE_DELAY'
WHEN 117 THEN 'SMART_ACTION_DISABLE_EVADE'
WHEN 118 THEN 'SMART_ACTION_GO_SET_GO_STATE'
WHEN 119 THEN 'SMART_ACTION_SET_CAN_FLY'
WHEN 120 THEN 'SMART_ACTION_REMOVE_AURAS_BY_TYPE'
WHEN 121 THEN 'SMART_ACTION_SET_SIGHT_DIST'
WHEN 122 THEN 'SMART_ACTION_FLEE'
WHEN 123 THEN 'SMART_ACTION_ADD_THREAT'
WHEN 124 THEN 'SMART_ACTION_LOAD_EQUIPMENT'
WHEN 125 THEN 'SMART_ACTION_TRIGGER_RANDOM_TIMED_EVENT'
WHEN 126 THEN 'SMART_ACTION_REMOVE_ALL_GAMEOBJECTS'
WHEN 127 THEN 'SMART_ACTION_PAUSE_MOVEMENT'
WHEN 128 THEN 'SMART_ACTION_PLAY_ANIMKIT'
WHEN 129 THEN 'SMART_ACTION_SCENE_PLAY'
WHEN 130 THEN 'SMART_ACTION_SCENE_CANCEL'
WHEN 131 THEN 'SMART_ACTION_SPAWN_SPAWNGROUP'
WHEN 132 THEN 'SMART_ACTION_DESPAWN_SPAWNGROUP'
WHEN 133 THEN 'SMART_ACTION_RESPAWN_BY_SPAWNID'
WHEN 134 THEN 'SMART_ACTION_INVOKER_CAST'
WHEN 135 THEN 'SMART_ACTION_PLAY_CINEMATIC'
WHEN 136 THEN 'SMART_ACTION_SET_MOVEMENT_SPEED'
WHEN 137 THEN 'SMART_ACTION_PLAY_SPELL_VISUAL_KIT'
WHEN 138 THEN 'SMART_ACTION_OVERRIDE_LIGHT'
WHEN 139 THEN 'SMART_ACTION_OVERRIDE_WEATHER'
ELSE action_type
END;
END$$
CREATE FUNCTION `fn_smart_scripts_target_type`(target_type TINYINT(3))
RETURNS CHAR(50) DETERMINISTIC
BEGIN
RETURN CASE target_type
WHEN 0 THEN 'SMART_TARGET_NONE'
WHEN 1 THEN 'SMART_TARGET_SELF'
WHEN 2 THEN 'SMART_TARGET_VICTIM'
WHEN 3 THEN 'SMART_TARGET_HOSTILE_SECOND_AGGRO'
WHEN 4 THEN 'SMART_TARGET_HOSTILE_LAST_AGGRO'
WHEN 5 THEN 'SMART_TARGET_HOSTILE_RANDOM'
WHEN 6 THEN 'SMART_TARGET_HOSTILE_RANDOM_NOT_TOP'
WHEN 7 THEN 'SMART_TARGET_ACTION_INVOKER'
WHEN 8 THEN 'SMART_TARGET_POSITION'
WHEN 9 THEN 'SMART_TARGET_CREATURE_RANGE'
WHEN 10 THEN 'SMART_TARGET_CREATURE_GUID'
WHEN 11 THEN 'SMART_TARGET_CREATURE_DISTANCE'
WHEN 12 THEN 'SMART_TARGET_STORED'
WHEN 13 THEN 'SMART_TARGET_GAMEOBJECT_RANGE'
WHEN 14 THEN 'SMART_TARGET_GAMEOBJECT_GUID'
WHEN 15 THEN 'SMART_TARGET_GAMEOBJECT_DISTANCE'
WHEN 16 THEN 'SMART_TARGET_INVOKER_PARTY'
WHEN 17 THEN 'SMART_TARGET_PLAYER_RANGE'
WHEN 18 THEN 'SMART_TARGET_PLAYER_DISTANCE'
WHEN 19 THEN 'SMART_TARGET_CLOSEST_CREATURE'
WHEN 20 THEN 'SMART_TARGET_CLOSEST_GAMEOBJECT'
WHEN 21 THEN 'SMART_TARGET_CLOSEST_PLAYER'
WHEN 22 THEN 'SMART_TARGET_ACTION_INVOKER_VEHICLE'
WHEN 23 THEN 'SMART_TARGET_OWNER_OR_SUMMONER'
WHEN 24 THEN 'SMART_TARGET_THREAT_LIST'
WHEN 25 THEN 'SMART_TARGET_CLOSEST_ENEMY'
WHEN 26 THEN 'SMART_TARGET_CLOSEST_FRIENDLY'
WHEN 27 THEN 'SMART_TARGET_LOOT_RECIPIENTS'
WHEN 28 THEN 'SMART_TARGET_FARTHEST'
WHEN 29 THEN 'SMART_TARGET_VEHICLE_PASSENGER'
WHEN 30 THEN 'SMART_TARGET_CLOSEST_UNSPAWNED_GAMEOBJECT'
ELSE target_type
END;
END$$
DELIMITER ;
-- Create the view
CREATE VIEW `vw_smart_scripts_with_labels` AS
(SELECT `entryorguid`,
`source_type`,
`id`,
`link`,
fn_smart_scripts_event_type(`event_type`) AS `event_type`,
`event_phase_mask`,
`event_chance`,
`event_flags`,
`event_param1`,
`event_param2`,
`event_param3`,
`event_param4`,
`event_param5`,
fn_smart_scripts_action_type(`action_type`) AS `action_type`,
`action_param1`,
`action_param2`,
`action_param3`,
`action_param4`,
`action_param5`,
`action_param6`,
fn_smart_scripts_target_type(`target_type`) AS `target_type`,
`target_param1`,
`target_param2`,
`target_param3`,
`target_param4`,
`target_x`,
`target_y`,
`target_z`,
`target_o`,
`comment`
FROM smart_scripts);