all repos — Legends-RPG @ 5a42cedfef57b4e82debdde9de1dd8a881ee0e59

A fantasy mini-RPG built with Python and Pygame.

resources/tmx/town.tmx (view raw)

  1<?xml version="1.0" encoding="UTF-8"?>
  2<map version="1.0" orientation="orthogonal" width="25" height="51" tilewidth="16" tileheight="16">
  3 <tileset firstgid="1" name="tileset1" tilewidth="16" tileheight="16">
  4  <image source="../graphics/tileset1.png" width="160" height="80"/>
  5 </tileset>
  6 <tileset firstgid="51" name="tileset2" tilewidth="16" tileheight="16">
  7  <image source="../graphics/tileset2.png" width="160" height="180"/>
  8 </tileset>
  9 <tileset firstgid="161" name="medievalsigns" tilewidth="16" tileheight="16">
 10  <image source="../graphics/medievalsigns.png" width="64" height="64"/>
 11 </tileset>
 12 <tileset firstgid="177" name="shopsigns" tilewidth="16" tileheight="16">
 13  <image source="../graphics/shopsigns.png" width="64" height="16"/>
 14 </tileset>
 15 <tileset firstgid="181" name="tileset3" tilewidth="16" tileheight="16">
 16  <image source="../graphics/tileset3.png" width="176" height="192"/>
 17 </tileset>
 18 <tileset firstgid="313" name="castledoor" tilewidth="16" tileheight="16">
 19  <image source="../graphics/castledoor.png" width="32" height="48"/>
 20 </tileset>
 21 <layer name="Tile Layer 1" width="25" height="51">
 22  <data encoding="base64" compression="zlib">
 23   eJztlc8KgCAMh733Rl58gB2jl4q6Rc+bBwOJmVv5Z8iC7yDu54eOGBhjQFEGZ/Vs6iBxeE4BPcNwDL5kXMb/ZA7UvLM6xnHsEdg656DkWziWCGydc1DyLRyAZLGz3nrOyZdkxP+Dev4UqOGJz2/lqf1eUntuGdwOTsYO9Fbq6ONIzU9OjQRHav5xaiQ4gLCfqynp6DHHOff4izrqO1p8Fz0Qegc=
 24  </data>
 25 </layer>
 26 <layer name="Tile Layer 2" width="25" height="51">
 27  <data encoding="base64" compression="zlib">
 28   eJztVksOwiAQ5RiuDeseSb2gCz9Rqxs/1YOoW+0VnCaQTCYDHQSqNr7khSHCexlhmGqVFxpYoPkGWAK3wB3wCrwB78IY78X6GnmcgBXwDLwAH8AnsBbGeC/Wpz4YtZAcqH4z7hN7cHmk9vimPGIgzSOlj0VTHyvgmolLtM7WQOmILVz1cQAembhC62wNVI7Yl0cbBoYhCNF/16OBq8Y5DA1D9UNzCYXvrUqFfx5y9DGPJfltEag1J/OZGXEeI7KGztvg2t/leeTyoT0qByTfPrGQfmNhjIGTCP02H6sv8fHpF2iNzydWX6m4O1CgUZN5DuR+pyhy3l079rEGU/pJ7nAsfl1fOfRTncPUjDnzoD2WyyO0j7vwqfPuS12kqHPt0VfMXOpF39a23lqQ9RIf7r+Q9NbQ/sit77oHvgDuCY9D
 29  </data>
 30 </layer>
 31 <layer name="Tile Layer 3" width="25" height="51">
 32  <data encoding="base64" compression="zlib">
 33   eJzt0zsOgEAIBFC4glqqpVqqnd/7H8s5AGTZSDkvmY4MCQkiIg3SIp3853X1yICMCTu8rgmZkSVhh9e1IhuyJ+yo6bLueqjIqeW5KOuuF/pvLc9FWXd90P9qeS4qetfoXOZ/eDL/w5P5H57M/yAiIiIiIiKieh8VTwlk
 34  </data>
 35 </layer>
 36 <layer name="Tile Layer 4" width="25" height="51">
 37  <data encoding="base64" compression="zlib">
 38   eJztzTEOQBEAREGHkajdv1E7lQv8fIRCmCm32BfCXcrGr/qxxU4jDW5/jZ48uK00Zmm81wAAAADO0wDcCwil
 39  </data>
 40 </layer>
 41 <layer name="Tile Layer 5" width="25" height="51">
 42  <data encoding="base64" compression="zlib">
 43   eJztzkEOQwAQRmGKKku1xErKSnD/w/WdQLowjcj7kredf5LkGlJ6UEYvqqgOuJ1TQU8qf9gaT/rhyPKHDV1DQ29qAzc66mkI3PjQRHPgxkob7YEbkiRJkiTdzReuiwJD
 44  </data>
 45 </layer>
 46 <objectgroup name="Object Layer 1" width="25" height="51">
 47  <object name="start point" gid="123" x="176" y="800">
 48   <properties>
 49    <property name="state" value="overworld"/>
 50   </properties>
 51  </object>
 52  <object name="blocker" gid="120" x="112" y="800"/>
 53  <object name="blocker" gid="120" x="112" y="784"/>
 54  <object name="blocker" gid="120" x="96" y="768"/>
 55  <object name="blocker" gid="120" x="80" y="784"/>
 56  <object name="blocker" gid="120" x="64" y="768"/>
 57  <object name="blocker" gid="120" x="64" y="752"/>
 58  <object name="blocker" gid="120" x="48" y="768"/>
 59  <object name="blocker" gid="120" x="32" y="752"/>
 60  <object name="blocker" gid="120" x="32" y="736"/>
 61  <object name="blocker" gid="120" x="32" y="720"/>
 62  <object name="blocker" gid="120" x="32" y="704"/>
 63  <object name="blocker" gid="120" x="48" y="688"/>
 64  <object name="blocker" gid="120" x="80" y="688"/>
 65  <object name="blocker" gid="120" x="80" y="672"/>
 66  <object name="blocker" gid="120" x="80" y="640"/>
 67  <object name="blocker" gid="120" x="80" y="656"/>
 68  <object name="blocker" gid="120" x="64" y="640"/>
 69  <object name="blocker" gid="120" x="48" y="624"/>
 70  <object name="blocker" gid="120" x="64" y="608"/>
 71  <object name="blocker" gid="120" x="64" y="592"/>
 72  <object name="blocker" gid="120" x="48" y="608"/>
 73  <object name="blocker" gid="120" x="32" y="592"/>
 74  <object name="blocker" gid="120" x="16" y="576"/>
 75  <object name="blocker" gid="120" x="16" y="544"/>
 76  <object name="blocker" gid="120" x="16" y="560"/>
 77  <object name="blocker" gid="120" x="16" y="512"/>
 78  <object name="blocker" gid="120" x="32" y="528"/>
 79  <object name="blocker" gid="120" x="64" y="528"/>
 80  <object name="blocker" gid="120" x="80" y="528"/>
 81  <object name="blocker" gid="120" x="96" y="528"/>
 82  <object name="blocker" gid="120" x="128" y="528"/>
 83  <object name="blocker" gid="120" x="112" y="528"/>
 84  <object name="blocker" gid="120" x="144" y="528"/>
 85  <object name="blocker" gid="120" x="160" y="528"/>
 86  <object name="blocker" gid="120" x="48" y="528"/>
 87  <object name="blocker" gid="120" x="32" y="496"/>
 88  <object name="blocker" gid="120" x="48" y="480"/>
 89  <object name="blocker" gid="120" x="80" y="496"/>
 90  <object name="blocker" gid="120" x="80" y="480"/>
 91  <object name="blocker" gid="120" x="48" y="464"/>
 92  <object name="blocker" gid="120" x="32" y="448"/>
 93  <object name="blocker" gid="120" x="16" y="432"/>
 94  <object name="blocker" gid="120" x="16" y="416"/>
 95  <object name="blocker" gid="120" x="16" y="400"/>
 96  <object name="blocker" gid="120" x="0" y="384"/>
 97  <object name="blocker" gid="120" x="16" y="368"/>
 98  <object name="blocker" gid="120" x="48" y="368"/>
 99  <object name="blocker" gid="120" x="48" y="336"/>
100  <object name="blocker" gid="120" x="48" y="352"/>
101  <object name="blocker" gid="120" x="48" y="320"/>
102  <object name="blocker" gid="120" x="32" y="320"/>
103  <object name="blocker" gid="120" x="16" y="320"/>
104  <object name="blocker" gid="120" x="80" y="368"/>
105  <object name="blocker" gid="120" x="112" y="368"/>
106  <object name="blocker" gid="120" x="112" y="352"/>
107  <object name="blocker" gid="120" x="112" y="336"/>
108  <object name="blocker" gid="120" x="112" y="320"/>
109  <object name="blocker" gid="120" x="96" y="320"/>
110  <object name="blocker" gid="120" x="80" y="320"/>
111  <object name="blocker" gid="120" x="80" y="336"/>
112  <object name="blocker" gid="120" x="80" y="352"/>
113  <object name="blocker" gid="120" x="272" y="368"/>
114  <object name="blocker" gid="120" x="272" y="352"/>
115  <object name="blocker" gid="120" x="272" y="320"/>
116  <object name="blocker" gid="120" x="272" y="336"/>
117  <object name="blocker" gid="120" x="288" y="320"/>
118  <object name="blocker" gid="120" x="304" y="320"/>
119  <object name="blocker" gid="120" x="304" y="320"/>
120  <object name="blocker" gid="120" x="304" y="336"/>
121  <object name="blocker" gid="120" x="304" y="336"/>
122  <object name="blocker" gid="120" x="304" y="352"/>
123  <object name="blocker" gid="120" x="304" y="368"/>
124  <object name="blocker" gid="120" x="336" y="368"/>
125  <object name="blocker" gid="120" x="336" y="336"/>
126  <object name="blocker" gid="120" x="336" y="352"/>
127  <object name="blocker" gid="120" x="336" y="320"/>
128  <object name="blocker" gid="120" x="352" y="320"/>
129  <object name="blocker" gid="120" x="368" y="320"/>
130  <object name="blocker" gid="120" x="368" y="336"/>
131  <object name="blocker" gid="120" x="368" y="336"/>
132  <object name="blocker" gid="120" x="368" y="352"/>
133  <object name="blocker" gid="120" x="368" y="352"/>
134  <object name="blocker" gid="120" x="368" y="368"/>
135  <object name="blocker" gid="120" x="400" y="384"/>
136  <object name="blocker" gid="120" x="400" y="384"/>
137  <object name="blocker" gid="120" x="400" y="384"/>
138  <object name="blocker" gid="120" x="384" y="384"/>
139  <object name="blocker" gid="120" x="368" y="400"/>
140  <object name="blocker" gid="120" x="368" y="416"/>
141  <object name="blocker" gid="120" x="368" y="432"/>
142  <object name="blocker" gid="120" x="368" y="432"/>
143  <object name="blocker" gid="120" x="352" y="448"/>
144  <object name="blocker" gid="120" x="336" y="464"/>
145  <object name="blocker" gid="120" x="320" y="480"/>
146  <object name="blocker" gid="120" x="320" y="496"/>
147  <object name="blocker" gid="120" x="336" y="480"/>
148  <object name="blocker" gid="120" x="352" y="496"/>
149  <object name="blocker" gid="120" x="368" y="512"/>
150  <object name="blocker" gid="120" x="224" y="528"/>
151  <object name="blocker" gid="120" x="208" y="528"/>
152  <object name="blocker" gid="120" x="256" y="528"/>
153  <object name="blocker" gid="120" x="240" y="528"/>
154  <object name="blocker" gid="120" x="288" y="528"/>
155  <object name="blocker" gid="120" x="272" y="528"/>
156  <object name="blocker" gid="120" x="320" y="528"/>
157  <object name="blocker" gid="120" x="320" y="528"/>
158  <object name="blocker" gid="120" x="336" y="528"/>
159  <object name="blocker" gid="120" x="352" y="528"/>
160  <object name="blocker" gid="120" x="304" y="528"/>
161  <object name="blocker" gid="120" x="368" y="544"/>
162  <object name="blocker" gid="120" x="368" y="560"/>
163  <object name="blocker" gid="120" x="368" y="560"/>
164  <object name="blocker" gid="120" x="368" y="576"/>
165  <object name="blocker" gid="120" x="368" y="592"/>
166  <object name="blocker" gid="120" x="368" y="608"/>
167  <object name="blocker" gid="120" x="368" y="608"/>
168  <object name="blocker" gid="120" x="352" y="624"/>
169  <object name="blocker" gid="120" x="336" y="624"/>
170  <object name="blocker" gid="120" x="320" y="624"/>
171  <object name="blocker" gid="120" x="304" y="624"/>
172  <object name="blocker" gid="120" x="304" y="624"/>
173  <object name="blocker" gid="120" x="304" y="640"/>
174  <object name="blocker" gid="120" x="304" y="656"/>
175  <object name="blocker" gid="120" x="304" y="656"/>
176  <object name="blocker" gid="120" x="304" y="672"/>
177  <object name="blocker" gid="120" x="336" y="672"/>
178  <object name="blocker" gid="120" x="352" y="688"/>
179  <object name="blocker" gid="120" x="336" y="704"/>
180  <object name="blocker" gid="120" x="336" y="720"/>
181  <object name="blocker" gid="120" x="336" y="736"/>
182  <object name="blocker" gid="120" x="320" y="752"/>
183  <object name="blocker" gid="120" x="304" y="752"/>
184  <object name="blocker" gid="120" x="288" y="768"/>
185  <object name="blocker" gid="120" x="272" y="784"/>
186  <object name="blocker" gid="120" x="256" y="768"/>
187  <object name="blocker" gid="120" x="256" y="784"/>
188  <object name="blocker" gid="120" x="272" y="800"/>
189  <object name="blocker" gid="120" x="0" y="304"/>
190  <object name="blocker" gid="120" x="0" y="272"/>
191  <object name="blocker" gid="120" x="0" y="288"/>
192  <object name="blocker" gid="120" x="0" y="256"/>
193  <object name="blocker" gid="120" x="0" y="224"/>
194  <object name="blocker" gid="120" x="0" y="224"/>
195  <object name="blocker" gid="120" x="0" y="240"/>
196  <object name="blocker" gid="120" x="16" y="208"/>
197  <object name="blocker" gid="120" x="32" y="208"/>
198  <object name="blocker" gid="120" x="48" y="208"/>
199  <object name="blocker" gid="120" x="64" y="208"/>
200  <object name="blocker" gid="120" x="80" y="208"/>
201  <object name="blocker" gid="120" x="96" y="208"/>
202  <object name="blocker" gid="120" x="112" y="208"/>
203  <object name="blocker" gid="120" x="128" y="208"/>
204  <object name="blocker" gid="120" x="144" y="208"/>
205  <object name="blocker" gid="120" x="160" y="208"/>
206  <object name="blocker" gid="120" x="224" y="208"/>
207  <object name="blocker" gid="120" x="208" y="208"/>
208  <object name="blocker" gid="120" x="240" y="208"/>
209  <object name="blocker" gid="120" x="256" y="208"/>
210  <object name="blocker" gid="120" x="272" y="208"/>
211  <object name="blocker" gid="120" x="288" y="208"/>
212  <object name="blocker" gid="120" x="304" y="208"/>
213  <object name="blocker" gid="120" x="320" y="208"/>
214  <object name="blocker" gid="120" x="336" y="208"/>
215  <object name="blocker" gid="120" x="368" y="208"/>
216  <object name="blocker" gid="120" x="352" y="208"/>
217  <object name="blocker" gid="120" x="400" y="304"/>
218  <object name="blocker" gid="120" x="384" y="304"/>
219  <object name="blocker" gid="120" x="384" y="272"/>
220  <object name="blocker" gid="120" x="384" y="288"/>
221  <object name="blocker" gid="120" x="384" y="256"/>
222  <object name="blocker" gid="120" x="384" y="240"/>
223  <object name="blocker" gid="120" x="384" y="224"/>
224  <object name="portal" type="overworld" gid="139" x="192" y="816"/>
225  <object name="portal" type="overworld" gid="139" x="176" y="816"/>
226  <object name="portal" type="house" gid="139" x="64" y="688"/>
227  <object name="portal" type="Inn" gid="139" x="320" y="672"/>
228  <object name="portal" type="armor shop" gid="139" x="96" y="368"/>
229  <object name="portal" type="weapon shop" gid="139" x="32" y="368"/>
230  <object name="portal" type="potion shop" gid="139" x="288" y="368"/>
231  <object name="portal" type="magic shop" gid="139" x="352" y="368"/>
232  <object name="start point" gid="123" x="320" y="688">
233   <properties>
234    <property name="state" value="Inn"/>
235   </properties>
236  </object>
237  <object name="start point" gid="123" x="64" y="704">
238   <properties>
239    <property name="state" value="house"/>
240   </properties>
241  </object>
242  <object name="start point" gid="123" x="352" y="384">
243   <properties>
244    <property name="state" value="magic shop"/>
245   </properties>
246  </object>
247  <object name="start point" gid="123" x="288" y="384">
248   <properties>
249    <property name="state" value="potion shop"/>
250   </properties>
251  </object>
252  <object name="start point" gid="123" x="96" y="384">
253   <properties>
254    <property name="state" value="armor shop"/>
255   </properties>
256  </object>
257  <object name="start point" gid="123" x="32" y="384">
258   <properties>
259    <property name="state" value="weapon shop"/>
260   </properties>
261  </object>
262  <object name="sprite" type="bluedressgirl" gid="124" x="144" y="768">
263   <properties>
264    <property name="dialogue length" value="3"/>
265    <property name="dialogue0" value="Welcome to our town, traveller!"/>
266    <property name="dialogue1" value="Our King protects us against the evil forces of the outside world."/>
267    <property name="dialogue2" value="As long as we never leave, we have nothing to fear!"/>
268   </properties>
269  </object>
270  <object name="sprite" type="femalewarrior" gid="124" x="240" y="640">
271   <properties>
272    <property name="dialogue length" value="2"/>
273    <property name="dialogue0" value="You seem tired from your travels."/>
274    <property name="dialogue1" value="Why not rest at our Inn and stay awhile?"/>
275   </properties>
276  </object>
277  <object name="sprite" type="devil" gid="124" x="288" y="464">
278   <properties>
279    <property name="dialogue length" value="3"/>
280    <property name="dialogue0" value="Don't be frightened. I'm a friendly Demon."/>
281    <property name="dialogue1" value="My brothers and sisters, however, are not so nice."/>
282    <property name="dialogue2" value="Be careful not to run into them."/>
283   </properties>
284  </object>
285  <object name="blocker" gid="120" x="208" y="176"/>
286  <object name="blocker" gid="120" x="208" y="160"/>
287  <object name="blocker" gid="120" x="240" y="160"/>
288  <object name="blocker" gid="120" x="224" y="160"/>
289  <object name="blocker" gid="120" x="272" y="160"/>
290  <object name="blocker" gid="120" x="256" y="160"/>
291  <object name="blocker" gid="120" x="256" y="176"/>
292  <object name="blocker" gid="120" x="240" y="176"/>
293  <object name="blocker" gid="120" x="224" y="176"/>
294  <object name="blocker" gid="120" x="272" y="176"/>
295  <object name="blocker" gid="120" x="304" y="176"/>
296  <object name="blocker" gid="120" x="288" y="176"/>
297  <object name="blocker" gid="120" x="320" y="192"/>
298  <object name="blocker" gid="120" x="288" y="160"/>
299  <object name="blocker" gid="120" x="304" y="160"/>
300  <object name="blocker" gid="120" x="320" y="160"/>
301  <object name="blocker" gid="120" x="320" y="144"/>
302  <object name="blocker" gid="120" x="336" y="128"/>
303  <object name="blocker" gid="120" x="336" y="96"/>
304  <object name="blocker" gid="120" x="336" y="112"/>
305  <object name="blocker" gid="120" x="336" y="80"/>
306  <object name="blocker" gid="120" x="320" y="64"/>
307  <object name="blocker" gid="120" x="304" y="48"/>
308  <object name="blocker" gid="120" x="288" y="48"/>
309  <object name="blocker" gid="120" x="272" y="48"/>
310  <object name="blocker" gid="120" x="256" y="64"/>
311  <object name="blocker" gid="120" x="272" y="80"/>
312  <object name="blocker" gid="120" x="288" y="80"/>
313  <object name="blocker" gid="120" x="288" y="96"/>
314  <object name="blocker" gid="120" x="288" y="112"/>
315  <object name="blocker" gid="120" x="288" y="112"/>
316  <object name="blocker" gid="120" x="288" y="128"/>
317  <object name="blocker" gid="120" x="272" y="128"/>
318  <object name="blocker" gid="120" x="256" y="112"/>
319  <object name="blocker" gid="120" x="256" y="128"/>
320  <object name="blocker" gid="120" x="240" y="112"/>
321  <object name="blocker" gid="120" x="224" y="112"/>
322  <object name="blocker" gid="120" x="208" y="112"/>
323  <object name="blocker" gid="120" x="160" y="112"/>
324  <object name="blocker" gid="120" x="144" y="112"/>
325  <object name="blocker" gid="120" x="128" y="128"/>
326  <object name="blocker" gid="120" x="112" y="128"/>
327  <object name="blocker" gid="120" x="96" y="112"/>
328  <object name="blocker" gid="120" x="96" y="128"/>
329  <object name="blocker" gid="120" x="96" y="96"/>
330  <object name="blocker" gid="120" x="96" y="80"/>
331  <object name="blocker" gid="120" x="112" y="64"/>
332  <object name="blocker" gid="120" x="96" y="48"/>
333  <object name="blocker" gid="120" x="80" y="48"/>
334  <object name="blocker" gid="120" x="64" y="48"/>
335  <object name="blocker" gid="120" x="48" y="64"/>
336  <object name="blocker" gid="120" x="32" y="80"/>
337  <object name="blocker" gid="120" x="32" y="96"/>
338  <object name="blocker" gid="120" x="32" y="96"/>
339  <object name="blocker" gid="120" x="32" y="112"/>
340  <object name="blocker" gid="120" x="32" y="128"/>
341  <object name="blocker" gid="120" x="48" y="144"/>
342  <object name="blocker" gid="120" x="64" y="160"/>
343  <object name="blocker" gid="120" x="80" y="160"/>
344  <object name="blocker" gid="120" x="96" y="160"/>
345  <object name="blocker" gid="120" x="112" y="160"/>
346  <object name="blocker" gid="120" x="144" y="160"/>
347  <object name="blocker" gid="120" x="128" y="160"/>
348  <object name="blocker" gid="120" x="160" y="160"/>
349  <object name="blocker" gid="120" x="160" y="176"/>
350  <object name="blocker" gid="120" x="144" y="176"/>
351  <object name="blocker" gid="120" x="144" y="176"/>
352  <object name="blocker" gid="120" x="128" y="176"/>
353  <object name="blocker" gid="120" x="112" y="176"/>
354  <object name="blocker" gid="120" x="96" y="176"/>
355  <object name="blocker" gid="120" x="80" y="176"/>
356  <object name="blocker" gid="120" x="64" y="160"/>
357  <object name="blocker" gid="120" x="64" y="176"/>
358  <object name="blocker" gid="120" x="48" y="192"/>
359  <object name="sprite" type="soldier" gid="124" x="160" y="128">
360   <properties>
361    <property name="dialogue length" value="2"/>
362    <property name="dialogue0" value="I have heard rumours that the King has lost something..."/>
363    <property name="dialogue1" value="Perhaps you should pay him a visit."/>
364   </properties>
365  </object>
366  <object name="sprite" type="soldier" gid="124" x="208" y="128">
367   <properties>
368    <property name="dialogue length" value="1"/>
369    <property name="dialogue0" value="Welcome to the castle, citizen."/>
370   </properties>
371  </object>
372  <object name="sprite" type="soldier" gid="124" x="160" y="224">
373   <properties>
374    <property name="dialogue length" value="2"/>
375    <property name="dialogue0" value="Only those given special permission by the King can leave this town."/>
376    <property name="dialogue1" value="It is for our own good, as few could survive in the outside world."/>
377   </properties>
378  </object>
379  <object name="sprite" type="soldier" gid="124" x="208" y="224">
380   <properties>
381    <property name="dialogue length" value="3"/>
382    <property name="dialogue0" value="Be careful.  There are monsters surrounding our town."/>
383    <property name="dialogue1" value="Make sure to equip sufficient armor and weapons."/>
384    <property name="dialogue2" value="Spells and potions are useful too."/>
385   </properties>
386  </object>
387 </objectgroup>
388</map>