Module:Game

From Path of Exile 2 Wiki
Revision as of 21:51, 19 January 2019 by >OmegaK2 (Removed unused stuff)
Jump to navigation Jump to search
Module documentation[view] [edit] [history] [purge]


This is a meta module.

This module is meant to be used only by other modules. It should not be invoked in wikitext.

Overview

This module holds some constants and functions related to path of exile in general.

Stucture

The module has the following structure

game.constants General game constants, such as the attributes or classes
game.constants.item item constants
game.constants.mod Mod constants

Data

Table Id Description Available keys Extra keys
full long_upper long_lower short_upper short_lower
game.constants.characters Character No No No No No
  • id - internal id
game.constants.ascendancy Ascendancy class No No No No No
  • id - internal id
  • character - character id
game.constants.attributes Attributes No Yes Yes Yes Yes
game.constants.damage_types Damage type No No No Yes Yes
game.constants.difficulties Difficulties Yes Yes Yes No No
  • resistances - resist cap
  • minimum_level - minimum required level to enter
  • label - one letter label
game.constants.passive_types Passive skill No Yes No Yes No
  • type - 'normal' or 'ascendancy'
game.constants.tags internal tags Yes No No No No
game.constants.item.rarity Rarity Yes Yes Yes No No
game.constants.item.class Item class Yes Yes Yes No No
game.constants.item.gem_tags Gem tags Yes Yes Yes Yes Yes
game.constants.mod.domains Mod Domain No No No Yes Yes
game.constants.mod.generation_types Mod Generation Type Yes No No Yes Yes

Usage

This module should be loaded with mw.loadData().


local game = {}

game.level_requirement =
{
    full = 'Level Requirement',
    long_upper = 'Level Requirement',
    long_lower = 'level requirement',
    short_upper = 'Req. Lv.',
    short_lower = 'req. lv.',
    icon = '[[Image:Level up icon small.png‎|link=|Lvl.]]',
}

game.constants = {}

-- Characters.dat
game.constants.characters_order = {'Witch', 'Shadow', 'Ranger', 'Duelist', 'Marauder', 'Templar', 'Scion'}
game.constants.characters = {
    Marauder = {
        id = 0,
    },
    Witch = {
        id = 1,
    },
    Scion = {
        id = 2,
    },
    Ranger = {
        id = 3,
    },
    Duelist = {
        id = 4,
    },
    Shadow = {
        id = 5,
    },
    Templar = {
        id = 6,
    },
}

game.constants.leagues = {
    ['Onslaught'] = true,
    ['Anarchy'] = true,
    ['Nemesis'] = true,
    ['Domination'] = true,
    ['Invasion'] = true,
    ['Ambush'] = true,
    ['Beyond'] = true,
    ['Rampage'] = true,
    ['Bloodlines'] = true,
    ['Torment'] = true,
    ['Tempest'] = true,
    ['Warbands'] = true,
    ['Talisman'] = true,
    ['Perandus'] = true,
    ['Prophecy'] = true,
    ['Essence'] = true,
    ['Breach'] = true,
    ['Legacy'] = true,
    ['Harbinger'] = true,
    ['Abyss'] = true,
    ['Bestiary'] = true,
    ['Incursion'] = true,
    ['Delve'] = true,
    ['Betrayal'] = true,
}

-- Ascendancy.dat
game.constants.ascendancy = {
    Juggernaut = {
        id = 0,
        character = 0,
    },
    Berserker = {
        id = 1,
        character = 0,
    },
    Chieftain = {
        id = 2,
        character = 0,
    },
    Raider = {
        id = 3,
        character = 3,
    },
    Deadeye = {
        id = 4,
        character = 3,
    },
    Pathfinder = {
        id = 5,
        character = 3,
    },
    Occultist = {
        id = 6,
        character = 1,
    },
    Elementalist = {
        id = 7,
        character = 1,
    },
    Necromancer = {
        id = 8,
        character = 1,
    },
    Slayer = {
        id = 9,
        character = 4,
    },
    Gladiator = {
        id = 10,
        character = 4,
    },
    Champion = {
        id = 11,
        character = 4,
    },
    Inquisitor = {
        id = 12,
        character = 6,
    },
    Hierophant = {
        id = 13,
        character = 6,
    },
    Guardian = {
        id = 14,
        character = 6,
    },
    Assassin = {
        id = 15,
        character = 5,
    },
    Trickster = {
        id = 16,
        character = 5,
    },
    Saboteur = {
        id = 17,
        character = 5,
    },
    Ascendant = {
        id = 18,
        character = 2,
    },
}

game.constants.attributes = {
    {
        full = 'Strength',
        long_upper = 'Strength',
        long_lower = 'strength',
        short_upper = 'Str',
        short_lower = 'str',
        icon = '[[Image:StrengthIcon small.png|link=|Str.]]',
    },
    {
        full = 'Dexterity',
        long_upper = 'Dexterity',
        long_lower = 'dexterity',
        short_upper = 'Dex',
        short_lower = 'dex',
        icon = '[[Image:DexterityIcon small.png|link=|Dex.]]',
    },
    {
        full = 'Intelligence',
        long_upper = 'Intelligence',
        long_lower = 'intelligence',
        short_upper = 'Int',
        short_lower = 'int',
        icon = '[[Image:IntelligenceIcon small.png|link=|Int.]]',
    },
}

game.constants.damage_type_order = {'physical',  'fire', 'cold', 'lightning', 'chaos'}

game.constants.damage_types = {
    ['physical'] = {
        short_upper = 'Physical',
        short_lower = 'physical',
    },
    ['fire'] = {
        short_upper = 'Fire',
        short_lower = 'fire',
    },
    ['cold'] = {
        short_upper = 'Cold',
        short_lower = 'cold',
    },
    ['lightning'] = {
        short_upper = 'Lightning',
        short_lower = 'lightning',
    },
    ['chaos'] = {
        short_upper = 'Chaos',
        short_lower = 'chaos',
    },
}

-- Tags.dat
game.constants.tags = {
    ['default'] = {},
    ['shield'] = {},
    ['ring'] = {},
    ['amulet'] = {},
    ['boots'] = {},
    ['bow'] = {},
    ['equipment'] = {},
    ['armour'] = {},
    ['weapon'] = {},
    ['wand'] = {},
    ['staff'] = {},
    ['mace'] = {},
    ['sword'] = {},
    ['dagger'] = {},
    ['claw'] = {},
    ['axe'] = {},
    ['body_armour'] = {},
    ['life_flask'] = {},
    ['mana_flask'] = {},
    ['hybrid_flask'] = {},
    ['flask'] = {},
    ['quiver'] = {},
    ['gloves'] = {},
    ['onehand'] = {},
    ['twohand'] = {},
    ['helmet'] = {},
    ['belt'] = {},
    ['gem'] = {},
    ['relic'] = {},
    ['not_str'] = {},
    ['not_dex'] = {},
    ['not_int'] = {},
    ['ranged'] = {},
    ['not_for_sale'] = {},
    ['caster'] = {},
    ['magic'] = {},
    ['rare'] = {},
    ['sceptre'] = {},
    ['str_armour'] = {},
    ['dex_armour'] = {},
    ['int_armour'] = {},
    ['str_dex_armour'] = {},
    ['str_int_armour'] = {},
    ['dex_int_armour'] = {},
    ['str_dex_int_armour'] = {},
    ['focus'] = {},
    ['utility_flask'] = {},
    ['critical_utility_flask'] = {},
    ['humanoid'] = {},
    ['mammal_beast'] = {},
    ['reptile_beast'] = {},
    ['skeleton'] = {},
    ['zombie'] = {},
    ['ghost'] = {},
    ['earth_elemental'] = {},
    ['water_elemental'] = {},
    ['demon'] = {},
    ['map'] = {},
    ['rapier'] = {},
    ['necromancer_raisable'] = {},
    ['lots_of_life'] = {},
    ['indoors_area'] = {},
    ['beach'] = {},
    ['dungeon'] = {},
    ['cave'] = {},
    ['forest'] = {},
    ['swamp'] = {},
    ['mountain'] = {},
    ['temple'] = {},
    ['urban'] = {},
    ['high_level_map'] = {},
    ['human'] = {},
    ['beast'] = {},
    ['undead'] = {},
    ['construct'] = {},
    ['insect'] = {},
    ['spider'] = {},
    ['undying'] = {},
    ['goatman'] = {},
    ['stone_construct'] = {},
    ['fishing_rod'] = {},
    ['one_hand_weapon'] = {},
    ['two_hand_weapon'] = {},
    ['atziri1'] = {},
    ['atziri2'] = {},
    ['drops_no_mods'] = {},
    ['drops_no_rares'] = {},
    ['drops_no_quality'] = {},
    ['drops_no_sockets'] = {},
    ['drops_not_dupeable'] = {},
    ['shore'] = {},
    ['darkshore'] = {},
    ['inland'] = {},
    ['prison'] = {},
    ['axis'] = {},
    ['cavern'] = {},
    ['southernforest'] = {},
    ['southernforest2'] = {},
    ['church'] = {},
    ['sins'] = {},
    ['forestdark'] = {},
    ['weavers'] = {},
    ['inca'] = {},
    ['city1'] = {},
    ['city2'] = {},
    ['city3'] = {},
    ['crematorium'] = {},
    ['catacombs'] = {},
    ['solaris'] = {},
    ['docks'] = {},
    ['sewers'] = {},
    ['barracks'] = {},
    ['lunaris'] = {},
    ['gardens'] = {},
    ['library'] = {},
    ['scepter'] = {},
    ['secret_area'] = {},
    ['limited_strongbox_benefits'] = {},
    ['no_caster_mods'] = {},
    ['no_attack_mods'] = {},
    ['red_blood'] = {},
    ['ghost_blood'] = {},
    ['mud_blood'] = {},
    ['insect_blood'] = {},
    ['bones'] = {},
    ['water'] = {},
    ['noblood'] = {},
    ['unusable_corpse'] = {},
    ['hidden_monster'] = {},
    ['devourer'] = {},
    ['wb_basic'] = {},
    ['wb_support'] = {},
    ['wb_elite'] = {},
    ['wb_leader'] = {},
    ['rare_minion'] = {},
    ['undeletable_corpse'] = {},
    ['jewel'] = {},
    ['strjewel'] = {},
    ['dexjewel'] = {},
    ['intjewel'] = {},
    ['gladiator'] = {},
    ['karui'] = {},
    ['flying'] = {},
    ['large_model'] = {},
    ['specific_weapon'] = {},
    ['two_handed_mod'] = {},
    ['dual_wielding_mod'] = {},
    ['shield_mod'] = {},
    ['one_handed_mod'] = {},
    ['melee_mod'] = {},
    ['twostonering'] = {},
    ['poison_zombie'] = {},
    ['divination_card'] = {},
    ['currency'] = {},
    ['no_divine'] = {},
    ['unique_map'] = {},
    ['low_tier_map'] = {},
    ['mid_tier_map'] = {},
    ['top_tier_map'] = {},
    ['old_map'] = {},
    ['act_boss_area'] = {},
    ['no_tempests'] = {},
    ['cannot_be_twinned'] = {},
    ['no_shroud_walker'] = {},
    ['no_echo'] = {},
    ['immobile'] = {},
    ['limited_tempests'] = {},
    ['small_staff'] = {},
    ['support_gem'] = {},
    ['level_capped_gem'] = {},
    ['no_effect_flask_mod'] = {},
    ['area_with_water'] = {},
    ['no_bloodlines'] = {},
    ['has_caster_mod'] = {},
    ['has_attack_mod'] = {},
    ['maraketh'] = {},
    ['uses_suicide_explode'] = {},
    ['cannot_be_monolith'] = {},
    ['no_zana_quests'] = {},
    ['atlas_base_type'] = {},
    ['ringatlas1'] = {},
    ['ringatlas2'] = {},
    ['amuletatlas1'] = {},
    ['amuletatlas2'] = {},
    ['beltatlas1'] = {},
    ['beltatlas2'] = {},
    ['helmetatlas1'] = {},
    ['bootsatlas1'] = {},
    ['bootsatlas2'] = {},
    ['bootsatlas3'] = {},
    ['glovesatlasstr'] = {},
    ['glovesatlasdex'] = {},
    ['glovesatlasint'] = {},
    ['shaped_map'] = {},
    ['no_boss'] = {},
    ['no_monster_packs'] = {},
    ['no_strongboxes'] = {},
    ['hall_of_grandmasters'] = {},
    ['vaults_of_atziri'] = {},
    ['cowards_trial'] = {},
    ['breach_map'] = {},
    ['breach_commander'] = {},
    ['breach_leaguestone'] = {},
    ['breachstone'] = {},
    ['breachstone_splinter'] = {},
    ['essence_leaguestone'] = {},
    ['prophecy_leaguestone'] = {},
    ['perandus_leaguestone'] = {},
    ['talisman_leaguestone'] = {},
    ['warbands_leaguestone'] = {},
    ['torment_leaguestone'] = {},
    ['rampage_leaguestone'] = {},
    ['domination_leaguestone'] = {},
    ['tempest_leaguestone'] = {},
    ['bloodlines_leaguestone'] = {},
    ['beyond_leaguestone'] = {},
    ['ambush_leaguestone'] = {},
    ['invasion_leaguestone'] = {},
    ['nemesis_leaguestone'] = {},
    ['anarchy_leaguestone'] = {},
    ['onslaught_leaguestone'] = {},
    ['god'] = {},
    ['unset_ring'] = {},
    ['no_leaguestone'] = {},
    ['chaos_warband'] = {},
    ['templar'] = {},
    ['cultist'] = {},
    ['female'] = {},
    ['str_shield'] = {},
    ['dex_shield'] = {},
    ['str_dex_shield'] = {},
    ['str_int_shield'] = {},
    ['dex_int_shield'] = {},
    ['currency_shard'] = {},
    ['harbinger_orb_shard'] = {},
    ['not_harbinger_minion'] = {},
    ['abyss_jewel_melee'] = {},
    ['abyss_jewel_ranged'] = {},
    ['abyss_jewel_caster'] = {},
    ['abyss_jewel_summoner'] = {},
    ['abyss_jewel'] = {},
    ['abyssal'] = {},
    ['unarmed'] = {},
    ['worlds_map'] = {},
    ['shaper_item'] = {},
    ['elder_item'] = {},
    ['boots_shaper'] = {},
    ['boots_elder'] = {},
    ['sword_shaper'] = {},
    ['sword_elder'] = {},
    ['gloves_shaper'] = {},
    ['gloves_elder'] = {},
    ['helmet_shaper'] = {},
    ['helmet_elder'] = {},
    ['body_armour_shaper'] = {},
    ['body_armour_elder'] = {},
    ['amulet_shaper'] = {},
    ['amulet_elder'] = {},
    ['ring_shaper'] = {},
    ['ring_elder'] = {},
    ['belt_shaper'] = {},
    ['belt_elder'] = {},
    ['quiver_shaper'] = {},
    ['quiver_elder'] = {},
    ['shield_shaper'] = {},
    ['shield_elder'] = {},
    ['2h_sword_shaper'] = {},
    ['2h_sword_elder'] = {},
    ['axe_shaper'] = {},
    ['axe_elder'] = {},
    ['mace_shaper'] = {},
    ['mace_elder'] = {},
    ['claw_shaper'] = {},
    ['claw_elder'] = {},
    ['bow_shaper'] = {},
    ['bow_elder'] = {},
    ['dagger_shaper'] = {},
    ['dagger_elder'] = {},
    ['2h_axe_shaper'] = {},
    ['2h_axe_elder'] = {},
    ['2h_mace_shaper'] = {},
    ['2h_mace_elder'] = {},
    ['staff_shaper'] = {},
    ['staff_elder'] = {},
    ['sceptre_shaper'] = {},
    ['sceptre_elder'] = {},
    ['wand_shaper'] = {},
    ['wand_elder'] = {},
    ['grants_crit_chance_support'] = {},
    ['no_legacy_of_zeal'] = {},
    ['bestiary_beast_boss'] = {},
    ['elder_occupied_map'] = {},
    ['bestiary_wilds'] = {},
    ['bestiary_sands'] = {},
    ['bestiary_caverns'] = {},
    ['bestiary_deep'] = {},
    ['no_elemental_damage_mods'] = {},
    ['no_physical_damage_mods'] = {},
    ['no_cannot_die_aura'] = {},
    ['bestiary_net'] = {},
    ['up_to_level_2_gem'] = {},
    ['up_to_level_8_gem'] = {},
    ['essence'] = {},
    ['talisman'] = {},
    ['armour_divination'] = {},
    ['weapon_divination'] = {},
    ['jewellery_divination'] = {},
    ['delve_chest'] = {},
    ['incursion_monster'] = {},
    ['fire'] = {},
    ['cold'] = {},
    ['lightning'] = {},
    ['chaos'] = {},
    ['physical'] = {},
    ['poison'] = {},
    ['bleed'] = {},
    ['life'] = {},
    ['defences'] = {},
    ['elemental'] = {},
    ['attack'] = {},
    ['minion'] = {},
    ['gem_level'] = {},
    ['aura'] = {},
    ['vaal'] = {},
    ['mana'] = {},
    ['speed'] = {},
    ['flat_life_regen'] = {},
    ['einharbeast'] = {},
    ['einharmonkey'] = {},
    ['einharcavespiders'] = {},
    ['einhardropbear'] = {},
    ['einharsnake'] = {},
    ['einharthornspiders'] = {},
    ['einharrhoa'] = {},
    ['einharbonerhoa'] = {},
    ['einharinsectspawner'] = {},
    ['einharspiker'] = {},
    ['einharkiweth'] = {},
    ['einharchimeral'] = {},
    ['einharvultureparasite'] = {},
    ['einharsandleaper'] = {},
    ['einharfuryhound'] = {},
    ['einharbull'] = {},
    ['einhargoatman'] = {},
    ['einharmountaingoat'] = {},
    ['einharshieldcrab'] = {},
    ['einharcrabparasite'] = {},
    ['einharparasite'] = {},
    ['einharscorpion'] = {},
    ['quality_currency'] = {},
    ['einharmaps'] = {},
    ['rusted_scarab'] = {},
}

game.constants.item = {}

game.constants.item.jewel_radius_to_size = {
    [800] = 'Small',
    [1200] = 'Medium',
    [1500] = 'Large',
}

game.constants.item.rarity = {
    {
        full = 'Normal',
        long_upper = 'Normal',
        long_lower = 'normal',
    },
    {
        full = 'Magic',
        long_upper = 'Magic',
        long_lower = 'magic',
    },
    {
        full = 'Rare',
        long_upper = 'Rare',
        long_lower = 'rare',
    },
    {
        full = 'Unique',
        long_upper = 'Unique',
        long_lower = 'unique',
    },
}

game.constants.rarity_order = {'normal', 'magic', 'rare', 'unique'}
game.constants.rarities = {
    normal = {
        id = 1,
        full = 'Normal',
        long_upper = 'Normal',
        long_lower = 'normal',
    },
    magic = {
        id = 2,
        full = 'Magic',
        long_upper = 'Magic',
        long_lower = 'magic',
    },
    rare = {
        id = 3,
        full = 'Rare',
        long_upper = 'Rare',
        long_lower = 'rare',
    },
    unique = {
        id = 4,
        full = 'Unique',
        long_upper = 'Unique',
        long_lower = 'unique',
    },
}

-- ItemClasses.dat
game.constants.item.classes = {
    ['LifeFlask'] = {
        id = 1,
        full = 'Life Flasks',
        long_upper = 'Life Flasks',
        long_lower = 'life flasks',
        category = 'Flasks',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['ManaFlask'] = {
        id = 2,
        full = 'Mana Flasks',
        long_upper = 'Mana Flasks',
        long_lower = 'mana flasks',
        category = 'Flasks',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['HybridFlask'] = {
        id = 3,
        full = 'Hybrid Flasks',
        long_upper = 'Hybrid Flasks',
        long_lower = 'hybrid flasks',
        category = 'Flasks',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['Currency'] = {
        id = 4,
        full = 'Currency',
        long_upper = 'Currency',
        long_lower = 'currency',
        category = 'Other',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['Amulet'] = {
        id = 5,
        full = 'Amulets',
        long_upper = 'Amulets',
        long_lower = 'amulets',
        category = 'Jewellery',
        elder_tag = 'amulet_elder',
        shaper_tag = 'amulet_shaper',
    },
    ['Ring'] = {
        id = 6,
        full = 'Rings',
        long_upper = 'Rings',
        long_lower = 'rings',
        category = 'Jewellery',
        elder_tag = 'ring_elder',
        shaper_tag = 'ring_shaper',
    },
    ['Claw'] = {
        id = 7,
        full = 'Claws',
        long_upper = 'Claws',
        long_lower = 'claws',
        category = 'One Handed Weapon',
        elder_tag = 'claw_elder',
        shaper_tag = 'claw_shaper',
    },
    ['Dagger'] = {
        id = 8,
        full = 'Daggers',
        long_upper = 'Daggers',
        long_lower = 'daggers',
        category = 'One Handed Weapon',
        elder_tag = 'dagger_elder',
        shaper_tag = 'dagger_shaper',
    },
    ['Wand'] = {
        id = 9,
        full = 'Wands',
        long_upper = 'Wands',
        long_lower = 'wands',
        category = 'One Handed Weapon',
        elder_tag = 'wand_elder',
        shaper_tag = 'wand_shaper',
    },
    ['One Hand Sword'] = {
        id = 10,
        full = 'One Hand Swords',
        long_upper = 'One Hand Swords',
        long_lower = 'one hand swords',
        category = 'One Handed Weapon',
        elder_tag = 'sword_elder',
        shaper_tag = 'sword_shaper',
    },
    ['Thrusting One Hand Sword'] = {
        id = 11,
        full = 'Thrusting One Hand Swords',
        long_upper = 'Thrusting One Hand Swords',
        long_lower = 'thrusting one hand swords',
        category = 'One Handed Weapon',
        elder_tag = 'sword_elder',
        shaper_tag = 'sword_shaper',
    },
    ['One Hand Axe'] = {
        id = 12,
        full = 'One Hand Axes',
        long_upper = 'One Hand Axes',
        long_lower = 'one hand axes',
        category = 'One Handed Weapon',
        elder_tag = 'axe_elder',
        shaper_tag = 'axe_shaper',
    },
    ['One Hand Mace'] = {
        id = 13,
        full = 'One Hand Maces',
        long_upper = 'One Hand Maces',
        long_lower = 'one hand maces',
        category = 'One Handed Weapon',
        elder_tag = 'mace_elder',
        shaper_tag = 'mace_shaper',
    },
    ['Bow'] = {
        id = 14,
        full = 'Bows',
        long_upper = 'Bows',
        long_lower = 'bows',
        category = 'Two Handed Weapon',
        elder_tag = 'bow_elder',
        shaper_tag = 'bow_shaper',
    },
    ['Staff'] = {
        id = 15,
        full = 'Staves',
        long_upper = 'Staves',
        long_lower = 'staves',
        category = 'Two Handed Weapon',
        elder_tag = 'staff_elder',
        shaper_tag = 'staff_shaper',
    },
    ['Two Hand Sword'] = {
        id = 16,
        full = 'Two Hand Swords',
        long_upper = 'Two Hand Swords',
        long_lower = 'two hand swords',
        category = 'Two Handed Weapon',
        elder_tag = '2h_sword_elder',
        shaper_tag = '2h_sword_shaper',
    },
    ['Two Hand Axe'] = {
        id = 17,
        full = 'Two Hand Axes',
        long_upper = 'Two Hand Axes',
        long_lower = 'two hand axes',
        category = 'Two Handed Weapon',
        elder_tag = '2h_axe_elder',
        shaper_tag = '2h_axe_shaper',
    },
    ['Two Hand Mace'] = {
        id = 18,
        full = 'Two Hand Maces',
        long_upper = 'Two Hand Maces',
        long_lower = 'two hand maces',
        category = 'Two Handed Weapon',
        elder_tag = '2h_mace_elder',
        shaper_tag = '2h_mace_shaper',
    },
    ['Active Skill Gem'] = {
        id = 19,
        full = 'Active Skill Gems',
        long_upper = 'Active Skill Gems',
        long_lower = 'active skill gems',
        category = 'Gems',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['Support Skill Gem'] = {
        id = 20,
        full = 'Support Skill Gems',
        long_upper = 'Support Skill Gems',
        long_lower = 'support skill gems',
        category = 'Gems',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['Quiver'] = {
        id = 21,
        full = 'Quivers',
        long_upper = 'Quivers',
        long_lower = 'quivers',
        category = 'Off-hand',
        elder_tag = 'quiver_elder',
        shaper_tag = 'quiver_shaper',
    },

    ['Belt'] = {
        id = 22,
        full = 'Belts',
        long_upper = 'Belts',
        long_lower = 'belts',
        category = 'Jewellery',
        elder_tag = 'belt_elder',
        shaper_tag = 'belt_shaper',
    },
    ['Gloves'] = {
        id = 23,
        full = 'Gloves',
        long_upper = 'Gloves',
        long_lower = 'gloves',
        category = 'Armor',
        elder_tag = 'gloves_elder',
        shaper_tag = 'gloves_shaper',
    },
    ['Boots'] = {
        id = 24,
        full = 'Boots',
        long_upper = 'Boots',
        long_lower = 'boots',
        category = 'Armor',
        elder_tag = 'boots_elder',
        shaper_tag = 'boots_shaper',
    },
    ['Body Armour'] = {
        id = 25,
        full = 'Body Armours',
        long_upper = 'Body Armours',
        long_lower = 'body armours',
        category = 'Armor',
        elder_tag = 'body_armour_elder',
        shaper_tag = 'body_armour_shaper',
    },
    ['Helmet'] = {
        id = 26,
        full = 'Helmets',
        long_upper = 'Helmets',
        long_lower = 'helmets',
        category = 'Armor',
        elder_tag = 'helmet_elder',
        shaper_tag = 'helmet_shaper',
    },
    ['Shield'] = {
        id = 27,
        full = 'Shields',
        long_upper = 'Shields',
        long_lower = 'shields',
        category = 'Off-hand',
        elder_tag = 'shield_elder',
        shaper_tag = 'shield_shaper',
    },
    ['SmallRelic'] = {
        id = 28,
        full = 'Small Relics',
        long_upper = 'Small Relics',
        long_lower = 'small relics',
        category = '',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['MediumRelic'] = {
        id = 29,
        full = 'Medium Relics',
        long_upper = 'Medium Relics',
        long_lower = 'medium relics',
        category = '',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['LargeRelic'] = {
        id = 30,
        full = 'Large Relics',
        long_upper = 'Large Relics',
        long_lower = 'large relics',
        category = '',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['StackableCurrency'] = {
        id = 31,
        full = 'Stackable Currency',
        long_upper = 'Stackable Currency',
        long_lower = 'stackable currency',
        category = '',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['QuestItem'] = {
        id = 32,
        full = 'Quest Items',
        long_upper = 'Quest Items',
        long_lower = 'quest items',
        category = '',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['Sceptre'] = {
        id = 33,
        full = 'Sceptres',
        long_upper = 'Sceptres',
        long_lower = 'sceptres',
        category = 'One Handed Weapon',
        elder_tag = 'sceptre_elder',
        shaper_tag = 'sceptre_shaper',
    },
    ['UtilityFlask'] = {
        id = 34,
        full = 'Utility Flasks',
        long_upper = 'Utility Flasks',
        long_lower = 'utility flasks',
        category = 'Flasks',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['UtilityFlaskCritical'] = {
        id = 35,
        full = 'Critical Utility Flasks',
        long_upper = 'Critical Utility Flasks',
        long_lower = 'critical utility flasks',
        category = '',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['Map'] = {
        id = 36,
        full = 'Maps',
        long_upper = 'Maps',
        long_lower = 'maps',
        category = 'Other',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['Unarmed'] = {
        id = 37,
        full = '',
        long_upper = '',
        long_lower = '',
        category = '',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['FishingRod'] = {
        id = 38,
        full = 'Fishing Rods',
        long_upper = 'Fishing Rods',
        long_lower = 'fishing rods',
        category = '',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['MapFragment'] = {
        id = 39,
        full = 'Map Fragments',
        long_upper = 'Map Fragments',
        long_lower = 'map fragments',
        category = 'Other',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['HideoutDoodad'] = {
        id = 40,
        full = 'Hideout Doodads',
        long_upper = 'Hideout Doodads',
        long_lower = 'hideout doodads',
        category = '',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['Microtransaction'] = {
        id = 41,
        full = 'Microtransactions',
        long_upper = 'Microtransactions',
        long_lower = 'microtransactions',
        category = 'Microtransactions',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['Jewel'] = {
        id = 42,
        full = 'Jewel',
        long_upper = 'Jewel',
        long_lower = 'jewel',
        category = 'Other',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['DivinationCard'] = {
        id = 43,
        full = 'Divination Card',
        long_upper = 'Divination Card',
        long_lower = 'divination card',
        category = 'Other',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['LabyrinthItem'] = {
        id = 44,
        full = 'Labyrinth Item',
        long_upper = 'Labyrinth Item',
        long_lower = 'labyrinth item',
        category = '',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['LabyrinthTrinket'] = {
        id = 45,
        full = 'Labyrinth Trinket',
        long_upper = 'Labyrinth Trinket',
        long_lower = 'labyrinth trinket',
        category = '',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['LabyrinthMapItem'] = {
        id = 46,
        full = 'Labyrinth Map Item',
        long_upper = 'Labyrinth Map Item',
        long_lower = 'labyrinth map item',
        category = '',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['MiscMapItem'] = {
        id = 47,
        full = 'Misc Map Items',
        long_upper = 'Misc Map Items',
        long_lower = 'misc map items',
        category = 'Other',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['Leaguestone'] = {
        id = 48,
        full = 'Leaguestones',
        long_upper = 'Leaguestones',
        long_lower = 'leaguestones',
        category = 'Other',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['PantheonSoul'] = {
        id = 49,
        full = 'Pantheon Soul',
        long_upper = 'Pantheon Soul',
        long_lower = 'pantheon soul',
        category = '',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['UniqueFragment'] = {
        id = 50,
        full = 'Piece',
        long_upper = 'Piece',
        long_lower = 'piece',
        category = 'Other',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['AbyssJewel'] = {
        id = 51,
        full = 'Abyss Jewel',
        long_upper = 'Abyss Jewel',
        long_lower = 'abyss jewel',
        category = 'Other',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['IncursionItem'] = {
        id = 52,
        full = 'Incursion Item',
        long_upper = 'Incursion Item',
        long_lower = 'incursion item',
        category = '',
        elder_tag = nil,
        shaper_tag = nil,
    },
    ['DelveSocketableCurrency'] = {
        id = 53,
        full = 'Delve Socketable Currency',
        long_upper = 'Delve Socketable Currency',
        long_lower = 'delve socketable currency',
        category = '',
        elder_tag = nil,
        shaper_tag = nil,
    },
}

game.constants.item.gem_tags = {
    {
        full = 'Fire',
        long_upper = 'Fire',
        long_lower = 'fire',
        short_upper = 'Fire',
        short_lower = 'fire',
    },
    {
        full = 'Cold',
        long_upper = 'Cold',
        long_lower = 'cold',
        short_upper = 'Cold',
        short_lower = 'cold',
    },
    {
        full = 'Lightning',
        long_upper = 'Lightning',
        long_lower = 'lightning',
        short_upper = 'Lightning',
        short_lower = 'lightning',
    },
    {
        full = 'Chaos',
        long_upper = 'Chaos',
        long_lower = 'chaos',
        short_upper = 'Chaos',
        short_lower = 'chaos',
    },
    {
        full = 'Spell',
        long_upper = 'Spell',
        long_lower = 'spell',
        short_upper = 'Spell',
        short_lower = 'spell',
    },
    {
        full = 'Projectile',
        long_upper = 'Projectile',
        long_lower = 'projectile',
        short_upper = 'Projectile',
        short_lower = 'projectile',
    },
    {
        full = 'Bow',
        long_upper = 'Bow',
        long_lower = 'bow',
        short_upper = 'Bow',
        short_lower = 'bow',
    },
    {
        full = 'Melee',
        long_upper = 'Melee',
        long_lower = 'melee',
        short_upper = 'Melee',
        short_lower = 'melee',
    },
    {
        full = 'Minion',
        long_upper = 'Minion',
        long_lower = 'minion',
        short_upper = 'Minion',
        short_lower = 'minion',
    },
    {
        full = '',
        long_upper = '',
        long_lower = 'strength',
        short_upper = '',
        short_lower = 'strength',
    },
    {
        full = '',
        long_upper = '',
        long_lower = 'dexterity',
        short_upper = '',
        short_lower = 'dexterity',
    },
    {
        full = '',
        long_upper = '',
        long_lower = 'intelligence',
        short_upper = '',
        short_lower = 'intelligence',
    },
    {
        full = 'Aura',
        long_upper = 'Aura',
        long_lower = 'aura',
        short_upper = 'Aura',
        short_lower = 'aura',
    },
    {
        full = 'Attack',
        long_upper = 'Attack',
        long_lower = 'attack',
        short_upper = 'Attack',
        short_lower = 'attack',
    },
    {
        full = 'AoE',
        long_upper = 'AoE',
        long_lower = 'area',
        short_upper = 'AoE',
        short_lower = 'area',
    },
    {
        full = 'Duration',
        long_upper = 'Duration',
        long_lower = 'duration',
        short_upper = 'Duration',
        short_lower = 'duration',
    },
    {
        full = 'Support',
        long_upper = 'Support',
        long_lower = 'support',
        short_upper = 'Support',
        short_lower = 'support',
    },
    {
        full = 'Curse',
        long_upper = 'Curse',
        long_lower = 'curse',
        short_upper = 'Curse',
        short_lower = 'curse',
    },
    {
        full = 'Chaining',
        long_upper = 'Chaining',
        long_lower = 'chaining',
        short_upper = 'Chaining',
        short_lower = 'chaining',
    },
    {
        full = 'Totem',
        long_upper = 'Totem',
        long_lower = 'totem',
        short_upper = 'Totem',
        short_lower = 'totem',
    },
    {
        full = 'Trap',
        long_upper = 'Trap',
        long_lower = 'trap',
        short_upper = 'Trap',
        short_lower = 'trap',
    },
    {
        full = 'Mine',
        long_upper = 'Mine',
        long_lower = 'mine',
        short_upper = 'Mine',
        short_lower = 'mine',
    },
    {
        full = 'Movement',
        long_upper = 'Movement',
        long_lower = 'movement',
        short_upper = 'Movement',
        short_lower = 'movement',
    },
    {
        full = 'Cast',
        long_upper = 'Cast',
        long_lower = 'cast',
        short_upper = 'Cast',
        short_lower = 'cast',
    },
    {
        full = 'Vaal',
        long_upper = 'Vaal',
        long_lower = 'vaal',
        short_upper = 'Vaal',
        short_lower = 'vaal',
    },
    {
        full = '',
        long_upper = '',
        long_lower = 'active_skill',
        short_upper = '',
        short_lower = 'active_skill',
    },
    {
        full = 'Trigger',
        long_upper = 'Trigger',
        long_lower = 'trigger',
        short_upper = 'Trigger',
        short_lower = 'trigger',
    },
    {
        full = 'Warcry',
        long_upper = 'Warcry',
        long_lower = 'warcry',
        short_upper = 'Warcry',
        short_lower = 'warcry',
    },
    {
        full = 'Golem',
        long_upper = 'Golem',
        long_lower = 'golem',
        short_upper = 'Golem',
        short_lower = 'golem',
    },
    {
        full = 'Channelling',
        long_upper = 'Channelling',
        long_lower = 'channelling',
        short_upper = 'Channelling',
        short_lower = 'channelling',
    },
    {
        full = 'Herald',
        long_upper = 'Herald',
        long_lower = 'herald',
        short_upper = 'Herald',
        short_lower = 'herald',
    },
    {
        full = 'Brand',
        long_upper = 'Brand',
        long_lower = 'brand',
        short_upper = 'Brand',
        short_lower = 'brand',
    },
}

-- NPCMaster.dat
game.constants.masters = {
    {
        full = 'Navali',
        long_upper = 'Navali',
        short_upper = 'Navali',
        short_lower = 'navali',
    },
    {
        full = 'Einhar, Beastmaster',
        long_upper = 'Einhar, Beastmaster',
        short_upper = 'Einhar',
        short_lower = 'einhar',
    },
    {
        full = 'Alva, Master Explorer',
        long_upper = 'Alva, Master Explorer',
        short_upper = 'Alva',
        short_lower = 'alva',
    },
    {
        full = 'Helena',
        long_upper = 'Helena',
        short_upper = 'Helena',
        short_lower = 'helena',
    },
    {
        full = 'Niko, Master of the Depths',
        long_upper = 'Niko, Master of the Depths',
        short_upper = 'Niko',
        short_lower = 'niko',
    },
    {
        full = 'Jun, Veiled Master',
        long_upper = 'Jun, Veiled Master',
        short_upper = 'Jun',
        short_lower = 'jun',
    },
    {
        full = 'Zana, Master Cartographer',
        long_upper = 'Zana, Master Cartographer',
        short_upper = 'Zana',
        short_lower = 'zana',
    },
}

game.constants.mod = {}
-- ModDomains.dat, reversed
game.constants.mod.domains = {
    [1] = {
        short_upper = 'Item',
        short_lower = 'item',
    },
    [2] = {
        short_upper = 'Flask',
        short_lower = 'flask',
    },
    [3] = {
        short_upper = 'Monster',
        short_lower = 'monster',
    },
    [4] = {
        short_upper = 'Chest',
        short_lower = 'chest',
    },
    [5] = {
        short_upper = 'Area',
        short_lower = 'area',
    },
    --[6] = {},
    --[7] = {},
    --[8] = {},
    [9] = {
        short_upper = 'Crafted',
        short_lower = 'crafted',
    },
    [10] = {
        short_upper = 'Misc',
        short_lower = 'misc',
    },
    [11] = {
        short_upper = 'Atlas',
        short_lower = 'atlas',
    },
    [12] = {
        short_upper = 'Leaguestone',
        short_lower = 'leaguestone',
    },
    [13] = {
        short_upper = 'Abyss Jewel',
        short_lower = 'abyss_jewel',
    },
    [14] = {
        short_upper = 'Map Device',
        short_lower = 'map_device',
    },
    [15] = {
        short_upper = 'Dummy',
        short_lower = 'dummy',
    },
    [16] = {
        short_upper = 'Delve',
        short_lower = 'delve',
    },
    [17] = {
        short_upper = 'Delve Area',
        short_lower = 'delve area',
    },
}

-- ModGenerationTypes.dat
game.constants.mod.generation_types = {
    [1] = {
        full = 'Prefix',
        short_upper = 'Prefix',
        short_lower = 'prefix',
    },
    [2] = {
        full = 'Suffix',
        short_upper = 'Suffix',
        short_lower = 'suffix',
    },
    -- given mod
    [3] = {
        full = 'Unique',
        short_upper = 'Unique',
        short_lower = 'unique',
    },
    [4] = {
        full = 'Nemesis',
        short_upper = 'Nemesis',
        short_lower = 'nemesis',
    },
    [5] = {
        full = 'Corrupted',
        short_upper = 'Corrupted',
        short_lower = 'corrupted',
    },
    [6] = {
        full = 'Bloodlines',
        short_upper = 'Bloodlines',
        short_lower = 'bloodlines',
    },
    [7] = {
        full = 'Torment',
        short_upper = 'Torment',
        short_lower = 'torment',
    },
    [8] = {
        full = 'Tempest',
        short_upper = 'Tempest',
        short_lower = 'tempest',
    },
    [9] = {
        full = 'Talisman',
        short_upper = 'Talisman',
        short_lower = 'talisman',
    },
    [10] = {
        full = 'Enchantment',
        short_upper = 'Enchantment',
        short_lower = 'enchantment',
    },
    [11] = {
        full = 'Essence',
        short_upper = 'Essence',
        short_lower = 'essence',
    },
    [12] = {},
    [13] = {
        full = 'Bestiary',
        short_upper = 'Bestiary',
        short_lower = 'bestiary',
    },
    [14] = {
        full = 'Delve Area',
        short_upper = 'Delve Area',
        short_lower = 'delve area',
    },
}

return game