Module:Skill/config: Difference between revisions

From Path of Exile Wiki
Jump to navigation Jump to search
m (Protected "Module:Skill/config" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)))
No edit summary
 
(16 intermediate revisions by 3 users not shown)
Line 1: Line 1:
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
--  
--  
--                       Configuration for Module:Skill
-- Configuration for Module:Skill
--  
--  
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Line 30: Line 30:
     projectile_speed = 'projectile_speed',
     projectile_speed = 'projectile_speed',
     stat_text = 'stat_text',
     stat_text = 'stat_text',
    quality_stat_text = 'quality_stat_text',
     radius = 'radius',
     radius = 'radius',
     radius_description = 'radius_description',
     radius_description = 'radius_description',
Line 38: Line 37:
     radius_tertiary_description = 'radius_tertiary_description',
     radius_tertiary_description = 'radius_tertiary_description',
     skill_screenshot = 'skill_screenshot',
     skill_screenshot = 'skill_screenshot',
    has_percentage_mana_cost = 'has_percentage_mana_cost', -- Deprecated
    has_reservation_mana_cost = 'has_reservation_mana_cost', -- Deprecated
     -- progression
     -- progression
     level = 'level',
     level = 'level',
Line 46: Line 43:
     strength_requirement = 'strength_requirement',
     strength_requirement = 'strength_requirement',
     intelligence_requirement = 'intelligence_requirement',
     intelligence_requirement = 'intelligence_requirement',
     mana_multiplier = 'mana_multiplier',
     cost_multiplier = 'cost_multiplier',
    attack_time = 'attack_time',
     critical_strike_chance = 'critical_strike_chance',
     critical_strike_chance = 'critical_strike_chance',
     damage_effectiveness = 'damage_effectiveness',
     damage_effectiveness = 'damage_effectiveness',
Line 58: Line 56:
     duration = 'duration',
     duration = 'duration',
     experience = 'experience',
     experience = 'experience',
     mana_cost = 'mana_cost', -- Deprecated
     -- costs (also part of progression)
    -- costs
    cost_types = 'cost_types',
     skill_cost = 'skill_cost',
     cost_amounts = 'cost_amounts',
     cost = 'cost',
     mana_reservation_flat = 'mana_reservation_flat',
     cost_type = 'type',
     mana_reservation_percent = 'mana_reservation_percent',
     cost_is_reservation = 'is_reservation',
     life_reservation_flat = 'life_reservation_flat',
     cost_amount = 'amount',
     life_reservation_percent = 'life_reservation_percent',
     -- stats
     -- stats
     stat = 'stat',
     stat = 'stat',
Line 84: Line 82:
-- Errors thrown by Template:Skill
-- Errors thrown by Template:Skill
cfg.i18n.errors.skill = {
cfg.i18n.errors.skill = {
     invalid_item_class_id = 'The item class id "%s" is invalid.',
     invalid_item_class_id = 'The item class id "%s" is invalid',
     invalid_cost_type = 'The cost type "%s" is invalid. Acceptable values are "mana", "life", "energy_shield", "rage", "mana_percent" and "life_percent".',
     invalid_cost_type = 'The cost type "%s" is invalid. Acceptable values are "Mana", "Life", "ES", "Rage", "ManaPercent" and "LifePercent"',
}
}


-- Errors thrown by Template:Skill progression
-- Errors thrown by Template:Skill progression
cfg.i18n.errors.progression = {
cfg.i18n.errors.progression = {
     argument_unspecified = 'An argument for "%s" must be specified.',
     argument_unspecified = 'An argument for "%s" must be specified',
    no_results_for_skill_id = 'Unable to find skill data for skill id "%s".',
     missing_level_data = 'Unable to find skill level progression data',
    no_results_for_skill_page = 'Unable to find skill data on page "%s".',
     missing_level_data = 'Unable to find skill level progression data.',
}
}


-- Formatting
-- Errors thrown by Template:Skill quality
cfg.i18n.fmt = {
cfg.i18n.errors.quality = {
     seconds_abbr = 's',
    missing_quality_data = 'Unable to find skill quality data',
}
 
cfg.i18n.errors.validate_skill = {
     no_results_found = 'No results found for skill using search term "%s = %s"',
    many_results_found = 'More than one result found for skill using search term "%s = %s"',
}
}


Line 132: Line 133:
     skill_icon = 'Icon',
     skill_icon = 'Icon',
     cast_time = 'Cast Time',
     cast_time = 'Cast Time',
    instant_cast_time = 'Instant',
     item_class_restrictions = 'Item Class<br>Restrictions',
     item_class_restrictions = 'Item Class<br>Restrictions',
     projectile_speed = 'Projectile Speed',
     projectile_speed = 'Projectile Speed',
Line 138: Line 140:
     radius_tertiary = 'Radius 3',
     radius_tertiary = 'Radius 3',
     level_requirement = 'Level Req.',
     level_requirement = 'Level Req.',
     mana_multiplier = 'Mana Multiplier',
     cost_multiplier = 'Cost and Reservation Multiplier',
    attack_time = 'Attack Time',
     critical_strike_chance = 'Critical Strike Chance',
     critical_strike_chance = 'Critical Strike Chance',
     cost = 'Cost',
     cost = 'Cost',
     reservation = 'Reservation',
     reservation = 'Reservation',
     attack_speed_multiplier = 'Attack Speed',
     attack_speed_multiplier = 'Attack Speed',
    damage_multiplier = 'Attack Damage',
    of_base_stat = 'of base',
     damage_effectiveness = 'Effectiveness of Added Damage',
     damage_effectiveness = 'Effectiveness of Added Damage',
     stored_uses = 'Stored Uses',
     stored_uses = 'Stored Uses',
Line 149: Line 154:
     vaal_stored_uses = 'Vaal Stored Uses',
     vaal_stored_uses = 'Vaal Stored Uses',
     vaal_soul_gain_prevention_time = 'Soul Gain Prevention',
     vaal_soul_gain_prevention_time = 'Soul Gain Prevention',
    damage_multiplier = 'Damage Multiplier',
     duration = 'Base duration',
     duration = 'Base duration',
}
}
Line 160: Line 164:
     strength_requirement = m_util.html.abbr('[[Image:StrengthIcon_small.png|link=|alt=Required Strength]]', 'Required Strength', 'nounderline'),
     strength_requirement = m_util.html.abbr('[[Image:StrengthIcon_small.png|link=|alt=Required Strength]]', 'Required Strength', 'nounderline'),
     intelligence_requirement = m_util.html.abbr('[[Image:IntelligenceIcon_small.png|link=|alt=Required Intelligence]]', 'Required Intelligence', 'nounderline'),
     intelligence_requirement = m_util.html.abbr('[[Image:IntelligenceIcon_small.png|link=|alt=Required Intelligence]]', 'Required Intelligence', 'nounderline'),
     mana_multiplier = 'Mana<br>Multiplier',
     cost_multiplier = 'Cost and<br>Reservation<br>Multiplier',
    attack_time = 'Attack<br>Time',
     critical_strike_chance = 'Critical<br>Strike<br>Chance',
     critical_strike_chance = 'Critical<br>Strike<br>Chance',
     mana_cost = 'Mana<br>Cost',
     mana_cost = 'Mana<br>Cost',
Line 168: Line 173:
     mana_reserved = 'Mana<br>Reservation',
     mana_reserved = 'Mana<br>Reservation',
     life_reserved = 'Life<br>Reservation',
     life_reserved = 'Life<br>Reservation',
     attack_speed_multiplier = 'Attack<br>Speed<br>Multiplier',
     attack_speed_multiplier = m_util.html.abbr('Attack<br>Speed', 'Attack speed is x% of base'),
    damage_multiplier = m_util.html.abbr('Attack<br>Damage', 'Attack damage is x% of base'),
     damage_effectiveness = 'Damage<br>Effectiveness',
     damage_effectiveness = 'Damage<br>Effectiveness',
     stored_uses = 'Stored<br>Uses',
     stored_uses = 'Stored<br>Uses',
Line 175: Line 181:
     vaal_stored_uses = 'Stored<br>Uses',
     vaal_stored_uses = 'Stored<br>Uses',
     vaal_soul_gain_prevention_time = 'Soul<br>Prevention<br>Time',
     vaal_soul_gain_prevention_time = 'Soul<br>Prevention<br>Time',
    damage_multiplier = m_util.html.abbr('Damage<br>Multiplier', 'Deals x% of base damage'),
     duration = m_util.html.abbr('Base duration', 'Base duration is x seconds'),
     duration = m_util.html.abbr('Base duration', 'Base duration is x seconds'),
     experience = m_util.html.abbr('Exp.', 'Experience needed to level up'),
     experience = m_util.html.abbr('Exp.', 'Experience needed to level up'),
     total_experience = m_util.html.abbr('Total Exp.', 'Total experience needed'),
     total_experience = m_util.html.abbr('Total Exp.', 'Total experience needed'),
     na = 'N/A',
}
 
-- Skill quality table strings
cfg.i18n.quality = {
    type = 'Type',
    stats = 'Additional Effects per 1-20% Quality',
     weight = 'Weight',
}
}


Line 186: Line 197:
-- ----------------------------------------------------------------------------
-- ----------------------------------------------------------------------------


-- Wrapper templates
cfg.wrappers = {
    skill = {
        'Template:Skill',
    },
    progression = {
        'Template:Skill progression',
    },
    quality = {
        'Template:Skill quality',
    },
}
-- Sets arbitrary limit on how many stats a skill can have
cfg.max_stats_per_level = 8
cfg.max_stats_per_level = 8


return cfg
return cfg

Latest revision as of 17:54, 16 December 2023

Module documentation[view] [edit] [history] [purge]


This is the configuration file for Module:Skill. This file can be edited to allow easy translation/porting of the module to other wikis.


-------------------------------------------------------------------------------
-- 
-- Configuration for Module:Skill
-- 
-------------------------------------------------------------------------------

local m_util = require('Module:Util')

local cfg = {}

-- ----------------------------------------------------------------------------
-- i18n
-- ----------------------------------------------------------------------------

cfg.i18n = {}

cfg.i18n.parameters = {}

-- Parameters for Template:Skill
cfg.i18n.parameters.skill = {
    -- static
    static = 'static',
    skill_id = 'skill_id',
    cast_time = 'cast_time',
    gem_description = 'gem_description',
    active_skill_name = 'active_skill_name',
    skill_icon = 'skill_icon',
    item_class_id_restriction = 'item_class_id_restriction',
    item_class_restriction = 'item_class_restriction',
    projectile_speed = 'projectile_speed',
    stat_text = 'stat_text',
    radius = 'radius',
    radius_description = 'radius_description',
    radius_secondary = 'radius_secondary',
    radius_secondary_description = 'radius_secondary_description',
    radius_tertiary = 'radius_tertiary',
    radius_tertiary_description = 'radius_tertiary_description',
    skill_screenshot = 'skill_screenshot',
    -- progression
    level = 'level',
    level_requirement = 'level_requirement',
    dexterity_requirement = 'dexterity_requirement',
    strength_requirement = 'strength_requirement',
    intelligence_requirement = 'intelligence_requirement',
    cost_multiplier = 'cost_multiplier',
    attack_time = 'attack_time',
    critical_strike_chance = 'critical_strike_chance',
    damage_effectiveness = 'damage_effectiveness',
    stored_uses = 'stored_uses',
    cooldown = 'cooldown',
    vaal_souls_requirement = 'vaal_souls_requirement',
    vaal_stored_uses = 'vaal_stored_uses',
    vaal_soul_gain_prevention_time = 'vaal_soul_gain_prevention_time',
    damage_multiplier = 'damage_multiplier',
    attack_speed_multiplier = 'attack_speed_multiplier',
    duration = 'duration',
    experience = 'experience',
    -- costs (also part of progression)
    cost_types = 'cost_types',
    cost_amounts = 'cost_amounts',
    mana_reservation_flat = 'mana_reservation_flat',
    mana_reservation_percent = 'mana_reservation_percent',
    life_reservation_flat = 'life_reservation_flat',
    life_reservation_percent = 'life_reservation_percent',
    -- stats
    stat = 'stat',
    stat_id = 'id',
    stat_value = 'value',
}

-- Parameters for Template:Skill progression
cfg.i18n.parameters.progression = {
    column = 'c',
    header = 'header', 
    abbr = 'abbr', 
    pattern_extract = 'pattern_extract', 
    pattern_value = 'pattern_value',
}

cfg.i18n.errors = {}

-- Errors thrown by Template:Skill
cfg.i18n.errors.skill = {
    invalid_item_class_id = 'The item class id "%s" is invalid',
    invalid_cost_type = 'The cost type "%s" is invalid. Acceptable values are "Mana", "Life", "ES", "Rage", "ManaPercent" and "LifePercent"',
}

-- Errors thrown by Template:Skill progression
cfg.i18n.errors.progression = {
    argument_unspecified = 'An argument for "%s" must be specified',
    missing_level_data = 'Unable to find skill level progression data',
}

-- Errors thrown by Template:Skill quality
cfg.i18n.errors.quality = {
    missing_quality_data = 'Unable to find skill quality data',
}

cfg.i18n.errors.validate_skill = {
    no_results_found = 'No results found for skill using search term "%s = %s"',
    many_results_found = 'More than one result found for skill using search term "%s = %s"',
}

-- Templates
cfg.i18n.templates = {
    incorrect_title = 'Template:Incorrect title',
    cargo_attach = 'Template:Skill/cargo/attach/%s',
}

-- Categories    
cfg.i18n.categories = {
    skill_data = 'Skill data',
    deprecated_parameters = 'Pages using deprecated parameters for skill data',
    broken_progression_table = 'Pages with broken skill progression tables',
}

-- Files
cfg.i18n.files = {
    skill_icon = 'File:%s skill icon.png',
    skill_screenshot = 'File:%s skill screenshot.jpg',
}

-- Other messages
cfg.i18n.messages = {
    intro_named_id = "'''%s''' is the internal id of the [[skill]] '''%s'''.\n",
    intro_unnamed_id = "'''%s''' is the internal id of an unnamed [[skill]].\n",
}

-- Skill infobox strings
cfg.i18n.infobox = {
    skill_id = 'Skill Id',
    active_skill_name = 'Name',
    skill_icon = 'Icon',
    cast_time = 'Cast Time',
    instant_cast_time = 'Instant',
    item_class_restrictions = 'Item Class<br>Restrictions',
    projectile_speed = 'Projectile Speed',
    radius = 'Radius',
    radius_secondary = 'Radius 2',
    radius_tertiary = 'Radius 3',
    level_requirement = 'Level Req.',
    cost_multiplier = 'Cost and Reservation Multiplier',
    attack_time = 'Attack Time',
    critical_strike_chance = 'Critical Strike Chance',
    cost = 'Cost',
    reservation = 'Reservation',
    attack_speed_multiplier = 'Attack Speed',
    damage_multiplier = 'Attack Damage',
    of_base_stat = 'of base',
    damage_effectiveness = 'Effectiveness of Added Damage',
    stored_uses = 'Stored Uses',
    cooldown = 'Cooldown',
    vaal_souls_requirement = 'Vaal Souls',
    vaal_stored_uses = 'Vaal Stored Uses',
    vaal_soul_gain_prevention_time = 'Soul Gain Prevention',
    duration = 'Base duration',
}

-- Skill progression table strings
cfg.i18n.progression = {
    level = 'Level',
    level_requirement = m_util.html.abbr('[[Image:Level_up_icon_small.png|link=|alt=Required Level]]', 'Required Level', 'nounderline'),
    dexterity_requirement = m_util.html.abbr('[[Image:DexterityIcon_small.png|link=|alt=Required Dexterity]]', 'Required Dexterity', 'nounderline'),
    strength_requirement = m_util.html.abbr('[[Image:StrengthIcon_small.png|link=|alt=Required Strength]]', 'Required Strength', 'nounderline'),
    intelligence_requirement = m_util.html.abbr('[[Image:IntelligenceIcon_small.png|link=|alt=Required Intelligence]]', 'Required Intelligence', 'nounderline'),
    cost_multiplier = 'Cost and<br>Reservation<br>Multiplier',
    attack_time = 'Attack<br>Time',
    critical_strike_chance = 'Critical<br>Strike<br>Chance',
    mana_cost = 'Mana<br>Cost',
    life_cost = 'Life<br>Cost',
    energy_shield_cost = m_util.html.abbr('ES Cost', 'Energy shield cost'),
    rage_cost = 'Rage<br>Cost',
    mana_reserved = 'Mana<br>Reservation',
    life_reserved = 'Life<br>Reservation',
    attack_speed_multiplier = m_util.html.abbr('Attack<br>Speed', 'Attack speed is x% of base'),
    damage_multiplier = m_util.html.abbr('Attack<br>Damage', 'Attack damage is x% of base'),
    damage_effectiveness = 'Damage<br>Effectiveness',
    stored_uses = 'Stored<br>Uses',
    cooldown = 'Cooldown',
    vaal_souls_requirement = 'Vaal<br>souls',
    vaal_stored_uses = 'Stored<br>Uses',
    vaal_soul_gain_prevention_time = 'Soul<br>Prevention<br>Time',
    duration = m_util.html.abbr('Base duration', 'Base duration is x seconds'),
    experience = m_util.html.abbr('Exp.', 'Experience needed to level up'),
    total_experience = m_util.html.abbr('Total Exp.', 'Total experience needed'),
}

-- Skill quality table strings
cfg.i18n.quality = {
    type = 'Type',
    stats = 'Additional Effects per 1-20% Quality',
    weight = 'Weight',
}

-- ----------------------------------------------------------------------------
-- Constants
-- ----------------------------------------------------------------------------

-- Wrapper templates
cfg.wrappers = {
    skill = {
        'Template:Skill',
    },
    progression = {
        'Template:Skill progression',
    },
    quality = {
        'Template:Skill quality',
    },
}

-- Sets arbitrary limit on how many stats a skill can have
cfg.max_stats_per_level = 8

return cfg