using System;
using System.Linq;
using Trinity.Combat;
using Trinity.Helpers;
using Trinity.Objects;
using System.Collections.Generic;
using Zeta.Game;
using Zeta.Game.Internals.Actors;
// AUTO-GENERATED on {{timestamp}}
namespace Trinity.Reference
{
public static class Skills
{
{{#each classes}}
public class {{name}} : FieldCollection<{{name}}, Skill>
{
{{#each skills}}
/// <summary>
/// {{description}}
/// </summary>
public static Skill {{Strip name}} = new Skill
{
Index = {{orderIndex}},
Name = "{{name}}",
SNOPower = SNOPower.{{SNOPowerFormat icon name}},
Slug = "{{slug}}",
IconSlug = "{{icon}}",
RequiredLevel = {{requiredLevel}},
Description = "{{description}}",
Tooltip = "{{tooltipParams}}",
Category = SpellCategory.{{categoryName}},
IsPrimary = {{Bool primary}},
Class = ActorClass.{{Format className}},
{{{ICombatProperties description "Duration"}}}
{{{ICombatProperties description "Cost"}}}
{{{ICombatProperties description "Cooldown"}}}
{{{ICombatProperties description "Element" name}}}
{{{ICombatProperties description "Resource"}}}
{{{ICombatProperties description "IsDamaging"}}}
{{{ICombatProperties description "AreaEffectRadius"}}}
{{{ICombatProperties description "ResourceEffect"}}}
Runes = new List<Rune>
{
Runes.{{className}}.None,
{{#each runes}}
Runes.{{className}}.{{StripRune name ../name}},
{{/each}}
}
};
{{/each}}
}
{{/each}}
}
}