Ich finde dein Konstrukt weder sinnhaft noch sonderlich einfach gestaltet.
Warum speicherst du permanente Skills und Waffenskills nicht in zwei verschiedenen Arrays? Dann musst du dich weniger damit rumplagen wo was steht und welche ID ein Skill hat.