Initial Commit
|
After Width: | Height: | Size: 176 KiB |
|
After Width: | Height: | Size: 53 KiB |
|
After Width: | Height: | Size: 1.3 MiB |
|
After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 8.7 KiB |
|
After Width: | Height: | Size: 110 KiB |
|
After Width: | Height: | Size: 504 KiB |
|
|
@ -0,0 +1,16 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>Burli in Monster World</title>
|
||||
<style>
|
||||
body { margin: 0; }
|
||||
canvas { display: block; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="game-container"></div>
|
||||
<script src="https://cdn.jsdelivr.net/npm/phaser@v3.90.0/dist/phaser.min.js"></script>
|
||||
<script type="module" src="./src/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"automappingRulesFile": "",
|
||||
"commands": [
|
||||
],
|
||||
"compatibilityVersion": 1100,
|
||||
"extensionsPath": "extensions",
|
||||
"folders": [
|
||||
"."
|
||||
],
|
||||
"properties": [
|
||||
],
|
||||
"propertyTypes": [
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
{
|
||||
"Map/SizeTest": {
|
||||
"height": 4300,
|
||||
"width": 2
|
||||
},
|
||||
"activeFile": "gulch.tmx",
|
||||
"expandedProjectPaths": [
|
||||
"."
|
||||
],
|
||||
"fileStates": {
|
||||
"": {
|
||||
"scaleInEditor": 1
|
||||
},
|
||||
"gluch.tmx": {
|
||||
"scale": 0.5,
|
||||
"selectedLayer": 1,
|
||||
"viewCenter": {
|
||||
"x": 1671,
|
||||
"y": 3200
|
||||
}
|
||||
},
|
||||
"gluch.tmx#gulch-tiles": {
|
||||
"scaleInDock": 1
|
||||
},
|
||||
"gulch.tmx": {
|
||||
"scale": 0.75,
|
||||
"selectedLayer": 2,
|
||||
"viewCenter": {
|
||||
"x": 935.3333333333333,
|
||||
"y": 3397.333333333333
|
||||
}
|
||||
},
|
||||
"gulch.tmx#99boy-tiles": {
|
||||
"scaleInDock": 1
|
||||
},
|
||||
"gulch.tmx#gulch-tiles": {
|
||||
"scaleInDock": 0.5,
|
||||
"scaleInEditor": 1
|
||||
}
|
||||
},
|
||||
"last.exportedFilePath": "C:/Git/legends/assets",
|
||||
"last.imagePath": "C:/Git/legends/assets",
|
||||
"map.fixedSize": false,
|
||||
"map.height": 9,
|
||||
"map.lastUsedExportFilter": "JSON map files (*.tmj *.json)",
|
||||
"map.lastUsedFormat": "tmx",
|
||||
"map.tileHeight": 100,
|
||||
"map.tileWidth": 100,
|
||||
"map.width": 16,
|
||||
"openFiles": [
|
||||
"gulch.tmx"
|
||||
],
|
||||
"project": "Tile-Project-Legends.tiled-project",
|
||||
"property.type": "int",
|
||||
"recentFiles": [
|
||||
"gulch.tmx",
|
||||
"gluch.tmx"
|
||||
],
|
||||
"tileset.embedInMap": true,
|
||||
"tileset.tileSize": {
|
||||
"height": 100,
|
||||
"width": 100
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,275 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.10" tiledversion="1.11.2" orientation="orthogonal" renderorder="right-down" width="16" height="9" tilewidth="100" tileheight="100" infinite="1" nextlayerid="3" nextobjectid="1">
|
||||
<tileset firstgid="1" name="gulch-tiles" tilewidth="100" tileheight="100" tilecount="100" columns="10">
|
||||
<image source="../assets/gulch-tiles.png" width="1000" height="1000"/>
|
||||
<tile id="68">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="69">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="70">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="71">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="72">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="73">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="78">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="79">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="80">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="81">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="82">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="83">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="84">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="85">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="86">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="87">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="88">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="89">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="91">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="92">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="93">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="94">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="95">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="96">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="97">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="98">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="99">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
</tileset>
|
||||
<layer id="1" name="main" width="16" height="9">
|
||||
<data encoding="csv">
|
||||
<chunk x="0" y="16" width="16" height="16">
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,
|
||||
0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,
|
||||
0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,
|
||||
0,0,0,0,0,0,0,0,1610612747,1,1610612747,1,1610612747,1,1610612747,1,
|
||||
0,0,0,0,0,0,0,0,1610612747,1,1610612747,1,1610612747,1,1610612747,1
|
||||
</chunk>
|
||||
<chunk x="16" y="16" width="16" height="16">
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,
|
||||
1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,
|
||||
1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,
|
||||
1610612747,1,1610612747,1,1610612747,1,1610612747,1,0,0,0,0,0,0,0,0,
|
||||
1610612747,1,1610612747,1,1610612747,1,1610612747,1,0,0,0,0,0,0,0,0
|
||||
</chunk>
|
||||
<chunk x="0" y="32" width="16" height="16">
|
||||
0,0,0,0,0,0,0,0,24,24,24,24,24,24,24,24,
|
||||
0,0,0,0,0,0,0,0,1073741915,1073741916,1073741917,3221225566,3221225565,3221225564,1073741916,1073741917,
|
||||
0,0,0,0,0,0,0,0,1073741905,1073741906,1073741907,3221225556,3221225555,3221225554,1073741906,1073741907,
|
||||
0,0,0,0,0,0,0,0,1073741895,1073741896,1073741897,3221225546,3221225545,3221225544,1073741896,1073741897,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
</chunk>
|
||||
<chunk x="16" y="32" width="16" height="16">
|
||||
24,24,24,24,24,24,24,24,0,0,0,0,0,0,0,0,
|
||||
3221225566,3221225565,3221225564,3221225563,5,5,5,5,0,0,0,0,0,0,0,0,
|
||||
3221225556,3221225555,3221225554,3221225553,5,5,5,5,0,0,0,0,0,0,0,0,
|
||||
3221225546,3221225545,3221225544,3221225543,5,5,5,5,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
</chunk>
|
||||
</data>
|
||||
</layer>
|
||||
<layer id="2" name="objects" width="16" height="9">
|
||||
<data encoding="csv">
|
||||
<chunk x="0" y="16" width="16" height="16">
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,79,0,0,0,0
|
||||
</chunk>
|
||||
<chunk x="16" y="16" width="16" height="16">
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,3221225552,0,0,0,69,0,3221225552,0,0,0,0,0,0,0,0,
|
||||
0,3221225542,0,0,0,79,0,3221225542,0,0,0,0,0,0,0,0
|
||||
</chunk>
|
||||
<chunk x="16" y="32" width="16" height="16">
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,89,90,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,99,100,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
</chunk>
|
||||
</data>
|
||||
</layer>
|
||||
</map>
|
||||
|
|
@ -0,0 +1,888 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<map version="1.10" tiledversion="1.11.2" orientation="orthogonal" renderorder="right-down" width="16" height="9" tilewidth="100" tileheight="100" infinite="1" nextlayerid="6" nextobjectid="37">
|
||||
<editorsettings>
|
||||
<export target="../assets/gulch.json" format="json"/>
|
||||
</editorsettings>
|
||||
<tileset firstgid="1" name="gulch-tiles" tilewidth="100" tileheight="100" tilecount="100" columns="10">
|
||||
<image source="../assets/gulch-tiles.png" width="1000" height="1000"/>
|
||||
<tile id="6">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="7">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="8">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="16">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="17">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="21">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="31">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="68">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="69">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="70">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="71">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="72">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="73">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="78">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="79">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="80">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="81">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="82">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="83">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="84">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="85">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="86">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="87">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="88">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="89">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="91">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="92">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="93">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="94">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="95">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="96">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="97">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="98">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
<tile id="99">
|
||||
<properties>
|
||||
<property name="collides" type="bool" value="true"/>
|
||||
</properties>
|
||||
</tile>
|
||||
</tileset>
|
||||
<tileset firstgid="101" name="99boy-tiles" tilewidth="100" tileheight="100" tilecount="100" columns="10">
|
||||
<image source="../assets/99boy-tiles.png" width="1000" height="1000"/>
|
||||
</tileset>
|
||||
<layer id="1" name="main" width="16" height="9">
|
||||
<data encoding="csv">
|
||||
<chunk x="0" y="0" width="16" height="16">
|
||||
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
|
||||
12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,
|
||||
12,14,14,14,14,15,14,14,14,14,15,14,14,15,14,15,
|
||||
6,6,6,6,6,7,8,6,6,6,6,6,14,14,14,15,
|
||||
6,6,6,6,6,17,18,6,6,6,6,6,6,6,13,13,
|
||||
10,10,10,10,10,10,10,10,10,10,10,7,8,6,6,13,
|
||||
10,10,10,10,10,10,10,10,10,10,10,17,18,6,6,6,
|
||||
10,10,20,10,10,10,10,10,10,10,10,10,6,6,6,6,
|
||||
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,
|
||||
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
|
||||
10,10,10,10,10,10,10,10,10,10,10,10,10,20,10,10,
|
||||
10,10,10,10,10,10,10,20,10,10,10,10,10,10,10,10,
|
||||
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
|
||||
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
|
||||
10,10,10,10,10,10,10,10,10,10,20,10,10,10,10,10,
|
||||
10,10,10,20,10,10,10,10,10,10,10,10,10,10,10,10
|
||||
</chunk>
|
||||
<chunk x="16" y="0" width="16" height="16">
|
||||
12,12,12,12,12,12,12,12,12,12,22,22,22,12,12,12,
|
||||
15,15,15,15,15,15,15,15,15,12,32,32,22,12,12,12,
|
||||
15,15,15,15,15,15,15,4,4,22,22,32,22,12,12,12,
|
||||
15,15,15,15,15,4,4,4,4,23,22,22,22,12,12,12,
|
||||
13,15,15,15,15,4,4,4,4,23,23,12,12,12,12,14,
|
||||
13,13,13,13,5,5,5,5,5,5,5,12,12,12,12,12,
|
||||
7,8,14,14,5,5,5,5,5,5,5,12,12,12,12,12,
|
||||
17,18,6,14,5,5,5,5,5,5,5,5,5,5,5,12,
|
||||
6,6,6,6,5,5,5,5,5,5,5,5,5,12,12,12,
|
||||
10,6,6,9,5,5,5,5,5,5,5,5,12,12,12,12,
|
||||
10,6,6,6,1610612767,1610612777,1610612787,1610612767,1610612777,1610612787,1610612767,1610612777,1610612757,1610612757,1610612757,1610612757,
|
||||
10,6,6,6,12,12,12,12,12,12,12,12,12,12,12,14,
|
||||
10,6,6,9,12,12,12,14,14,12,12,12,12,14,12,12,
|
||||
10,6,6,6,12,12,12,12,12,12,14,14,12,12,12,12,
|
||||
10,6,6,6,12,12,12,12,12,12,12,12,12,12,12,12,
|
||||
10,6,6,9,13,13,13,13,13,13,13,13,13,13,13,13
|
||||
</chunk>
|
||||
<chunk x="32" y="0" width="16" height="16">
|
||||
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
|
||||
12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,
|
||||
12,12,14,14,14,14,12,12,12,13,13,13,13,13,13,13,
|
||||
12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,
|
||||
14,14,12,12,12,12,12,12,12,13,13,13,13,13,14,14,
|
||||
12,12,12,12,12,12,12,12,12,13,13,13,13,13,12,12,
|
||||
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,23,
|
||||
12,12,12,14,14,12,12,12,12,12,12,12,12,12,32,32,
|
||||
14,12,12,12,12,12,12,12,14,14,12,12,12,23,22,32,
|
||||
12,12,12,12,12,12,12,12,12,12,12,12,1610612759,1610612759,22,32,
|
||||
1610612757,1610612757,1610612757,1610612757,1610612757,1610612757,1610612757,1610612757,1610612757,1610612757,1610612757,1610612759,1610612759,22,22,32,
|
||||
12,12,12,12,12,14,14,12,12,12,12,12,1610612759,1610612759,22,32,
|
||||
12,12,12,12,12,12,12,12,12,12,12,12,12,23,22,32,
|
||||
12,14,14,14,12,12,12,14,12,12,12,12,12,12,23,23,
|
||||
12,12,12,12,12,12,12,12,12,14,14,14,12,12,12,5,
|
||||
13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13
|
||||
</chunk>
|
||||
<chunk x="48" y="0" width="16" height="16">
|
||||
12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,
|
||||
13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,0,
|
||||
13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,0,
|
||||
13,14,14,14,14,14,14,12,0,0,0,0,0,0,0,0,
|
||||
13,12,12,12,12,12,12,14,0,0,0,0,0,0,0,0,
|
||||
12,12,23,23,23,12,12,12,0,0,0,0,0,0,0,0,
|
||||
23,23,32,32,32,23,12,12,0,0,0,0,0,0,0,0,
|
||||
32,32,32,32,32,23,12,12,0,0,0,0,0,0,0,0,
|
||||
32,32,32,32,32,32,23,12,0,0,0,0,0,0,0,0,
|
||||
32,32,32,32,32,32,23,12,0,0,0,0,0,0,0,0,
|
||||
32,32,32,32,32,32,23,12,0,0,0,0,0,0,0,0,
|
||||
32,32,32,32,32,32,23,12,0,0,0,0,0,0,0,0,
|
||||
32,32,32,32,23,23,12,12,0,0,0,0,0,0,0,0,
|
||||
23,23,23,23,12,12,12,0,0,0,0,0,0,0,0,0,
|
||||
5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,
|
||||
5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0
|
||||
</chunk>
|
||||
<chunk x="0" y="16" width="16" height="16">
|
||||
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,
|
||||
10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,6,
|
||||
6,7,8,6,6,6,7,8,6,6,6,7,8,6,6,6,
|
||||
6,17,18,6,6,6,17,18,6,6,6,17,18,6,6,5,
|
||||
4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
|
||||
4,4,4,4,4,4,4,4,4,4,4,4,4,4,15,15,
|
||||
2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,
|
||||
1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,
|
||||
1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,
|
||||
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,
|
||||
1,2684354571,1,2684354571,1,2684354571,1,2684354571,1,2684354571,1,2684354571,1,2684354571,1,2684354571,
|
||||
1,2684354571,1,2684354571,1,2684354571,1,2684354571,1,2684354571,1,2684354571,1,2684354571,1,2684354571,
|
||||
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||
</chunk>
|
||||
<chunk x="16" y="16" width="16" height="16">
|
||||
6,6,6,6,13,13,13,13,13,13,13,13,13,13,13,13,
|
||||
7,8,6,14,14,14,14,14,14,14,14,14,14,14,14,14,
|
||||
17,18,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
|
||||
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
|
||||
4,4,4,4,15,15,15,15,15,15,15,15,15,15,15,15,
|
||||
15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,
|
||||
2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,
|
||||
1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,
|
||||
1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,
|
||||
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,
|
||||
1,2684354571,1,2684354571,1,2684354571,1,2684354571,1,2684354571,1,2684354571,1,2684354571,1,2684354571,
|
||||
1,2684354571,1,2684354571,1,2684354571,1,2684354571,1,2684354571,1,2684354571,1,2684354571,1,2684354571,
|
||||
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||
</chunk>
|
||||
<chunk x="32" y="16" width="16" height="16">
|
||||
13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,
|
||||
14,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,
|
||||
5,14,14,14,14,14,14,14,14,14,14,14,14,12,12,12,
|
||||
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
|
||||
15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,
|
||||
15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,
|
||||
2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,
|
||||
1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,
|
||||
1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,
|
||||
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,
|
||||
1,2684354571,1,2684354571,1,2684354571,1,2684354571,1,2684354571,1,2684354571,1,2684354571,1,2684354571,
|
||||
1,2684354571,1,2684354571,1,2684354571,1,2684354571,1,2684354571,1,2684354571,1,2684354571,1,2684354571,
|
||||
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||
</chunk>
|
||||
<chunk x="48" y="16" width="16" height="16">
|
||||
5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,
|
||||
4,4,4,4,4,4,4,4,15,0,0,0,0,0,0,0,
|
||||
4,4,4,15,15,13,13,15,15,0,0,0,0,0,0,0,
|
||||
15,15,15,15,15,15,15,15,13,0,0,0,0,0,0,0,
|
||||
15,15,15,13,13,15,15,13,13,0,0,0,0,0,0,0,
|
||||
14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,
|
||||
2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,2684354562,0,0,0,0,0,0,0,
|
||||
1,1610612747,1,1610612747,1,1,1,1,1,0,0,0,0,0,0,0,
|
||||
1,1610612747,1,1610612747,1,1,1,1,1,0,0,0,0,0,0,0,
|
||||
1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,
|
||||
1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,
|
||||
1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,
|
||||
1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,
|
||||
1,2684354571,1,2684354571,1,1,1,1,1,0,0,0,0,0,0,0,
|
||||
1,2684354571,1,2684354571,1,1,1,1,1,0,0,0,0,0,0,0,
|
||||
1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0
|
||||
</chunk>
|
||||
<chunk x="0" y="32" width="16" height="16">
|
||||
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,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,
|
||||
1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,
|
||||
24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,
|
||||
24,1073741915,1073741916,1073741917,3221225566,3221225565,3221225564,1073741916,1073741917,3221225566,3221225565,3221225564,3221225563,5,5,5,
|
||||
24,1073741905,1073741906,1073741907,3221225556,3221225555,3221225554,1073741906,1073741907,3221225556,3221225555,3221225554,3221225553,5,5,5,
|
||||
24,1073741895,1073741896,1073741897,3221225546,3221225545,3221225544,1073741896,1073741897,3221225546,3221225545,3221225544,3221225543,5,5,5,
|
||||
24,1610612824,1610612834,87,88,87,88,2147483736,2147483735,2147483736,2147483735,3758096482,3758096472,5,5,5,
|
||||
24,1610612823,1610612833,97,98,97,98,2147483746,2147483745,2147483746,2147483745,3758096481,3758096471,5,5,24,
|
||||
24,1610612822,1610612832,1073741920,1073741921,1073741922,3221225570,1073741922,3221225570,3221225569,3221225568,3758096480,3758096470,5,5,24,
|
||||
24,1610612821,1610612831,1073741910,1073741911,1073741912,3221225560,1073741912,3221225560,3221225559,3221225558,3758096479,3758096469,5,5,24,
|
||||
24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,
|
||||
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
|
||||
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
|
||||
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||
</chunk>
|
||||
<chunk x="16" y="32" width="16" height="16">
|
||||
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,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,
|
||||
1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,
|
||||
24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,
|
||||
5,24,5,85,86,87,88,2147483736,2147483735,87,2147483735,87,88,2147483736,2147483735,2147483734,
|
||||
5,24,5,95,96,97,98,2147483746,2147483745,97,2147483745,97,98,2147483746,2147483745,2147483744,
|
||||
5,24,5,1610612822,1610612832,1073741921,1073741922,3221225570,3221225569,1073741921,3221225569,1073741921,1073741922,3221225570,3221225569,3221225568,
|
||||
24,24,5,1610612821,1610612831,1073741911,1073741912,3221225560,3221225559,1073741911,3221225559,1073741911,1073741912,3221225560,3221225559,3221225558,
|
||||
24,5,5,1610612822,1610612832,1073741921,1073741922,3221225570,3221225569,1073741921,3221225569,1073741921,1073741922,3221225570,3221225569,3221225568,
|
||||
5,5,5,1610612821,1610612831,1073741911,1073741912,3221225560,3221225559,1073741911,3221225559,1073741911,1073741912,3221225560,3221225559,3221225558,
|
||||
5,5,5,24,24,24,24,24,24,24,24,24,24,24,24,24,
|
||||
24,24,24,24,24,85,2684354645,24,24,85,2684354645,24,24,85,2684354645,24,
|
||||
5,5,5,24,24,1610612821,3221225557,24,24,1610612821,3221225557,24,24,1610612821,3221225557,24,
|
||||
5,5,5,24,24,24,24,24,24,24,24,24,24,24,24,24,
|
||||
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||
</chunk>
|
||||
<chunk x="32" y="32" width="16" height="16">
|
||||
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,1610612747,1,1,1,1,1,1,1,1610612747,1,1610612747,1,1610612747,1,1610612747,
|
||||
1,1610612747,1,1,1,1,1,1,1,1610612747,1,1610612747,1,1610612747,1,1610612747,
|
||||
24,24,11,11,1,1,3221225483,3221225483,24,24,24,24,24,24,24,24,
|
||||
2147483733,24,1,1,1,1,1,1,24,1073741915,1073741916,1073741917,3221225566,3221225565,3221225564,1073741916,
|
||||
2147483743,24,11,11,1,1,3221225483,3221225483,24,1073741905,1073741906,1073741907,3221225556,3221225555,3221225554,1073741906,
|
||||
3221225567,24,1,1,1,1,1,1,24,1073741895,1073741896,1073741897,3221225546,3221225545,3221225544,1073741896,
|
||||
3221225557,24,11,11,1,1,3221225483,3221225483,24,1610612824,1610612834,87,88,87,88,2147483736,
|
||||
3221225567,24,1,1,1,1,1,1,24,1610612823,1610612833,97,98,97,98,2147483746,
|
||||
3221225557,24,11,11,1,1,3221225483,3221225483,24,1610612822,1610612832,1073741920,1073741921,1073741922,3221225570,1073741922,
|
||||
24,24,1,1,1,1,1,1,24,1610612821,1610612831,1073741910,1073741911,1073741912,3221225560,1073741912,
|
||||
24,24,11,11,1,1,3221225483,3221225483,24,24,24,24,24,24,24,24,
|
||||
24,24,1,1,1,1,1,1,2684354571,1,2684354571,1,2684354571,1,2684354571,1,
|
||||
24,24,11,11,1,1,1,1,2684354571,1,2684354571,1,2684354571,1,2684354571,1,
|
||||
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
|
||||
</chunk>
|
||||
<chunk x="48" y="32" width="16" height="16">
|
||||
1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,
|
||||
1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,
|
||||
1,1610612747,1,1610612747,1,1,1,1,1,0,0,0,0,0,0,0,
|
||||
1,1610612747,1,1610612747,1,1,1,1,1,0,0,0,0,0,0,0,
|
||||
24,24,24,24,24,1,1,14,14,0,0,0,0,0,0,0,
|
||||
1073741917,3221225566,3221225565,3221225564,3221225563,1,1,14,14,0,0,0,0,0,0,0,
|
||||
1073741907,3221225556,3221225555,3221225554,3221225553,1,1,14,14,0,0,0,0,0,0,0,
|
||||
1073741897,3221225546,3221225545,3221225544,3221225543,1,1,14,14,0,0,0,0,0,0,0,
|
||||
2147483735,2147483736,2147483735,3758096482,3758096472,1,1,14,14,0,0,0,0,0,0,0,
|
||||
2147483745,2147483746,2147483745,3758096481,3758096471,1,1,14,14,0,0,0,0,0,0,0,
|
||||
3221225570,3221225569,3221225568,3758096480,3758096470,1,1,14,14,0,0,0,0,0,0,0,
|
||||
3221225560,3221225559,3221225558,3758096479,3758096469,1,1,14,14,0,0,0,0,0,0,0,
|
||||
24,24,24,24,24,1,1,14,14,0,0,0,0,0,0,0,
|
||||
2684354571,1,2684354571,1,2684354571,1,1,14,14,0,0,0,0,0,0,0,
|
||||
2684354571,1,2684354571,1,2684354571,1,1,14,14,0,0,0,0,0,0,0,
|
||||
1,1,1,1,1,1,1,14,14,0,0,0,0,0,0,0
|
||||
</chunk>
|
||||
<chunk x="0" y="48" width="16" height="16">
|
||||
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
|
||||
1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,
|
||||
1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,
|
||||
1610612738,1610612738,1610612738,1610612738,1610612738,1610612738,1610612738,1610612738,1610612738,1610612738,1610612738,1610612738,1610612738,1610612738,1610612738,1610612738,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
</chunk>
|
||||
<chunk x="16" y="48" width="16" height="16">
|
||||
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
|
||||
1610612747,1,1610612747,1,3221225474,4,2,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,
|
||||
1610612747,1,1610612747,1,3221225474,4,2,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,
|
||||
1610612738,1610612738,1610612738,1610612738,3,4,2684354563,1610612738,1610612738,1610612738,1610612738,1610612738,1610612738,1610612738,1610612738,1610612738,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
</chunk>
|
||||
<chunk x="32" y="48" width="16" height="16">
|
||||
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
|
||||
1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,
|
||||
1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,1610612747,1,
|
||||
1610612738,1610612738,14,14,14,14,14,14,14,14,14,14,14,14,14,14,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
</chunk>
|
||||
<chunk x="48" y="48" width="16" height="16">
|
||||
1,1,1,1,1,1,1,14,14,0,0,0,0,0,0,0,
|
||||
1610612747,1,1610612747,1,1610612747,1,1,14,14,0,0,0,0,0,0,0,
|
||||
1610612747,1,1610612747,1,1610612747,1,1,14,14,0,0,0,0,0,0,0,
|
||||
14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
</chunk>
|
||||
</data>
|
||||
</layer>
|
||||
<layer id="2" name="objects" width="16" height="9">
|
||||
<data encoding="csv">
|
||||
<chunk x="0" y="0" width="16" height="16">
|
||||
12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
</chunk>
|
||||
<chunk x="16" y="0" width="16" height="16">
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,35,0,0,0,0,0,36,0,0,0,34,0,0,0,0,
|
||||
0,0,0,0,28,29,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,38,39,0,0,19,0,0,0,0,36,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,
|
||||
0,0,0,0,0,0,0,0,0,0,19,0,0,0,0,0,
|
||||
0,0,0,0,0,0,35,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,28,29,0,0,0,0,0,0,0,0
|
||||
</chunk>
|
||||
<chunk x="32" y="0" width="16" height="16">
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,35,0,0,0,28,29,0,0,36,0,0,0,0,
|
||||
0,0,0,0,0,0,0,38,39,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,19,0,0,0,0,
|
||||
27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,34,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
</chunk>
|
||||
<chunk x="0" y="16" width="16" height="16">
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,34,0,0,0,0,0,
|
||||
0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,69,0,40,0,68,0,70,0,0,0,0,0,0,0,
|
||||
0,0,79,0,50,0,78,0,80,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,69,0,68,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,79,0,78,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
</chunk>
|
||||
<chunk x="16" y="16" width="16" height="16">
|
||||
0,0,0,0,0,0,38,39,0,0,0,0,0,36,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,34,0,0,0,0,19,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,35,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,3221225551,0,3221225552,0,0,0,68,0,69,0,0,0,
|
||||
0,0,0,0,3221225541,0,3221225542,0,0,0,78,0,79,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
40,0,0,0,0,0,40,0,0,0,70,0,0,0,0,0,
|
||||
50,0,0,0,0,0,50,0,0,0,80,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
</chunk>
|
||||
<chunk x="32" y="16" width="16" height="16">
|
||||
0,0,0,0,0,0,0,0,26,27,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,35,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,26,27,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,35,
|
||||
0,0,0,0,66,67,0,0,40,0,68,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,50,0,78,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,68,0,0,0,0,0,0,0,40,0,0,0,0,0,
|
||||
0,0,78,0,0,0,0,0,0,0,50,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
</chunk>
|
||||
<chunk x="0" y="32" width="16" height="16">
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,3221225522,0,69,0,0,0,0,0,3221225552,0,0,0,69,0,
|
||||
0,0,3221225512,0,79,0,0,0,0,0,3221225542,0,0,0,79,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,89,90,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,99,100,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,89,90,0,0,0,0,89,90,0,0,0,0,89,90,0,
|
||||
0,99,100,0,0,0,0,99,100,0,0,0,0,99,100,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
</chunk>
|
||||
<chunk x="16" y="32" width="16" height="16">
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
3221225552,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
3221225542,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,89,90,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,99,100,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
</chunk>
|
||||
<chunk x="32" y="32" width="16" height="16">
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,68,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,78,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,66,67,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,66,67,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,59,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
</chunk>
|
||||
<chunk x="48" y="32" width="16" height="16">
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,60,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,60,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,59,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,59,60,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
</chunk>
|
||||
<chunk x="32" y="48" width="16" height="16">
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,78,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
</chunk>
|
||||
<chunk x="48" y="48" width="16" height="16">
|
||||
0,0,0,0,0,59,60,0,0,0,0,0,0,0,0,0,
|
||||
0,0,59,47,48,47,48,0,0,0,0,0,0,0,0,0,
|
||||
0,0,60,57,58,57,58,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||
</chunk>
|
||||
</data>
|
||||
</layer>
|
||||
<objectgroup id="5" name="enemies">
|
||||
<object id="3" gid="111" x="303.333" y="2791.33" width="100" height="100">
|
||||
<properties>
|
||||
<property name="fire" type="int" value="2000"/>
|
||||
<property name="patrolX" type="int" value="700"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="4" gid="101" x="920.67" y="2634" width="100" height="100">
|
||||
<properties>
|
||||
<property name="fire" type="int" value="1500"/>
|
||||
<property name="patrolX" type="int" value="-500"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="5" gid="101" x="2454" y="3198" width="100" height="100">
|
||||
<properties>
|
||||
<property name="fire" type="int" value="1500"/>
|
||||
<property name="patrolX" type="int" value="-500"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="6" gid="101" x="2418" y="2638" width="100" height="100">
|
||||
<properties>
|
||||
<property name="fire" type="int" value="1500"/>
|
||||
<property name="patrolX" type="int" value="-500"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="7" gid="111" x="2142" y="3666" width="100" height="100">
|
||||
<properties>
|
||||
<property name="fire" type="int" value="2000"/>
|
||||
<property name="patrolX" type="int" value="700"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="8" gid="111" x="1910" y="2826" width="100" height="100">
|
||||
<properties>
|
||||
<property name="fire" type="int" value="2000"/>
|
||||
<property name="patrolX" type="int" value="700"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="9" gid="101" x="3954" y="3190" width="100" height="100">
|
||||
<properties>
|
||||
<property name="fire" type="int" value="1500"/>
|
||||
<property name="patrolX" type="int" value="-500"/>
|
||||
<property name="patrolY" type="int" value="500"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="10" gid="101" x="3362" y="3278" width="100" height="100">
|
||||
<properties>
|
||||
<property name="fire" type="int" value="1500"/>
|
||||
<property name="patrolX" type="int" value="-500"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="11" gid="101" x="3802" y="3554" width="100" height="100">
|
||||
<properties>
|
||||
<property name="fire" type="int" value="1500"/>
|
||||
<property name="patrolX" type="int" value="-500"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="14" gid="113" x="990" y="3200.67" width="100" height="100">
|
||||
<properties>
|
||||
<property name="fire" type="int" value="800"/>
|
||||
<property name="patrolX" type="int" value="-800"/>
|
||||
<property name="patrolY" type="int" value="200"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="15" gid="115" x="608.545" y="3194.61" width="100" height="100">
|
||||
<properties>
|
||||
<property name="garbage" type="int" value="1"/>
|
||||
<property name="patrolX" type="int" value="600"/>
|
||||
<property name="speed" type="int" value="300"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="16" gid="117" x="510" y="3392.67" width="100" height="100">
|
||||
<properties>
|
||||
<property name="patrolX" type="int" value="900"/>
|
||||
<property name="speed" type="int" value="400"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="18" gid="113" x="2504.55" y="1895.45" width="100" height="100">
|
||||
<properties>
|
||||
<property name="fire" type="int" value="800"/>
|
||||
<property name="patrolX" type="int" value="-800"/>
|
||||
<property name="patrolY" type="int" value="200"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="19" gid="113" x="3816.67" y="695.455" width="100" height="100">
|
||||
<properties>
|
||||
<property name="fire" type="int" value="800"/>
|
||||
<property name="patrolX" type="int" value="-800"/>
|
||||
<property name="patrolY" type="int" value="200"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="20" gid="113" x="2804.55" y="701.515" width="100" height="100">
|
||||
<properties>
|
||||
<property name="fire" type="int" value="800"/>
|
||||
<property name="patrolX" type="int" value="-800"/>
|
||||
<property name="patrolY" type="int" value="200"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="21" gid="101" x="2310.61" y="2195.45" width="100" height="100">
|
||||
<properties>
|
||||
<property name="fire" type="int" value="1500"/>
|
||||
<property name="patrolX" type="int" value="-500"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="22" gid="101" x="3601.52" y="1492.42" width="100" height="100">
|
||||
<properties>
|
||||
<property name="fire" type="int" value="1500"/>
|
||||
<property name="patrolX" type="int" value="-500"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="23" gid="101" x="1895.45" y="398.485" width="100" height="100">
|
||||
<properties>
|
||||
<property name="fire" type="int" value="1500"/>
|
||||
<property name="patrolX" type="int" value="-500"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="24" gid="117" x="2640.91" y="2295.45" width="100" height="100">
|
||||
<properties>
|
||||
<property name="patrolX" type="int" value="900"/>
|
||||
<property name="speed" type="int" value="400"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="25" gid="117" x="3710.61" y="1595.45" width="100" height="100">
|
||||
<properties>
|
||||
<property name="patrolX" type="int" value="900"/>
|
||||
<property name="speed" type="int" value="400"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="26" gid="117" x="4398.48" y="2201.52" width="100" height="100">
|
||||
<properties>
|
||||
<property name="patrolX" type="int" value="900"/>
|
||||
<property name="speed" type="int" value="400"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="27" gid="117" x="4195.45" y="395.455" width="100" height="100">
|
||||
<properties>
|
||||
<property name="patrolX" type="int" value="900"/>
|
||||
<property name="speed" type="int" value="400"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="28" gid="117" x="2456.06" y="840.909" width="100" height="100">
|
||||
<properties>
|
||||
<property name="patrolX" type="int" value="900"/>
|
||||
<property name="speed" type="int" value="400"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="29" gid="117" x="1456.06" y="162.121" width="100" height="100">
|
||||
<properties>
|
||||
<property name="patrolX" type="int" value="900"/>
|
||||
<property name="speed" type="int" value="400"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="30" gid="111" x="425.758" y="2110.61" width="100" height="100">
|
||||
<properties>
|
||||
<property name="fire" type="int" value="2000"/>
|
||||
<property name="patrolX" type="int" value="700"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="31" gid="111" x="422.727" y="134.848" width="100" height="100">
|
||||
<properties>
|
||||
<property name="fire" type="int" value="2000"/>
|
||||
<property name="patrolX" type="int" value="700"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="32" gid="111" x="2210.61" y="598.485" width="100" height="100">
|
||||
<properties>
|
||||
<property name="fire" type="int" value="2000"/>
|
||||
<property name="patrolX" type="int" value="700"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="33" gid="111" x="3413.64" y="946.97" width="100" height="100">
|
||||
<properties>
|
||||
<property name="fire" type="int" value="2000"/>
|
||||
<property name="patrolX" type="int" value="700"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="34" gid="111" x="2983.33" y="243.939" width="100" height="100">
|
||||
<properties>
|
||||
<property name="fire" type="int" value="2000"/>
|
||||
<property name="patrolX" type="int" value="700"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="35" gid="111" x="4171.21" y="192.424" width="100" height="100">
|
||||
<properties>
|
||||
<property name="fire" type="int" value="2000"/>
|
||||
<property name="patrolX" type="int" value="700"/>
|
||||
</properties>
|
||||
</object>
|
||||
<object id="36" gid="111" x="3786.36" y="2110.61" width="100" height="100">
|
||||
<properties>
|
||||
<property name="fire" type="int" value="2000"/>
|
||||
<property name="patrolX" type="int" value="700"/>
|
||||
</properties>
|
||||
</object>
|
||||
</objectgroup>
|
||||
</map>
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
import Phaser from 'phaser';
|
||||
|
||||
export default class LevelScene extends Phaser.Scene {
|
||||
constructor() {
|
||||
super({ key: 'LevelScene' });
|
||||
this.player = null;
|
||||
this.cursors = null;
|
||||
this.camera = null;
|
||||
}
|
||||
|
||||
create() {
|
||||
// Load the tilemap
|
||||
const map = this.add.tilemap('map');
|
||||
const tileset = map.addTilesetImage('tileset', 'tileset');
|
||||
|
||||
// Create the ground layer
|
||||
const groundLayer = map.createStaticLayer('Ground', tileset, 0, 0);
|
||||
|
||||
// Add player
|
||||
this.player = this.physics.add.sprite(100, 100, 'player');
|
||||
this.player.setBounce(0.2);
|
||||
this.player.setCollideWorldBounds(true);
|
||||
|
||||
// Input
|
||||
this.cursors = this.input.keyboard.createCursorKeys();
|
||||
|
||||
// Physics collision
|
||||
this.physics.add.collider(this.player, groundLayer);
|
||||
|
||||
// Camera follow player
|
||||
this.cameras.main.startFollow(this.player);
|
||||
}
|
||||
|
||||
update() {
|
||||
if (this.cursors.left.isDown) {
|
||||
this.player.setVelocityX(-200);
|
||||
} else if (this.cursors.right.isDown) {
|
||||
this.player.setVelocityX(200);
|
||||
} else {
|
||||
this.player.setVelocityX(0);
|
||||
}
|
||||
|
||||
if (this.cursors.up.isDown) {
|
||||
this.player.setVelocityY(-200);
|
||||
} else if (this.cursors.down.isDown) {
|
||||
this.player.setVelocityY(200);
|
||||
} else {
|
||||
this.player.setVelocityY(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,171 @@
|
|||
export class NNBoy extends Phaser.GameObjects.Sprite {
|
||||
constructor(scene, x, y, texture, frame) {
|
||||
super(scene, x, y, texture, frame);
|
||||
|
||||
// Add the enemy to the scene
|
||||
scene.add.existing(this);
|
||||
|
||||
// Enable physics for the enemy (if using Arcade Physics)
|
||||
scene.physics.world.enable(this);
|
||||
|
||||
this.speed = 100;
|
||||
this.isFollowing = false;
|
||||
this.onPatrol = false;
|
||||
this.leftBoundary = 0;
|
||||
this.rightBoundary = 0;
|
||||
this.topBoundary = 0;
|
||||
this.bottomBoundary = 0;
|
||||
|
||||
this.shoots = false;
|
||||
this.shootTimer = 0;
|
||||
this.bottleSpeed = 400;
|
||||
this.bottleReloadVariance = 5000;
|
||||
this.bottleReloadCalc = 3000;
|
||||
this.bottleReload = 0;
|
||||
this.bulletsGroup = scene.add.group();
|
||||
this.dropHeartOneIn = 3;
|
||||
|
||||
// Create animations
|
||||
this.anims.create({
|
||||
key: 'walk99',
|
||||
frames: this.anims.generateFrameNumbers('99boy-tiles', { start: frame, end: frame+1 }),
|
||||
frameRate: 5,
|
||||
repeat: -1
|
||||
});
|
||||
}
|
||||
|
||||
setPatrolX(leftBoundary, rightBoundary) {
|
||||
this.onPatrol = true;
|
||||
this.leftBoundary = leftBoundary;
|
||||
this.rightBoundary = rightBoundary;
|
||||
}
|
||||
|
||||
setPatrolY(topBoundary, bottomBoundary) {
|
||||
this.onPatrol = true;
|
||||
this.topBoundary = topBoundary;
|
||||
this.bottomBoundary = bottomBoundary;
|
||||
}
|
||||
|
||||
setSpeed(spd) {
|
||||
this.speed = spd;
|
||||
}
|
||||
|
||||
// Example: Basic patrolling movement
|
||||
patrol() {
|
||||
// Horizontal boundaries
|
||||
if (this.leftBoundary !== 0) {
|
||||
if (this.body.blocked.left || this.body.x <= this.leftBoundary) {
|
||||
this.flipX = true;
|
||||
this.body.setVelocityX(this.speed);
|
||||
} else if (this.body.blocked.right || this.body.x >= this.rightBoundary) {
|
||||
this.flipX = false;
|
||||
this.body.setVelocityX(-this.speed);
|
||||
}
|
||||
}
|
||||
|
||||
// Vertical boundaries
|
||||
if (this.topBoundary !== 0) {
|
||||
if (this.body.blocked.up || this.body.y <= this.topBoundary) {
|
||||
this.body.setVelocityY(this.speed);
|
||||
} else if (this.body.blocked.down || this.body.y >= this.bottomBoundary) {
|
||||
this.body.setVelocityY(-this.speed);
|
||||
}
|
||||
}
|
||||
|
||||
// Prevent falling off the platform
|
||||
if (this.body.velocity.x === 0 && this.body.velocity.y === 0) {
|
||||
this.body.setVelocityX(this.speed);
|
||||
this.flipX = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Example: Following the player
|
||||
follow(player) {
|
||||
if (Phaser.Math.Distance.Between(this.x, this.y, player.x, player.y) < 200) {
|
||||
this.isFollowing = true;
|
||||
this.scene.physics.moveToObject(this, player, this.speed);
|
||||
} else {
|
||||
this.isFollowing = false;
|
||||
this.body.setVelocity(0);
|
||||
}
|
||||
}
|
||||
|
||||
// Example: Enemy taking damage
|
||||
takeDamage() {
|
||||
let dropHeart = Math.floor(Math.random() * this.dropHeartOneIn);
|
||||
if (dropHeart === 1) {
|
||||
let heart = this.scene.physics.add.image(this.x, this.y, 'heart-full').setScale(.5);
|
||||
this.scene.hearts.add(heart);
|
||||
this.scene.tweens.add({
|
||||
targets: heart,
|
||||
scale: 0.8,
|
||||
duration: 1000,
|
||||
ease: 'Power1',
|
||||
yoyo: true,
|
||||
repeat: -1
|
||||
});
|
||||
}
|
||||
// Create a tween that scales the enemy's body on Y-axis to 10
|
||||
let variance = Math.floor(Math.random() * 2);
|
||||
this.scene.sound.play('99boy-defeat-'+variance);
|
||||
this.scene.tweens.add({
|
||||
targets: this,
|
||||
scaleY: .2,
|
||||
duration: 200, // Duration of the animation in milliseconds
|
||||
ease: 'Power1',
|
||||
onComplete: () => {
|
||||
// Destroy the enemy after the animation completes
|
||||
this.destroy();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
fireBullet() {
|
||||
// Get the player from the scene
|
||||
const player = this.scene.player;
|
||||
|
||||
// Fire the bottle
|
||||
let variance = Math.floor(Math.random() * 3);
|
||||
const bottle = this.scene.physics.add.sprite(this.x, this.y, '99boy-tiles', 2+variance);
|
||||
bottle.setSize(50, 50);
|
||||
this.scene.bottles.add(bottle);
|
||||
const angle = Phaser.Math.Angle.Between(this.x, this.y, player.x, player.y);
|
||||
bottle.setVelocity(Math.cos(angle) * this.bottleSpeed, Math.sin(angle) * this.bottleSpeed);
|
||||
this.scene.physics.world.enable(bottle);
|
||||
this.scene.tweens.add({
|
||||
targets: bottle,
|
||||
angle: 720,
|
||||
duration: 2000,
|
||||
ease: 'Power1',
|
||||
onComplete: () => {
|
||||
bottle.destroy();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
update(time, delta) {
|
||||
if (this.onPatrol === true) {
|
||||
this.patrol();
|
||||
}
|
||||
this.anims.play('walk99', true);
|
||||
|
||||
if (this.shoots) {
|
||||
|
||||
|
||||
// Check if the enemy is visible to the camera
|
||||
const camera = this.scene.cameras.main;
|
||||
if (camera.worldView.contains(this.x, this.y)) {
|
||||
this.shootTimer += delta;
|
||||
if (this.shootTimer >= this.bottleReloadCalc) {
|
||||
this.shootTimer = 0;
|
||||
let variance = Math.floor(Math.random() * this.bottleReloadVariance);
|
||||
this.bottleReloadCalc = this.bottleReload + variance;
|
||||
this.fireBullet();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,297 @@
|
|||
export class Player extends Phaser.GameObjects.Sprite {
|
||||
constructor(scene, x, y, texture, frame) {
|
||||
super(scene, x, y, 'player-tiles');
|
||||
|
||||
scene.add.existing(this);
|
||||
scene.physics.world.enable(this);
|
||||
this.body.setSize(50,100);
|
||||
|
||||
// Initialize variables
|
||||
this.pauseMove = false;
|
||||
this.isTakingDamage = false;
|
||||
this.showHealth = false;
|
||||
this.healthText;
|
||||
this.healthImages;
|
||||
this.numHearts = 3;
|
||||
this.maxHearts = 3;
|
||||
this.normalVelocityX = 260;
|
||||
this.inventory = [];
|
||||
this.facing = 'south';
|
||||
this.isAttacking = false;
|
||||
this.isFiring = false;
|
||||
this.axe;
|
||||
this.bullet;
|
||||
|
||||
// Create animations
|
||||
this.anims.create({
|
||||
key: 'north',
|
||||
frames: this.anims.generateFrameNumbers('player-tiles', { start: 0, end: 1 }),
|
||||
frameRate: 5,
|
||||
repeat: -1
|
||||
});
|
||||
|
||||
this.anims.create({
|
||||
key: 'side',
|
||||
frames: this.anims.generateFrameNumbers('player-tiles', { start: 8, end: 9 }),
|
||||
frameRate: 5,
|
||||
repeat: -1
|
||||
});
|
||||
|
||||
this.anims.create({
|
||||
key: 'south',
|
||||
frames: this.anims.generateFrameNumbers('player-tiles', { start: 16, end: 17 }),
|
||||
frameRate: 5,
|
||||
repeat: -1
|
||||
});
|
||||
|
||||
this.anims.create({
|
||||
key: 'death',
|
||||
frames: [
|
||||
{ key: 'player-tiles', frame: 3 }
|
||||
],
|
||||
frameRate: 5,
|
||||
duration: 1500,
|
||||
repeat: -1
|
||||
});
|
||||
|
||||
this.anims.create({
|
||||
key: 'death2',
|
||||
frames: [
|
||||
{ key: 'player-tiles', frame: 4 }
|
||||
],
|
||||
frameRate: 5,
|
||||
duration: 1500,
|
||||
repeat: -1
|
||||
});
|
||||
|
||||
this.scene.input.keyboard.on('keydown-A', this.attack, this);
|
||||
}
|
||||
|
||||
update() {
|
||||
// Movement Debug:
|
||||
// console.log(this.body.x + " " + this.body.y);
|
||||
|
||||
if (this.pauseMove === true) {
|
||||
this.body.setVelocity(0);
|
||||
} else {
|
||||
// Movement: Left/Right:
|
||||
if (this.scene.cursors.left.isDown) {
|
||||
this.body.setVelocityX(-200);
|
||||
this.setFlipX(false);
|
||||
this.anims.play('side', true);
|
||||
this.facing = 'west';
|
||||
} else if (this.scene.cursors.right.isDown) {
|
||||
this.body.setVelocityX(200);
|
||||
this.setFlipX(true);
|
||||
this.anims.play('side', true);
|
||||
this.facing = 'east';
|
||||
} else {
|
||||
this.body.setVelocityX(0);
|
||||
}
|
||||
|
||||
// Movement: Up/Down:
|
||||
if (this.scene.cursors.up.isDown) {
|
||||
this.body.setVelocityY(-200);
|
||||
this.anims.play('south', true);
|
||||
this.facing = 'south';
|
||||
} else if (this.scene.cursors.down.isDown) {
|
||||
this.body.setVelocityY(200);
|
||||
this.anims.play('north', true);
|
||||
this.facing = 'north';
|
||||
} else {
|
||||
this.body.setVelocityY(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
attack() {
|
||||
if (this.isAttacking === true) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.isAttacking = true;
|
||||
this.pauseMove = true;
|
||||
|
||||
// Determine the direction the player is facing
|
||||
let offsetX = 0;
|
||||
let offsetY = 0;
|
||||
let flip = false;
|
||||
let rotate = 0;
|
||||
let direction = 360;
|
||||
let velocX = 0;
|
||||
let velocY = 0;
|
||||
|
||||
|
||||
if (this.facing === 'west') {
|
||||
offsetX = -100;
|
||||
flip = true;
|
||||
direction = -360;
|
||||
velocX = -1500;
|
||||
} else if (this.facing === 'east') {
|
||||
offsetX = +100;
|
||||
velocX = 1500;
|
||||
} else if (this.facing === 'north') {
|
||||
offsetY = +100;
|
||||
rotate = 90;
|
||||
velocY = 1500;
|
||||
} else if (this.facing === 'south') {
|
||||
offsetY = -100;
|
||||
rotate = 270;
|
||||
velocY = -1500;
|
||||
}
|
||||
|
||||
// Create a rectangle for the attack area in front of the player
|
||||
const attackArea = new Phaser.Geom.Rectangle(
|
||||
this.x + offsetX,
|
||||
this.y + offsetY,
|
||||
100, // width
|
||||
100 // height
|
||||
);
|
||||
|
||||
// Add Axe
|
||||
this.axe = this.scene.physics.add.sprite(attackArea.x, attackArea.y, 'player-tiles', 2);
|
||||
this.scene.axes.add(this.axe);
|
||||
this.axe.setFlipX(flip);
|
||||
this.axe.setAngle(rotate);
|
||||
this.axe.setVelocity(velocX / 4, velocY / 4);
|
||||
this.scene.tweens.add({
|
||||
targets: this.axe,
|
||||
scale: 1, // 110% of original size
|
||||
angle: direction+rotate, // Spin clockwise once (360 degrees)
|
||||
duration: 1000,
|
||||
ease: 'Power2'
|
||||
});
|
||||
this.scene.sound.play('axeThrow');
|
||||
|
||||
// Add Bullet if hearts are full
|
||||
if (this.numHearts >= 3 && this.isFiring === false) {
|
||||
this.bullet = this.scene.physics.add.sprite(attackArea.x, attackArea.y, 'player-tiles', 10);
|
||||
this.scene.bullets.add(this.bullet)
|
||||
this.bullet.setFlip(flip);
|
||||
this.bullet.setAngle(rotate);
|
||||
this.bullet.setVelocity(velocX, velocY);
|
||||
this.scene.sound.play('gunShot');
|
||||
this.isFiring = true;
|
||||
this.scene.physics.world.enable(this.bullet);
|
||||
|
||||
}
|
||||
|
||||
// Reset attack ability after a delay
|
||||
this.scene.time.delayedCall(500, () => {
|
||||
this.pauseMove = false;
|
||||
this.axe.destroy();
|
||||
this.isAttacking = false;
|
||||
if (this.bullet) {
|
||||
this.bullet.destroy();
|
||||
}
|
||||
});
|
||||
if (this.isFiring === true) {
|
||||
this.scene.time.delayedCall(2000, () => {
|
||||
this.isFiring = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
healthBars(showHealth, Hearts, Lives) {
|
||||
this.showHealth = showHealth;
|
||||
if (this.showHealth === true) {
|
||||
this.healthText = this.scene.add.text(16, 16, 'Health: ', { fontSize: '36px', fill: '#FFF' })
|
||||
.setShadow(3,3, '#333', 5)
|
||||
.setScrollFactor(0);
|
||||
this.updateHealth();
|
||||
this.livesText = this.scene.add.text(16, 64, 'Lives:', { fontSize: '36px', fill: '#FFF' })
|
||||
.setShadow(3,3, '#333', 5)
|
||||
.setScrollFactor(0);
|
||||
}
|
||||
}
|
||||
|
||||
takeDamage(fromObject) {
|
||||
if (this.isTakingDamage) {
|
||||
return;
|
||||
}
|
||||
this.isTakingDamage = true;
|
||||
this.scene.sound.play('player-damage');
|
||||
|
||||
this.numHearts -= 1;
|
||||
if (this.numHearts > 0) {
|
||||
this.updateHealth();
|
||||
} else {
|
||||
this.updateHealth();
|
||||
this.pauseMove = true;
|
||||
this.anims.play('death');
|
||||
this.body.enable = false;
|
||||
this.scene.tweens.add({
|
||||
targets: this,
|
||||
angle: 720, // Spin clockwise once (360 degrees)
|
||||
duration: 1500,
|
||||
ease: 'Power2',
|
||||
onComplete: () => {
|
||||
this.anims.play('death2');
|
||||
// Add animation to lower player by 20px
|
||||
this.scene.tweens.add({
|
||||
targets: this,
|
||||
y: '+=20',
|
||||
duration: 1000,
|
||||
ease: 'Power1'
|
||||
});
|
||||
// Fade out the camera and restart the scene
|
||||
this.scene.cameras.main.fade(1500, 0, 0, 0, true);
|
||||
this.scene.time.delayedCall(1500, () => {
|
||||
this.scene.bgMusic.stop();
|
||||
this.scene.scene.restart();
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Knockback
|
||||
|
||||
// Reset taking damage state after a delay
|
||||
this.scene.time.delayedCall(500, () => {
|
||||
this.isTakingDamage = false;
|
||||
this.pauseMove = false;
|
||||
});
|
||||
}
|
||||
|
||||
addHealth(amount) {
|
||||
if (this.numHearts < 3) {
|
||||
this.numHearts += 1;
|
||||
this.updateHealth();
|
||||
this.scene.sound.play('health-pickup');
|
||||
}
|
||||
}
|
||||
|
||||
updateHealth() {
|
||||
if (!this.showHealth) {
|
||||
return;
|
||||
}
|
||||
if (this.healthImages) {
|
||||
this.healthImages.destroy(true);
|
||||
}
|
||||
if (this.lifeImages) {
|
||||
this.lifeImages.destroy(true);
|
||||
}
|
||||
this.healthImages = this.scene.add.group();
|
||||
this.lifeImages = this.scene.add.group();
|
||||
let startX = 170;
|
||||
let startLivesX = 165
|
||||
|
||||
// Add full hearts
|
||||
for (let i = 0; i < this.numHearts; i++) {
|
||||
this.healthImages.add(this.scene.add.image(startX, 15, 'heart-full').setOrigin(0, 0).setScale(.5).setScrollFactor(0));
|
||||
startX += 48;
|
||||
}
|
||||
|
||||
// Add empty hearts for the remaining slots
|
||||
for (let i = this.numHearts; i < 3; i++) {
|
||||
this.healthImages.add(this.scene.add.image(startX, 15, 'heart-empty').setOrigin(0, 0).setScale(.5).setScrollFactor(0));
|
||||
startX += 48;
|
||||
}
|
||||
|
||||
// Add Lives
|
||||
for (let i = 0; i < this.numLives; i++) {
|
||||
this.lifeImages.add(this.scene.add.image(startLivesX, 64, 'life').setOrigin(0, 0).setScale(.5).setScrollFactor(0));
|
||||
startLivesX += 48;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
// import { MenuScene } from './scenes/MenuScene.js';
|
||||
import { Gulch } from './scenes/gulch.js';
|
||||
// import { L2Scene } from './scenes/L2Scene.js';
|
||||
// import { L3Scene } from './scenes/L3Scene.js';
|
||||
|
||||
|
||||
const config = {
|
||||
type: Phaser.AUTO,
|
||||
scale: {
|
||||
mode: Phaser.Scale.RESIZE,
|
||||
width: 1600,
|
||||
height: 9000,
|
||||
},
|
||||
physics: {
|
||||
default: 'arcade',
|
||||
arcade: {
|
||||
gravity: { x: 0, y: 0 },
|
||||
debug: false
|
||||
}
|
||||
|
||||
},
|
||||
scene: [
|
||||
Gulch
|
||||
]
|
||||
};
|
||||
|
||||
new Phaser.Game(config);
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
export class Camera extends Phaser.Cameras.Scene2D.Camera {
|
||||
constructor(x, y, width, height) {
|
||||
super(x, y, width, height);
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,160 @@
|
|||
import { Player } from '../characters/player.js';
|
||||
import { Camera } from '../misc/cameras.js';
|
||||
import { NNBoy } from '../characters/99boy.js';
|
||||
|
||||
export class Gulch extends Phaser.Scene {
|
||||
|
||||
constructor() {
|
||||
super({ key: 'Gulch' });
|
||||
|
||||
this.cameras;
|
||||
this.player;
|
||||
this.cursors = null;
|
||||
this.wide = 1600;
|
||||
this.tall = 900;
|
||||
this.topBound = 1100;
|
||||
this.leftBound = 800;
|
||||
}
|
||||
|
||||
preload() {
|
||||
this.load.image('gulch-tiles', 'assets/gulch-tiles.png');
|
||||
this.load.image('heart-full', 'assets/heart-full.png');
|
||||
this.load.image('heart-empty', 'assets/heart-empty.png');
|
||||
this.load.tilemapTiledJSON('gulchMap', 'assets/gulch.json');
|
||||
this.load.spritesheet('player-tiles', 'assets/player-tiles.png', {
|
||||
frameWidth: 100,
|
||||
frameHeight: 100
|
||||
});
|
||||
this.load.spritesheet('99boy-tiles', 'assets/99boy-tiles.png', {
|
||||
frameWidth: 100,
|
||||
frameHeight: 100
|
||||
});
|
||||
|
||||
this.load.audio('gulchMusic', 'assets/music/gulch.mp3');
|
||||
this.load.audio('gunShot', 'assets/sounds/gun-shot.mp3');
|
||||
this.load.audio('axeThrow', 'assets/sounds/axe.mp3');
|
||||
this.load.audio('99boy-defeat-0', 'assets/sounds/zombie-death-1.mp3');
|
||||
this.load.audio('99boy-defeat-1', 'assets/sounds/zombie-death-2.mp3');
|
||||
this.load.audio('99boy-defeat-2', 'assets/sounds/zombie-death-3.mp3');
|
||||
this.load.audio('health-pickup', 'assets/sounds/health-pickup.mp3');
|
||||
this.load.audio('player-damage', 'assets/sounds/player-damage.mp3');
|
||||
}
|
||||
|
||||
create() {
|
||||
// Load the map and tileset
|
||||
const gulchMap = this.make.tilemap({ key: 'gulchMap' });
|
||||
const gulchTiles = gulchMap.addTilesetImage('gulch-tiles', 'gulch-tiles');
|
||||
const NNTiles = gulchMap.addTilesetImage('99boy-tiles', '99boy-tiles');
|
||||
const mainLayer = gulchMap.createLayer('main', gulchTiles, 0, 0)
|
||||
.setCollisionByProperty({ collides: true });
|
||||
const objectsLayer = gulchMap.createLayer('objects', gulchTiles, 0, 0)
|
||||
.setCollisionByProperty({ collides: true });
|
||||
const enemiesLayer = gulchMap.getObjectLayer('enemies');
|
||||
|
||||
// Add a player
|
||||
this.player = new Player(this, 950, 3650);
|
||||
this.player.healthBars(true, 1, 3);
|
||||
|
||||
// Add Enemies
|
||||
this.enemies = this.physics.add.group({
|
||||
classType: NNBoy,
|
||||
runChildUpdate: true
|
||||
});
|
||||
enemiesLayer.objects.forEach(object => {
|
||||
let a99Boy = this.enemies.create(object.x-50, object.y-50, '99boy-tiles', object.gid-101);
|
||||
if (object.properties) {
|
||||
object.properties.forEach(prop => {
|
||||
if (prop.name === 'patrolX') {
|
||||
let to = object.x + prop.value;
|
||||
if (to < object.x) {
|
||||
a99Boy.setPatrolX(to, object.x);
|
||||
} else {
|
||||
a99Boy.setPatrolX(object.x, to);
|
||||
}
|
||||
}
|
||||
if (prop.name === 'patrolY') {
|
||||
let to = object.y + prop.value;
|
||||
if (to < object.y) {
|
||||
a99Boy.setPatrolY(to, object.y);
|
||||
} else {
|
||||
a99Boy.setPatrolY(object.y, to);
|
||||
}
|
||||
}
|
||||
if (prop.name === 'fire') {
|
||||
a99Boy.shoots = true;
|
||||
a99Boy.bottleReload = prop.value;
|
||||
}
|
||||
if (prop.name === 'speed') {
|
||||
a99Boy.speed = prop.value;
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// Create a group for bullets
|
||||
this.bullets = this.physics.add.group();
|
||||
this.bottles = this.physics.add.group();
|
||||
this.axes = this.physics.add.group();
|
||||
this.hearts = this.physics.add.group();
|
||||
|
||||
// Input
|
||||
this.cursors = this.input.keyboard.createCursorKeys();
|
||||
|
||||
this.physics.add.collider(this.player, mainLayer);
|
||||
this.physics.add.collider(this.player, objectsLayer);
|
||||
this.physics.add.collider(this.enemies, mainLayer);
|
||||
this.physics.add.collider(this.enemies, objectsLayer);
|
||||
this.physics.add.collider(this.player, this.enemies);
|
||||
|
||||
// Collision between bullets and enemies
|
||||
this.physics.add.collider(this.bullets, this.enemies, (bullet, enemy) => {
|
||||
// Handle collision here (e.g., damage the enemy or destroy the bullet)
|
||||
bullet.destroy();
|
||||
enemy.takeDamage(1); // Assuming your NNBoy class has a takeDamage function
|
||||
});
|
||||
|
||||
this.physics.add.collider(this.axes, this.enemies, (axe, enemy) => {
|
||||
// Handle collision here (e.g., damage the enemy or destroy the bullet)
|
||||
axe.destroy();
|
||||
enemy.takeDamage(1); // Assuming your NNBoy class has a takeDamage function
|
||||
});
|
||||
|
||||
this.physics.add.collider(this.player, this.bottles, (player, bottle) => {
|
||||
player.takeDamage(bottle);
|
||||
bottle.destroy();
|
||||
});
|
||||
|
||||
this.physics.add.collider(this.player, this.hearts, (player, heart) => {
|
||||
player.addHealth(1);
|
||||
heart.destroy();
|
||||
});
|
||||
|
||||
this.add.rectangle(0, 0, gulchMap.widthInPixels, gulchMap.heightInPixels, 0x00ff00, 0.2);
|
||||
|
||||
//this.cameras.main.setScroll(800, 1100);
|
||||
this.cameras.main.setBounds(0, 4800, 1600, 900);
|
||||
|
||||
// Background Music
|
||||
this.bgMusic = this.sound.add('gulchMusic', { volume: 0.5 });
|
||||
this.bgMusic.loop = true;
|
||||
this.bgMusic.play();
|
||||
}
|
||||
|
||||
update(time, delta) {
|
||||
this.player.update();
|
||||
|
||||
const onBounds = this.cameras.main.getBounds();
|
||||
if (this.player.body.y <= onBounds.y) {
|
||||
this.cameras.main.setBounds(onBounds.x, onBounds.y-900, 1600, 900);
|
||||
}
|
||||
if (this.player.body.y >= onBounds.y+900) {
|
||||
this.cameras.main.setBounds(onBounds.x, onBounds.y+900, 1600, 900);
|
||||
}
|
||||
if (this.player.body.x <= onBounds.x) {
|
||||
this.cameras.main.setBounds(onBounds.x-1600, onBounds.y, 1600, 900);
|
||||
}
|
||||
if (this.player.body.x >= onBounds.x+1600) {
|
||||
this.cameras.main.setBounds(onBounds.x+1600, onBounds.y, 1600, 900);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
python -m http.server 8000
|
||||