Maplestory Reference Wiki

Potentials are stored in the WZ files under Item.wz/ItemOption.img.  The Image (.img, not an actual image) contains subdirectories, each subdirectory named for its potential ID.

Within each subdirectory, the contents fall under a similar pattern:

"info" Sub Directory[]

This subdirectory always contains a WzStringProperty called "string" and a WzCompressedIntProperty called "weight".  In addition, there are the optional properties "optionType" and "reqLevel" (both WzCompressedIntProperties)

"string" Property[]

"string" contains the text for the potential as it would appear on an item's tooltip.  The text often contains one or more parameter names that indicate which stat increase to display.

An example of the "string" property is

STR: +#incSTR

where "incSTR" will be replaced by the amount of STR to increase by.  The "#" denotes the start of the parameter, and the parameter name continues up to the next non-alphanumeric character.

"weight" Property[]

The effects of this property are unknown.  Presumably, it is meant to be used in the calculations for determining the chance of obtaining this potential, but this is unconfirmed.

"optionType" Property[]

Determines which items can obtain the given potential.  Not all values of optionType are known, but the known ones are:

10: weapons
11: all equipment except weapons
20: all armors
40: accessories
51: hat
52: top and overall
53: bottom and overall
54: glove
55: shoe
1:  all equipment

"reqLevel" Property[]

If this property exists, the item must be at least this level in order to obtain the potential.

"level" Sub Directory[]

The "level" sub directory consists of 20 WzSubDirectories, named sequentially from "1" to "20" (in higher GMS versions, this goes up to 25).  These determine what is commonly known as "potential tier": or more specifically, the strength of the potential at a given level ("given level" referring to the item's Level requirement).

Levels are rightside exclusive, meaning that items which have a Level requirement of 0 to 9 will pull their potential data from the "1" subdirectory; items with a Level requirement of 10-19 will pull from the "2" subdirectory; items with a Level requirement of 20-29 will pull from the "3" subdirectory; and so on.  If a potential does not have an entry defined for a specific level requirement gap, the game will crash when a potential is put on an item with that required level.