Files
novafarma/maps/demo_project/demo_micro_farm.tmx
2025-12-30 23:48:51 +01:00

124 lines
3.9 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<map version="1.10" tiledversion="1.10.2" orientation="orthogonal" renderorder="right-down" width="8" height="8" tilewidth="64" tileheight="64" infinite="0" nextlayerid="8" nextobjectid="10">
<properties>
<property name="demo_version" value="1.0"/>
<property name="style" value="A"/>
<property name="can_switch_style" type="bool" value="true"/>
</properties>
<tileset firstgid="1" source="tilesets/terrain_demo.tsx"/>
<tileset firstgid="5" source="tilesets/crops_demo.tsx"/>
<tileset firstgid="10" source="tilesets/objects_demo.tsx"/>
<!-- Base Terrain Layer - Fill with grass (tile id 1) -->
<layer id="1" name="Base Terrain" width="8" height="8">
<data encoding="csv">
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1
</data>
</layer>
<!-- Tilled Soil Layer - 2x2 patch at (1,1) -->
<layer id="2" name="Tilled Soil" width="8" height="8">
<data encoding="csv">
0,0,0,0,0,0,0,0,
0,3,3,0,0,0,0,0,
0,3,3,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0
</data>
</layer>
<!-- Crops Layer - Empty initially, populated during gameplay -->
<layer id="3" name="Crops" width="8" height="8">
<data encoding="csv">
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0
</data>
</layer>
<!-- Buildings Layer - Object layer for tent -->
<objectgroup id="4" name="Buildings">
<object id="1" name="tent" type="building" gid="10" x="384" y="128" width="64" height="64">
<properties>
<property name="collision" type="bool" value="true"/>
<property name="interactable" type="bool" value="false"/>
<property name="description" value="Your base camp. A place to rest."/>
</properties>
</object>
</objectgroup>
<!-- Decorations Layer - Campfire, tree, rock -->
<objectgroup id="5" name="Decorations">
<object id="2" name="campfire" type="decoration" gid="11" x="384" y="384" width="64" height="64">
<properties>
<property name="animated" type="bool" value="true"/>
<property name="light_radius" type="int" value="128"/>
</properties>
</object>
<object id="3" name="dead_tree" type="decoration" gid="12" x="0" y="96" width="64" height="96">
<properties>
<property name="collision" type="bool" value="true"/>
<property name="height" type="int" value="96"/>
</properties>
</object>
<object id="4" name="rock" type="decoration" gid="13" x="256" y="32" width="48" height="32">
<properties>
<property name="collision" type="bool" value="true"/>
</properties>
</object>
</objectgroup>
<!-- Spawns Layer - Player and NPC spawn points -->
<objectgroup id="6" name="Spawns">
<object id="5" name="kai_spawn" type="player" x="128" y="320" width="32" height="32">
<properties>
<property name="facing" value="south"/>
<property name="speed" type="int" value="160"/>
<property name="health" type="int" value="100"/>
</properties>
</object>
<object id="6" name="zombie_1" type="npc_zombie" x="256" y="256" width="32" height="32">
<properties>
<property name="ai" value="idle_dig_loop"/>
<property name="speed" type="int" value="0"/>
<property name="health" type="int" value="50"/>
</properties>
</object>
</objectgroup>
<!-- Collision Layer - Invisible collision boxes -->
<objectgroup id="7" name="Collision">
<object id="7" type="collision" x="384" y="64" width="64" height="64">
<properties>
<property name="source" value="tent"/>
</properties>
</object>
<object id="8" type="collision" x="8" y="0" width="48" height="64">
<properties>
<property name="source" value="tree"/>
</properties>
</object>
<object id="9" type="collision" x="260" y="2" width="40" height="28">
<properties>
<property name="source" value="rock"/>
</properties>
</object>
</objectgroup>
</map>