Um, what? If you equip a sword that gives a skill and then unequip it, the skill will remain? If so, then wtf?
Yeah... that's what I spend 4 hours thinking about + coding in, the simplest way to apply stuff imaginable

Lets say a character starts the game with Fire and Fira skills. Later a ring is equipped that adds Fire, Fira and Firaga. Previously when the ring is unequipped, character would loose the original Fire and Fira spells. Now spells will remain until a real game event, permanent consumable or misc item removes it.
Similarly, previously if you had such a ring equipped and some event thought you Fire spell, it would have been useless.
Traits are tracked in the same way by the game. Even if you have two different items applying the same trait, you can still learn it through an event and keep it even when all items are unequipped.
Basically it's a counter for items, a set for stuff's that's been applied through game/events and a list with the stuff that's currently enabled. All beautifully coded and reusable.
But those numbers after skills are supposed to set up battle AI, aren't they?
For Jake's BE. Ours will work differently.
===
I am fixing some stuff, there are some errors here and there because we're now tracking references to objects instead of strings.