From cd11d7d1af94cfae8f3f76af2f5dea26285c8640 Mon Sep 17 00:00:00 2001 From: Uleat Date: Tue, 7 Feb 2017 21:52:17 -0500 Subject: [PATCH 1/5] Added dev script for function to retrieve spell category labels for spells from queries [skip ci] --- .../spell_category_token_function.sql | 206 ++++++++++++++++++ 1 file changed, 206 insertions(+) create mode 100644 utils/scripts/database_tools/spell_category_token_function.sql diff --git a/utils/scripts/database_tools/spell_category_token_function.sql b/utils/scripts/database_tools/spell_category_token_function.sql new file mode 100644 index 000000000..9a0949eec --- /dev/null +++ b/utils/scripts/database_tools/spell_category_token_function.sql @@ -0,0 +1,206 @@ +DELIMITER $$ + +DROP FUNCTION IF EXISTS `GetSpellCategoryToken`; + +-- This function converts numeric spell category ids to a string label based on server code designations +-- +-- example: +-- SELECT `id`, `name`, GetSpellCategoryToken(`spell_category`) FROM `spells_new` WHERE `id` IN ('39', '129', '3468'); +CREATE FUNCTION `GetSpellCategoryToken` (`spell_category` INT(11)) RETURNS VARCHAR(256) +BEGIN + DECLARE `token` VARCHAR(256) DEFAULT ''; + + CASE `spell_category` + WHEN '-99' THEN SET `token` = 'neg99#'; + WHEN '-1' THEN SET `token` = 'neg1#'; + WHEN '0' THEN SET `token` = CONCAT('#', `spell_category`); + WHEN '1' THEN SET `token` = 'DD'; + WHEN '2' THEN SET `token` = 'DD_Undead'; + WHEN '3' THEN SET `token` = 'DD_Summoned'; + WHEN '4' THEN SET `token` = 'Lifetap_to_Self'; + WHEN '5' THEN SET `token` = 'DoT_Plant'; + WHEN '6' THEN SET `token` = 'DD_Body_Type'; + WHEN '7' THEN SET `token` = 'DoT'; + WHEN '8' THEN SET `token` = 'Divine_DoT'; + WHEN '9' THEN SET `token` = 'Lifetap_to_Self_2'; + WHEN '10' THEN SET `token` = 'AoE_DD'; + WHEN '11' THEN SET `token` = 'AoE_DD_Earth'; + WHEN '12' THEN SET `token` = 'AoE_DD_Nature'; + WHEN '13' THEN SET `token` = 'Bolt_Fire_Cold'; + WHEN '14' THEN SET `token` = 'Stun_Damage'; + WHEN '15' THEN SET `token` = 'Target_Stun'; + WHEN '16' THEN SET `token` = 'Group_Stun'; + WHEN '17' THEN SET `token` = 'Leech_to_Group'; + WHEN '18' THEN SET `token` = 'Siphon_Strength'; + WHEN '19' THEN SET `token` = 'Weapon_Proc'; + WHEN '20' THEN SET `token` = 'Target_Heal'; + WHEN '21' THEN SET `token` = 'Target_HoT'; + WHEN '22' THEN SET `token` = 'Group_Heal_Cure'; + WHEN '23' THEN SET `token` = 'Group_HoT'; + WHEN '24' THEN SET `token` = 'Target_Health_Regen'; + WHEN '25' THEN SET `token` = 'Group_Health_Regen'; + WHEN '26' THEN SET `token` = 'Pet_Heal'; + WHEN '27' THEN SET `token` = 'Resurrection'; + WHEN '28' THEN SET `token` = 'Dark_Empathy'; + WHEN '29' THEN SET `token` = 'Cure_Poison'; + WHEN '30' THEN SET `token` = 'Resolution'; + WHEN '32' THEN SET `token` = 'Blur'; + WHEN '34' THEN SET `token` = 'Hate_Buff'; + WHEN '35' THEN SET `token` = 'Attack_Speed_Buff'; + WHEN '36' THEN SET `token` = 'Pet_Combat_Buff'; + WHEN '37' THEN SET `token` = 'Attack_Speed_Buff_Song'; + WHEN '38' THEN SET `token` = 'Attack_Speed_Debuff'; + WHEN '39' THEN SET `token` = 'Attack_Speed_Debuff_2'; + WHEN '40' THEN SET `token` = 'Cannibalize'; + WHEN '41' THEN SET `token` = 'Target_Movement_Speed'; + WHEN '42' THEN SET `token` = 'Group_Movement_Speed'; + WHEN '43' THEN SET `token` = 'Wolf_Form'; + WHEN '44' THEN SET `token` = 'Elemental_Pet_Movement_Speed'; + WHEN '45' THEN SET `token` = 'Illusion'; + WHEN '46' THEN SET `token` = 'Dark_Pact'; + WHEN '47' THEN SET `token` = 'Form_of_the_Bear'; + WHEN '48' THEN SET `token` = 'Treeform'; + WHEN '49' THEN SET `token` = 'Dead_Man_Floating'; + WHEN '50' THEN SET `token` = 'Root'; + WHEN '51' THEN SET `token` = 'Summon_Pet'; + WHEN '52' THEN SET `token` = 'Summon_Corpse'; + WHEN '53' THEN SET `token` = 'Sense'; + WHEN '54' THEN SET `token` = 'Divine_Aura'; + WHEN '55' THEN SET `token` = 'Evacuate'; + WHEN '56' THEN SET `token` = 'Gate'; + WHEN '58' THEN SET `token` = 'Teleport_Bind'; + WHEN '59' THEN SET `token` = 'Shadow_Step'; + WHEN '60' THEN SET `token` = 'Enchant_Material'; + WHEN '61' THEN SET `token` = 'Summon_Common_Item'; + WHEN '62' THEN SET `token` = 'Fear'; + WHEN '63' THEN SET `token` = 'Fear_Animal'; + WHEN '64' THEN SET `token` = 'Fear_Undead'; + WHEN '65' THEN SET `token` = 'Damage_Shield'; + WHEN '66' THEN SET `token` = 'Resist_Buff_Song'; + WHEN '67' THEN SET `token` = CONCAT('#', `spell_category`); + WHEN '68' THEN SET `token` = 'Damage_Shield_2'; + WHEN '69' THEN SET `token` = 'Resist_Redux'; + WHEN '70' THEN SET `token` = 'Resist_Buff'; + WHEN '71' THEN SET `token` = 'Warder'; + WHEN '72' THEN SET `token` = 'Familiar'; + WHEN '73' THEN SET `token` = 'Strength_Buff'; + WHEN '74' THEN SET `token` = 'Dexterity_Buff'; + WHEN '75' THEN SET `token` = 'Agility_Buff'; + WHEN '76' THEN SET `token` = 'Stamina_Buff'; + WHEN '77' THEN SET `token` = 'Intelligence_Wisdom_Buff'; + WHEN '78' THEN SET `token` = 'Charisma_Buff'; + WHEN '79' THEN SET `token` = 'Weaken'; + WHEN '80' THEN SET `token` = 'Invisibility_v_Undead'; + WHEN '81' THEN SET `token` = 'Invisibility_v_Animals'; + WHEN '82' THEN SET `token` = 'Invisibility'; + WHEN '83' THEN SET `token` = 'Damage_Absorbtion'; + WHEN '84' THEN SET `token` = 'Fizzle_Redux'; + WHEN '85' THEN SET `token` = 'Clarity'; + WHEN '86' THEN SET `token` = 'Gift_of_Magic'; + WHEN '87' THEN SET `token` = 'Mana_Drain'; + WHEN '88' THEN SET `token` = 'Mana_Subversion'; + WHEN '89' THEN SET `token` = 'Harvest_Mana'; + WHEN '90' THEN SET `token` = 'Hate_Redux'; + WHEN '91' THEN SET `token` = 'Increase_Aim'; + WHEN '92' THEN SET `token` = 'Combat_Buff'; + WHEN '93' THEN SET `token` = 'Bind_Sight'; + WHEN '94' THEN SET `token` = 'Enduring_Breath'; + WHEN '95' THEN SET `token` = 'Alliance'; + WHEN '96' THEN SET `token` = 'Charm'; + WHEN '97' THEN SET `token` = 'Strip_Enchantment'; + WHEN '98' THEN SET `token` = 'Lull'; + WHEN '99' THEN SET `token` = 'Mesmerize'; + WHEN '100' THEN SET `token` = 'Casting_Enhancement'; + WHEN '101' THEN SET `token` = 'Snare_Hamstring'; + WHEN '102' THEN SET `token` = 'Shackle'; + WHEN '105' THEN SET `token` = 'Feign_Death'; + WHEN '106' THEN SET `token` = 'Identify'; + WHEN '107' THEN SET `token` = 'Reclaim_Energy'; + WHEN '108' THEN SET `token` = 'Locate_Corpse'; + WHEN '109' THEN SET `token` = 'Call_of_the_Hero'; + WHEN '110' THEN SET `token` = 'Mana_Shield'; + WHEN '112' THEN SET `token` = 'Blind'; + WHEN '113' THEN SET `token` = 'Gravity_is_for_Suckers'; -- 'Levitation' + WHEN '114' THEN SET `token` = 'Bard_Nerf'; + WHEN '115' THEN SET `token` = 'Divine_Intervention'; + WHEN '116' THEN SET `token` = 'Memory_Blur'; + WHEN '118' THEN SET `token` = 'Size_Change'; + WHEN '119' THEN SET `token` = 'Hate_Buff_2'; + WHEN '120' THEN SET `token` = CONCAT('#', `spell_category`); + WHEN '121' THEN SET `token` = CONCAT('#', `spell_category`); + WHEN '122' THEN SET `token` = CONCAT('#', `spell_category`); + WHEN '125' THEN SET `token` = 'DD_Fire'; + WHEN '126' THEN SET `token` = 'DD_Cold'; + WHEN '127' THEN SET `token` = 'Bolt_Poison'; + WHEN '128' THEN SET `token` = 'Bolt_Disease'; + WHEN '129' THEN SET `token` = 'DoT_Fire'; + WHEN '130' THEN SET `token` = 'DoT_Cold'; + WHEN '131' THEN SET `token` = 'DoT_Poison'; + WHEN '132' THEN SET `token` = 'DoT_Disease'; + WHEN '133' THEN SET `token` = 'Destroy_Lock'; + WHEN '134' THEN SET `token` = 'Sense_Trap'; + WHEN '135' THEN SET `token` = 'Disarm_Trap'; + WHEN '136' THEN SET `token` = 'Destroy_Cursed_Lock'; + WHEN '137' THEN SET `token` = 'Sense_Cursed_Trap'; + WHEN '138' THEN SET `token` = 'Disarm_Cursed_Trap'; + WHEN '140' THEN SET `token` = 'Banish_Undead'; + WHEN '141' THEN SET `token` = 'Banish'; + WHEN '142' THEN SET `token` = 'AoE_DD_Fire_Column'; + WHEN '143' THEN SET `token` = 'AoE_DD_Cold_Column'; + WHEN '146' THEN SET `token` = 'AoE_DD_Fire'; + WHEN '147' THEN SET `token` = 'AoE_DD_Cold'; + WHEN '150' THEN SET `token` = 'AoE_DoT_Fire'; + WHEN '151' THEN SET `token` = 'AoE_DoT_Cold'; + WHEN '152' THEN SET `token` = 'AoE_DoT_Poison'; + WHEN '154' THEN SET `token` = 'AoE_Fear_Song'; + WHEN '155' THEN SET `token` = 'Target_Heal_2'; + WHEN '156' THEN SET `token` = 'Mana_to_HP'; + WHEN '157' THEN SET `token` = 'Symbiosis'; + WHEN '159' THEN SET `token` = 'Cure_Corruption'; + WHEN '160' THEN SET `token` = 'Remove_Curse'; + WHEN '161' THEN SET `token` = 'Cure'; + WHEN '162' THEN SET `token` = 'Cure_Blindness'; + WHEN '163' THEN SET `token` = 'Divine_Cure'; + WHEN '164' THEN SET `token` = CONCAT('#', `spell_category`); + WHEN '165' THEN SET `token` = 'Magic_Combat_Buff'; + WHEN '166' THEN SET `token` = 'Nature_HP_Attack_Buff'; + WHEN '167' THEN SET `token` = 'Divine_HP_Buff'; + WHEN '168' THEN SET `token` = 'Divine_HP_AC_Buff'; + WHEN '169' THEN SET `token` = CONCAT('#', `spell_category`); + WHEN '170' THEN SET `token` = 'Spell_Rune'; + WHEN '171' THEN SET `token` = 'Pet_Rune'; + WHEN '172' THEN SET `token` = 'Spell_Reflection'; + WHEN '173' THEN SET `token` = 'Damage_Shield_3'; + WHEN '174' THEN SET `token` = 'Vital_Regen'; + WHEN '175' THEN SET `token` = 'Aggro_Redux'; + WHEN '200' THEN SET `token` = 'Cantrips'; + WHEN '201' THEN SET `token` = CONCAT('#', `spell_category`); + WHEN '202' THEN SET `token` = 'Combat_Buff_Song'; + WHEN '203' THEN SET `token` = 'Summon_Swarm'; + WHEN '204' THEN SET `token` = 'Summon_Air_Elemental'; + WHEN '205' THEN SET `token` = 'Summon_Water_Elemental'; + WHEN '206' THEN SET `token` = 'Summon_Fire_Elemental'; + WHEN '207' THEN SET `token` = 'Summon_Earth_Elemental'; + WHEN '208' THEN SET `token` = 'Monster_Summoning'; + WHEN '209' THEN SET `token` = 'Teleport_Antonica'; + WHEN '210' THEN SET `token` = 'Teleport_Odus'; + WHEN '211' THEN SET `token` = 'Teleport_Faydwer'; + WHEN '212' THEN SET `token` = 'Teleport_Combine'; + WHEN '213' THEN SET `token` = 'Teleport_Velious'; + WHEN '214' THEN SET `token` = 'Teleport_Luclin'; + WHEN '215' THEN SET `token` = 'Teleport_Planes'; + WHEN '216' THEN SET `token` = 'Teleport_Gates'; + WHEN '217' THEN SET `token` = 'Summon_Weapon'; + WHEN '218' THEN SET `token` = 'Summon_Jewelry'; + WHEN '219' THEN SET `token` = 'Summon_Sustenance'; + WHEN '220' THEN SET `token` = 'Summon_Armor'; + WHEN '999' THEN SET `token` = CONCAT('#', `spell_category`); + ELSE SET `token` = 'unk'; + END CASE; + + SET `token` = CONCAT(`token`, '(', `spell_category`, ')'); + + RETURN `token`; +END$$ + +DELIMITER ; From d1abe4a332d30283dde306b7495da6a7867f2bad Mon Sep 17 00:00:00 2001 From: Uleat Date: Tue, 7 Feb 2017 21:52:46 -0500 Subject: [PATCH 2/5] Added dev script for function to retrieve spell type description labels for spells from queries [skip ci] --- .../spell_type_description_token_function.sql | 185 ++++++++++++++++++ 1 file changed, 185 insertions(+) create mode 100644 utils/scripts/database_tools/spell_type_description_token_function.sql diff --git a/utils/scripts/database_tools/spell_type_description_token_function.sql b/utils/scripts/database_tools/spell_type_description_token_function.sql new file mode 100644 index 000000000..ea7875916 --- /dev/null +++ b/utils/scripts/database_tools/spell_type_description_token_function.sql @@ -0,0 +1,185 @@ +DELIMITER $$ + +DROP FUNCTION IF EXISTS `GetSpellTypeDescriptionToken`; + +-- This function converts numeric spell type description ids to a string label based on server code designations +-- +-- example: +-- SELECT `id`, `name`, GetSpellTypeDescriptionToken(`typedescnum`) FROM `spells_new` WHERE `id` IN ('16', '42', '23214'); +CREATE FUNCTION `GetSpellTypeDescriptionToken` (`type_description_id` INT(11)) RETURNS VARCHAR(256) +BEGIN + DECLARE `token` VARCHAR(256) DEFAULT ''; + + CASE `type_description_id` + WHEN '1' THEN SET `token` = 'Aegolism'; + WHEN '2' THEN SET `token` = 'Agility'; + WHEN '3' THEN SET `token` = 'Alliance'; + WHEN '4' THEN SET `token` = 'Animal'; + WHEN '5' THEN SET `token` = 'Antonica'; + WHEN '6' THEN SET `token` = 'Armor_Class'; + WHEN '7' THEN SET `token` = 'Attack'; + WHEN '8' THEN SET `token` = 'Bane'; + WHEN '9' THEN SET `token` = 'Blind'; + WHEN '10' THEN SET `token` = 'Block'; + WHEN '11' THEN SET `token` = 'Calm'; + WHEN '12' THEN SET `token` = 'Charisma'; + WHEN '13' THEN SET `token` = 'Charm'; + WHEN '14' THEN SET `token` = 'Cold'; + WHEN '15' THEN SET `token` = 'Combat_Abilities'; + WHEN '16' THEN SET `token` = 'Combat_Innates'; + WHEN '17' THEN SET `token` = 'Conversions'; + WHEN '18' THEN SET `token` = 'Create_Item'; + WHEN '19' THEN SET `token` = 'Cure'; + WHEN '20' THEN SET `token` = 'Damage_Over_Time'; + WHEN '21' THEN SET `token` = 'Damage_Shield'; + WHEN '22' THEN SET `token` = 'Defensive'; + WHEN '23' THEN SET `token` = 'Destroy'; + WHEN '24' THEN SET `token` = 'Dexterity'; + WHEN '25' THEN SET `token` = 'Direct_Damage'; + WHEN '26' THEN SET `token` = 'Disarm_Traps'; + WHEN '27' THEN SET `token` = 'Disciplines'; + WHEN '28' THEN SET `token` = 'Discord'; + WHEN '29' THEN SET `token` = 'Disease'; + WHEN '30' THEN SET `token` = 'Disempowering'; + WHEN '31' THEN SET `token` = 'Dispel'; + WHEN '32' THEN SET `token` = 'Duration_Heals'; + WHEN '33' THEN SET `token` = 'Duration_Tap'; + WHEN '34' THEN SET `token` = 'Enchant_Metal'; + WHEN '35' THEN SET `token` = 'Enthrall'; + WHEN '36' THEN SET `token` = 'Faydwer'; + WHEN '37' THEN SET `token` = 'Fear'; + WHEN '38' THEN SET `token` = 'Fire'; + WHEN '39' THEN SET `token` = 'Fizzle_Rate'; + WHEN '40' THEN SET `token` = 'Fumble'; + WHEN '41' THEN SET `token` = 'Haste'; + WHEN '42' THEN SET `token` = 'Heals'; + WHEN '43' THEN SET `token` = 'Health'; + WHEN '44' THEN SET `token` = 'Health_Mana'; + WHEN '45' THEN SET `token` = 'HP_Buffs'; + WHEN '46' THEN SET `token` = 'HP_type_one'; + WHEN '47' THEN SET `token` = 'HP_type_two'; + WHEN '48' THEN SET `token` = 'Illusion_Other'; + WHEN '49' THEN SET `token` = 'Illusion_Player'; + WHEN '50' THEN SET `token` = 'Imbue_Gem'; + WHEN '51' THEN SET `token` = 'Invisibility'; + WHEN '52' THEN SET `token` = 'Invulnerability'; + WHEN '53' THEN SET `token` = 'Jolt'; + WHEN '54' THEN SET `token` = 'Kunark'; + WHEN '55' THEN SET `token` = 'Levitate'; + WHEN '56' THEN SET `token` = 'Life_Flow'; + WHEN '57' THEN SET `token` = 'Luclin'; + WHEN '58' THEN SET `token` = 'Magic'; + WHEN '59' THEN SET `token` = 'Mana'; + WHEN '60' THEN SET `token` = 'Mana_Drain'; + WHEN '61' THEN SET `token` = 'Mana_Flow'; + WHEN '62' THEN SET `token` = 'Melee_Guard'; + WHEN '63' THEN SET `token` = 'Memory_Blur'; + WHEN '64' THEN SET `token` = 'Misc'; + WHEN '65' THEN SET `token` = 'Movement'; + WHEN '66' THEN SET `token` = 'Objects'; + WHEN '67' THEN SET `token` = 'Odus'; + WHEN '68' THEN SET `token` = 'Offensive'; + WHEN '69' THEN SET `token` = 'Pet'; + WHEN '70' THEN SET `token` = 'Pet_Haste'; + WHEN '71' THEN SET `token` = 'Pet_Misc_Buffs'; + WHEN '72' THEN SET `token` = 'Physical'; + WHEN '73' THEN SET `token` = 'Picklock'; + WHEN '74' THEN SET `token` = 'Plant'; + WHEN '75' THEN SET `token` = 'Poison'; + WHEN '76' THEN SET `token` = 'Power_Tap'; + WHEN '77' THEN SET `token` = 'Quick_Heal'; + WHEN '78' THEN SET `token` = 'Reflection'; + WHEN '79' THEN SET `token` = 'Regen'; + WHEN '80' THEN SET `token` = 'Resist_Buff'; + WHEN '81' THEN SET `token` = 'Resist_Debuffs'; + WHEN '82' THEN SET `token` = 'Resurrection'; + WHEN '83' THEN SET `token` = 'Root'; + WHEN '84' THEN SET `token` = 'Rune'; + WHEN '85' THEN SET `token` = 'Sense_Trap'; + WHEN '86' THEN SET `token` = 'Shadowstep'; + WHEN '87' THEN SET `token` = 'Shielding'; + WHEN '88' THEN SET `token` = 'Slow'; + WHEN '89' THEN SET `token` = 'Snare'; + WHEN '90' THEN SET `token` = 'Special'; + WHEN '91' THEN SET `token` = 'Spell_Focus'; + WHEN '92' THEN SET `token` = 'Spell_Guard'; + WHEN '93' THEN SET `token` = 'Spellshield'; + WHEN '94' THEN SET `token` = 'Stamina'; + WHEN '95' THEN SET `token` = 'Statistic_Buffs'; + WHEN '96' THEN SET `token` = 'Strength'; + WHEN '97' THEN SET `token` = 'Stun'; + WHEN '98' THEN SET `token` = 'Sum_Air'; + WHEN '99' THEN SET `token` = 'Sum_Animation'; + WHEN '100' THEN SET `token` = 'Sum_Earth'; + WHEN '101' THEN SET `token` = 'Sum_Familiar'; + WHEN '102' THEN SET `token` = 'Sum_Fire'; + WHEN '103' THEN SET `token` = 'Sum_Undead'; + WHEN '104' THEN SET `token` = 'Sum_Warder'; + WHEN '105' THEN SET `token` = 'Sum_Water'; + WHEN '106' THEN SET `token` = 'Summon_Armor'; + WHEN '107' THEN SET `token` = 'Summon_Focus'; + WHEN '108' THEN SET `token` = 'Summon_Food_Water'; + WHEN '109' THEN SET `token` = 'Summon_Utility'; + WHEN '110' THEN SET `token` = 'Summon_Weapon'; + WHEN '111' THEN SET `token` = 'Summoned'; + WHEN '112' THEN SET `token` = 'Symbol'; + WHEN '113' THEN SET `token` = 'Taelosia'; + WHEN '114' THEN SET `token` = 'Taps'; + WHEN '115' THEN SET `token` = 'Techniques'; + WHEN '116' THEN SET `token` = 'The_Planes'; + WHEN '117' THEN SET `token` = 'Timer_1'; + WHEN '118' THEN SET `token` = 'Timer_2'; + WHEN '119' THEN SET `token` = 'Timer_3'; + WHEN '120' THEN SET `token` = 'Timer_4'; + WHEN '121' THEN SET `token` = 'Timer_5'; + WHEN '122' THEN SET `token` = 'Timer_6'; + WHEN '123' THEN SET `token` = 'Transport'; + WHEN '124' THEN SET `token` = 'Undead'; + WHEN '125' THEN SET `token` = 'Utility_Beneficial'; + WHEN '126' THEN SET `token` = 'Utility_Detrimental'; + WHEN '127' THEN SET `token` = 'Velious'; + WHEN '128' THEN SET `token` = 'Visages'; + WHEN '129' THEN SET `token` = 'Vision'; + WHEN '130' THEN SET `token` = 'Wisdom_Intelligence'; + WHEN '131' THEN SET `token` = 'Traps'; + WHEN '132' THEN SET `token` = 'Auras'; + WHEN '133' THEN SET `token` = 'Endurance'; + WHEN '134' THEN SET `token` = 'Serpent\'s_Spine'; + WHEN '135' THEN SET `token` = 'Corruption'; + WHEN '136' THEN SET `token` = 'Learning'; + WHEN '137' THEN SET `token` = 'Chromatic'; + WHEN '138' THEN SET `token` = 'Prismatic'; + WHEN '139' THEN SET `token` = 'Sum_Swarm'; + WHEN '140' THEN SET `token` = 'Delayed'; + WHEN '141' THEN SET `token` = 'Temporary'; + WHEN '142' THEN SET `token` = 'Twincast'; + WHEN '143' THEN SET `token` = 'Sum_Bodyguard'; + WHEN '144' THEN SET `token` = 'Humanoid'; + WHEN '145' THEN SET `token` = 'Haste_Spell_Focus'; + WHEN '146' THEN SET `token` = 'Timer_7'; + WHEN '147' THEN SET `token` = 'Timer_8'; + WHEN '148' THEN SET `token` = 'Timer_9'; + WHEN '149' THEN SET `token` = 'Timer_10'; + WHEN '150' THEN SET `token` = 'Timer_11'; + WHEN '151' THEN SET `token` = 'Timer_12'; + WHEN '152' THEN SET `token` = 'Hatred'; + WHEN '153' THEN SET `token` = 'Fast'; + WHEN '154' THEN SET `token` = 'Illusion_Special'; + WHEN '155' THEN SET `token` = 'Timer_13'; + WHEN '156' THEN SET `token` = 'Timer_14'; + WHEN '157' THEN SET `token` = 'Timer_15'; + WHEN '158' THEN SET `token` = 'Timer_16'; + WHEN '159' THEN SET `token` = 'Timer_17'; + WHEN '160' THEN SET `token` = 'Timer_18'; + WHEN '161' THEN SET `token` = 'Timer_19'; + WHEN '162' THEN SET `token` = 'Timer_20'; + WHEN '163' THEN SET `token` = 'Alaris'; + ELSE SET `token` = 'unk'; + END CASE; + + SET `token` = CONCAT(`token`, '(', `type_description_id`, ')'); + + RETURN `token`; +END$$ + +DELIMITER ; From 57d75572b22eb3ced95cdc81e7b48984bd9de5a4 Mon Sep 17 00:00:00 2001 From: Akkadius Date: Wed, 8 Feb 2017 17:28:54 -0600 Subject: [PATCH 3/5] Heavily reduce idle cpu footprint with many zone processes loaded simultaneously and not active --- zone/net.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/zone/net.cpp b/zone/net.cpp index 25d6f65df..2f67c85d3 100644 --- a/zone/net.cpp +++ b/zone/net.cpp @@ -546,7 +546,13 @@ int main(int argc, char** argv) { #endif #endif } //end extra profiler block - Sleep(ZoneTimerResolution); + if (is_zone_loaded) { + Sleep(ZoneTimerResolution); + } + else { + Sleep(1000); + } + } entity_list.Clear(); From a81212e1b4721cbbb369b4512b891caf0c0a8b55 Mon Sep 17 00:00:00 2001 From: Akkadius Date: Wed, 8 Feb 2017 18:00:38 -0600 Subject: [PATCH 4/5] Allow admin telnet connections from localhost without requiring credentials to world --- world/console.cpp | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/world/console.cpp b/world/console.cpp index a933ad56f..5f1598654 100644 --- a/world/console.cpp +++ b/world/console.cpp @@ -224,9 +224,27 @@ bool Console::Process() { } //if we have not gotten the special markers after this timer, send login prompt if(prompt_timer.Check()) { + struct in_addr in; + in.s_addr = GetIP(); + + std::string connecting_ip = inet_ntoa(in); + + SendMessage(2, StringFormat("Establishing connection from IP: %s Port: %d", inet_ntoa(in), GetPort()).c_str()); + + if (connecting_ip.find("127.0.0.1") != std::string::npos) { + SendMessage(2, StringFormat("Connecting established from local host, auto assuming admin").c_str()); + state = CONSOLE_STATE_CONNECTED; + tcpc->SetEcho(false); + admin = 255; + SendPrompt(); + } + else { + if (tcpc->GetMode() == EmuTCPConnection::modeConsole) + tcpc->Send((const uchar*) "Username: ", strlen("Username: ")); + } + prompt_timer.Disable(); - if(tcpc->GetMode() == EmuTCPConnection::modeConsole) - tcpc->Send((const uchar*) "Username: ", strlen("Username: ")); + } if (timeout_timer.Check()) { From 9e49b2ae0fbedd341921e2544c85bd3b620a446a Mon Sep 17 00:00:00 2001 From: Kurt Gilpin Date: Wed, 8 Feb 2017 19:01:50 -0600 Subject: [PATCH 5/5] Update for Ubuntu 16.04 This should be fully working with Ubuntu 16.04 Server. --- utils/scripts/linux_installer/install.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/utils/scripts/linux_installer/install.sh b/utils/scripts/linux_installer/install.sh index 5d43230c5..97cfa582e 100644 --- a/utils/scripts/linux_installer/install.sh +++ b/utils/scripts/linux_installer/install.sh @@ -87,6 +87,7 @@ echo "mysql_eqemu_password:$eqemu_db_password" >> install_variables.txt if [[ "$OS" == "Debian" ]]; then # Install pre-req packages + apt-get -y update apt-get $apt_options install bash apt-get $apt_options install build-essential apt-get $apt_options install cmake @@ -105,6 +106,8 @@ if [[ "$OS" == "Debian" ]]; then apt-get $apt_options install libperl-dev apt-get $apt_options install libperl5i-perl apt-get $apt_options install libwtdbomysql-dev + apt-get $apt_options install libmysqlclient-dev + apt-get $apt_options install minizip apt-get $apt_options install lua5.1 apt-get $apt_options install make apt-get $apt_options install mariadb-client