mirror of
https://github.com/EQEmu/Server.git
synced 2026-04-14 16:02:26 +00:00
Added some additional SpellAffectIndex declarations to the enumeration (no reference.) Added dev script for function to retrieve spell affect index id labels for spells from queries
This commit is contained in:
parent
a13694c859
commit
5dbbc5f21c
@ -67,11 +67,58 @@ const int SpellTypes_Beneficial = SpellType_Heal|SpellType_Buff|SpellType_Escape
|
||||
|
||||
#define SpellType_Any 0xFFFF
|
||||
|
||||
// These don't appear to be consistent either through us or soe..
|
||||
// Use for generalization rather than validation
|
||||
enum SpellAffectIndex {
|
||||
SAI_Calm = 12, // Lull and Alliance Spells
|
||||
SAI_Dispell_Sight = 14, // Dispells and Spells like Bind Sight
|
||||
SAI_Memory_Blur = 27,
|
||||
SAI_Calm_Song = 43 // Lull and Alliance Songs
|
||||
SAI_Summon_Mount_Unclass = -1,
|
||||
SAI_Direct_Damage = 0,
|
||||
SAI_Heal_Cure = 1,
|
||||
SAI_AC_Buff = 2,
|
||||
SAI_AE_Damage = 3,
|
||||
SAI_Summon = 4, // Summoned Pets and Items
|
||||
SAI_Sight = 5,
|
||||
SAI_Mana_Regen_Resist_Song = 6,
|
||||
SAI_Stat_Buff = 7,
|
||||
SAI_Vanish = 9, // Invisibility and Gate/Port
|
||||
SAI_Appearance = 10, // Illusion and Size
|
||||
SAI_Enchanter_Pet = 11,
|
||||
SAI_Calm = 12, // Lull and Alliance Spells
|
||||
SAI_Fear = 13,
|
||||
SAI_Dispell_Sight = 14, // Dispells and Spells like Bind Sight
|
||||
SAI_Stun = 15,
|
||||
SAI_Haste_Runspeed = 16, // Haste and SoW
|
||||
SAI_Combat_Slow = 17,
|
||||
SAI_Damage_Shield = 18,
|
||||
SAI_Cannibalize_Weapon_Proc = 19,
|
||||
SAI_Weaken = 20,
|
||||
SAI_Banish = 21,
|
||||
SAI_Blind_Poison = 22,
|
||||
SAI_Cold_DD = 23,
|
||||
SAI_Poison_Disease_DD = 24,
|
||||
SAI_Fire_DD = 25,
|
||||
SAI_Memory_Blur = 27,
|
||||
SAI_Gravity_Fling = 28,
|
||||
SAI_Suffocate = 29,
|
||||
SAI_Lifetap_Over_Time = 30,
|
||||
SAI_Fire_AE = 31,
|
||||
SAI_Cold_AE = 33,
|
||||
SAI_Poison_Disease_AE = 34,
|
||||
SAI_Teleport = 40,
|
||||
SAI_Direct_Damage_Song = 41,
|
||||
SAI_Combat_Buff_Song = 42,
|
||||
SAI_Calm_Song = 43, // Lull and Alliance Songs
|
||||
SAI_Firework = 45,
|
||||
SAI_Firework_AE = 46,
|
||||
SAI_Weather_Rocket = 47,
|
||||
SAI_Convert_Vitals = 50,
|
||||
SAI_NPC_Special_60 = 60,
|
||||
SAI_NPC_Special_61 = 61,
|
||||
SAI_NPC_Special_62 = 62,
|
||||
SAI_NPC_Special_63 = 63,
|
||||
SAI_NPC_Special_70 = 70,
|
||||
SAI_NPC_Special_71 = 71,
|
||||
SAI_NPC_Special_80 = 80,
|
||||
SAI_Trap_Lock = 88
|
||||
};
|
||||
enum RESISTTYPE
|
||||
{
|
||||
|
||||
@ -0,0 +1,71 @@
|
||||
DELIMITER $$
|
||||
|
||||
DROP FUNCTION IF EXISTS `GetSpellAffectIndexToken`;
|
||||
|
||||
-- This function converts a numeric spell affect index id to a string label based on server code designations
|
||||
--
|
||||
-- example:
|
||||
-- SELECT `id`, `name`, GetSpellAffectIndexToken(`SpellAffectIndex`) FROM `spells_new` WHERE `id` IN ('73', '2253', '2319');
|
||||
CREATE FUNCTION `GetSpellAffectIndexToken` (`affect_index_id` INT(11)) RETURNS VARCHAR(64)
|
||||
BEGIN
|
||||
DECLARE `token` VARCHAR(64) DEFAULT '';
|
||||
|
||||
CASE `affect_index_id`
|
||||
WHEN '-1' THEN SET `token` = 'SAI_Summon_Mount_Unclass';
|
||||
WHEN '0' THEN SET `token` = 'SAI_Direct_Damage';
|
||||
WHEN '1' THEN SET `token` = 'SAI_Heal_Cure';
|
||||
WHEN '2' THEN SET `token` = 'SAI_AC_Buff';
|
||||
WHEN '3' THEN SET `token` = 'SAI_AE_Damage';
|
||||
WHEN '4' THEN SET `token` = 'SAI_Summon';
|
||||
WHEN '5' THEN SET `token` = 'SAI_Sight';
|
||||
WHEN '6' THEN SET `token` = 'SAI_Mana_Regen_Resist_Song';
|
||||
WHEN '7' THEN SET `token` = 'SAI_Stat_Buff';
|
||||
WHEN '9' THEN SET `token` = 'SAI_Vanish';
|
||||
WHEN '10' THEN SET `token` = 'SAI_Appearance';
|
||||
WHEN '11' THEN SET `token` = 'SAI_Enchanter_Pet';
|
||||
WHEN '12' THEN SET `token` = 'SAI_Calm';
|
||||
WHEN '13' THEN SET `token` = 'SAI_Fear';
|
||||
WHEN '14' THEN SET `token` = 'SAI_Dispell_Sight';
|
||||
WHEN '15' THEN SET `token` = 'SAI_Stun';
|
||||
WHEN '16' THEN SET `token` = 'SAI_Haste_Runspeed';
|
||||
WHEN '17' THEN SET `token` = 'SAI_Combat_Slow';
|
||||
WHEN '18' THEN SET `token` = 'SAI_Damage_Shield';
|
||||
WHEN '19' THEN SET `token` = 'SAI_Cannibalize_Weapon_Proc';
|
||||
WHEN '20' THEN SET `token` = 'SAI_Weaken';
|
||||
WHEN '21' THEN SET `token` = 'SAI_Banish';
|
||||
WHEN '22' THEN SET `token` = 'SAI_Blind_Poison';
|
||||
WHEN '23' THEN SET `token` = 'SAI_Cold_DD';
|
||||
WHEN '24' THEN SET `token` = 'SAI_Poison_Disease_DD';
|
||||
WHEN '25' THEN SET `token` = 'SAI_Fire_DD';
|
||||
WHEN '27' THEN SET `token` = 'SAI_Memory_Blur';
|
||||
WHEN '28' THEN SET `token` = 'SAI_Gravity_Fling';
|
||||
WHEN '29' THEN SET `token` = 'SAI_Suffocate';
|
||||
WHEN '30' THEN SET `token` = 'SAI_Lifetap_Over_Time';
|
||||
WHEN '31' THEN SET `token` = 'SAI_Fire_AE';
|
||||
WHEN '33' THEN SET `token` = 'SAI_Cold_AE';
|
||||
WHEN '34' THEN SET `token` = 'SAI_Poison_Disease_AE';
|
||||
WHEN '40' THEN SET `token` = 'SAI_Teleport';
|
||||
WHEN '41' THEN SET `token` = 'SAI_Direct_Damage_Song';
|
||||
WHEN '42' THEN SET `token` = 'SAI_Combat_Buff_Song';
|
||||
WHEN '43' THEN SET `token` = 'SAI_Calm_Song';
|
||||
WHEN '45' THEN SET `token` = 'SAI_Firework';
|
||||
WHEN '46' THEN SET `token` = 'SAI_Firework_AE';
|
||||
WHEN '47' THEN SET `token` = 'SAI_Weather_Rocket';
|
||||
WHEN '50' THEN SET `token` = 'SAI_Convert_Vitals';
|
||||
WHEN '60' THEN SET `token` = 'SAI_NPC_Special_60';
|
||||
WHEN '61' THEN SET `token` = 'SAI_NPC_Special_61';
|
||||
WHEN '62' THEN SET `token` = 'SAI_NPC_Special_62';
|
||||
WHEN '63' THEN SET `token` = 'SAI_NPC_Special_63';
|
||||
WHEN '70' THEN SET `token` = 'SAI_NPC_Special_70';
|
||||
WHEN '71' THEN SET `token` = 'SAI_NPC_Special_71';
|
||||
WHEN '80' THEN SET `token` = 'SAI_NPC_Special_80';
|
||||
WHEN '88' THEN SET `token` = 'SAI_Lock_Trap';
|
||||
ELSE SET `token` = 'unk';
|
||||
END CASE;
|
||||
|
||||
SET `token` = CONCAT(`token`, '(', `affect_index_id`, ')');
|
||||
|
||||
RETURN `token`;
|
||||
END$$
|
||||
|
||||
DELIMITER ;
|
||||
@ -7,9 +7,9 @@ DROP FUNCTION IF EXISTS `GetSpellTargetTypeToken`;
|
||||
--
|
||||
-- example:
|
||||
-- SELECT `id`, `name`, GetSpellTargetTypeToken(`targettype`, `CastRestriction`) FROM `spells_new` WHERE `id` IN ('6836', '10763', '25039');
|
||||
CREATE FUNCTION `GetSpellTargetTypeToken` (`target_type` INT(11), `cast_restriction` INT(11)) RETURNS VARCHAR(64)
|
||||
CREATE FUNCTION `GetSpellTargetTypeToken` (`target_type` INT(11), `cast_restriction` INT(11)) RETURNS VARCHAR(128)
|
||||
BEGIN
|
||||
DECLARE `token` VARCHAR(64) DEFAULT '';
|
||||
DECLARE `token` VARCHAR(128) DEFAULT '';
|
||||
DECLARE `token2` VARCHAR(64) DEFAULT '';
|
||||
|
||||
CASE `target_type`
|
||||
@ -56,7 +56,6 @@ BEGIN
|
||||
|
||||
CASE `cast_restriction`
|
||||
WHEN '0' THEN SET `token2` = 'None';
|
||||
-- WHEN '1' THEN SET `token2` = '---';
|
||||
WHEN '100' THEN SET `token2` = 'Only works on Animal or Humanoid';
|
||||
WHEN '101' THEN SET `token2` = 'Only works on Dragon';
|
||||
WHEN '102' THEN SET `token2` = 'Only works on Animal or Insect';
|
||||
@ -81,11 +80,6 @@ BEGIN
|
||||
WHEN '124' THEN SET `token2` = 'Undead HP Less Than 10%';
|
||||
WHEN '125' THEN SET `token2` = 'Clockwork HP Less Than 45%';
|
||||
WHEN '126' THEN SET `token2` = 'Wisp HP Less Than 10%';
|
||||
-- WHEN '127' THEN SET `token2` = '---';
|
||||
-- WHEN '128' THEN SET `token2` = '---';
|
||||
-- WHEN '129' THEN SET `token2` = '---';
|
||||
-- WHEN '130' THEN SET `token2` = '---';
|
||||
-- WHEN '150' THEN SET `token2` = '---';
|
||||
WHEN '190' THEN SET `token2` = 'Doesn\'t work on Raid Bosses';
|
||||
WHEN '191' THEN SET `token2` = 'Only works on Raid Bosses';
|
||||
WHEN '201' THEN SET `token2` = 'HP Above 75%';
|
||||
@ -120,8 +114,6 @@ BEGIN
|
||||
WHEN '402' THEN SET `token2` = 'HP Between 35 and 45%';
|
||||
WHEN '403' THEN SET `token2` = 'HP Between 45 and 55%';
|
||||
WHEN '404' THEN SET `token2` = 'HP Between 55 and 65%';
|
||||
-- WHEN '410' THEN SET `token2` = '---';
|
||||
-- WHEN '411' THEN SET `token2` = '---';
|
||||
WHEN '412' THEN SET `token2` = 'HP Above 99%';
|
||||
WHEN '501' THEN SET `token2` = 'HP Below 5%';
|
||||
WHEN '502' THEN SET `token2` = 'HP Below 10%';
|
||||
@ -145,24 +137,12 @@ BEGIN
|
||||
WHEN '521' THEN SET `token2` = 'Mana Below X%';
|
||||
WHEN '522' THEN SET `token2` = 'End Below 40%';
|
||||
WHEN '523' THEN SET `token2` = 'Mana Below 40%';
|
||||
-- WHEN '601' THEN SET `token2` = '---';
|
||||
WHEN '603' THEN SET `token2` = 'Only works on Undead2';
|
||||
WHEN '608' THEN SET `token2` = 'Only works on Undead3';
|
||||
WHEN '624' THEN SET `token2` = 'Only works on Summoned2';
|
||||
-- WHEN '626' THEN SET `token2` = '---';
|
||||
-- WHEN '700' THEN SET `token2` = '---';
|
||||
WHEN '701' THEN SET `token2` = 'Doesn\'t work on Pets';
|
||||
-- WHEN '800' THEN SET `token2` = '---';
|
||||
-- WHEN '812' THEN SET `token2` = '---';
|
||||
-- WHEN '814' THEN SET `token2` = '---';
|
||||
-- WHEN '815' THEN SET `token2` = '---';
|
||||
-- WHEN '816' THEN SET `token2` = '---';
|
||||
-- WHEN '817' THEN SET `token2` = '---';
|
||||
WHEN '818' THEN SET `token2` = 'Only works on Undead4';
|
||||
WHEN '819' THEN SET `token2` = 'Doesn\'t work on Undead4';
|
||||
-- WHEN '820' THEN SET `token2` = '---';
|
||||
-- WHEN '821' THEN SET `token2` = '---';
|
||||
-- WHEN '822' THEN SET `token2` = '---';
|
||||
WHEN '825' THEN SET `token2` = 'End Below 21%';
|
||||
WHEN '826' THEN SET `token2` = 'End Below 25%';
|
||||
WHEN '827' THEN SET `token2` = 'End Below 29%';
|
||||
@ -171,15 +151,6 @@ BEGIN
|
||||
WHEN '842' THEN SET `token2` = 'Only works on Humanoid Level 84 Max';
|
||||
WHEN '843' THEN SET `token2` = 'Only works on Humanoid Level 86 Max';
|
||||
WHEN '844' THEN SET `token2` = 'Only works on Humanoid Level 88 Max';
|
||||
-- WHEN '845' THEN SET `token2` = '---';
|
||||
-- WHEN '846' THEN SET `token2` = '---';
|
||||
-- WHEN '847' THEN SET `token2` = '---';
|
||||
-- WHEN '860' THEN SET `token2` = '---';
|
||||
-- WHEN '861' THEN SET `token2` = '---';
|
||||
-- WHEN '862' THEN SET `token2` = '---';
|
||||
-- WHEN '863' THEN SET `token2` = '---';
|
||||
-- WHEN '864' THEN SET `token2` = '---';
|
||||
-- WHEN '865' THEN SET `token2` = '---';
|
||||
WHEN '1000' THEN SET `token2` = 'Between Level 1 and 75';
|
||||
WHEN '1001' THEN SET `token2` = 'Between Level 76 and 85';
|
||||
WHEN '1002' THEN SET `token2` = 'Between Level 86 and 95';
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user