UNPKG

homm3-parsers

Version:

Collection of binary parsers able to parse various file formats related to Heroes of Might and Magic III

88 lines 4.4 kB
"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, }; //# sourceMappingURL=skill.js.map