Module:Game: Difference between revisions

From Path of Exile 2 Wiki
Jump to navigation Jump to search
(Add new modifier generation types and domains)
(Adding Cursor Skin MTX Type)
Line 2,035: Line 2,035:
     ['Miscellaneous'] = {
     ['Miscellaneous'] = {
         type = 'Miscellaneous',
         type = 'Miscellaneous',
    },
    ['Cursor Skin'] = {
        type = 'Cursor Skin',
     },
     },
}
}

Revision as of 17:49, 21 October 2021

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 = {}

-- In-game units of measure
game.units = {
    seconds = {
        full = 'Seconds',
        long_upper = 'Seconds',
        long_lower = 'seconds',
        short_upper = 'Sec',
        short_lower = 'sec',
        long_upper_plural = 'Seconds',
        long_lower_plural = 'seconds',
        short_upper_plural = 'Sec',
        short_lower_plural = 'sec',
        long_upper_singular = 'Second',
        long_lower_singular = 'second',
        short_upper_singular = 'Sec',
        short_lower_singular = 'sec',
    }
}

-- Harvest seed types
game.seed_types = {
    primal = 'Primal',
    vivid = 'Vivid',
    wild = 'Wild',
}

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,
        str_id = 'Str',
        name = 'Marauder',
        str = 32,
        dex = 14,
        int = 14,
    },
    Witch = {
        id = 1,
        str_id = 'Int',
        name = 'Witch',
        str = 14,
        dex = 14,
        int = 32,
    },
    Scion = {
        id = 2,
        str_id = 'StrDexInt',
        name = 'Scion',
        str = 20,
        dex = 20,
        int = 20,
    },
    Ranger = {
        id = 3,
        str_id = 'Dex',
        name = 'Ranger',
        str = 14,
        dex = 32,
        int = 14,
    },
    Duelist = {
        id = 4,
        str_id = 'StrDex',
        name = 'Duelist',
        str = 23,
        dex = 23,
        int = 14,
    },
    Shadow = {
        id = 5,
        str_id = 'DexInt',
        name = 'Shadow',
        str = 14,
        dex = 23,
        int = 23,
    },
    Templar = {
        id = 6,
        str_id = 'StrInt',
        name = 'Templar',
        str = 14,
        dex = 23,
        int = 23,
    },
}

game.constants.characters.Str = game.constants.characters.Marauder
game.constants.characters.Dex = game.constants.characters.Ranger
game.constants.characters.Int = game.constants.characters.Witch

game.constants.characters.StrDex = game.constants.characters.Duelist
game.constants.characters.DexStr = game.constants.characters.StrDex

game.constants.characters.StrInt = game.constants.characters.Templar
game.constants.characters.IntStr = game.constants.characters.StrInt

game.constants.characters.DexInt = game.constants.characters.Shadow
game.constants.characters.IntDex = game.constants.characters.DexInt

game.constants.characters.StrDexInt = game.constants.characters.Scion
game.constants.characters.DexStrInt = game.constants.characters.StrDexInt
game.constants.characters.DexIntStr = game.constants.characters.StrDexInt
game.constants.characters.IntDexStr = game.constants.characters.StrDexInt
game.constants.characters.IntStrDex = game.constants.characters.StrDexInt
game.constants.characters.StrIntDex = game.constants.characters.StrDexInt

-- No character starts with attributes lower than this.
game.constants.characters.minimum_attributes = {
    str = 14,
    dex = 14,
    int = 14,
}

game.constants.leagues = {
    ['Onslaught'] = {
        name = 'Onslaught',
    },
    ['Anarchy'] = {
        name = 'Anarchy',
    },
    ['Nemesis'] = {
        name = 'Nemesis',
    },
    ['Domination'] = {
        name = 'Domination',
    },
    ['Invasion'] = {
        name = 'Invasion',
    },
    ['Ambush'] = {
        name = 'Ambush',
    },
    ['Beyond'] = {
        name = 'Beyond',
    },
    ['Rampage'] = {
        name = 'Rampage',
    },
    ['Bloodlines'] = {
        name = 'Bloodlines',
    },
    ['Torment'] = {
        name = 'Torment',
    },
    ['Tempest'] = {
        name = 'Tempest',
    },
    ['Warbands'] = {
        name = 'Warbands',
    },
    ['Talisman'] = {
        name = 'Talisman',
    },
    ['Perandus'] = {
        name = 'Perandus',
    },
    ['Prophecy'] = {
        name = 'Prophecy',
    },
    ['Essence'] = {
        name = 'Essence',
    },
    ['Breach'] = {
        name = 'Breach',
    },
    ['Legacy'] = {
        name = 'Legacy',
    },
    ['Harbinger'] = {
        name = 'Harbinger',
    },
    ['Abyss'] = {
        name = 'Abyss',
    },
    ['Bestiary'] = {
        name = 'Bestiary',
    },
    ['Incursion'] = {
        name = 'Incursion',
    },
    ['Delve'] = {
        name = 'Delve',
    },
    ['Betrayal'] = {
        name = 'Betrayal',
    },
    ['Synthesis'] = {
        name = 'Synthesis',
    },
    ['Legion'] = {
        name = 'Legion',
    },
    ['Blight'] = {
        name = 'Blight',
    },
    ['Metamorph'] = {
        name = 'Metamorph',
    },
    ['Delirium'] = {
        name = 'Delirium',
    },
    ['Harvest'] = {
        name = 'Harvest',
    },
    ['Heist'] = {
        name = 'Heist',
    },
    ['Ritual'] = {
        name = 'Ritual',
    },
    ['Ultimatum'] = {
        name = 'Ultimatum',
    },
    ['Expedition'] = {
        name = 'Expedition',
    },
}

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

game.constants.attribute_order = {'strength', 'dexterity', 'intelligence'}
game.constants.attributes = {
    strength = {
        long_upper = 'Strength',
        short_upper = 'Str',
        arg = 'str',
        icon = '[[Image:StrengthIcon small.png|link=|Str.]]',
        color = 'red',
    },
    dexterity = {
        long_upper = 'Dexterity',
        short_upper = 'Dex',
        arg = 'dex',
        icon = '[[Image:DexterityIcon small.png|link=|Dex.]]',
        color = 'green',
    },
    intelligence = {
        long_upper = 'Intelligence',
        short_upper = 'Int',
        arg = 'int',
        icon = '[[Image:IntelligenceIcon small.png|link=|Int.]]',
        color = 'blue',
    },
}

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'] = {
        name = 'Gem',
    },
    ['relic'] = {},
    ['not_str'] = {},
    ['not_dex'] = {},
    ['not_int'] = {},
    ['ranged'] = {},
    ['not_for_sale'] = {},
    ['caster'] = {
        name = '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'] = {},
    ['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'] = {},
    ['rune_dagger_shaper'] = {},
    ['rune_dagger_elder'] = {},
    ['warstaff_shaper'] = {},
    ['warstaff_elder'] = {},
    ['grants_crit_chance_support'] = {},
    ['no_legacy_of_zeal'] = {},
    ['bestiary_beast_boss'] = {},
    ['elder_occupied_map'] = {},
    ['bestiary_wilds'] = {},
    ['bestiary_sands'] = {},
    ['bestiary_caverns'] = {},
    ['bestiary_deep'] = {},
    ['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'] = {
        name = 'Fire',
    },
    ['cold'] = {
        name = 'Cold',
    },
    ['lightning'] = {
        name = 'Lightning',
    },
    ['chaos'] = {
        name = 'Chaos',
    },
    ['physical'] = {
        name = 'Physical',
    },
    ['poison'] = {},
    ['bleed'] = {},
    ['life'] = {
        name = 'Life',
    },
    ['defences'] = {
        name = 'Defences',
    },
    ['elemental'] = {
        name = 'Elemental',
    },
    ['attack'] = {
        name = 'Attack',
    },
    ['minion'] = {
        name = 'Minion',
    },
    ['aura'] = {
        name = 'Aura',
    },
    ['vaal'] = {
        name = 'Vaal',
    },
    ['mana'] = {
        name = 'Mana',
    },
    ['speed'] = {
        name = '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'] = {},
    ['old_map_series'] = {},
    ['map_not_on_atlas'] = {},
    ['warehouse_area'] = {},
    ['act6_karui_area'] = {},
    ['kaom_area'] = {},
    ['daresso_area'] = {},
    ['library_area'] = {},
    ['marketplace_area'] = {},
    ['belly_area'] = {},
    ['solaris_area'] = {},
    ['prison_area'] = {},
    ['fields_area'] = {},
    ['chamber_of_sins_area'] = {},
    ['has_road_area'] = {},
    ['garden_area'] = {},
    ['dock_area'] = {},
    ['sewer_area'] = {},
    ['crossroad_area'] = {},
    ['catacomb_area'] = {},
    ['lunaris_outer_area'] = {},
    ['crypt_area'] = {},
    ['vaal_pyramid_area'] = {},
    ['forest_map_area'] = {},
    ['urban_sarn_area'] = {},
    ['aqueduct_area'] = {},
    ['thicket_area'] = {},
    ['bandit_area'] = {},
    ['pitfight_area'] = {},
    ['slums_area'] = {},
    ['lunaris_area'] = {},
    ['vaal_ruin_area'] = {},
    ['reef_area'] = {},
    ['mine_area'] = {},
    ['has_foxes_area'] = {},
    ['flooded_area'] = {},
    ['fetid_area'] = {},
    ['necropolis_area'] = {},
    ['sceptre_of_god_area'] = {},
    ['graveyard_area'] = {},
    ['den_area'] = {},
    ['river_area'] = {},
    ['ship_graveyard_area'] = {},
    ['tower_area'] = {},
    ['relic_area'] = {},
    ['dark_forest_area'] = {},
    ['parapet_area'] = {},
    ['cave_area'] = {},
    ['desert_area'] = {},
    ['arena_area'] = {},
    ['lightning_area'] = {},
    ['rain_area'] = {},
    ['snow_area'] = {},
    ['fire_area'] = {},
    ['mausoleum_area'] = {},
    ['wealthy_area'] = {},
    ['otherworldly_story_area'] = {},
    ['harvest_area'] = {},
    ['triple_boss_map'] = {},
    ['lighthouse_area'] = {},
    ['lunaris_blood_area'] = {},
    ['ruined_vaal_city_area'] = {},
    ['coast_boat_area'] = {},
    ['snow_mountain_area'] = {},
    ['synthesised_monster'] = {},
    ['has_damage_taken_as_mod'] = {},
    ['has_physical_conversion_mod'] = {},
    ['polished_scarab'] = {},
    ['gilded_scarab'] = {},
    ['high_gardens_area'] = {},
    ['crystal_ore_area'] = {},
    ['tropical_island_area'] = {},
    ['jungle_valley_area'] = {},
    ['wasteland_area'] = {},
    ['desert_map_area'] = {},
    ['mud_geyser_area'] = {},
    ['southern_forest_area'] = {},
    ['northern_forest_area'] = {},
    ['dried_lake_area'] = {},
    ['labyrinth_end_area'] = {},
    ['old_fields_area'] = {},
    ['archives_area'] = {},
    ['labyrinth_OH_area'] = {},
    ['temple_of_decay_area'] = {},
    ['arachnid_tomb_map_area'] = {},
    ['cemetery_map_area'] = {},
    ['quay_area'] = {},
    ['local_item_quality'] = {},
    ['synthesised_monster2'] = {},
    ['core_map_area'] = {},
    ['breachstone2'] = {},
    ['breachstone3'] = {},
    ['breachstone4'] = {},
    ['breach_blessing'] = {},
    ['corrupted_vaal'] = {},
    ['shaper_divination'] = {},
    ['elder_divination'] = {},
    ['fire_prison_area'] = {},
    ['synthesis_area'] = {},
    ['attack_staff'] = {},
    ['attack_dagger'] = {},
    ['spell_dodge_mod'] = {},
    ['legion_monster'] = {},
    ['has_percent_mana_mod'] = {},
    ['ringatlas3'] = {},
    ['ringatlas4'] = {},
    ['rare_monster_pack'] = {},
    ['weapon_can_roll_minion_modifiers'] = {},
    ['wandatlas1'] = {},
    ['has_atlas_mission'] = {},
    ['legion_splinter'] = {},
    ['has_mana_cost_mod'] = {},
    ['unique_shard'] = {},
    ['unique_shard_base'] = {},
    ['infected_map'] = {},
    ['can_be_infected_map'] = {},
    ['mushrune'] = {},
    ['blight_death_fire'] = {},
    ['blight_death_cold'] = {},
    ['blight_death_lightning'] = {},
    ['blight_death_physical'] = {},
    ['blight_death_chaos'] = {},
    ['blight_doesnt_engage'] = {},
    ['map_area_with_open_water'] = {},
    ['vile_areas'] = {},
    ['no_frenzy_charge_on_death'] = {},
    ['no_soul_conduit'] = {},
    ['no_fractured'] = {},
    ['boots_crusader'] = {},
    ['boots_adjudicator'] = {},
    ['boots_eyrie'] = {},
    ['boots_basilisk'] = {},
    ['gloves_crusader'] = {},
    ['gloves_adjudicator'] = {},
    ['gloves_eyrie'] = {},
    ['gloves_basilisk'] = {},
    ['helmet_crusader'] = {},
    ['helmet_adjudicator'] = {},
    ['helmet_eyrie'] = {},
    ['helmet_basilisk'] = {},
    ['body_armour_crusader'] = {},
    ['body_armour_adjudicator'] = {},
    ['body_armour_eyrie'] = {},
    ['body_armour_basilisk'] = {},
    ['shield_crusader'] = {},
    ['shield_adjudicator'] = {},
    ['shield_eyrie'] = {},
    ['shield_basilisk'] = {},
    ['belt_crusader'] = {},
    ['belt_adjudicator'] = {},
    ['belt_eyrie'] = {},
    ['belt_basilisk'] = {},
    ['amulet_crusader'] = {},
    ['amulet_adjudicator'] = {},
    ['amulet_eyrie'] = {},
    ['amulet_basilisk'] = {},
    ['ring_crusader'] = {},
    ['ring_adjudicator'] = {},
    ['ring_eyrie'] = {},
    ['ring_basilisk'] = {},
    ['quiver_crusader'] = {},
    ['quiver_adjudicator'] = {},
    ['quiver_eyrie'] = {},
    ['quiver_basilisk'] = {},
    ['claw_crusader'] = {},
    ['dagger_crusader'] = {},
    ['wand_crusader'] = {},
    ['sword_crusader'] = {},
    ['axe_crusader'] = {},
    ['mace_crusader'] = {},
    ['sceptre_crusader'] = {},
    ['bow_crusader'] = {},
    ['staff_crusader'] = {},
    ['2h_sword_crusader'] = {},
    ['2h_axe_crusader'] = {},
    ['2h_mace_crusader'] = {},
    ['rune_dagger_crusader'] = {},
    ['warstaff_crusader'] = {},
    ['claw_eyrie'] = {},
    ['dagger_eyrie'] = {},
    ['wand_eyrie'] = {},
    ['sword_eyrie'] = {},
    ['axe_eyrie'] = {},
    ['mace_eyrie'] = {},
    ['sceptre_eyrie'] = {},
    ['bow_eyrie'] = {},
    ['staff_eyrie'] = {},
    ['2h_sword_eyrie'] = {},
    ['2h_axe_eyrie'] = {},
    ['2h_mace_eyrie'] = {},
    ['rune_dagger_eyrie'] = {},
    ['warstaff_eyrie'] = {},
    ['claw_basilisk'] = {},
    ['dagger_basilisk'] = {},
    ['wand_basilisk'] = {},
    ['sword_basilisk'] = {},
    ['axe_basilisk'] = {},
    ['mace_basilisk'] = {},
    ['sceptre_basilisk'] = {},
    ['bow_basilisk'] = {},
    ['staff_basilisk'] = {},
    ['2h_sword_basilisk'] = {},
    ['2h_axe_basilisk'] = {},
    ['2h_mace_basilisk'] = {},
    ['rune_dagger_basilisk'] = {},
    ['warstaff_basilisk'] = {},
    ['claw_adjudicator'] = {},
    ['dagger_adjudicator'] = {},
    ['wand_adjudicator'] = {},
    ['sword_adjudicator'] = {},
    ['axe_adjudicator'] = {},
    ['mace_adjudicator'] = {},
    ['sceptre_adjudicator'] = {},
    ['bow_adjudicator'] = {},
    ['staff_adjudicator'] = {},
    ['2h_sword_adjudicator'] = {},
    ['2h_axe_adjudicator'] = {},
    ['2h_mace_adjudicator'] = {},
    ['rune_dagger_adjudicator'] = {},
    ['warstaff_adjudicator'] = {},
    ['grants_2h_support'] = {},
    ['no_prophecies'] = {},
    ['warstaff'] = {},
    ['expansion_jewel_large'] = {},
    ['expansion_jewel_medium'] = {},
    ['expansion_jewel_small'] = {},
    ['affliction_axe_and_sword_damage'] = {},
    ['affliction_mace_and_staff_damage'] = {},
    ['affliction_dagger_and_claw_damage'] = {},
    ['affliction_bow_damage'] = {},
    ['affliction_wand_damage'] = {},
    ['affliction_damage_with_two_handed_melee_weapons'] = {},
    ['affliction_attack_damage_while_dual_wielding_'] = {},
    ['affliction_attack_damage_while_holding_a_shield'] = {},
    ['affliction_attack_damage_'] = {},
    ['affliction_spell_damage'] = {},
    ['affliction_elemental_damage'] = {},
    ['affliction_physical_damage'] = {},
    ['affliction_fire_damage'] = {},
    ['affliction_lightning_damage'] = {},
    ['affliction_cold_damage'] = {},
    ['affliction_chaos_damage'] = {},
    ['affliction_minion_damage'] = {},
    ['affliction_fire_damage_over_time_multiplier'] = {},
    ['affliction_chaos_damage_over_time_multiplier'] = {},
    ['affliction_physical_damage_over_time_multiplier'] = {},
    ['affliction_cold_damage_over_time_multiplier'] = {},
    ['affliction_damage_over_time_multiplier'] = {},
    ['affliction_effect_of_non-damaging_ailments'] = {},
    ['affliction_aura_effect'] = {},
    ['affliction_curse_effect'] = {},
    ['affliction_damage_while_you_have_a_herald'] = {},
    ['affliction_minion_damage_while_you_have_a_herald'] = {},
    ['affliction_warcry_buff_effect'] = {},
    ['affliction_critical_chance'] = {},
    ['affliction_minion_life'] = {},
    ['affliction_area_damage'] = {},
    ['affliction_projectile_damage'] = {},
    ['affliction_trap_and_mine_damage'] = {},
    ['affliction_totem_damage'] = {},
    ['affliction_brand_damage'] = {},
    ['affliction_channelling_skill_damage'] = {},
    ['affliction_flask_duration'] = {},
    ['affliction_life_and_mana_recovery_from_flasks'] = {},
    ['affliction_maximum_life'] = {},
    ['affliction_maximum_energy_shield'] = {},
    ['affliction_maximum_mana'] = {},
    ['affliction_armour'] = {},
    ['affliction_evasion'] = {},
    ['affliction_chance_to_block'] = {},
    ['affliction_fire_resistance'] = {},
    ['affliction_cold_resistance'] = {},
    ['affliction_lightning_resistance'] = {},
    ['affliction_chaos_resistance'] = {},
    ['affliction_chance_to_dodge_attacks'] = {},
    ['affliction_strength'] = {},
    ['affliction_dexterity'] = {},
    ['affliction_intelligence'] = {},
    ['has_affliction_notable'] = {},
    ['map_device'] = {},
    ['jewelled_scarab'] = {},
    ['critical'] = {
        name = 'Critical',
    },
    ['heist_contract'] = {},
    ['evasion'] = {},
    ['energy_shield'] = {},
    ['power_charge'] = {},
    ['frenzy_charge'] = {},
    ['endurance_charge'] = {},
    ['damage'] = {
        name = 'Damage',
    },
    ['resistance'] = {
        name = 'Resistance',
    },
    ['attribute'] = {
        name = 'Attribute',
    },
    ['block'] = {},
    ['dodge'] = {},
    ['ailment'] = {
        name = 'Ailment',
    },
    ['blue_herring'] = {},
    ['skill'] = {},
    ['support'] = {},
    ['curse'] = {
        name = 'Curse',
    },
    ['green_herring'] = {},
    ['red_herring'] = {},
    ['heist_coin'] = {},
    ['heist_equipment_utility'] = {},
    ['heist_equipment_reward'] = {},
    ['heist_equipment_weapon'] = {},
    ['heist_equipment_lockpick'] = {},
    ['heist_equipment_bruteforce'] = {},
    ['heist_equipment_perception'] = {},
    ['heist_equipment_demolition'] = {},
    ['heist_equipment_counterthaumaturge'] = {},
    ['heist_equipment_trapdisarmament'] = {},
    ['heist_equipment_agility'] = {},
    ['heist_equipment_deception'] = {},
    ['heist_equipment_engineering'] = {},
    ['trinket'] = {},
    ['heist_equipment_tool'] = {},
    ['elemental_damage'] = {},
    ['physical_damage'] = {},
    ['resource'] = {},
    ['caster_damage'] = {},
    ['heist_equipment_melee'] = {},
    ['heist_equipment_ranged'] = {},
    ['heist_equipment_caster'] = {},
    ['heist_blueprint'] = {},
    ['affliction_orb'] = {},
    ['affliction_splinter'] = {},
    ['catalyst'] = {},
    ['sextant'] = {},
    ['heist_job_level_1'] = {},
    ['heist_job_level_2'] = {},
    ['heist_job_level_3'] = {},
    ['heist_job_level_4'] = {},
    ['heist_job_level_5'] = {},
    ['heist_guard'] = {},
    ['heist_equipment'] = {},
    ['watchstone_item'] = {},
    ['watchstone_league'] = {},
    ['watchstone_environment'] = {},
    ['watchstone'] = {},
    ['no_maven'] = {},
    ['allow_maven'] = {},
    ['shaper_monster'] = {},
    ['elder_monster'] = {},
    ['eyrie_monster'] = {},
    ['basilisk_monster'] = {},
    ['crusader_monster'] = {},
    ['adjudicator_monster'] = {},
    ['maven_map'] = {},
    ['abyss_monster'] = {},
    ['influence_monster'] = {},
    ['blight_boss'] = {},
    ['no_possessed_foe'] = {},
    ['vaal_gem'] = {},
    ['weapon_can_roll_totem_modifiers'] = {},
    ['staffatlas1'] = {},
    ['quiveratlas1'] = {},
    ['ringatlas5'] = {},
    ['amuletatlas3'] = {},
    ['glovesatlasstrint'] = {},
    ['bootsatlasdexint'] = {},
    ['chaos_damage'] = {},
    ['no_proximity_shield'] = {},
    ['no_final_gasp'] = {},
    ['demigods'] = {},
    ['dot_multi'] = {},
    ['no_forced_item_drops'] = {},
    ['unveiled_mod'] = {},
    ['ultimatum_trial'] = {},
    ['expedition_templar_remnant'] = {},
    ['expedition_vaal_remnant'] = {},
    ['expedition_vaal_remnant2'] = {},
    ['expedition_karui_remnant'] = {},
    ['expedition_eternalempire_remnant'] = {},
    ['expedition_eternalempire_remnant2'] = {},
    ['expedition_eternalempire_remnant3'] = {},
    ['expedition_eternalempire_remnant4'] = {},
    ['expedition_maraketh_remnant'] = {},
    ['expedition_maraketh_remnant2'] = {},
    ['expedition_sirens_remnant'] = {},
    ['expedition_monkeytribe_remnant'] = {},
    ['expedition_lostmen_remnant'] = {},
    ['expedition_logbook'] = {},
    ['ward_armour'] = {},
    ['adaptation_armour'] = {},
    ['disallowed_in_generic_currency_stash_slots'] = {},
    ['expedition_common_remnant'] = {},
    ['expedition_common_remnant_logbook'] = {},
    ['expedition_flask'] = {},
    ['expedition_currency_faction1'] = {},
    ['expedition_currency_faction2'] = {},
    ['expedition_currency_faction3'] = {},
    ['expedition_currency_faction4'] = {},
    ['expedition_monster'] = {},
    ['has_flat_strength_mod'] = {},
    ['has_flat_dexterity_mod'] = {},
    ['has_flat_intelligence_mod'] = {},
    ['expedition_faction_druids_of_the_broken_circle'] = {},
    ['expedition_faction_black_scythe'] = {},
    ['expedition_faction_order_of_the_chalice'] = {},
    ['expedition_faction_knights_of_the_sun'] = {},
    ['map_has_blight_encounter'] = {},
}

game.constants.item = {}

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

game.constants.influences = {
    shaper = {
        id = 1,
        full = 'Shaper',
        long_upper = 'Shaper',
        long_lower = 'shaper',
    },
    elder = {
        id = 2,
        full = 'Elder',
        long_upper = 'Elder',
        long_lower = 'elder',
    },
    crusader = {
        id = 3,
        full = 'Crusader',
        long_upper = 'Crusader',
        long_lower = 'crusader',
    },
    redeemer = {
        id = 4,
        full = 'Redeemer',
        long_upper = 'Redeemer',
        long_lower = 'redeemer',
    },
    hunter = {
        id = 5,
        full = 'Hunter',
        long_upper = 'Hunter',
        long_lower = 'hunter',
    },
    warlord = {
        id = 6,
        full = 'Warlord',
        long_upper = 'Warlord',
        long_lower = 'warlord',
    },
}

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 = 'life flasks',
    },
    ['ManaFlask'] = {
        id = 2,
        full = 'Mana Flasks',
        long_upper = 'Mana Flasks',
        long_lower = 'mana flasks',
        category = 'mana flasks',
    },
    ['HybridFlask'] = {
        id = 3,
        full = 'Hybrid Flasks',
        long_upper = 'Hybrid Flasks',
        long_lower = 'hybrid flasks',
        category = 'hybrid flasks',
    },
    ['Currency'] = {
        id = 4,
        full = 'Currency',
        long_upper = 'Currency',
        long_lower = 'currency',
        category = 'currency items',
    },
    ['Amulet'] = {
        id = 5,
        full = 'Amulets',
        long_upper = 'Amulets',
        long_lower = 'amulets',
        category = 'amulets',
        tags = {
            elder = 'amulet_elder',
            shaper = 'amulet_shaper',
            crusader = 'amulet_crusader',
            eyrie = 'amulet_eyrie',
            basilisk = 'amulet_basilisk',
            adjudicator = 'amulet_adjudicator',
        },
    },
    ['Ring'] = {
        id = 6,
        full = 'Rings',
        long_upper = 'Rings',
        long_lower = 'rings',
        category = 'rings',
        tags = {
            elder = 'ring_elder',
            shaper = 'ring_shaper',
            crusader = 'ring_crusader',
            eyrie = 'ring_eyrie',
            basilisk = 'ring_basilisk',
            adjudicator = 'ring_adjudicator',
        },
    },
    ['Claw'] = {
        id = 7,
        full = 'Claws',
        long_upper = 'Claws',
        long_lower = 'claws',
        category = 'claws',
        tags = {
            elder = 'claw_elder',
            shaper = 'claw_shaper',
            crusader = 'claw_crusader',
            eyrie = 'claw_eyrie',
            basilisk = 'claw_basilisk',
            adjudicator = 'claw_adjudicator',
        },
    },
    ['Dagger'] = {
        id = 8,
        full = 'Daggers',
        long_upper = 'Daggers',
        long_lower = 'daggers',
        category = 'daggers',
        tags = {
            elder = 'dagger_elder',
            shaper = 'dagger_shaper',
            crusader = 'dagger_crusader',
            eyrie = 'dagger_eyrie',
            basilisk = 'dagger_basilisk',
            adjudicator = 'dagger_adjudicator',
        },
    },
    ['Wand'] = {
        id = 9,
        full = 'Wands',
        long_upper = 'Wands',
        long_lower = 'wands',
        category = 'wands',
        tags = {
            elder = 'wand_elder',
            shaper = 'wand_shaper',
            crusader = 'wand_crusader',
            eyrie = 'wand_eyrie',
            basilisk = 'wand_basilisk',
            adjudicator = 'wand_adjudicator',
        },
    },
    ['One Hand Sword'] = {
        id = 10,
        full = 'One Hand Swords',
        long_upper = 'One Hand Swords',
        long_lower = 'one hand swords',
        category = 'one-handed swords',
        tags = {
            elder = 'sword_elder',
            shaper = 'sword_shaper',
            crusader = 'sword_crusader',
            eyrie = 'sword_eyrie',
            basilisk = 'sword_basilisk',
            adjudicator = 'sword_adjudicator',
        },
    },
    ['Thrusting One Hand Sword'] = {
        id = 11,
        full = 'Thrusting One Hand Swords',
        long_upper = 'Thrusting One Hand Swords',
        long_lower = 'thrusting one hand swords',
        category = 'thrusting one-handed swords',
        tags = {
            elder = 'sword_elder',
            shaper = 'sword_shaper',
            crusader = 'sword_crusader',
            eyrie = 'sword_eyrie',
            basilisk = 'sword_basilisk',
            adjudicator = 'sword_adjudicator',
        },
    },
    ['One Hand Axe'] = {
        id = 12,
        full = 'One Hand Axes',
        long_upper = 'One Hand Axes',
        long_lower = 'one hand axes',
        category = 'one-handed axes',
        tags = {
            elder = 'axe_elder',
            shaper = 'axe_shaper',
            crusader = 'axe_crusader',
            eyrie = 'axe_eyrie',
            basilisk = 'axe_basilisk',
            adjudicator = 'axe_adjudicator',
        },
    },
    ['One Hand Mace'] = {
        id = 13,
        full = 'One Hand Maces',
        long_upper = 'One Hand Maces',
        long_lower = 'one hand maces',
        category = 'one-handed maces',
        tags = {
            elder = 'mace_elder',
            shaper = 'mace_shaper',
            crusader = 'mace_crusader',
            eyrie = 'mace_eyrie',
            basilisk = 'mace_basilisk',
            adjudicator = 'mace_adjudicator',
        },
    },
    ['Bow'] = {
        id = 14,
        full = 'Bows',
        long_upper = 'Bows',
        long_lower = 'bows',
        category = 'bows',
        tags = {
            elder = 'bow_elder',
            shaper = 'bow_shaper',
            crusader = 'bow_crusader',
            eyrie = 'bow_eyrie',
            basilisk = 'bow_basilisk',
            adjudicator = 'bow_adjudicator',
        },
    },
    ['Staff'] = {
        id = 15,
        full = 'Staves',
        long_upper = 'Staves',
        long_lower = 'staves',
        category = 'staves',
        tags = {
            elder = 'staff_elder',
            shaper = 'staff_shaper',
            crusader = 'staff_crusader',
            eyrie = 'staff_eyrie',
            basilisk = 'staff_basilisk',
            adjudicator = 'staff_adjudicator',
        },
    },
    ['Two Hand Sword'] = {
        id = 16,
        full = 'Two Hand Swords',
        long_upper = 'Two Hand Swords',
        long_lower = 'two hand swords',
        category = 'two-handed swords',
        tags = {
            elder = '2h_sword_elder',
            shaper = '2h_sword_shaper',
            crusader = '2h_sword_crusader',
            eyrie = '2h_sword_eyrie',
            basilisk = '2h_sword_basilisk',
            adjudicator = '2h_sword_adjudicator',
        },
    },
    ['Two Hand Axe'] = {
        id = 17,
        full = 'Two Hand Axes',
        long_upper = 'Two Hand Axes',
        long_lower = 'two hand axes',
        category = 'two-handed axes',
        tags = {
            elder = '2h_axe_elder',
            shaper = '2h_axe_shaper',
            crusader = '2h_axe_crusader',
            eyrie = '2h_axe_eyrie',
            basilisk = '2h_axe_basilisk',
            adjudicator = '2h_axe_adjudicator',
        },
    },
    ['Two Hand Mace'] = {
        id = 18,
        full = 'Two Hand Maces',
        long_upper = 'Two Hand Maces',
        long_lower = 'two hand maces',
        category = 'two-handed maces',
        tags = {
            elder = '2h_mace_elder',
            shaper = '2h_mace_shaper',
            crusader = '2h_mace_crusader',
            eyrie = '2h_mace_eyrie',
            basilisk = '2h_mace_basilisk',
            adjudicator = '2h_mace_adjudicator',
        },
    },
    ['Active Skill Gem'] = {
        id = 19,
        full = 'Active Skill Gems',
        long_upper = 'Active Skill Gems',
        long_lower = 'active skill gems',
        category = 'skill gems',
    },
    ['Support Skill Gem'] = {
        id = 20,
        full = 'Support Skill Gems',
        long_upper = 'Support Skill Gems',
        long_lower = 'support skill gems',
        category = 'support gems',
    },
    ['Quiver'] = {
        id = 21,
        full = 'Quivers',
        long_upper = 'Quivers',
        long_lower = 'quivers',
        category = 'quivers',
        tags = {
            elder = 'quiver_elder',
            shaper = 'quiver_shaper',
            crusader = 'quiver_crusader',
            eyrie = 'quiver_eyrie',
            basilisk = 'quiver_basilisk',
            adjudicator = 'quiver_adjudicator',
        },
    },
    ['Belt'] = {
        id = 22,
        full = 'Belts',
        long_upper = 'Belts',
        long_lower = 'belts',
        category = 'belts',
        tags = {
            elder = 'belt_elder',
            shaper = 'belt_shaper',
            crusader = 'belt_crusader',
            eyrie = 'belt_eyrie',
            basilisk = 'belt_basilisk',
            adjudicator = 'belt_adjudicator',
        },
    },
    ['Gloves'] = {
        id = 23,
        full = 'Gloves',
        long_upper = 'Gloves',
        long_lower = 'gloves',
        category = 'gloves',
        tags = {
            elder = 'gloves_elder',
            shaper = 'gloves_shaper',
            crusader = 'gloves_crusader',
            eyrie = 'gloves_eyrie',
            basilisk = 'gloves_basilisk',
            adjudicator = 'gloves_adjudicator',
        },
    },
    ['Boots'] = {
        id = 24,
        full = 'Boots',
        long_upper = 'Boots',
        long_lower = 'boots',
        category = 'boots',
        tags = {
            elder = 'boots_elder',
            shaper = 'boots_shaper',
            crusader = 'boots_crusader',
            eyrie = 'boots_eyrie',
            basilisk = 'boots_basilisk',
            adjudicator = 'boots_adjudicator',
        },
    },
    ['Body Armour'] = {
        id = 25,
        full = 'Body Armours',
        long_upper = 'Body Armours',
        long_lower = 'body armours',
        category = 'body armours',
        tags = {
            elder = 'body_armour_elder',
            shaper = 'body_armour_shaper',
            crusader = 'body_armour_crusader',
            eyrie = 'body_armour_eyrie',
            basilisk = 'body_armour_basilisk',
            adjudicator = 'body_armour_adjudicator',
        },
    },
    ['Helmet'] = {
        id = 26,
        full = 'Helmets',
        long_upper = 'Helmets',
        long_lower = 'helmets',
        category = 'helmets',
        tags = {
            elder = 'helmet_elder',
            shaper = 'helmet_shaper',
            crusader = 'helmet_crusader',
            eyrie = 'helmet_eyrie',
            basilisk = 'helmet_basilisk',
            adjudicator = 'helmet_adjudicator',
        },
    },
    ['Shield'] = {
        id = 27,
        full = 'Shields',
        long_upper = 'Shields',
        long_lower = 'shields',
        category = 'shields',
        tags = {
            elder = 'shield_elder',
            shaper = 'shield_shaper',
            crusader = 'shield_crusader',
            eyrie = 'shield_eyrie',
            basilisk = 'shield_basilisk',
            adjudicator = 'shield_adjudicator',
        },
    },
    ['SmallRelic'] = {
        id = 28,
        full = 'Small Relics',
        long_upper = 'Small Relics',
        long_lower = 'small relics',
    },
    ['MediumRelic'] = {
        id = 29,
        full = 'Medium Relics',
        long_upper = 'Medium Relics',
        long_lower = 'medium relics',
    },
    ['LargeRelic'] = {
        id = 30,
        full = 'Large Relics',
        long_upper = 'Large Relics',
        long_lower = 'large relics',
    },
    ['StackableCurrency'] = {
        id = 31,
        full = 'Stackable Currency',
        long_upper = 'Stackable Currency',
        long_lower = 'stackable currency',
        category = 'currency items',
    },
    ['QuestItem'] = {
        id = 32,
        full = 'Quest Items',
        long_upper = 'Quest Items',
        long_lower = 'quest items',
        category = 'quest items',
    },
    ['Sceptre'] = {
        id = 33,
        full = 'Sceptres',
        long_upper = 'Sceptres',
        long_lower = 'sceptres',
        category = 'sceptres',
        tags = {
            elder = 'sceptre_elder',
            shaper = 'sceptre_shaper',
            crusader = 'sceptre_crusader',
            eyrie = 'sceptre_eyrie',
            basilisk = 'sceptre_basilisk',
            adjudicator = 'sceptre_adjudicator',
        },
    },
    ['UtilityFlask'] = {
        id = 34,
        full = 'Utility Flasks',
        long_upper = 'Utility Flasks',
        long_lower = 'utility flasks',
        category = 'utility flasks',
    },
    ['UtilityFlaskCritical'] = {
        id = 35,
        full = 'Critical Utility Flasks',
        long_upper = 'Critical Utility Flasks',
        long_lower = 'critical utility flasks',
        category = 'utility flasks',
    },
    ['Map'] = {
        id = 36,
        full = 'Maps',
        long_upper = 'Maps',
        long_lower = 'maps',
        category = 'maps',
    },
    ['Unarmed'] = {
        id = 37,
        full = 'Unarmed',
        long_upper = 'Unarmed',
        long_lower = 'unarmed',
    },
    ['FishingRod'] = {
        id = 38,
        full = 'Fishing Rods',
        long_upper = 'Fishing Rods',
        long_lower = 'fishing rods',
        category = 'fishing rods',
    },
    ['MapFragment'] = {
        id = 39,
        full = 'Map Fragments',
        long_upper = 'Map Fragments',
        long_lower = 'map fragments',
        category = 'map fragments',
    },
    ['HideoutDoodad'] = {
        id = 40,
        full = 'Hideout Doodads',
        long_upper = 'Hideout Doodads',
        long_lower = 'hideout doodads',
        category = 'hideout decorations',
    },
    ['Microtransaction'] = {
        id = 41,
        full = 'Microtransactions',
        long_upper = 'Microtransactions',
        long_lower = 'microtransactions',
        category = 'cosmetic items',
    },
    ['Jewel'] = {
        id = 42,
        full = 'Jewel',
        long_upper = 'Jewel',
        long_lower = 'jewel',
        category = 'jewels',
    },
    ['DivinationCard'] = {
        id = 43,
        full = 'Divination Card',
        long_upper = 'Divination Card',
        long_lower = 'divination card',
        category = 'divination cards',
    },
    ['LabyrinthItem'] = {
        id = 44,
        full = 'Labyrinth Item',
        long_upper = 'Labyrinth Item',
        long_lower = 'labyrinth item',
        category = 'labyrinth keys',
    },
    ['LabyrinthTrinket'] = {
        id = 45,
        full = 'Labyrinth Trinket',
        long_upper = 'Labyrinth Trinket',
        long_lower = 'labyrinth trinket',
        category = 'labyrinth trinkets',
    },
    ['LabyrinthMapItem'] = {
        id = 46,
        full = 'Labyrinth Map Item',
        long_upper = 'Labyrinth Map Item',
        long_lower = 'labyrinth map item',
        category = 'labyrinth map items',
    },
    ['MiscMapItem'] = {
        id = 47,
        full = 'Misc Map Items',
        long_upper = 'Misc Map Items',
        long_lower = 'misc map items',
        category = 'misc map items',
    },
    ['Leaguestone'] = {
        id = 48,
        full = 'Leaguestones',
        long_upper = 'Leaguestones',
        long_lower = 'leaguestones',
        category = 'leaguestones',
    },
    ['PantheonSoul'] = {
        id = 49,
        full = 'Pantheon Soul',
        long_upper = 'Pantheon Soul',
        long_lower = 'pantheon soul',
        category = 'captured souls',
    },
    ['UniqueFragment'] = {
        id = 50,
        full = 'Piece',
        long_upper = 'Piece',
        long_lower = 'piece',
        category = 'pieces',
    },
    ['AbyssJewel'] = {
        id = 51,
        full = 'Abyss Jewel',
        long_upper = 'Abyss Jewel',
        long_lower = 'abyss jewel',
        category = 'abyss jewels',
    },
    ['IncursionItem'] = {
        id = 52,
        full = 'Incursion Item',
        long_upper = 'Incursion Item',
        long_lower = 'incursion item',
        category = 'incursion items',
    },
    ['DelveSocketableCurrency'] = {
        id = 53,
        full = 'Delve Socketable Currency',
        long_upper = 'Delve Socketable Currency',
        long_lower = 'delve socketable currency',
        category = 'resonators',
    },
    ['Incubator'] = {
        id = 54,
        full = 'Incubator',
        long_upper = 'Incubator',
        long_lower = 'incubator',
        category = 'incubators',
    },
    ['UniqueShard'] = {
        id = 55,
        full = 'Shard',
        long_upper = 'Shard',
        long_lower = 'shard',
    },
    ['UniqueShardBase'] = {
        id = 56,
        full = 'Shard Heart',
        long_upper = 'Shard Heart',
        long_lower = 'shard heart',
    },
    ['Rune Dagger'] = {
        id = 57,
        full = 'Rune Daggers',
        long_upper = 'Rune Daggers',
        long_lower = 'rune daggers',
        category = 'rune daggers',
        tags = {
            elder = 'dagger_elder',
            shaper = 'dagger_shaper',
            crusader = 'dagger_crusader',
            eyrie = 'dagger_eyrie',
            basilisk = 'dagger_basilisk',
            adjudicator = 'dagger_adjudicator',
        },
    },
    ['Warstaff'] = {
        id = 58,
        full = 'Warstaves',
        long_upper = 'Warstaves',
        long_lower = 'warstaves',
        category = 'warstaves',
        tags = {
            elder = 'staff_elder',
            shaper = 'staff_shaper',
            crusader = 'staff_crusader',
            eyrie = 'staff_eyrie',
            basilisk = 'staff_basilisk',
            adjudicator = 'staff_adjudicator',
        },
    },
    ['DelveStackableSocketableCurrency'] = {
        id = 59,
        full = 'Delve Stackable Socketable Currency',
        long_upper = 'Delve Stackable Socketable Currency',
        long_lower = 'delve stackable socketable currency',
        category = 'resonators',
    },
    ['AtlasRegionUpgradeItem'] = {
        id = 60,
        full = 'Atlas Region Upgrade Item',
        long_upper = 'Atlas Region Upgrade Item',
        long_lower = 'atlas region upgrade item',
        category = 'watchstones',
    },
    ['MetamorphosisDNA'] = {
        id = 61,
        full = 'Metamorph Sample',
        long_upper = 'Metamorph Sample',
        long_lower = 'metamorph sample',
        category = 'metamorph samples',
    },
    ['HarvestObject'] = {
        id = 62,
        full = '',
        long_upper = '',
        long_lower = '',
    },
    ['HarvestSeed'] = {
        id = 63,
        full = 'Harvest Seed',
        long_upper = 'Harvest Seed',
        long_lower = 'harvest seed',
    },
    ['HarvestInfrastructure'] = {
        id = 64,
        full = '',
        long_upper = '',
        long_lower = '',
    },
    ['HarvestPlantBooster'] = {
        id = 65,
        full = 'Seed Enhancer',
        long_upper = 'Seed Enhancer',
        long_lower = 'seed enhancer',
    },
    ['HeistContract'] = {
        id = 66,
        full = 'Contract',
        long_upper = 'Contract',
        long_lower = 'contract',
        category = 'contracts',
    },
    ['HeistEquipmentWeapon'] = {
        id = 67,
        full = 'Heist Gear',
        long_upper = 'Heist Gear',
        long_lower = 'heist gear',
        category = 'heist gear',
    },
    ['HeistEquipmentTool'] = {
        id = 68,
        full = 'Heist Tool',
        long_upper = 'Heist Tool',
        long_lower = 'heist tool',
        category = 'heist tools',
    },
    ['HeistEquipmentUtility'] = {
        id = 69,
        full = 'Heist Cloak',
        long_upper = 'Heist Cloak',
        long_lower = 'heist cloak',
        category = 'heist cloaks',
    },
    ['HeistEquipmentReward'] = {
        id = 70,
        full = 'Heist Brooch',
        long_upper = 'Heist Brooch',
        long_lower = 'heist brooch',
        category = 'heist brooches',
    },
    ['HeistBlueprint'] = {
        id = 71,
        full = 'Blueprint',
        long_upper = 'Blueprint',
        long_lower = 'blueprint',
        category = 'blueprints',
    },
    ['Trinket'] = {
        id = 72,
        full = 'Trinkets',
        long_upper = 'Trinkets',
        long_lower = 'trinkets',
        category = 'trinkets',
    },
    ['HeistObjective'] = {
        id = 73,
        full = 'Heist Target',
        long_upper = 'Heist Target',
        long_lower = 'heist target',
        category = 'heist targets',
    },
    ['ExpeditionLogbook'] = {
        id = 74,
        full = 'Expedition Logbook',
        long_upper = 'Expedition Logbook',
        long_lower = 'expedition logbook',
        category = 'expedition logbooks',
    },
}

-- ItemShopType.dat
game.constants.item.cosmetic_item_types = {
    ['Consumable'] = {
        type = 'Consumable',
    },
    ['Apparition'] = {
        type = 'Apparition',
    },
    ['Armour Attachment'] = {
        type = 'Armour Attachment',
    },
    ['Armour Skin'] = {
        type = 'Armour Skin',
    },
    ['Boots Skin'] = {
        type = 'Boots Skin',
    },
    ['Character Effect'] = {
        type = 'Character Effect',
    },
    ['Crafting Bench'] = {
        type = 'Crafting Bench',
    },
    ['Dance'] = {
        type = 'Dance',
    },
    ['Footprints'] = {
        type = 'Footprints',
    },
    ['Gloves Skin'] = {
        type = 'Gloves Skin',
    },
    ['Helmet Attachment'] = {
        type = 'Helmet Attachment',
    },
    ['Helmet Skin'] = {
        type = 'Helmet Skin',
    },
    ['Hideout Decoration Microtransactions'] = {
        type = 'Hideout Decoration Microtransactions',
    },
    ['Hideout Decoration'] = {
        type = 'Hideout Decoration',
    },
    ['Challenge Trophy'] = {
        type = 'Challenge Trophy',
    },
    ['Pet'] = {
        type = 'Pet',
    },
    ['Portal'] = {
        type = 'Portal',
    },
    ['Skill Gem Effect'] = {
        type = 'Skill Gem Effect',
    },
    ['Social Frame'] = {
        type = 'Social Frame',
    },
    ['Portrait'] = {
        type = 'Portrait',
    },
    ['Weapon Added Effect'] = {
        type = 'Weapon Added Effect',
    },
    ['Weapon Effect'] = {
        type = 'Weapon Effect',
    },
    ['Weapon Skin'] = {
        type = 'Weapon Skin',
    },
    ['Shield Skin'] = {
        type = 'Shield Skin',
    },
    ['Miscellaneous'] = {
        type = 'Miscellaneous',
    },
    ['Cursor Skin'] = {
        type = 'Cursor Skin',
    },
}

-- GemTags.dat
game.constants.item.gem_tags = {
    ['fire'] = {
        id = 1,
        tag = 'Fire',
    },
    ['cold'] = {
        id = 2,
        tag = 'Cold',
    },
    ['lightning'] = {
        id = 3,
        tag = 'Lightning',
    },
    ['chaos'] = {
        id = 4,
        tag = 'Chaos',
    },
    ['spell'] = {
        id = 5,
        tag = 'Spell',
    },
    ['projectile'] = {
        id = 6,
        tag = 'Projectile',
    },
    ['bow'] = {
        id = 7,
        tag = 'Bow',
    },
    ['melee'] = {
        id = 8,
        tag = 'Melee',
    },
    ['minion'] = {
        id = 9,
        tag = 'Minion',
    },
    ['strength'] = {
        id = 10,
        tag = '',
    },
    ['dexterity'] = {
        id = 11,
        tag = '',
    },
    ['intelligence'] = {
        id = 12,
        tag = '',
    },
    ['aura'] = {
        id = 13,
        tag = 'Aura',
    },
    ['attack'] = {
        id = 14,
        tag = 'Attack',
    },
    ['area'] = {
        id = 15,
        tag = 'AoE',
    },
    ['duration'] = {
        id = 16,
        tag = 'Duration',
    },
    ['support'] = {
        id = 17,
        tag = 'Support',
    },
    ['curse'] = {
        id = 18,
        tag = 'Curse',
    },
    ['chaining'] = {
        id = 19,
        tag = 'Chaining',
    },
    ['totem'] = {
        id = 20,
        tag = 'Totem',
    },
    ['trap'] = {
        id = 21,
        tag = 'Trap',
    },
    ['mine'] = {
        id = 22,
        tag = 'Mine',
    },
    ['movement'] = {
        id = 23,
        tag = 'Movement',
    },
    ['cast'] = {
        id = 24,
        tag = 'Cast',
    },
    ['vaal'] = {
        id = 25,
        tag = 'Vaal',
    },
    ['active_skill'] = {
        id = 26,
        tag = '',
    },
    ['trigger'] = {
        id = 27,
        tag = 'Trigger',
    },
    ['warcry'] = {
        id = 28,
        tag = 'Warcry',
    },
    ['golem'] = {
        id = 29,
        tag = 'Golem',
    },
    ['low_max_level'] = {
        id = 30,
        tag = '',
    },
    ['channelling'] = {
        id = 31,
        tag = 'Channelling',
    },
    ['herald'] = {
        id = 32,
        tag = 'Herald',
    },
    ['brand'] = {
        id = 33,
        tag = 'Brand',
    },
    ['physical'] = {
        id = 34,
        tag = 'Physical',
    },
    ['guard'] = {
        id = 35,
        tag = 'Guard',
    },
    ['travel'] = {
        id = 36,
        tag = 'Travel',
    },
    ['strike'] = {
        id = 37,
        tag = 'Strike',
    },
    ['blink'] = {
        id = 38,
        tag = 'Blink',
    },
    ['nova'] = {
        id = 39,
        tag = 'Nova',
    },
    ['banner'] = {
        id = 40,
        tag = '',
    },
    ['slam'] = {
        id = 41,
        tag = 'Slam',
    },
    ['stance'] = {
        id = 42,
        tag = 'Stance',
    },
    ['hex'] = {
        id = 43,
        tag = 'Hex',
    },
    ['mark'] = {
        id = 44,
        tag = 'Mark',
    },
    ['orb'] = {
        id = 45,
        tag = 'Orb',
    },
    ['random_element'] = {
        id = 46,
        tag = 'Prismatic',
    },
    ['arcane'] = {
        id = 47,
        tag = 'Arcane',
    },
}

game.constants.item.gem_tags_lookup = {
    ['Fire'] = 'fire',
    ['Cold'] = 'cold',
    ['Lightning'] = 'lightning',
    ['Chaos'] = 'chaos',
    ['Spell'] = 'spell',
    ['Projectile'] = 'projectile',
    ['Bow'] = 'bow',
    ['Melee'] = 'melee',
    ['Minion'] = 'minion',
    ['Aura'] = 'aura',
    ['Attack'] = 'attack',
    ['AoE'] = 'area',
    ['Duration'] = 'duration',
    ['Support'] = 'support',
    ['Curse'] = 'curse',
    ['Chaining'] = 'chaining',
    ['Totem'] = 'totem',
    ['Trap'] = 'trap',
    ['Mine'] = 'mine',
    ['Movement'] = 'movement',
    ['Cast'] = 'cast',
    ['Vaal'] = 'vaal',
    ['Trigger'] = 'trigger',
    ['Warcry'] = 'warcry',
    ['Golem'] = 'golem',
    ['Channelling'] = 'channelling',
    ['Herald'] = 'herald',
    ['Brand'] = 'brand',
    ['Physical'] = 'physical',
    ['Guard'] = 'guard',
    ['Travel'] = 'travel',
    ['Strike'] = 'strike',
    ['Blink'] = 'blink',
    ['Nova'] = 'nova',
    ['Slam'] = 'slam',
    ['Stance'] = 'stance',
    ['Hex'] = 'hex',
    ['Mark'] = 'mark',
    ['Orb'] = 'orb',
    ['Arcane'] = 'arcane',
    ['Prismatic'] = 'random_element',
}

game.constants.item.gem_quality_types = {
    {
        id = 1,
        full = 'Superior',
        long_upper = 'Superior',
        long_lower = 'superior',
        short_upper = 'S',
        short_lower = 's',
    },
    {
        id = 2,
        full = 'Anomalous',
        long_upper = 'Anomalous',
        long_lower = 'anomalous',
        short_upper = 'A',
        short_lower = 'a',
    },
    {
        id = 3,
        full = 'Divergent',
        long_upper = 'Divergent',
        long_lower = 'divergent',
        short_upper = 'D',
        short_lower = 'd',
    },
    {
        id = 4,
        full = 'Phantasmal',
        long_upper = 'Phantasmal',
        long_lower = 'phantasmal',
        short_upper = 'P',
        short_lower = 'p',
    },
}

game.constants.skill = {}

-- CostTypes.dat
game.constants.skill.cost_types = {
    ['Mana'] = {
        full = 'Mana',
        long_upper = 'Mana',
        long_lower = 'mana',
    },
    ['Life'] = {
        full = 'Life',
        long_upper = 'Life',
        long_lower = 'life',
    },
    ['ES'] = {
        full = 'Energy Shield',
        long_upper = 'Energy Shield',
        long_lower = 'energy shield',
    },
    ['Rage'] = {
        full = 'Rage',
        long_upper = 'Rage',
        long_lower = 'rage',
    },
    ['ManaPercent'] = {
        full = 'Mana Percent',
        long_upper = 'Mana',
        long_lower = 'mana',
    },
    ['LifePercent'] = {
        full = 'Life Percent',
        long_upper = 'Life',
        long_lower = 'life',
    },
}

-- 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',
    },
    [18] = {
        short_upper = 'Synthesis unknown',
        short_lower = 'Synthesis unknown',
    },
    [19] = {
        short_upper = 'Synthesis Globals',
        short_lower = 'synthesis globals',
    },
    [20] = {
        short_upper = 'Synthesis Bonus',
        short_lower = 'Synthesis bonus',
    },
    [21] = {
        short_upper = 'Affliction Jewel',
        short_lower = 'Affliction jewel',
    },
    [22] = {
        short_upper = 'Heist Area',
        short_lower = 'heist area',
    },
    [23] = {
        short_upper = 'Heist NPC',
        short_lower = 'heist NPC',
    },
    [24] = {
        short_upper = 'Heist Trinket',
        short_lower = 'heist trinket',
    },
    [25] = {
        short_upper = 'Watchstone',
        short_lower = 'watchstone',
    },
    [26] = {
    	short_upper = 'Veiled',
    	short_lower = 'veiled',
    },
    [27] = {
    	short_upper = 'Expedition Remnants',
    	short_lower = 'expedition remnants',
    },
    [28] = {
    	short_upper = 'Unveiled',
    	short_lower = 'unveiled',
    },
}

-- 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',
    },
    [15] = {
        short_upper = 'Synthesis unknown',
        short_lower = 'synthesis unknown',
    },
    [16] = {
        short_upper = 'Synthesis Globals',
        short_lower = 'synthesis globals',
    },
    [17] = {
        short_upper = 'Synthesis Bonus',
        short_lower = 'synthesis bonus',
    },
    [18] = {
        short_upper = 'Blight',
        short_lower = 'blight',
    },
    [19] = {
        short_upper = 'Blight Tower',
        short_lower = 'blight tower',
    },
    [20] = {
        short_upper = 'Monster Affliction',
        short_lower = 'monster affliction',
    },
    [21] = {
    	short_upper = 'Enkindling Orb',
    	short_lower = 'enkindling orb',
    },
    [22] = {
    	short_upper = 'Instilling Orb',
    	short_lower = 'instilling orb',
    },
    [23] = {
    	short_upper = 'Expedition Logbook',
    	short_lower = 'expedition logbook',
    },
}

return game