Template:E/legacy

From Tales of Maj'Eyal
Jump to: navigation, search


This template is designed to match item effects descriptions and their lua code, to ensure consistency, intuitive conversion, and keep the wording in line with their in-game description. Source:game/modules/mod/class/Object.lua

Set scale to match the conversion in the Lua code. For example, dividing by 10 uses scale=0.1; no conversion uses scale=1.

Damage Types: Increases, Resistances and So Forth

Supported damage types:

  • all
  • acid
  • arcane
  • blight
  • cold
  • darkness
  • fire
  • light
  • lightning
  • mind
  • nature
  • physical
  • temporal

Resistances

The lua code specifying an ego's effect on, e.g. fire resistance, looks like

resists={[DamageType.FIRE] = resolvers.mbonus_material(15, 15)}

Convert it with this template as

{{e|resists|fire|15|15}}

Which produces the following text: Changes resistances: + (15-30)% Fire

Resistance Penetration

The lua code specifying an ego that allows you to penetrate the target's , e.g. physical resistance, looks like

resists_pen = {[DamageType.PHYSICAL] = resolvers.mbonus_material(15, 5)}

Convert it with this template as

{{e|resists_pen|physical|15|5}}

Which produces the following text: Changes resistances penetration: + (5-20)% Physical


Increases

The lua code specifying an ego that increases, e.g. physical damage, looks like

inc_damage = {[DamageType.PHYSICAL] = resolvers.mbonus_material(20, 5)}

Convert it with this template as

{{e|inc_damage|physical|20|5}}

Which produces the following text: Changes damage: + (5-25)% Physical

Effects on Hit

The lua code specifying an ego's dealing physical damage when the wearer is hit looks like

on_melee_hit={[DamageType.PHYSICAL] = resolvers.mbonus_material(10, 10)}

Convert it with this template as

{{e|on_melee_hit|physical|10|10}}

Which produces the following text: Damage when hit (Melee): + (10-20) Physical


The lua code for Draebor's fire damage when hit looks like

on_melee_hit = {[DamageType.FIRE] = 15}

Source:base 1.7.6: data/zones/demon-plane/npcs.lua:49


Convert it with this template as

{{e|on_melee_hit|fire|value=15|context=actor}}

Which produces the following text: Damage when hit (Melee): + 15 Fire

Melee and Ranged Attacks with Extra Flat Damage

The lua code specifying an ego's effect on wearer's melee attacks dealing extra fire damage looks like

melee_project={[DamageType.FIRE] = resolvers.mbonus_material(15, 8),}

Convert it with this template as

{{e|melee_project|fire|15|8}}

Which produces the following text: Damage (Melee): + (8-23) Fire


The lua code for Khulmanar's additional melee fire damage looks like

melee_project = {[DamageType.FIRE] = resolvers.mbonus(25, 35)}

Source:base 1.7.6: data/general/npcs/major-demon.lua:317


Convert it with this template as

{{e|melee_project|fire|25|35|resolver=mbonus|scale=1|context=actor}}

Which produces the following text: Damage (Melee): + (35-60) Fire

Combat Attributes

Supported:

  • Armour penetration (combat_apr)
  • Physical, spell and mental critical powers (combat_dam, combat_spellpower, combat_mindpower)
  • Physical, spell and mental critical chances (combat_physcrit, combat_spellcrit, combat_mindcrit)
  • Armour (combat_armor)
  • Defense (combat_def) and ranged defense (combat_def_ranged)
  • Critical multiplier (combat_critical_power)
  • Spell cooldown (spell_cooldown_reduction)

The lua code for an ego increasing armour value looks like

combat_armor = resolvers.mbonus_material(7, 3)

Convert it with this template as

{{e|combat_armor|7|3}}

Which produces the following text: Armour: + (3-10)

Spell Cooldown

The lua code for an ego that reduce spell cooldowns looks like

spell_cooldown_reduction = 0.1

Convert it with this template as

{{e|spell_cooldown_reduction|0.1}}

Which produces the following text: Lowers spell cool-downs by: 10%


Fatigue

The lua code for an ego's effect on wearer's fatigue looks like

fatigue = resolvers.mbonus_material(6, 4, function(e, v) return 0, -v end)

Convert it with this template as

{{e|fatigue|6|4}}

Which produces the following text: Fatigue: - (4-10)%

Maximum Encumberance

The lua code for an ego's that let its wearer carry more weight looks like

max_encumber = resolvers.mbonus_material(40, 20)

Convert it with this template as

{{e|max_encumber|40|20}}

Which produces the following text: Maximum encumbrance: + (20-60)


Stats

Supported:

  • Strength (str)
  • Dexterity (dex)
  • Constitution (con)
  • Magic (mag)
  • Willpower (wil)
  • Cunning (cun)
  • Luck (lck)

The lua code for an ego's effect on increasing willpower looks like

inc_stats = {[Stats.STAT_WIL] = resolvers.mbonus_material(5, 1)}

Convert it with this template as

{{e|inc_stats|wil|5|1}}

Which produces the following text: Changes stats: + (1-6) Willpower

Reduced Damage from Specific Creature Types

The lua code for an ego that protects the wearer from, say unnatural creatures, looks like:

resists_actor_type = {unnatural=resolvers.mbonus_material(10, 5)},

Convert it with this template as

{{e|resists_actor_type|unnatural|10|5}}

Which produces the following text: Reduced damage from unnatural creatures: (5-15)%

Rouge-ish Utilities

Stealth

The lua code for an ego that provides bonus for stealth looks like

inc_stealth = resolvers.mbonus_material(10, 5)

Convert it with this template as

{{e|inc_stealth|10|5}}

Which produces the following text: Stealth bonus: + (5-15)

Trap Disarm

The lua code for an ego that makes it easier to disarm traps looks like

disarm_bonus = resolvers.mbonus_material(25, 5)

Convert it with this template as

{{e|disarm_bonus|25|5}}

Which produces the following text: Trap disarming bonus: + (5-30)

Trap Detection

The lua code for an ego that makes it easier to detect traps looks like

trap_detect_power = resolvers.mbonus_material(25, 5)

Convert it with this template as

{{e|trap_detect_power|25|5}}

Which produces the following text: Trap detection power: + (5-30)


Saving Throws

Supported:

  • physresist (physical save)
  • spellresist (spell save)
  • mentalresist (mental save)

The lua code for an ego's effect on physical save looks like

combat_physresist = resolvers.mbonus_material(15, 10)

Convert it with this template as

{{e|combat_physresist|15|10}}

Which produces the following text: Physical save: + (10-25)


Status Immunities

Supported:

  • blind
  • poison
  • disease
  • cut
  • silence
  • disarm
  • confusion
  • sleep
  • pin
  • stun
  • fear
  • knockback
  • teleport

The lua code for an ego that provides disease immunity looks like

disease_immune = resolvers.mbonus_material(30, 20, function(e, v) return 0, v/100 end)

Convert it with this template as

{{e|disease_immune|30|20}}

Which produces the following text: Disease immunity: + (20-50)%


The lua code for the same disease immunity bonus looks like

disease_immune = resolvers.mbonus_material(30, 20, function(e, v) return 0, v/100 end)

Source:base 1.7.6: data/general/objects/egos/amulets.lua:221


Convert it with this template as

{{e|disease_immune|30|20|resolver=mbonus_material|scale=0.01|context=wearer}}

Which produces the following text: Disease immunity: + (20-50)%

The callback stores a fraction; the template displays a percentage. Source:base 1.7.6: mod/class/Object.lua:1775–1797


Life and Resources

Supported:

  • life (regen & max)
  • mana (regen & max)
  • stamina (regen & max)
  • hate (regen & max)
  • psi (regen & max)
  • vim (max)
  • positive energy (max)
  • negative energy (max)
  • paradox (reduce_anomalies)

Regeneration

This template divides regeneration values by 10 for life, stamina and hate, and by 100 for mana and psi. Use it when the item's code divides by the same number; otherwise, calculate the values and write them directly.

For example, this item's code divides by 100:

mana_regen = resolvers.mbonus_material(30, 10, function(e, v) v=v/100 return 0, v end)

Use:

{{e|mana_regen|30|10}}

This produces: Mana each turn: + (0.1-0.4)


The following forms specify the callback conversion directly.

Life

The lua code for an ego's life regeneration bonus looks like

life_regen = resolvers.mbonus_material(4, 1, function(e, v) return 0, v end)

Source:base 1.7.6: data/general/objects/egos/amulets.lua:236


Convert it with this template as

{{e|life_regen|4|1|resolver=mbonus_material|scale=1|context=wearer}}

Which produces the following text: Life regen: + (1-5)


Mana

The lua code for an ego's mana regeneration bonus looks like

mana_regen = resolvers.mbonus_material(23, 7, function(e, v) v=v/10 return 0, v end)

Source:base 1.7.6: data/general/objects/egos/wizard-hat.lua:90


Convert it with this template as

{{e|mana_regen|23|7|resolver=mbonus_material|scale=0.1|context=wearer}}

Which produces the following text: Mana each turn: + (0.7-3)


Psi

The lua code for an ego's psi regeneration bonus looks like

psi_regen = resolvers.mbonus_material(12, 3, function(e, v) v=v/10 return 0, v end)

Source:base 1.7.6: data/general/objects/egos/mindstars.lua:648


Convert it with this template as

{{e|psi_regen|12|3|resolver=mbonus_material|scale=0.1|context=wearer}}

Which produces the following text: Psi each turn: + (0.3-1.5)


Stamina

The lua code for an ego's stamina regeneration bonus looks like

stamina_regen = resolvers.mbonus_material(10, 2, function(e, v) v=v/10 return 0, v end)

Source:base 1.7.6: data/general/objects/egos/amulets.lua:177


Convert it with this template as

{{e|stamina_regen|10|2|resolver=mbonus_material|scale=0.1|context=wearer}}

Which produces the following text: Stamina each turn: + (0.2-1.2)

The item tooltip uses the stored regeneration bonus. Source:base 1.7.6: mod/class/Object.lua:1792–1796


Maximum Amount

The lua code for an ego's effect on wearer's maximum life looks like

max_life=resolvers.mbonus_material(60, 40)

Convert it with this template as

{{e|max_life|60|40}}

Which produces the following text: Maximum life: + (40-100)

Reduces Paradox Anomalies

The lua code for an ego that reduce paradox anomalies looks like

paradox_reduce_anomalies = resolvers.mbonus_material(10, 10)

Convert it with this template as

{{e|paradox_reduce_anomalies|10|10}}

Which produces the following text: Reduces paradox anomalies (equivalent to willpower): + (10-20)


Vision

Light Radius

The lua code for an ego's effect on light radius looks like

lite = resolvers.mbonus_material(1, 2)

Convert it with this template as

{{e|lite|1|2}}

Which produces the following text: Light radius: + (2-3)

Infravision

The lua code for an ego that grants infravision range looks like

infravision = resolvers.mbonus_material(3, 2)

Convert it with this template as

{{e|infravision|3|2}}

Which produces the following text: Infravision radius: + (2-5)

Speed

The lua code for an ego that increases movement speed looks like

movement_speed = 0.2

Convert it with this template as

{{e|movement_speed|0.2}}

Which produces the following text: Movement speed: + 20%


Healing Mod.

The lua code for an ego's effect on healing efficiency looks like

healing_factor = resolvers.mbonus_material(20, 10, function(e, v) v=v/100 return 0, v end)

Convert it with this template as

{{e|healing_factor|20|10}}

Which produces the following text: Healing modification: + (10-30)%

Aftere-teleport perks

Supported:

  • Defense (defense_on_teleport)
  • Resist all (resist_all_on_teleport)
  • Effects duration (effect_reduction_on_teleport)

The lua code for an ego's that grants defense after teleport looks like

defense_on_teleport = resolvers.mbonus_material(20, 10)

Convert it with this template as

{{e|defense_on_teleport|20|10}}

Which produces the following text: Defense after a teleport: + (10-30)

Various States Effects

Size Category

The lua code for an ego that increases the wearer's body size looks like

size_category = 1

Convert it with this template as

{{e|size_category}}

Which produces the following text: Size category: + 1

As Undead

The lua code for an ego that makes the wearer to be treated as an undead looks like

undead = 1

Convert it with this template as

{{e|undead}}

Which produces the following text: The wearer is treated as an undead.

Water-breathing

The lua code for an ego that allows its wearer breathe in water looks like

can_breath = {water=1}

Convert it with this template as

{{e|can_breath}}

Which produces the following text: Allows you to breathe in: water

Non-breathing

The lua code for an ego that makes the wearer no longer needs to breathe looks like

no_breath = 1

Convert it with this template as

{{e|no_breath}}

Which produces the following text: The wearer no longer has to breathe.

An Object's Usable Power

Talents

The lua code for an ego's that can be used to activate a talent looks like

resolvers.charmt(Talents.T_TRACK, 2, 30)

Convert it with this template as

{{e|charmt|track|2|30}}

Which produces the following text: It can be used to activate talent track (level 2, costing 30 power)