This commit is contained in:
2024-07-13 07:55:50 -07:00
commit fb568564a1
26551 changed files with 46966 additions and 0 deletions
+8
View File
@@ -0,0 +1,8 @@
# Thumb DB Files
*.db
.idea/
config.php
database.json
.vs/
.idea
.vscode/
+26
View File
@@ -0,0 +1,26 @@
<?php
spl_autoload_register(function ($className) {
$directories = [
'Controllers/',
'Definitions/',
'Effect/',
'Entities/',
'Entities/Services/',
'Models/',
'Services/',
'Utility/',
];
$baseDir = __DIR__ . '/src/';
foreach ($directories as $directory) {
$file = $baseDir . $directory . $className . '.php';
if (file_exists($file)) {
require_once $file;
break;
}
}
FileSystem::getInstance()->setRoot(__DIR__);
});
+53
View File
@@ -0,0 +1,53 @@
{
"site": {
"title": "Project Aatheria",
"logo": "images/logo.png",
"root_url": "https://alla.aatheria.com/",
"asset_url": "",
"spell_image_path": "images/spells/",
"spell_image_extension": ".png",
"setup": true
},
"session": {
"cookie_httponly": true,
"cookie_lifetime": 0,
"cookie_use_only_cookies": true,
"cookie_secure": true
},
"display": {
"php_debug": true,
"items_per_page": 50,
"allow_quests_npc": true,
"display_named_npcs_info": true,
"display_npc_stats": true,
"display_spawn_group_info": true,
"group_npcs_by_name": true,
"show_npc_drop_chances": true,
"show_npcs_attack_speed": true,
"show_npcs_average_damages": true,
"spawngroup_around_range": 100,
"trackable_npcs_only": false,
"hide_invisible_men": true,
"item_add_chance_to_drop": true,
"discovered_items_only": false,
"item_found_info": true,
"display_task_activities": true,
"display_task_info": true,
"merchants_dont_drop_stuff": true,
"sort_zone_level_list": true,
"use_spell_globals": false,
"legacy_spell_icons": true,
"ignore_zones": [
"load",
"loading",
"load2",
"nektropos",
"arttest",
"apprentice",
"tutorial"
]
},
"setup": {
"complete": true
}
}
+50
View File
@@ -0,0 +1,50 @@
{
"site": {
"title": "",
"logo": "images/logo.png",
"root_url": ""
},
"session": {
"cookie_httponly": true,
"cookie_lifetime": 0,
"cookie_use_only_cookies": true,
"cookie_secure": true
},
"display": {
"php_debug": false,
"items_per_page": 50,
"allow_quests_npc": true,
"display_named_npcs_info": true,
"display_npc_stats": true,
"display_spawn_group_info": true,
"group_npcs_by_name": true,
"show_npc_drop_chances": true,
"show_npcs_attack_speed": true,
"show_npcs_average_damages": true,
"spawngroup_around_range": 100,
"trackable_npcs_only": false,
"hide_invisible_men": true,
"item_add_chance_to_drop": true,
"discovered_items_only": false,
"item_found_info": true,
"display_task_activities": true,
"display_task_info": true,
"merchants_dont_drop_stuff": true,
"server_max_level": 70,
"sort_zone_level_list": true,
"use_spell_globals": false,
"use_legacy": true,
"ignore_zones": [
"load",
"loading",
"load2",
"nektropos",
"arttest",
"apprentice",
"tutorial"
]
},
"setup": {
"complete": false
}
}
+16
View File
@@ -0,0 +1,16 @@
{
"default": {
"host": "127.0.0.1",
"user": "root",
"password": "",
"database": "peq",
"port": 3306
},
"content": {
"host": "",
"user": "",
"password": "",
"database": "",
"port": 3306
}
}
+31
View File
@@ -0,0 +1,31 @@
{
"accounts": "account",
"characters": "character_data",
"factions": "faction_list",
"forage": "forage",
"ground_spawns": "ground_spawns",
"items": "items",
"loot_drops": "lootdrop",
"loot_drop_entries": "lootdrop_entries",
"loot_tables": "loottable",
"loot_table_entries": "loottable_entries",
"merchant_lists": "merchantlist",
"tasks": "tasks",
"task_activities": "task_activities",
"npc_factions": "npc_faction",
"npc_faction_entries": "npc_faction_entries",
"npc_spell_entries": "npc_spells_entries",
"npc_spells": "npc_spells",
"npcs": "npc_types",
"pets": "pets",
"spawns": "spawn2",
"spawn_entries": "spawnentry",
"spawn_groups": "spawngroup",
"recipes": "tradeskill_recipe",
"recipe_entries": "tradeskill_recipe_entries",
"zones": "zone",
"discovered_items": "discovered_items",
"spell_globals": "spell_globals",
"spells": "spells_new",
"zone_connections": "zone_points"
}
+739
View File
@@ -0,0 +1,739 @@
<?php
// tables
$accounts_table = "account";
$character_table = "character_data";
$faction_list_table = "faction_list";
$forage_table = "forage";
$ground_spawns_table = "ground_spawns";
$items_table = "items";
$loot_drop_table = "lootdrop";
$loot_drop_entries_table = "lootdrop_entries";
$loot_table = "loottable";
$loot_table_entries = "loottable_entries";
$merchant_list_table = "merchantlist";
$task_table = "tasks";
$task_activities_table = "activities";
$npc_faction_table = "npc_faction";
$faction_entries_table = "npc_faction_entries";
$npc_spells_entries_table = "npc_spells_entries";
$npc_spells_table = "npc_spells";
$npc_types_table = "npc_types";
$pets_table = "pets";
$spawn2_table = "spawn2";
$spawn_entry_table = "spawnentry";
$spawn_group_table = "spawngroup";
$trade_skill_recipe_table = "tradeskill_recipe";
$trade_skill_recipe_entries = "tradeskill_recipe_entries";
$zones_table = "zone";
$discovered_items_table = "discovered_items";
$spell_globals_table = "spell_globals";
$spells_table = "spells_new";
$tasks_table = "tasks";
$activities_table = "activities";
$tbspawnarea = "spawnarea"; // Tool Specific Table
$tbnews = "eqbnews"; // Tool Specific Table
$tbquestitems = "quest_items"; // Tool Specific Table
$tbraces = "races"; // Tool Specific Table
// merchant classes
$dbmerchants = [40, 41, 59, 61, 67, 68, 70];
// factions (factions.h)
$dbfactions = [
1 => "Ally",
2 => "Warmly",
3 => "Kindly",
4 => "Amiably",
5 => "Indifferent",
9 => "Apprehensive",
8 => "Dubious",
7 => "Threatenly",
6 => "Ready to attack",
];
// classes
$dbclasses_names = [
"Warrior",
"Cleric",
"Paladin",
"Ranger",
"Shadowknight",
"Druid",
"Monk",
"Bard",
"Rogue",
"Shaman",
"Necromancer",
"Wizard",
"Magician",
"Enchanter",
"Beastlord",
"Berserker",
];
$dbclasses = [];
$dbclasses[0] = "Warrior";
$dbclasses[1] = "Warrior";
$dbclasses[2] = "Cleric";
$dbclasses[3] = "Paladin";
$dbclasses[4] = "Ranger";
$dbclasses[5] = "Shadown Knight";
$dbclasses[6] = "Druid";
$dbclasses[7] = "Monk";
$dbclasses[8] = "Bard";
$dbclasses[9] = "Rogue";
$dbclasses[10] = "Shaman";
$dbclasses[11] = "Necromancer";
$dbclasses[12] = "Wizard";
$dbclasses[13] = "Magician";
$dbclasses[14] = "Enchanter";
$dbclasses[15] = "Beastlord";
$dbclasses[16] = "Berserker";
$dbclasses[17] = "Banker";
$dbclasses[20] = "GM Warrior";
$dbclasses[21] = "GM Cleric";
$dbclasses[22] = "GM Paladin";
$dbclasses[23] = "GM Ranger";
$dbclasses[24] = "GM Shadown Knight";
$dbclasses[25] = "GM Druid";
$dbclasses[26] = "GM Monk";
$dbclasses[27] = "GM Bard";
$dbclasses[28] = "GM Rogue";
$dbclasses[29] = "GM Shaman";
$dbclasses[30] = "GM Necromancer";
$dbclasses[31] = "GM Wizard";
$dbclasses[32] = "GM Magician";
$dbclasses[33] = "GM Enchanter";
$dbclasses[34] = "GM Beastlord";
$dbclasses[35] = "GM Berserker";
$dbclasses[40] = "Banker";
$dbclasses[41] = "Shopkeeper";
$dbclasses[59] = "Discord Merchant";
$dbclasses[60] = "Adventure Recruiter";
$dbclasses[61] = "Adventure Merchant";
$dbclasses[63] = "Tribute Master";
$dbclasses[64] = "Guild Tribute Master";
$dbclasses[66] = "Guild Bank";
$dbclasses[67] = "Radiant Crystal Merchant";
$dbclasses[68] = "Ebon Crystal Merchant";
$dbclasses[69] = "Fellowships";
$dbclasses[70] = "Alternate Currency Merchant";
$dbclasses[71] = "Mercenary Merchant";
// Slots
$dbslots = [];
$dbslotsid = [];
$dbslots[4194304] = "Power Source";
$dbslots[2097152] = "Ammo";
$dbslots[1048576] = "Waist";
$dbslots[524288] = "Feet";
$dbslots[262144] = "Legs";
$dbslots[131072] = "Chest";
$dbslots[98304] = "Fingers";
$dbslots[65536] = "Finger";
$dbslots[32768] = "Finger";
$dbslots[16384] = "Secondary";
$dbslots[8192] = "Primary";
$dbslots[4096] = "Hands";
$dbslots[2048] = "Range";
$dbslots[1536] = "Wrists";
$dbslots[1024] = "Wrist";
$dbslots[512] = "Wrist";
$dbslots[256] = "Back";
$dbslots[128] = "Arms";
$dbslots[64] = "Shoulders";
$dbslots[32] = "Neck";
$dbslots[18] = "Ears";
$dbslots[16] = "Ear";
$dbslots[8] = "Face";
$dbslots[4] = "Head";
$dbslots[2] = "Ear";
$dbslots[1] = "Charm";
// ItemClasses 2^(class-1)
$dbiclasses = [];
$dbiclasses[65535] = "All classes";
$dbiclasses[32768] = "Berserker";
$dbiclasses[16384] = "Beastlord";
$dbiclasses[8192] = "Enchanter";
$dbiclasses[4096] = "Magician";
$dbiclasses[2048] = "Wizard";
$dbiclasses[1024] = "Necromancer";
$dbiclasses[512] = "Shaman";
$dbiclasses[256] = "Rogue";
$dbiclasses[128] = "Bard";
$dbiclasses[64] = "Monk";
$dbiclasses[32] = "Druid";
$dbiclasses[16] = "Shadow knight";
$dbiclasses[8] = "Ranger";
$dbiclasses[4] = "Paladin";
$dbiclasses[2] = "Cleric";
$dbiclasses[1] = "Warrior";
$db_classes_short = [];
$db_classes_short[65535] = "ALL";
$db_classes_short[32768] = "BER";
$db_classes_short[16384] = "BST";
$db_classes_short[8192] = "ENC";
$db_classes_short[4096] = "MAG";
$db_classes_short[2048] = "WIZ";
$db_classes_short[1024] = "NEC";
$db_classes_short[512] = "SHM";
$db_classes_short[256] = "ROG";
$db_classes_short[128] = "BRD";
$db_classes_short[64] = "MNK";
$db_classes_short[32] = "DRU";
$db_classes_short[16] = "SHD";
$db_classes_short[8] = "RNG";
$db_classes_short[4] = "PAL";
$db_classes_short[2] = "CLR";
$db_classes_short[1] = "WAR";
// races
$dbraces = [];
$dbraces[65535] = "All races";
$dbraces[32768] = "Drakkin";
$dbraces[16384] = "Froglok";
$dbraces[8192] = "Vah Shir";
$dbraces[4096] = "Iksar";
$dbraces[2048] = "Gnome";
$dbraces[1024] = "Halfling";
$dbraces[512] = "Ogre";
$dbraces[256] = "Troll";
$dbraces[128] = "Dwarf";
$dbraces[64] = "Half Elf";
$dbraces[32] = "Dark Elf";
$dbraces[16] = "High Elf";
$dbraces[8] = "Wood Elf";
$dbraces[4] = "Erudite";
$dbraces[2] = "Barbarian";
$dbraces[1] = "Human";
$db_races_short = [];
$db_races_short[65535] = "ALL";
$db_races_short[32768] = "DRK";
$db_races_short[16384] = "FRG";
$db_races_short[8192] = "VAH";
$db_races_short[4096] = "IKS";
$db_races_short[2048] = "GNM";
$db_races_short[1024] = "HFL";
$db_races_short[512] = "OGR";
$db_races_short[256] = "TRL";
$db_races_short[128] = "DWF";
$db_races_short[64] = "HLF";
$db_races_short[32] = "DKE";
$db_races_short[16] = "HEF";
$db_races_short[8] = "WLF";
$db_races_short[4] = "ERU";
$db_races_short[2] = "BAR";
$db_races_short[1] = "HUM";
// skills
$dbskills = [];
$dbskills[0] = '1H_BLUNT';
$dbskills[1] = '1H_SLASHING';
$dbskills[2] = '2H_BLUNT';
$dbskills[3] = '2H_SLASHING';
$dbskills[4] = 'ABJURATION';
$dbskills[5] = 'ALTERATION';
$dbskills[6] = 'APPLY_POISON';
$dbskills[7] = 'ARCHERY';
$dbskills[8] = 'BACKSTAB';
$dbskills[9] = 'BIND_WOUND';
$dbskills[10] = 'BASH';
$dbskills[11] = 'BLOCKSKILL';
$dbskills[12] = 'BRASS_INSTRUMENTS';
$dbskills[13] = 'CHANNELING';
$dbskills[14] = 'CONJURATION';
$dbskills[15] = 'DEFENSE';
$dbskills[16] = 'DISARM';
$dbskills[17] = 'DISARM_TRAPS';
$dbskills[18] = 'DIVINATION';
$dbskills[19] = 'DODGE';
$dbskills[20] = 'DOUBLE_ATTACK';
$dbskills[21] = 'DRAGON_PUNCH';
$dbskills[22] = 'DUEL_WIELD';
$dbskills[23] = 'EAGLE_STRIKE';
$dbskills[24] = 'EVOCATION';
$dbskills[25] = 'FEIGN_DEATH';
$dbskills[26] = 'FLYING_KICK';
$dbskills[27] = 'FORAGE';
$dbskills[28] = 'HAND_TO_HAND';
$dbskills[29] = 'HIDE';
$dbskills[30] = 'KICK';
$dbskills[31] = 'MEDITATE';
$dbskills[32] = 'MEND';
$dbskills[33] = 'OFFENSE';
$dbskills[34] = 'PARRY';
$dbskills[35] = 'PICK_LOCK';
$dbskills[36] = 'PIERCING';
$dbskills[37] = 'RIPOSTE';
$dbskills[38] = 'ROUND_KICK';
$dbskills[39] = 'SAFE_FALL';
$dbskills[40] = 'SENSE_HEADING';
$dbskills[41] = 'SINGING';
$dbskills[42] = 'SNEAK';
$dbskills[43] = 'SPECIALIZE_ABJURE';
$dbskills[44] = 'SPECIALIZE_ALTERATION';
$dbskills[45] = 'SPECIALIZE_CONJURATION';
$dbskills[46] = 'SPECIALIZE_DIVINATION';
$dbskills[47] = 'SPECIALIZE_EVOCATION';
$dbskills[48] = 'PICK_POCKETS';
$dbskills[49] = 'STRINGED_INSTRUMENTS';
$dbskills[50] = 'SWIMMING';
$dbskills[51] = 'THROWING';
$dbskills[52] = 'CLICKY';
$dbskills[53] = 'TRACKING';
$dbskills[54] = 'WIND_INSTRUMENTS';
$dbskills[55] = 'FISHING';
$dbskills[56] = 'POISON_MAKING';
$dbskills[57] = 'TINKERING';
$dbskills[58] = 'RESEARCH';
$dbskills[59] = 'ALCHEMY';
$dbskills[60] = 'BAKING';
$dbskills[61] = 'TAILORING';
$dbskills[62] = 'SENSE_TRAPS';
$dbskills[63] = 'BLACKSMITHING';
$dbskills[64] = 'FLETCHING';
$dbskills[65] = 'BREWING';
$dbskills[66] = 'ALCOHOL_TOLERANCE';
$dbskills[67] = 'BEGGING';
$dbskills[68] = 'JEWELRY_MAKING';
$dbskills[69] = 'POTTERY';
$dbskills[70] = 'PERCUSSION_INSTRUMENTS';
$dbskills[71] = 'INTIMIDATION';
$dbskills[72] = 'BERSERKING';
$dbskills[73] = 'TAUNT';
// spell effects
$dbspelleffects = [];
$dbspelleffects[28] = 'Invisibility versus Undead';
$dbspelleffects[29] = 'Invisibility versus Animals';
$dbspelleffects[30] = 'Frenzy Radius';
$dbspelleffects[31] = 'Mesmerize';
$dbspelleffects[32] = 'Summon Item';
$dbspelleffects[33] = 'Summon Pet:';
$dbspelleffects[35] = 'Increase Disease Counter';
$dbspelleffects[36] = 'Increase Poison Counter';
$dbspelleffects[40] = 'Invunerability';
$dbspelleffects[41] = 'Destroy Target';
$dbspelleffects[42] = 'Shadowstep';
$dbspelleffects[44] = 'Lycanthropy';
$dbspelleffects[46] = 'Increase Fire Resist';
$dbspelleffects[47] = 'Increase Cold Resist';
$dbspelleffects[48] = 'Increase Poison Resist';
$dbspelleffects[49] = 'Increase Disease Resist';
$dbspelleffects[50] = 'Increase Magic Resist';
$dbspelleffects[52] = 'Sense Undead';
$dbspelleffects[53] = 'Sense Summoned';
$dbspelleffects[54] = 'Sense Animals';
$dbspelleffects[55] = 'Increase Absorb Damage';
$dbspelleffects[56] = 'True North';
$dbspelleffects[57] = 'Levitate';
$dbspelleffects[58] = 'Illusion:';
$dbspelleffects[59] = 'Increase Damage Shield';
$dbspelleffects[61] = 'Identify';
$dbspelleffects[63] = 'Memblur';
$dbspelleffects[64] = 'SpinStun';
$dbspelleffects[65] = 'Infravision';
$dbspelleffects[66] = 'Ultravision';
$dbspelleffects[67] = 'Eye Of Zomm';
$dbspelleffects[68] = 'Reclaim Energy';
$dbspelleffects[69] = 'Increase Max Hitpoints';
$dbspelleffects[71] = 'Summon Skeleton Pet:';
$dbspelleffects[73] = 'Bind Sight';
$dbspelleffects[74] = 'Feign Death';
$dbspelleffects[75] = 'Voice Graft';
$dbspelleffects[76] = 'Sentinel';
$dbspelleffects[77] = 'Locate Corpse';
$dbspelleffects[78] = 'Increase Absorb Magic Damage';
$dbspelleffects[79] = 'Increase HP when cast';
$dbspelleffects[81] = 'Resurrect';
$dbspelleffects[82] = 'Summon PC';
$dbspelleffects[83] = 'Teleport';
$dbspelleffects[85] = 'Add Proc:';
$dbspelleffects[86] = 'Reaction Radius';
$dbspelleffects[87] = 'Increase Magnification';
$dbspelleffects[88] = 'Evacuate';
$dbspelleffects[89] = 'Increase Player Size';
$dbspelleffects[90] = 'Cloak';
$dbspelleffects[91] = 'Summon Corpse';
$dbspelleffects[92] = 'Increase hate';
$dbspelleffects[93] = 'Stop Rain';
$dbspelleffects[94] = 'Make Fragile (Delete if combat)';
$dbspelleffects[95] = 'Sacrifice';
$dbspelleffects[96] = 'Silence';
$dbspelleffects[97] = 'Increase Mana Pool';
$dbspelleffects[98] = 'Increase Haste v2';
$dbspelleffects[99] = 'Root';
$dbspelleffects[100] = 'Increase Hitpoints v2';
$dbspelleffects[101] = 'Complete Heal (with duration)';
$dbspelleffects[102] = 'Fearless';
$dbspelleffects[103] = 'Call Pet';
$dbspelleffects[104] = 'Translocate target to their bind point';
$dbspelleffects[105] = 'Anti-Gate';
$dbspelleffects[106] = 'Summon Warder:';
$dbspelleffects[108] = 'Summon Familiar:';
$dbspelleffects[109] = 'Summon Item v2';
$dbspelleffects[111] = 'Increase All Resists';
$dbspelleffects[112] = 'Increase Effective Casting Level';
$dbspelleffects[113] = 'Summon Horse:';
$dbspelleffects[114] = 'Increase Agro Multiplier';
$dbspelleffects[115] = 'Food/Water';
$dbspelleffects[116] = 'Decrease Curse Counter';
$dbspelleffects[117] = 'Make Weapons Magical';
$dbspelleffects[118] = 'Increase Singing Skill';
$dbspelleffects[119] = 'Increase Haste v3';
$dbspelleffects[120] = 'Set Healing Effectiveness';
$dbspelleffects[121] = 'Reverse Damage Shield';
$dbspelleffects[123] = 'Screech';
$dbspelleffects[124] = 'Increase Spell Damage';
$dbspelleffects[125] = 'Increase Spell Healing';
$dbspelleffects[127] = 'Increase Spell Haste';
$dbspelleffects[128] = 'Increase Spell Duration';
$dbspelleffects[129] = 'Increase Spell Range';
$dbspelleffects[130] = 'Decrease Spell/Bash Hate';
$dbspelleffects[131] = 'Decrease Chance of Using Reagent';
$dbspelleffects[132] = 'Decrease Spell Mana Cost';
$dbspelleffects[134] = 'Limit: Max Level';
$dbspelleffects[135] = 'Limit: Resist(Magic allowed)';
$dbspelleffects[136] = 'Limit: Target';
$dbspelleffects[137] = 'Limit: Effect(Hitpoints allowed)';
$dbspelleffects[138] = 'Limit: Spell Type(Detrimental only)';
$dbspelleffects[139] = 'Limit: Spell';
$dbspelleffects[140] = 'Limit: Min Duration';
$dbspelleffects[141] = 'Limit: Instant spells only';
$dbspelleffects[142] = 'LimitMinLevel';
$dbspelleffects[143] = 'Limit: Min Casting Time';
$dbspelleffects[145] = 'Teleport v2';
$dbspelleffects[147] = 'Increase Hitpoints';
$dbspelleffects[148] = 'Block new spell';
$dbspelleffects[149] = 'Stacking: Overwrite existing spell';
$dbspelleffects[150] = 'Death Save - Restore Full Health';
$dbspelleffects[151] = 'Suspend Pet - Lose Buffs and Equipment';
$dbspelleffects[152] = 'Summon Pets:';
$dbspelleffects[153] = 'Balance Party Health';
$dbspelleffects[154] = 'Remove Detrimental';
$dbspelleffects[156] = 'Illusion: Target';
$dbspelleffects[157] = 'Spell-Damage Shield';
$dbspelleffects[158] = 'Increase Chance to Reflect Spell';
$dbspelleffects[159] = 'Decrease Stats';
$dbspelleffects[167] = 'Pet Power Increase';
$dbspelleffects[168] = 'Increase Melee Mitigation';
$dbspelleffects[169] = 'Increase Chance to Critical Hit';
$dbspelleffects[171] = 'CrippBlowChance';
$dbspelleffects[172] = 'Increase Chance to Avoid Melee';
$dbspelleffects[173] = 'Increase Chance to Riposte';
$dbspelleffects[174] = 'Increase Chance to Dodge';
$dbspelleffects[175] = 'Increase Chance to Parry';
$dbspelleffects[176] = 'Increase Chance to Dual Wield';
$dbspelleffects[177] = 'Increase Chance to Double Attack';
$dbspelleffects[178] = 'Lifetap from Weapon Damage';
$dbspelleffects[179] = 'Instrument Modifier';
$dbspelleffects[180] = 'Increase Chance to Resist Spell';
$dbspelleffects[181] = 'Increase Chance to Resist Fear Spell';
$dbspelleffects[182] = 'Hundred Hands Effect';
$dbspelleffects[183] = 'Increase All Skills Skill Check';
$dbspelleffects[184] = 'Increase Chance to Hit With all Skills';
$dbspelleffects[185] = 'Increase All Skills Damage Modifier';
$dbspelleffects[186] = 'Increase All Skills Minimum Damage Modifier';
$dbspelleffects[188] = 'Increase Chance to Block';
$dbspelleffects[192] = 'Increase hate';
$dbspelleffects[194] = 'Fade';
$dbspelleffects[195] = 'Stun Resist';
$dbspelleffects[200] = 'Increase Proc Modifier';
$dbspelleffects[201] = 'Increase Range Proc Modifier';
$dbspelleffects[205] = 'Rampage';
$dbspelleffects[206] = 'Area of Effect Taunt';
$dbspelleffects[216] = 'Increase Accuracy';
$dbspelleffects[227] = 'Reduce Skill Timer';
$dbspelleffects[254] = 'Blank';
$dbspelleffects[266] = 'Increase Attack Chance';
$dbspelleffects[273] = 'Increase Critical Dot Chance';
$dbspelleffects[289] = 'Improved Spell Effect: ';
$dbspelleffects[294] = 'Increase Critial Spell Chance';
$dbspelleffects[299] = 'Wake the Dead';
$dbspelleffects[311] = 'Limit: Combat Skills Not Allowed';
$dbspelleffects[314] = 'Fixed Duration Invisbility (not documented on Lucy)';
$dbspelleffects[323] = 'Add Defensive Proc:';
$dbspelleffects[330] = 'Critical Damage Mob';
// spell targets
$dbspelltargets = [];
$dbspelltargets[1] = "";
$dbspelltargets[2] = "Area of effect over the caster";
$dbspelltargets[3] = "Group teleport";
$dbspelltargets[4] = "Area of effect around the caster";
$dbspelltargets[5] = "Single target";
$dbspelltargets[6] = "Self only";
$dbspelltargets[8] = "Area of effect around the target";
$dbspelltargets[9] = "Animal";
$dbspelltargets[10] = "Undead only";
$dbspelltargets[11] = "Summoned beings";
$dbspelltargets[13] = "Tap";
$dbspelltargets[14] = "Caster's pet";
$dbspelltargets[15] = "Target's corpse";
$dbspelltargets[16] = "Plant";
$dbspelltargets[17] = "Giant";
$dbspelltargets[18] = "Dragon";
$dbspelltargets[24] = "Area of effect on undeads";
$dbspelltargets[36] = "Area - PC Only";
$dbspelltargets[40] = "Friendly area of effect";
$dbspelltargets[41] = "Group";
// item skills
$dbiskills = [];
$dbiskills[0] = "One Hand Slash";
$dbiskills[1] = "Two Hands Slash";
$dbiskills[2] = "Piercing";
$dbiskills[3] = "One Hand Blunt";
$dbiskills[4] = "Two Hands Blunt";
$dbiskills[45] = "Hand to hand";
// item types
$dbitypes = [];
$dbitypes[0] = "1HS";
$dbitypes[1] = "2HS";
$dbitypes[2] = "Piercing";
$dbitypes[3] = "1HB";
$dbitypes[4] = "2HB";
$dbitypes[5] = "Archery";
$dbitypes[6] = "Unknown";
$dbitypes[7] = "Throwing range items";
$dbitypes[8] = "Shield";
$dbitypes[9] = "Unknown";
$dbitypes[10] = "Armor";
$dbitypes[11] = "Gems";
$dbitypes[12] = "Lockpicks";
$dbitypes[13] = "Unknown";
$dbitypes[14] = "Food";
$dbitypes[15] = "Drink";
$dbitypes[16] = "Light";
$dbitypes[17] = "Combinable";
$dbitypes[18] = "Bandages";
$dbitypes[19] = "Throwing";
$dbitypes[20] = "Scroll";
$dbitypes[21] = "Potion";
$dbitypes[22] = "Unknown";
$dbitypes[23] = "Wind Instrument";
$dbitypes[24] = "Stringed Instrument";
$dbitypes[25] = "Brass Instrument";
$dbitypes[26] = "Percussion Instrument";
$dbitypes[27] = "Arrow";
$dbitypes[28] = "Unknown";
$dbitypes[29] = "Jewelry";
$dbitypes[30] = "Skull";
$dbitypes[31] = "Tome";
$dbitypes[32] = "Note";
$dbitypes[33] = "Key";
$dbitypes[34] = "Coin";
$dbitypes[35] = "2H Piercing";
$dbitypes[36] = "Fishing Pole";
$dbitypes[37] = "Fishing Bait";
$dbitypes[38] = "Alcohol";
$dbitypes[39] = "Key (bis)";
$dbitypes[40] = "Compass";
$dbitypes[41] = "Unknown";
$dbitypes[42] = "Poison";
$dbitypes[43] = "Unknown";
$dbitypes[44] = "Unknown";
$dbitypes[45] = "Martial";
$dbitypes[46] = "Unknown";
$dbitypes[47] = "Unknown";
$dbitypes[48] = "Unknown";
$dbitypes[49] = "Unknown";
$dbitypes[50] = "Unknown";
$dbitypes[51] = "Unknown";
$dbitypes[52] = "Charm";
$dbitypes[53] = "Unknown";
$dbitypes[54] = "Augmentation";
$dbiaugrestrict[1] = "Armor Only";
$dbiaugrestrict[2] = "Weapons Only";
$dbiaugrestrict[3] = "1h Weapons Only";
$dbiaugrestrict[4] = "2h Weapons Only";
$dbiaugrestrict[5] = "1h Slash Only";
$dbiaugrestrict[6] = "1h Blunt Only";
$dbiaugrestrict[7] = "Piercing Only";
$dbiaugrestrict[8] = "Hand To Hand Only";
$dbiaugrestrict[9] = "2h Slash Only";
$dbiaugrestrict[10] = "2h Blunt Only";
$dbiaugrestrict[11] = "2h Pierce Only";
$dbiaugrestrict[12] = "Bows Only";
$dbbardskills[23] = "Wind";
$dbbardskills[24] = "Strings";
$dbbardskills[25] = "Brass";
$dbbardskills[26] = "Percussions";
$dbbardskills[51] = "All instruments";
$NPCTypeArray = [
'###' => 'Boss',
'##' => 'Mini-Boss',
'#' => 'Named',
'~' => 'Quest NPC',
'!' => 'Hidden',
'_' => 'Event Spawned',
];
// damage bonuses 2Hands at 65
//http://lucy.allakhazam.com/dmgbonus.html
$dam2h = [
0,
14,
14,
14,
14,
14,
14,
14,
14,
14, // 0->9
14,
14,
14,
14,
14,
14,
14,
14,
14,
14, // 10->19
14,
14,
14,
14,
14,
14,
14,
14,
35,
35, // 20->29
36,
36,
37,
37,
38,
38,
39,
39,
40,
40, // 30->39
42,
42,
42,
45,
45,
47,
48,
49,
49,
51, // 40->49
51,
52,
53,
54,
54,
56,
56,
57,
58,
59, // 50->59
59,
0,
0,
0,
0,
0,
0,
0,
0,
0, // 60->69
68,
0,
0,
0,
0,
0,
0,
0,
0,
0, // 70->79
0,
0,
0,
0,
0,
80,
0,
0,
0,
0, // 80->89
0,
0,
0,
0,
0,
88,
0,
0,
0,
0, // 90->99
0,
0,
0,
0,
0,
0,
0,
0,
0,
0, // 100->109
0,
0,
0,
0,
0,
0,
0,
0,
0,
0, // 110->119
0,
0,
0,
0,
0,
0,
0,
0,
0,
0, // 120->129
0,
0,
0,
0,
0,
0,
0,
0,
0,
0, // 130->139
0,
0,
0,
0,
0,
0,
0,
0,
0,
0, // 140->149
132,
]; // 150
File diff suppressed because it is too large Load Diff
+442
View File
@@ -0,0 +1,442 @@
<?php
function SpellDescription($spell, $n, $csv = false)
{
global $dbspelleffects, $dbspelltargets, $items_table, $dbiracenames, $spells_table, $server_max_level;
$print_buffer = '<ul>';
if (($spell["effectid$n"] != 254) AND ($spell["effectid$n"] != 10)) {
$maxlvl = $spell["effect_base_value$n"];
$minlvl = $server_max_level;
for ($i = 1; $i <= 16; $i++) {
if ($spell["classes" . $i] < $minlvl) {
$minlvl = $spell["classes" . $i];
}
}
$min = CalcSpellEffectValue(
$spell["formula" . $n],
$spell["effect_base_value$n"],
$spell["max$n"],
$minlvl
);
$max = CalcSpellEffectValue(
$spell["formula" . $n],
$spell["effect_base_value$n"],
$spell["max$n"],
$server_max_level
);
$base_limit = $spell["effect_limit_value$n"];
if (($min < $max) AND ($max < 0)) {
$tn = $min;
$min = $max;
$max = $tn;
}
if ($csv == true) {
$print_buffer .= ",,";
} else {
$print_buffer .= "<b>$n : Effect type : </b>";
}
switch ($spell["effectid$n"]) {
case 3: // Increase Movement (% / 0)
if ($max < 0) { // Decrease
$print_buffer .= "Decrease Movement";
if ($min != $max) {
$print_buffer .= " by " . abs($min) . "% to " . abs($max) . "%";
} else {
$print_buffer .= " by " . abs(100) . "%";
}
} else {
$print_buffer .= "Increase Movement";
if ($min != $max) {
$print_buffer .= " by " . $min . "% to " . ($max) . "%";
} else {
$print_buffer .= " by " . ($max) . "%";
}
}
break;
case 11: // Decrease OR Inscrease AttackSpeed (max/min = percentage of speed / normal speed, IE, 70=>-30% 130=>+30%
if ($max < 100) { // Decrease
$print_buffer .= "Decrease Attack Speed";
if ($min != $max) {
$print_buffer .= " by " . (100 - $min) . "% to " . (100 - $max) . "%";
} else {
$print_buffer .= " by " . (100 - $max) . "%";
}
} else {
$print_buffer .= "Increase Attack Speed";
if ($min != $max) {
$print_buffer .= " by " . ($min - 100) . "% to " . ($max - 100) . "%";
} else {
$print_buffer .= " by " . ($max - 100) . "%";
}
}
break;
case 21: // stun
$print_buffer .= $dbspelleffects[$spell["effectid$n"]];
if ($min != $max) {
$print_buffer .= " (" . ($min / 1000) . " sec (L$minlvl) to " . ($max / 1000) . " sec (L$maxlvl))";
} else {
$print_buffer .= " (" . ($max / 1000) . " sec)";
}
break;
case 32: // summonitem
$print_buffer .= $dbspelleffects[$spell["effectid$n"]];
$name = get_field_result(
"name",
"SELECT name FROM $items_table WHERE id=" . $spell["effect_base_value$n"]
);
if (($name != "") AND ($csv == false)) {
$print_buffer .= " : <a href=?a=item&id=" . $spell["effect_base_value$n"] . ">$name</a>";
} else {
$print_buffer .= " : $name";
}
break;
case 87: // Increase Magnification
case 98: // Increase Haste v2
case 114: // Increase Agro Multiplier
case 119: // Increase Haste v3
case 123: // Increase Spell Damage
case 124: // Increase Spell Damage
case 125: // Increase Spell Healing
case 127: // Increase Spell Haste
case 128: // Increase Spell Duration
case 129: // Increase Spell Range
case 130: // Decrease Spell/Bash Hate
case 131: // Decrease Chance of Using Reagent
case 132: // Decrease Spell Mana Cost
case 158: // Increase Chance to Reflect Spell
case 168: // Increase Melee Mitigation
case 169: // Increase Chance to Critical Hit
case 172: // Increase Chance to Avoid Melee
case 173: // Increase Chance to Riposte
case 174: // Increase Chance to Dodge
case 175: // Increase Chance to Parry
case 176: // Increase Chance to Dual Wield
case 177: // Increase Chance to Double Attack
case 180: // Increase Chance to Resist Spell
case 181: // Increase Chance to Resist Fear Spell
case 183: // Increase All Skills Skill Check
case 184: // Increase Chance to Hit With all Skills
case 185: // Increase All Skills Damage Modifier
case 186: // Increase All Skills Minimum Damage Modifier
case 188: // Increase Chance to Block
case 200: // Increase Proc Modifier
case 201: // Increase Range Proc Modifier
case 216: // Increase Accuracy
case 227: // Reduce Skill Timer
case 266: // Add Attack Chance
case 273: // Increase Critical Dot Chance
case 294: // Increase Critical Spell Chance
$name = $dbspelleffects[$spell["effectid$n"]];
// For several of these cases, we have better information on
// the range of values for the focus effect.
switch ($spell["effectid$n"]) {
case 123: // Increase Spell Damage
case 124: // Increase Spell Damage
case 125: // Increase Spell Healing
case 131: // Decrease Chance of Using Reagent
case 132: // Decrease Spell Mana Cost
$min = $spell["effect_base_value$n"];
$max = $spell["effect_limit_value$n"];
break;
// Reword this effect to seem more natural, matching
// Allakhazam.
case 130: // Decrease Spell/Bash Hate
$min = $spell["effect_base_value$n"];
$max = $spell["effect_limit_value$n"];
$name = str_replace("Decrease", "Increase", $name);
break;
}
$print_buffer .= $name;
if ($min != $max) {
$print_buffer .= " by $min% to $max%";
} else {
$print_buffer .= " by $max%";
}
break;
case 15: // Increase Mana per tick
case 100: // Increase Hitpoints v2 per tick
$print_buffer .= $dbspelleffects[$spell["effectid$n"]];
if ($min != $max) {
$print_buffer .= " by " . abs($min) . " to " . abs(
$max
) . " per tick (total " . abs($min * $duration) . " to " . abs(
$max * $duration
) . ")";
} else {
$print_buffer .= " by $max per tick (total " . abs($max * $duration) . ")";
}
break;
case 30: // Frenzy Radius
case 86: // Reaction Radius
$print_buffer .= $dbspelleffects[$spell["effectid$n"]];
$print_buffer .= " (" . $spell["effect_base_value$n"] . "/" . $spell["effect_limit_value$n"] . ")";
break;
case 22: // Charm
$print_buffer .= $dbspelleffects[$spell["effectid$n"]];
$print_buffer .= " up to level " . $spell["max1"];
break;
case 23: // Fear
$print_buffer .= $dbspelleffects[$spell["effectid$n"]];
$print_buffer .= " up to level " . $spell["max1"];
break;
case 31: // Mesmerize
$print_buffer .= $dbspelleffects[$spell["effectid$n"]];
$print_buffer .= " up to level " . $spell["max1"];
break;
case 33: // Summon Pet:
case 68: // Summon Skeleton Pet:
case 106: // Summon Warder:
case 108: // Summon Familiar:
case 113: // Summon Horse:
case 152: // Summon Pets:
$print_buffer .= $dbspelleffects[$spell["effectid$n"]];
if ($csv == false) {
$print_buffer .= " <a href=?a=pet&name=" . $spell["teleport_zone"] . ">" . $spell["teleport_zone"] . "</a>";
} else {
$print_buffer .= " : " . $spell["teleport_zone"];
}
break;
case 13: // See Invisible
case 18: // Pacify
case 20: // Blindness
case 25: // Bind Affinity
case 26: // Gate
case 28: // Invisibility versus Undead
case 29: // Invisibility versus Animals
case 40: // Invunerability
case 41: // Destroy Target
case 42: // Shadowstep
case 44: // Lycanthropy
case 52: // Sense Undead
case 53: // Sense Summoned
case 54: // Sense Animals
case 56: // True North
case 57: // Levitate
case 61: // Identify
case 64: // SpinStun
case 65: // Infravision
case 66: // UltraVision
case 67: // Eye of Zomm
case 68: // Reclaim Energy
case 73: // Bind Sight
case 74: // Feign Death
case 75: // Voice Graft
case 76: // Sentinel
case 77: // Locate Corpse
case 82: // Summon PC
case 90: // Cloak
case 93: // Stop Rain
case 94: // Make Fragile (Delete if combat)
case 95: // Sacrifice
case 96: // Silence
case 99: // Root
case 101: // Complete Heal (with duration)
case 103: // Call Pet
case 104: // Translocate target to their bind point
case 105: // Anti-Gate
case 115: // Food/Water
case 117: // Make Weapons Magical
case 135: // Limit: Resist(Magic allowed)
case 137: // Limit: Effect(Hitpoints allowed)
case 138: // Limit: Spell Type(Detrimental only)
case 141: // Limit: Instant spells only
case 150: // Death Save - Restore Full Health
case 151: // Suspend Pet - Lose Buffs and Equipment
case 154: // Remove Detrimental
case 156: // Illusion: Target
case 178: // Lifetap from Weapon Damage
case 179: // Instrument Modifier
case 182: // Hundred Hands Effect
case 194: // Fade
case 195: // Stun Resist
case 205: // Rampage
case 206: // Area of Effect Taunt
case 311: // Limit: Combat Skills Not Allowed
case 314: // Fixed Duration Invisbility
case 299: // Wake the Dead
$print_buffer .= $dbspelleffects[$spell["effectid$n"]];
break;
case 58: // Illusion:
$print_buffer .= $dbspelleffects[$spell["effectid$n"]];
$print_buffer .= $dbiracenames[$spell["effect_base_value$n"]];
break;
case 63: // Memblur
case 120: // Set Healing Effectiveness
case 330: // Critical Damage Mob
$print_buffer .= $dbspelleffects[$spell["effectid$n"]];
$print_buffer .= " ($max%)";
break;
case 81: // Resurrect
$print_buffer .= $dbspelleffects[$spell["effectid$n"]];
$print_buffer .= " and restore " . $spell["effect_base_value$n"] . "% experience";
break;
case 83: // Teleport
case 88: // Evacuate
case 145: // Teleport v2
//$print_buffer .= " (Need to add zone to spells table)";
$print_buffer .= $dbspelleffects[$spell["effectid$n"]];
if ($csv == false) {
$print_buffer .= " <a href=?a=zone&name=" . $spell["teleport_zone"] . ">" . $spell["teleport_zone"] . "</a>";
} else {
$print_buffer .= " : " . $spell["teleport_zone"];
}
break;
case 85: // Add Proc:
case 289: // Improved Spell Effect:
case 323: // Add Defensive Proc:
$print_buffer .= $dbspelleffects[$spell["effectid$n"]];
$name = get_field_result(
"name",
"SELECT name FROM $spells_table WHERE id=" . $spell["effect_base_value$n"]
);
if ($csv == false) {
$print_buffer .= "<a href=?a=spell&id=" . $spell["effect_base_value$n"] . ">$name</a>";
} else {
$print_buffer .= " : $name";
}
break;
case 89: // Increase Player Size
$name = $dbspelleffects[$spell["effectid$n"]];
$min -= 100;
$max -= 100;
if ($max < 0) {
$name = str_replace("Increase", "Decrease", $name);
}
$print_buffer .= $name;
if ($min != $max) {
$print_buffer .= " by $min% to $max%";
} else {
$print_buffer .= " by $max%";
}
break;
case 27: // Cancel Magic
case 134: // Limit: Max Level
case 157: // Spell-Damage Shield
$print_buffer .= $dbspelleffects[$spell["effectid$n"]];
$print_buffer .= " ($max)";
break;
case 121: // Reverse Damage Shield
$print_buffer .= $dbspelleffects[$spell["effectid$n"]];
$print_buffer .= " ($max)";
break;
case 91: // Summon Corpse
$print_buffer .= $dbspelleffects[$spell["effectid$n"]];
$print_buffer .= " (max level $max)";
break;
case 136: // Limit: Target
$print_buffer .= $dbspelleffects[$spell["effectid$n"]];
if ($max < 0) {
$max = -$max;
$v = " excluded";
} else {
$v = "";
}
$print_buffer .= " (" . $dbspelltargets[$max] . "$v)";
break;
case 139: // Limit: Spell
$print_buffer .= $dbspelleffects[$spell["effectid$n"]];
$max = $spell["effect_base_value$n"];
if ($max < 0) {
$max = -$max;
$v = " excluded";
}
$name = get_field_result("name", "SELECT name FROM $spells_table WHERE id=$max");
if ($csv == false) {
$print_buffer .= "($name)";
} else {
$print_buffer .= " (<a href=?a=spell&id=" . $spell["effect_base_value$n"] . ">$name</a>$v)";
}
break;
case 140: // Limit: Min Duration
$print_buffer .= $dbspelleffects[$spell["effectid$n"]];
$min *= 6;
$max *= 6;
if ($min != $max) {
$print_buffer .= " ($min sec (L$minlvl) to $max sec (L$maxlvl))";
} else {
$print_buffer .= " ($max sec)";
}
break;
case 143: // Limit: Min Casting Time
$print_buffer .= $dbspelleffects[$spell["effectid$n"]];
$min *= 6;
$max *= 6;
if ($min != $max) {
$print_buffer .= " (" . ($min / 6000) . " sec (L$minlvl) to " . ($max / 6000) . " sec (L$maxlvl))";
} else {
$print_buffer .= " (" . ($max / 6000) . " sec)";
}
break;
case 148: // Stacking: Overwrite existing spell
$print_buffer .= $dbspelleffects[$spell["effectid$n"]];
$print_buffer .= " if slot " . ($spell["effectid$n"] - 200) . " is effect '" . $dbspelleffects[$spell["effect_base_value$n"]] . "' and <" . $spell["effect_limit_value$n"];
break;
case 149: // Stacking: Overwrite existing spell
$print_buffer .= $dbspelleffects[$spell["effectid$n"]];
$print_buffer .= " if slot " . ($spell["effectid$n"] - 200) . " is effect '" . $dbspelleffects[$spell["effect_base_value$n"]] . "' and <" . $spell["effect_limit_value$n"];
break;
case 147: // Increase Hitpoints (%)
$name = $dbspelleffects[$spell["effectid$n"]];
if ($max < 0) {
$name = str_replace("Increase", "Decrease", $name);
}
$print_buffer .= $name . " by " . $spell["effect_limit_value$n"] . " ($max% max)";
break;
case 153: // Balance Party Health
$print_buffer .= $dbspelleffects[$spell["effectid$n"]];
$print_buffer .= " ($max% penalty)";
break;
case 0: // In/Decrease hitpoints
case 1: // Increase AC
case 2: // Increase ATK
case 4: // Increase STR
case 5: // Increase DEX
case 6: // Increase AGI
case 7: // Increase STA
case 8: // Increase INT
case 9: // Increase WIS
case 19: // Increase Faction
case 35: // Increase Disease Counter
case 36: // Increase Poison Counter
case 46: // Increase Magic Fire
case 47: // Increase Magic Cold
case 48: // Increase Magic Poison
case 49: // Increase Magic Disease
case 50: // Increase Magic Resist
case 55: // Increase Absorb Damage
case 59: // Increase Damage Shield
case 69: // Increase Max Hitpoints
case 78: // Increase Absorb Magic Damage
case 79: // Increase HP when cast
case 92: // Increase hate
case 97: // Increase Mana Pool
case 111: // Increase All Resists
case 112: // Increase Effective Casting
case 116: // Decrease Curse Counter
case 118: // Increase Singing Skill
case 159: // Decrease Stats
case 167: // Pet Power Increase
case 192: // Increase hate
default:
$name = $dbspelleffects[$spell["effectid$n"]];
if ($max < 0) {
$name = str_replace("Increase", "Decrease", $name);
}
$print_buffer .= $name;
if ($min != $max) {
$print_buffer .= " by $min to $max";
} else {
if ($max < 0) {
$max = -$max;
}
$print_buffer .= " by $max";
}
break;
}
$print_buffer .= '</ul>';
}
return $print_buffer;
}
+115
View File
@@ -0,0 +1,115 @@
body {
}
.lootable.list-group img {
width: 22px;
height: 22px;
}
.lootable.list-group h6 {
margin-bottom: 0;
}
.list-group a p {
margin-bottom: 0;
}
/* Apply a tan background to the whole page */
body {
background-color: #888172;
padding: 0px;
}
/* Style the navigation bar to match the screenshot */
main > nav:first-child, nav > .container:first-child, .nav:first-child{
background-color: #DAD1BD;
}
/* Style the nav links */
.nav-link {
color: black;
}
/* Style the nav links */
header a span, header a svg {
color: white;
font-family: 'Times New Roman', Times, serif;
font-size: 2em;
}
/* Change the container background and style */
section.container {
background-color: #D3C6AC;
border: 1px solid #a67b5b;
border-radius: 4px;
padding: 20px;
}
accordion-header {
background-color: #a67b5b
}
section .list-group-item, section .card,
section .accordion-body {
background-color: #f5f5dc;
}
section .list-group-item:hover {
background-color: #EDE3CE;
}
/* Style the headings to match the font and color */
h1, h2, h3, h4, h5, h6 {
color: #a67b5b;
font-family: 'Times New Roman', Times, serif;
font-weight: bold;
}
/* Style the headings to match the font and color */
.card h1, .card h2, .card h3, .card h4, .card h5, .card h6,
.card h1 a, .card h2 a, .card h3 a, .card h4 a, .card h5 a, .card h6 a {
color: black;
font-family: unset !important;
font-weight: normal;
}
.pagination .page-item > .page-link {
color: #8b5a2b;
}
.pagination .page-item > .page-link:hover {
background-color: #EDE3CE;
}
.pagination .page-item.active > .page-link {
background-color: #8b5a2b;
border-color: #8b5a2b;
color: white;
}
/* Style buttons to match the style in the screenshot */
.btn {
background-color: #8b5a2b;
color: white;
border: none;
}
/* Mimic the content box with shadow */
.content-box {
background-color: #fff;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
margin-bottom: 20px;
padding: 0px 20px 0px 20px;
}
/* Overwrite link colors */
a, a:hover {
color: #8b5a2b;
}
/* Style the footer */
.footer {
background-color: #a67b5b;
color: white;
padding: 10px 20px;
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+252
View File
@@ -0,0 +1,252 @@
.spell-0-40 { background: url('./spell-icons-legacy-40.png') -0px -0px; height: 40px; width: 40px; display: inline-block; }
.spell-1-40 { background: url('./spell-icons-legacy-40.png') -40px -0px; height: 40px; width: 40px; display: inline-block; }
.spell-10-40 { background: url('./spell-icons-legacy-40.png') -0px -40px; height: 40px; width: 40px; display: inline-block; }
.spell-100-40 { background: url('./spell-icons-legacy-40.png') -40px -40px; height: 40px; width: 40px; display: inline-block; }
.spell-101-40 { background: url('./spell-icons-legacy-40.png') -80px -0px; height: 40px; width: 40px; display: inline-block; }
.spell-102-40 { background: url('./spell-icons-legacy-40.png') -80px -40px; height: 40px; width: 40px; display: inline-block; }
.spell-103-40 { background: url('./spell-icons-legacy-40.png') -0px -80px; height: 40px; width: 40px; display: inline-block; }
.spell-104-40 { background: url('./spell-icons-legacy-40.png') -40px -80px; height: 40px; width: 40px; display: inline-block; }
.spell-105-40 { background: url('./spell-icons-legacy-40.png') -80px -80px; height: 40px; width: 40px; display: inline-block; }
.spell-106-40 { background: url('./spell-icons-legacy-40.png') -120px -0px; height: 40px; width: 40px; display: inline-block; }
.spell-107-40 { background: url('./spell-icons-legacy-40.png') -120px -40px; height: 40px; width: 40px; display: inline-block; }
.spell-108-40 { background: url('./spell-icons-legacy-40.png') -120px -80px; height: 40px; width: 40px; display: inline-block; }
.spell-109-40 { background: url('./spell-icons-legacy-40.png') -0px -120px; height: 40px; width: 40px; display: inline-block; }
.spell-11-40 { background: url('./spell-icons-legacy-40.png') -40px -120px; height: 40px; width: 40px; display: inline-block; }
.spell-110-40 { background: url('./spell-icons-legacy-40.png') -80px -120px; height: 40px; width: 40px; display: inline-block; }
.spell-111-40 { background: url('./spell-icons-legacy-40.png') -120px -120px; height: 40px; width: 40px; display: inline-block; }
.spell-112-40 { background: url('./spell-icons-legacy-40.png') -160px -0px; height: 40px; width: 40px; display: inline-block; }
.spell-113-40 { background: url('./spell-icons-legacy-40.png') -160px -40px; height: 40px; width: 40px; display: inline-block; }
.spell-114-40 { background: url('./spell-icons-legacy-40.png') -160px -80px; height: 40px; width: 40px; display: inline-block; }
.spell-115-40 { background: url('./spell-icons-legacy-40.png') -160px -120px; height: 40px; width: 40px; display: inline-block; }
.spell-116-40 { background: url('./spell-icons-legacy-40.png') -0px -160px; height: 40px; width: 40px; display: inline-block; }
.spell-117-40 { background: url('./spell-icons-legacy-40.png') -40px -160px; height: 40px; width: 40px; display: inline-block; }
.spell-118-40 { background: url('./spell-icons-legacy-40.png') -80px -160px; height: 40px; width: 40px; display: inline-block; }
.spell-119-40 { background: url('./spell-icons-legacy-40.png') -120px -160px; height: 40px; width: 40px; display: inline-block; }
.spell-12-40 { background: url('./spell-icons-legacy-40.png') -160px -160px; height: 40px; width: 40px; display: inline-block; }
.spell-120-40 { background: url('./spell-icons-legacy-40.png') -200px -0px; height: 40px; width: 40px; display: inline-block; }
.spell-121-40 { background: url('./spell-icons-legacy-40.png') -200px -40px; height: 40px; width: 40px; display: inline-block; }
.spell-122-40 { background: url('./spell-icons-legacy-40.png') -200px -80px; height: 40px; width: 40px; display: inline-block; }
.spell-123-40 { background: url('./spell-icons-legacy-40.png') -200px -120px; height: 40px; width: 40px; display: inline-block; }
.spell-124-40 { background: url('./spell-icons-legacy-40.png') -200px -160px; height: 40px; width: 40px; display: inline-block; }
.spell-125-40 { background: url('./spell-icons-legacy-40.png') -0px -200px; height: 40px; width: 40px; display: inline-block; }
.spell-126-40 { background: url('./spell-icons-legacy-40.png') -40px -200px; height: 40px; width: 40px; display: inline-block; }
.spell-127-40 { background: url('./spell-icons-legacy-40.png') -80px -200px; height: 40px; width: 40px; display: inline-block; }
.spell-128-40 { background: url('./spell-icons-legacy-40.png') -120px -200px; height: 40px; width: 40px; display: inline-block; }
.spell-129-40 { background: url('./spell-icons-legacy-40.png') -160px -200px; height: 40px; width: 40px; display: inline-block; }
.spell-13-40 { background: url('./spell-icons-legacy-40.png') -200px -200px; height: 40px; width: 40px; display: inline-block; }
.spell-130-40 { background: url('./spell-icons-legacy-40.png') -240px -0px; height: 40px; width: 40px; display: inline-block; }
.spell-131-40 { background: url('./spell-icons-legacy-40.png') -240px -40px; height: 40px; width: 40px; display: inline-block; }
.spell-132-40 { background: url('./spell-icons-legacy-40.png') -240px -80px; height: 40px; width: 40px; display: inline-block; }
.spell-133-40 { background: url('./spell-icons-legacy-40.png') -240px -120px; height: 40px; width: 40px; display: inline-block; }
.spell-134-40 { background: url('./spell-icons-legacy-40.png') -240px -160px; height: 40px; width: 40px; display: inline-block; }
.spell-135-40 { background: url('./spell-icons-legacy-40.png') -240px -200px; height: 40px; width: 40px; display: inline-block; }
.spell-136-40 { background: url('./spell-icons-legacy-40.png') -0px -240px; height: 40px; width: 40px; display: inline-block; }
.spell-137-40 { background: url('./spell-icons-legacy-40.png') -40px -240px; height: 40px; width: 40px; display: inline-block; }
.spell-138-40 { background: url('./spell-icons-legacy-40.png') -80px -240px; height: 40px; width: 40px; display: inline-block; }
.spell-139-40 { background: url('./spell-icons-legacy-40.png') -120px -240px; height: 40px; width: 40px; display: inline-block; }
.spell-14-40 { background: url('./spell-icons-legacy-40.png') -160px -240px; height: 40px; width: 40px; display: inline-block; }
.spell-140-40 { background: url('./spell-icons-legacy-40.png') -200px -240px; height: 40px; width: 40px; display: inline-block; }
.spell-141-40 { background: url('./spell-icons-legacy-40.png') -240px -240px; height: 40px; width: 40px; display: inline-block; }
.spell-142-40 { background: url('./spell-icons-legacy-40.png') -280px -0px; height: 40px; width: 40px; display: inline-block; }
.spell-143-40 { background: url('./spell-icons-legacy-40.png') -280px -40px; height: 40px; width: 40px; display: inline-block; }
.spell-144-40 { background: url('./spell-icons-legacy-40.png') -280px -80px; height: 40px; width: 40px; display: inline-block; }
.spell-145-40 { background: url('./spell-icons-legacy-40.png') -280px -120px; height: 40px; width: 40px; display: inline-block; }
.spell-146-40 { background: url('./spell-icons-legacy-40.png') -280px -160px; height: 40px; width: 40px; display: inline-block; }
.spell-147-40 { background: url('./spell-icons-legacy-40.png') -280px -200px; height: 40px; width: 40px; display: inline-block; }
.spell-148-40 { background: url('./spell-icons-legacy-40.png') -280px -240px; height: 40px; width: 40px; display: inline-block; }
.spell-149-40 { background: url('./spell-icons-legacy-40.png') -0px -280px; height: 40px; width: 40px; display: inline-block; }
.spell-15-40 { background: url('./spell-icons-legacy-40.png') -40px -280px; height: 40px; width: 40px; display: inline-block; }
.spell-150-40 { background: url('./spell-icons-legacy-40.png') -80px -280px; height: 40px; width: 40px; display: inline-block; }
.spell-151-40 { background: url('./spell-icons-legacy-40.png') -120px -280px; height: 40px; width: 40px; display: inline-block; }
.spell-152-40 { background: url('./spell-icons-legacy-40.png') -160px -280px; height: 40px; width: 40px; display: inline-block; }
.spell-153-40 { background: url('./spell-icons-legacy-40.png') -200px -280px; height: 40px; width: 40px; display: inline-block; }
.spell-154-40 { background: url('./spell-icons-legacy-40.png') -240px -280px; height: 40px; width: 40px; display: inline-block; }
.spell-155-40 { background: url('./spell-icons-legacy-40.png') -280px -280px; height: 40px; width: 40px; display: inline-block; }
.spell-156-40 { background: url('./spell-icons-legacy-40.png') -320px -0px; height: 40px; width: 40px; display: inline-block; }
.spell-157-40 { background: url('./spell-icons-legacy-40.png') -320px -40px; height: 40px; width: 40px; display: inline-block; }
.spell-158-40 { background: url('./spell-icons-legacy-40.png') -320px -80px; height: 40px; width: 40px; display: inline-block; }
.spell-159-40 { background: url('./spell-icons-legacy-40.png') -320px -120px; height: 40px; width: 40px; display: inline-block; }
.spell-16-40 { background: url('./spell-icons-legacy-40.png') -320px -160px; height: 40px; width: 40px; display: inline-block; }
.spell-160-40 { background: url('./spell-icons-legacy-40.png') -320px -200px; height: 40px; width: 40px; display: inline-block; }
.spell-161-40 { background: url('./spell-icons-legacy-40.png') -320px -240px; height: 40px; width: 40px; display: inline-block; }
.spell-162-40 { background: url('./spell-icons-legacy-40.png') -320px -280px; height: 40px; width: 40px; display: inline-block; }
.spell-163-40 { background: url('./spell-icons-legacy-40.png') -0px -320px; height: 40px; width: 40px; display: inline-block; }
.spell-164-40 { background: url('./spell-icons-legacy-40.png') -40px -320px; height: 40px; width: 40px; display: inline-block; }
.spell-165-40 { background: url('./spell-icons-legacy-40.png') -80px -320px; height: 40px; width: 40px; display: inline-block; }
.spell-166-40 { background: url('./spell-icons-legacy-40.png') -120px -320px; height: 40px; width: 40px; display: inline-block; }
.spell-167-40 { background: url('./spell-icons-legacy-40.png') -160px -320px; height: 40px; width: 40px; display: inline-block; }
.spell-168-40 { background: url('./spell-icons-legacy-40.png') -200px -320px; height: 40px; width: 40px; display: inline-block; }
.spell-169-40 { background: url('./spell-icons-legacy-40.png') -240px -320px; height: 40px; width: 40px; display: inline-block; }
.spell-17-40 { background: url('./spell-icons-legacy-40.png') -280px -320px; height: 40px; width: 40px; display: inline-block; }
.spell-170-40 { background: url('./spell-icons-legacy-40.png') -320px -320px; height: 40px; width: 40px; display: inline-block; }
.spell-171-40 { background: url('./spell-icons-legacy-40.png') -360px -0px; height: 40px; width: 40px; display: inline-block; }
.spell-172-40 { background: url('./spell-icons-legacy-40.png') -360px -40px; height: 40px; width: 40px; display: inline-block; }
.spell-173-40 { background: url('./spell-icons-legacy-40.png') -360px -80px; height: 40px; width: 40px; display: inline-block; }
.spell-174-40 { background: url('./spell-icons-legacy-40.png') -360px -120px; height: 40px; width: 40px; display: inline-block; }
.spell-175-40 { background: url('./spell-icons-legacy-40.png') -360px -160px; height: 40px; width: 40px; display: inline-block; }
.spell-176-40 { background: url('./spell-icons-legacy-40.png') -360px -200px; height: 40px; width: 40px; display: inline-block; }
.spell-177-40 { background: url('./spell-icons-legacy-40.png') -360px -240px; height: 40px; width: 40px; display: inline-block; }
.spell-178-40 { background: url('./spell-icons-legacy-40.png') -360px -280px; height: 40px; width: 40px; display: inline-block; }
.spell-179-40 { background: url('./spell-icons-legacy-40.png') -360px -320px; height: 40px; width: 40px; display: inline-block; }
.spell-18-40 { background: url('./spell-icons-legacy-40.png') -0px -360px; height: 40px; width: 40px; display: inline-block; }
.spell-180-40 { background: url('./spell-icons-legacy-40.png') -40px -360px; height: 40px; width: 40px; display: inline-block; }
.spell-181-40 { background: url('./spell-icons-legacy-40.png') -80px -360px; height: 40px; width: 40px; display: inline-block; }
.spell-182-40 { background: url('./spell-icons-legacy-40.png') -120px -360px; height: 40px; width: 40px; display: inline-block; }
.spell-183-40 { background: url('./spell-icons-legacy-40.png') -160px -360px; height: 40px; width: 40px; display: inline-block; }
.spell-184-40 { background: url('./spell-icons-legacy-40.png') -200px -360px; height: 40px; width: 40px; display: inline-block; }
.spell-185-40 { background: url('./spell-icons-legacy-40.png') -240px -360px; height: 40px; width: 40px; display: inline-block; }
.spell-186-40 { background: url('./spell-icons-legacy-40.png') -280px -360px; height: 40px; width: 40px; display: inline-block; }
.spell-187-40 { background: url('./spell-icons-legacy-40.png') -320px -360px; height: 40px; width: 40px; display: inline-block; }
.spell-188-40 { background: url('./spell-icons-legacy-40.png') -360px -360px; height: 40px; width: 40px; display: inline-block; }
.spell-189-40 { background: url('./spell-icons-legacy-40.png') -400px -0px; height: 40px; width: 40px; display: inline-block; }
.spell-19-40 { background: url('./spell-icons-legacy-40.png') -400px -40px; height: 40px; width: 40px; display: inline-block; }
.spell-190-40 { background: url('./spell-icons-legacy-40.png') -400px -80px; height: 40px; width: 40px; display: inline-block; }
.spell-191-40 { background: url('./spell-icons-legacy-40.png') -400px -120px; height: 40px; width: 40px; display: inline-block; }
.spell-192-40 { background: url('./spell-icons-legacy-40.png') -400px -160px; height: 40px; width: 40px; display: inline-block; }
.spell-193-40 { background: url('./spell-icons-legacy-40.png') -400px -200px; height: 40px; width: 40px; display: inline-block; }
.spell-194-40 { background: url('./spell-icons-legacy-40.png') -400px -240px; height: 40px; width: 40px; display: inline-block; }
.spell-195-40 { background: url('./spell-icons-legacy-40.png') -400px -280px; height: 40px; width: 40px; display: inline-block; }
.spell-196-40 { background: url('./spell-icons-legacy-40.png') -400px -320px; height: 40px; width: 40px; display: inline-block; }
.spell-197-40 { background: url('./spell-icons-legacy-40.png') -400px -360px; height: 40px; width: 40px; display: inline-block; }
.spell-198-40 { background: url('./spell-icons-legacy-40.png') -0px -400px; height: 40px; width: 40px; display: inline-block; }
.spell-199-40 { background: url('./spell-icons-legacy-40.png') -40px -400px; height: 40px; width: 40px; display: inline-block; }
.spell-2-40 { background: url('./spell-icons-legacy-40.png') -80px -400px; height: 40px; width: 40px; display: inline-block; }
.spell-20-40 { background: url('./spell-icons-legacy-40.png') -120px -400px; height: 40px; width: 40px; display: inline-block; }
.spell-200-40 { background: url('./spell-icons-legacy-40.png') -160px -400px; height: 40px; width: 40px; display: inline-block; }
.spell-201-40 { background: url('./spell-icons-legacy-40.png') -200px -400px; height: 40px; width: 40px; display: inline-block; }
.spell-202-40 { background: url('./spell-icons-legacy-40.png') -240px -400px; height: 40px; width: 40px; display: inline-block; }
.spell-203-40 { background: url('./spell-icons-legacy-40.png') -280px -400px; height: 40px; width: 40px; display: inline-block; }
.spell-204-40 { background: url('./spell-icons-legacy-40.png') -320px -400px; height: 40px; width: 40px; display: inline-block; }
.spell-205-40 { background: url('./spell-icons-legacy-40.png') -360px -400px; height: 40px; width: 40px; display: inline-block; }
.spell-206-40 { background: url('./spell-icons-legacy-40.png') -400px -400px; height: 40px; width: 40px; display: inline-block; }
.spell-207-40 { background: url('./spell-icons-legacy-40.png') -440px -0px; height: 40px; width: 40px; display: inline-block; }
.spell-208-40 { background: url('./spell-icons-legacy-40.png') -440px -40px; height: 40px; width: 40px; display: inline-block; }
.spell-209-40 { background: url('./spell-icons-legacy-40.png') -440px -80px; height: 40px; width: 40px; display: inline-block; }
.spell-21-40 { background: url('./spell-icons-legacy-40.png') -440px -120px; height: 40px; width: 40px; display: inline-block; }
.spell-210-40 { background: url('./spell-icons-legacy-40.png') -440px -160px; height: 40px; width: 40px; display: inline-block; }
.spell-211-40 { background: url('./spell-icons-legacy-40.png') -440px -200px; height: 40px; width: 40px; display: inline-block; }
.spell-212-40 { background: url('./spell-icons-legacy-40.png') -440px -240px; height: 40px; width: 40px; display: inline-block; }
.spell-213-40 { background: url('./spell-icons-legacy-40.png') -440px -280px; height: 40px; width: 40px; display: inline-block; }
.spell-214-40 { background: url('./spell-icons-legacy-40.png') -440px -320px; height: 40px; width: 40px; display: inline-block; }
.spell-215-40 { background: url('./spell-icons-legacy-40.png') -440px -360px; height: 40px; width: 40px; display: inline-block; }
.spell-216-40 { background: url('./spell-icons-legacy-40.png') -440px -400px; height: 40px; width: 40px; display: inline-block; }
.spell-217-40 { background: url('./spell-icons-legacy-40.png') -0px -440px; height: 40px; width: 40px; display: inline-block; }
.spell-218-40 { background: url('./spell-icons-legacy-40.png') -40px -440px; height: 40px; width: 40px; display: inline-block; }
.spell-219-40 { background: url('./spell-icons-legacy-40.png') -80px -440px; height: 40px; width: 40px; display: inline-block; }
.spell-22-40 { background: url('./spell-icons-legacy-40.png') -120px -440px; height: 40px; width: 40px; display: inline-block; }
.spell-220-40 { background: url('./spell-icons-legacy-40.png') -160px -440px; height: 40px; width: 40px; display: inline-block; }
.spell-221-40 { background: url('./spell-icons-legacy-40.png') -200px -440px; height: 40px; width: 40px; display: inline-block; }
.spell-222-40 { background: url('./spell-icons-legacy-40.png') -240px -440px; height: 40px; width: 40px; display: inline-block; }
.spell-223-40 { background: url('./spell-icons-legacy-40.png') -280px -440px; height: 40px; width: 40px; display: inline-block; }
.spell-224-40 { background: url('./spell-icons-legacy-40.png') -320px -440px; height: 40px; width: 40px; display: inline-block; }
.spell-225-40 { background: url('./spell-icons-legacy-40.png') -360px -440px; height: 40px; width: 40px; display: inline-block; }
.spell-226-40 { background: url('./spell-icons-legacy-40.png') -400px -440px; height: 40px; width: 40px; display: inline-block; }
.spell-227-40 { background: url('./spell-icons-legacy-40.png') -440px -440px; height: 40px; width: 40px; display: inline-block; }
.spell-228-40 { background: url('./spell-icons-legacy-40.png') -480px -0px; height: 40px; width: 40px; display: inline-block; }
.spell-229-40 { background: url('./spell-icons-legacy-40.png') -480px -40px; height: 40px; width: 40px; display: inline-block; }
.spell-23-40 { background: url('./spell-icons-legacy-40.png') -480px -80px; height: 40px; width: 40px; display: inline-block; }
.spell-230-40 { background: url('./spell-icons-legacy-40.png') -480px -120px; height: 40px; width: 40px; display: inline-block; }
.spell-231-40 { background: url('./spell-icons-legacy-40.png') -480px -160px; height: 40px; width: 40px; display: inline-block; }
.spell-232-40 { background: url('./spell-icons-legacy-40.png') -480px -200px; height: 40px; width: 40px; display: inline-block; }
.spell-233-40 { background: url('./spell-icons-legacy-40.png') -480px -240px; height: 40px; width: 40px; display: inline-block; }
.spell-234-40 { background: url('./spell-icons-legacy-40.png') -480px -280px; height: 40px; width: 40px; display: inline-block; }
.spell-235-40 { background: url('./spell-icons-legacy-40.png') -480px -320px; height: 40px; width: 40px; display: inline-block; }
.spell-236-40 { background: url('./spell-icons-legacy-40.png') -480px -360px; height: 40px; width: 40px; display: inline-block; }
.spell-237-40 { background: url('./spell-icons-legacy-40.png') -480px -400px; height: 40px; width: 40px; display: inline-block; }
.spell-238-40 { background: url('./spell-icons-legacy-40.png') -480px -440px; height: 40px; width: 40px; display: inline-block; }
.spell-239-40 { background: url('./spell-icons-legacy-40.png') -0px -480px; height: 40px; width: 40px; display: inline-block; }
.spell-24-40 { background: url('./spell-icons-legacy-40.png') -40px -480px; height: 40px; width: 40px; display: inline-block; }
.spell-240-40 { background: url('./spell-icons-legacy-40.png') -80px -480px; height: 40px; width: 40px; display: inline-block; }
.spell-241-40 { background: url('./spell-icons-legacy-40.png') -120px -480px; height: 40px; width: 40px; display: inline-block; }
.spell-242-40 { background: url('./spell-icons-legacy-40.png') -160px -480px; height: 40px; width: 40px; display: inline-block; }
.spell-243-40 { background: url('./spell-icons-legacy-40.png') -200px -480px; height: 40px; width: 40px; display: inline-block; }
.spell-244-40 { background: url('./spell-icons-legacy-40.png') -240px -480px; height: 40px; width: 40px; display: inline-block; }
.spell-245-40 { background: url('./spell-icons-legacy-40.png') -280px -480px; height: 40px; width: 40px; display: inline-block; }
.spell-246-40 { background: url('./spell-icons-legacy-40.png') -320px -480px; height: 40px; width: 40px; display: inline-block; }
.spell-247-40 { background: url('./spell-icons-legacy-40.png') -360px -480px; height: 40px; width: 40px; display: inline-block; }
.spell-248-40 { background: url('./spell-icons-legacy-40.png') -400px -480px; height: 40px; width: 40px; display: inline-block; }
.spell-249-40 { background: url('./spell-icons-legacy-40.png') -440px -480px; height: 40px; width: 40px; display: inline-block; }
.spell-25-40 { background: url('./spell-icons-legacy-40.png') -480px -480px; height: 40px; width: 40px; display: inline-block; }
.spell-250-40 { background: url('./spell-icons-legacy-40.png') -520px -0px; height: 40px; width: 40px; display: inline-block; }
.spell-251-40 { background: url('./spell-icons-legacy-40.png') -520px -40px; height: 40px; width: 40px; display: inline-block; }
.spell-26-40 { background: url('./spell-icons-legacy-40.png') -520px -80px; height: 40px; width: 40px; display: inline-block; }
.spell-27-40 { background: url('./spell-icons-legacy-40.png') -520px -120px; height: 40px; width: 40px; display: inline-block; }
.spell-28-40 { background: url('./spell-icons-legacy-40.png') -520px -160px; height: 40px; width: 40px; display: inline-block; }
.spell-29-40 { background: url('./spell-icons-legacy-40.png') -520px -200px; height: 40px; width: 40px; display: inline-block; }
.spell-3-40 { background: url('./spell-icons-legacy-40.png') -520px -240px; height: 40px; width: 40px; display: inline-block; }
.spell-30-40 { background: url('./spell-icons-legacy-40.png') -520px -280px; height: 40px; width: 40px; display: inline-block; }
.spell-31-40 { background: url('./spell-icons-legacy-40.png') -520px -320px; height: 40px; width: 40px; display: inline-block; }
.spell-32-40 { background: url('./spell-icons-legacy-40.png') -520px -360px; height: 40px; width: 40px; display: inline-block; }
.spell-33-40 { background: url('./spell-icons-legacy-40.png') -520px -400px; height: 40px; width: 40px; display: inline-block; }
.spell-34-40 { background: url('./spell-icons-legacy-40.png') -520px -440px; height: 40px; width: 40px; display: inline-block; }
.spell-35-40 { background: url('./spell-icons-legacy-40.png') -520px -480px; height: 40px; width: 40px; display: inline-block; }
.spell-36-40 { background: url('./spell-icons-legacy-40.png') -0px -520px; height: 40px; width: 40px; display: inline-block; }
.spell-37-40 { background: url('./spell-icons-legacy-40.png') -40px -520px; height: 40px; width: 40px; display: inline-block; }
.spell-38-40 { background: url('./spell-icons-legacy-40.png') -80px -520px; height: 40px; width: 40px; display: inline-block; }
.spell-39-40 { background: url('./spell-icons-legacy-40.png') -120px -520px; height: 40px; width: 40px; display: inline-block; }
.spell-4-40 { background: url('./spell-icons-legacy-40.png') -160px -520px; height: 40px; width: 40px; display: inline-block; }
.spell-40-40 { background: url('./spell-icons-legacy-40.png') -200px -520px; height: 40px; width: 40px; display: inline-block; }
.spell-41-40 { background: url('./spell-icons-legacy-40.png') -240px -520px; height: 40px; width: 40px; display: inline-block; }
.spell-42-40 { background: url('./spell-icons-legacy-40.png') -280px -520px; height: 40px; width: 40px; display: inline-block; }
.spell-43-40 { background: url('./spell-icons-legacy-40.png') -320px -520px; height: 40px; width: 40px; display: inline-block; }
.spell-44-40 { background: url('./spell-icons-legacy-40.png') -360px -520px; height: 40px; width: 40px; display: inline-block; }
.spell-45-40 { background: url('./spell-icons-legacy-40.png') -400px -520px; height: 40px; width: 40px; display: inline-block; }
.spell-46-40 { background: url('./spell-icons-legacy-40.png') -440px -520px; height: 40px; width: 40px; display: inline-block; }
.spell-47-40 { background: url('./spell-icons-legacy-40.png') -480px -520px; height: 40px; width: 40px; display: inline-block; }
.spell-48-40 { background: url('./spell-icons-legacy-40.png') -520px -520px; height: 40px; width: 40px; display: inline-block; }
.spell-49-40 { background: url('./spell-icons-legacy-40.png') -560px -0px; height: 40px; width: 40px; display: inline-block; }
.spell-5-40 { background: url('./spell-icons-legacy-40.png') -560px -40px; height: 40px; width: 40px; display: inline-block; }
.spell-50-40 { background: url('./spell-icons-legacy-40.png') -560px -80px; height: 40px; width: 40px; display: inline-block; }
.spell-51-40 { background: url('./spell-icons-legacy-40.png') -560px -120px; height: 40px; width: 40px; display: inline-block; }
.spell-52-40 { background: url('./spell-icons-legacy-40.png') -560px -160px; height: 40px; width: 40px; display: inline-block; }
.spell-53-40 { background: url('./spell-icons-legacy-40.png') -560px -200px; height: 40px; width: 40px; display: inline-block; }
.spell-54-40 { background: url('./spell-icons-legacy-40.png') -560px -240px; height: 40px; width: 40px; display: inline-block; }
.spell-55-40 { background: url('./spell-icons-legacy-40.png') -560px -280px; height: 40px; width: 40px; display: inline-block; }
.spell-56-40 { background: url('./spell-icons-legacy-40.png') -560px -320px; height: 40px; width: 40px; display: inline-block; }
.spell-57-40 { background: url('./spell-icons-legacy-40.png') -560px -360px; height: 40px; width: 40px; display: inline-block; }
.spell-58-40 { background: url('./spell-icons-legacy-40.png') -560px -400px; height: 40px; width: 40px; display: inline-block; }
.spell-59-40 { background: url('./spell-icons-legacy-40.png') -560px -440px; height: 40px; width: 40px; display: inline-block; }
.spell-6-40 { background: url('./spell-icons-legacy-40.png') -560px -480px; height: 40px; width: 40px; display: inline-block; }
.spell-60-40 { background: url('./spell-icons-legacy-40.png') -560px -520px; height: 40px; width: 40px; display: inline-block; }
.spell-61-40 { background: url('./spell-icons-legacy-40.png') -0px -560px; height: 40px; width: 40px; display: inline-block; }
.spell-62-40 { background: url('./spell-icons-legacy-40.png') -40px -560px; height: 40px; width: 40px; display: inline-block; }
.spell-63-40 { background: url('./spell-icons-legacy-40.png') -80px -560px; height: 40px; width: 40px; display: inline-block; }
.spell-64-40 { background: url('./spell-icons-legacy-40.png') -120px -560px; height: 40px; width: 40px; display: inline-block; }
.spell-65-40 { background: url('./spell-icons-legacy-40.png') -160px -560px; height: 40px; width: 40px; display: inline-block; }
.spell-66-40 { background: url('./spell-icons-legacy-40.png') -200px -560px; height: 40px; width: 40px; display: inline-block; }
.spell-67-40 { background: url('./spell-icons-legacy-40.png') -240px -560px; height: 40px; width: 40px; display: inline-block; }
.spell-68-40 { background: url('./spell-icons-legacy-40.png') -280px -560px; height: 40px; width: 40px; display: inline-block; }
.spell-69-40 { background: url('./spell-icons-legacy-40.png') -320px -560px; height: 40px; width: 40px; display: inline-block; }
.spell-7-40 { background: url('./spell-icons-legacy-40.png') -360px -560px; height: 40px; width: 40px; display: inline-block; }
.spell-70-40 { background: url('./spell-icons-legacy-40.png') -400px -560px; height: 40px; width: 40px; display: inline-block; }
.spell-71-40 { background: url('./spell-icons-legacy-40.png') -440px -560px; height: 40px; width: 40px; display: inline-block; }
.spell-72-40 { background: url('./spell-icons-legacy-40.png') -480px -560px; height: 40px; width: 40px; display: inline-block; }
.spell-73-40 { background: url('./spell-icons-legacy-40.png') -520px -560px; height: 40px; width: 40px; display: inline-block; }
.spell-74-40 { background: url('./spell-icons-legacy-40.png') -560px -560px; height: 40px; width: 40px; display: inline-block; }
.spell-75-40 { background: url('./spell-icons-legacy-40.png') -600px -0px; height: 40px; width: 40px; display: inline-block; }
.spell-76-40 { background: url('./spell-icons-legacy-40.png') -600px -40px; height: 40px; width: 40px; display: inline-block; }
.spell-77-40 { background: url('./spell-icons-legacy-40.png') -600px -80px; height: 40px; width: 40px; display: inline-block; }
.spell-78-40 { background: url('./spell-icons-legacy-40.png') -600px -120px; height: 40px; width: 40px; display: inline-block; }
.spell-79-40 { background: url('./spell-icons-legacy-40.png') -600px -160px; height: 40px; width: 40px; display: inline-block; }
.spell-8-40 { background: url('./spell-icons-legacy-40.png') -600px -200px; height: 40px; width: 40px; display: inline-block; }
.spell-80-40 { background: url('./spell-icons-legacy-40.png') -600px -240px; height: 40px; width: 40px; display: inline-block; }
.spell-81-40 { background: url('./spell-icons-legacy-40.png') -600px -280px; height: 40px; width: 40px; display: inline-block; }
.spell-82-40 { background: url('./spell-icons-legacy-40.png') -600px -320px; height: 40px; width: 40px; display: inline-block; }
.spell-83-40 { background: url('./spell-icons-legacy-40.png') -600px -360px; height: 40px; width: 40px; display: inline-block; }
.spell-84-40 { background: url('./spell-icons-legacy-40.png') -600px -400px; height: 40px; width: 40px; display: inline-block; }
.spell-85-40 { background: url('./spell-icons-legacy-40.png') -600px -440px; height: 40px; width: 40px; display: inline-block; }
.spell-86-40 { background: url('./spell-icons-legacy-40.png') -600px -480px; height: 40px; width: 40px; display: inline-block; }
.spell-87-40 { background: url('./spell-icons-legacy-40.png') -600px -520px; height: 40px; width: 40px; display: inline-block; }
.spell-88-40 { background: url('./spell-icons-legacy-40.png') -600px -560px; height: 40px; width: 40px; display: inline-block; }
.spell-89-40 { background: url('./spell-icons-legacy-40.png') -0px -600px; height: 40px; width: 40px; display: inline-block; }
.spell-9-40 { background: url('./spell-icons-legacy-40.png') -40px -600px; height: 40px; width: 40px; display: inline-block; }
.spell-90-40 { background: url('./spell-icons-legacy-40.png') -80px -600px; height: 40px; width: 40px; display: inline-block; }
.spell-91-40 { background: url('./spell-icons-legacy-40.png') -120px -600px; height: 40px; width: 40px; display: inline-block; }
.spell-92-40 { background: url('./spell-icons-legacy-40.png') -160px -600px; height: 40px; width: 40px; display: inline-block; }
.spell-93-40 { background: url('./spell-icons-legacy-40.png') -200px -600px; height: 40px; width: 40px; display: inline-block; }
.spell-94-40 { background: url('./spell-icons-legacy-40.png') -240px -600px; height: 40px; width: 40px; display: inline-block; }
.spell-95-40 { background: url('./spell-icons-legacy-40.png') -280px -600px; height: 40px; width: 40px; display: inline-block; }
.spell-96-40 { background: url('./spell-icons-legacy-40.png') -320px -600px; height: 40px; width: 40px; display: inline-block; }
.spell-97-40 { background: url('./spell-icons-legacy-40.png') -360px -600px; height: 40px; width: 40px; display: inline-block; }
.spell-98-40 { background: url('./spell-icons-legacy-40.png') -400px -600px; height: 40px; width: 40px; display: inline-block; }
.spell-99-40 { background: url('./spell-icons-legacy-40.png') -440px -600px; height: 40px; width: 40px; display: inline-block; }
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+2
View File
File diff suppressed because one or more lines are too long
Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Some files were not shown because too many files have changed in this diff Show More