In versions 1.3.b48 and 1.3.b49, if you use getPropertyNames(), you will get back not only the properties of the current token, but properties that no longer exist for that property set.
For example, in one campaign I had a separate property to handle vulnerability and resistance to certain damage types. I removed those properties and used a property string instead - however, when I used getPropertyNames(), those deleted properties show up again.
Code:
[h: PropList = getPropertyNames()]
[h,foreach(prop, PropList),CODE:
{
[IF(substring(prop, 0,1)=="-"): PropList = listDelete(PropList, listFind(PropList,prop))]
}]
[PropList]
Will assign the following to PropList (the following is an excerpt; it seems to get every property that
ever existed in that set):
"Weapon2Damage, DefaultStats, ResistFire, Thievery, VulnCold, Wisdom,
ResistPsychic, LastCustomAttack, VulnPoison, IntBonus, Dexterity, GenSaveMod, MiscDamBonus, TempHP, MiscACBonus, VulnRadiant, VulnForce, Endurance, VulnNecrotic, Implement2Crit, Power20, ActionPoints, Religion, Implement2DamBonus..."
The only properties that still exist in that token's property type setting are:
LastCustomAttack,
Power20, and
ActionPoints. Some of those, like
Implement2Crit, were deleted from the property set back in...jeez, somewhere around version 1.3.
b38.
getAllPropertyNames() does not display this behavior.