Alright, solved the mystery of the amulet. Previous to the last update, Rings/Amulets of Elemental Protection (etc.) and Rings/Amulets of Lycanthrope Protection (etc.) were 2 distinct enchantments (suffix 23 and 24 respectively). With the introduction of more sub-types of monsters in the last update (Spiders, Demons, etc.) and the creation of 6 new enchantments that protect you from those specific monster types, I didn't want the player constantly finding suffixed jewellery that was specific to these sub-types - so I consolidated all of them to suffix 23. Now if it finds suffix 23, it generates a new random number from 1 to 7. On a 1 it leaves it as suffix 23 (Elemental protection), but on a 2 through 7 it rewires the suffix to be 300 to 305. The problem was the variables hasprefix and hassuffix that it was temporarily storing the prefix/suffix in while it generates it was of type char which can't store a number as high as 300. Now hasprefix and hassuffix are of type int, allowing them to properly store the numbers. Bug fixed.