The surface properties are defined in the surface type in the root template manager, and then enumerated in the Status Data property of the surface type:
https://imgur.com/IzHGfCPThese status data entries are defined in the Stats/Potions/ subsection of the data file:
https://imgur.com/Yes8Ihgand can be modified or whole new ones made in there.
Unfortunately, as above, making a NEW surface type seems to either never compile the new type into the surfacetypes enum, or something else breaks ):
Hope that helps.