This commit is contained in:
2024-07-13 07:55:50 -07:00
commit fb568564a1
26551 changed files with 46966 additions and 0 deletions
+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;
}