"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const binary_markup_1 = require("binary-markup");
const objects_1 = require("../../../helpers/objects");
const PrimarySkill_1 = require("../contracts/enums/PrimarySkill");
const SecondarySkill_1 = require("../contracts/enums/SecondarySkill");
const SecondarySkillMastery_1 = require("../contracts/enums/SecondarySkillMastery");
exports.primarySkillEnum = {
[PrimarySkill_1.PrimarySkill.Attack]: 0,
[PrimarySkill_1.PrimarySkill.Defence]: 1,
[PrimarySkill_1.PrimarySkill.SpellPower]: 2,
[PrimarySkill_1.PrimarySkill.Knowledge]: 3,
};
exports.secondarySkillEnum = {
[SecondarySkill_1.SecondarySkillType.Pathfinding]: 0x00,
[SecondarySkill_1.SecondarySkillType.Archery]: 0x01,
[SecondarySkill_1.SecondarySkillType.Logistics]: 0x02,
[SecondarySkill_1.SecondarySkillType.Scouting]: 0x03,
[SecondarySkill_1.SecondarySkillType.Diplomacy]: 0x04,
[SecondarySkill_1.SecondarySkillType.Navigation]: 0x05,
[SecondarySkill_1.SecondarySkillType.Leadership]: 0x06,
[SecondarySkill_1.SecondarySkillType.Wisdom]: 0x07,
[SecondarySkill_1.SecondarySkillType.Mysticism]: 0x08,
[SecondarySkill_1.SecondarySkillType.Luck]: 0x09,
[SecondarySkill_1.SecondarySkillType.Ballistics]: 0x0a,
[SecondarySkill_1.SecondarySkillType.EagleEye]: 0x0b,
[SecondarySkill_1.SecondarySkillType.Necromancy]: 0x0c,
[SecondarySkill_1.SecondarySkillType.Estates]: 0x0d,
[SecondarySkill_1.SecondarySkillType.FireMagic]: 0x0e,
[SecondarySkill_1.SecondarySkillType.AirMagic]: 0x0f,
[SecondarySkill_1.SecondarySkillType.WaterMagic]: 0x10,
[SecondarySkill_1.SecondarySkillType.EarthMagic]: 0x11,
[SecondarySkill_1.SecondarySkillType.Scholar]: 0x12,
[SecondarySkill_1.SecondarySkillType.Tactics]: 0x13,
[SecondarySkill_1.SecondarySkillType.Artillery]: 0x14,
[SecondarySkill_1.SecondarySkillType.Learning]: 0x15,
[SecondarySkill_1.SecondarySkillType.Offense]: 0x16,
[SecondarySkill_1.SecondarySkillType.Armorer]: 0x17,
[SecondarySkill_1.SecondarySkillType.Intelligence]: 0x18,
[SecondarySkill_1.SecondarySkillType.Sorcery]: 0x19,
[SecondarySkill_1.SecondarySkillType.Resistance]: 0x1a,
[SecondarySkill_1.SecondarySkillType.FirstAid]: 0x1b,
};
const skillBits = [
[
[1, SecondarySkill_1.SecondarySkillType.Pathfinding],
[2, SecondarySkill_1.SecondarySkillType.Archery],
[4, SecondarySkill_1.SecondarySkillType.Logistics],
[8, SecondarySkill_1.SecondarySkillType.Scouting],
[16, SecondarySkill_1.SecondarySkillType.Diplomacy],
[32, SecondarySkill_1.SecondarySkillType.Navigation],
[64, SecondarySkill_1.SecondarySkillType.Leadership],
[128, SecondarySkill_1.SecondarySkillType.Wisdom],
],
[
[1, SecondarySkill_1.SecondarySkillType.Mysticism],
[2, SecondarySkill_1.SecondarySkillType.Luck],
[4, SecondarySkill_1.SecondarySkillType.Ballistics],
[8, SecondarySkill_1.SecondarySkillType.EagleEye],
[16, SecondarySkill_1.SecondarySkillType.Necromancy],
[32, SecondarySkill_1.SecondarySkillType.Estates],
[64, SecondarySkill_1.SecondarySkillType.FireMagic],
[128, SecondarySkill_1.SecondarySkillType.AirMagic],
],
[
[1, SecondarySkill_1.SecondarySkillType.WaterMagic],
[2, SecondarySkill_1.SecondarySkillType.EarthMagic],
[4, SecondarySkill_1.SecondarySkillType.Scholar],
[8, SecondarySkill_1.SecondarySkillType.Tactics],
[16, SecondarySkill_1.SecondarySkillType.Artillery],
[32, SecondarySkill_1.SecondarySkillType.Learning],
[64, SecondarySkill_1.SecondarySkillType.Offense],
[128, SecondarySkill_1.SecondarySkillType.Armorer],
],
[
[1, SecondarySkill_1.SecondarySkillType.Intelligence],
[2, SecondarySkill_1.SecondarySkillType.Sorcery],
[4, SecondarySkill_1.SecondarySkillType.Resistance],
[8, SecondarySkill_1.SecondarySkillType.FirstAid],
],
];
exports.skillsMask = objects_1.bitMasksArray(binary_markup_1.bytes(4), skillBits);
exports.secondarySkillMasteryEnum = {
[SecondarySkillMastery_1.SecondarySkillMastery.Basic]: 1,
[SecondarySkillMastery_1.SecondarySkillMastery.Advanced]: 2,
[SecondarySkillMastery_1.SecondarySkillMastery.Expert]: 3,
};