Module:Game: Difference between revisions

From Path of Exile Wiki
Jump to navigation Jump to search
>OmegaK2
(added game leagues)
>OmegaK2
(Added legacy league and changed the format of tags to assoc array (will temp break things))
Line 56: Line 56:
     ['Essence'] = true,
     ['Essence'] = true,
     ['Breach'] = true,
     ['Breach'] = true,
    ['Legacy'] = true,
}
}


Line 255: Line 256:
-- Tags.dat
-- Tags.dat
game.constants.tags = {
game.constants.tags = {
     {
     ['default'] = {},
        full = 'default',
     ['shield'] = {},
    },
     ['ring'] = {},
     {
     ['amulet'] = {},
        full = 'shield',
     ['boots'] = {},
    },
     ['bow'] = {},
     {
     ['equipment'] = {},
        full = 'ring',
     ['armour'] = {},
    },
     ['weapon'] = {},
     {
     ['wand'] = {},
        full = 'amulet',
     ['staff'] = {},
    },
     ['mace'] = {},
     {
     ['sword'] = {},
        full = 'boots',
     ['dagger'] = {},
    },
     ['claw'] = {},
     {
     ['axe'] = {},
        full = 'bow',
     ['body_armour'] = {},
    },
     ['life_flask'] = {},
     {
     ['mana_flask'] = {},
        full = 'equipment',
     ['hybrid_flask'] = {},
    },
     ['flask'] = {},
     {
     ['quiver'] = {},
        full = 'armour',
     ['gloves'] = {},
    },
     ['onehand'] = {},
     {
     ['twohand'] = {},
        full = 'weapon',
     ['helmet'] = {},
    },
     ['belt'] = {},
     {
     ['gem'] = {},
        full = 'wand',
     ['relic'] = {},
    },
     ['not_str'] = {},
     {
     ['not_dex'] = {},
        full = 'staff',
     ['not_int'] = {},
    },
     ['ranged'] = {},
     {
     ['not_for_sale'] = {},
        full = 'mace',
     ['caster'] = {},
    },
     ['magic'] = {},
     {
     ['rare'] = {},
        full = 'sword',
     ['sceptre'] = {},
    },
     ['str_armour'] = {},
     {
     ['dex_armour'] = {},
        full = 'dagger',
     ['int_armour'] = {},
    },
     ['str_dex_armour'] = {},
     {
     ['str_int_armour'] = {},
        full = 'claw',
     ['dex_int_armour'] = {},
    },
     ['str_dex_int_armour'] = {},
     {
     ['focus'] = {},
        full = 'axe',
     ['utility_flask'] = {},
    },
     ['critical_utility_flask'] = {},
     {
     ['humanoid'] = {},
        full = 'body_armour',
     ['mammal_beast'] = {},
    },
     ['reptile_beast'] = {},
     {
     ['skeleton'] = {},
        full = 'life_flask',
     ['zombie'] = {},
    },
     ['ghost'] = {},
     {
     ['earth_elemental'] = {},
        full = 'mana_flask',
     ['water_elemental'] = {},
    },
     ['demon'] = {},
     {
     ['map'] = {},
        full = 'hybrid_flask',
     ['rapier'] = {},
    },
     ['necromancer_raisable'] = {},
     {
     ['lots_of_life'] = {},
        full = 'flask',
     ['indoors_area'] = {},
    },
     ['beach'] = {},
     {
     ['dungeon'] = {},
        full = 'quiver',
     ['cave'] = {},
    },
     ['forest'] = {},
     {
     ['swamp'] = {},
        full = 'gloves',
     ['mountain'] = {},
    },
     ['temple'] = {},
     {
     ['urban'] = {},
        full = 'onehand',
     ['high_level_map'] = {},
    },
     ['human'] = {},
     {
     ['beast'] = {},
        full = 'twohand',
     ['undead'] = {},
    },
     ['construct'] = {},
     {
     ['insect'] = {},
        full = 'helmet',
     ['spider'] = {},
    },
     ['undying'] = {},
     {
     ['goatman'] = {},
        full = 'belt',
     ['stone_construct'] = {},
    },
     ['fishing_rod'] = {},
     {
     ['one_hand_weapon'] = {},
        full = 'gem',
     ['two_hand_weapon'] = {},
    },
     ['atziri1'] = {},
     {
     ['atziri2'] = {},
        full = 'relic',
     ['drops_no_mods'] = {},
    },
     ['drops_no_rares'] = {},
     {
     ['drops_no_quality'] = {},
        full = 'not_str',
     ['drops_no_sockets'] = {},
    },
     ['drops_not_dupeable'] = {},
     {
     ['shore'] = {},
        full = 'not_dex',
     ['darkshore'] = {},
    },
     ['inland'] = {},
     {
     ['prison'] = {},
        full = 'not_int',
     ['axis'] = {},
    },
     ['cavern'] = {},
     {
     ['southernforest'] = {},
        full = 'ranged',
     ['southernforest2'] = {},
    },
     ['church'] = {},
     {
     ['sins'] = {},
        full = 'not_for_sale',
     ['forestdark'] = {},
    },
     ['weavers'] = {},
     {
     ['inca'] = {},
        full = 'caster',
     ['city1'] = {},
    },
     ['city2'] = {},
     {
     ['city3'] = {},
        full = 'magic',
     ['crematorium'] = {},
    },
     ['catacombs'] = {},
     {
     ['solaris'] = {},
        full = 'rare',
     ['docks'] = {},
    },
     ['sewers'] = {},
     {
     ['barracks'] = {},
        full = 'sceptre',
     ['lunaris'] = {},
    },
     ['gardens'] = {},
     {
     ['library'] = {},
        full = 'str_armour',
     ['scepter'] = {},
    },
     ['secret_area'] = {},
     {
     ['limited_strongbox_benefits'] = {},
        full = 'dex_armour',
     ['no_caster_mods'] = {},
    },
     ['no_attack_mods'] = {},
     {
     ['red_blood'] = {},
        full = 'int_armour',
     ['ghost_blood'] = {},
    },
     ['mud_blood'] = {},
     {
     ['insect_blood'] = {},
        full = 'str_dex_armour',
     ['bones'] = {},
    },
     ['water'] = {},
     {
     ['noblood'] = {},
        full = 'str_int_armour',
     ['unusable_corpse'] = {},
    },
     ['hidden_monster'] = {},
     {
     ['devourer'] = {},
        full = 'dex_int_armour',
     ['wb_basic'] = {},
    },
     ['wb_support'] = {},
     {
     ['wb_elite'] = {},
        full = 'str_dex_int_armour',
     ['wb_leader'] = {},
    },
     ['rare_minion'] = {},
     {
     ['undeletable_corpse'] = {},
        full = 'focus',
     ['jewel'] = {},
    },
     ['strjewel'] = {},
     {
     ['dexjewel'] = {},
        full = 'utility_flask',
     ['intjewel'] = {},
    },
     ['gladiator'] = {},
     {
     ['karui'] = {},
        full = 'critical_utility_flask',
     ['flying'] = {},
    },
     ['large_model'] = {},
     {
     ['specific_weapon'] = {},
        full = 'humanoid',
     ['two_handed_mod'] = {},
    },
     ['dual_wielding_mod'] = {},
     {
     ['shield_mod'] = {},
        full = 'mammal_beast',
     ['one_handed_mod'] = {},
    },
     ['melee_mod'] = {},
     {
     ['twostonering'] = {},
        full = 'reptile_beast',
     ['poison_zombie'] = {},
    },
     ['divination_card'] = {},
     {
     ['currency'] = {},
        full = 'skeleton',
     ['no_divine'] = {},
    },
     ['unique_map'] = {},
     {
     ['low_tier_map'] = {},
        full = 'zombie',
     ['mid_tier_map'] = {},
    },
     ['top_tier_map'] = {},
     {
     ['old_map'] = {},
        full = 'ghost',
     ['act_boss_area'] = {},
    },
     ['no_tempests'] = {},
     {
     ['cannot_be_twinned'] = {},
        full = 'earth_elemental',
     ['no_shroud_walker'] = {},
    },
     ['no_echo'] = {},
     {
     ['immobile'] = {},
        full = 'water_elemental',
     ['limited_tempests'] = {},
    },
     ['small_staff'] = {},
     {
     ['tier15_map'] = {},
        full = 'demon',
     ['support_gem'] = {},
    },
     ['level_capped_gem'] = {},
     {
     ['tier14_map'] = {},
        full = 'map',
     ['no_effect_flask_mod'] = {},
    },
     ['area_with_water'] = {},
     {
     ['no_bloodlines'] = {},
        full = 'rapier',
     ['has_caster_mod'] = {},
    },
     ['has_attack_mod'] = {},
     {
     ['tier5_map'] = {},
        full = 'necromancer_raisable',
     ['maraketh'] = {},
    },
     ['uses_suicide_explode'] = {},
     {
     ['cannot_be_monolith'] = {},
        full = 'lots_of_life',
     ['no_zana_quests'] = {},
    },
     ['atlas_base_type'] = {},
     {
     ['ringatlas1'] = {},
        full = 'indoors_area',
     ['ringatlas2'] = {},
    },
     ['amuletatlas1'] = {},
     {
     ['amuletatlas2'] = {},
        full = 'beach',
     ['beltatlas1'] = {},
    },
     ['beltatlas2'] = {},
     {
     ['helmetatlas1'] = {},
        full = 'dungeon',
     ['bootsatlas1'] = {},
    },
     ['bootsatlas2'] = {},
     {
     ['bootsatlas3'] = {},
        full = 'cave',
     ['glovesatlasstr'] = {},
    },
     ['glovesatlasdex'] = {},
     {
     ['glovesatlasint'] = {},
        full = 'forest',
     ['shaped_map'] = {},
    },
     ['no_boss'] = {},
     {
     ['no_monster_packs'] = {},
        full = 'swamp',
     ['no_strongboxes'] = {},
    },
     ['hall_of_grandmasters'] = {},
     {
     ['vaults_of_atziri'] = {},
        full = 'mountain',
     ['cowards_trial'] = {},
    },
     ['breach_map'] = {},
     {
     ['breach_commander'] = {},
        full = 'temple',
    },
     {
        full = 'urban',
    },
     {
        full = 'high_level_map',
    },
     {
        full = 'human',
    },
     {
        full = 'beast',
    },
     {
        full = 'undead',
    },
     {
        full = 'construct',
    },
     {
        full = 'insect',
    },
     {
        full = 'spider',
    },
     {
        full = 'undying',
    },
     {
        full = 'goatman',
    },
     {
        full = 'stone_construct',
    },
     {
        full = 'fishing_rod',
    },
     {
        full = 'one_hand_weapon',
    },
     {
        full = 'two_hand_weapon',
    },
     {
        full = 'atziri1',
    },
     {
        full = 'atziri2',
    },
     {
        full = 'drops_no_mods',
    },
     {
        full = 'drops_no_rares',
    },
     {
        full = 'drops_no_quality',
    },
     {
        full = 'drops_no_sockets',
    },
     {
        full = 'drops_not_dupeable',
    },
     {
        full = 'shore',
    },
     {
        full = 'darkshore',
    },
     {
        full = 'inland',
    },
     {
        full = 'prison',
    },
     {
        full = 'axis',
    },
     {
        full = 'cavern',
    },
     {
        full = 'southernforest',
    },
     {
        full = 'southernforest2',
    },
     {
        full = 'church',
    },
     {
        full = 'sins',
    },
     {
        full = 'forestdark',
    },
     {
        full = 'weavers',
    },
     {
        full = 'inca',
    },
     {
        full = 'city1',
    },
     {
        full = 'city2',
    },
     {
        full = 'city3',
    },
     {
        full = 'crematorium',
    },
     {
        full = 'catacombs',
    },
     {
        full = 'solaris',
    },
     {
        full = 'docks',
    },
     {
        full = 'sewers',
    },
     {
        full = 'barracks',
    },
     {
        full = 'lunaris',
    },
     {
        full = 'gardens',
    },
     {
        full = 'library',
    },
     {
        full = 'scepter',
    },
     {
        full = 'secret_area',
    },
     {
        full = 'limited_strongbox_benefits',
    },
     {
        full = 'no_caster_mods',
    },
     {
        full = 'no_attack_mods',
    },
     {
        full = 'red_blood',
    },
     {
        full = 'ghost_blood',
    },
     {
        full = 'mud_blood',
    },
     {
        full = 'insect_blood',
    },
     {
        full = 'bones',
    },
     {
        full = 'water',
    },
     {
        full = 'noblood',
    },
     {
        full = 'unusable_corpse',
    },
     {
        full = 'hidden_monster',
    },
     {
        full = 'devourer',
    },
     {
        full = 'wb_basic',
    },
     {
        full = 'wb_support',
    },
     {
        full = 'wb_elite',
    },
     {
        full = 'wb_leader',
    },
     {
        full = 'rare_minion',
    },
     {
        full = 'undeletable_corpse',
    },
     {
        full = 'jewel',
    },
     {
        full = 'strjewel',
    },
     {
        full = 'dexjewel',
    },
     {
        full = 'intjewel',
    },
     {
        full = 'gladiator',
    },
     {
        full = 'karui',
    },
     {
        full = 'flying',
    },
     {
        full = 'large_model',
    },
     {
        full = 'specific_weapon',
    },
     {
        full = 'two_handed_mod',
    },
     {
        full = 'dual_wielding_mod',
    },
     {
        full = 'shield_mod',
    },
     {
        full = 'one_handed_mod',
    },
     {
        full = 'melee_mod',
    },
     {
        full = 'twostonering',
    },
     {
        full = 'poison_zombie',
    },
     {
        full = 'divination_card',
    },
     {
        full = 'currency',
    },
     {
        full = 'no_divine',
    },
     {
        full = 'unique_map',
    },
     {
        full = 'low_tier_map',
    },
     {
        full = 'mid_tier_map',
    },
     {
        full = 'top_tier_map',
    },
     {
        full = 'old_map',
    },
     {
        full = 'act_boss_area',
    },
     {
        full = 'no_tempests',
    },
     {
        full = 'cannot_be_twinned',
    },
     {
        full = 'no_shroud_walker',
    },
     {
        full = 'no_echo',
    },
     {
        full = 'immobile',
    },
     {
        full = 'limited_tempests',
    },
     {
        full = 'small_staff',
    },
     {
        full = 'tier15_map',
    },
     {
        full = 'support_gem',
    },
     {
        full = 'level_capped_gem',
    },
     {
        full = 'tier14_map',
    },
     {
        full = 'no_effect_flask_mod',
    },
     {
        full = 'area_with_water',
    },
     {
        full = 'no_bloodlines',
    },
     {
        full = 'has_caster_mod',
    },
     {
        full = 'has_attack_mod',
    },
     {
        full = 'tier5_map',
    },
     {
        full = 'maraketh',
    },
     {
        full = 'uses_suicide_explode',
    },
     {
        full = 'cannot_be_monolith',
    },
     {
        full = 'no_zana_quests',
    },
     {
        full = 'atlas_base_type',
    },
     {
        full = 'ringatlas1',
    },
     {
        full = 'ringatlas2',
    },
     {
        full = 'amuletatlas1',
    },
     {
        full = 'amuletatlas2',
    },
     {
        full = 'beltatlas1',
    },
     {
        full = 'beltatlas2',
    },
     {
        full = 'helmetatlas1',
    },
     {
        full = 'bootsatlas1',
    },
     {
        full = 'bootsatlas2',
    },
     {
        full = 'bootsatlas3',
    },
     {
        full = 'glovesatlasstr',
    },
     {
        full = 'glovesatlasdex',
    },
     {
        full = 'glovesatlasint',
    },
     {
        full = 'shaped_map',
    },
     {
        full = 'no_boss',
    },
     {
        full = 'no_monster_packs',
    },
     {
        full = 'no_strongboxes',
    },
     {
        full = 'hall_of_grandmasters',
    },
     {
        full = 'vaults_of_atziri',
    },
     {
        full = 'cowards_trial',
    },
     {
        full = 'breach_map',
     },
}
}



Revision as of 15:42, 3 March 2017

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
  • id - internal id
game.constants.ascendancy Ascendancy class
  • id - internal id
  • character - character id
game.constants.attributes Attributes
game.constants.damage_types Damage type
game.constants.difficulties Difficulties
  • resistances - resist cap
  • minimum_level - minimum required level to enter
  • label - one letter label
game.constants.passive_types Passive skill
  • type - 'normal' or 'ascendancy'
game.constants.tags internal tags
game.constants.item.rarity Rarity
game.constants.item.class Item class
game.constants.item.gem_tags Gem tags
game.constants.mod.domains Mod Domain
game.constants.mod.generation_types Mod Generation Type

Usage

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

ru:Модуль:Game de:Modul:Game

local game = {}

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

game.constants = {}

-- Characters.dat
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,
}

-- 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_types = {
    {
        short_upper = 'Physical',
        short_lower = 'physical',
    },
    {
        short_upper = 'Fire',
        short_lower = 'fire',
    },
    {
        short_upper = 'Cold',
        short_lower = 'cold',
    },
    {
        short_upper = 'Lightning',
        short_lower = 'lightning',
    },
    {
        short_upper = 'Chaos',
        short_lower = 'chaos',
    },
}

-- Difficulties.dat
game.constants.difficulties = {
    {
        full = 'Normal',
        long_upper = 'Normal',
        long_lower = 'normal',
        resistances = 100,
        minimum_level = 0,
        label = 'N',
    },
    {
        full = 'Cruel',
        long_upper = 'Cruel',
        long_lower = 'cruel',
        resistances = 120,
        minimum_level = 20,
        label = 'C',
    },
    {
        full = 'Merciless',
        long_upper = 'Merciless',
        long_lower = 'merciless',
        resistances = 160,
        minimum_level = 35,
        label = 'M',
    },
}

game.constants.difficulties_name_to_index = {
    Normal = 1,
    Cruel = 2,
    Merciless = 3,
    normal = 1,
    cruel = 2,
    merciless = 3,
}

game.constants.passive_types = {
    ['basic'] = {
        short_upper = 'Basic',
        long_upper = 'Basic passive skill',
        type = 'normal',
    },
    ['notable'] = {
        short_upper = 'Notable',
        long_upper = 'Notable passive skill',
        type = 'normal',
    },
    ['keystone'] = {
        short_upper = 'Keystone',
        long_upper = 'Keystone passive skill',
        type = 'normal',
    },
    ['ascendancy basic'] = {
        short_upper = 'Ascendancy basic',
        long_upper = 'Basic ascendancy skill',
        type = 'ascendancy',
    },
    ['ascendancy notable'] = {
        short_upper = 'Ascendancy notable',
        long_upper = 'Notable ascendancy skill',
        type = 'ascendancy',
    },
}

-- 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'] = {},
    ['tier15_map'] = {},
    ['support_gem'] = {},
    ['level_capped_gem'] = {},
    ['tier14_map'] = {},
    ['no_effect_flask_mod'] = {},
    ['area_with_water'] = {},
    ['no_bloodlines'] = {},
    ['has_caster_mod'] = {},
    ['has_attack_mod'] = {},
    ['tier5_map'] = {},
    ['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'] = {},
}

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',
    },
}

-- ItemClassDisplay.dat
game.constants.item.class = {
    [1] = {
        full = 'Life Flasks',
        long_upper = 'Life Flasks',
        long_lower = 'life flasks',
        category = 'Flasks',
    },
    [2] = {
        full = 'Mana Flasks',
        long_upper = 'Mana Flasks',
        long_lower = 'mana flasks',
        category = 'Flasks',
    },
    [3] = {
        full = 'Hybrid Flasks',
        long_upper = 'Hybrid Flasks',
        long_lower = 'hybrid flasks',
        category = 'Flasks',
    },
    [4] = {
        full = 'Currency',
        long_upper = 'Currency',
        long_lower = 'currency',
        category = 'Other',
    },
    [5] = {
        full = 'Amulets',
        long_upper = 'Amulets',
        long_lower = 'amulets',
        category = 'Jewellery',
    },
    [6] = {
        full = 'Rings',
        long_upper = 'Rings',
        long_lower = 'rings',
        category = 'Jewellery',
    },
    [7] = {
        full = 'Claws',
        long_upper = 'Claws',
        long_lower = 'claws',
        category = 'One Handed Weapon',
    },
    [8] = {
        full = 'Daggers',
        long_upper = 'Daggers',
        long_lower = 'daggers',
        category = 'One Handed Weapon',
    },
    [9] = {
        full = 'Wands',
        long_upper = 'Wands',
        long_lower = 'wands',
        category = 'One Handed Weapon',
    },
    [10] = {
        full = 'One Hand Swords',
        long_upper = 'One Hand Swords',
        long_lower = 'one hand swords',
        category = 'One Handed Weapon',
    },
    [11] = {
        full = 'Thrusting One Hand Swords',
        long_upper = 'Thrusting One Hand Swords',
        long_lower = 'thrusting one hand swords',
        category = 'One Handed Weapon',
    },
    [12] = {
        full = 'One Hand Axes',
        long_upper = 'One Hand Axes',
        long_lower = 'one hand axes',
        category = 'One Handed Weapon',
    },
    [13] = {
        full = 'One Hand Maces',
        long_upper = 'One Hand Maces',
        long_lower = 'one hand maces',
        category = 'One Handed Weapon',
    },
    [14] = {
        full = 'Bows',
        long_upper = 'Bows',
        long_lower = 'bows',
        category = 'Two Handed Weapon',
    },
    [15] = {
        full = 'Staves',
        long_upper = 'Staves',
        long_lower = 'staves',
        category = 'Two Handed Weapon',
    },
    [16] = {
        full = 'Two Hand Swords',
        long_upper = 'Two Hand Swords',
        long_lower = 'two hand swords',
        category = 'Two Handed Weapon',
    },
    [17] = {
        full = 'Two Hand Axes',
        long_upper = 'Two Hand Axes',
        long_lower = 'two hand axes',
        category = 'Two Handed Weapon',
    },
    [18] = {
        full = 'Two Hand Maces',
        long_upper = 'Two Hand Maces',
        long_lower = 'two hand maces',
        category = 'Two Handed Weapon',
    },
    [19] = {
        full = 'Active Skill Gems',
        long_upper = 'Active Skill Gems',
        long_lower = 'active skill gems',
        category = 'Gems',
    },
    [20] = {
        full = 'Support Skill Gems',
        long_upper = 'Support Skill Gems',
        long_lower = 'support skill gems',
        category = 'Gems',
    },
    [21] = {
        full = 'Quivers',
        long_upper = 'Quivers',
        long_lower = 'quivers',
        category = 'Off-hand',
    },
    [22] = {
        full = 'Belts',
        long_upper = 'Belts',
        long_lower = 'belts',
        category = 'Jewellery',
    },
    [23] = {
        full = 'Gloves',
        long_upper = 'Gloves',
        long_lower = 'gloves',
        category = 'Armor',
    },
    [24] = {
        full = 'Boots',
        long_upper = 'Boots',
        long_lower = 'boots',
        category = 'Armor',
    },
    [25] = {
        full = 'Body Armours',
        long_upper = 'Body Armours',
        long_lower = 'body armours',
        category = 'Armor',
    },
    [26] = {
        full = 'Helmets',
        long_upper = 'Helmets',
        long_lower = 'helmets',
        category = 'Armor',
    },
    [27] = {
        full = 'Shields',
        long_upper = 'Shields',
        long_lower = 'shields',
        category = 'Off-hand',
    },
    [28] = {
        full = 'Small Relics',
        long_upper = 'Small Relics',
        long_lower = 'small relics',
        category = '',
    },
    [29] = {
        full = 'Medium Relics',
        long_upper = 'Medium Relics',
        long_lower = 'medium relics',
        category = '',
    },
    [30] = {
        full = 'Large Relics',
        long_upper = 'Large Relics',
        long_lower = 'large relics',
        category = '',
    },
    [31] = {
        full = 'Stackable Currency',
        long_upper = 'Stackable Currency',
        long_lower = 'stackable currency',
        category = '',
    },
    [32] = {
        full = 'Quest Items',
        long_upper = 'Quest Items',
        long_lower = 'quest items',
        category = '',
    },
    [33] = {
        full = 'Sceptres',
        long_upper = 'Sceptres',
        long_lower = 'sceptres',
        category = 'One Handed Weapon',
    },
    [34] = {
        full = 'Utility Flasks',
        long_upper = 'Utility Flasks',
        long_lower = 'utility flasks',
        category = 'Flasks',
    },
    [35] = {
        full = 'Critical Utility Flasks',
        long_upper = 'Critical Utility Flasks',
        long_lower = 'critical utility flasks',
        category = '',
    },
    [36] = {
        full = 'Maps',
        long_upper = 'Maps',
        long_lower = 'maps',
        category = 'Other',
    },
    [37] = {
        full = 'Unarmed',
        long_upper = 'Unarmed',
        long_lower = 'Unarmed',
        category = '',
    },
    [38] = {
        full = 'Fishing Rods',
        long_upper = 'Fishing Rods',
        long_lower = 'fishing rods',
        category = '',
    },
    [39] = {
        full = 'Map Fragments',
        long_upper = 'Map Fragments',
        long_lower = 'map fragments',
        category = 'Other',
    },
    [40] = {
        full = 'Hideout Doodads',
        long_upper = 'Hideout Doodads',
        long_lower = 'hideout doodads',
        category = '',
    },
    [41] = {
        full = 'Microtransactions',
        long_upper = 'Microtransactions',
        long_lower = 'microtransactions',
        category = '',
    },
    [42] = {
        full = 'Jewel',
        long_upper = 'Jewel',
        long_lower = 'jewel',
        category = 'Other',
    },
    [43] = {
        full = 'Divination Card',
        long_upper = 'Divination Card',
        long_lower = 'divination card',
        category = 'Other',
    },
    [44] = {
        full = 'Labyrinth Item',
        long_upper = 'Labyrinth Item',
        long_lower = 'labyrinth item',
        category = '',
    },
    [45] = {
        full = 'Labyrinth Trinket',
        long_upper = 'Labyrinth Trinket',
        long_lower = 'labyrinth trinket',
        category = '',
    },
    [46] = {
        full = 'Labyrinth Map Item',
        long_upper = 'Labyrinth Map Item',
        long_lower = 'labyrinth map item',
        category = 'Other',
    },
    [47] = {
        full = 'Breachstone',
        long_upper = 'Breachstone',
        long_lower = 'breachstone',
        category = '',
    },
}

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',
    },
}

-- NPCMaster.dat
game.constants.masters = {
    {
        full = 'Vorici, Master Assassin',
        long_upper = 'Vorici, Master Assassin',
        short_upper = 'Vorici',
        short_lower = 'vorici',
    },
    {
        full = 'Tora, Master of the Hunt',
        long_upper = 'Tora, Master of the Hunt',
        short_upper = 'Tora',
        short_lower = 'tora',
    },
    {
        full = 'Catarina, Master of the Dead',
        long_upper = 'Catarina, Master of the Dead',
        short_upper = 'Catarina',
        short_lower = 'catarina',
    },
    {
        full = 'Zana, Master Cartographer',
        long_upper = 'Zana, Master Cartographer',
        short_upper = 'Zana',
        short_lower = 'zana',
    },
    {
        full = 'Vagan, Weaponmaster',
        long_upper = 'Vagan, Weaponmaster',
        short_upper = 'Vagan',
        short_lower = 'vagan',
    },
    {
        full = 'Elreon, Loremaster',
        long_upper = 'Elreon, Loremaster',
        short_upper = 'Elreon',
        short_lower = 'elreon',
    },
    {
        full = 'Haku, Armourmaster',
        long_upper = 'Haku, Armourmaster',
        short_upper = 'Haku',
        short_lower = 'haku',
    },
    {
        full = 'Leo, Master of the Arena',
        long_upper = 'Leo, Master of the Arena',
        short_upper = 'Leo',
        short_lower = 'leo',
    },
}

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 = 'Stance',
        short_lower = 'stance',
    },
    [10] = {
        short_upper = 'Master',
        short_lower = 'master',
    },
    [11] = {
        short_upper = 'Jewel',
        short_lower = 'jewel',
    },
    [12] = {
        short_upper = 'Atlas',
        short_lower = 'atlas',
    },
}

-- 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',
    },
}

return game