Skills
One 5×5 grid, shared by every weapon. Each of its 25 skills has five investment levels, and each level does something different — that panel lives on the skill's own page.
Combat skill grid
25 skills, five levels each, 125 points to fill the whole grid. Of the 125 levels, 92 add a number the files give exactly; the other 33 unlock a move or a behaviour instead, and the game's own wording is what describes those. Corroborated
How the grid is spent
Every rule is read off the grid model; the ones marked corroborated are also ones Wyatt has watched happen. ui_src/main/model/combat_grid_model.js (isRootNode, isLocked, canRefund, pointsForXP)
Mastery.Player.Combat.WeaponArtWeapon Timing5 ranks5 unlock somethingMastery.Player.Combat.WeaponTiming — the files call this Weapon Timing AttacksMight5 ranks5 with a valueMastery.Player.Combat.MightRampage5 ranks4 with a value · 1 unlock somethingMastery.Player.Combat.ComboCounter — the files call this Combo CounterRootPolarity Attacks5 ranks4 with a value · 1 unlock somethingMastery.Player.Combat.WeaponPolarity — the files call this Weapon PolaritySoulshatter5 ranks5 with a valueMastery.Player.Combat.SoulshatterSundering Slam5 ranks2 with a value · 3 unlock somethingMastery.Player.Combat.Anvil — the files call this AnvilCritical Hit Damage5 ranks5 with a valueMastery.Player.Combat.CritDamage — the files call this CritDamageSiphon5 ranks2 with a value · 3 unlock somethingMastery.Player.Combat.Drain — the files call this DrainBreach5 ranks5 with a valueMastery.Player.Combat.HeavyAttacks — the files call this Heavy AttacksVitality5 ranks5 with a valueMastery.Player.Combat.VitalityCritical Hit Chance5 ranks5 with a valueMastery.Player.Combat.CritChance — the files call this CritChanceArchon Fury5 ranks5 with a valueMastery.Player.Combat.ArchonPower — the files call this Archon PowerAilments5 ranks5 with a valueMastery.Player.Combat.AilmentsAll Stats5 ranks5 with a valueMastery.Player.Combat.AllStatsShield Attacks5 ranks2 with a value · 3 unlock somethingMastery.Player.Combat.ShieldAttacksShield Prime5 ranks5 unlock somethingMastery.Player.Combat.ShieldPrimeResistance5 ranks5 with a valueMastery.Player.Combat.ResistanceRecovery5 ranks5 with a valueMastery.Player.Combat.RecoveryTakedowns5 ranks2 with a value · 3 unlock somethingMastery.Player.Combat.TakedownsRootShield Throw5 ranks2 with a value · 3 unlock somethingMastery.Player.Combat.ShieldTechniques — the files call this Shield TechniquesBanners5 ranks5 with a valueMastery.Player.Combat.BannersSpirit5 ranks5 with a valueMastery.Player.Combat.SpiritWeakpoints5 ranks4 with a value · 1 unlock somethingMastery.Player.Combat.WeakpointsRootFinesse5 ranks1 with a value · 4 unlock somethingMastery.Player.Combat.FinesseThe four corners are the roots. Nothing in the files gives a column or a row a meaning of its own: what reaches a skill is simply any neighbour with a point in it. The files call 10 of these skills something else; turn on File names above to see both.
Where the points come from
Two sources, and no others. Levelling a character from 1 to 50 pays 49 points, and 22 activities pay a further 23 between them, once each, the first time you finish them. That is 72 points in all, against the 125 the grid can hold, so the grid can never be filled.Aperion/Content/Aperion/Data/Gameplay/SourceData/source_data.json -> playerTier -> totalSkillPoints Corroborated The 22 activities, and the two things in the files that look like the answer and are not.
Weapon mastery
The same files describe a second skill system — a nested tree per weapon — that has no interface anyone has found in the game, and whose trees are mostly unwritten. What the files hold about it.