Most tags may additionally have properties specified as:
<property [type=""] name="" value="" />
Where type is one of "unicode", "int", "float" or "bool". The property will be a unicode string by default if no type is specified.
Properties are accessed on the map, cell or tile using common dict operations with some extensions. Accessing a property on a cell will fall back to look on the tile if it's not found on the cell.
If a cell has a property player-spawn (boolean) and the tile that the cell uses has a property move-cost=1 (int) then the following are true:
'player-spawn' in cell == True cell.get('player-spawn') == True cell['player-spawn'] == True 'player-spawn' in tile == False tile.get('player-spawn') == None tile['player-spawn'] --> raises KeyError cell['move-cost'] == 1
You may additionally set properties on cells and tiles:
cell['player-postion'] = True cell['burnt-out'] = True
and when the map is exported to XML these properties will also be exported.