diff --git a/assets/game.png b/assets/game.png index 29765c8..07aaed5 100644 Binary files a/assets/game.png and b/assets/game.png differ diff --git a/assets/game.tsj b/assets/game.tsj index dc21482..36cbd82 100644 --- a/assets/game.tsj +++ b/assets/game.tsj @@ -1 +1 @@ -{"columns":256,"image":"game.png","imageheight":4096,"imagewidth":4096,"margin":0,"name":"game","spacing":0,"tilecount":65536,"tiledversion":"1.10.2","tileheight":16,"tiles":[{"id":0},{"id":1},{"id":2},{"id":3},{"id":4},{"id":5},{"id":6},{"id":8},{"id":10},{"id":11},{"id":12},{"id":13},{"id":14},{"id":15},{"id":16},{"id":17},{"id":18},{"id":20},{"id":22},{"id":23},{"id":24},{"id":25},{"id":26},{"id":27},{"id":28},{"id":29},{"id":30},{"id":31},{"id":32},{"id":33},{"id":34},{"id":35},{"id":36},{"id":256},{"id":257},{"id":258},{"id":259},{"id":260},{"id":261},{"id":262},{"id":263},{"id":264},{"id":265},{"id":266},{"id":267},{"id":268},{"id":269},{"id":270},{"id":271},{"id":272},{"id":273},{"id":274},{"id":275},{"id":276},{"id":277},{"id":278},{"id":279},{"id":280},{"id":281},{"id":282},{"id":512},{"id":513},{"id":514},{"id":515},{"id":516},{"id":517},{"id":518},{"id":520},{"id":522},{"id":523},{"id":524},{"id":525},{"id":526},{"id":527},{"id":528},{"id":529},{"id":530},{"id":532},{"id":534},{"id":535},{"id":536},{"id":537},{"id":538},{"id":771},{"id":772},{"id":773},{"id":774},{"id":783},{"id":784},{"id":785},{"id":786},{"id":1024},{"id":1025},{"id":1026},{"id":1027},{"id":1028},{"id":1030},{"id":1033},{"id":1035},{"id":1036},{"id":1037},{"id":1038},{"id":1039},{"id":1041},{"id":1043,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1044,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1045},{"id":1046},{"id":1280},{"id":1281},{"id":1282},{"id":1283},{"id":1284},{"id":1285},{"id":1287},{"id":1288},{"id":1290},{"id":1291},{"id":1292},{"id":1293},{"id":1294},{"id":1295},{"id":1296},{"id":1298},{"id":1299,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1300,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1301},{"id":1302},{"id":1536},{"id":1537},{"id":1538},{"id":1539},{"id":1540},{"id":1542},{"id":1545},{"id":1547},{"id":1548},{"id":1549},{"id":1550},{"id":1551},{"id":1553},{"id":1792,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":13,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":10,"x":3,"y":3}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1793,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":13,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":13,"x":3,"y":3}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1794,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":13,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":3}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1795,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":13,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":13,"x":0,"y":3}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1797,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1799},{"id":1800},{"id":1801},{"id":1802,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1803,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1804,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":10,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":10,"x":6,"y":6}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1805,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":11,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":5}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1806,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":10,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":10,"x":0,"y":5}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1807,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1808,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1809,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1810,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1811,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1812,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1813,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1814,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1815,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1816,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1817,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0},{"height":16,"id":2,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1818,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":4,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2048,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":10,"x":3,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2049,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":13,"x":3,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2050,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2051,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":13,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2052,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2053,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2054,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2055},{"id":2056},{"id":2057},{"id":2058,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2059,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2060,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":10,"x":6,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2061},{"id":2062,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":10,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2063,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2064,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2065,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2066,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2067,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2068,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2069,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2070,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2071,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2072,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2073,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2074,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2304,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":13,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":10,"x":3,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2305,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":13,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":13,"x":3,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2306,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":13,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2307,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":13,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":13,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2309,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2311},{"id":2312},{"id":2313},{"id":2316,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":10,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":10,"x":6,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2317,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":10,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2318,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":10,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":10,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2321,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2322,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2323,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2326,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2327,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2328,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2560,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":10,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":10,"x":3,"y":3}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2561,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":10,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":13,"x":3,"y":3}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2562,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":10,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":3}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2563,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":10,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":13,"x":0,"y":3}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":4868,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":4869},{"id":4870},{"id":4871},{"id":5637},{"id":5638},{"id":5639},{"id":5640},{"id":5642},{"id":5643},{"id":5644},{"id":5646},{"id":5647},{"id":5648},{"id":5650},{"id":5651},{"id":5654},{"id":5655},{"id":5888,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"ellipse":true,"height":11,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":10,"x":3,"y":3}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":5889},{"id":5890,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"ellipse":true,"height":8,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":4,"y":6}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":5891,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"ellipse":true,"height":8,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":4,"y":6}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":5892,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":5893,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":5894,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":5895},{"id":5896},{"id":5898},{"id":5899},{"id":5900},{"id":5902},{"id":5903},{"id":5904},{"id":5906},{"id":5907},{"id":5908},{"id":5910},{"id":5911},{"id":6144,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"ellipse":true,"height":8,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":4,"y":6}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":6145},{"id":6146,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"ellipse":true,"height":8,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":4,"y":6}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":6147,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"ellipse":true,"height":8,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":4,"y":6}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":6148,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":6149,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":6150,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":6151},{"id":6152},{"id":6158},{"id":6159},{"id":6160},{"id":6162},{"id":6163},{"id":6164},{"id":6400},{"id":6401},{"id":6402,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"ellipse":true,"height":8,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":4,"y":6}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":6403,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"ellipse":true,"height":8,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":4,"y":6}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":6404,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":6405,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":6406,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":6407},{"id":6408},{"id":6410},{"id":6411},{"id":6412},{"id":6414},{"id":6415},{"id":6416},{"id":6418},{"id":6419},{"id":6420},{"id":6429},{"id":6430},{"id":6431},{"id":6433},{"id":6434},{"id":6435},{"id":6656,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"ellipse":true,"height":8,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":4,"y":6}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":6657},{"id":6658},{"id":6659},{"id":6661},{"id":6662},{"id":6663},{"id":6664},{"id":6666},{"id":6667},{"id":6668},{"id":6674},{"id":6675},{"id":6676},{"id":6685},{"id":6686},{"id":6687},{"id":6689},{"id":6690},{"id":6691},{"id":6912,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"ellipse":true,"height":8,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":4,"y":6}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":6913},{"id":6922},{"id":6923},{"id":6924},{"id":6934},{"id":6935},{"id":6936},{"id":6937},{"id":6938},{"id":6939},{"id":6941},{"id":6942},{"id":6943},{"id":6945},{"id":6946},{"id":6947},{"id":7168,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"ellipse":true,"height":8,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":4,"y":6}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":7169},{"id":7178},{"id":7179},{"id":7180},{"id":7190},{"id":7191},{"id":7192},{"id":7193},{"id":7194},{"id":7195},{"id":7424},{"id":7425},{"id":7426},{"id":7427},{"id":7428},{"id":7680,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":5,"y":11}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":7681,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":4,"y":11}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":7682,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":4,"y":12}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":7683,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"dagger","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":4,"y":12},{"height":6,"id":3,"name":"hit_area","rotation":0,"type":"","visible":true,"width":6,"x":6,"y":4}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":7936,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":8,"y":8}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":7937,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":8,"y":8}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":7938,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":8,"y":8}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":7939,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":10,"y":6}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":7940},{"id":7941},{"id":7942,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":7,"y":7.5}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":7943,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":7,"y":9}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":8192,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":4,"y":12}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":8193,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":6,"y":10}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":8194,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":3,"y":13}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":8195,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":5,"y":11}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":8196,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":6,"y":10}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":8197,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":6,"y":10}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":8198,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":5,"y":11}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":8199,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":5,"y":11}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":8200,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":4,"y":12}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":8201,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":4,"y":12}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}}],"tilewidth":16,"type":"tileset","version":"1.10"} \ No newline at end of file +{"columns":256,"image":"game.png","imageheight":4096,"imagewidth":4096,"margin":0,"name":"game","spacing":0,"tilecount":65536,"tiledversion":"1.10.2","tileheight":16,"tiles":[{"id":0},{"id":1},{"id":2},{"id":3},{"id":4},{"id":5},{"id":6},{"id":8},{"id":10},{"id":11},{"id":12},{"id":13},{"id":14},{"id":15},{"id":16},{"id":17},{"id":18},{"id":20},{"id":22},{"id":23},{"id":24},{"id":25},{"id":26},{"id":27},{"id":28},{"id":29},{"id":30},{"id":31},{"id":32},{"id":33},{"id":34},{"id":35},{"id":36},{"id":37},{"id":38},{"id":39},{"id":40},{"id":41},{"id":42},{"id":43},{"id":44},{"id":45},{"id":46},{"id":256},{"id":257},{"id":258},{"id":259},{"id":260},{"id":261},{"id":262},{"id":263},{"id":264},{"id":265},{"id":266},{"id":267},{"id":268},{"id":269},{"id":270},{"id":271},{"id":272},{"id":273},{"id":274},{"id":275},{"id":276},{"id":277},{"id":278},{"id":279},{"id":280},{"id":281},{"id":282},{"id":512},{"id":513},{"id":514},{"id":515},{"id":516},{"id":517},{"id":518},{"id":520},{"id":522},{"id":523},{"id":524},{"id":525},{"id":526},{"id":527},{"id":528},{"id":529},{"id":530},{"id":532},{"id":534},{"id":535},{"id":536},{"id":537},{"id":538},{"id":539},{"id":540},{"id":541},{"id":542},{"id":543},{"id":544},{"id":545},{"id":546},{"id":547},{"id":548},{"id":549},{"id":550},{"id":551},{"id":552},{"id":553},{"id":554},{"id":555},{"id":556},{"id":557},{"id":558},{"id":771},{"id":772},{"id":773},{"id":774},{"id":783},{"id":784},{"id":785},{"id":786},{"id":1024},{"id":1025},{"id":1026},{"id":1027},{"id":1028},{"id":1030},{"id":1033},{"id":1035},{"id":1036},{"id":1037},{"id":1038},{"id":1039},{"id":1041},{"id":1043,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1044,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1045},{"id":1046},{"id":1051},{"id":1052},{"id":1053},{"id":1054},{"id":1055},{"id":1056},{"id":1057},{"id":1058},{"id":1059},{"id":1060},{"id":1061},{"id":1062},{"id":1063},{"id":1064},{"id":1065},{"id":1066},{"id":1067},{"id":1068},{"id":1069},{"id":1070},{"id":1280},{"id":1281},{"id":1282},{"id":1283},{"id":1284},{"id":1285},{"id":1287},{"id":1288},{"id":1290},{"id":1291},{"id":1292},{"id":1293},{"id":1294},{"id":1295},{"id":1296},{"id":1298},{"id":1299,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1300,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1301},{"id":1302},{"id":1536},{"id":1537},{"id":1538},{"id":1539},{"id":1540},{"id":1542},{"id":1545},{"id":1547},{"id":1548},{"id":1549},{"id":1550},{"id":1551},{"id":1553},{"id":1563},{"id":1564},{"id":1565},{"id":1566},{"id":1567},{"id":1568},{"id":1569},{"id":1570},{"id":1571},{"id":1572},{"id":1573},{"id":1574},{"id":1575},{"id":1576},{"id":1577},{"id":1578},{"id":1579},{"id":1580},{"id":1581},{"id":1582},{"id":1792,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":13,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":10,"x":3,"y":3}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1793,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":13,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":13,"x":3,"y":3}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1794,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":13,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":3}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1795,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":13,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":13,"x":0,"y":3}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1797,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1799},{"id":1800},{"id":1801},{"id":1802,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1803,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1804,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":10,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":10,"x":6,"y":6}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1805,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":11,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":5}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1806,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":10,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":10,"x":0,"y":5}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1807,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1808,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1809,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1810,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1811,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1812,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1813,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1814,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1815,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1816,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1817,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0},{"height":16,"id":2,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":1818,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":4,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2048,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":10,"x":3,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2049,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":13,"x":3,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2050,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2051,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":13,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2052,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2053,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2054,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2055},{"id":2056},{"id":2057},{"id":2058,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2059,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2060,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":10,"x":6,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2061},{"id":2062,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":10,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2063,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2064,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2065,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2066,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2067,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2068,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2069,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2070,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2071,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2072,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2073,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2074,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2075},{"id":2076},{"id":2077},{"id":2078},{"id":2079},{"id":2080},{"id":2081},{"id":2082},{"id":2083},{"id":2084},{"id":2304,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":13,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":10,"x":3,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2305,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":13,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":13,"x":3,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2306,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":13,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2307,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":13,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":13,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2309,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2311},{"id":2312},{"id":2313},{"id":2316,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":10,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":10,"x":6,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2317,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":10,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2318,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":10,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":10,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2321,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2322,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2323,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2326,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2327,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2328,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2560,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":10,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":10,"x":3,"y":3}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2561,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":10,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":13,"x":3,"y":3}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2562,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":10,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":3}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2563,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":10,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":13,"x":0,"y":3}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":2587},{"id":2588},{"id":2589},{"id":2590},{"id":2591},{"id":2592},{"id":2593},{"id":2594},{"id":2595},{"id":2596},{"id":4868,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":4869},{"id":4870},{"id":4871},{"id":5637},{"id":5638},{"id":5639},{"id":5640},{"id":5642},{"id":5643},{"id":5644},{"id":5646},{"id":5647},{"id":5648},{"id":5650},{"id":5651},{"id":5654},{"id":5655},{"id":5656},{"id":5657},{"id":5658},{"id":5659},{"id":5661},{"id":5662},{"id":5663},{"id":5665},{"id":5666},{"id":5667},{"id":5668},{"id":5888,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"ellipse":true,"height":11,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":10,"x":3,"y":3}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":5889},{"id":5890,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"ellipse":true,"height":8,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":4,"y":6}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":5891,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"ellipse":true,"height":8,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":4,"y":6}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":5892,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":5893,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":5894,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":5895},{"id":5896},{"id":5898},{"id":5899},{"id":5900},{"id":5902},{"id":5903},{"id":5904},{"id":5906},{"id":5907},{"id":5908},{"id":5910},{"id":5911},{"id":5912},{"id":5913},{"id":5914},{"id":5915},{"id":5917},{"id":5918},{"id":5919},{"id":5921},{"id":5922},{"id":5923},{"id":5924},{"id":6144,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"ellipse":true,"height":8,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":4,"y":6}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":6145},{"id":6146,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"ellipse":true,"height":8,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":4,"y":6}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":6147,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"ellipse":true,"height":8,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":4,"y":6}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":6148,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":6149,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":6150,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":6151},{"id":6152},{"id":6158},{"id":6159},{"id":6160},{"id":6162},{"id":6163},{"id":6164},{"id":6166},{"id":6167},{"id":6168},{"id":6169},{"id":6170},{"id":6171},{"id":6400},{"id":6401},{"id":6402,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"ellipse":true,"height":8,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":4,"y":6}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":6403,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"ellipse":true,"height":8,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":4,"y":6}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":6404,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":6405,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":6406,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":16,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":16,"x":0,"y":0}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":6407},{"id":6408},{"id":6410},{"id":6411},{"id":6412},{"id":6414},{"id":6415},{"id":6416},{"id":6418},{"id":6419},{"id":6420},{"id":6422},{"id":6423},{"id":6424},{"id":6425},{"id":6426},{"id":6427},{"id":6429},{"id":6430},{"id":6431},{"id":6433},{"id":6434},{"id":6435},{"id":6656,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"ellipse":true,"height":8,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":4,"y":6}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":6657},{"id":6658},{"id":6659},{"id":6661},{"id":6662},{"id":6663},{"id":6664},{"id":6666},{"id":6667},{"id":6668},{"id":6674},{"id":6675},{"id":6676},{"id":6685},{"id":6686},{"id":6687},{"id":6689},{"id":6690},{"id":6691},{"id":6912,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"ellipse":true,"height":8,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":4,"y":6}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":6913},{"id":6922},{"id":6923},{"id":6924},{"id":6926},{"id":6927},{"id":6928},{"id":6934},{"id":6935},{"id":6936},{"id":6937},{"id":6938},{"id":6939},{"id":6941},{"id":6942},{"id":6943},{"id":6945},{"id":6946},{"id":6947},{"id":7168,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"ellipse":true,"height":8,"id":1,"name":"","rotation":0,"type":"","visible":true,"width":8,"x":4,"y":6}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":7169},{"id":7173},{"id":7174},{"id":7175},{"id":7178},{"id":7179},{"id":7180},{"id":7182},{"id":7183},{"id":7184},{"id":7190},{"id":7191},{"id":7192},{"id":7193},{"id":7194},{"id":7195},{"id":7424},{"id":7425},{"id":7426},{"id":7427},{"id":7428},{"id":7680,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":5,"y":11}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":7681,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":4,"y":11}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":7682,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":4,"y":12}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":7683,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"dagger","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":4,"y":12},{"height":6,"id":3,"name":"hit_area","rotation":0,"type":"","visible":true,"width":6,"x":6,"y":4}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":7685},{"id":7686},{"id":7687},{"id":7688},{"id":7690},{"id":7691},{"id":7692},{"id":7694},{"id":7695},{"id":7696},{"id":7698},{"id":7699},{"id":7702},{"id":7703},{"id":7704},{"id":7705},{"id":7706},{"id":7707},{"id":7709},{"id":7710},{"id":7711},{"id":7713},{"id":7714},{"id":7715},{"id":7716},{"id":7936,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":8,"y":8}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":7937,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":8,"y":8}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":7938,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":8,"y":8}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":7939,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":10,"y":6}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":7940},{"id":7941},{"id":7942,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":7,"y":7.5}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":7943,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":7,"y":9}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":7944},{"id":7946},{"id":7947},{"id":7948},{"id":7950},{"id":7951},{"id":7952},{"id":7954},{"id":7955},{"id":7956},{"id":7958},{"id":7959},{"id":7960},{"id":7961},{"id":7962},{"id":7963},{"id":7965},{"id":7966},{"id":7967},{"id":7969},{"id":7970},{"id":7971},{"id":7972},{"id":8192,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":4,"y":12}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":8193,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":6,"y":10}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":8194,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":3,"y":13}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":8195,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":5,"y":11}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":8196,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":6,"y":10}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":8197,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":6,"y":10}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":8198,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":5,"y":11}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":8199,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":5,"y":11}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":8200,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":4,"y":12}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":8201,"objectgroup":{"draworder":"index","id":2,"name":"","objects":[{"height":0,"id":1,"name":"handle","point":true,"rotation":0,"type":"","visible":true,"width":0,"x":4,"y":12}],"opacity":1,"type":"objectgroup","visible":true,"x":0,"y":0}},{"id":8206},{"id":8207},{"id":8208},{"id":8210},{"id":8211},{"id":8212},{"id":8214},{"id":8215},{"id":8216},{"id":8217},{"id":8218},{"id":8219},{"id":8453},{"id":8454},{"id":8455},{"id":8456},{"id":8458},{"id":8459},{"id":8460},{"id":8462},{"id":8463},{"id":8464},{"id":8466},{"id":8467},{"id":8468},{"id":8470},{"id":8471},{"id":8472},{"id":8473},{"id":8474},{"id":8475},{"id":8477},{"id":8478},{"id":8479},{"id":8481},{"id":8482},{"id":8483},{"id":8709},{"id":8710},{"id":8711},{"id":8712},{"id":8714},{"id":8715},{"id":8716},{"id":8722},{"id":8723},{"id":8724},{"id":8733},{"id":8734},{"id":8735},{"id":8737},{"id":8738},{"id":8739},{"id":8970},{"id":8971},{"id":8972},{"id":8974},{"id":8975},{"id":8976},{"id":8982},{"id":8983},{"id":8984},{"id":8985},{"id":8986},{"id":8987},{"id":8989},{"id":8990},{"id":8991},{"id":8993},{"id":8994},{"id":8995},{"id":9221},{"id":9222},{"id":9223},{"id":9226},{"id":9227},{"id":9228},{"id":9230},{"id":9231},{"id":9232},{"id":9238},{"id":9239},{"id":9240},{"id":9241},{"id":9242},{"id":9243}],"tilewidth":16,"type":"tileset","version":"1.10"} \ No newline at end of file diff --git a/assets/maps/main_menu_01.tmj b/assets/maps/main_menu_01.tmj index c2ac3b8..72c1a24 100644 --- a/assets/maps/main_menu_01.tmj +++ b/assets/maps/main_menu_01.tmj @@ -242,9 +242,9 @@ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5893, 5894, 5895, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6149, 6150, 6151, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6405, 6406, 6407, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5655, 5656, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5911, 5912, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -285,9 +285,9 @@ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1047, 1047, 1047, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1047, 1047, 1047, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1047, 1047, 1047, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1047, 1047, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1047, 1047, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, diff --git a/game/components.c b/game/components.c index 2164dbc..8fcb818 100644 --- a/game/components.c +++ b/game/components.c @@ -106,7 +106,7 @@ void igResource(ecs_world_t *ecs, void igOwner(ecs_world_t *ecs, ecs_entity_t entity, ecs_entity_t comp) { Owner *owner = ecs_get_mut_id(ecs, entity, comp); - igInputInt("PlayerID", &owner->playerID, 0, 0, 0); + igInputInt("PlayerID", &owner->player, 0, 0, 0); } void igSpatialGridID(ecs_world_t *ecs, diff --git a/game/components.h b/game/components.h index 10f9f87..b3d8bc3 100644 --- a/game/components.h +++ b/game/components.h @@ -33,8 +33,14 @@ typedef struct Resource { } Resource; extern ECS_COMPONENT_DECLARE(Resource); +typedef enum Player { + PLAYER_RED = 0, + PLAYER_BLUE = 1, + PLAYER_COUNT +} Player; + typedef struct Owner { - int32_t playerID; + Player player; } Owner; extern ECS_COMPONENT_DECLARE(Owner); diff --git a/game/entity_factory.c b/game/entity_factory.c index 27bbe1e..1b0e3a2 100644 --- a/game/entity_factory.c +++ b/game/entity_factory.c @@ -57,6 +57,7 @@ ecs_entity_t entityCreateWorker(const Position position, Game *game) { Arms arms = {.primary = right}; ecs_set_ptr(ECS, e, Arms, &arms); ecs_set(ECS, right, Arm, {.offset = 45.0f, 4.5f}); + ecs_set(ECS, e, Owner, {PLAYER_RED}); ecs_set(ECS, right, Size, {8, 8}); ecs_set(ECS, right, Rotation, { 0.0f }); diff --git a/game/game_state.h b/game/game_state.h index 57c8572..620d8f5 100644 --- a/game/game_state.h +++ b/game/game_state.h @@ -18,6 +18,7 @@ typedef struct DrawData { Rectangle dst; Vector2 origin; f32 rotation; + u8 layer; bool canHaveAlpha; } DrawData; diff --git a/game/game_tileset.h b/game/game_tileset.h index 2caabea..979535e 100644 --- a/game/game_tileset.h +++ b/game/game_tileset.h @@ -259,7 +259,7 @@ static AnimationFrame terrainGetAnimationFrame(BzTileID tile, i32 frameIdx) { typedef enum BuildingType { BUILDING_NONE = -1, BUILDING_ARCHERY_RANGE, - BUILDING_BARRACS, + BUILDING_BARRACKS, BUILDING_GRANARY, BUILDING_HOUSE_01, BUILDING_HOUSE_02, @@ -289,7 +289,7 @@ static BuildingType getTileBuilding(BzTileID tile) { return BUILDING_KEEP; case 6149: case 6150: - return BUILDING_BARRACS; + return BUILDING_BARRACKS; case 6405: case 6406: return BUILDING_ARCHERY_RANGE; @@ -333,7 +333,7 @@ static BuildingType getTileBuilding(BzTileID tile) { static BzTileID getBuildingTile(BuildingType type) { switch (type) { case BUILDING_KEEP: return 5654; - case BUILDING_BARRACS: return 6149; + case BUILDING_BARRACKS: return 6149; case BUILDING_ARCHERY_RANGE: return 6405; case BUILDING_HOUSE_01: return 6410; case BUILDING_HOUSE_02: return 6411; @@ -358,7 +358,7 @@ static BzTileID getBuildingTile(BuildingType type) { static const char *getBuildingStr(BuildingType type) { switch (type) { case BUILDING_KEEP: return "keep"; - case BUILDING_BARRACS: return "barracs"; + case BUILDING_BARRACKS: return "barracks"; case BUILDING_ARCHERY_RANGE: return "archery_range"; case BUILDING_HOUSE_01: return "house_01"; case BUILDING_HOUSE_02: return "house_02"; @@ -386,7 +386,7 @@ static BuildingType getBuildingSize(BuildingType type, i32 *outWidth, i32 *outHe if (outWidth) *outWidth = 2; if (outHeight) *outHeight = 2; break; - case BUILDING_BARRACS: + case BUILDING_BARRACKS: if (outWidth) *outWidth = 2; if (outHeight) *outHeight = 1; break; @@ -469,9 +469,14 @@ static BuildingType getBuildingSize(BuildingType type, i32 *outWidth, i32 *outHe typedef enum EntityType { ENTITY_NONE = -1, ENTITY_APPLE, + ENTITY_GOBLIN, ENTITY_GOLD, + ENTITY_MAGE, + ENTITY_ORC, ENTITY_POP, + ENTITY_SOILDER, ENTITY_STONE, + ENTITY_WARRIOR, ENTITY_WOOD, ENTITY_WORKER, ENTITY_COUNT, @@ -489,6 +494,11 @@ typedef enum AnimType { static BzTileID getEntityTile(EntityType type) { switch (type) { case ENTITY_WORKER: return 27; + case ENTITY_SOILDER: return 539; + case ENTITY_WARRIOR: return 1051; + case ENTITY_MAGE: return 1563; + case ENTITY_ORC: return 2075; + case ENTITY_GOBLIN: return 2587; case ENTITY_WOOD: return 7424; case ENTITY_STONE: return 7425; case ENTITY_APPLE: return 7426; @@ -501,6 +511,11 @@ static BzTileID getEntityTile(EntityType type) { static const char *getEntityStr(EntityType type) { switch (type) { case ENTITY_WORKER: return "worker"; + case ENTITY_SOILDER: return "soilder"; + case ENTITY_WARRIOR: return "warrior"; + case ENTITY_MAGE: return "mage"; + case ENTITY_ORC: return "orc"; + case ENTITY_GOBLIN: return "goblin"; case ENTITY_WOOD: return "wood"; case ENTITY_STONE: return "stone"; case ENTITY_APPLE: return "apple"; @@ -534,6 +549,56 @@ static bool entityHasAnimation(EntityType entity, AnimType type) { default: return false; } + case ENTITY_SOILDER: + switch (type) { + case ANIM_IDLE: + case ANIM_WALK: + case ANIM_HURT: + case ANIM_DIE: + return true; + default: + return false; + } + case ENTITY_WARRIOR: + switch (type) { + case ANIM_IDLE: + case ANIM_WALK: + case ANIM_HURT: + case ANIM_DIE: + return true; + default: + return false; + } + case ENTITY_MAGE: + switch (type) { + case ANIM_IDLE: + case ANIM_WALK: + case ANIM_HURT: + case ANIM_DIE: + return true; + default: + return false; + } + case ENTITY_ORC: + switch (type) { + case ANIM_IDLE: + case ANIM_WALK: + case ANIM_HURT: + case ANIM_DIE: + return true; + default: + return false; + } + case ENTITY_GOBLIN: + switch (type) { + case ANIM_IDLE: + case ANIM_WALK: + case ANIM_HURT: + case ANIM_DIE: + return true; + default: + return false; + } default: return false; } @@ -546,7 +611,47 @@ static AnimationSequence entityGetAnimationSequence(EntityType entity, AnimType case ANIM_IDLE: return (AnimationSequence) {.startFrame = 27, .frameCount = 2}; case ANIM_WALK: return (AnimationSequence) {.startFrame = 29, .frameCount = 4}; case ANIM_HURT: return (AnimationSequence) {.startFrame = 32, .frameCount = 3}; - case ANIM_DIE: return (AnimationSequence) {.startFrame = 32, .frameCount = 6}; + case ANIM_DIE: return (AnimationSequence) {.startFrame = 32, .frameCount = 5}; + default: break; + } + case ENTITY_SOILDER: + switch (type) { + case ANIM_IDLE: return (AnimationSequence) {.startFrame = 539, .frameCount = 2}; + case ANIM_WALK: return (AnimationSequence) {.startFrame = 541, .frameCount = 4}; + case ANIM_HURT: return (AnimationSequence) {.startFrame = 544, .frameCount = 3}; + case ANIM_DIE: return (AnimationSequence) {.startFrame = 544, .frameCount = 5}; + default: break; + } + case ENTITY_WARRIOR: + switch (type) { + case ANIM_IDLE: return (AnimationSequence) {.startFrame = 1051, .frameCount = 2}; + case ANIM_WALK: return (AnimationSequence) {.startFrame = 1053, .frameCount = 4}; + case ANIM_HURT: return (AnimationSequence) {.startFrame = 1056, .frameCount = 3}; + case ANIM_DIE: return (AnimationSequence) {.startFrame = 1056, .frameCount = 5}; + default: break; + } + case ENTITY_MAGE: + switch (type) { + case ANIM_IDLE: return (AnimationSequence) {.startFrame = 1563, .frameCount = 2}; + case ANIM_WALK: return (AnimationSequence) {.startFrame = 1565, .frameCount = 4}; + case ANIM_HURT: return (AnimationSequence) {.startFrame = 1568, .frameCount = 3}; + case ANIM_DIE: return (AnimationSequence) {.startFrame = 1568, .frameCount = 5}; + default: break; + } + case ENTITY_ORC: + switch (type) { + case ANIM_IDLE: return (AnimationSequence) {.startFrame = 2075, .frameCount = 2}; + case ANIM_WALK: return (AnimationSequence) {.startFrame = 2077, .frameCount = 4}; + case ANIM_HURT: return (AnimationSequence) {.startFrame = 2080, .frameCount = 3}; + case ANIM_DIE: return (AnimationSequence) {.startFrame = 2080, .frameCount = 5}; + default: break; + } + case ENTITY_GOBLIN: + switch (type) { + case ANIM_IDLE: return (AnimationSequence) {.startFrame = 2587, .frameCount = 2}; + case ANIM_WALK: return (AnimationSequence) {.startFrame = 2589, .frameCount = 4}; + case ANIM_HURT: return (AnimationSequence) {.startFrame = 2592, .frameCount = 3}; + case ANIM_DIE: return (AnimationSequence) {.startFrame = 2592, .frameCount = 5}; default: break; } default: break; @@ -562,7 +667,47 @@ static AnimationFrame entityGetAnimationFrame(EntityType entity, AnimType type, case ANIM_IDLE: return ((AnimationFrame []) {{27, 0.2000f}, {28, 0.2000f}}) [frameIdx]; case ANIM_WALK: return ((AnimationFrame []) {{29, 0.1800f}, {30, 0.1800f}, {31, 0.1800f}, {30, 0.1800f}}) [frameIdx]; case ANIM_HURT: return ((AnimationFrame []) {{32, 0.1400f}, {33, 0.1400f}, {34, 0.1400f}}) [frameIdx]; - case ANIM_DIE: return ((AnimationFrame []) {{32, 0.1400f}, {33, 0.1400f}, {34, 0.1400f}, {36, 0.1500f}, {35, 0.1300f}, {36, 1.4000f}}) [frameIdx]; + case ANIM_DIE: return ((AnimationFrame []) {{32, 0.1400f}, {33, 0.1400f}, {34, 0.1400f}, {35, 0.1400f}, {36, 0.1400f}}) [frameIdx]; + default: break; + } + case ENTITY_SOILDER: + switch (type) { + case ANIM_IDLE: return ((AnimationFrame []) {{539, 0.2000f}, {540, 0.2000f}}) [frameIdx]; + case ANIM_WALK: return ((AnimationFrame []) {{541, 0.1800f}, {542, 0.1800f}, {543, 0.1800f}, {542, 0.1800f}}) [frameIdx]; + case ANIM_HURT: return ((AnimationFrame []) {{544, 0.1400f}, {545, 0.1400f}, {546, 0.1400f}}) [frameIdx]; + case ANIM_DIE: return ((AnimationFrame []) {{544, 0.1400f}, {545, 0.1400f}, {546, 0.1400f}, {547, 0.1400f}, {548, 0.1400f}}) [frameIdx]; + default: break; + } + case ENTITY_WARRIOR: + switch (type) { + case ANIM_IDLE: return ((AnimationFrame []) {{1051, 0.2000f}, {1052, 0.2000f}}) [frameIdx]; + case ANIM_WALK: return ((AnimationFrame []) {{1053, 0.1800f}, {1054, 0.1800f}, {1055, 0.1800f}, {1054, 0.1800f}}) [frameIdx]; + case ANIM_HURT: return ((AnimationFrame []) {{1056, 0.1400f}, {1057, 0.1400f}, {1058, 0.1400f}}) [frameIdx]; + case ANIM_DIE: return ((AnimationFrame []) {{1056, 0.1400f}, {1057, 0.1400f}, {1058, 0.1400f}, {1059, 0.1400f}, {1060, 0.1400f}}) [frameIdx]; + default: break; + } + case ENTITY_MAGE: + switch (type) { + case ANIM_IDLE: return ((AnimationFrame []) {{1563, 0.2000f}, {1564, 0.2000f}}) [frameIdx]; + case ANIM_WALK: return ((AnimationFrame []) {{1565, 0.1800f}, {1566, 0.1800f}, {1567, 0.1800f}, {1566, 0.1800f}}) [frameIdx]; + case ANIM_HURT: return ((AnimationFrame []) {{1568, 0.1400f}, {1569, 0.1400f}, {1570, 0.1400f}}) [frameIdx]; + case ANIM_DIE: return ((AnimationFrame []) {{1568, 0.1400f}, {1569, 0.1400f}, {1570, 0.1400f}, {1571, 0.1400f}, {1572, 0.1400f}}) [frameIdx]; + default: break; + } + case ENTITY_ORC: + switch (type) { + case ANIM_IDLE: return ((AnimationFrame []) {{2075, 0.2000f}, {2076, 0.2000f}}) [frameIdx]; + case ANIM_WALK: return ((AnimationFrame []) {{2077, 0.1800f}, {2078, 0.1800f}, {2079, 0.1800f}, {2078, 0.1800f}}) [frameIdx]; + case ANIM_HURT: return ((AnimationFrame []) {{2080, 0.1400f}, {2081, 0.1400f}, {2082, 0.1400f}}) [frameIdx]; + case ANIM_DIE: return ((AnimationFrame []) {{2080, 0.1400f}, {2081, 0.1400f}, {2082, 0.1400f}, {2083, 0.1400f}, {2084, 0.1400f}}) [frameIdx]; + default: break; + } + case ENTITY_GOBLIN: + switch (type) { + case ANIM_IDLE: return ((AnimationFrame []) {{2587, 0.2000f}, {2588, 0.2000f}}) [frameIdx]; + case ANIM_WALK: return ((AnimationFrame []) {{2589, 0.1800f}, {2590, 0.1800f}, {2591, 0.1800f}, {2590, 0.1800f}}) [frameIdx]; + case ANIM_HURT: return ((AnimationFrame []) {{2592, 0.1400f}, {2593, 0.1400f}, {2594, 0.1400f}}) [frameIdx]; + case ANIM_DIE: return ((AnimationFrame []) {{2592, 0.1400f}, {2593, 0.1400f}, {2594, 0.1400f}, {2595, 0.1400f}, {2596, 0.1400f}}) [frameIdx]; default: break; } default: break; @@ -622,4 +767,802 @@ static BzTileID getItemTile(ItemType type) { } } +static Rectangle getTextureRect(BzTileID tile) { + Rectangle base = { (tile % 256) * 16, (tile / 256) * 16, 16, 16 }; + switch (tile) { + case 539: + case 540: + case 541: + case 542: + case 543: + case 544: + case 545: + case 546: + case 547: + case 548: + case 1051: + case 1052: + case 1053: + case 1054: + case 1055: + case 1056: + case 1057: + case 1058: + case 1059: + case 1060: + case 1563: + case 1564: + case 1565: + case 1566: + case 1567: + case 1568: + case 1569: + case 1570: + case 1571: + case 1572: + case 2075: + case 2076: + case 2077: + case 2078: + case 2079: + case 2080: + case 2081: + case 2082: + case 2083: + case 2084: + case 2587: + case 2588: + case 2589: + case 2590: + case 2591: + case 2592: + case 2593: + case 2594: + case 2595: + case 2596: + base.width *= 1; + base.height *= 2; + break; + default: break; + } + return base; +} + +static BzTileID getTileBase(BzTileID tile) { + switch (tile) { + case 27: + case 37: + return 27; + case 28: + case 38: + return 28; + case 29: + case 39: + return 29; + case 30: + case 40: + return 30; + case 31: + case 41: + return 31; + case 32: + case 42: + return 32; + case 33: + case 43: + return 33; + case 34: + case 44: + return 34; + case 35: + case 45: + return 35; + case 36: + case 46: + return 36; + case 539: + case 549: + return 539; + case 540: + case 550: + return 540; + case 541: + case 551: + return 541; + case 542: + case 552: + return 542; + case 543: + case 553: + return 543; + case 544: + case 554: + return 544; + case 545: + case 555: + return 545; + case 546: + case 556: + return 546; + case 547: + case 557: + return 547; + case 548: + case 558: + return 548; + case 1051: + case 1061: + return 1051; + case 1052: + case 1062: + return 1052; + case 1053: + case 1063: + return 1053; + case 1054: + case 1064: + return 1054; + case 1055: + case 1065: + return 1055; + case 1056: + case 1066: + return 1056; + case 1057: + case 1067: + return 1057; + case 1058: + case 1068: + return 1058; + case 1059: + case 1069: + return 1059; + case 1060: + case 1070: + return 1060; + case 1563: + case 1573: + return 1563; + case 1564: + case 1574: + return 1564; + case 1565: + case 1575: + return 1565; + case 1566: + case 1576: + return 1566; + case 1567: + case 1577: + return 1567; + case 1568: + case 1578: + return 1568; + case 1569: + case 1579: + return 1569; + case 1570: + case 1580: + return 1570; + case 1571: + case 1581: + return 1571; + case 1572: + case 1582: + return 1572; + case 5637: + case 7685: + return 5637; + case 5638: + case 7686: + return 5638; + case 5639: + case 7687: + return 5639; + case 5640: + case 7688: + return 5640; + case 5642: + case 7690: + return 5642; + case 5643: + case 7691: + return 5643; + case 5644: + case 7692: + return 5644; + case 5646: + case 7694: + return 5646; + case 5647: + case 7695: + return 5647; + case 5648: + case 7696: + return 5648; + case 5650: + case 7698: + return 5650; + case 5651: + case 7699: + return 5651; + case 5654: + case 7702: + return 5654; + case 5655: + case 7703: + return 5655; + case 5656: + case 7704: + return 5656; + case 5657: + case 7705: + return 5657; + case 5658: + case 7706: + return 5658; + case 5659: + case 7707: + return 5659; + case 5661: + case 7709: + return 5661; + case 5662: + case 7710: + return 5662; + case 5663: + case 7711: + return 5663; + case 5665: + case 7713: + return 5665; + case 5666: + case 7714: + return 5666; + case 5667: + case 7715: + return 5667; + case 5668: + case 7716: + return 5668; + case 5893: + case 7941: + return 5893; + case 5894: + case 7942: + return 5894; + case 5895: + case 7943: + return 5895; + case 5896: + case 7944: + return 5896; + case 5898: + case 7946: + return 5898; + case 5899: + case 7947: + return 5899; + case 5900: + case 7948: + return 5900; + case 5902: + case 7950: + return 5902; + case 5903: + case 7951: + return 5903; + case 5904: + case 7952: + return 5904; + case 5906: + case 7954: + return 5906; + case 5907: + case 7955: + return 5907; + case 5908: + case 7956: + return 5908; + case 5910: + case 7958: + return 5910; + case 5911: + case 7959: + return 5911; + case 5912: + case 7960: + return 5912; + case 5913: + case 7961: + return 5913; + case 5914: + case 7962: + return 5914; + case 5915: + case 7963: + return 5915; + case 5917: + case 7965: + return 5917; + case 5918: + case 7966: + return 5918; + case 5919: + case 7967: + return 5919; + case 5921: + case 7969: + return 5921; + case 5922: + case 7970: + return 5922; + case 5923: + case 7971: + return 5923; + case 5924: + case 7972: + return 5924; + case 6149: + case 8197: + return 6149; + case 6150: + case 8198: + return 6150; + case 6151: + case 8199: + return 6151; + case 6152: + case 8200: + return 6152; + case 6158: + case 8206: + return 6158; + case 6159: + case 8207: + return 6159; + case 6160: + case 8208: + return 6160; + case 6162: + case 8210: + return 6162; + case 6163: + case 8211: + return 6163; + case 6164: + case 8212: + return 6164; + case 6166: + case 8214: + return 6166; + case 6167: + case 8215: + return 6167; + case 6168: + case 8216: + return 6168; + case 6169: + case 8217: + return 6169; + case 6170: + case 8218: + return 6170; + case 6171: + case 8219: + return 6171; + case 6405: + case 8453: + return 6405; + case 6406: + case 8454: + return 6406; + case 6407: + case 8455: + return 6407; + case 6408: + case 8456: + return 6408; + case 6410: + case 8458: + return 6410; + case 6411: + case 8459: + return 6411; + case 6412: + case 8460: + return 6412; + case 6414: + case 8462: + return 6414; + case 6415: + case 8463: + return 6415; + case 6416: + case 8464: + return 6416; + case 6418: + case 8466: + return 6418; + case 6419: + case 8467: + return 6419; + case 6420: + case 8468: + return 6420; + case 6422: + case 8470: + return 6422; + case 6423: + case 8471: + return 6423; + case 6424: + case 8472: + return 6424; + case 6425: + case 8473: + return 6425; + case 6426: + case 8474: + return 6426; + case 6427: + case 8475: + return 6427; + case 6429: + case 8477: + return 6429; + case 6430: + case 8478: + return 6430; + case 6431: + case 8479: + return 6431; + case 6433: + case 8481: + return 6433; + case 6434: + case 8482: + return 6434; + case 6435: + case 8483: + return 6435; + case 6661: + case 8709: + return 6661; + case 6662: + case 8710: + return 6662; + case 6663: + case 8711: + return 6663; + case 6664: + case 8712: + return 6664; + case 6666: + case 8714: + return 6666; + case 6667: + case 8715: + return 6667; + case 6668: + case 8716: + return 6668; + case 6674: + case 8722: + return 6674; + case 6675: + case 8723: + return 6675; + case 6676: + case 8724: + return 6676; + case 6685: + case 8733: + return 6685; + case 6686: + case 8734: + return 6686; + case 6687: + case 8735: + return 6687; + case 6689: + case 8737: + return 6689; + case 6690: + case 8738: + return 6690; + case 6691: + case 8739: + return 6691; + case 6922: + case 8970: + return 6922; + case 6923: + case 8971: + return 6923; + case 6924: + case 8972: + return 6924; + case 6926: + case 8974: + return 6926; + case 6927: + case 8975: + return 6927; + case 6928: + case 8976: + return 6928; + case 6934: + case 8982: + return 6934; + case 6935: + case 8983: + return 6935; + case 6936: + case 8984: + return 6936; + case 6937: + case 8985: + return 6937; + case 6938: + case 8986: + return 6938; + case 6939: + case 8987: + return 6939; + case 6941: + case 8989: + return 6941; + case 6942: + case 8990: + return 6942; + case 6943: + case 8991: + return 6943; + case 6945: + case 8993: + return 6945; + case 6946: + case 8994: + return 6946; + case 6947: + case 8995: + return 6947; + case 7173: + case 9221: + return 7173; + case 7174: + case 9222: + return 7174; + case 7175: + case 9223: + return 7175; + case 7178: + case 9226: + return 7178; + case 7179: + case 9227: + return 7179; + case 7180: + case 9228: + return 7180; + case 7182: + case 9230: + return 7182; + case 7183: + case 9231: + return 7183; + case 7184: + case 9232: + return 7184; + case 7190: + case 9238: + return 7190; + case 7191: + case 9239: + return 7191; + case 7192: + case 9240: + return 7192; + case 7193: + case 9241: + return 7193; + case 7194: + case 9242: + return 7194; + case 7195: + case 9243: + return 7195; + default: return tile; + } +} + +static Vector2 getTileOffset(BzTileID tile, i32 idx) { + if (idx < 0 || idx >= 181) return (Vector2) {0, 0}; + switch (tile) { + case 27: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 28: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 29: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 30: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 31: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 32: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 33: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 34: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 35: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 36: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 539: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 540: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 541: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 542: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 543: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 544: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 545: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 546: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 547: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 548: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 1051: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 1052: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 1053: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 1054: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 1055: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 1056: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 1057: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 1058: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 1059: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 1060: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 1563: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 1564: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 1565: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 1566: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 1567: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 1568: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 1569: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 1570: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 1571: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 1572: return ((Vector2 []) {{0, 0}, {160, 0}})[idx]; + case 5637: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5638: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5639: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5640: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5642: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5643: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5644: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5646: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5647: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5648: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5650: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5651: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5654: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5655: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5656: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5657: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5658: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5659: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5661: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5662: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5663: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5665: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5666: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5667: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5668: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5893: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5894: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5895: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5896: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5898: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5899: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5900: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5902: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5903: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5904: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5906: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5907: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5908: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5910: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5911: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5912: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5913: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5914: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5915: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5917: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5918: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5919: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5921: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5922: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5923: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 5924: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6149: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6150: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6151: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6152: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6158: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6159: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6160: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6162: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6163: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6164: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6166: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6167: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6168: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6169: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6170: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6171: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6405: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6406: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6407: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6408: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6410: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6411: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6412: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6414: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6415: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6416: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6418: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6419: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6420: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6422: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6423: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6424: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6425: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6426: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6427: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6429: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6430: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6431: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6433: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6434: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6435: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6661: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6662: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6663: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6664: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6666: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6667: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6668: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6674: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6675: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6676: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6685: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6686: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6687: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6689: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6690: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6691: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6922: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6923: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6924: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6926: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6927: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6928: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6934: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6935: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6936: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6937: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6938: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6939: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6941: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6942: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6943: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6945: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6946: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 6947: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 7173: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 7174: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 7175: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 7178: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 7179: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 7180: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 7182: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 7183: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 7184: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 7190: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 7191: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 7192: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 7193: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 7194: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + case 7195: return ((Vector2 []) {{0, 0}, {0, 128}})[idx]; + default: return (Vector2) {0, 0}; + } +} + #endif // GAME_TILESET_H diff --git a/game/systems/s_animation.c b/game/systems/s_animation.c index 75787c6..a28bb47 100644 --- a/game/systems/s_animation.c +++ b/game/systems/s_animation.c @@ -28,13 +28,13 @@ void updateAnimationState(ecs_iter_t *it) { } } void updateAnimation(ecs_iter_t *it) { - Game *game = ecs_singleton_get_mut(ECS, Game); Animation *anim = ecs_field(it, Animation, 1); TextureRegion *texture = ecs_field(it, TextureRegion, 2); float dt = GetFrameTime(); for (i32 i = 0; i < it->count; i++) { + ecs_entity_t entity = it->entities[i]; AnimationFrame frame = anim[i].frame; AnimationSequence seq = anim[i].sequence; @@ -46,7 +46,14 @@ void updateAnimation(ecs_iter_t *it) { anim[i].frame = entityGetAnimationFrame(anim[i].entityType, anim[i].animType, nextFrame); anim[i].elapsed = 0.0f; - texture[i].rec = bzTilesetGetTileRegion(anim[i].tileset, anim[i].frame.frame); + texture[i].rec = getTextureRect(anim[i].frame.frame); + if (ecs_has(ECS, entity, Owner)) { + Owner owner = *ecs_get(ECS, entity, Owner); + BzTileID base = anim[i].frame.frame; + Vector2 offset = getTileOffset(base, owner.player); + texture[i].rec.x += offset.x; + texture[i].rec.y += offset.y; + } } } diff --git a/game/systems/s_entity.c b/game/systems/s_entity.c index 8aba581..e63e4b3 100644 --- a/game/systems/s_entity.c +++ b/game/systems/s_entity.c @@ -45,10 +45,23 @@ void entityPathRemove(ecs_iter_t *it) { } } +void updateTextureOwnerTile(ecs_iter_t *it) { + TextureRegion *tex = ecs_field(it, TextureRegion, 1); + Owner *owner = ecs_field(it, Owner, 2); + + for (i32 i = 0; i < it->count; i++) { + Rectangle rec = tex[i].rec; + BzTileID base = ((int)rec.y / 16) * 256 + ((int) rec.x / 16); + Vector2 offset = getTileOffset(base, owner[i].player); + tex[i].rec.x += offset.x; + tex[i].rec.y += offset.y; + } +} + void entityUpdateSpatialID(ecs_iter_t *it) { Game *game = ecs_singleton_get_mut(ECS, Game); Position *position = ecs_field(it, Position, 1); - Position *size = ecs_field(it, Position, 2); + Position *size = ecs_field(it, Size, 2); //Velocity *velocity = ecs_field(it, Velocity, 3); SpatialGridID *id = ecs_field(it, SpatialGridID, 4); diff --git a/game/systems/s_input.c b/game/systems/s_input.c index 7ea17f1..1e2fdec 100644 --- a/game/systems/s_input.c +++ b/game/systems/s_input.c @@ -252,7 +252,7 @@ void updatePlayerInput() { getBuildingSize(input->building, &sizeX, &sizeY); bool canPlace = canPlaceBuilding(game, input->building, tileX, tileY); if (canPlace && isInputBtnDown(input, primaryBtn)) { - placeBuilding(game, input->building, tileX, tileY, (Owner) {-1}); + placeBuilding(game, input->building, tileX, tileY, (Owner) {PLAYER_BLUE}); } input->buildingCanPlace = canPlace; input->buildingPos = (Vec2i) {tileX, tileY}; diff --git a/game/systems/s_ui.c b/game/systems/s_ui.c index df3757d..4989e8a 100644 --- a/game/systems/s_ui.c +++ b/game/systems/s_ui.c @@ -58,7 +58,7 @@ void drawGameUI(Game *game, f32 dt) { BUILDING_MARKET, BUILDING_MILL, BUILDING_HOUSE_02, // placeholder for farm - BUILDING_BARRACS, + BUILDING_BARRACKS, BUILDING_ARCHERY_RANGE }; const char *buildingNames[] = { diff --git a/game/systems/systems.c b/game/systems/systems.c index e3fdce2..68e7f95 100644 --- a/game/systems/systems.c +++ b/game/systems/systems.c @@ -107,6 +107,8 @@ void setupSystems() { ECS_OBSERVER(ECS, entityPathRemove, EcsOnRemove, Path); + ECS_OBSERVER(ECS, updateTextureOwnerTile, EcsOnSet, TextureRegion, Owner); + ECS_SYSTEM(ECS, entityUpdateSpatialID, EcsOnUpdate, Position, Size, Velocity, SpatialGridID); ECS_SYSTEM(ECS, entityUpdateKinematic, EcsOnUpdate, Position, Velocity, Steering, Unit); diff --git a/game/systems/systems.h b/game/systems/systems.h index 689f683..cc6ce90 100644 --- a/game/systems/systems.h +++ b/game/systems/systems.h @@ -60,6 +60,8 @@ void updateEasingSystem(ecs_iter_t *it); */ void entityPathRemove(ecs_iter_t *it); +void updateTextureOwnerTile(ecs_iter_t *it); + /* * 0: Game (singleton) for entity map * 1: Position diff --git a/rawAssets/Puny-Characters/Archer-Green.png b/rawAssets/Puny-Characters/Archer-Green.png new file mode 100644 index 0000000..2190926 Binary files /dev/null and b/rawAssets/Puny-Characters/Archer-Green.png differ diff --git a/rawAssets/Puny-Characters/Archer-Purple.png b/rawAssets/Puny-Characters/Archer-Purple.png new file mode 100644 index 0000000..f8e0cb4 Binary files /dev/null and b/rawAssets/Puny-Characters/Archer-Purple.png differ diff --git a/rawAssets/Puny-Characters/Character-Base.png b/rawAssets/Puny-Characters/Character-Base.png new file mode 100644 index 0000000..04f780a Binary files /dev/null and b/rawAssets/Puny-Characters/Character-Base.png differ diff --git a/rawAssets/Puny-Characters/Environment/Dirt.png b/rawAssets/Puny-Characters/Environment/Dirt.png new file mode 100644 index 0000000..ea5fefb Binary files /dev/null and b/rawAssets/Puny-Characters/Environment/Dirt.png differ diff --git a/rawAssets/Puny-Characters/Environment/Grass1.png b/rawAssets/Puny-Characters/Environment/Grass1.png new file mode 100644 index 0000000..b592eb3 Binary files /dev/null and b/rawAssets/Puny-Characters/Environment/Grass1.png differ diff --git a/rawAssets/Puny-Characters/Environment/Grass2.png b/rawAssets/Puny-Characters/Environment/Grass2.png new file mode 100644 index 0000000..96b11da Binary files /dev/null and b/rawAssets/Puny-Characters/Environment/Grass2.png differ diff --git a/rawAssets/Puny-Characters/Environment/Tree.png b/rawAssets/Puny-Characters/Environment/Tree.png new file mode 100644 index 0000000..db07f93 Binary files /dev/null and b/rawAssets/Puny-Characters/Environment/Tree.png differ diff --git a/rawAssets/Puny-Characters/Human-Soldier-Cyan.png b/rawAssets/Puny-Characters/Human-Soldier-Cyan.png new file mode 100644 index 0000000..e7cff91 Binary files /dev/null and b/rawAssets/Puny-Characters/Human-Soldier-Cyan.png differ diff --git a/rawAssets/Puny-Characters/Human-Soldier-Red.png b/rawAssets/Puny-Characters/Human-Soldier-Red.png new file mode 100644 index 0000000..295666c Binary files /dev/null and b/rawAssets/Puny-Characters/Human-Soldier-Red.png differ diff --git a/rawAssets/Puny-Characters/Human-Worker-Cyan.png b/rawAssets/Puny-Characters/Human-Worker-Cyan.png new file mode 100644 index 0000000..f1c4620 Binary files /dev/null and b/rawAssets/Puny-Characters/Human-Worker-Cyan.png differ diff --git a/rawAssets/Puny-Characters/Human-Worker-Red.png b/rawAssets/Puny-Characters/Human-Worker-Red.png new file mode 100644 index 0000000..cfe5d23 Binary files /dev/null and b/rawAssets/Puny-Characters/Human-Worker-Red.png differ diff --git a/rawAssets/Puny-Characters/Mage-Cyan.png b/rawAssets/Puny-Characters/Mage-Cyan.png new file mode 100644 index 0000000..f276c0a Binary files /dev/null and b/rawAssets/Puny-Characters/Mage-Cyan.png differ diff --git a/rawAssets/Puny-Characters/Mage-Red.png b/rawAssets/Puny-Characters/Mage-Red.png new file mode 100644 index 0000000..96e9621 Binary files /dev/null and b/rawAssets/Puny-Characters/Mage-Red.png differ diff --git a/rawAssets/Puny-Characters/Orc-Grunt.png b/rawAssets/Puny-Characters/Orc-Grunt.png new file mode 100644 index 0000000..b8cc7bf Binary files /dev/null and b/rawAssets/Puny-Characters/Orc-Grunt.png differ diff --git a/rawAssets/Puny-Characters/Orc-Peon-Cyan.png b/rawAssets/Puny-Characters/Orc-Peon-Cyan.png new file mode 100644 index 0000000..98c9adf Binary files /dev/null and b/rawAssets/Puny-Characters/Orc-Peon-Cyan.png differ diff --git a/rawAssets/Puny-Characters/Orc-Peon-Red.png b/rawAssets/Puny-Characters/Orc-Peon-Red.png new file mode 100644 index 0000000..874ef26 Binary files /dev/null and b/rawAssets/Puny-Characters/Orc-Peon-Red.png differ diff --git a/rawAssets/Puny-Characters/Orc-Soldier-Cyan.png b/rawAssets/Puny-Characters/Orc-Soldier-Cyan.png new file mode 100644 index 0000000..d5cab52 Binary files /dev/null and b/rawAssets/Puny-Characters/Orc-Soldier-Cyan.png differ diff --git a/rawAssets/Puny-Characters/Orc-Soldier-Red.png b/rawAssets/Puny-Characters/Orc-Soldier-Red.png new file mode 100644 index 0000000..f8c4ecc Binary files /dev/null and b/rawAssets/Puny-Characters/Orc-Soldier-Red.png differ diff --git a/rawAssets/Puny-Characters/Slime.png b/rawAssets/Puny-Characters/Slime.png new file mode 100644 index 0000000..4c36ca1 Binary files /dev/null and b/rawAssets/Puny-Characters/Slime.png differ diff --git a/rawAssets/Puny-Characters/Soldier-Blue.png b/rawAssets/Puny-Characters/Soldier-Blue.png new file mode 100644 index 0000000..4dfd275 Binary files /dev/null and b/rawAssets/Puny-Characters/Soldier-Blue.png differ diff --git a/rawAssets/Puny-Characters/Soldier-Red.png b/rawAssets/Puny-Characters/Soldier-Red.png new file mode 100644 index 0000000..3e33b13 Binary files /dev/null and b/rawAssets/Puny-Characters/Soldier-Red.png differ diff --git a/rawAssets/Puny-Characters/Soldier-Yellow.png b/rawAssets/Puny-Characters/Soldier-Yellow.png new file mode 100644 index 0000000..c9b737c Binary files /dev/null and b/rawAssets/Puny-Characters/Soldier-Yellow.png differ diff --git a/rawAssets/Puny-Characters/Warrior-Blue.png b/rawAssets/Puny-Characters/Warrior-Blue.png new file mode 100644 index 0000000..03f4c87 Binary files /dev/null and b/rawAssets/Puny-Characters/Warrior-Blue.png differ diff --git a/rawAssets/Puny-Characters/Warrior-Red.png b/rawAssets/Puny-Characters/Warrior-Red.png new file mode 100644 index 0000000..a4b1db8 Binary files /dev/null and b/rawAssets/Puny-Characters/Warrior-Red.png differ diff --git a/rawAssets/game.png b/rawAssets/game.png index 29765c8..07aaed5 100644 Binary files a/rawAssets/game.png and b/rawAssets/game.png differ diff --git a/rawAssets/game.tsj b/rawAssets/game.tsj index aeb3905..a96a2e2 100644 --- a/rawAssets/game.tsj +++ b/rawAssets/game.tsj @@ -237,6 +237,11 @@ "name":"entity", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"worker" }, @@ -247,6 +252,11 @@ "name":"entity", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"worker" }, @@ -279,6 +289,11 @@ "name":"entity", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"worker" }, @@ -289,6 +304,11 @@ "name":"entity", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"worker" }, @@ -299,6 +319,11 @@ "name":"entity", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"worker" }, @@ -327,6 +352,11 @@ "name":"entity", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"worker" }, @@ -337,6 +367,11 @@ "name":"entity", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"worker" }, @@ -347,6 +382,11 @@ "name":"entity", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"worker" }, @@ -365,15 +405,11 @@ "tileid":34 }, { - "duration":150, - "tileid":36 - }, - { - "duration":130, + "duration":140, "tileid":35 }, { - "duration":1400, + "duration":140, "tileid":36 }], "id":35, @@ -387,6 +423,11 @@ "name":"entity", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"worker" }, @@ -397,9 +438,104 @@ "name":"entity", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"worker" }, + { + "id":37, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":38, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":39, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":40, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":41, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":42, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":43, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":44, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":45, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":46, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, { "id":256, "properties":[ @@ -850,6 +986,376 @@ "value":"" }] }, + { + "animation":[ + { + "duration":200, + "tileid":539 + }, + { + "duration":200, + "tileid":540 + }], + "id":539, + "properties":[ + { + "name":"animation", + "type":"string", + "value":"idle" + }, + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"soilder" + }, + { + "id":540, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"soilder" + }, + { + "animation":[ + { + "duration":180, + "tileid":541 + }, + { + "duration":180, + "tileid":542 + }, + { + "duration":180, + "tileid":543 + }, + { + "duration":180, + "tileid":542 + }], + "id":541, + "properties":[ + { + "name":"animation", + "type":"string", + "value":"walk" + }, + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"soilder" + }, + { + "id":542, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"soilder" + }, + { + "id":543, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"soilder" + }, + { + "animation":[ + { + "duration":140, + "tileid":544 + }, + { + "duration":140, + "tileid":545 + }, + { + "duration":140, + "tileid":546 + }], + "id":544, + "properties":[ + { + "name":"animation", + "type":"string", + "value":"hurt" + }, + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"soilder" + }, + { + "id":545, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"soilder" + }, + { + "id":546, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"soilder" + }, + { + "animation":[ + { + "duration":140, + "tileid":544 + }, + { + "duration":140, + "tileid":545 + }, + { + "duration":140, + "tileid":546 + }, + { + "duration":140, + "tileid":547 + }, + { + "duration":140, + "tileid":548 + }], + "id":547, + "properties":[ + { + "name":"animation", + "type":"string", + "value":"die" + }, + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"soilder" + }, + { + "id":548, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"soilder" + }, + { + "id":549, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":550, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":551, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":552, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":553, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":554, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":555, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":556, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":557, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":558, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, { "id":771, "properties":[ @@ -1121,6 +1627,376 @@ "value":"" }] }, + { + "animation":[ + { + "duration":200, + "tileid":1051 + }, + { + "duration":200, + "tileid":1052 + }], + "id":1051, + "properties":[ + { + "name":"animation", + "type":"string", + "value":"idle" + }, + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"warrior" + }, + { + "id":1052, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"warrior" + }, + { + "animation":[ + { + "duration":180, + "tileid":1053 + }, + { + "duration":180, + "tileid":1054 + }, + { + "duration":180, + "tileid":1055 + }, + { + "duration":180, + "tileid":1054 + }], + "id":1053, + "properties":[ + { + "name":"animation", + "type":"string", + "value":"walk" + }, + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"warrior" + }, + { + "id":1054, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"warrior" + }, + { + "id":1055, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"warrior" + }, + { + "animation":[ + { + "duration":140, + "tileid":1056 + }, + { + "duration":140, + "tileid":1057 + }, + { + "duration":140, + "tileid":1058 + }], + "id":1056, + "properties":[ + { + "name":"animation", + "type":"string", + "value":"hurt" + }, + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"warrior" + }, + { + "id":1057, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"warrior" + }, + { + "id":1058, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"warrior" + }, + { + "animation":[ + { + "duration":140, + "tileid":1056 + }, + { + "duration":140, + "tileid":1057 + }, + { + "duration":140, + "tileid":1058 + }, + { + "duration":140, + "tileid":1059 + }, + { + "duration":140, + "tileid":1060 + }], + "id":1059, + "properties":[ + { + "name":"animation", + "type":"string", + "value":"die" + }, + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"warrior" + }, + { + "id":1060, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"warrior" + }, + { + "id":1061, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":1062, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":1063, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":1064, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":1065, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":1066, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":1067, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":1068, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":1069, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":1070, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, { "id":1280, "properties":[ @@ -1464,6 +2340,376 @@ "value":"" }] }, + { + "animation":[ + { + "duration":200, + "tileid":1563 + }, + { + "duration":200, + "tileid":1564 + }], + "id":1563, + "properties":[ + { + "name":"animation", + "type":"string", + "value":"idle" + }, + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"mage" + }, + { + "id":1564, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"mage" + }, + { + "animation":[ + { + "duration":180, + "tileid":1565 + }, + { + "duration":180, + "tileid":1566 + }, + { + "duration":180, + "tileid":1567 + }, + { + "duration":180, + "tileid":1566 + }], + "id":1565, + "properties":[ + { + "name":"animation", + "type":"string", + "value":"walk" + }, + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"mage" + }, + { + "id":1566, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"mage" + }, + { + "id":1567, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"mage" + }, + { + "animation":[ + { + "duration":140, + "tileid":1568 + }, + { + "duration":140, + "tileid":1569 + }, + { + "duration":140, + "tileid":1570 + }], + "id":1568, + "properties":[ + { + "name":"animation", + "type":"string", + "value":"hurt" + }, + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"mage" + }, + { + "id":1569, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"mage" + }, + { + "id":1570, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"mage" + }, + { + "animation":[ + { + "duration":140, + "tileid":1568 + }, + { + "duration":140, + "tileid":1569 + }, + { + "duration":140, + "tileid":1570 + }, + { + "duration":140, + "tileid":1571 + }, + { + "duration":140, + "tileid":1572 + }], + "id":1571, + "properties":[ + { + "name":"animation", + "type":"string", + "value":"die" + }, + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"mage" + }, + { + "id":1572, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"mage" + }, + { + "id":1573, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":1574, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":1575, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":1576, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":1577, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":1578, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":1579, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":1580, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":1581, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":1582, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, { "animation":[ { @@ -3794,6 +5040,236 @@ "value":"" }] }, + { + "animation":[ + { + "duration":200, + "tileid":2075 + }, + { + "duration":200, + "tileid":2076 + }], + "id":2075, + "properties":[ + { + "name":"animation", + "type":"string", + "value":"idle" + }, + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"orc" + }, + { + "id":2076, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"orc" + }, + { + "animation":[ + { + "duration":180, + "tileid":2077 + }, + { + "duration":180, + "tileid":2078 + }, + { + "duration":180, + "tileid":2079 + }, + { + "duration":180, + "tileid":2078 + }], + "id":2077, + "properties":[ + { + "name":"animation", + "type":"string", + "value":"walk" + }, + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"orc" + }, + { + "id":2078, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"orc" + }, + { + "id":2079, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"orc" + }, + { + "animation":[ + { + "duration":140, + "tileid":2080 + }, + { + "duration":140, + "tileid":2081 + }, + { + "duration":140, + "tileid":2082 + }], + "id":2080, + "properties":[ + { + "name":"animation", + "type":"string", + "value":"hurt" + }, + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"orc" + }, + { + "id":2081, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"orc" + }, + { + "id":2082, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"orc" + }, + { + "animation":[ + { + "duration":140, + "tileid":2080 + }, + { + "duration":140, + "tileid":2081 + }, + { + "duration":140, + "tileid":2082 + }, + { + "duration":140, + "tileid":2083 + }, + { + "duration":140, + "tileid":2084 + }], + "id":2083, + "properties":[ + { + "name":"animation", + "type":"string", + "value":"die" + }, + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"orc" + }, + { + "id":2084, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"orc" + }, { "animation":[ { @@ -4754,6 +6230,236 @@ "value":"" }] }, + { + "animation":[ + { + "duration":200, + "tileid":2587 + }, + { + "duration":200, + "tileid":2588 + }], + "id":2587, + "properties":[ + { + "name":"animation", + "type":"string", + "value":"idle" + }, + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"goblin" + }, + { + "id":2588, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"goblin" + }, + { + "animation":[ + { + "duration":180, + "tileid":2589 + }, + { + "duration":180, + "tileid":2590 + }, + { + "duration":180, + "tileid":2591 + }, + { + "duration":180, + "tileid":2590 + }], + "id":2589, + "properties":[ + { + "name":"animation", + "type":"string", + "value":"walk" + }, + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"goblin" + }, + { + "id":2590, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"goblin" + }, + { + "id":2591, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"goblin" + }, + { + "animation":[ + { + "duration":140, + "tileid":2592 + }, + { + "duration":140, + "tileid":2593 + }, + { + "duration":140, + "tileid":2594 + }], + "id":2592, + "properties":[ + { + "name":"animation", + "type":"string", + "value":"hurt" + }, + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"goblin" + }, + { + "id":2593, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"goblin" + }, + { + "id":2594, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"goblin" + }, + { + "animation":[ + { + "duration":140, + "tileid":2592 + }, + { + "duration":140, + "tileid":2593 + }, + { + "duration":140, + "tileid":2594 + }, + { + "duration":140, + "tileid":2595 + }, + { + "duration":140, + "tileid":2596 + }], + "id":2595, + "properties":[ + { + "name":"animation", + "type":"string", + "value":"die" + }, + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"goblin" + }, + { + "id":2596, + "properties":[ + { + "name":"entity", + "type":"string", + "value":"" + }, + { + "name":"size_y", + "type":"int", + "value":2 + }], + "type":"goblin" + }, { "animation":[ { @@ -4837,6 +6543,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -4846,6 +6557,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -4855,6 +6571,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -4864,6 +6585,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -4873,6 +6599,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -4882,6 +6613,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -4891,6 +6627,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -4900,6 +6641,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -4909,6 +6655,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -4918,6 +6669,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -4927,6 +6683,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -4936,6 +6697,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -4945,6 +6711,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"keep" }, @@ -4955,9 +6726,113 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"keep" }, + { + "id":5656, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":5657, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":5658, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":5659, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":5661, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":5662, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":5663, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":5665, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":5666, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":5667, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":5668, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, { "id":5888, "objectgroup": @@ -5122,6 +6997,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5154,6 +7034,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5163,6 +7048,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5172,6 +7062,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5181,6 +7076,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5190,6 +7090,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5199,6 +7104,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5208,6 +7118,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5217,6 +7132,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5226,6 +7146,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5235,6 +7160,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5244,6 +7174,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5253,6 +7188,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5262,6 +7202,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"keep" }, @@ -5272,9 +7217,113 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"keep" }, + { + "id":5912, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":5913, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":5914, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":5915, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":5917, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":5918, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":5919, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":5921, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":5922, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":5923, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":5924, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, { "id":6144, "objectgroup": @@ -5439,8 +7488,13 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], - "type":"barracs" + "type":"barracks" }, { "id":6150, @@ -5472,8 +7526,13 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], - "type":"barracs" + "type":"barracks" }, { "id":6151, @@ -5482,6 +7541,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5491,6 +7555,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5500,6 +7569,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5509,6 +7583,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5518,6 +7597,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5527,6 +7611,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5536,6 +7625,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5545,6 +7639,65 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":6166, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":6167, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":6168, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":6169, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":6170, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":6171, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5687,6 +7840,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"archery_range" }, @@ -5720,6 +7878,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"archery_range" }, @@ -5730,6 +7893,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5739,6 +7907,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5748,6 +7921,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"house_01" }, @@ -5758,6 +7936,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"house_02" }, @@ -5768,6 +7951,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"house_03" }, @@ -5778,6 +7966,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5787,6 +7980,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5796,6 +7994,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5805,6 +8008,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5814,6 +8022,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5823,6 +8036,65 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":6422, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":6423, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":6424, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":6425, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":6426, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":6427, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5832,6 +8104,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5841,6 +8118,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5850,6 +8132,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5859,6 +8146,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"warehouse" }, @@ -5869,6 +8161,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5878,6 +8175,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5947,6 +8249,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5956,6 +8263,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5965,6 +8277,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5974,6 +8291,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -5983,6 +8305,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"house_04" }, @@ -5993,6 +8320,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"house_05" }, @@ -6003,6 +8335,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"house_06" }, @@ -6013,6 +8350,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -6022,6 +8364,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -6031,6 +8378,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -6040,6 +8392,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -6049,6 +8406,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -6058,6 +8420,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -6067,6 +8434,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"mill" }, @@ -6077,6 +8449,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -6086,6 +8463,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -6137,6 +8519,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"house_07" }, @@ -6147,6 +8534,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"house_08" }, @@ -6157,9 +8549,41 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"house_09" }, + { + "id":6926, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":6927, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":6928, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, { "id":6934, "properties":[ @@ -6167,6 +8591,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -6176,6 +8605,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -6185,6 +8619,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -6194,6 +8633,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -6203,6 +8647,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -6212,6 +8661,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -6221,6 +8675,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -6230,6 +8689,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -6239,6 +8703,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -6248,6 +8717,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"granary" }, @@ -6258,6 +8732,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -6267,6 +8746,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -6311,6 +8795,33 @@ "value":"" }] }, + { + "id":7173, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":7174, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":7175, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, { "id":7178, "properties":[ @@ -6318,6 +8829,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"house_10" }, @@ -6328,6 +8844,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"house_11" }, @@ -6338,9 +8859,41 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"house_12" }, + { + "id":7182, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":7183, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, + { + "id":7184, + "properties":[ + { + "name":"player", + "type":"int", + "value":0 + }] + }, { "id":7190, "properties":[ @@ -6348,6 +8901,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -6357,6 +8915,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }], "type":"market" }, @@ -6367,6 +8930,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -6376,6 +8944,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -6385,6 +8958,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -6394,6 +8972,11 @@ "name":"building", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":0 }] }, { @@ -6593,6 +9176,231 @@ }], "type":"dagger" }, + { + "id":7685, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7686, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7687, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7688, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7690, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7691, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7692, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7694, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7695, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7696, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7698, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7699, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7702, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7703, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7704, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7705, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7706, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7707, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7709, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7710, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7711, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7713, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7714, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7715, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7716, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, { "id":7936, "objectgroup": @@ -6771,6 +9579,11 @@ "name":"item", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":1 }] }, { @@ -6804,6 +9617,11 @@ "name":"item", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":1 }], "type":"javlin" }, @@ -6838,9 +9656,221 @@ "name":"item", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":1 }], "type":"arrow" }, + { + "id":7944, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7946, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7947, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7948, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7950, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7951, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7952, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7954, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7955, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7956, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7958, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7959, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7960, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7961, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7962, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7963, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7965, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7966, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7967, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7969, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7970, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7971, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":7972, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, { "id":8192, "objectgroup": @@ -7042,6 +10072,11 @@ "name":"item", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":1 }], "type":"sythe" }, @@ -7076,6 +10111,11 @@ "name":"item", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":1 }], "type":"mace" }, @@ -7110,6 +10150,11 @@ "name":"item", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":1 }], "type":"battlehammer" }, @@ -7144,6 +10189,11 @@ "name":"item", "type":"string", "value":"" + }, + { + "name":"player", + "type":"int", + "value":1 }], "type":"spear" }, @@ -7180,6 +10230,780 @@ "value":"" }], "type":"trident" + }, + { + "id":8206, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8207, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8208, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8210, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8211, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8212, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8214, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8215, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8216, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8217, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8218, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8219, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8453, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8454, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8455, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8456, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8458, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8459, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8460, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8462, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8463, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8464, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8466, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8467, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8468, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8470, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8471, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8472, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8473, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8474, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8475, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8477, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8478, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8479, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8481, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8482, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8483, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8709, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8710, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8711, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8712, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8714, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8715, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8716, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8722, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8723, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8724, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8733, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8734, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8735, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8737, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8738, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8739, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8970, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8971, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8972, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8974, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8975, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8976, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8982, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8983, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8984, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8985, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8986, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8987, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8989, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8990, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8991, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8993, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8994, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":8995, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":9221, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":9222, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":9223, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":9226, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":9227, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":9228, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":9230, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":9231, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":9232, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":9238, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":9239, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":9240, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":9241, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":9242, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] + }, + { + "id":9243, + "properties":[ + { + "name":"player", + "type":"int", + "value":1 + }] }], "tilewidth":16, "type":"tileset", diff --git a/rawAssets/game.tsx b/rawAssets/game.tsx index 3cec650..a32c348 100644 --- a/rawAssets/game.tsx +++ b/rawAssets/game.tsx @@ -123,6 +123,7 @@ + @@ -132,12 +133,14 @@ + + @@ -149,17 +152,20 @@ + + + @@ -170,30 +176,83 @@ + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -446,6 +505,152 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -577,6 +782,152 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -748,6 +1099,152 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1432,6 +1929,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1717,6 +2300,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1749,71 +2418,140 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1859,6 +2597,7 @@ + @@ -1867,6 +2606,7 @@ + @@ -1875,66 +2615,134 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1977,17 +2785,19 @@ - + + - + + @@ -1996,41 +2806,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2071,6 +2919,7 @@ + @@ -2079,6 +2928,7 @@ + @@ -2087,86 +2937,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2197,81 +3094,97 @@ + + + + + + + + + + + + + + + + @@ -2292,76 +3205,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2379,49 +3322,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2490,6 +3472,131 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2546,11 +3653,13 @@ + + @@ -2561,6 +3670,7 @@ + @@ -2568,6 +3678,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2621,6 +3846,7 @@ + @@ -2631,6 +3857,7 @@ + @@ -2641,6 +3868,7 @@ + @@ -2651,6 +3879,7 @@ + @@ -2668,6 +3897,436 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/rawAssets/game_001.kra b/rawAssets/game_001.kra index 2b59968..54ffa7c 100644 Binary files a/rawAssets/game_001.kra and b/rawAssets/game_001.kra differ diff --git a/rawAssets/test.tsx b/rawAssets/test.tsx new file mode 100644 index 0000000..5900d3e --- /dev/null +++ b/rawAssets/test.tsx @@ -0,0 +1,4 @@ + + + + diff --git a/scripts/extract_common.py b/scripts/extract_common.py index c0c18bb..0c05a28 100644 --- a/scripts/extract_common.py +++ b/scripts/extract_common.py @@ -442,3 +442,143 @@ class EnumWriter: writer.output("return (AnimationFrame) {-1, -1.0f};\n") writer.block_end() writer.empty_line() + + def filter_by_props(self, tiles, prop_names): + filtered = [] + for tile in tiles: + if 'properties' not in tile: + continue + props = tile['properties'] + names = prop_names[:] + for prop in props: + if prop['name'] in names: + names.remove(prop['name']) + if len(names) == 0: + filtered.append(tile) + return filtered + + def get_property(self, tile, prop_name): + if 'properties' not in tile: + return None + props = tile['properties'] + for prop in props: + if prop['name'] == prop_name: + return prop + return None + + + def output_get_text_rect(self, func_name, width, tile_width, tile_height): + writer = self.writer + writer.output( + f"static Rectangle {func_name}(BzTileID tile) ") + writer.block_start() + + writer.output(f"Rectangle base = {{ (tile % {width}) * {tile_width}, " + f"(tile / {width}) * {tile_height}, {tile_width}, {tile_height} }};\n") + + sized_tiles = {} + for tile in self.all_tiles: + if 'properties' not in tile: + continue + props = tile['properties'] + size_x = 1 + size_y = 1 + for prop in props: + if prop['name'] == 'size_x': + size_x = int(prop['value']) + if prop['name'] == 'size_y': + size_y = int(prop['value']) + + if size_x == 1 and size_y == 1: + continue + sized_tiles[tile['id']] = (size_x, size_y) + sized_map = defaultdict(list) + for k, v in sized_tiles.items(): + sized_map[v].append(k) + + if sized_map: + writer.output("switch (tile) ") + writer.block_start() + for k, v in sized_map.items(): + for id in v: + writer.output(f"case {id}:\n") + writer.indent() + x, y = k + writer.output(f"base.width *= {x};\n") + writer.output(f"base.height *= {y};\n") + writer.output("break;\n") + writer.unindent() + writer.output("default: break;\n") + writer.block_end() + + writer.output("return base;\n") + + writer.block_end() + writer.empty_line() + + def output_base_index(self, func_name, field): + writer = self.writer + tiles = self.filter_by_props(self.all_tiles, [field]) + field_map = defaultdict(list) + for tile in tiles: + index = self.get_property(tile, field)['value'] + field_map[index].append(tile['id']) + sizes = list(map(lambda x: len(x), field_map.values())) + assert len(set(sizes)) == 1 + indices = list(zip(*field_map.values())) + writer.output( + f"static BzTileID {func_name}(BzTileID tile) ") + writer.block_start() + + writer.output("switch (tile) ") + writer.block_start() + + for index in indices: + for idx in index: + writer.output(f"case {idx}:\n") + writer.indent() + writer.output(f"return {index[0]};\n") + writer.unindent() + writer.output("default: return tile;\n") + writer.block_end() + + writer.block_end() + writer.empty_line() + + def output_index_tile_offset(self, func_name, field, width, tile_width, tile_height): + writer = self.writer + tiles = self.filter_by_props(self.all_tiles, [field]) + field_map = defaultdict(list) + for tile in tiles: + index = self.get_property(tile, field)['value'] + field_map[index].append(tile['id']) + sizes = list(map(lambda x: len(x), field_map.values())) + assert len(set(sizes)) == 1 + indices = list(zip(*field_map.values())) + writer.output( + f"static Vector2 {func_name}(BzTileID tile, i32 idx) ") + writer.block_start() + size = sizes[0] + writer.output(f"if (idx < 0 || idx >= {size}) return (Vector2) {{0, 0}};\n") + + writer.output("switch (tile) ") + writer.block_start() + + def calc_pos(tile): + return (tile % width) * tile_width, (tile // width) * tile_height + + for index in indices: + base_idx = index[0] + base_pos = calc_pos(base_idx) + positions = [(0, 0)] + for idx in index[1:]: + pos = calc_pos(idx) + positions.append((pos[0] - base_pos[0], pos[1] - base_pos[1])) + str_positions = list(map(lambda x: f"{{{x[0]}, {x[1]}}}", positions)) + ret = f"((Vector2 []) {{{', '.join(str_positions)}}})[idx]" + writer.output(f"case {base_idx}: return {ret};\n") + writer.output("default: return (Vector2) {0, 0};\n") + writer.block_end() + + writer.block_end() + writer.empty_line() diff --git a/scripts/extract_tileset.py b/scripts/extract_tileset.py index 428f198..e452288 100644 --- a/scripts/extract_tileset.py +++ b/scripts/extract_tileset.py @@ -34,12 +34,12 @@ def remove_properties(data, dst_file): content = open("../rawAssets/game.tsj").read() -tiles = json.loads(content)["tiles"] +all_tiles = json.loads(content)["tiles"] remove_properties(content, "../assets/game.tsj") -terrain_tiles = extract_by_property(tiles, "terrain") -building_tiles = extract_by_property(tiles, "building") -entity_tiles = extract_by_property(tiles, "entity") -item_tiles = extract_by_property(tiles, "item") +terrain_tiles = extract_by_property(all_tiles, "terrain") +building_tiles = extract_by_property(all_tiles, "building") +entity_tiles = extract_by_property(all_tiles, "entity") +item_tiles = extract_by_property(all_tiles, "item") writer.header_guard_start() script_name = os.path.basename(__file__) @@ -88,6 +88,12 @@ item_writer.output_enum_to_tile("getItemTile") #item_writer.output_has_handle("itemHasHandle") #item_writer.output_handle("itemGetHandle") +tile_writer = EnumWriter(writer, all_tiles, "", "") + +tile_writer.output_get_text_rect("getTextureRect", 256, 16, 16) +tile_writer.output_base_index("getTileBase", "player") +tile_writer.output_index_tile_offset("getTileOffset", "player", 256, 16, 16) + writer.header_guard_stop()