Any skill added to the skills.txt file past Id 370 will crash the game when trying to bind the skill to a controller. Any new skill added at Id 370 is incorrectly labeled as a general skill, seems likely this is related to the cause of the bug (hardcoded row Id read range for mapping to controller bind category).
To reproduce, delete the charclass “nec” from the existing skills.txt file rows. Then add the bottom two lines to rows 372, 373 (see bottom of post).
- Open the game running your modded files with a controller
- Tab over to General and notice that Teeth is incorrectly placed in this tab
- Tab to Poison and Bone and attempt to bind Teeth. Notice that the game doesn’t crash
- Tab over to Summoning and attempt to bind Raise Skeleton. Notice that the game crashes.
Teeth Test | 370 | nec | teeth | 8 | teeth | necromancer_bone_cast | 19 | 17 | teeth | teeth | bonecast | 1 | 1 | none | SC | SC | xx | 1 | 1 | necromancer_bone_cast | 1 | 20 | 1 | 1 | 1 | 7 | 6 | 1 | 1 | min(ln12,24) | # of Missiles created | par3 | Missile Activation Frame | 0 | # of missiles that can trigger item modifier events | 2 | # of Missiles created baseline | 1 | # of Missiles created per level | 0 | Missile Activation Frame | 15 | Damage synergy | 1 | 7 | mag | 4 | 2 | 2 | 3 | 4 | 5 | 8 | 2 | 3 | 4 | 5 | 6 | (skill(‘Bone Wall’.blvl)+skill(‘Bone Prison’.blvl)+skill(‘Bone Spear’.blvl)+skill(‘Bone Spirit’.blvl))*par8 | 256 | 1000 | 0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Raise Skeleton Test | 371 | nec | raise skeleton | 15 | 31 | damagepercent | ((lvl < 4) ? 0 : ((lvl-3)*par3)) | tohit | (lvl+skill(‘Skeleton Mastery’.lvl))*par4 | armorclass | (lvl+skill(‘Skeleton Mastery’.lvl))*par5 | maxhp | skill(‘Skeleton Mastery’.lvl) * skill(‘Skeleton Mastery’.par1) * 256 | item_normaldamage | skill(‘Skeleton Mastery’.lvl) * skill(‘Skeleton Mastery’.par2) + edmn | necroskeleton | skeleton | (lvl < 4) ?lvl:(2+lvl/3) | S1 | 1 | necromancer_golem_cast | 20 | 31 | corpseexplosion | 1 | 0 | none | SC | SC | xx | 1 | 2 | 1 | 1 | 20 | 0 | 1 | 1 | 8 | 6 | 1 | 1 | (lvl < 4) ? 0 : (par2 * (lvl - 3)) | HP % Modifier | par1 | % chance to spawn with a shield (only works for necroskeleton) | 5 | % chance to spawn with a shield | 50 | HP % per level | 7 | Damage % per level | 15 | Attack Rating per level | 15 | Armor per level | 1 | 8 | 0 | 0 | 1 | 2 | 3 | 4 | 256 | 1000 | 0 |