Migration to Codeberg

This commit is contained in:
Joaquin Gottlebe
2026-07-30 16:38:22 +02:00
commit 17048b703a
556 changed files with 3040 additions and 0 deletions
+58
View File
@@ -0,0 +1,58 @@
# 2d-shooter
## Overview
This 2d Shooter game is developed using the [Pygame](https://www.pygame.org/) library and supports maps created with Tiled, utilizing the `pytmx` library for map loading.
## Prerequisites
To run the game, ensure you have the following installed on your system:
- **Python 3.13 or later**: Install the latest version of Python from the [official Python website](https://www.python.org/).
- **Pygame**: Provides graphics, input handling, and sound.
- **PyTMX**: Used for loading Tiled map files.
## Setting Up the Environment
Follow these steps to set up the game environment:
1. **Create a virtual environment:**
```bash
python3 -m venv venv
```
This will create a virtual environment in the `venv` directory.
2. **Activate the virtual environment:**
On macOS or Linux:
```bash
source venv/bin/activate
```
On Windows:
```cmd
venv\Scripts\activate
```
3. **Install dependencies:**
With the virtual environment activated, install the required libraries:
```bash
pip3 install pygame pytmx
```
### Running from the `code` Directory
```bash
cd code
python3 game.py
```
## Troubleshooting
- **Missing Modules:** If you encounter `ModuleNotFoundError`, ensure all dependencies are installed in the virtual environment.
- **Missing Assets:** Ensure all required files, such as `../graphics/other/bg.png`, are in the correct directories relative to the code.
- **FileNotFoundError:** Verify the game is being run from the correct working directory (`code` if assets are referenced with relative paths).
## License
This project is distributed under the MIT License. See the `LICENSE` file for details.
## Contributions
Contributions are welcome! Fork the repository, make your changes, and submit a pull request.
## Credits
- **Developer:** Joaquin Gottlebe
- **Built With:** Pygame, PyTMX, and Python
+27
View File
@@ -0,0 +1,27 @@
# library imports
import pygame
from pygame.math import Vector2 as vector
# local imports
from settings import *
class AllSprites(pygame.sprite.Group):
def __init__(self):
super().__init__()
self.offset = vector()
self.display_surface = pygame.display.get_surface()
self.bg = pygame.image.load('../graphics/other/bg.png').convert()
def customize_draw(self,player):
# change the offset vector
self.offset.x = player.rect.centerx - WINDOW_WIDTH / 2
self.offset.y = player.rect.centery - WINDOW_HEIGHT / 2
# blit the surfaces
self.display_surface.blit(self.bg,-self.offset)
for sprite in sorted(self.sprites(), key = lambda sprite: sprite.rect.centery):
offset_rect = sprite.image.get_rect(center = sprite.rect.center)
offset_rect.center -= self.offset
self.display_surface.blit(sprite.image,offset_rect)
+62
View File
@@ -0,0 +1,62 @@
# library imports
import sys
import pygame
from pytmx.util_pygame import load_pygame
# local imports
from settings import *
from player import Player
from allsprites import AllSprites
from sprite import Sprite
class Game:
def __init__(self):
pygame.init()
self.display_surface = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT))
pygame.display.set_caption('Western shooter')
self.clock = pygame.time.Clock()
# groups
self.all_sprites = AllSprites()
self.obstacles = pygame.sprite.Group()
self.setup()
def setup(self):
tmx_map = load_pygame('../data/map.tmx')
# tiles
for x, y, surf in tmx_map.get_layer_by_name('Fence').tiles():
Sprite((x * 64, y * 64),surf,[self.all_sprites, self.obstacles])
# objects
for obj in tmx_map.get_layer_by_name('Objects'):
Sprite((obj.x, obj.y),obj.image,[self.all_sprites, self.obstacles])
# entities
for obj in tmx_map.get_layer_by_name('Entities'):
if obj.name == 'Player':
self.player = Player((obj.x,obj.y), self.all_sprites, PATHS['player'], self.obstacles)
def run(self):
while True:
# event loop
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
dt = self.clock.tick() / 1000
# update groups
self.all_sprites.update(dt)
# draw groups
self.all_sprites.customize_draw(self.player)
pygame.display.update()
# execute Game
if __name__ == '__main__':
Game().run()
+146
View File
@@ -0,0 +1,146 @@
# library imports
import pygame
from pygame.math import Vector2 as vector
from os import walk
class Player(pygame.sprite.Sprite):
def __init__(self,pos, groups, path, collision_sprites):
super().__init__(groups)
self.import_assets(path)
self.frame_index = 0
self.status = 'down_idle'
# sprite
self.image = self.animations[self.status][self.frame_index]
self.rect = self.image.get_rect(center = pos)
# movement
self.pos = vector(self.rect.center)
self.direction = vector()
self.speed = 200
# collisions
self.hitbox = self.rect.inflate(0,-self.rect.height / 2)
self.collision_sprites = collision_sprites
self.attacking = False
def get_status(self):
# idle
if self.direction.x == 0 and self.direction.y == 0:
self.status = self.status.split('_')[0] + '_idle'
# attacking
if self.attacking:
self.status = self.status.split('_')[0] + '_attack'
def import_assets(self, path):
self.animations = {}
for index,folder in enumerate(walk(path)):
if index == 0:
for name in folder[1]:
self.animations[name] = []
else:
for file_name in sorted(folder[2], key = lambda string: int(string.split('.')[0])):
path = folder[0] + '/' + file_name
surf = pygame.image.load(path).convert_alpha()
key = folder[0].split('/')[3]
self.animations[key].append(surf)
def input(self):
keys = pygame.key.get_pressed()
if not self.attacking:
# horizontal input
if keys[pygame.K_RIGHT]:
self.direction.x = 1
self.status = 'right'
elif keys[pygame.K_LEFT]:
self.direction.x = -1
self.status = 'left'
else:
self.direction.x = 0
# vertical input
if keys[pygame.K_UP]:
self.direction.y = -1
self.status = 'up'
elif keys[pygame.K_DOWN]:
self.direction.y = 1
self.status = 'down'
else:
self.direction.y = 0
if keys[pygame.K_SPACE]:
self.attacking = True
self.direction = vector()
self.frame_index = 0
def move(self,dt):
# normalize movement
if self.direction.magnitude() != 0:
self.direction = self.direction.normalize()
# vertical movement + hitbox
self.pos.y += self.direction.y * self.speed * dt
self.hitbox.centery = round(self.pos.y)
self.rect.centery = self.hitbox.centery
self.collision('vertical')
# horizontal movement + hitbox
self.pos.x += self.direction.x * self.speed * dt
self.hitbox.centerx = round(self.pos.x)
self.rect.centerx = self.hitbox.centerx
self.collision('horizontal')
def animate(self,dt):
current_animation = self.animations[self.status]
self.frame_index += 10 * dt
if self.frame_index >= len(current_animation):
self.frame_index = 0
if self.attacking:
self.attacking = False
self.image = current_animation[int(self.frame_index)]
def collision(self,direction):
for sprite in self.collision_sprites.sprites():
if sprite.hitbox.colliderect(self.hitbox):
# if hasattr(sprite,'name') and sprite.name == '':
# pygame.quit
# sys.exit
if direction == 'horizontal':
if self.direction.x > 0: #moving right
self.hitbox.right = sprite.hitbox.left
self.rect.centerx = self.hitbox.centerx
self.pos.x = self.hitbox.centerx
if self.direction.x < 0: #moving right
self.hitbox.left = sprite.hitbox.right
self.rect.centerx = self.hitbox.centerx
self.pos.x = self.hitbox.centerx
else:
if self.direction.y > 0: # moving down
self.hitbox.bottom = sprite.hitbox.top
self.rect.centery = self.hitbox.centery
self.pos.y = self.hitbox.centery
if self.direction.y < 0: # moving up
self.hitbox.top = sprite.hitbox.bottom
self.rect.centery = self.hitbox.centery
self.pos.y = self.hitbox.centery
def update(self,dt):
self.input()
self.get_status()
self.move(dt)
self.animate(dt)
+7
View File
@@ -0,0 +1,7 @@
WINDOW_WIDTH, WINDOW_HEIGHT = 1280,720
PATHS = {
'player' : '../graphics/player',
'coffin' : '../graphics/monster/coffin',
'cactus' : '../graphics/monster/cactus'
}
+10
View File
@@ -0,0 +1,10 @@
# library imports
import pygame
class Sprite(pygame.sprite.Sprite):
def __init__(self,pos,surf,groups):
super().__init__(groups)
self.image = surf
self.rect = self.image.get_rect(topleft = pos)
self.hitbox = self.rect.inflate(0,-self.rect.height / 3)
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<tileset version="1.8" tiledversion="1.8.6" name="fence" tilewidth="64" tileheight="64" tilecount="144" columns="9">
<image source="../graphics/tilesets/fence.png" width="632" height="1024"/>
</tileset>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<tileset version="1.8" tiledversion="1.8.6" name="ground" tilewidth="64" tileheight="64" tilecount="248" columns="31">
<image source="../graphics/tilesets/ground.png" width="1984" height="512"/>
</tileset>
+261
View File
@@ -0,0 +1,261 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.8" tiledversion="1.8.6" orientation="orthogonal" renderorder="right-down" width="60" height="60" tilewidth="64" tileheight="64" infinite="0" nextlayerid="5" nextobjectid="215">
<tileset firstgid="1" source="ground.tsx"/>
<tileset firstgid="249" source="fence.tsx"/>
<tileset firstgid="393" source="objects.tsx"/>
<layer id="1" name="Ground" width="60" height="60">
<data encoding="csv">
122,90,91,122,59,61,61,123,60,123,59,59,59,59,58,90,121,123,89,120,120,59,60,89,59,123,120,89,121,123,123,89,58,91,121,122,89,58,92,60,58,59,59,60,58,60,61,89,90,91,89,91,61,91,92,91,121,121,59,121,
90,61,122,60,120,92,89,121,92,121,59,123,58,60,91,58,89,91,120,92,60,59,59,59,92,122,121,92,60,92,120,120,123,58,90,59,61,90,123,122,122,121,59,92,123,90,61,90,89,60,58,123,91,91,121,120,59,120,58,123,
121,61,61,91,59,120,92,58,91,90,120,120,61,122,91,90,58,120,123,60,60,91,59,58,60,92,121,120,121,120,90,122,59,120,92,59,59,120,61,122,92,120,91,90,61,59,60,123,121,61,58,92,61,92,59,123,122,121,121,89,
120,92,123,89,123,59,121,121,59,89,61,59,89,59,120,61,92,121,90,89,122,121,89,58,120,91,90,60,120,58,90,58,122,91,60,60,92,59,121,121,90,59,120,60,90,89,61,91,120,92,60,122,59,120,120,121,60,89,123,92,
58,92,60,123,90,121,58,121,60,123,123,123,121,121,122,90,90,120,91,90,60,59,91,91,92,92,58,92,60,89,59,91,121,120,122,89,58,60,91,60,122,58,121,91,123,59,92,123,120,90,58,123,122,60,92,90,121,122,122,123,
92,89,90,123,92,121,120,58,58,61,61,89,89,89,92,91,92,121,122,123,89,90,122,60,120,120,123,61,90,122,61,90,58,59,121,92,120,122,121,61,59,60,122,122,90,92,89,92,58,123,121,120,90,92,90,122,90,120,89,89,
121,59,121,121,122,89,123,60,61,60,123,91,59,121,123,61,122,122,61,59,123,61,89,59,89,122,120,91,60,91,90,92,91,121,121,59,61,58,120,59,122,61,89,60,58,91,89,90,91,91,59,91,90,90,89,122,59,123,121,122,
123,59,92,91,92,61,61,59,61,121,90,61,121,92,122,91,120,92,61,61,90,59,60,122,60,121,89,61,122,89,121,123,123,60,90,60,60,89,91,59,91,61,61,59,91,120,92,92,123,90,123,89,92,92,89,121,91,123,92,92,
58,60,59,91,59,58,61,60,92,58,121,61,120,90,120,123,120,58,120,60,122,61,61,60,61,89,60,121,92,122,123,90,123,59,121,60,120,92,121,59,90,58,92,61,91,59,122,123,89,59,90,90,123,123,60,89,59,90,90,90,
89,89,91,60,121,90,92,90,122,121,91,121,123,91,91,90,59,89,91,89,60,58,60,60,122,60,121,89,60,92,123,123,122,122,92,59,122,123,61,120,121,89,60,59,121,89,120,90,90,123,89,60,91,123,59,121,122,89,91,58,
92,120,58,92,123,91,89,121,90,123,61,121,92,123,123,91,89,121,89,89,89,90,89,61,60,121,121,89,58,90,59,92,58,58,60,123,61,91,60,92,120,59,58,59,92,120,123,59,60,90,89,121,122,91,61,60,58,91,121,60,
60,59,60,121,60,122,89,90,89,89,59,89,121,123,89,59,89,120,91,120,89,122,123,58,92,120,61,60,60,123,60,58,91,92,120,58,123,58,61,123,90,59,61,121,92,91,60,89,90,58,92,60,91,91,122,59,123,122,89,120,
61,121,91,92,121,121,91,121,120,122,123,90,91,89,58,60,122,92,89,92,121,91,89,121,122,121,59,92,61,121,120,91,58,90,89,58,91,61,58,90,90,59,90,123,122,58,92,122,122,91,120,90,123,89,61,120,92,61,91,122,
60,58,59,92,92,122,58,121,123,60,92,92,122,122,120,58,90,120,90,92,92,60,92,120,121,122,61,91,91,123,91,58,120,121,58,89,61,60,61,61,58,90,89,89,92,92,61,89,60,60,90,92,61,120,121,61,58,58,60,59,
58,122,59,122,60,58,121,122,121,60,120,91,123,122,120,89,90,61,61,59,60,91,60,61,92,91,89,120,58,123,60,61,120,58,92,58,121,123,58,89,89,122,123,122,91,91,89,123,90,58,60,123,90,59,120,89,121,92,58,123,
121,60,91,89,91,121,61,59,90,120,92,123,123,90,58,89,89,91,120,59,92,90,91,92,121,61,58,120,123,61,91,92,61,61,58,59,58,59,92,58,61,60,58,91,59,123,59,89,61,90,58,61,60,58,59,58,58,123,92,89,
123,61,123,121,120,58,120,60,90,90,90,60,61,120,120,58,90,122,89,59,120,89,121,120,122,90,90,120,120,92,89,90,121,89,90,123,91,121,121,91,90,58,60,92,120,59,120,59,90,122,58,91,60,91,91,91,121,61,59,89,
120,90,121,91,121,121,92,122,60,59,92,121,91,122,61,121,59,91,60,59,58,59,120,61,59,89,60,121,122,61,91,121,121,92,90,60,122,121,123,91,120,120,60,60,123,90,122,120,121,89,123,122,121,58,122,120,123,121,89,60,
89,61,91,92,91,91,120,60,123,122,90,61,91,120,58,61,120,121,61,92,91,90,61,59,58,91,122,92,122,59,61,59,92,122,121,122,90,61,92,123,89,122,89,120,120,120,61,89,90,89,89,120,61,59,91,123,58,121,92,59,
123,122,61,90,89,59,58,58,89,122,58,120,90,58,121,121,89,60,120,121,59,91,122,92,60,58,120,91,121,123,91,91,90,89,122,59,60,58,89,91,90,123,122,60,122,58,122,58,60,59,89,92,59,61,122,120,91,59,91,58,
120,122,89,91,122,120,92,89,59,121,59,61,91,120,92,60,92,61,89,92,60,122,60,89,122,90,92,91,121,90,90,60,120,60,89,89,91,58,91,59,89,91,91,58,121,89,120,61,123,120,120,121,121,122,121,91,89,60,60,92,
91,92,61,89,120,92,121,120,120,121,120,121,91,120,89,60,90,59,120,92,92,90,122,120,91,92,122,92,60,92,122,120,58,123,59,60,121,122,91,60,61,122,90,121,61,122,59,120,61,60,90,91,120,91,121,90,120,89,58,123,
90,89,90,91,92,123,59,91,120,90,90,61,59,92,89,59,122,89,60,89,61,122,123,60,59,92,60,89,58,121,123,60,123,122,121,123,60,89,122,60,92,60,89,90,61,122,89,61,123,121,89,92,58,91,58,123,89,120,123,122,
91,60,122,60,122,123,61,121,59,89,92,61,61,120,89,120,121,92,60,120,120,58,59,90,90,91,58,58,91,89,89,58,122,60,121,120,92,59,61,58,120,122,89,61,123,92,92,60,121,61,92,91,61,121,89,123,60,123,122,123,
58,58,120,59,59,59,59,89,122,59,59,123,91,60,58,120,61,61,89,58,60,89,120,60,60,89,61,91,60,120,59,59,122,90,91,121,59,123,122,89,122,91,122,91,90,90,92,90,122,121,59,90,92,122,121,89,121,121,90,123,
120,59,58,90,89,61,120,123,120,91,121,89,120,59,92,120,92,92,90,91,61,92,121,120,92,120,122,91,89,59,120,122,89,121,123,58,122,61,59,90,92,120,122,123,121,120,89,89,123,91,122,60,120,89,92,59,123,120,123,89,
60,92,90,60,90,89,58,123,61,91,122,121,91,59,61,120,123,123,58,120,58,90,121,92,90,91,58,122,58,122,92,92,89,89,60,59,121,92,121,58,123,120,90,61,121,120,61,60,60,120,121,59,61,92,122,91,122,59,61,89,
122,92,58,92,60,60,121,123,60,91,122,90,90,91,61,58,60,122,92,59,58,122,92,91,92,122,89,89,121,89,59,61,123,123,123,89,121,61,58,120,59,122,61,58,91,58,60,92,122,60,121,58,121,89,90,61,122,59,58,123,
90,122,90,121,90,91,61,89,59,59,92,89,60,59,59,91,92,60,58,89,60,120,123,90,122,91,58,59,91,121,59,61,91,61,61,121,89,91,61,61,60,61,91,92,90,61,90,91,61,60,92,91,91,122,59,89,91,123,90,123,
61,60,91,90,123,59,90,91,123,89,92,89,59,61,121,122,121,61,92,91,89,122,121,123,122,59,61,58,121,92,58,92,121,122,60,123,59,91,92,61,120,90,60,58,89,60,121,89,58,91,59,58,89,61,61,89,58,92,91,58,
60,90,121,92,122,122,120,91,90,58,58,121,90,120,60,92,121,92,122,60,121,91,120,59,59,123,58,59,92,123,123,89,91,60,60,121,60,120,92,60,59,120,91,59,121,89,60,61,61,122,92,120,120,92,58,120,121,61,59,61,
92,123,91,59,60,90,91,123,58,59,61,120,91,92,121,122,59,89,120,58,89,60,92,60,61,122,90,91,122,90,123,60,90,92,90,61,121,123,58,120,122,60,92,120,58,92,120,120,58,89,90,121,123,121,60,91,58,91,58,59,
92,123,92,60,120,89,91,123,120,91,59,90,122,59,121,58,120,122,89,122,61,60,89,92,91,120,61,121,59,89,122,60,123,58,122,123,60,89,92,90,123,90,120,92,61,123,89,59,59,92,89,60,120,120,59,120,122,61,60,123,
122,89,60,61,89,123,61,58,60,122,123,91,60,92,121,59,60,122,61,120,90,92,90,58,89,61,121,60,60,60,59,58,122,92,59,91,123,121,58,123,58,91,59,59,90,60,123,120,92,92,60,61,122,123,92,122,60,122,123,120,
120,123,89,92,60,59,61,89,60,121,90,59,92,90,59,61,120,60,58,89,122,120,61,92,89,58,121,122,58,89,91,60,60,61,60,60,121,58,92,60,58,120,90,90,120,58,89,122,91,120,92,120,121,121,123,92,92,92,61,121,
90,91,91,91,122,122,89,89,90,90,59,123,122,61,121,90,121,92,61,92,59,60,89,122,122,91,122,92,122,89,121,58,89,91,120,60,61,91,59,90,122,91,122,120,90,122,60,60,123,92,92,123,59,120,59,91,58,59,61,120,
92,90,89,123,91,92,90,123,59,92,61,61,120,91,60,92,121,92,60,90,89,61,90,61,59,92,59,121,91,61,58,61,91,122,121,90,61,58,60,92,123,59,122,120,61,59,123,58,59,122,91,123,92,59,121,90,59,61,60,123,
58,91,92,90,89,59,58,60,122,91,89,121,60,59,123,91,121,120,60,59,91,58,60,120,120,61,92,59,90,122,58,59,90,122,91,60,120,123,122,60,91,120,60,120,60,89,59,90,90,122,92,60,90,89,61,92,121,59,91,90,
120,123,60,61,121,120,89,60,121,123,123,92,92,90,59,60,90,121,59,122,58,58,89,58,123,58,90,120,122,123,91,92,60,90,121,89,89,120,120,121,91,91,90,61,123,123,122,59,59,121,89,61,89,61,122,120,89,58,120,123,
120,90,90,92,92,59,122,61,61,120,120,59,123,121,92,120,122,91,89,123,121,58,89,91,58,89,89,58,92,92,120,60,61,123,61,123,92,123,121,92,92,59,121,123,121,122,91,61,90,61,89,123,91,58,123,123,61,60,89,120,
122,90,58,120,122,91,60,89,91,123,121,121,58,90,89,58,91,92,59,59,123,120,123,91,92,92,122,121,59,89,61,120,59,120,89,120,121,58,122,61,89,60,123,92,59,61,59,120,59,120,59,89,120,92,121,90,59,59,91,92,
91,92,59,121,89,60,89,91,58,61,91,120,90,121,60,120,61,122,122,90,120,90,121,91,121,91,92,89,58,61,91,123,58,120,91,60,89,91,58,92,92,89,89,61,58,91,60,58,61,121,91,61,123,120,123,121,60,123,90,91,
121,121,60,121,89,122,60,59,89,90,61,91,120,61,58,92,120,120,58,89,90,91,120,58,59,59,122,123,123,120,91,90,122,60,121,61,61,123,61,61,61,123,121,90,120,123,58,90,60,120,61,61,89,120,58,58,92,92,123,91,
89,122,89,120,121,60,120,58,121,58,91,92,58,61,120,61,61,60,59,89,90,92,123,58,120,120,61,59,122,89,59,58,58,120,61,90,89,91,91,59,121,123,122,59,90,92,92,91,92,120,121,120,120,120,92,122,90,60,122,122,
61,122,61,60,60,89,90,91,61,58,89,60,61,89,120,58,122,61,61,61,120,123,122,120,60,120,58,60,121,60,122,60,59,89,90,60,89,91,90,121,120,122,90,89,89,58,92,89,123,121,90,61,89,59,60,92,92,120,58,61,
121,61,59,122,92,121,59,59,92,122,120,120,58,121,89,59,121,122,121,89,58,122,58,91,60,92,91,59,60,61,60,90,122,91,123,91,90,120,89,123,120,122,59,123,89,123,89,58,120,59,92,120,121,58,61,92,123,60,121,91,
58,123,123,123,58,92,92,58,92,123,89,90,122,120,122,59,89,122,60,123,60,121,58,58,92,59,90,58,123,122,123,121,58,89,58,58,92,122,90,90,59,92,89,121,123,121,123,123,91,123,121,123,91,60,60,92,123,122,61,91,
89,61,59,120,121,58,61,122,91,120,91,90,61,91,121,61,123,92,123,120,58,92,90,89,123,120,61,58,91,123,90,61,60,123,58,92,91,123,58,121,122,122,61,58,58,89,89,122,121,92,58,91,92,60,60,58,89,91,92,92,
89,120,59,58,121,90,121,120,60,59,61,123,122,61,90,59,58,59,123,123,89,90,92,90,90,61,92,120,58,123,60,122,120,90,59,91,58,89,91,123,92,92,61,89,60,61,92,91,120,61,123,123,123,122,90,123,89,59,122,58,
121,90,123,60,120,92,90,59,59,90,121,91,123,60,60,123,120,120,91,90,61,61,59,89,61,121,121,123,123,58,89,121,61,122,120,121,61,123,58,58,92,90,91,60,120,90,122,122,120,92,59,61,61,120,121,58,60,90,89,123,
91,120,91,61,92,91,61,121,61,61,92,60,120,120,123,90,89,89,89,91,120,91,123,92,60,91,120,91,91,121,58,122,92,91,92,58,121,89,58,90,58,91,90,58,92,89,122,61,122,90,90,90,120,60,59,59,90,59,92,123,
60,60,122,92,121,58,61,60,89,121,92,60,123,123,92,59,59,121,91,123,121,122,122,92,59,121,60,91,123,122,58,60,59,60,120,123,120,92,92,90,123,61,60,122,123,120,92,59,58,59,90,58,61,61,58,61,120,89,60,91,
61,120,120,91,91,120,122,92,92,89,61,60,121,92,92,121,58,89,89,90,92,123,58,120,92,122,59,121,61,120,59,90,122,121,89,122,58,120,59,92,59,121,90,89,122,60,59,60,60,59,60,59,60,60,122,60,122,90,60,89,
60,58,61,61,120,59,122,59,61,60,92,89,120,58,58,92,60,89,59,120,89,90,92,59,60,123,90,122,60,89,60,122,122,90,91,120,58,90,121,60,92,58,91,89,120,123,58,91,122,122,60,92,92,58,89,91,120,91,123,121,
58,121,90,92,123,89,121,120,92,91,89,58,121,60,120,89,120,120,60,58,120,61,60,92,61,91,91,58,120,90,121,123,90,120,121,60,121,90,121,121,60,61,122,61,120,89,89,61,92,123,121,58,120,59,92,123,121,61,90,61,
58,58,61,121,89,90,90,58,122,91,58,122,122,61,59,121,90,61,89,91,120,59,120,89,122,123,89,120,90,89,123,59,61,89,89,120,59,89,58,92,92,92,59,91,60,90,61,61,123,123,92,90,120,120,92,90,121,123,92,120,
89,58,120,89,120,58,120,61,123,92,120,60,61,59,120,122,58,92,61,59,91,92,89,121,61,121,90,90,121,60,91,121,123,92,61,121,120,90,59,92,90,90,90,89,123,122,120,61,61,120,91,120,92,58,123,91,121,122,92,120,
91,89,91,91,92,91,61,58,90,91,61,121,92,90,89,60,61,60,61,90,122,91,91,61,60,122,122,92,91,122,120,121,122,59,122,91,123,61,92,89,89,90,121,122,123,89,91,121,121,92,58,91,91,123,89,89,120,59,60,89,
90,89,90,122,92,123,91,91,91,122,121,58,123,61,92,120,92,91,60,60,122,59,91,58,121,90,123,58,89,91,60,60,90,61,120,90,89,120,59,122,59,59,121,92,60,92,90,91,89,91,92,92,90,59,90,121,123,122,91,122,
60,59,123,61,89,123,90,90,91,60,90,58,120,120,89,89,61,89,60,58,58,89,91,122,61,120,90,58,58,60,59,92,120,60,89,90,92,90,120,61,89,122,89,59,121,59,58,122,58,90,91,121,91,90,61,58,92,89,91,92
</data>
</layer>
<layer id="2" name="Fence" width="60" height="60">
<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,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,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,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,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,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,268,268,268,268,268,268,268,251,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,249,268,268,268,268,268,268,268,268,268,268,254,0,0,0,0,0,0,0,252,268,268,268,268,268,268,272,0,0,0,0,0,0,0,270,268,251,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,249,272,0,0,0,0,0,0,0,0,0,0,267,268,268,268,268,268,268,268,269,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,270,251,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,249,272,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,270,251,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,249,272,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,270,254,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,258,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,258,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,249,272,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,258,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,258,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,258,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,249,272,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,267,251,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,258,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,260,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,258,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,260,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,258,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,260,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,258,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,260,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,258,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,260,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,258,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,260,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,267,254,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,260,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,258,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,260,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,258,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,260,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,258,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,260,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,258,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,260,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,267,254,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,260,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,258,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,260,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,258,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,260,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,258,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,249,269,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,258,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,258,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,258,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,267,251,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,258,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,260,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,258,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,260,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,258,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,260,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,258,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,260,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,249,272,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,260,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,258,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,260,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,249,272,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,270,251,0,0,0,0,0,0,
0,0,0,0,0,0,0,258,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,260,0,0,0,0,0,0,
0,0,0,0,0,0,0,258,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,260,0,0,0,0,0,0,
0,0,0,0,0,0,0,258,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,260,0,0,0,0,0,0,
0,0,0,0,0,0,0,258,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,252,269,0,0,0,0,0,0,
0,0,0,0,0,0,0,258,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,260,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,258,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,252,269,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,267,251,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,252,269,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,260,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,252,269,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,270,254,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,252,269,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,258,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,252,269,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,267,268,268,268,268,251,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,252,269,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,260,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,252,268,269,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,270,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268,251,0,0,0,252,268,268,268,268,268,269,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,270,268,268,268,269,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,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,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,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,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,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,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>
<objectgroup id="3" name="Objects">
<object id="121" gid="393" x="840" y="994.67" width="576" height="600"/>
<object id="122" gid="401" x="2544.55" y="2490.85" width="800" height="628"/>
<object id="123" gid="402" x="1480" y="1110" width="384" height="484"/>
<object id="124" gid="407" x="1165.33" y="1776" width="384" height="576"/>
<object id="125" gid="403" x="2086.67" y="873.333" width="608" height="504"/>
<object id="126" gid="394" x="1841.33" y="1433.33" width="56" height="88"/>
<object id="127" gid="394" x="2246.67" y="1237.33" width="56" height="88"/>
<object id="128" gid="394" x="2053.33" y="1056" width="56" height="88"/>
<object id="129" gid="394" x="3002.67" y="590.667" width="56" height="88"/>
<object id="130" gid="396" x="657.333" y="1474" width="64" height="52"/>
<object id="131" gid="396" x="1302.67" y="1026" width="64" height="52"/>
<object id="132" gid="397" x="1735.33" y="1134.67" width="60" height="112"/>
<object id="133" gid="399" x="2031.33" y="1337.33" width="156" height="184"/>
<object id="134" gid="399" x="492.667" y="1074.67" width="156" height="184"/>
<object id="135" gid="400" x="3168" y="1052.67" width="160" height="156"/>
<object id="136" gid="408" x="2788" y="514" width="112" height="84"/>
<object id="137" gid="404" x="1080" y="1854" width="128" height="108"/>
<object id="138" gid="406" x="1204" y="1810.67" width="64" height="56"/>
<object id="139" gid="406" x="1226.67" y="1036" width="64" height="56"/>
<object id="140" gid="405" x="1510.67" y="1138.67" width="104" height="64"/>
<object id="141" gid="411" x="1770" y="754.667" width="252" height="376"/>
<object id="142" gid="410" x="3260" y="2610" width="128" height="188"/>
<object id="143" gid="409" x="2100" y="956" width="128" height="128"/>
<object id="144" gid="398" x="1407.33" y="1810.67" width="60" height="64"/>
<object id="145" gid="396" x="1470.67" y="1800.67" width="64" height="52"/>
<object id="146" gid="411" x="616.667" y="1005.33" width="252" height="376"/>
<object id="147" gid="395" x="3173.33" y="2450" width="56" height="44"/>
<object id="148" gid="400" x="2674.67" y="2563.33" width="160" height="156"/>
<object id="149" gid="402" x="548" y="2708.67" width="384" height="484"/>
<object id="150" gid="409" x="1549.33" y="2506.67" width="128" height="128"/>
<object id="151" gid="410" x="2105.33" y="2168.67" width="128" height="188"/>
<object id="152" gid="410" x="2281.33" y="3312.67" width="128" height="188"/>
<object id="153" gid="405" x="2012" y="2672" width="104" height="64"/>
<object id="154" gid="405" x="1332" y="2128" width="104" height="64"/>
<object id="155" gid="406" x="2088" y="2221.33" width="64" height="56"/>
<object id="156" gid="404" x="2156" y="2223.33" width="128" height="108"/>
<object id="157" gid="405" x="1976" y="633.333" width="104" height="64"/>
<object id="158" gid="404" x="1426.67" y="643.333" width="128" height="108"/>
<object id="159" gid="406" x="825.333" y="1028" width="64" height="56"/>
<object id="160" gid="406" x="2600" y="890.667" width="64" height="56"/>
<object id="161" gid="404" x="2489.33" y="938" width="128" height="108"/>
<object id="162" gid="402" x="2753.33" y="1130" width="384" height="484"/>
<object id="163" gid="408" x="1778.67" y="2118" width="112" height="84"/>
<object id="164" gid="396" x="1737.33" y="2060.67" width="64" height="52"/>
<object id="165" gid="405" x="1869.33" y="2126.67" width="104" height="64"/>
<object id="166" gid="397" x="1848.67" y="2176" width="60" height="112"/>
<object id="167" gid="397" x="1538" y="2534.67" width="60" height="112"/>
<object id="168" gid="396" x="1602.67" y="2528.67" width="64" height="52"/>
<object id="169" gid="397" x="811.333" y="2720" width="60" height="112"/>
<object id="170" gid="405" x="561.212" y="2757.45" width="104" height="64"/>
<object id="171" gid="400" x="2101.33" y="2744.67" width="160" height="156"/>
<object id="172" gid="395" x="902.667" y="1048.67" width="56" height="44"/>
<object id="173" gid="410" x="1017.33" y="1583.33" width="128" height="188"/>
<object id="174" gid="404" x="1120" y="1078" width="128" height="108"/>
<object id="175" gid="411" x="354" y="2260" width="252" height="376"/>
<object id="176" gid="404" x="2978" y="1616" width="128" height="108"/>
<object id="177" gid="399" x="2884" y="1716" width="156" height="184"/>
<object id="178" gid="408" x="2578" y="2938" width="112" height="84"/>
<object id="179" gid="396" x="2090" y="2768" width="64" height="52"/>
<object id="180" gid="396" x="852" y="2716" width="64" height="52"/>
<object id="181" gid="398" x="1098" y="3150" width="60" height="64"/>
<object id="182" gid="398" x="1374" y="2170" width="60" height="64"/>
<object id="183" gid="411" x="3024" y="3478" width="252" height="376"/>
<object id="184" gid="411" x="156" y="3672" width="252" height="376"/>
<object id="185" gid="411" x="3616" y="352" width="252" height="376"/>
<object id="186" gid="400" x="618" y="3628" width="160" height="156"/>
<object id="187" gid="400" x="1260" y="3678" width="160" height="156"/>
<object id="188" gid="400" x="2656" y="3444" width="160" height="156"/>
<object id="189" gid="400" x="3426" y="2870" width="160" height="156"/>
<object id="190" gid="399" x="214" y="1846" width="156" height="184"/>
<object id="191" gid="399" x="194" y="882" width="156" height="184"/>
<object id="192" gid="404" x="3706" y="1830" width="128" height="108"/>
<object id="193" gid="404" x="3584" y="3690" width="128" height="108"/>
<object id="194" gid="404" x="1896" y="3534" width="128" height="108"/>
<object id="195" gid="404" x="2270" y="3478" width="128" height="108"/>
<object id="196" gid="404" x="384" y="3014" width="128" height="108"/>
<object id="197" gid="405" x="1600" y="438" width="104" height="64"/>
<object id="198" gid="405" x="3338" y="1956" width="104" height="64"/>
</objectgroup>
<objectgroup id="4" name="Entities">
<object id="200" name="Player" x="1945.45" y="1624.24">
<point/>
</object>
<object id="201" name="Cactus" x="2462" y="1462">
<point/>
</object>
<object id="202" name="Coffin" x="1350" y="1970">
<point/>
</object>
<object id="203" name="Coffin" x="2394" y="2178">
<point/>
</object>
<object id="204" name="Cactus" x="2814" y="1260">
<point/>
</object>
<object id="205" name="Coffin" x="836" y="1158">
<point/>
</object>
<object id="206" name="Cactus" x="750" y="1944">
<point/>
</object>
<object id="207" name="Coffin" x="1136" y="2940">
<point/>
</object>
<object id="208" name="Cactus" x="1632" y="2850">
<point/>
</object>
<object id="209" name="Coffin" x="1966" y="2376">
<point/>
</object>
<object id="210" name="Coffin" x="2850" y="2994">
<point/>
</object>
<object id="211" name="Cactus" x="2962" y="2720">
<point/>
</object>
<object id="212" name="Cactus" x="2688" y="1866">
<point/>
</object>
<object id="213" name="Coffin" x="2756" y="1404">
<point/>
</object>
<object id="214" name="Cactus" x="2392" y="1008">
<point/>
</object>
</objectgroup>
</map>
+61
View File
@@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?>
<tileset version="1.8" tiledversion="1.8.6" name="Objects" tilewidth="800" tileheight="628" tilecount="19" columns="0">
<grid orientation="orthogonal" width="1" height="1"/>
<tile id="0">
<image width="576" height="600" source="../graphics/objects/bank.png"/>
</tile>
<tile id="1">
<image width="56" height="88" source="../graphics/objects/cactus_1.png"/>
</tile>
<tile id="2">
<image width="56" height="44" source="../graphics/objects/cactus_2.png"/>
</tile>
<tile id="3">
<image width="64" height="52" source="../graphics/objects/cactus_3.png"/>
</tile>
<tile id="4">
<image width="60" height="112" source="../graphics/objects/cactus_4.png"/>
</tile>
<tile id="5">
<image width="60" height="64" source="../graphics/objects/cacuts_5.png"/>
</tile>
<tile id="6">
<image width="156" height="184" source="../graphics/objects/dead_tree_1.png"/>
</tile>
<tile id="7">
<image width="160" height="156" source="../graphics/objects/dead_tree_2.png"/>
</tile>
<tile id="8">
<image width="800" height="628" source="../graphics/objects/hotel.png"/>
</tile>
<tile id="9">
<image width="384" height="484" source="../graphics/objects/house.png"/>
</tile>
<tile id="10">
<image width="608" height="504" source="../graphics/objects/house_2.png"/>
</tile>
<tile id="11">
<image width="128" height="108" source="../graphics/objects/rock_1.png"/>
</tile>
<tile id="12">
<image width="104" height="64" source="../graphics/objects/rock_2.png"/>
</tile>
<tile id="13">
<image width="64" height="56" source="../graphics/objects/rock_3.png"/>
</tile>
<tile id="14">
<image width="384" height="576" source="../graphics/objects/sheriff.png"/>
</tile>
<tile id="15">
<image width="112" height="84" source="../graphics/objects/skull.png"/>
</tile>
<tile id="16">
<image width="128" height="128" source="../graphics/objects/stump.png"/>
</tile>
<tile id="17">
<image width="128" height="188" source="../graphics/objects/stump_2.png"/>
</tile>
<tile id="18">
<image width="252" height="376" source="../graphics/objects/tree.png"/>
</tile>
</tileset>
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Some files were not shown because too many files have changed in this diff Show More