diff --git a/README.md b/README.md index 85bd03242..e1c2a07c7 100644 --- a/README.md +++ b/README.md @@ -20,26 +20,82 @@ Sky Strife's purpose is to explore the limits of what is possible in an onchain Sky Strife is broken into several sub-packages. Here are the packages that are essential to run the game: -1. `packages/client`: Used to render and play the game in a browser. -2. `packages/contracts`: Contains all of the MUD contracts that make up a single Sky Strife world. -3. `packages/art`: Responsible for storing and exporting assets for Sky Strife. This also includes tooling for the Tiled map editor (map making tilesets, Tiled map files, and a plugin to export maps that are compatible with our template system). -4. `packages/ecs-browser`: Sidebar ECS browser for debugging component state and manually running queries. Used to be part of MUD but was moved back into Sky Strife as MUD development diverged from it. -5. `packages/phaserx`: A wrapper for Phaser 3 that was created at Lattice. Mainly used for strong types and easier setup. Vendored from the official MUD repo as we've made some changes to it. +- `packages/client`: Used to render and play the game in a browser. +- `packages/contracts`: Contains all of the MUD contracts that make up a single Sky Strife world. +- `packages/art`: Responsible for storing and exporting assets for Sky Strife. This also includes tooling for the Tiled map editor (map making tilesets, Tiled map files, and a plugin to export maps that are compatible with our template system). +- `packages/ecs-browser`: Sidebar ECS browser for debugging component state and manually running queries. Used to be part of MUD but was moved back into Sky Strife as MUD development diverged from it. +- `packages/phaserx`: A wrapper for Phaser 3 that was created at Lattice. Mainly used for strong types and easier setup. Vendored from the official MUD repo as we've made some changes to it. -# Initial Dev Setup +# Dev Setup ## Prerequisites -`node` - Version 18.16.1 or greater -`foundry` - Used to run your local node, run tests, and deploy contracts. [Install](https://github.com/foundry-rs/foundry#installation) +- `node` - Version 18.16.1 or greater +- `foundry` - Used to run your local node, run tests, and deploy contracts. [Install](https://github.com/foundry-rs/foundry#installation) -> There is currently an issue with the latest version of Foundry which causes Sky Strife deployment to fail. Please revert back to an old version using this command `foundryup -C 375df5834d0fea8350a4aae9ca34a0dab55d74ac` + > There is currently an issue with the latest version of Foundry which causes Sky Strife deployment to fail. Please revert back to an old version using this command `foundryup -C 375df5834d0fea8350a4aae9ca34a0dab55d74ac` ## Steps -1. Install latest forge using `foundryup` (see [foundry docs](https://book.getfoundry.sh/getting-started/installation)) -2. Run `pnpm` in the base directory to install all dependencies and compile contracts. -3. Run `pnpm dev` to start your local node, deploy contracts, and start the client. You can view the client at `http://localhost:1337/` if you have not changed the default config. +1. Install the latest forge using `foundryup` (see [Foundry docs](https://book.getfoundry.sh/getting-started/installation)) and then revert to an older version that is known to work. + + Note that this is a slow process because it is necessary to compile Foundry from the source code. + + ```sh copy + foundryup -C 375df5834d0fea8350a4aae9ca34a0dab55d74ac + ``` + + If necessary, you can update to a new version of [Rust](https://doc.rust-lang.org/book/ch01-01-installation.html). + + ```sh copy + rustup update + ``` + +2. Clone the repository, install the dependencies, and compile the contract. + + ```sh copy + git clone https://github.com/latticexyz/skystrife-public.git + cd skystrife + pnpm install + cd packages/contracts + pnpm build + cd ../.. + ``` + +3. Start your local node, deploy contracts, and start the client. + + ```sh copy + pnpm dev + ``` + +4. Browse to [`http://localhost:1337`](http://localhost:1337) to view the client. + + If you get an error saying `The connected Sky Strife world is not valid.`, wait about a minute and reload. + It takes some time for the contracts to build and deploy. + + You should automatically be connected as the admin of the world. + +## Test Matches + +If you are okay with playing alone with no win condition, the standard dev setup will spawn test matches for you on a debugging map. + +If you want to play against an opponent (yourself), these are the steps: + +1. Browse to [`http://localhost:1337`](http://localhost:1337) to view the client as an administrator. +1. Press **PLAY** and then **SKIP**. +1. Click **+ CREATE MATCH**. +1. Enter a match name, select a map (preferable for 2 players, easier to test), and then scroll down and click **CREATE AND JOIN MATCH**. +1. Select a hero and click **CREATE AND JOIN MATCH**. +1. Click **PLAY**. + +To join as another player: + +1. Browse to [`http://localhost:1337/?asPlayer`](http://localhost:1337/?asPlayer) as a normal user. +1. Click **PLAY** and then **SKIP**. +1. Click **OPEN** in the row for your match, and then join normally. + +You can join a match as the administrator, a regular user, and another regular user in an incognito window. +If you need to be more, you can use different [browser profiles](https://support.google.com/chrome/answer/2364824?hl=en&co=GENIE.Platform%3DDesktop) or different browsers. # Using Local MUD diff --git a/package.json b/package.json index 0a3b76b46..6cca5819b 100644 --- a/package.json +++ b/package.json @@ -21,9 +21,10 @@ "mud:up": "pnpm recursive exec mud set-version -v canary && pnpm install", "mud:link": "pnpm recursive exec mud set-version -l ../../../mud && pnpm install", "---": "---", - "dev": "pnpm --filter ecs-browser run build && pnpm --filter phaserx run build && run-pty % % pnpm run dev:client % pnpm run dev:contracts % pnpm run dev:upload-map % pnpm run dev:copy-maps % pnpm run dev:create-debug-matches % pnpm run dev:plugins", + "dev": "pnpm --filter ecs-browser run build && pnpm --filter phaserx run build && run-pty % pnpm run dev:client % pnpm run dev:node % pnpm run dev:contracts % pnpm run dev:upload-map % pnpm run dev:copy-maps % pnpm run dev:create-debug-matches % pnpm run dev:plugins", "dev:client": "pnpm --filter client run dev", "dev:contracts": "DEBUG=mud:* pnpm --filter contracts run dev", + "dev:node": "DEBUG=mud:* pnpm --filter contracts run devnode", "dev:upload-map": "wait-port localhost:8545 && sleep 70 && pnpm --filter headless-client run upload-map:dev", "dev:copy-maps": "wait-port localhost:8545 && sleep 80 && pnpm --filter headless-client run copy-maps:dev", "dev:create-debug-matches": "wait-port localhost:8545 && pnpm --filter headless-client run create-debug-matches:dev", diff --git a/packages/art/sprites/combat/sword-confirm.png b/packages/art/sprites/combat/sword-confirm.png index 1db249652..a35c36545 100644 Binary files a/packages/art/sprites/combat/sword-confirm.png and b/packages/art/sprites/combat/sword-confirm.png differ diff --git a/packages/art/sprites/combat/sword-down.png b/packages/art/sprites/combat/sword-down.png index 15be1eedf..cc027f951 100644 Binary files a/packages/art/sprites/combat/sword-down.png and b/packages/art/sprites/combat/sword-down.png differ diff --git a/packages/art/sprites/combat/sword-up.png b/packages/art/sprites/combat/sword-up.png index 8623874e8..200e8e607 100644 Binary files a/packages/art/sprites/combat/sword-up.png and b/packages/art/sprites/combat/sword-up.png differ diff --git a/packages/art/sprites/combat/sword.png b/packages/art/sprites/combat/sword.png index d21153488..6df71d6cc 100644 Binary files a/packages/art/sprites/combat/sword.png and b/packages/art/sprites/combat/sword.png differ diff --git a/packages/art/sprites/greyscale/units/dragon/attack/0.png b/packages/art/sprites/greyscale/units/dragoon/attack/0.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/attack/0.png rename to packages/art/sprites/greyscale/units/dragoon/attack/0.png diff --git a/packages/art/sprites/greyscale/units/dragon/attack/1.png b/packages/art/sprites/greyscale/units/dragoon/attack/1.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/attack/1.png rename to packages/art/sprites/greyscale/units/dragoon/attack/1.png diff --git a/packages/art/sprites/greyscale/units/dragon/attack/2.png b/packages/art/sprites/greyscale/units/dragoon/attack/2.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/attack/2.png rename to packages/art/sprites/greyscale/units/dragoon/attack/2.png diff --git a/packages/art/sprites/greyscale/units/dragon/attack/3.png b/packages/art/sprites/greyscale/units/dragoon/attack/3.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/attack/3.png rename to packages/art/sprites/greyscale/units/dragoon/attack/3.png diff --git a/packages/art/sprites/greyscale/units/dragon/attack/4.png b/packages/art/sprites/greyscale/units/dragoon/attack/4.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/attack/4.png rename to packages/art/sprites/greyscale/units/dragoon/attack/4.png diff --git a/packages/art/sprites/greyscale/units/dragon/attack/5.png b/packages/art/sprites/greyscale/units/dragoon/attack/5.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/attack/5.png rename to packages/art/sprites/greyscale/units/dragoon/attack/5.png diff --git a/packages/art/sprites/greyscale/units/dragon/death/0.png b/packages/art/sprites/greyscale/units/dragoon/death/0.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/death/0.png rename to packages/art/sprites/greyscale/units/dragoon/death/0.png diff --git a/packages/art/sprites/greyscale/units/dragon/death/1.png b/packages/art/sprites/greyscale/units/dragoon/death/1.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/death/1.png rename to packages/art/sprites/greyscale/units/dragoon/death/1.png diff --git a/packages/art/sprites/greyscale/units/dragon/death/10.png b/packages/art/sprites/greyscale/units/dragoon/death/10.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/death/10.png rename to packages/art/sprites/greyscale/units/dragoon/death/10.png diff --git a/packages/art/sprites/greyscale/units/dragon/death/11.png b/packages/art/sprites/greyscale/units/dragoon/death/11.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/death/11.png rename to packages/art/sprites/greyscale/units/dragoon/death/11.png diff --git a/packages/art/sprites/greyscale/units/dragon/death/2.png b/packages/art/sprites/greyscale/units/dragoon/death/2.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/death/2.png rename to packages/art/sprites/greyscale/units/dragoon/death/2.png diff --git a/packages/art/sprites/greyscale/units/dragon/death/3.png b/packages/art/sprites/greyscale/units/dragoon/death/3.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/death/3.png rename to packages/art/sprites/greyscale/units/dragoon/death/3.png diff --git a/packages/art/sprites/greyscale/units/dragon/death/4.png b/packages/art/sprites/greyscale/units/dragoon/death/4.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/death/4.png rename to packages/art/sprites/greyscale/units/dragoon/death/4.png diff --git a/packages/art/sprites/greyscale/units/dragon/death/5.png b/packages/art/sprites/greyscale/units/dragoon/death/5.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/death/5.png rename to packages/art/sprites/greyscale/units/dragoon/death/5.png diff --git a/packages/art/sprites/greyscale/units/dragon/death/6.png b/packages/art/sprites/greyscale/units/dragoon/death/6.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/death/6.png rename to packages/art/sprites/greyscale/units/dragoon/death/6.png diff --git a/packages/art/sprites/greyscale/units/dragon/death/7.png b/packages/art/sprites/greyscale/units/dragoon/death/7.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/death/7.png rename to packages/art/sprites/greyscale/units/dragoon/death/7.png diff --git a/packages/art/sprites/greyscale/units/dragon/death/8.png b/packages/art/sprites/greyscale/units/dragoon/death/8.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/death/8.png rename to packages/art/sprites/greyscale/units/dragoon/death/8.png diff --git a/packages/art/sprites/greyscale/units/dragon/death/9.png b/packages/art/sprites/greyscale/units/dragoon/death/9.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/death/9.png rename to packages/art/sprites/greyscale/units/dragoon/death/9.png diff --git a/packages/art/sprites/greyscale/units/dragon/idle/0.png b/packages/art/sprites/greyscale/units/dragoon/idle/0.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/idle/0.png rename to packages/art/sprites/greyscale/units/dragoon/idle/0.png diff --git a/packages/art/sprites/greyscale/units/dragon/idle/1.png b/packages/art/sprites/greyscale/units/dragoon/idle/1.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/idle/1.png rename to packages/art/sprites/greyscale/units/dragoon/idle/1.png diff --git a/packages/art/sprites/greyscale/units/dragon/idle/2.png b/packages/art/sprites/greyscale/units/dragoon/idle/2.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/idle/2.png rename to packages/art/sprites/greyscale/units/dragoon/idle/2.png diff --git a/packages/art/sprites/greyscale/units/dragon/idle/3.png b/packages/art/sprites/greyscale/units/dragoon/idle/3.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/idle/3.png rename to packages/art/sprites/greyscale/units/dragoon/idle/3.png diff --git a/packages/art/sprites/greyscale/units/dragon/walk/down/0.png b/packages/art/sprites/greyscale/units/dragoon/walk/down/0.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/walk/down/0.png rename to packages/art/sprites/greyscale/units/dragoon/walk/down/0.png diff --git a/packages/art/sprites/greyscale/units/dragon/walk/down/1.png b/packages/art/sprites/greyscale/units/dragoon/walk/down/1.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/walk/down/1.png rename to packages/art/sprites/greyscale/units/dragoon/walk/down/1.png diff --git a/packages/art/sprites/greyscale/units/dragon/walk/down/2.png b/packages/art/sprites/greyscale/units/dragoon/walk/down/2.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/walk/down/2.png rename to packages/art/sprites/greyscale/units/dragoon/walk/down/2.png diff --git a/packages/art/sprites/greyscale/units/dragon/walk/down/3.png b/packages/art/sprites/greyscale/units/dragoon/walk/down/3.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/walk/down/3.png rename to packages/art/sprites/greyscale/units/dragoon/walk/down/3.png diff --git a/packages/art/sprites/greyscale/units/dragon/walk/left/0.png b/packages/art/sprites/greyscale/units/dragoon/walk/left/0.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/walk/left/0.png rename to packages/art/sprites/greyscale/units/dragoon/walk/left/0.png diff --git a/packages/art/sprites/greyscale/units/dragon/walk/left/1.png b/packages/art/sprites/greyscale/units/dragoon/walk/left/1.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/walk/left/1.png rename to packages/art/sprites/greyscale/units/dragoon/walk/left/1.png diff --git a/packages/art/sprites/greyscale/units/dragon/walk/left/2.png b/packages/art/sprites/greyscale/units/dragoon/walk/left/2.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/walk/left/2.png rename to packages/art/sprites/greyscale/units/dragoon/walk/left/2.png diff --git a/packages/art/sprites/greyscale/units/dragon/walk/left/3.png b/packages/art/sprites/greyscale/units/dragoon/walk/left/3.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/walk/left/3.png rename to packages/art/sprites/greyscale/units/dragoon/walk/left/3.png diff --git a/packages/art/sprites/greyscale/units/dragon/walk/right/0.png b/packages/art/sprites/greyscale/units/dragoon/walk/right/0.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/walk/right/0.png rename to packages/art/sprites/greyscale/units/dragoon/walk/right/0.png diff --git a/packages/art/sprites/greyscale/units/dragon/walk/right/1.png b/packages/art/sprites/greyscale/units/dragoon/walk/right/1.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/walk/right/1.png rename to packages/art/sprites/greyscale/units/dragoon/walk/right/1.png diff --git a/packages/art/sprites/greyscale/units/dragon/walk/right/2.png b/packages/art/sprites/greyscale/units/dragoon/walk/right/2.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/walk/right/2.png rename to packages/art/sprites/greyscale/units/dragoon/walk/right/2.png diff --git a/packages/art/sprites/greyscale/units/dragon/walk/right/3.png b/packages/art/sprites/greyscale/units/dragoon/walk/right/3.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/walk/right/3.png rename to packages/art/sprites/greyscale/units/dragoon/walk/right/3.png diff --git a/packages/art/sprites/greyscale/units/dragon/walk/up/0.png b/packages/art/sprites/greyscale/units/dragoon/walk/up/0.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/walk/up/0.png rename to packages/art/sprites/greyscale/units/dragoon/walk/up/0.png diff --git a/packages/art/sprites/greyscale/units/dragon/walk/up/1.png b/packages/art/sprites/greyscale/units/dragoon/walk/up/1.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/walk/up/1.png rename to packages/art/sprites/greyscale/units/dragoon/walk/up/1.png diff --git a/packages/art/sprites/greyscale/units/dragon/walk/up/2.png b/packages/art/sprites/greyscale/units/dragoon/walk/up/2.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/walk/up/2.png rename to packages/art/sprites/greyscale/units/dragoon/walk/up/2.png diff --git a/packages/art/sprites/greyscale/units/dragon/walk/up/3.png b/packages/art/sprites/greyscale/units/dragoon/walk/up/3.png similarity index 100% rename from packages/art/sprites/greyscale/units/dragon/walk/up/3.png rename to packages/art/sprites/greyscale/units/dragoon/walk/up/3.png diff --git a/packages/art/sprites/greyscale/units/golem/attack/0.png b/packages/art/sprites/greyscale/units/halberdier/attack/0.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/attack/0.png rename to packages/art/sprites/greyscale/units/halberdier/attack/0.png diff --git a/packages/art/sprites/greyscale/units/golem/attack/1.png b/packages/art/sprites/greyscale/units/halberdier/attack/1.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/attack/1.png rename to packages/art/sprites/greyscale/units/halberdier/attack/1.png diff --git a/packages/art/sprites/greyscale/units/golem/attack/2.png b/packages/art/sprites/greyscale/units/halberdier/attack/2.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/attack/2.png rename to packages/art/sprites/greyscale/units/halberdier/attack/2.png diff --git a/packages/art/sprites/greyscale/units/golem/attack/3.png b/packages/art/sprites/greyscale/units/halberdier/attack/3.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/attack/3.png rename to packages/art/sprites/greyscale/units/halberdier/attack/3.png diff --git a/packages/art/sprites/greyscale/units/golem/attack/4.png b/packages/art/sprites/greyscale/units/halberdier/attack/4.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/attack/4.png rename to packages/art/sprites/greyscale/units/halberdier/attack/4.png diff --git a/packages/art/sprites/greyscale/units/golem/attack/5.png b/packages/art/sprites/greyscale/units/halberdier/attack/5.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/attack/5.png rename to packages/art/sprites/greyscale/units/halberdier/attack/5.png diff --git a/packages/art/sprites/greyscale/units/golem/death/0.png b/packages/art/sprites/greyscale/units/halberdier/death/0.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/death/0.png rename to packages/art/sprites/greyscale/units/halberdier/death/0.png diff --git a/packages/art/sprites/greyscale/units/golem/death/1.png b/packages/art/sprites/greyscale/units/halberdier/death/1.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/death/1.png rename to packages/art/sprites/greyscale/units/halberdier/death/1.png diff --git a/packages/art/sprites/greyscale/units/golem/death/10.png b/packages/art/sprites/greyscale/units/halberdier/death/10.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/death/10.png rename to packages/art/sprites/greyscale/units/halberdier/death/10.png diff --git a/packages/art/sprites/greyscale/units/golem/death/11.png b/packages/art/sprites/greyscale/units/halberdier/death/11.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/death/11.png rename to packages/art/sprites/greyscale/units/halberdier/death/11.png diff --git a/packages/art/sprites/greyscale/units/golem/death/2.png b/packages/art/sprites/greyscale/units/halberdier/death/2.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/death/2.png rename to packages/art/sprites/greyscale/units/halberdier/death/2.png diff --git a/packages/art/sprites/greyscale/units/golem/death/3.png b/packages/art/sprites/greyscale/units/halberdier/death/3.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/death/3.png rename to packages/art/sprites/greyscale/units/halberdier/death/3.png diff --git a/packages/art/sprites/greyscale/units/golem/death/4.png b/packages/art/sprites/greyscale/units/halberdier/death/4.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/death/4.png rename to packages/art/sprites/greyscale/units/halberdier/death/4.png diff --git a/packages/art/sprites/greyscale/units/golem/death/5.png b/packages/art/sprites/greyscale/units/halberdier/death/5.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/death/5.png rename to packages/art/sprites/greyscale/units/halberdier/death/5.png diff --git a/packages/art/sprites/greyscale/units/golem/death/6.png b/packages/art/sprites/greyscale/units/halberdier/death/6.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/death/6.png rename to packages/art/sprites/greyscale/units/halberdier/death/6.png diff --git a/packages/art/sprites/greyscale/units/golem/death/7.png b/packages/art/sprites/greyscale/units/halberdier/death/7.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/death/7.png rename to packages/art/sprites/greyscale/units/halberdier/death/7.png diff --git a/packages/art/sprites/greyscale/units/golem/death/8.png b/packages/art/sprites/greyscale/units/halberdier/death/8.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/death/8.png rename to packages/art/sprites/greyscale/units/halberdier/death/8.png diff --git a/packages/art/sprites/greyscale/units/golem/death/9.png b/packages/art/sprites/greyscale/units/halberdier/death/9.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/death/9.png rename to packages/art/sprites/greyscale/units/halberdier/death/9.png diff --git a/packages/art/sprites/greyscale/units/golem/idle/0.png b/packages/art/sprites/greyscale/units/halberdier/idle/0.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/idle/0.png rename to packages/art/sprites/greyscale/units/halberdier/idle/0.png diff --git a/packages/art/sprites/greyscale/units/golem/idle/1.png b/packages/art/sprites/greyscale/units/halberdier/idle/1.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/idle/1.png rename to packages/art/sprites/greyscale/units/halberdier/idle/1.png diff --git a/packages/art/sprites/greyscale/units/golem/idle/2.png b/packages/art/sprites/greyscale/units/halberdier/idle/2.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/idle/2.png rename to packages/art/sprites/greyscale/units/halberdier/idle/2.png diff --git a/packages/art/sprites/greyscale/units/golem/idle/3.png b/packages/art/sprites/greyscale/units/halberdier/idle/3.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/idle/3.png rename to packages/art/sprites/greyscale/units/halberdier/idle/3.png diff --git a/packages/art/sprites/greyscale/units/golem/walk/down/0.png b/packages/art/sprites/greyscale/units/halberdier/walk/down/0.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/walk/down/0.png rename to packages/art/sprites/greyscale/units/halberdier/walk/down/0.png diff --git a/packages/art/sprites/greyscale/units/golem/walk/down/1.png b/packages/art/sprites/greyscale/units/halberdier/walk/down/1.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/walk/down/1.png rename to packages/art/sprites/greyscale/units/halberdier/walk/down/1.png diff --git a/packages/art/sprites/greyscale/units/golem/walk/down/2.png b/packages/art/sprites/greyscale/units/halberdier/walk/down/2.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/walk/down/2.png rename to packages/art/sprites/greyscale/units/halberdier/walk/down/2.png diff --git a/packages/art/sprites/greyscale/units/golem/walk/down/3.png b/packages/art/sprites/greyscale/units/halberdier/walk/down/3.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/walk/down/3.png rename to packages/art/sprites/greyscale/units/halberdier/walk/down/3.png diff --git a/packages/art/sprites/greyscale/units/golem/walk/left/0.png b/packages/art/sprites/greyscale/units/halberdier/walk/left/0.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/walk/left/0.png rename to packages/art/sprites/greyscale/units/halberdier/walk/left/0.png diff --git a/packages/art/sprites/greyscale/units/golem/walk/left/1.png b/packages/art/sprites/greyscale/units/halberdier/walk/left/1.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/walk/left/1.png rename to packages/art/sprites/greyscale/units/halberdier/walk/left/1.png diff --git a/packages/art/sprites/greyscale/units/golem/walk/left/2.png b/packages/art/sprites/greyscale/units/halberdier/walk/left/2.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/walk/left/2.png rename to packages/art/sprites/greyscale/units/halberdier/walk/left/2.png diff --git a/packages/art/sprites/greyscale/units/golem/walk/left/3.png b/packages/art/sprites/greyscale/units/halberdier/walk/left/3.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/walk/left/3.png rename to packages/art/sprites/greyscale/units/halberdier/walk/left/3.png diff --git a/packages/art/sprites/greyscale/units/golem/walk/right/0.png b/packages/art/sprites/greyscale/units/halberdier/walk/right/0.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/walk/right/0.png rename to packages/art/sprites/greyscale/units/halberdier/walk/right/0.png diff --git a/packages/art/sprites/greyscale/units/golem/walk/right/1.png b/packages/art/sprites/greyscale/units/halberdier/walk/right/1.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/walk/right/1.png rename to packages/art/sprites/greyscale/units/halberdier/walk/right/1.png diff --git a/packages/art/sprites/greyscale/units/golem/walk/right/2.png b/packages/art/sprites/greyscale/units/halberdier/walk/right/2.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/walk/right/2.png rename to packages/art/sprites/greyscale/units/halberdier/walk/right/2.png diff --git a/packages/art/sprites/greyscale/units/golem/walk/right/3.png b/packages/art/sprites/greyscale/units/halberdier/walk/right/3.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/walk/right/3.png rename to packages/art/sprites/greyscale/units/halberdier/walk/right/3.png diff --git a/packages/art/sprites/greyscale/units/golem/walk/up/0.png b/packages/art/sprites/greyscale/units/halberdier/walk/up/0.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/walk/up/0.png rename to packages/art/sprites/greyscale/units/halberdier/walk/up/0.png diff --git a/packages/art/sprites/greyscale/units/golem/walk/up/1.png b/packages/art/sprites/greyscale/units/halberdier/walk/up/1.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/walk/up/1.png rename to packages/art/sprites/greyscale/units/halberdier/walk/up/1.png diff --git a/packages/art/sprites/greyscale/units/golem/walk/up/2.png b/packages/art/sprites/greyscale/units/halberdier/walk/up/2.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/walk/up/2.png rename to packages/art/sprites/greyscale/units/halberdier/walk/up/2.png diff --git a/packages/art/sprites/greyscale/units/golem/walk/up/3.png b/packages/art/sprites/greyscale/units/halberdier/walk/up/3.png similarity index 100% rename from packages/art/sprites/greyscale/units/golem/walk/up/3.png rename to packages/art/sprites/greyscale/units/halberdier/walk/up/3.png diff --git a/packages/art/sprites/greyscale/units/wizard/attack/0.png b/packages/art/sprites/greyscale/units/marksman/attack/0.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/attack/0.png rename to packages/art/sprites/greyscale/units/marksman/attack/0.png diff --git a/packages/art/sprites/greyscale/units/wizard/attack/1.png b/packages/art/sprites/greyscale/units/marksman/attack/1.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/attack/1.png rename to packages/art/sprites/greyscale/units/marksman/attack/1.png diff --git a/packages/art/sprites/greyscale/units/wizard/attack/2.png b/packages/art/sprites/greyscale/units/marksman/attack/2.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/attack/2.png rename to packages/art/sprites/greyscale/units/marksman/attack/2.png diff --git a/packages/art/sprites/greyscale/units/wizard/attack/3.png b/packages/art/sprites/greyscale/units/marksman/attack/3.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/attack/3.png rename to packages/art/sprites/greyscale/units/marksman/attack/3.png diff --git a/packages/art/sprites/greyscale/units/wizard/attack/4.png b/packages/art/sprites/greyscale/units/marksman/attack/4.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/attack/4.png rename to packages/art/sprites/greyscale/units/marksman/attack/4.png diff --git a/packages/art/sprites/greyscale/units/wizard/attack/5.png b/packages/art/sprites/greyscale/units/marksman/attack/5.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/attack/5.png rename to packages/art/sprites/greyscale/units/marksman/attack/5.png diff --git a/packages/art/sprites/greyscale/units/wizard/death/0.png b/packages/art/sprites/greyscale/units/marksman/death/0.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/death/0.png rename to packages/art/sprites/greyscale/units/marksman/death/0.png diff --git a/packages/art/sprites/greyscale/units/wizard/death/1.png b/packages/art/sprites/greyscale/units/marksman/death/1.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/death/1.png rename to packages/art/sprites/greyscale/units/marksman/death/1.png diff --git a/packages/art/sprites/greyscale/units/wizard/death/10.png b/packages/art/sprites/greyscale/units/marksman/death/10.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/death/10.png rename to packages/art/sprites/greyscale/units/marksman/death/10.png diff --git a/packages/art/sprites/greyscale/units/wizard/death/11.png b/packages/art/sprites/greyscale/units/marksman/death/11.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/death/11.png rename to packages/art/sprites/greyscale/units/marksman/death/11.png diff --git a/packages/art/sprites/greyscale/units/wizard/death/2.png b/packages/art/sprites/greyscale/units/marksman/death/2.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/death/2.png rename to packages/art/sprites/greyscale/units/marksman/death/2.png diff --git a/packages/art/sprites/greyscale/units/wizard/death/3.png b/packages/art/sprites/greyscale/units/marksman/death/3.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/death/3.png rename to packages/art/sprites/greyscale/units/marksman/death/3.png diff --git a/packages/art/sprites/greyscale/units/wizard/death/4.png b/packages/art/sprites/greyscale/units/marksman/death/4.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/death/4.png rename to packages/art/sprites/greyscale/units/marksman/death/4.png diff --git a/packages/art/sprites/greyscale/units/wizard/death/5.png b/packages/art/sprites/greyscale/units/marksman/death/5.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/death/5.png rename to packages/art/sprites/greyscale/units/marksman/death/5.png diff --git a/packages/art/sprites/greyscale/units/wizard/death/6.png b/packages/art/sprites/greyscale/units/marksman/death/6.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/death/6.png rename to packages/art/sprites/greyscale/units/marksman/death/6.png diff --git a/packages/art/sprites/greyscale/units/wizard/death/7.png b/packages/art/sprites/greyscale/units/marksman/death/7.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/death/7.png rename to packages/art/sprites/greyscale/units/marksman/death/7.png diff --git a/packages/art/sprites/greyscale/units/wizard/death/8.png b/packages/art/sprites/greyscale/units/marksman/death/8.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/death/8.png rename to packages/art/sprites/greyscale/units/marksman/death/8.png diff --git a/packages/art/sprites/greyscale/units/wizard/death/9.png b/packages/art/sprites/greyscale/units/marksman/death/9.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/death/9.png rename to packages/art/sprites/greyscale/units/marksman/death/9.png diff --git a/packages/art/sprites/greyscale/units/wizard/idle/0.png b/packages/art/sprites/greyscale/units/marksman/idle/0.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/idle/0.png rename to packages/art/sprites/greyscale/units/marksman/idle/0.png diff --git a/packages/art/sprites/greyscale/units/wizard/idle/1.png b/packages/art/sprites/greyscale/units/marksman/idle/1.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/idle/1.png rename to packages/art/sprites/greyscale/units/marksman/idle/1.png diff --git a/packages/art/sprites/greyscale/units/wizard/idle/2.png b/packages/art/sprites/greyscale/units/marksman/idle/2.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/idle/2.png rename to packages/art/sprites/greyscale/units/marksman/idle/2.png diff --git a/packages/art/sprites/greyscale/units/wizard/idle/3.png b/packages/art/sprites/greyscale/units/marksman/idle/3.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/idle/3.png rename to packages/art/sprites/greyscale/units/marksman/idle/3.png diff --git a/packages/art/sprites/greyscale/units/wizard/walk/down/0.png b/packages/art/sprites/greyscale/units/marksman/walk/down/0.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/walk/down/0.png rename to packages/art/sprites/greyscale/units/marksman/walk/down/0.png diff --git a/packages/art/sprites/greyscale/units/wizard/walk/down/1.png b/packages/art/sprites/greyscale/units/marksman/walk/down/1.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/walk/down/1.png rename to packages/art/sprites/greyscale/units/marksman/walk/down/1.png diff --git a/packages/art/sprites/greyscale/units/wizard/walk/down/2.png b/packages/art/sprites/greyscale/units/marksman/walk/down/2.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/walk/down/2.png rename to packages/art/sprites/greyscale/units/marksman/walk/down/2.png diff --git a/packages/art/sprites/greyscale/units/wizard/walk/down/3.png b/packages/art/sprites/greyscale/units/marksman/walk/down/3.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/walk/down/3.png rename to packages/art/sprites/greyscale/units/marksman/walk/down/3.png diff --git a/packages/art/sprites/greyscale/units/wizard/walk/left/0.png b/packages/art/sprites/greyscale/units/marksman/walk/left/0.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/walk/left/0.png rename to packages/art/sprites/greyscale/units/marksman/walk/left/0.png diff --git a/packages/art/sprites/greyscale/units/wizard/walk/left/1.png b/packages/art/sprites/greyscale/units/marksman/walk/left/1.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/walk/left/1.png rename to packages/art/sprites/greyscale/units/marksman/walk/left/1.png diff --git a/packages/art/sprites/greyscale/units/wizard/walk/left/2.png b/packages/art/sprites/greyscale/units/marksman/walk/left/2.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/walk/left/2.png rename to packages/art/sprites/greyscale/units/marksman/walk/left/2.png diff --git a/packages/art/sprites/greyscale/units/wizard/walk/right/0.png b/packages/art/sprites/greyscale/units/marksman/walk/right/0.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/walk/right/0.png rename to packages/art/sprites/greyscale/units/marksman/walk/right/0.png diff --git a/packages/art/sprites/greyscale/units/wizard/walk/right/1.png b/packages/art/sprites/greyscale/units/marksman/walk/right/1.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/walk/right/1.png rename to packages/art/sprites/greyscale/units/marksman/walk/right/1.png diff --git a/packages/art/sprites/greyscale/units/wizard/walk/right/2.png b/packages/art/sprites/greyscale/units/marksman/walk/right/2.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/walk/right/2.png rename to packages/art/sprites/greyscale/units/marksman/walk/right/2.png diff --git a/packages/art/sprites/greyscale/units/wizard/walk/up/0.png b/packages/art/sprites/greyscale/units/marksman/walk/up/0.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/walk/up/0.png rename to packages/art/sprites/greyscale/units/marksman/walk/up/0.png diff --git a/packages/art/sprites/greyscale/units/wizard/walk/up/1.png b/packages/art/sprites/greyscale/units/marksman/walk/up/1.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/walk/up/1.png rename to packages/art/sprites/greyscale/units/marksman/walk/up/1.png diff --git a/packages/art/sprites/greyscale/units/wizard/walk/up/2.png b/packages/art/sprites/greyscale/units/marksman/walk/up/2.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/walk/up/2.png rename to packages/art/sprites/greyscale/units/marksman/walk/up/2.png diff --git a/packages/art/sprites/greyscale/units/wizard/walk/up/3.png b/packages/art/sprites/greyscale/units/marksman/walk/up/3.png similarity index 100% rename from packages/art/sprites/greyscale/units/wizard/walk/up/3.png rename to packages/art/sprites/greyscale/units/marksman/walk/up/3.png diff --git a/packages/art/sprites/greyscale/units/rider/attack/0.png b/packages/art/sprites/greyscale/units/pillager/attack/0.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/attack/0.png rename to packages/art/sprites/greyscale/units/pillager/attack/0.png diff --git a/packages/art/sprites/greyscale/units/rider/attack/1.png b/packages/art/sprites/greyscale/units/pillager/attack/1.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/attack/1.png rename to packages/art/sprites/greyscale/units/pillager/attack/1.png diff --git a/packages/art/sprites/greyscale/units/rider/attack/2.png b/packages/art/sprites/greyscale/units/pillager/attack/2.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/attack/2.png rename to packages/art/sprites/greyscale/units/pillager/attack/2.png diff --git a/packages/art/sprites/greyscale/units/rider/attack/3.png b/packages/art/sprites/greyscale/units/pillager/attack/3.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/attack/3.png rename to packages/art/sprites/greyscale/units/pillager/attack/3.png diff --git a/packages/art/sprites/greyscale/units/rider/attack/4.png b/packages/art/sprites/greyscale/units/pillager/attack/4.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/attack/4.png rename to packages/art/sprites/greyscale/units/pillager/attack/4.png diff --git a/packages/art/sprites/greyscale/units/rider/attack/5.png b/packages/art/sprites/greyscale/units/pillager/attack/5.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/attack/5.png rename to packages/art/sprites/greyscale/units/pillager/attack/5.png diff --git a/packages/art/sprites/greyscale/units/rider/death/0.png b/packages/art/sprites/greyscale/units/pillager/death/0.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/death/0.png rename to packages/art/sprites/greyscale/units/pillager/death/0.png diff --git a/packages/art/sprites/greyscale/units/rider/death/1.png b/packages/art/sprites/greyscale/units/pillager/death/1.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/death/1.png rename to packages/art/sprites/greyscale/units/pillager/death/1.png diff --git a/packages/art/sprites/greyscale/units/rider/death/2.png b/packages/art/sprites/greyscale/units/pillager/death/2.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/death/2.png rename to packages/art/sprites/greyscale/units/pillager/death/2.png diff --git a/packages/art/sprites/greyscale/units/rider/death/3.png b/packages/art/sprites/greyscale/units/pillager/death/3.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/death/3.png rename to packages/art/sprites/greyscale/units/pillager/death/3.png diff --git a/packages/art/sprites/greyscale/units/rider/death/4.png b/packages/art/sprites/greyscale/units/pillager/death/4.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/death/4.png rename to packages/art/sprites/greyscale/units/pillager/death/4.png diff --git a/packages/art/sprites/greyscale/units/rider/death/5.png b/packages/art/sprites/greyscale/units/pillager/death/5.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/death/5.png rename to packages/art/sprites/greyscale/units/pillager/death/5.png diff --git a/packages/art/sprites/greyscale/units/rider/death/6.png b/packages/art/sprites/greyscale/units/pillager/death/6.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/death/6.png rename to packages/art/sprites/greyscale/units/pillager/death/6.png diff --git a/packages/art/sprites/greyscale/units/rider/death/7.png b/packages/art/sprites/greyscale/units/pillager/death/7.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/death/7.png rename to packages/art/sprites/greyscale/units/pillager/death/7.png diff --git a/packages/art/sprites/greyscale/units/rider/idle/0.png b/packages/art/sprites/greyscale/units/pillager/idle/0.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/idle/0.png rename to packages/art/sprites/greyscale/units/pillager/idle/0.png diff --git a/packages/art/sprites/greyscale/units/rider/idle/1.png b/packages/art/sprites/greyscale/units/pillager/idle/1.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/idle/1.png rename to packages/art/sprites/greyscale/units/pillager/idle/1.png diff --git a/packages/art/sprites/greyscale/units/rider/idle/2.png b/packages/art/sprites/greyscale/units/pillager/idle/2.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/idle/2.png rename to packages/art/sprites/greyscale/units/pillager/idle/2.png diff --git a/packages/art/sprites/greyscale/units/rider/idle/3.png b/packages/art/sprites/greyscale/units/pillager/idle/3.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/idle/3.png rename to packages/art/sprites/greyscale/units/pillager/idle/3.png diff --git a/packages/art/sprites/greyscale/units/rider/walk/down/0.png b/packages/art/sprites/greyscale/units/pillager/walk/down/0.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/walk/down/0.png rename to packages/art/sprites/greyscale/units/pillager/walk/down/0.png diff --git a/packages/art/sprites/greyscale/units/rider/walk/down/1.png b/packages/art/sprites/greyscale/units/pillager/walk/down/1.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/walk/down/1.png rename to packages/art/sprites/greyscale/units/pillager/walk/down/1.png diff --git a/packages/art/sprites/greyscale/units/rider/walk/down/2.png b/packages/art/sprites/greyscale/units/pillager/walk/down/2.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/walk/down/2.png rename to packages/art/sprites/greyscale/units/pillager/walk/down/2.png diff --git a/packages/art/sprites/greyscale/units/rider/walk/down/3.png b/packages/art/sprites/greyscale/units/pillager/walk/down/3.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/walk/down/3.png rename to packages/art/sprites/greyscale/units/pillager/walk/down/3.png diff --git a/packages/art/sprites/greyscale/units/rider/walk/left/0.png b/packages/art/sprites/greyscale/units/pillager/walk/left/0.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/walk/left/0.png rename to packages/art/sprites/greyscale/units/pillager/walk/left/0.png diff --git a/packages/art/sprites/greyscale/units/rider/walk/left/1.png b/packages/art/sprites/greyscale/units/pillager/walk/left/1.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/walk/left/1.png rename to packages/art/sprites/greyscale/units/pillager/walk/left/1.png diff --git a/packages/art/sprites/greyscale/units/rider/walk/left/2.png b/packages/art/sprites/greyscale/units/pillager/walk/left/2.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/walk/left/2.png rename to packages/art/sprites/greyscale/units/pillager/walk/left/2.png diff --git a/packages/art/sprites/greyscale/units/rider/walk/left/3.png b/packages/art/sprites/greyscale/units/pillager/walk/left/3.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/walk/left/3.png rename to packages/art/sprites/greyscale/units/pillager/walk/left/3.png diff --git a/packages/art/sprites/greyscale/units/rider/walk/right/0.png b/packages/art/sprites/greyscale/units/pillager/walk/right/0.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/walk/right/0.png rename to packages/art/sprites/greyscale/units/pillager/walk/right/0.png diff --git a/packages/art/sprites/greyscale/units/rider/walk/right/1.png b/packages/art/sprites/greyscale/units/pillager/walk/right/1.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/walk/right/1.png rename to packages/art/sprites/greyscale/units/pillager/walk/right/1.png diff --git a/packages/art/sprites/greyscale/units/rider/walk/right/2.png b/packages/art/sprites/greyscale/units/pillager/walk/right/2.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/walk/right/2.png rename to packages/art/sprites/greyscale/units/pillager/walk/right/2.png diff --git a/packages/art/sprites/greyscale/units/rider/walk/right/3.png b/packages/art/sprites/greyscale/units/pillager/walk/right/3.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/walk/right/3.png rename to packages/art/sprites/greyscale/units/pillager/walk/right/3.png diff --git a/packages/art/sprites/greyscale/units/rider/walk/up/0.png b/packages/art/sprites/greyscale/units/pillager/walk/up/0.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/walk/up/0.png rename to packages/art/sprites/greyscale/units/pillager/walk/up/0.png diff --git a/packages/art/sprites/greyscale/units/rider/walk/up/1.png b/packages/art/sprites/greyscale/units/pillager/walk/up/1.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/walk/up/1.png rename to packages/art/sprites/greyscale/units/pillager/walk/up/1.png diff --git a/packages/art/sprites/greyscale/units/rider/walk/up/2.png b/packages/art/sprites/greyscale/units/pillager/walk/up/2.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/walk/up/2.png rename to packages/art/sprites/greyscale/units/pillager/walk/up/2.png diff --git a/packages/art/sprites/greyscale/units/rider/walk/up/3.png b/packages/art/sprites/greyscale/units/pillager/walk/up/3.png similarity index 100% rename from packages/art/sprites/greyscale/units/rider/walk/up/3.png rename to packages/art/sprites/greyscale/units/pillager/walk/up/3.png diff --git a/packages/art/sprites/tile_ui/blue/outline/0.png b/packages/art/sprites/tile_ui/blue/outline/0.png new file mode 100644 index 000000000..35deae9e0 Binary files /dev/null and b/packages/art/sprites/tile_ui/blue/outline/0.png differ diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/attack/0.png b/packages/art/sprites/tinted_images/blue/units/dragoon/attack/0.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/attack/0.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/attack/0.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/attack/1.png b/packages/art/sprites/tinted_images/blue/units/dragoon/attack/1.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/attack/1.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/attack/1.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/attack/2.png b/packages/art/sprites/tinted_images/blue/units/dragoon/attack/2.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/attack/2.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/attack/2.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/attack/3.png b/packages/art/sprites/tinted_images/blue/units/dragoon/attack/3.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/attack/3.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/attack/3.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/attack/4.png b/packages/art/sprites/tinted_images/blue/units/dragoon/attack/4.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/attack/4.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/attack/4.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/attack/5.png b/packages/art/sprites/tinted_images/blue/units/dragoon/attack/5.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/attack/5.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/attack/5.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/death/0.png b/packages/art/sprites/tinted_images/blue/units/dragoon/death/0.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/death/0.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/death/0.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/death/1.png b/packages/art/sprites/tinted_images/blue/units/dragoon/death/1.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/death/1.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/death/1.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/death/10.png b/packages/art/sprites/tinted_images/blue/units/dragoon/death/10.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/death/10.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/death/10.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/death/11.png b/packages/art/sprites/tinted_images/blue/units/dragoon/death/11.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/death/11.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/death/11.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/death/2.png b/packages/art/sprites/tinted_images/blue/units/dragoon/death/2.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/death/2.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/death/2.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/death/3.png b/packages/art/sprites/tinted_images/blue/units/dragoon/death/3.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/death/3.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/death/3.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/death/4.png b/packages/art/sprites/tinted_images/blue/units/dragoon/death/4.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/death/4.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/death/4.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/death/5.png b/packages/art/sprites/tinted_images/blue/units/dragoon/death/5.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/death/5.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/death/5.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/death/6.png b/packages/art/sprites/tinted_images/blue/units/dragoon/death/6.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/death/6.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/death/6.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/death/7.png b/packages/art/sprites/tinted_images/blue/units/dragoon/death/7.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/death/7.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/death/7.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/death/8.png b/packages/art/sprites/tinted_images/blue/units/dragoon/death/8.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/death/8.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/death/8.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/death/9.png b/packages/art/sprites/tinted_images/blue/units/dragoon/death/9.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/death/9.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/death/9.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/idle/0.png b/packages/art/sprites/tinted_images/blue/units/dragoon/idle/0.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/idle/0.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/idle/0.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/idle/1.png b/packages/art/sprites/tinted_images/blue/units/dragoon/idle/1.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/idle/1.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/idle/1.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/idle/2.png b/packages/art/sprites/tinted_images/blue/units/dragoon/idle/2.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/idle/2.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/idle/2.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/idle/3.png b/packages/art/sprites/tinted_images/blue/units/dragoon/idle/3.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/idle/3.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/idle/3.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/walk/down/0.png b/packages/art/sprites/tinted_images/blue/units/dragoon/walk/down/0.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/walk/down/0.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/walk/down/0.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/walk/down/1.png b/packages/art/sprites/tinted_images/blue/units/dragoon/walk/down/1.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/walk/down/1.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/walk/down/1.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/walk/down/2.png b/packages/art/sprites/tinted_images/blue/units/dragoon/walk/down/2.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/walk/down/2.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/walk/down/2.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/walk/down/3.png b/packages/art/sprites/tinted_images/blue/units/dragoon/walk/down/3.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/walk/down/3.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/walk/down/3.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/walk/left/0.png b/packages/art/sprites/tinted_images/blue/units/dragoon/walk/left/0.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/walk/left/0.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/walk/left/0.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/walk/left/1.png b/packages/art/sprites/tinted_images/blue/units/dragoon/walk/left/1.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/walk/left/1.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/walk/left/1.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/walk/left/2.png b/packages/art/sprites/tinted_images/blue/units/dragoon/walk/left/2.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/walk/left/2.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/walk/left/2.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/walk/left/3.png b/packages/art/sprites/tinted_images/blue/units/dragoon/walk/left/3.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/walk/left/3.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/walk/left/3.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/walk/right/0.png b/packages/art/sprites/tinted_images/blue/units/dragoon/walk/right/0.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/walk/right/0.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/walk/right/0.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/walk/right/1.png b/packages/art/sprites/tinted_images/blue/units/dragoon/walk/right/1.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/walk/right/1.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/walk/right/1.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/walk/right/2.png b/packages/art/sprites/tinted_images/blue/units/dragoon/walk/right/2.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/walk/right/2.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/walk/right/2.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/walk/right/3.png b/packages/art/sprites/tinted_images/blue/units/dragoon/walk/right/3.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/walk/right/3.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/walk/right/3.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/walk/up/0.png b/packages/art/sprites/tinted_images/blue/units/dragoon/walk/up/0.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/walk/up/0.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/walk/up/0.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/walk/up/1.png b/packages/art/sprites/tinted_images/blue/units/dragoon/walk/up/1.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/walk/up/1.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/walk/up/1.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/walk/up/2.png b/packages/art/sprites/tinted_images/blue/units/dragoon/walk/up/2.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/walk/up/2.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/walk/up/2.png diff --git a/packages/art/sprites/tinted_images/blue/units/dragon/walk/up/3.png b/packages/art/sprites/tinted_images/blue/units/dragoon/walk/up/3.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/dragon/walk/up/3.png rename to packages/art/sprites/tinted_images/blue/units/dragoon/walk/up/3.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/attack/0.png b/packages/art/sprites/tinted_images/blue/units/halberdier/attack/0.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/attack/0.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/attack/0.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/attack/1.png b/packages/art/sprites/tinted_images/blue/units/halberdier/attack/1.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/attack/1.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/attack/1.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/attack/2.png b/packages/art/sprites/tinted_images/blue/units/halberdier/attack/2.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/attack/2.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/attack/2.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/attack/3.png b/packages/art/sprites/tinted_images/blue/units/halberdier/attack/3.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/attack/3.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/attack/3.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/attack/4.png b/packages/art/sprites/tinted_images/blue/units/halberdier/attack/4.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/attack/4.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/attack/4.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/attack/5.png b/packages/art/sprites/tinted_images/blue/units/halberdier/attack/5.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/attack/5.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/attack/5.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/death/0.png b/packages/art/sprites/tinted_images/blue/units/halberdier/death/0.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/death/0.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/death/0.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/death/1.png b/packages/art/sprites/tinted_images/blue/units/halberdier/death/1.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/death/1.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/death/1.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/death/10.png b/packages/art/sprites/tinted_images/blue/units/halberdier/death/10.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/death/10.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/death/10.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/death/11.png b/packages/art/sprites/tinted_images/blue/units/halberdier/death/11.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/death/11.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/death/11.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/death/2.png b/packages/art/sprites/tinted_images/blue/units/halberdier/death/2.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/death/2.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/death/2.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/death/3.png b/packages/art/sprites/tinted_images/blue/units/halberdier/death/3.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/death/3.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/death/3.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/death/4.png b/packages/art/sprites/tinted_images/blue/units/halberdier/death/4.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/death/4.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/death/4.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/death/5.png b/packages/art/sprites/tinted_images/blue/units/halberdier/death/5.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/death/5.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/death/5.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/death/6.png b/packages/art/sprites/tinted_images/blue/units/halberdier/death/6.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/death/6.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/death/6.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/death/7.png b/packages/art/sprites/tinted_images/blue/units/halberdier/death/7.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/death/7.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/death/7.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/death/8.png b/packages/art/sprites/tinted_images/blue/units/halberdier/death/8.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/death/8.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/death/8.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/death/9.png b/packages/art/sprites/tinted_images/blue/units/halberdier/death/9.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/death/9.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/death/9.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/idle/0.png b/packages/art/sprites/tinted_images/blue/units/halberdier/idle/0.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/idle/0.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/idle/0.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/idle/1.png b/packages/art/sprites/tinted_images/blue/units/halberdier/idle/1.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/idle/1.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/idle/1.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/idle/2.png b/packages/art/sprites/tinted_images/blue/units/halberdier/idle/2.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/idle/2.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/idle/2.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/idle/3.png b/packages/art/sprites/tinted_images/blue/units/halberdier/idle/3.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/idle/3.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/idle/3.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/walk/down/0.png b/packages/art/sprites/tinted_images/blue/units/halberdier/walk/down/0.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/walk/down/0.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/walk/down/0.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/walk/down/1.png b/packages/art/sprites/tinted_images/blue/units/halberdier/walk/down/1.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/walk/down/1.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/walk/down/1.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/walk/down/2.png b/packages/art/sprites/tinted_images/blue/units/halberdier/walk/down/2.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/walk/down/2.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/walk/down/2.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/walk/down/3.png b/packages/art/sprites/tinted_images/blue/units/halberdier/walk/down/3.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/walk/down/3.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/walk/down/3.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/walk/left/0.png b/packages/art/sprites/tinted_images/blue/units/halberdier/walk/left/0.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/walk/left/0.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/walk/left/0.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/walk/left/1.png b/packages/art/sprites/tinted_images/blue/units/halberdier/walk/left/1.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/walk/left/1.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/walk/left/1.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/walk/left/2.png b/packages/art/sprites/tinted_images/blue/units/halberdier/walk/left/2.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/walk/left/2.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/walk/left/2.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/walk/left/3.png b/packages/art/sprites/tinted_images/blue/units/halberdier/walk/left/3.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/walk/left/3.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/walk/left/3.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/walk/right/0.png b/packages/art/sprites/tinted_images/blue/units/halberdier/walk/right/0.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/walk/right/0.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/walk/right/0.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/walk/right/1.png b/packages/art/sprites/tinted_images/blue/units/halberdier/walk/right/1.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/walk/right/1.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/walk/right/1.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/walk/right/2.png b/packages/art/sprites/tinted_images/blue/units/halberdier/walk/right/2.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/walk/right/2.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/walk/right/2.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/walk/right/3.png b/packages/art/sprites/tinted_images/blue/units/halberdier/walk/right/3.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/walk/right/3.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/walk/right/3.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/walk/up/0.png b/packages/art/sprites/tinted_images/blue/units/halberdier/walk/up/0.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/walk/up/0.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/walk/up/0.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/walk/up/1.png b/packages/art/sprites/tinted_images/blue/units/halberdier/walk/up/1.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/walk/up/1.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/walk/up/1.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/walk/up/2.png b/packages/art/sprites/tinted_images/blue/units/halberdier/walk/up/2.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/walk/up/2.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/walk/up/2.png diff --git a/packages/art/sprites/tinted_images/blue/units/golem/walk/up/3.png b/packages/art/sprites/tinted_images/blue/units/halberdier/walk/up/3.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/golem/walk/up/3.png rename to packages/art/sprites/tinted_images/blue/units/halberdier/walk/up/3.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/attack/0.png b/packages/art/sprites/tinted_images/blue/units/marksman/attack/0.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/attack/0.png rename to packages/art/sprites/tinted_images/blue/units/marksman/attack/0.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/attack/1.png b/packages/art/sprites/tinted_images/blue/units/marksman/attack/1.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/attack/1.png rename to packages/art/sprites/tinted_images/blue/units/marksman/attack/1.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/attack/2.png b/packages/art/sprites/tinted_images/blue/units/marksman/attack/2.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/attack/2.png rename to packages/art/sprites/tinted_images/blue/units/marksman/attack/2.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/attack/3.png b/packages/art/sprites/tinted_images/blue/units/marksman/attack/3.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/attack/3.png rename to packages/art/sprites/tinted_images/blue/units/marksman/attack/3.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/attack/4.png b/packages/art/sprites/tinted_images/blue/units/marksman/attack/4.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/attack/4.png rename to packages/art/sprites/tinted_images/blue/units/marksman/attack/4.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/attack/5.png b/packages/art/sprites/tinted_images/blue/units/marksman/attack/5.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/attack/5.png rename to packages/art/sprites/tinted_images/blue/units/marksman/attack/5.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/death/0.png b/packages/art/sprites/tinted_images/blue/units/marksman/death/0.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/death/0.png rename to packages/art/sprites/tinted_images/blue/units/marksman/death/0.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/death/1.png b/packages/art/sprites/tinted_images/blue/units/marksman/death/1.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/death/1.png rename to packages/art/sprites/tinted_images/blue/units/marksman/death/1.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/death/10.png b/packages/art/sprites/tinted_images/blue/units/marksman/death/10.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/death/10.png rename to packages/art/sprites/tinted_images/blue/units/marksman/death/10.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/death/11.png b/packages/art/sprites/tinted_images/blue/units/marksman/death/11.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/death/11.png rename to packages/art/sprites/tinted_images/blue/units/marksman/death/11.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/death/2.png b/packages/art/sprites/tinted_images/blue/units/marksman/death/2.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/death/2.png rename to packages/art/sprites/tinted_images/blue/units/marksman/death/2.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/death/3.png b/packages/art/sprites/tinted_images/blue/units/marksman/death/3.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/death/3.png rename to packages/art/sprites/tinted_images/blue/units/marksman/death/3.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/death/4.png b/packages/art/sprites/tinted_images/blue/units/marksman/death/4.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/death/4.png rename to packages/art/sprites/tinted_images/blue/units/marksman/death/4.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/death/5.png b/packages/art/sprites/tinted_images/blue/units/marksman/death/5.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/death/5.png rename to packages/art/sprites/tinted_images/blue/units/marksman/death/5.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/death/6.png b/packages/art/sprites/tinted_images/blue/units/marksman/death/6.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/death/6.png rename to packages/art/sprites/tinted_images/blue/units/marksman/death/6.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/death/7.png b/packages/art/sprites/tinted_images/blue/units/marksman/death/7.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/death/7.png rename to packages/art/sprites/tinted_images/blue/units/marksman/death/7.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/death/8.png b/packages/art/sprites/tinted_images/blue/units/marksman/death/8.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/death/8.png rename to packages/art/sprites/tinted_images/blue/units/marksman/death/8.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/death/9.png b/packages/art/sprites/tinted_images/blue/units/marksman/death/9.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/death/9.png rename to packages/art/sprites/tinted_images/blue/units/marksman/death/9.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/idle/0.png b/packages/art/sprites/tinted_images/blue/units/marksman/idle/0.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/idle/0.png rename to packages/art/sprites/tinted_images/blue/units/marksman/idle/0.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/idle/1.png b/packages/art/sprites/tinted_images/blue/units/marksman/idle/1.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/idle/1.png rename to packages/art/sprites/tinted_images/blue/units/marksman/idle/1.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/idle/2.png b/packages/art/sprites/tinted_images/blue/units/marksman/idle/2.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/idle/2.png rename to packages/art/sprites/tinted_images/blue/units/marksman/idle/2.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/idle/3.png b/packages/art/sprites/tinted_images/blue/units/marksman/idle/3.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/idle/3.png rename to packages/art/sprites/tinted_images/blue/units/marksman/idle/3.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/walk/down/0.png b/packages/art/sprites/tinted_images/blue/units/marksman/walk/down/0.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/walk/down/0.png rename to packages/art/sprites/tinted_images/blue/units/marksman/walk/down/0.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/walk/down/1.png b/packages/art/sprites/tinted_images/blue/units/marksman/walk/down/1.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/walk/down/1.png rename to packages/art/sprites/tinted_images/blue/units/marksman/walk/down/1.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/walk/down/2.png b/packages/art/sprites/tinted_images/blue/units/marksman/walk/down/2.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/walk/down/2.png rename to packages/art/sprites/tinted_images/blue/units/marksman/walk/down/2.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/walk/down/3.png b/packages/art/sprites/tinted_images/blue/units/marksman/walk/down/3.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/walk/down/3.png rename to packages/art/sprites/tinted_images/blue/units/marksman/walk/down/3.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/walk/left/0.png b/packages/art/sprites/tinted_images/blue/units/marksman/walk/left/0.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/walk/left/0.png rename to packages/art/sprites/tinted_images/blue/units/marksman/walk/left/0.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/walk/left/1.png b/packages/art/sprites/tinted_images/blue/units/marksman/walk/left/1.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/walk/left/1.png rename to packages/art/sprites/tinted_images/blue/units/marksman/walk/left/1.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/walk/left/2.png b/packages/art/sprites/tinted_images/blue/units/marksman/walk/left/2.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/walk/left/2.png rename to packages/art/sprites/tinted_images/blue/units/marksman/walk/left/2.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/walk/right/0.png b/packages/art/sprites/tinted_images/blue/units/marksman/walk/right/0.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/walk/right/0.png rename to packages/art/sprites/tinted_images/blue/units/marksman/walk/right/0.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/walk/right/1.png b/packages/art/sprites/tinted_images/blue/units/marksman/walk/right/1.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/walk/right/1.png rename to packages/art/sprites/tinted_images/blue/units/marksman/walk/right/1.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/walk/right/2.png b/packages/art/sprites/tinted_images/blue/units/marksman/walk/right/2.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/walk/right/2.png rename to packages/art/sprites/tinted_images/blue/units/marksman/walk/right/2.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/walk/up/0.png b/packages/art/sprites/tinted_images/blue/units/marksman/walk/up/0.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/walk/up/0.png rename to packages/art/sprites/tinted_images/blue/units/marksman/walk/up/0.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/walk/up/1.png b/packages/art/sprites/tinted_images/blue/units/marksman/walk/up/1.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/walk/up/1.png rename to packages/art/sprites/tinted_images/blue/units/marksman/walk/up/1.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/walk/up/2.png b/packages/art/sprites/tinted_images/blue/units/marksman/walk/up/2.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/walk/up/2.png rename to packages/art/sprites/tinted_images/blue/units/marksman/walk/up/2.png diff --git a/packages/art/sprites/tinted_images/blue/units/wizard/walk/up/3.png b/packages/art/sprites/tinted_images/blue/units/marksman/walk/up/3.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/wizard/walk/up/3.png rename to packages/art/sprites/tinted_images/blue/units/marksman/walk/up/3.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/attack/0.png b/packages/art/sprites/tinted_images/blue/units/pillager/attack/0.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/attack/0.png rename to packages/art/sprites/tinted_images/blue/units/pillager/attack/0.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/attack/1.png b/packages/art/sprites/tinted_images/blue/units/pillager/attack/1.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/attack/1.png rename to packages/art/sprites/tinted_images/blue/units/pillager/attack/1.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/attack/2.png b/packages/art/sprites/tinted_images/blue/units/pillager/attack/2.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/attack/2.png rename to packages/art/sprites/tinted_images/blue/units/pillager/attack/2.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/attack/3.png b/packages/art/sprites/tinted_images/blue/units/pillager/attack/3.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/attack/3.png rename to packages/art/sprites/tinted_images/blue/units/pillager/attack/3.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/attack/4.png b/packages/art/sprites/tinted_images/blue/units/pillager/attack/4.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/attack/4.png rename to packages/art/sprites/tinted_images/blue/units/pillager/attack/4.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/attack/5.png b/packages/art/sprites/tinted_images/blue/units/pillager/attack/5.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/attack/5.png rename to packages/art/sprites/tinted_images/blue/units/pillager/attack/5.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/death/0.png b/packages/art/sprites/tinted_images/blue/units/pillager/death/0.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/death/0.png rename to packages/art/sprites/tinted_images/blue/units/pillager/death/0.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/death/1.png b/packages/art/sprites/tinted_images/blue/units/pillager/death/1.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/death/1.png rename to packages/art/sprites/tinted_images/blue/units/pillager/death/1.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/death/2.png b/packages/art/sprites/tinted_images/blue/units/pillager/death/2.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/death/2.png rename to packages/art/sprites/tinted_images/blue/units/pillager/death/2.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/death/3.png b/packages/art/sprites/tinted_images/blue/units/pillager/death/3.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/death/3.png rename to packages/art/sprites/tinted_images/blue/units/pillager/death/3.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/death/4.png b/packages/art/sprites/tinted_images/blue/units/pillager/death/4.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/death/4.png rename to packages/art/sprites/tinted_images/blue/units/pillager/death/4.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/death/5.png b/packages/art/sprites/tinted_images/blue/units/pillager/death/5.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/death/5.png rename to packages/art/sprites/tinted_images/blue/units/pillager/death/5.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/death/6.png b/packages/art/sprites/tinted_images/blue/units/pillager/death/6.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/death/6.png rename to packages/art/sprites/tinted_images/blue/units/pillager/death/6.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/death/7.png b/packages/art/sprites/tinted_images/blue/units/pillager/death/7.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/death/7.png rename to packages/art/sprites/tinted_images/blue/units/pillager/death/7.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/idle/0.png b/packages/art/sprites/tinted_images/blue/units/pillager/idle/0.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/idle/0.png rename to packages/art/sprites/tinted_images/blue/units/pillager/idle/0.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/idle/1.png b/packages/art/sprites/tinted_images/blue/units/pillager/idle/1.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/idle/1.png rename to packages/art/sprites/tinted_images/blue/units/pillager/idle/1.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/idle/2.png b/packages/art/sprites/tinted_images/blue/units/pillager/idle/2.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/idle/2.png rename to packages/art/sprites/tinted_images/blue/units/pillager/idle/2.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/idle/3.png b/packages/art/sprites/tinted_images/blue/units/pillager/idle/3.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/idle/3.png rename to packages/art/sprites/tinted_images/blue/units/pillager/idle/3.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/walk/down/0.png b/packages/art/sprites/tinted_images/blue/units/pillager/walk/down/0.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/walk/down/0.png rename to packages/art/sprites/tinted_images/blue/units/pillager/walk/down/0.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/walk/down/1.png b/packages/art/sprites/tinted_images/blue/units/pillager/walk/down/1.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/walk/down/1.png rename to packages/art/sprites/tinted_images/blue/units/pillager/walk/down/1.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/walk/down/2.png b/packages/art/sprites/tinted_images/blue/units/pillager/walk/down/2.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/walk/down/2.png rename to packages/art/sprites/tinted_images/blue/units/pillager/walk/down/2.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/walk/down/3.png b/packages/art/sprites/tinted_images/blue/units/pillager/walk/down/3.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/walk/down/3.png rename to packages/art/sprites/tinted_images/blue/units/pillager/walk/down/3.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/walk/left/0.png b/packages/art/sprites/tinted_images/blue/units/pillager/walk/left/0.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/walk/left/0.png rename to packages/art/sprites/tinted_images/blue/units/pillager/walk/left/0.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/walk/left/1.png b/packages/art/sprites/tinted_images/blue/units/pillager/walk/left/1.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/walk/left/1.png rename to packages/art/sprites/tinted_images/blue/units/pillager/walk/left/1.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/walk/left/2.png b/packages/art/sprites/tinted_images/blue/units/pillager/walk/left/2.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/walk/left/2.png rename to packages/art/sprites/tinted_images/blue/units/pillager/walk/left/2.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/walk/left/3.png b/packages/art/sprites/tinted_images/blue/units/pillager/walk/left/3.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/walk/left/3.png rename to packages/art/sprites/tinted_images/blue/units/pillager/walk/left/3.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/walk/right/0.png b/packages/art/sprites/tinted_images/blue/units/pillager/walk/right/0.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/walk/right/0.png rename to packages/art/sprites/tinted_images/blue/units/pillager/walk/right/0.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/walk/right/1.png b/packages/art/sprites/tinted_images/blue/units/pillager/walk/right/1.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/walk/right/1.png rename to packages/art/sprites/tinted_images/blue/units/pillager/walk/right/1.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/walk/right/2.png b/packages/art/sprites/tinted_images/blue/units/pillager/walk/right/2.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/walk/right/2.png rename to packages/art/sprites/tinted_images/blue/units/pillager/walk/right/2.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/walk/right/3.png b/packages/art/sprites/tinted_images/blue/units/pillager/walk/right/3.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/walk/right/3.png rename to packages/art/sprites/tinted_images/blue/units/pillager/walk/right/3.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/walk/up/0.png b/packages/art/sprites/tinted_images/blue/units/pillager/walk/up/0.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/walk/up/0.png rename to packages/art/sprites/tinted_images/blue/units/pillager/walk/up/0.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/walk/up/1.png b/packages/art/sprites/tinted_images/blue/units/pillager/walk/up/1.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/walk/up/1.png rename to packages/art/sprites/tinted_images/blue/units/pillager/walk/up/1.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/walk/up/2.png b/packages/art/sprites/tinted_images/blue/units/pillager/walk/up/2.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/walk/up/2.png rename to packages/art/sprites/tinted_images/blue/units/pillager/walk/up/2.png diff --git a/packages/art/sprites/tinted_images/blue/units/rider/walk/up/3.png b/packages/art/sprites/tinted_images/blue/units/pillager/walk/up/3.png similarity index 100% rename from packages/art/sprites/tinted_images/blue/units/rider/walk/up/3.png rename to packages/art/sprites/tinted_images/blue/units/pillager/walk/up/3.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/attack/0.png b/packages/art/sprites/tinted_images/green/units/dragoon/attack/0.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/attack/0.png rename to packages/art/sprites/tinted_images/green/units/dragoon/attack/0.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/attack/1.png b/packages/art/sprites/tinted_images/green/units/dragoon/attack/1.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/attack/1.png rename to packages/art/sprites/tinted_images/green/units/dragoon/attack/1.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/attack/2.png b/packages/art/sprites/tinted_images/green/units/dragoon/attack/2.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/attack/2.png rename to packages/art/sprites/tinted_images/green/units/dragoon/attack/2.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/attack/3.png b/packages/art/sprites/tinted_images/green/units/dragoon/attack/3.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/attack/3.png rename to packages/art/sprites/tinted_images/green/units/dragoon/attack/3.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/attack/4.png b/packages/art/sprites/tinted_images/green/units/dragoon/attack/4.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/attack/4.png rename to packages/art/sprites/tinted_images/green/units/dragoon/attack/4.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/attack/5.png b/packages/art/sprites/tinted_images/green/units/dragoon/attack/5.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/attack/5.png rename to packages/art/sprites/tinted_images/green/units/dragoon/attack/5.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/death/0.png b/packages/art/sprites/tinted_images/green/units/dragoon/death/0.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/death/0.png rename to packages/art/sprites/tinted_images/green/units/dragoon/death/0.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/death/1.png b/packages/art/sprites/tinted_images/green/units/dragoon/death/1.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/death/1.png rename to packages/art/sprites/tinted_images/green/units/dragoon/death/1.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/death/10.png b/packages/art/sprites/tinted_images/green/units/dragoon/death/10.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/death/10.png rename to packages/art/sprites/tinted_images/green/units/dragoon/death/10.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/death/11.png b/packages/art/sprites/tinted_images/green/units/dragoon/death/11.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/death/11.png rename to packages/art/sprites/tinted_images/green/units/dragoon/death/11.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/death/2.png b/packages/art/sprites/tinted_images/green/units/dragoon/death/2.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/death/2.png rename to packages/art/sprites/tinted_images/green/units/dragoon/death/2.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/death/3.png b/packages/art/sprites/tinted_images/green/units/dragoon/death/3.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/death/3.png rename to packages/art/sprites/tinted_images/green/units/dragoon/death/3.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/death/4.png b/packages/art/sprites/tinted_images/green/units/dragoon/death/4.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/death/4.png rename to packages/art/sprites/tinted_images/green/units/dragoon/death/4.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/death/5.png b/packages/art/sprites/tinted_images/green/units/dragoon/death/5.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/death/5.png rename to packages/art/sprites/tinted_images/green/units/dragoon/death/5.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/death/6.png b/packages/art/sprites/tinted_images/green/units/dragoon/death/6.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/death/6.png rename to packages/art/sprites/tinted_images/green/units/dragoon/death/6.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/death/7.png b/packages/art/sprites/tinted_images/green/units/dragoon/death/7.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/death/7.png rename to packages/art/sprites/tinted_images/green/units/dragoon/death/7.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/death/8.png b/packages/art/sprites/tinted_images/green/units/dragoon/death/8.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/death/8.png rename to packages/art/sprites/tinted_images/green/units/dragoon/death/8.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/death/9.png b/packages/art/sprites/tinted_images/green/units/dragoon/death/9.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/death/9.png rename to packages/art/sprites/tinted_images/green/units/dragoon/death/9.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/idle/0.png b/packages/art/sprites/tinted_images/green/units/dragoon/idle/0.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/idle/0.png rename to packages/art/sprites/tinted_images/green/units/dragoon/idle/0.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/idle/1.png b/packages/art/sprites/tinted_images/green/units/dragoon/idle/1.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/idle/1.png rename to packages/art/sprites/tinted_images/green/units/dragoon/idle/1.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/idle/2.png b/packages/art/sprites/tinted_images/green/units/dragoon/idle/2.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/idle/2.png rename to packages/art/sprites/tinted_images/green/units/dragoon/idle/2.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/idle/3.png b/packages/art/sprites/tinted_images/green/units/dragoon/idle/3.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/idle/3.png rename to packages/art/sprites/tinted_images/green/units/dragoon/idle/3.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/walk/down/0.png b/packages/art/sprites/tinted_images/green/units/dragoon/walk/down/0.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/walk/down/0.png rename to packages/art/sprites/tinted_images/green/units/dragoon/walk/down/0.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/walk/down/1.png b/packages/art/sprites/tinted_images/green/units/dragoon/walk/down/1.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/walk/down/1.png rename to packages/art/sprites/tinted_images/green/units/dragoon/walk/down/1.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/walk/down/2.png b/packages/art/sprites/tinted_images/green/units/dragoon/walk/down/2.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/walk/down/2.png rename to packages/art/sprites/tinted_images/green/units/dragoon/walk/down/2.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/walk/down/3.png b/packages/art/sprites/tinted_images/green/units/dragoon/walk/down/3.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/walk/down/3.png rename to packages/art/sprites/tinted_images/green/units/dragoon/walk/down/3.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/walk/left/0.png b/packages/art/sprites/tinted_images/green/units/dragoon/walk/left/0.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/walk/left/0.png rename to packages/art/sprites/tinted_images/green/units/dragoon/walk/left/0.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/walk/left/1.png b/packages/art/sprites/tinted_images/green/units/dragoon/walk/left/1.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/walk/left/1.png rename to packages/art/sprites/tinted_images/green/units/dragoon/walk/left/1.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/walk/left/2.png b/packages/art/sprites/tinted_images/green/units/dragoon/walk/left/2.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/walk/left/2.png rename to packages/art/sprites/tinted_images/green/units/dragoon/walk/left/2.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/walk/left/3.png b/packages/art/sprites/tinted_images/green/units/dragoon/walk/left/3.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/walk/left/3.png rename to packages/art/sprites/tinted_images/green/units/dragoon/walk/left/3.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/walk/right/0.png b/packages/art/sprites/tinted_images/green/units/dragoon/walk/right/0.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/walk/right/0.png rename to packages/art/sprites/tinted_images/green/units/dragoon/walk/right/0.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/walk/right/1.png b/packages/art/sprites/tinted_images/green/units/dragoon/walk/right/1.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/walk/right/1.png rename to packages/art/sprites/tinted_images/green/units/dragoon/walk/right/1.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/walk/right/2.png b/packages/art/sprites/tinted_images/green/units/dragoon/walk/right/2.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/walk/right/2.png rename to packages/art/sprites/tinted_images/green/units/dragoon/walk/right/2.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/walk/right/3.png b/packages/art/sprites/tinted_images/green/units/dragoon/walk/right/3.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/walk/right/3.png rename to packages/art/sprites/tinted_images/green/units/dragoon/walk/right/3.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/walk/up/0.png b/packages/art/sprites/tinted_images/green/units/dragoon/walk/up/0.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/walk/up/0.png rename to packages/art/sprites/tinted_images/green/units/dragoon/walk/up/0.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/walk/up/1.png b/packages/art/sprites/tinted_images/green/units/dragoon/walk/up/1.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/walk/up/1.png rename to packages/art/sprites/tinted_images/green/units/dragoon/walk/up/1.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/walk/up/2.png b/packages/art/sprites/tinted_images/green/units/dragoon/walk/up/2.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/walk/up/2.png rename to packages/art/sprites/tinted_images/green/units/dragoon/walk/up/2.png diff --git a/packages/art/sprites/tinted_images/green/units/dragon/walk/up/3.png b/packages/art/sprites/tinted_images/green/units/dragoon/walk/up/3.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/dragon/walk/up/3.png rename to packages/art/sprites/tinted_images/green/units/dragoon/walk/up/3.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/attack/0.png b/packages/art/sprites/tinted_images/green/units/halberdier/attack/0.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/attack/0.png rename to packages/art/sprites/tinted_images/green/units/halberdier/attack/0.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/attack/1.png b/packages/art/sprites/tinted_images/green/units/halberdier/attack/1.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/attack/1.png rename to packages/art/sprites/tinted_images/green/units/halberdier/attack/1.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/attack/2.png b/packages/art/sprites/tinted_images/green/units/halberdier/attack/2.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/attack/2.png rename to packages/art/sprites/tinted_images/green/units/halberdier/attack/2.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/attack/3.png b/packages/art/sprites/tinted_images/green/units/halberdier/attack/3.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/attack/3.png rename to packages/art/sprites/tinted_images/green/units/halberdier/attack/3.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/attack/4.png b/packages/art/sprites/tinted_images/green/units/halberdier/attack/4.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/attack/4.png rename to packages/art/sprites/tinted_images/green/units/halberdier/attack/4.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/attack/5.png b/packages/art/sprites/tinted_images/green/units/halberdier/attack/5.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/attack/5.png rename to packages/art/sprites/tinted_images/green/units/halberdier/attack/5.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/death/0.png b/packages/art/sprites/tinted_images/green/units/halberdier/death/0.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/death/0.png rename to packages/art/sprites/tinted_images/green/units/halberdier/death/0.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/death/1.png b/packages/art/sprites/tinted_images/green/units/halberdier/death/1.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/death/1.png rename to packages/art/sprites/tinted_images/green/units/halberdier/death/1.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/death/10.png b/packages/art/sprites/tinted_images/green/units/halberdier/death/10.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/death/10.png rename to packages/art/sprites/tinted_images/green/units/halberdier/death/10.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/death/11.png b/packages/art/sprites/tinted_images/green/units/halberdier/death/11.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/death/11.png rename to packages/art/sprites/tinted_images/green/units/halberdier/death/11.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/death/2.png b/packages/art/sprites/tinted_images/green/units/halberdier/death/2.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/death/2.png rename to packages/art/sprites/tinted_images/green/units/halberdier/death/2.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/death/3.png b/packages/art/sprites/tinted_images/green/units/halberdier/death/3.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/death/3.png rename to packages/art/sprites/tinted_images/green/units/halberdier/death/3.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/death/4.png b/packages/art/sprites/tinted_images/green/units/halberdier/death/4.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/death/4.png rename to packages/art/sprites/tinted_images/green/units/halberdier/death/4.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/death/5.png b/packages/art/sprites/tinted_images/green/units/halberdier/death/5.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/death/5.png rename to packages/art/sprites/tinted_images/green/units/halberdier/death/5.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/death/6.png b/packages/art/sprites/tinted_images/green/units/halberdier/death/6.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/death/6.png rename to packages/art/sprites/tinted_images/green/units/halberdier/death/6.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/death/7.png b/packages/art/sprites/tinted_images/green/units/halberdier/death/7.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/death/7.png rename to packages/art/sprites/tinted_images/green/units/halberdier/death/7.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/death/8.png b/packages/art/sprites/tinted_images/green/units/halberdier/death/8.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/death/8.png rename to packages/art/sprites/tinted_images/green/units/halberdier/death/8.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/death/9.png b/packages/art/sprites/tinted_images/green/units/halberdier/death/9.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/death/9.png rename to packages/art/sprites/tinted_images/green/units/halberdier/death/9.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/idle/0.png b/packages/art/sprites/tinted_images/green/units/halberdier/idle/0.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/idle/0.png rename to packages/art/sprites/tinted_images/green/units/halberdier/idle/0.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/idle/1.png b/packages/art/sprites/tinted_images/green/units/halberdier/idle/1.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/idle/1.png rename to packages/art/sprites/tinted_images/green/units/halberdier/idle/1.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/idle/2.png b/packages/art/sprites/tinted_images/green/units/halberdier/idle/2.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/idle/2.png rename to packages/art/sprites/tinted_images/green/units/halberdier/idle/2.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/idle/3.png b/packages/art/sprites/tinted_images/green/units/halberdier/idle/3.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/idle/3.png rename to packages/art/sprites/tinted_images/green/units/halberdier/idle/3.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/walk/down/0.png b/packages/art/sprites/tinted_images/green/units/halberdier/walk/down/0.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/walk/down/0.png rename to packages/art/sprites/tinted_images/green/units/halberdier/walk/down/0.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/walk/down/1.png b/packages/art/sprites/tinted_images/green/units/halberdier/walk/down/1.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/walk/down/1.png rename to packages/art/sprites/tinted_images/green/units/halberdier/walk/down/1.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/walk/down/2.png b/packages/art/sprites/tinted_images/green/units/halberdier/walk/down/2.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/walk/down/2.png rename to packages/art/sprites/tinted_images/green/units/halberdier/walk/down/2.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/walk/down/3.png b/packages/art/sprites/tinted_images/green/units/halberdier/walk/down/3.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/walk/down/3.png rename to packages/art/sprites/tinted_images/green/units/halberdier/walk/down/3.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/walk/left/0.png b/packages/art/sprites/tinted_images/green/units/halberdier/walk/left/0.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/walk/left/0.png rename to packages/art/sprites/tinted_images/green/units/halberdier/walk/left/0.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/walk/left/1.png b/packages/art/sprites/tinted_images/green/units/halberdier/walk/left/1.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/walk/left/1.png rename to packages/art/sprites/tinted_images/green/units/halberdier/walk/left/1.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/walk/left/2.png b/packages/art/sprites/tinted_images/green/units/halberdier/walk/left/2.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/walk/left/2.png rename to packages/art/sprites/tinted_images/green/units/halberdier/walk/left/2.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/walk/left/3.png b/packages/art/sprites/tinted_images/green/units/halberdier/walk/left/3.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/walk/left/3.png rename to packages/art/sprites/tinted_images/green/units/halberdier/walk/left/3.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/walk/right/0.png b/packages/art/sprites/tinted_images/green/units/halberdier/walk/right/0.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/walk/right/0.png rename to packages/art/sprites/tinted_images/green/units/halberdier/walk/right/0.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/walk/right/1.png b/packages/art/sprites/tinted_images/green/units/halberdier/walk/right/1.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/walk/right/1.png rename to packages/art/sprites/tinted_images/green/units/halberdier/walk/right/1.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/walk/right/2.png b/packages/art/sprites/tinted_images/green/units/halberdier/walk/right/2.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/walk/right/2.png rename to packages/art/sprites/tinted_images/green/units/halberdier/walk/right/2.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/walk/right/3.png b/packages/art/sprites/tinted_images/green/units/halberdier/walk/right/3.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/walk/right/3.png rename to packages/art/sprites/tinted_images/green/units/halberdier/walk/right/3.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/walk/up/0.png b/packages/art/sprites/tinted_images/green/units/halberdier/walk/up/0.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/walk/up/0.png rename to packages/art/sprites/tinted_images/green/units/halberdier/walk/up/0.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/walk/up/1.png b/packages/art/sprites/tinted_images/green/units/halberdier/walk/up/1.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/walk/up/1.png rename to packages/art/sprites/tinted_images/green/units/halberdier/walk/up/1.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/walk/up/2.png b/packages/art/sprites/tinted_images/green/units/halberdier/walk/up/2.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/walk/up/2.png rename to packages/art/sprites/tinted_images/green/units/halberdier/walk/up/2.png diff --git a/packages/art/sprites/tinted_images/green/units/golem/walk/up/3.png b/packages/art/sprites/tinted_images/green/units/halberdier/walk/up/3.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/golem/walk/up/3.png rename to packages/art/sprites/tinted_images/green/units/halberdier/walk/up/3.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/attack/0.png b/packages/art/sprites/tinted_images/green/units/marksman/attack/0.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/attack/0.png rename to packages/art/sprites/tinted_images/green/units/marksman/attack/0.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/attack/1.png b/packages/art/sprites/tinted_images/green/units/marksman/attack/1.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/attack/1.png rename to packages/art/sprites/tinted_images/green/units/marksman/attack/1.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/attack/2.png b/packages/art/sprites/tinted_images/green/units/marksman/attack/2.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/attack/2.png rename to packages/art/sprites/tinted_images/green/units/marksman/attack/2.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/attack/3.png b/packages/art/sprites/tinted_images/green/units/marksman/attack/3.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/attack/3.png rename to packages/art/sprites/tinted_images/green/units/marksman/attack/3.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/attack/4.png b/packages/art/sprites/tinted_images/green/units/marksman/attack/4.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/attack/4.png rename to packages/art/sprites/tinted_images/green/units/marksman/attack/4.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/attack/5.png b/packages/art/sprites/tinted_images/green/units/marksman/attack/5.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/attack/5.png rename to packages/art/sprites/tinted_images/green/units/marksman/attack/5.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/death/0.png b/packages/art/sprites/tinted_images/green/units/marksman/death/0.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/death/0.png rename to packages/art/sprites/tinted_images/green/units/marksman/death/0.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/death/1.png b/packages/art/sprites/tinted_images/green/units/marksman/death/1.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/death/1.png rename to packages/art/sprites/tinted_images/green/units/marksman/death/1.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/death/10.png b/packages/art/sprites/tinted_images/green/units/marksman/death/10.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/death/10.png rename to packages/art/sprites/tinted_images/green/units/marksman/death/10.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/death/11.png b/packages/art/sprites/tinted_images/green/units/marksman/death/11.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/death/11.png rename to packages/art/sprites/tinted_images/green/units/marksman/death/11.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/death/2.png b/packages/art/sprites/tinted_images/green/units/marksman/death/2.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/death/2.png rename to packages/art/sprites/tinted_images/green/units/marksman/death/2.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/death/3.png b/packages/art/sprites/tinted_images/green/units/marksman/death/3.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/death/3.png rename to packages/art/sprites/tinted_images/green/units/marksman/death/3.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/death/4.png b/packages/art/sprites/tinted_images/green/units/marksman/death/4.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/death/4.png rename to packages/art/sprites/tinted_images/green/units/marksman/death/4.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/death/5.png b/packages/art/sprites/tinted_images/green/units/marksman/death/5.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/death/5.png rename to packages/art/sprites/tinted_images/green/units/marksman/death/5.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/death/6.png b/packages/art/sprites/tinted_images/green/units/marksman/death/6.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/death/6.png rename to packages/art/sprites/tinted_images/green/units/marksman/death/6.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/death/7.png b/packages/art/sprites/tinted_images/green/units/marksman/death/7.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/death/7.png rename to packages/art/sprites/tinted_images/green/units/marksman/death/7.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/death/8.png b/packages/art/sprites/tinted_images/green/units/marksman/death/8.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/death/8.png rename to packages/art/sprites/tinted_images/green/units/marksman/death/8.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/death/9.png b/packages/art/sprites/tinted_images/green/units/marksman/death/9.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/death/9.png rename to packages/art/sprites/tinted_images/green/units/marksman/death/9.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/idle/0.png b/packages/art/sprites/tinted_images/green/units/marksman/idle/0.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/idle/0.png rename to packages/art/sprites/tinted_images/green/units/marksman/idle/0.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/idle/1.png b/packages/art/sprites/tinted_images/green/units/marksman/idle/1.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/idle/1.png rename to packages/art/sprites/tinted_images/green/units/marksman/idle/1.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/idle/2.png b/packages/art/sprites/tinted_images/green/units/marksman/idle/2.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/idle/2.png rename to packages/art/sprites/tinted_images/green/units/marksman/idle/2.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/idle/3.png b/packages/art/sprites/tinted_images/green/units/marksman/idle/3.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/idle/3.png rename to packages/art/sprites/tinted_images/green/units/marksman/idle/3.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/walk/down/0.png b/packages/art/sprites/tinted_images/green/units/marksman/walk/down/0.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/walk/down/0.png rename to packages/art/sprites/tinted_images/green/units/marksman/walk/down/0.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/walk/down/1.png b/packages/art/sprites/tinted_images/green/units/marksman/walk/down/1.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/walk/down/1.png rename to packages/art/sprites/tinted_images/green/units/marksman/walk/down/1.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/walk/down/2.png b/packages/art/sprites/tinted_images/green/units/marksman/walk/down/2.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/walk/down/2.png rename to packages/art/sprites/tinted_images/green/units/marksman/walk/down/2.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/walk/down/3.png b/packages/art/sprites/tinted_images/green/units/marksman/walk/down/3.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/walk/down/3.png rename to packages/art/sprites/tinted_images/green/units/marksman/walk/down/3.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/walk/left/0.png b/packages/art/sprites/tinted_images/green/units/marksman/walk/left/0.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/walk/left/0.png rename to packages/art/sprites/tinted_images/green/units/marksman/walk/left/0.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/walk/left/1.png b/packages/art/sprites/tinted_images/green/units/marksman/walk/left/1.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/walk/left/1.png rename to packages/art/sprites/tinted_images/green/units/marksman/walk/left/1.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/walk/left/2.png b/packages/art/sprites/tinted_images/green/units/marksman/walk/left/2.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/walk/left/2.png rename to packages/art/sprites/tinted_images/green/units/marksman/walk/left/2.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/walk/right/0.png b/packages/art/sprites/tinted_images/green/units/marksman/walk/right/0.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/walk/right/0.png rename to packages/art/sprites/tinted_images/green/units/marksman/walk/right/0.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/walk/right/1.png b/packages/art/sprites/tinted_images/green/units/marksman/walk/right/1.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/walk/right/1.png rename to packages/art/sprites/tinted_images/green/units/marksman/walk/right/1.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/walk/right/2.png b/packages/art/sprites/tinted_images/green/units/marksman/walk/right/2.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/walk/right/2.png rename to packages/art/sprites/tinted_images/green/units/marksman/walk/right/2.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/walk/up/0.png b/packages/art/sprites/tinted_images/green/units/marksman/walk/up/0.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/walk/up/0.png rename to packages/art/sprites/tinted_images/green/units/marksman/walk/up/0.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/walk/up/1.png b/packages/art/sprites/tinted_images/green/units/marksman/walk/up/1.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/walk/up/1.png rename to packages/art/sprites/tinted_images/green/units/marksman/walk/up/1.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/walk/up/2.png b/packages/art/sprites/tinted_images/green/units/marksman/walk/up/2.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/walk/up/2.png rename to packages/art/sprites/tinted_images/green/units/marksman/walk/up/2.png diff --git a/packages/art/sprites/tinted_images/green/units/wizard/walk/up/3.png b/packages/art/sprites/tinted_images/green/units/marksman/walk/up/3.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/wizard/walk/up/3.png rename to packages/art/sprites/tinted_images/green/units/marksman/walk/up/3.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/attack/0.png b/packages/art/sprites/tinted_images/green/units/pillager/attack/0.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/attack/0.png rename to packages/art/sprites/tinted_images/green/units/pillager/attack/0.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/attack/1.png b/packages/art/sprites/tinted_images/green/units/pillager/attack/1.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/attack/1.png rename to packages/art/sprites/tinted_images/green/units/pillager/attack/1.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/attack/2.png b/packages/art/sprites/tinted_images/green/units/pillager/attack/2.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/attack/2.png rename to packages/art/sprites/tinted_images/green/units/pillager/attack/2.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/attack/3.png b/packages/art/sprites/tinted_images/green/units/pillager/attack/3.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/attack/3.png rename to packages/art/sprites/tinted_images/green/units/pillager/attack/3.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/attack/4.png b/packages/art/sprites/tinted_images/green/units/pillager/attack/4.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/attack/4.png rename to packages/art/sprites/tinted_images/green/units/pillager/attack/4.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/attack/5.png b/packages/art/sprites/tinted_images/green/units/pillager/attack/5.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/attack/5.png rename to packages/art/sprites/tinted_images/green/units/pillager/attack/5.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/death/0.png b/packages/art/sprites/tinted_images/green/units/pillager/death/0.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/death/0.png rename to packages/art/sprites/tinted_images/green/units/pillager/death/0.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/death/1.png b/packages/art/sprites/tinted_images/green/units/pillager/death/1.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/death/1.png rename to packages/art/sprites/tinted_images/green/units/pillager/death/1.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/death/2.png b/packages/art/sprites/tinted_images/green/units/pillager/death/2.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/death/2.png rename to packages/art/sprites/tinted_images/green/units/pillager/death/2.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/death/3.png b/packages/art/sprites/tinted_images/green/units/pillager/death/3.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/death/3.png rename to packages/art/sprites/tinted_images/green/units/pillager/death/3.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/death/4.png b/packages/art/sprites/tinted_images/green/units/pillager/death/4.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/death/4.png rename to packages/art/sprites/tinted_images/green/units/pillager/death/4.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/death/5.png b/packages/art/sprites/tinted_images/green/units/pillager/death/5.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/death/5.png rename to packages/art/sprites/tinted_images/green/units/pillager/death/5.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/death/6.png b/packages/art/sprites/tinted_images/green/units/pillager/death/6.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/death/6.png rename to packages/art/sprites/tinted_images/green/units/pillager/death/6.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/death/7.png b/packages/art/sprites/tinted_images/green/units/pillager/death/7.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/death/7.png rename to packages/art/sprites/tinted_images/green/units/pillager/death/7.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/idle/0.png b/packages/art/sprites/tinted_images/green/units/pillager/idle/0.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/idle/0.png rename to packages/art/sprites/tinted_images/green/units/pillager/idle/0.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/idle/1.png b/packages/art/sprites/tinted_images/green/units/pillager/idle/1.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/idle/1.png rename to packages/art/sprites/tinted_images/green/units/pillager/idle/1.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/idle/2.png b/packages/art/sprites/tinted_images/green/units/pillager/idle/2.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/idle/2.png rename to packages/art/sprites/tinted_images/green/units/pillager/idle/2.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/idle/3.png b/packages/art/sprites/tinted_images/green/units/pillager/idle/3.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/idle/3.png rename to packages/art/sprites/tinted_images/green/units/pillager/idle/3.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/walk/down/0.png b/packages/art/sprites/tinted_images/green/units/pillager/walk/down/0.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/walk/down/0.png rename to packages/art/sprites/tinted_images/green/units/pillager/walk/down/0.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/walk/down/1.png b/packages/art/sprites/tinted_images/green/units/pillager/walk/down/1.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/walk/down/1.png rename to packages/art/sprites/tinted_images/green/units/pillager/walk/down/1.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/walk/down/2.png b/packages/art/sprites/tinted_images/green/units/pillager/walk/down/2.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/walk/down/2.png rename to packages/art/sprites/tinted_images/green/units/pillager/walk/down/2.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/walk/down/3.png b/packages/art/sprites/tinted_images/green/units/pillager/walk/down/3.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/walk/down/3.png rename to packages/art/sprites/tinted_images/green/units/pillager/walk/down/3.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/walk/left/0.png b/packages/art/sprites/tinted_images/green/units/pillager/walk/left/0.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/walk/left/0.png rename to packages/art/sprites/tinted_images/green/units/pillager/walk/left/0.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/walk/left/1.png b/packages/art/sprites/tinted_images/green/units/pillager/walk/left/1.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/walk/left/1.png rename to packages/art/sprites/tinted_images/green/units/pillager/walk/left/1.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/walk/left/2.png b/packages/art/sprites/tinted_images/green/units/pillager/walk/left/2.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/walk/left/2.png rename to packages/art/sprites/tinted_images/green/units/pillager/walk/left/2.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/walk/left/3.png b/packages/art/sprites/tinted_images/green/units/pillager/walk/left/3.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/walk/left/3.png rename to packages/art/sprites/tinted_images/green/units/pillager/walk/left/3.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/walk/right/0.png b/packages/art/sprites/tinted_images/green/units/pillager/walk/right/0.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/walk/right/0.png rename to packages/art/sprites/tinted_images/green/units/pillager/walk/right/0.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/walk/right/1.png b/packages/art/sprites/tinted_images/green/units/pillager/walk/right/1.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/walk/right/1.png rename to packages/art/sprites/tinted_images/green/units/pillager/walk/right/1.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/walk/right/2.png b/packages/art/sprites/tinted_images/green/units/pillager/walk/right/2.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/walk/right/2.png rename to packages/art/sprites/tinted_images/green/units/pillager/walk/right/2.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/walk/right/3.png b/packages/art/sprites/tinted_images/green/units/pillager/walk/right/3.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/walk/right/3.png rename to packages/art/sprites/tinted_images/green/units/pillager/walk/right/3.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/walk/up/0.png b/packages/art/sprites/tinted_images/green/units/pillager/walk/up/0.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/walk/up/0.png rename to packages/art/sprites/tinted_images/green/units/pillager/walk/up/0.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/walk/up/1.png b/packages/art/sprites/tinted_images/green/units/pillager/walk/up/1.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/walk/up/1.png rename to packages/art/sprites/tinted_images/green/units/pillager/walk/up/1.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/walk/up/2.png b/packages/art/sprites/tinted_images/green/units/pillager/walk/up/2.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/walk/up/2.png rename to packages/art/sprites/tinted_images/green/units/pillager/walk/up/2.png diff --git a/packages/art/sprites/tinted_images/green/units/rider/walk/up/3.png b/packages/art/sprites/tinted_images/green/units/pillager/walk/up/3.png similarity index 100% rename from packages/art/sprites/tinted_images/green/units/rider/walk/up/3.png rename to packages/art/sprites/tinted_images/green/units/pillager/walk/up/3.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/attack/0.png b/packages/art/sprites/tinted_images/red/units/dragoon/attack/0.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/attack/0.png rename to packages/art/sprites/tinted_images/red/units/dragoon/attack/0.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/attack/1.png b/packages/art/sprites/tinted_images/red/units/dragoon/attack/1.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/attack/1.png rename to packages/art/sprites/tinted_images/red/units/dragoon/attack/1.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/attack/2.png b/packages/art/sprites/tinted_images/red/units/dragoon/attack/2.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/attack/2.png rename to packages/art/sprites/tinted_images/red/units/dragoon/attack/2.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/attack/3.png b/packages/art/sprites/tinted_images/red/units/dragoon/attack/3.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/attack/3.png rename to packages/art/sprites/tinted_images/red/units/dragoon/attack/3.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/attack/4.png b/packages/art/sprites/tinted_images/red/units/dragoon/attack/4.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/attack/4.png rename to packages/art/sprites/tinted_images/red/units/dragoon/attack/4.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/attack/5.png b/packages/art/sprites/tinted_images/red/units/dragoon/attack/5.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/attack/5.png rename to packages/art/sprites/tinted_images/red/units/dragoon/attack/5.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/death/0.png b/packages/art/sprites/tinted_images/red/units/dragoon/death/0.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/death/0.png rename to packages/art/sprites/tinted_images/red/units/dragoon/death/0.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/death/1.png b/packages/art/sprites/tinted_images/red/units/dragoon/death/1.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/death/1.png rename to packages/art/sprites/tinted_images/red/units/dragoon/death/1.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/death/10.png b/packages/art/sprites/tinted_images/red/units/dragoon/death/10.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/death/10.png rename to packages/art/sprites/tinted_images/red/units/dragoon/death/10.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/death/11.png b/packages/art/sprites/tinted_images/red/units/dragoon/death/11.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/death/11.png rename to packages/art/sprites/tinted_images/red/units/dragoon/death/11.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/death/2.png b/packages/art/sprites/tinted_images/red/units/dragoon/death/2.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/death/2.png rename to packages/art/sprites/tinted_images/red/units/dragoon/death/2.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/death/3.png b/packages/art/sprites/tinted_images/red/units/dragoon/death/3.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/death/3.png rename to packages/art/sprites/tinted_images/red/units/dragoon/death/3.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/death/4.png b/packages/art/sprites/tinted_images/red/units/dragoon/death/4.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/death/4.png rename to packages/art/sprites/tinted_images/red/units/dragoon/death/4.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/death/5.png b/packages/art/sprites/tinted_images/red/units/dragoon/death/5.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/death/5.png rename to packages/art/sprites/tinted_images/red/units/dragoon/death/5.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/death/6.png b/packages/art/sprites/tinted_images/red/units/dragoon/death/6.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/death/6.png rename to packages/art/sprites/tinted_images/red/units/dragoon/death/6.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/death/7.png b/packages/art/sprites/tinted_images/red/units/dragoon/death/7.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/death/7.png rename to packages/art/sprites/tinted_images/red/units/dragoon/death/7.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/death/8.png b/packages/art/sprites/tinted_images/red/units/dragoon/death/8.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/death/8.png rename to packages/art/sprites/tinted_images/red/units/dragoon/death/8.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/death/9.png b/packages/art/sprites/tinted_images/red/units/dragoon/death/9.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/death/9.png rename to packages/art/sprites/tinted_images/red/units/dragoon/death/9.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/idle/0.png b/packages/art/sprites/tinted_images/red/units/dragoon/idle/0.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/idle/0.png rename to packages/art/sprites/tinted_images/red/units/dragoon/idle/0.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/idle/1.png b/packages/art/sprites/tinted_images/red/units/dragoon/idle/1.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/idle/1.png rename to packages/art/sprites/tinted_images/red/units/dragoon/idle/1.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/idle/2.png b/packages/art/sprites/tinted_images/red/units/dragoon/idle/2.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/idle/2.png rename to packages/art/sprites/tinted_images/red/units/dragoon/idle/2.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/idle/3.png b/packages/art/sprites/tinted_images/red/units/dragoon/idle/3.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/idle/3.png rename to packages/art/sprites/tinted_images/red/units/dragoon/idle/3.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/walk/down/0.png b/packages/art/sprites/tinted_images/red/units/dragoon/walk/down/0.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/walk/down/0.png rename to packages/art/sprites/tinted_images/red/units/dragoon/walk/down/0.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/walk/down/1.png b/packages/art/sprites/tinted_images/red/units/dragoon/walk/down/1.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/walk/down/1.png rename to packages/art/sprites/tinted_images/red/units/dragoon/walk/down/1.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/walk/down/2.png b/packages/art/sprites/tinted_images/red/units/dragoon/walk/down/2.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/walk/down/2.png rename to packages/art/sprites/tinted_images/red/units/dragoon/walk/down/2.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/walk/down/3.png b/packages/art/sprites/tinted_images/red/units/dragoon/walk/down/3.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/walk/down/3.png rename to packages/art/sprites/tinted_images/red/units/dragoon/walk/down/3.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/walk/left/0.png b/packages/art/sprites/tinted_images/red/units/dragoon/walk/left/0.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/walk/left/0.png rename to packages/art/sprites/tinted_images/red/units/dragoon/walk/left/0.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/walk/left/1.png b/packages/art/sprites/tinted_images/red/units/dragoon/walk/left/1.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/walk/left/1.png rename to packages/art/sprites/tinted_images/red/units/dragoon/walk/left/1.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/walk/left/2.png b/packages/art/sprites/tinted_images/red/units/dragoon/walk/left/2.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/walk/left/2.png rename to packages/art/sprites/tinted_images/red/units/dragoon/walk/left/2.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/walk/left/3.png b/packages/art/sprites/tinted_images/red/units/dragoon/walk/left/3.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/walk/left/3.png rename to packages/art/sprites/tinted_images/red/units/dragoon/walk/left/3.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/walk/right/0.png b/packages/art/sprites/tinted_images/red/units/dragoon/walk/right/0.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/walk/right/0.png rename to packages/art/sprites/tinted_images/red/units/dragoon/walk/right/0.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/walk/right/1.png b/packages/art/sprites/tinted_images/red/units/dragoon/walk/right/1.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/walk/right/1.png rename to packages/art/sprites/tinted_images/red/units/dragoon/walk/right/1.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/walk/right/2.png b/packages/art/sprites/tinted_images/red/units/dragoon/walk/right/2.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/walk/right/2.png rename to packages/art/sprites/tinted_images/red/units/dragoon/walk/right/2.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/walk/right/3.png b/packages/art/sprites/tinted_images/red/units/dragoon/walk/right/3.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/walk/right/3.png rename to packages/art/sprites/tinted_images/red/units/dragoon/walk/right/3.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/walk/up/0.png b/packages/art/sprites/tinted_images/red/units/dragoon/walk/up/0.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/walk/up/0.png rename to packages/art/sprites/tinted_images/red/units/dragoon/walk/up/0.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/walk/up/1.png b/packages/art/sprites/tinted_images/red/units/dragoon/walk/up/1.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/walk/up/1.png rename to packages/art/sprites/tinted_images/red/units/dragoon/walk/up/1.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/walk/up/2.png b/packages/art/sprites/tinted_images/red/units/dragoon/walk/up/2.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/walk/up/2.png rename to packages/art/sprites/tinted_images/red/units/dragoon/walk/up/2.png diff --git a/packages/art/sprites/tinted_images/red/units/dragon/walk/up/3.png b/packages/art/sprites/tinted_images/red/units/dragoon/walk/up/3.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/dragon/walk/up/3.png rename to packages/art/sprites/tinted_images/red/units/dragoon/walk/up/3.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/attack/0.png b/packages/art/sprites/tinted_images/red/units/halberdier/attack/0.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/attack/0.png rename to packages/art/sprites/tinted_images/red/units/halberdier/attack/0.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/attack/1.png b/packages/art/sprites/tinted_images/red/units/halberdier/attack/1.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/attack/1.png rename to packages/art/sprites/tinted_images/red/units/halberdier/attack/1.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/attack/2.png b/packages/art/sprites/tinted_images/red/units/halberdier/attack/2.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/attack/2.png rename to packages/art/sprites/tinted_images/red/units/halberdier/attack/2.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/attack/3.png b/packages/art/sprites/tinted_images/red/units/halberdier/attack/3.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/attack/3.png rename to packages/art/sprites/tinted_images/red/units/halberdier/attack/3.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/attack/4.png b/packages/art/sprites/tinted_images/red/units/halberdier/attack/4.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/attack/4.png rename to packages/art/sprites/tinted_images/red/units/halberdier/attack/4.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/attack/5.png b/packages/art/sprites/tinted_images/red/units/halberdier/attack/5.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/attack/5.png rename to packages/art/sprites/tinted_images/red/units/halberdier/attack/5.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/death/0.png b/packages/art/sprites/tinted_images/red/units/halberdier/death/0.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/death/0.png rename to packages/art/sprites/tinted_images/red/units/halberdier/death/0.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/death/1.png b/packages/art/sprites/tinted_images/red/units/halberdier/death/1.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/death/1.png rename to packages/art/sprites/tinted_images/red/units/halberdier/death/1.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/death/10.png b/packages/art/sprites/tinted_images/red/units/halberdier/death/10.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/death/10.png rename to packages/art/sprites/tinted_images/red/units/halberdier/death/10.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/death/11.png b/packages/art/sprites/tinted_images/red/units/halberdier/death/11.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/death/11.png rename to packages/art/sprites/tinted_images/red/units/halberdier/death/11.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/death/2.png b/packages/art/sprites/tinted_images/red/units/halberdier/death/2.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/death/2.png rename to packages/art/sprites/tinted_images/red/units/halberdier/death/2.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/death/3.png b/packages/art/sprites/tinted_images/red/units/halberdier/death/3.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/death/3.png rename to packages/art/sprites/tinted_images/red/units/halberdier/death/3.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/death/4.png b/packages/art/sprites/tinted_images/red/units/halberdier/death/4.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/death/4.png rename to packages/art/sprites/tinted_images/red/units/halberdier/death/4.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/death/5.png b/packages/art/sprites/tinted_images/red/units/halberdier/death/5.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/death/5.png rename to packages/art/sprites/tinted_images/red/units/halberdier/death/5.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/death/6.png b/packages/art/sprites/tinted_images/red/units/halberdier/death/6.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/death/6.png rename to packages/art/sprites/tinted_images/red/units/halberdier/death/6.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/death/7.png b/packages/art/sprites/tinted_images/red/units/halberdier/death/7.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/death/7.png rename to packages/art/sprites/tinted_images/red/units/halberdier/death/7.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/death/8.png b/packages/art/sprites/tinted_images/red/units/halberdier/death/8.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/death/8.png rename to packages/art/sprites/tinted_images/red/units/halberdier/death/8.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/death/9.png b/packages/art/sprites/tinted_images/red/units/halberdier/death/9.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/death/9.png rename to packages/art/sprites/tinted_images/red/units/halberdier/death/9.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/idle/0.png b/packages/art/sprites/tinted_images/red/units/halberdier/idle/0.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/idle/0.png rename to packages/art/sprites/tinted_images/red/units/halberdier/idle/0.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/idle/1.png b/packages/art/sprites/tinted_images/red/units/halberdier/idle/1.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/idle/1.png rename to packages/art/sprites/tinted_images/red/units/halberdier/idle/1.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/idle/2.png b/packages/art/sprites/tinted_images/red/units/halberdier/idle/2.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/idle/2.png rename to packages/art/sprites/tinted_images/red/units/halberdier/idle/2.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/idle/3.png b/packages/art/sprites/tinted_images/red/units/halberdier/idle/3.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/idle/3.png rename to packages/art/sprites/tinted_images/red/units/halberdier/idle/3.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/walk/down/0.png b/packages/art/sprites/tinted_images/red/units/halberdier/walk/down/0.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/walk/down/0.png rename to packages/art/sprites/tinted_images/red/units/halberdier/walk/down/0.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/walk/down/1.png b/packages/art/sprites/tinted_images/red/units/halberdier/walk/down/1.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/walk/down/1.png rename to packages/art/sprites/tinted_images/red/units/halberdier/walk/down/1.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/walk/down/2.png b/packages/art/sprites/tinted_images/red/units/halberdier/walk/down/2.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/walk/down/2.png rename to packages/art/sprites/tinted_images/red/units/halberdier/walk/down/2.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/walk/down/3.png b/packages/art/sprites/tinted_images/red/units/halberdier/walk/down/3.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/walk/down/3.png rename to packages/art/sprites/tinted_images/red/units/halberdier/walk/down/3.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/walk/left/0.png b/packages/art/sprites/tinted_images/red/units/halberdier/walk/left/0.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/walk/left/0.png rename to packages/art/sprites/tinted_images/red/units/halberdier/walk/left/0.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/walk/left/1.png b/packages/art/sprites/tinted_images/red/units/halberdier/walk/left/1.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/walk/left/1.png rename to packages/art/sprites/tinted_images/red/units/halberdier/walk/left/1.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/walk/left/2.png b/packages/art/sprites/tinted_images/red/units/halberdier/walk/left/2.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/walk/left/2.png rename to packages/art/sprites/tinted_images/red/units/halberdier/walk/left/2.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/walk/left/3.png b/packages/art/sprites/tinted_images/red/units/halberdier/walk/left/3.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/walk/left/3.png rename to packages/art/sprites/tinted_images/red/units/halberdier/walk/left/3.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/walk/right/0.png b/packages/art/sprites/tinted_images/red/units/halberdier/walk/right/0.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/walk/right/0.png rename to packages/art/sprites/tinted_images/red/units/halberdier/walk/right/0.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/walk/right/1.png b/packages/art/sprites/tinted_images/red/units/halberdier/walk/right/1.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/walk/right/1.png rename to packages/art/sprites/tinted_images/red/units/halberdier/walk/right/1.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/walk/right/2.png b/packages/art/sprites/tinted_images/red/units/halberdier/walk/right/2.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/walk/right/2.png rename to packages/art/sprites/tinted_images/red/units/halberdier/walk/right/2.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/walk/right/3.png b/packages/art/sprites/tinted_images/red/units/halberdier/walk/right/3.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/walk/right/3.png rename to packages/art/sprites/tinted_images/red/units/halberdier/walk/right/3.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/walk/up/0.png b/packages/art/sprites/tinted_images/red/units/halberdier/walk/up/0.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/walk/up/0.png rename to packages/art/sprites/tinted_images/red/units/halberdier/walk/up/0.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/walk/up/1.png b/packages/art/sprites/tinted_images/red/units/halberdier/walk/up/1.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/walk/up/1.png rename to packages/art/sprites/tinted_images/red/units/halberdier/walk/up/1.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/walk/up/2.png b/packages/art/sprites/tinted_images/red/units/halberdier/walk/up/2.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/walk/up/2.png rename to packages/art/sprites/tinted_images/red/units/halberdier/walk/up/2.png diff --git a/packages/art/sprites/tinted_images/red/units/golem/walk/up/3.png b/packages/art/sprites/tinted_images/red/units/halberdier/walk/up/3.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/golem/walk/up/3.png rename to packages/art/sprites/tinted_images/red/units/halberdier/walk/up/3.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/attack/0.png b/packages/art/sprites/tinted_images/red/units/marksman/attack/0.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/attack/0.png rename to packages/art/sprites/tinted_images/red/units/marksman/attack/0.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/attack/1.png b/packages/art/sprites/tinted_images/red/units/marksman/attack/1.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/attack/1.png rename to packages/art/sprites/tinted_images/red/units/marksman/attack/1.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/attack/2.png b/packages/art/sprites/tinted_images/red/units/marksman/attack/2.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/attack/2.png rename to packages/art/sprites/tinted_images/red/units/marksman/attack/2.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/attack/3.png b/packages/art/sprites/tinted_images/red/units/marksman/attack/3.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/attack/3.png rename to packages/art/sprites/tinted_images/red/units/marksman/attack/3.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/attack/4.png b/packages/art/sprites/tinted_images/red/units/marksman/attack/4.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/attack/4.png rename to packages/art/sprites/tinted_images/red/units/marksman/attack/4.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/attack/5.png b/packages/art/sprites/tinted_images/red/units/marksman/attack/5.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/attack/5.png rename to packages/art/sprites/tinted_images/red/units/marksman/attack/5.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/death/0.png b/packages/art/sprites/tinted_images/red/units/marksman/death/0.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/death/0.png rename to packages/art/sprites/tinted_images/red/units/marksman/death/0.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/death/1.png b/packages/art/sprites/tinted_images/red/units/marksman/death/1.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/death/1.png rename to packages/art/sprites/tinted_images/red/units/marksman/death/1.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/death/10.png b/packages/art/sprites/tinted_images/red/units/marksman/death/10.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/death/10.png rename to packages/art/sprites/tinted_images/red/units/marksman/death/10.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/death/11.png b/packages/art/sprites/tinted_images/red/units/marksman/death/11.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/death/11.png rename to packages/art/sprites/tinted_images/red/units/marksman/death/11.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/death/2.png b/packages/art/sprites/tinted_images/red/units/marksman/death/2.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/death/2.png rename to packages/art/sprites/tinted_images/red/units/marksman/death/2.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/death/3.png b/packages/art/sprites/tinted_images/red/units/marksman/death/3.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/death/3.png rename to packages/art/sprites/tinted_images/red/units/marksman/death/3.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/death/4.png b/packages/art/sprites/tinted_images/red/units/marksman/death/4.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/death/4.png rename to packages/art/sprites/tinted_images/red/units/marksman/death/4.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/death/5.png b/packages/art/sprites/tinted_images/red/units/marksman/death/5.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/death/5.png rename to packages/art/sprites/tinted_images/red/units/marksman/death/5.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/death/6.png b/packages/art/sprites/tinted_images/red/units/marksman/death/6.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/death/6.png rename to packages/art/sprites/tinted_images/red/units/marksman/death/6.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/death/7.png b/packages/art/sprites/tinted_images/red/units/marksman/death/7.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/death/7.png rename to packages/art/sprites/tinted_images/red/units/marksman/death/7.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/death/8.png b/packages/art/sprites/tinted_images/red/units/marksman/death/8.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/death/8.png rename to packages/art/sprites/tinted_images/red/units/marksman/death/8.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/death/9.png b/packages/art/sprites/tinted_images/red/units/marksman/death/9.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/death/9.png rename to packages/art/sprites/tinted_images/red/units/marksman/death/9.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/idle/0.png b/packages/art/sprites/tinted_images/red/units/marksman/idle/0.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/idle/0.png rename to packages/art/sprites/tinted_images/red/units/marksman/idle/0.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/idle/1.png b/packages/art/sprites/tinted_images/red/units/marksman/idle/1.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/idle/1.png rename to packages/art/sprites/tinted_images/red/units/marksman/idle/1.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/idle/2.png b/packages/art/sprites/tinted_images/red/units/marksman/idle/2.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/idle/2.png rename to packages/art/sprites/tinted_images/red/units/marksman/idle/2.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/idle/3.png b/packages/art/sprites/tinted_images/red/units/marksman/idle/3.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/idle/3.png rename to packages/art/sprites/tinted_images/red/units/marksman/idle/3.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/walk/down/0.png b/packages/art/sprites/tinted_images/red/units/marksman/walk/down/0.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/walk/down/0.png rename to packages/art/sprites/tinted_images/red/units/marksman/walk/down/0.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/walk/down/1.png b/packages/art/sprites/tinted_images/red/units/marksman/walk/down/1.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/walk/down/1.png rename to packages/art/sprites/tinted_images/red/units/marksman/walk/down/1.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/walk/down/2.png b/packages/art/sprites/tinted_images/red/units/marksman/walk/down/2.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/walk/down/2.png rename to packages/art/sprites/tinted_images/red/units/marksman/walk/down/2.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/walk/down/3.png b/packages/art/sprites/tinted_images/red/units/marksman/walk/down/3.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/walk/down/3.png rename to packages/art/sprites/tinted_images/red/units/marksman/walk/down/3.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/walk/left/0.png b/packages/art/sprites/tinted_images/red/units/marksman/walk/left/0.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/walk/left/0.png rename to packages/art/sprites/tinted_images/red/units/marksman/walk/left/0.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/walk/left/1.png b/packages/art/sprites/tinted_images/red/units/marksman/walk/left/1.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/walk/left/1.png rename to packages/art/sprites/tinted_images/red/units/marksman/walk/left/1.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/walk/left/2.png b/packages/art/sprites/tinted_images/red/units/marksman/walk/left/2.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/walk/left/2.png rename to packages/art/sprites/tinted_images/red/units/marksman/walk/left/2.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/walk/right/0.png b/packages/art/sprites/tinted_images/red/units/marksman/walk/right/0.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/walk/right/0.png rename to packages/art/sprites/tinted_images/red/units/marksman/walk/right/0.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/walk/right/1.png b/packages/art/sprites/tinted_images/red/units/marksman/walk/right/1.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/walk/right/1.png rename to packages/art/sprites/tinted_images/red/units/marksman/walk/right/1.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/walk/right/2.png b/packages/art/sprites/tinted_images/red/units/marksman/walk/right/2.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/walk/right/2.png rename to packages/art/sprites/tinted_images/red/units/marksman/walk/right/2.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/walk/up/0.png b/packages/art/sprites/tinted_images/red/units/marksman/walk/up/0.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/walk/up/0.png rename to packages/art/sprites/tinted_images/red/units/marksman/walk/up/0.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/walk/up/1.png b/packages/art/sprites/tinted_images/red/units/marksman/walk/up/1.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/walk/up/1.png rename to packages/art/sprites/tinted_images/red/units/marksman/walk/up/1.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/walk/up/2.png b/packages/art/sprites/tinted_images/red/units/marksman/walk/up/2.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/walk/up/2.png rename to packages/art/sprites/tinted_images/red/units/marksman/walk/up/2.png diff --git a/packages/art/sprites/tinted_images/red/units/wizard/walk/up/3.png b/packages/art/sprites/tinted_images/red/units/marksman/walk/up/3.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/wizard/walk/up/3.png rename to packages/art/sprites/tinted_images/red/units/marksman/walk/up/3.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/attack/0.png b/packages/art/sprites/tinted_images/red/units/pillager/attack/0.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/attack/0.png rename to packages/art/sprites/tinted_images/red/units/pillager/attack/0.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/attack/1.png b/packages/art/sprites/tinted_images/red/units/pillager/attack/1.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/attack/1.png rename to packages/art/sprites/tinted_images/red/units/pillager/attack/1.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/attack/2.png b/packages/art/sprites/tinted_images/red/units/pillager/attack/2.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/attack/2.png rename to packages/art/sprites/tinted_images/red/units/pillager/attack/2.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/attack/3.png b/packages/art/sprites/tinted_images/red/units/pillager/attack/3.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/attack/3.png rename to packages/art/sprites/tinted_images/red/units/pillager/attack/3.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/attack/4.png b/packages/art/sprites/tinted_images/red/units/pillager/attack/4.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/attack/4.png rename to packages/art/sprites/tinted_images/red/units/pillager/attack/4.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/attack/5.png b/packages/art/sprites/tinted_images/red/units/pillager/attack/5.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/attack/5.png rename to packages/art/sprites/tinted_images/red/units/pillager/attack/5.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/death/0.png b/packages/art/sprites/tinted_images/red/units/pillager/death/0.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/death/0.png rename to packages/art/sprites/tinted_images/red/units/pillager/death/0.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/death/1.png b/packages/art/sprites/tinted_images/red/units/pillager/death/1.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/death/1.png rename to packages/art/sprites/tinted_images/red/units/pillager/death/1.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/death/2.png b/packages/art/sprites/tinted_images/red/units/pillager/death/2.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/death/2.png rename to packages/art/sprites/tinted_images/red/units/pillager/death/2.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/death/3.png b/packages/art/sprites/tinted_images/red/units/pillager/death/3.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/death/3.png rename to packages/art/sprites/tinted_images/red/units/pillager/death/3.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/death/4.png b/packages/art/sprites/tinted_images/red/units/pillager/death/4.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/death/4.png rename to packages/art/sprites/tinted_images/red/units/pillager/death/4.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/death/5.png b/packages/art/sprites/tinted_images/red/units/pillager/death/5.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/death/5.png rename to packages/art/sprites/tinted_images/red/units/pillager/death/5.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/death/6.png b/packages/art/sprites/tinted_images/red/units/pillager/death/6.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/death/6.png rename to packages/art/sprites/tinted_images/red/units/pillager/death/6.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/death/7.png b/packages/art/sprites/tinted_images/red/units/pillager/death/7.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/death/7.png rename to packages/art/sprites/tinted_images/red/units/pillager/death/7.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/idle/0.png b/packages/art/sprites/tinted_images/red/units/pillager/idle/0.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/idle/0.png rename to packages/art/sprites/tinted_images/red/units/pillager/idle/0.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/idle/1.png b/packages/art/sprites/tinted_images/red/units/pillager/idle/1.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/idle/1.png rename to packages/art/sprites/tinted_images/red/units/pillager/idle/1.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/idle/2.png b/packages/art/sprites/tinted_images/red/units/pillager/idle/2.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/idle/2.png rename to packages/art/sprites/tinted_images/red/units/pillager/idle/2.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/idle/3.png b/packages/art/sprites/tinted_images/red/units/pillager/idle/3.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/idle/3.png rename to packages/art/sprites/tinted_images/red/units/pillager/idle/3.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/walk/down/0.png b/packages/art/sprites/tinted_images/red/units/pillager/walk/down/0.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/walk/down/0.png rename to packages/art/sprites/tinted_images/red/units/pillager/walk/down/0.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/walk/down/1.png b/packages/art/sprites/tinted_images/red/units/pillager/walk/down/1.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/walk/down/1.png rename to packages/art/sprites/tinted_images/red/units/pillager/walk/down/1.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/walk/down/2.png b/packages/art/sprites/tinted_images/red/units/pillager/walk/down/2.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/walk/down/2.png rename to packages/art/sprites/tinted_images/red/units/pillager/walk/down/2.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/walk/down/3.png b/packages/art/sprites/tinted_images/red/units/pillager/walk/down/3.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/walk/down/3.png rename to packages/art/sprites/tinted_images/red/units/pillager/walk/down/3.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/walk/left/0.png b/packages/art/sprites/tinted_images/red/units/pillager/walk/left/0.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/walk/left/0.png rename to packages/art/sprites/tinted_images/red/units/pillager/walk/left/0.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/walk/left/1.png b/packages/art/sprites/tinted_images/red/units/pillager/walk/left/1.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/walk/left/1.png rename to packages/art/sprites/tinted_images/red/units/pillager/walk/left/1.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/walk/left/2.png b/packages/art/sprites/tinted_images/red/units/pillager/walk/left/2.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/walk/left/2.png rename to packages/art/sprites/tinted_images/red/units/pillager/walk/left/2.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/walk/left/3.png b/packages/art/sprites/tinted_images/red/units/pillager/walk/left/3.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/walk/left/3.png rename to packages/art/sprites/tinted_images/red/units/pillager/walk/left/3.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/walk/right/0.png b/packages/art/sprites/tinted_images/red/units/pillager/walk/right/0.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/walk/right/0.png rename to packages/art/sprites/tinted_images/red/units/pillager/walk/right/0.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/walk/right/1.png b/packages/art/sprites/tinted_images/red/units/pillager/walk/right/1.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/walk/right/1.png rename to packages/art/sprites/tinted_images/red/units/pillager/walk/right/1.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/walk/right/2.png b/packages/art/sprites/tinted_images/red/units/pillager/walk/right/2.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/walk/right/2.png rename to packages/art/sprites/tinted_images/red/units/pillager/walk/right/2.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/walk/right/3.png b/packages/art/sprites/tinted_images/red/units/pillager/walk/right/3.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/walk/right/3.png rename to packages/art/sprites/tinted_images/red/units/pillager/walk/right/3.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/walk/up/0.png b/packages/art/sprites/tinted_images/red/units/pillager/walk/up/0.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/walk/up/0.png rename to packages/art/sprites/tinted_images/red/units/pillager/walk/up/0.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/walk/up/1.png b/packages/art/sprites/tinted_images/red/units/pillager/walk/up/1.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/walk/up/1.png rename to packages/art/sprites/tinted_images/red/units/pillager/walk/up/1.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/walk/up/2.png b/packages/art/sprites/tinted_images/red/units/pillager/walk/up/2.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/walk/up/2.png rename to packages/art/sprites/tinted_images/red/units/pillager/walk/up/2.png diff --git a/packages/art/sprites/tinted_images/red/units/rider/walk/up/3.png b/packages/art/sprites/tinted_images/red/units/pillager/walk/up/3.png similarity index 100% rename from packages/art/sprites/tinted_images/red/units/rider/walk/up/3.png rename to packages/art/sprites/tinted_images/red/units/pillager/walk/up/3.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/attack/0.png b/packages/art/sprites/tinted_images/white/units/dragoon/attack/0.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/attack/0.png rename to packages/art/sprites/tinted_images/white/units/dragoon/attack/0.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/attack/1.png b/packages/art/sprites/tinted_images/white/units/dragoon/attack/1.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/attack/1.png rename to packages/art/sprites/tinted_images/white/units/dragoon/attack/1.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/attack/2.png b/packages/art/sprites/tinted_images/white/units/dragoon/attack/2.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/attack/2.png rename to packages/art/sprites/tinted_images/white/units/dragoon/attack/2.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/attack/3.png b/packages/art/sprites/tinted_images/white/units/dragoon/attack/3.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/attack/3.png rename to packages/art/sprites/tinted_images/white/units/dragoon/attack/3.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/attack/4.png b/packages/art/sprites/tinted_images/white/units/dragoon/attack/4.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/attack/4.png rename to packages/art/sprites/tinted_images/white/units/dragoon/attack/4.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/attack/5.png b/packages/art/sprites/tinted_images/white/units/dragoon/attack/5.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/attack/5.png rename to packages/art/sprites/tinted_images/white/units/dragoon/attack/5.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/death/0.png b/packages/art/sprites/tinted_images/white/units/dragoon/death/0.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/death/0.png rename to packages/art/sprites/tinted_images/white/units/dragoon/death/0.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/death/1.png b/packages/art/sprites/tinted_images/white/units/dragoon/death/1.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/death/1.png rename to packages/art/sprites/tinted_images/white/units/dragoon/death/1.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/death/10.png b/packages/art/sprites/tinted_images/white/units/dragoon/death/10.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/death/10.png rename to packages/art/sprites/tinted_images/white/units/dragoon/death/10.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/death/11.png b/packages/art/sprites/tinted_images/white/units/dragoon/death/11.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/death/11.png rename to packages/art/sprites/tinted_images/white/units/dragoon/death/11.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/death/2.png b/packages/art/sprites/tinted_images/white/units/dragoon/death/2.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/death/2.png rename to packages/art/sprites/tinted_images/white/units/dragoon/death/2.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/death/3.png b/packages/art/sprites/tinted_images/white/units/dragoon/death/3.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/death/3.png rename to packages/art/sprites/tinted_images/white/units/dragoon/death/3.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/death/4.png b/packages/art/sprites/tinted_images/white/units/dragoon/death/4.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/death/4.png rename to packages/art/sprites/tinted_images/white/units/dragoon/death/4.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/death/5.png b/packages/art/sprites/tinted_images/white/units/dragoon/death/5.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/death/5.png rename to packages/art/sprites/tinted_images/white/units/dragoon/death/5.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/death/6.png b/packages/art/sprites/tinted_images/white/units/dragoon/death/6.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/death/6.png rename to packages/art/sprites/tinted_images/white/units/dragoon/death/6.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/death/7.png b/packages/art/sprites/tinted_images/white/units/dragoon/death/7.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/death/7.png rename to packages/art/sprites/tinted_images/white/units/dragoon/death/7.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/death/8.png b/packages/art/sprites/tinted_images/white/units/dragoon/death/8.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/death/8.png rename to packages/art/sprites/tinted_images/white/units/dragoon/death/8.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/death/9.png b/packages/art/sprites/tinted_images/white/units/dragoon/death/9.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/death/9.png rename to packages/art/sprites/tinted_images/white/units/dragoon/death/9.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/idle/0.png b/packages/art/sprites/tinted_images/white/units/dragoon/idle/0.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/idle/0.png rename to packages/art/sprites/tinted_images/white/units/dragoon/idle/0.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/idle/1.png b/packages/art/sprites/tinted_images/white/units/dragoon/idle/1.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/idle/1.png rename to packages/art/sprites/tinted_images/white/units/dragoon/idle/1.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/idle/2.png b/packages/art/sprites/tinted_images/white/units/dragoon/idle/2.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/idle/2.png rename to packages/art/sprites/tinted_images/white/units/dragoon/idle/2.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/idle/3.png b/packages/art/sprites/tinted_images/white/units/dragoon/idle/3.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/idle/3.png rename to packages/art/sprites/tinted_images/white/units/dragoon/idle/3.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/walk/down/0.png b/packages/art/sprites/tinted_images/white/units/dragoon/walk/down/0.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/walk/down/0.png rename to packages/art/sprites/tinted_images/white/units/dragoon/walk/down/0.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/walk/down/1.png b/packages/art/sprites/tinted_images/white/units/dragoon/walk/down/1.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/walk/down/1.png rename to packages/art/sprites/tinted_images/white/units/dragoon/walk/down/1.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/walk/down/2.png b/packages/art/sprites/tinted_images/white/units/dragoon/walk/down/2.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/walk/down/2.png rename to packages/art/sprites/tinted_images/white/units/dragoon/walk/down/2.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/walk/down/3.png b/packages/art/sprites/tinted_images/white/units/dragoon/walk/down/3.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/walk/down/3.png rename to packages/art/sprites/tinted_images/white/units/dragoon/walk/down/3.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/walk/left/0.png b/packages/art/sprites/tinted_images/white/units/dragoon/walk/left/0.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/walk/left/0.png rename to packages/art/sprites/tinted_images/white/units/dragoon/walk/left/0.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/walk/left/1.png b/packages/art/sprites/tinted_images/white/units/dragoon/walk/left/1.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/walk/left/1.png rename to packages/art/sprites/tinted_images/white/units/dragoon/walk/left/1.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/walk/left/2.png b/packages/art/sprites/tinted_images/white/units/dragoon/walk/left/2.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/walk/left/2.png rename to packages/art/sprites/tinted_images/white/units/dragoon/walk/left/2.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/walk/left/3.png b/packages/art/sprites/tinted_images/white/units/dragoon/walk/left/3.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/walk/left/3.png rename to packages/art/sprites/tinted_images/white/units/dragoon/walk/left/3.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/walk/right/0.png b/packages/art/sprites/tinted_images/white/units/dragoon/walk/right/0.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/walk/right/0.png rename to packages/art/sprites/tinted_images/white/units/dragoon/walk/right/0.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/walk/right/1.png b/packages/art/sprites/tinted_images/white/units/dragoon/walk/right/1.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/walk/right/1.png rename to packages/art/sprites/tinted_images/white/units/dragoon/walk/right/1.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/walk/right/2.png b/packages/art/sprites/tinted_images/white/units/dragoon/walk/right/2.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/walk/right/2.png rename to packages/art/sprites/tinted_images/white/units/dragoon/walk/right/2.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/walk/right/3.png b/packages/art/sprites/tinted_images/white/units/dragoon/walk/right/3.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/walk/right/3.png rename to packages/art/sprites/tinted_images/white/units/dragoon/walk/right/3.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/walk/up/0.png b/packages/art/sprites/tinted_images/white/units/dragoon/walk/up/0.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/walk/up/0.png rename to packages/art/sprites/tinted_images/white/units/dragoon/walk/up/0.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/walk/up/1.png b/packages/art/sprites/tinted_images/white/units/dragoon/walk/up/1.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/walk/up/1.png rename to packages/art/sprites/tinted_images/white/units/dragoon/walk/up/1.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/walk/up/2.png b/packages/art/sprites/tinted_images/white/units/dragoon/walk/up/2.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/walk/up/2.png rename to packages/art/sprites/tinted_images/white/units/dragoon/walk/up/2.png diff --git a/packages/art/sprites/tinted_images/white/units/dragon/walk/up/3.png b/packages/art/sprites/tinted_images/white/units/dragoon/walk/up/3.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/dragon/walk/up/3.png rename to packages/art/sprites/tinted_images/white/units/dragoon/walk/up/3.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/attack/0.png b/packages/art/sprites/tinted_images/white/units/halberdier/attack/0.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/attack/0.png rename to packages/art/sprites/tinted_images/white/units/halberdier/attack/0.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/attack/1.png b/packages/art/sprites/tinted_images/white/units/halberdier/attack/1.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/attack/1.png rename to packages/art/sprites/tinted_images/white/units/halberdier/attack/1.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/attack/2.png b/packages/art/sprites/tinted_images/white/units/halberdier/attack/2.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/attack/2.png rename to packages/art/sprites/tinted_images/white/units/halberdier/attack/2.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/attack/3.png b/packages/art/sprites/tinted_images/white/units/halberdier/attack/3.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/attack/3.png rename to packages/art/sprites/tinted_images/white/units/halberdier/attack/3.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/attack/4.png b/packages/art/sprites/tinted_images/white/units/halberdier/attack/4.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/attack/4.png rename to packages/art/sprites/tinted_images/white/units/halberdier/attack/4.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/attack/5.png b/packages/art/sprites/tinted_images/white/units/halberdier/attack/5.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/attack/5.png rename to packages/art/sprites/tinted_images/white/units/halberdier/attack/5.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/death/0.png b/packages/art/sprites/tinted_images/white/units/halberdier/death/0.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/death/0.png rename to packages/art/sprites/tinted_images/white/units/halberdier/death/0.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/death/1.png b/packages/art/sprites/tinted_images/white/units/halberdier/death/1.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/death/1.png rename to packages/art/sprites/tinted_images/white/units/halberdier/death/1.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/death/10.png b/packages/art/sprites/tinted_images/white/units/halberdier/death/10.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/death/10.png rename to packages/art/sprites/tinted_images/white/units/halberdier/death/10.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/death/11.png b/packages/art/sprites/tinted_images/white/units/halberdier/death/11.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/death/11.png rename to packages/art/sprites/tinted_images/white/units/halberdier/death/11.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/death/2.png b/packages/art/sprites/tinted_images/white/units/halberdier/death/2.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/death/2.png rename to packages/art/sprites/tinted_images/white/units/halberdier/death/2.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/death/3.png b/packages/art/sprites/tinted_images/white/units/halberdier/death/3.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/death/3.png rename to packages/art/sprites/tinted_images/white/units/halberdier/death/3.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/death/4.png b/packages/art/sprites/tinted_images/white/units/halberdier/death/4.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/death/4.png rename to packages/art/sprites/tinted_images/white/units/halberdier/death/4.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/death/5.png b/packages/art/sprites/tinted_images/white/units/halberdier/death/5.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/death/5.png rename to packages/art/sprites/tinted_images/white/units/halberdier/death/5.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/death/6.png b/packages/art/sprites/tinted_images/white/units/halberdier/death/6.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/death/6.png rename to packages/art/sprites/tinted_images/white/units/halberdier/death/6.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/death/7.png b/packages/art/sprites/tinted_images/white/units/halberdier/death/7.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/death/7.png rename to packages/art/sprites/tinted_images/white/units/halberdier/death/7.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/death/8.png b/packages/art/sprites/tinted_images/white/units/halberdier/death/8.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/death/8.png rename to packages/art/sprites/tinted_images/white/units/halberdier/death/8.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/death/9.png b/packages/art/sprites/tinted_images/white/units/halberdier/death/9.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/death/9.png rename to packages/art/sprites/tinted_images/white/units/halberdier/death/9.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/idle/0.png b/packages/art/sprites/tinted_images/white/units/halberdier/idle/0.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/idle/0.png rename to packages/art/sprites/tinted_images/white/units/halberdier/idle/0.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/idle/1.png b/packages/art/sprites/tinted_images/white/units/halberdier/idle/1.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/idle/1.png rename to packages/art/sprites/tinted_images/white/units/halberdier/idle/1.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/idle/2.png b/packages/art/sprites/tinted_images/white/units/halberdier/idle/2.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/idle/2.png rename to packages/art/sprites/tinted_images/white/units/halberdier/idle/2.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/idle/3.png b/packages/art/sprites/tinted_images/white/units/halberdier/idle/3.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/idle/3.png rename to packages/art/sprites/tinted_images/white/units/halberdier/idle/3.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/walk/down/0.png b/packages/art/sprites/tinted_images/white/units/halberdier/walk/down/0.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/walk/down/0.png rename to packages/art/sprites/tinted_images/white/units/halberdier/walk/down/0.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/walk/down/1.png b/packages/art/sprites/tinted_images/white/units/halberdier/walk/down/1.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/walk/down/1.png rename to packages/art/sprites/tinted_images/white/units/halberdier/walk/down/1.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/walk/down/2.png b/packages/art/sprites/tinted_images/white/units/halberdier/walk/down/2.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/walk/down/2.png rename to packages/art/sprites/tinted_images/white/units/halberdier/walk/down/2.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/walk/down/3.png b/packages/art/sprites/tinted_images/white/units/halberdier/walk/down/3.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/walk/down/3.png rename to packages/art/sprites/tinted_images/white/units/halberdier/walk/down/3.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/walk/left/0.png b/packages/art/sprites/tinted_images/white/units/halberdier/walk/left/0.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/walk/left/0.png rename to packages/art/sprites/tinted_images/white/units/halberdier/walk/left/0.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/walk/left/1.png b/packages/art/sprites/tinted_images/white/units/halberdier/walk/left/1.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/walk/left/1.png rename to packages/art/sprites/tinted_images/white/units/halberdier/walk/left/1.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/walk/left/2.png b/packages/art/sprites/tinted_images/white/units/halberdier/walk/left/2.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/walk/left/2.png rename to packages/art/sprites/tinted_images/white/units/halberdier/walk/left/2.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/walk/left/3.png b/packages/art/sprites/tinted_images/white/units/halberdier/walk/left/3.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/walk/left/3.png rename to packages/art/sprites/tinted_images/white/units/halberdier/walk/left/3.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/walk/right/0.png b/packages/art/sprites/tinted_images/white/units/halberdier/walk/right/0.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/walk/right/0.png rename to packages/art/sprites/tinted_images/white/units/halberdier/walk/right/0.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/walk/right/1.png b/packages/art/sprites/tinted_images/white/units/halberdier/walk/right/1.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/walk/right/1.png rename to packages/art/sprites/tinted_images/white/units/halberdier/walk/right/1.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/walk/right/2.png b/packages/art/sprites/tinted_images/white/units/halberdier/walk/right/2.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/walk/right/2.png rename to packages/art/sprites/tinted_images/white/units/halberdier/walk/right/2.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/walk/right/3.png b/packages/art/sprites/tinted_images/white/units/halberdier/walk/right/3.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/walk/right/3.png rename to packages/art/sprites/tinted_images/white/units/halberdier/walk/right/3.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/walk/up/0.png b/packages/art/sprites/tinted_images/white/units/halberdier/walk/up/0.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/walk/up/0.png rename to packages/art/sprites/tinted_images/white/units/halberdier/walk/up/0.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/walk/up/1.png b/packages/art/sprites/tinted_images/white/units/halberdier/walk/up/1.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/walk/up/1.png rename to packages/art/sprites/tinted_images/white/units/halberdier/walk/up/1.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/walk/up/2.png b/packages/art/sprites/tinted_images/white/units/halberdier/walk/up/2.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/walk/up/2.png rename to packages/art/sprites/tinted_images/white/units/halberdier/walk/up/2.png diff --git a/packages/art/sprites/tinted_images/white/units/golem/walk/up/3.png b/packages/art/sprites/tinted_images/white/units/halberdier/walk/up/3.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/golem/walk/up/3.png rename to packages/art/sprites/tinted_images/white/units/halberdier/walk/up/3.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/attack/0.png b/packages/art/sprites/tinted_images/white/units/marksman/attack/0.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/attack/0.png rename to packages/art/sprites/tinted_images/white/units/marksman/attack/0.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/attack/1.png b/packages/art/sprites/tinted_images/white/units/marksman/attack/1.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/attack/1.png rename to packages/art/sprites/tinted_images/white/units/marksman/attack/1.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/attack/2.png b/packages/art/sprites/tinted_images/white/units/marksman/attack/2.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/attack/2.png rename to packages/art/sprites/tinted_images/white/units/marksman/attack/2.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/attack/3.png b/packages/art/sprites/tinted_images/white/units/marksman/attack/3.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/attack/3.png rename to packages/art/sprites/tinted_images/white/units/marksman/attack/3.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/attack/4.png b/packages/art/sprites/tinted_images/white/units/marksman/attack/4.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/attack/4.png rename to packages/art/sprites/tinted_images/white/units/marksman/attack/4.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/attack/5.png b/packages/art/sprites/tinted_images/white/units/marksman/attack/5.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/attack/5.png rename to packages/art/sprites/tinted_images/white/units/marksman/attack/5.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/death/0.png b/packages/art/sprites/tinted_images/white/units/marksman/death/0.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/death/0.png rename to packages/art/sprites/tinted_images/white/units/marksman/death/0.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/death/1.png b/packages/art/sprites/tinted_images/white/units/marksman/death/1.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/death/1.png rename to packages/art/sprites/tinted_images/white/units/marksman/death/1.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/death/10.png b/packages/art/sprites/tinted_images/white/units/marksman/death/10.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/death/10.png rename to packages/art/sprites/tinted_images/white/units/marksman/death/10.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/death/11.png b/packages/art/sprites/tinted_images/white/units/marksman/death/11.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/death/11.png rename to packages/art/sprites/tinted_images/white/units/marksman/death/11.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/death/2.png b/packages/art/sprites/tinted_images/white/units/marksman/death/2.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/death/2.png rename to packages/art/sprites/tinted_images/white/units/marksman/death/2.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/death/3.png b/packages/art/sprites/tinted_images/white/units/marksman/death/3.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/death/3.png rename to packages/art/sprites/tinted_images/white/units/marksman/death/3.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/death/4.png b/packages/art/sprites/tinted_images/white/units/marksman/death/4.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/death/4.png rename to packages/art/sprites/tinted_images/white/units/marksman/death/4.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/death/5.png b/packages/art/sprites/tinted_images/white/units/marksman/death/5.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/death/5.png rename to packages/art/sprites/tinted_images/white/units/marksman/death/5.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/death/6.png b/packages/art/sprites/tinted_images/white/units/marksman/death/6.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/death/6.png rename to packages/art/sprites/tinted_images/white/units/marksman/death/6.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/death/7.png b/packages/art/sprites/tinted_images/white/units/marksman/death/7.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/death/7.png rename to packages/art/sprites/tinted_images/white/units/marksman/death/7.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/death/8.png b/packages/art/sprites/tinted_images/white/units/marksman/death/8.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/death/8.png rename to packages/art/sprites/tinted_images/white/units/marksman/death/8.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/death/9.png b/packages/art/sprites/tinted_images/white/units/marksman/death/9.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/death/9.png rename to packages/art/sprites/tinted_images/white/units/marksman/death/9.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/idle/0.png b/packages/art/sprites/tinted_images/white/units/marksman/idle/0.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/idle/0.png rename to packages/art/sprites/tinted_images/white/units/marksman/idle/0.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/idle/1.png b/packages/art/sprites/tinted_images/white/units/marksman/idle/1.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/idle/1.png rename to packages/art/sprites/tinted_images/white/units/marksman/idle/1.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/idle/2.png b/packages/art/sprites/tinted_images/white/units/marksman/idle/2.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/idle/2.png rename to packages/art/sprites/tinted_images/white/units/marksman/idle/2.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/idle/3.png b/packages/art/sprites/tinted_images/white/units/marksman/idle/3.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/idle/3.png rename to packages/art/sprites/tinted_images/white/units/marksman/idle/3.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/walk/down/0.png b/packages/art/sprites/tinted_images/white/units/marksman/walk/down/0.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/walk/down/0.png rename to packages/art/sprites/tinted_images/white/units/marksman/walk/down/0.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/walk/down/1.png b/packages/art/sprites/tinted_images/white/units/marksman/walk/down/1.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/walk/down/1.png rename to packages/art/sprites/tinted_images/white/units/marksman/walk/down/1.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/walk/down/2.png b/packages/art/sprites/tinted_images/white/units/marksman/walk/down/2.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/walk/down/2.png rename to packages/art/sprites/tinted_images/white/units/marksman/walk/down/2.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/walk/down/3.png b/packages/art/sprites/tinted_images/white/units/marksman/walk/down/3.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/walk/down/3.png rename to packages/art/sprites/tinted_images/white/units/marksman/walk/down/3.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/walk/left/0.png b/packages/art/sprites/tinted_images/white/units/marksman/walk/left/0.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/walk/left/0.png rename to packages/art/sprites/tinted_images/white/units/marksman/walk/left/0.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/walk/left/1.png b/packages/art/sprites/tinted_images/white/units/marksman/walk/left/1.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/walk/left/1.png rename to packages/art/sprites/tinted_images/white/units/marksman/walk/left/1.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/walk/left/2.png b/packages/art/sprites/tinted_images/white/units/marksman/walk/left/2.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/walk/left/2.png rename to packages/art/sprites/tinted_images/white/units/marksman/walk/left/2.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/walk/right/0.png b/packages/art/sprites/tinted_images/white/units/marksman/walk/right/0.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/walk/right/0.png rename to packages/art/sprites/tinted_images/white/units/marksman/walk/right/0.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/walk/right/1.png b/packages/art/sprites/tinted_images/white/units/marksman/walk/right/1.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/walk/right/1.png rename to packages/art/sprites/tinted_images/white/units/marksman/walk/right/1.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/walk/right/2.png b/packages/art/sprites/tinted_images/white/units/marksman/walk/right/2.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/walk/right/2.png rename to packages/art/sprites/tinted_images/white/units/marksman/walk/right/2.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/walk/up/0.png b/packages/art/sprites/tinted_images/white/units/marksman/walk/up/0.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/walk/up/0.png rename to packages/art/sprites/tinted_images/white/units/marksman/walk/up/0.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/walk/up/1.png b/packages/art/sprites/tinted_images/white/units/marksman/walk/up/1.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/walk/up/1.png rename to packages/art/sprites/tinted_images/white/units/marksman/walk/up/1.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/walk/up/2.png b/packages/art/sprites/tinted_images/white/units/marksman/walk/up/2.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/walk/up/2.png rename to packages/art/sprites/tinted_images/white/units/marksman/walk/up/2.png diff --git a/packages/art/sprites/tinted_images/white/units/wizard/walk/up/3.png b/packages/art/sprites/tinted_images/white/units/marksman/walk/up/3.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/wizard/walk/up/3.png rename to packages/art/sprites/tinted_images/white/units/marksman/walk/up/3.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/attack/0.png b/packages/art/sprites/tinted_images/white/units/pillager/attack/0.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/attack/0.png rename to packages/art/sprites/tinted_images/white/units/pillager/attack/0.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/attack/1.png b/packages/art/sprites/tinted_images/white/units/pillager/attack/1.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/attack/1.png rename to packages/art/sprites/tinted_images/white/units/pillager/attack/1.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/attack/2.png b/packages/art/sprites/tinted_images/white/units/pillager/attack/2.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/attack/2.png rename to packages/art/sprites/tinted_images/white/units/pillager/attack/2.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/attack/3.png b/packages/art/sprites/tinted_images/white/units/pillager/attack/3.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/attack/3.png rename to packages/art/sprites/tinted_images/white/units/pillager/attack/3.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/attack/4.png b/packages/art/sprites/tinted_images/white/units/pillager/attack/4.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/attack/4.png rename to packages/art/sprites/tinted_images/white/units/pillager/attack/4.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/attack/5.png b/packages/art/sprites/tinted_images/white/units/pillager/attack/5.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/attack/5.png rename to packages/art/sprites/tinted_images/white/units/pillager/attack/5.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/death/0.png b/packages/art/sprites/tinted_images/white/units/pillager/death/0.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/death/0.png rename to packages/art/sprites/tinted_images/white/units/pillager/death/0.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/death/1.png b/packages/art/sprites/tinted_images/white/units/pillager/death/1.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/death/1.png rename to packages/art/sprites/tinted_images/white/units/pillager/death/1.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/death/2.png b/packages/art/sprites/tinted_images/white/units/pillager/death/2.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/death/2.png rename to packages/art/sprites/tinted_images/white/units/pillager/death/2.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/death/3.png b/packages/art/sprites/tinted_images/white/units/pillager/death/3.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/death/3.png rename to packages/art/sprites/tinted_images/white/units/pillager/death/3.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/death/4.png b/packages/art/sprites/tinted_images/white/units/pillager/death/4.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/death/4.png rename to packages/art/sprites/tinted_images/white/units/pillager/death/4.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/death/5.png b/packages/art/sprites/tinted_images/white/units/pillager/death/5.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/death/5.png rename to packages/art/sprites/tinted_images/white/units/pillager/death/5.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/death/6.png b/packages/art/sprites/tinted_images/white/units/pillager/death/6.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/death/6.png rename to packages/art/sprites/tinted_images/white/units/pillager/death/6.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/death/7.png b/packages/art/sprites/tinted_images/white/units/pillager/death/7.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/death/7.png rename to packages/art/sprites/tinted_images/white/units/pillager/death/7.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/idle/0.png b/packages/art/sprites/tinted_images/white/units/pillager/idle/0.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/idle/0.png rename to packages/art/sprites/tinted_images/white/units/pillager/idle/0.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/idle/1.png b/packages/art/sprites/tinted_images/white/units/pillager/idle/1.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/idle/1.png rename to packages/art/sprites/tinted_images/white/units/pillager/idle/1.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/idle/2.png b/packages/art/sprites/tinted_images/white/units/pillager/idle/2.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/idle/2.png rename to packages/art/sprites/tinted_images/white/units/pillager/idle/2.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/idle/3.png b/packages/art/sprites/tinted_images/white/units/pillager/idle/3.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/idle/3.png rename to packages/art/sprites/tinted_images/white/units/pillager/idle/3.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/walk/down/0.png b/packages/art/sprites/tinted_images/white/units/pillager/walk/down/0.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/walk/down/0.png rename to packages/art/sprites/tinted_images/white/units/pillager/walk/down/0.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/walk/down/1.png b/packages/art/sprites/tinted_images/white/units/pillager/walk/down/1.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/walk/down/1.png rename to packages/art/sprites/tinted_images/white/units/pillager/walk/down/1.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/walk/down/2.png b/packages/art/sprites/tinted_images/white/units/pillager/walk/down/2.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/walk/down/2.png rename to packages/art/sprites/tinted_images/white/units/pillager/walk/down/2.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/walk/down/3.png b/packages/art/sprites/tinted_images/white/units/pillager/walk/down/3.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/walk/down/3.png rename to packages/art/sprites/tinted_images/white/units/pillager/walk/down/3.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/walk/left/0.png b/packages/art/sprites/tinted_images/white/units/pillager/walk/left/0.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/walk/left/0.png rename to packages/art/sprites/tinted_images/white/units/pillager/walk/left/0.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/walk/left/1.png b/packages/art/sprites/tinted_images/white/units/pillager/walk/left/1.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/walk/left/1.png rename to packages/art/sprites/tinted_images/white/units/pillager/walk/left/1.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/walk/left/2.png b/packages/art/sprites/tinted_images/white/units/pillager/walk/left/2.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/walk/left/2.png rename to packages/art/sprites/tinted_images/white/units/pillager/walk/left/2.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/walk/left/3.png b/packages/art/sprites/tinted_images/white/units/pillager/walk/left/3.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/walk/left/3.png rename to packages/art/sprites/tinted_images/white/units/pillager/walk/left/3.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/walk/right/0.png b/packages/art/sprites/tinted_images/white/units/pillager/walk/right/0.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/walk/right/0.png rename to packages/art/sprites/tinted_images/white/units/pillager/walk/right/0.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/walk/right/1.png b/packages/art/sprites/tinted_images/white/units/pillager/walk/right/1.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/walk/right/1.png rename to packages/art/sprites/tinted_images/white/units/pillager/walk/right/1.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/walk/right/2.png b/packages/art/sprites/tinted_images/white/units/pillager/walk/right/2.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/walk/right/2.png rename to packages/art/sprites/tinted_images/white/units/pillager/walk/right/2.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/walk/right/3.png b/packages/art/sprites/tinted_images/white/units/pillager/walk/right/3.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/walk/right/3.png rename to packages/art/sprites/tinted_images/white/units/pillager/walk/right/3.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/walk/up/0.png b/packages/art/sprites/tinted_images/white/units/pillager/walk/up/0.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/walk/up/0.png rename to packages/art/sprites/tinted_images/white/units/pillager/walk/up/0.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/walk/up/1.png b/packages/art/sprites/tinted_images/white/units/pillager/walk/up/1.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/walk/up/1.png rename to packages/art/sprites/tinted_images/white/units/pillager/walk/up/1.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/walk/up/2.png b/packages/art/sprites/tinted_images/white/units/pillager/walk/up/2.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/walk/up/2.png rename to packages/art/sprites/tinted_images/white/units/pillager/walk/up/2.png diff --git a/packages/art/sprites/tinted_images/white/units/rider/walk/up/3.png b/packages/art/sprites/tinted_images/white/units/pillager/walk/up/3.png similarity index 100% rename from packages/art/sprites/tinted_images/white/units/rider/walk/up/3.png rename to packages/art/sprites/tinted_images/white/units/pillager/walk/up/3.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/attack/0.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/attack/0.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/attack/0.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/attack/0.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/attack/1.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/attack/1.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/attack/1.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/attack/1.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/attack/2.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/attack/2.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/attack/2.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/attack/2.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/attack/3.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/attack/3.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/attack/3.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/attack/3.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/attack/4.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/attack/4.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/attack/4.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/attack/4.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/attack/5.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/attack/5.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/attack/5.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/attack/5.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/death/0.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/death/0.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/death/0.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/death/0.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/death/1.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/death/1.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/death/1.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/death/1.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/death/10.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/death/10.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/death/10.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/death/10.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/death/11.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/death/11.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/death/11.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/death/11.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/death/2.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/death/2.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/death/2.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/death/2.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/death/3.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/death/3.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/death/3.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/death/3.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/death/4.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/death/4.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/death/4.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/death/4.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/death/5.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/death/5.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/death/5.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/death/5.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/death/6.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/death/6.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/death/6.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/death/6.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/death/7.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/death/7.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/death/7.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/death/7.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/death/8.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/death/8.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/death/8.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/death/8.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/death/9.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/death/9.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/death/9.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/death/9.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/idle/0.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/idle/0.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/idle/0.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/idle/0.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/idle/1.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/idle/1.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/idle/1.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/idle/1.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/idle/2.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/idle/2.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/idle/2.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/idle/2.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/idle/3.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/idle/3.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/idle/3.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/idle/3.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/walk/down/0.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/walk/down/0.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/walk/down/0.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/walk/down/0.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/walk/down/1.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/walk/down/1.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/walk/down/1.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/walk/down/1.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/walk/down/2.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/walk/down/2.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/walk/down/2.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/walk/down/2.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/walk/down/3.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/walk/down/3.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/walk/down/3.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/walk/down/3.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/walk/left/0.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/walk/left/0.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/walk/left/0.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/walk/left/0.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/walk/left/1.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/walk/left/1.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/walk/left/1.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/walk/left/1.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/walk/left/2.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/walk/left/2.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/walk/left/2.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/walk/left/2.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/walk/left/3.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/walk/left/3.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/walk/left/3.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/walk/left/3.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/walk/right/0.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/walk/right/0.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/walk/right/0.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/walk/right/0.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/walk/right/1.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/walk/right/1.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/walk/right/1.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/walk/right/1.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/walk/right/2.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/walk/right/2.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/walk/right/2.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/walk/right/2.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/walk/right/3.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/walk/right/3.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/walk/right/3.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/walk/right/3.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/walk/up/0.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/walk/up/0.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/walk/up/0.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/walk/up/0.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/walk/up/1.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/walk/up/1.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/walk/up/1.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/walk/up/1.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/walk/up/2.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/walk/up/2.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/walk/up/2.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/walk/up/2.png diff --git a/packages/art/sprites/tinted_images/yellow/units/dragon/walk/up/3.png b/packages/art/sprites/tinted_images/yellow/units/dragoon/walk/up/3.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/dragon/walk/up/3.png rename to packages/art/sprites/tinted_images/yellow/units/dragoon/walk/up/3.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/attack/0.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/attack/0.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/attack/0.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/attack/0.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/attack/1.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/attack/1.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/attack/1.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/attack/1.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/attack/2.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/attack/2.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/attack/2.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/attack/2.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/attack/3.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/attack/3.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/attack/3.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/attack/3.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/attack/4.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/attack/4.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/attack/4.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/attack/4.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/attack/5.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/attack/5.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/attack/5.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/attack/5.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/death/0.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/death/0.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/death/0.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/death/0.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/death/1.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/death/1.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/death/1.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/death/1.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/death/10.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/death/10.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/death/10.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/death/10.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/death/11.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/death/11.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/death/11.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/death/11.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/death/2.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/death/2.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/death/2.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/death/2.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/death/3.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/death/3.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/death/3.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/death/3.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/death/4.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/death/4.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/death/4.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/death/4.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/death/5.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/death/5.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/death/5.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/death/5.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/death/6.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/death/6.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/death/6.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/death/6.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/death/7.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/death/7.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/death/7.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/death/7.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/death/8.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/death/8.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/death/8.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/death/8.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/death/9.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/death/9.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/death/9.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/death/9.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/idle/0.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/idle/0.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/idle/0.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/idle/0.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/idle/1.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/idle/1.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/idle/1.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/idle/1.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/idle/2.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/idle/2.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/idle/2.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/idle/2.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/idle/3.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/idle/3.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/idle/3.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/idle/3.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/walk/down/0.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/walk/down/0.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/walk/down/0.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/walk/down/0.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/walk/down/1.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/walk/down/1.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/walk/down/1.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/walk/down/1.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/walk/down/2.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/walk/down/2.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/walk/down/2.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/walk/down/2.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/walk/down/3.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/walk/down/3.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/walk/down/3.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/walk/down/3.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/walk/left/0.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/walk/left/0.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/walk/left/0.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/walk/left/0.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/walk/left/1.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/walk/left/1.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/walk/left/1.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/walk/left/1.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/walk/left/2.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/walk/left/2.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/walk/left/2.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/walk/left/2.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/walk/left/3.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/walk/left/3.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/walk/left/3.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/walk/left/3.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/walk/right/0.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/walk/right/0.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/walk/right/0.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/walk/right/0.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/walk/right/1.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/walk/right/1.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/walk/right/1.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/walk/right/1.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/walk/right/2.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/walk/right/2.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/walk/right/2.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/walk/right/2.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/walk/right/3.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/walk/right/3.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/walk/right/3.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/walk/right/3.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/walk/up/0.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/walk/up/0.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/walk/up/0.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/walk/up/0.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/walk/up/1.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/walk/up/1.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/walk/up/1.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/walk/up/1.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/walk/up/2.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/walk/up/2.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/walk/up/2.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/walk/up/2.png diff --git a/packages/art/sprites/tinted_images/yellow/units/golem/walk/up/3.png b/packages/art/sprites/tinted_images/yellow/units/halberdier/walk/up/3.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/golem/walk/up/3.png rename to packages/art/sprites/tinted_images/yellow/units/halberdier/walk/up/3.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/attack/0.png b/packages/art/sprites/tinted_images/yellow/units/marksman/attack/0.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/attack/0.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/attack/0.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/attack/1.png b/packages/art/sprites/tinted_images/yellow/units/marksman/attack/1.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/attack/1.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/attack/1.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/attack/2.png b/packages/art/sprites/tinted_images/yellow/units/marksman/attack/2.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/attack/2.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/attack/2.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/attack/3.png b/packages/art/sprites/tinted_images/yellow/units/marksman/attack/3.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/attack/3.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/attack/3.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/attack/4.png b/packages/art/sprites/tinted_images/yellow/units/marksman/attack/4.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/attack/4.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/attack/4.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/attack/5.png b/packages/art/sprites/tinted_images/yellow/units/marksman/attack/5.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/attack/5.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/attack/5.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/death/0.png b/packages/art/sprites/tinted_images/yellow/units/marksman/death/0.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/death/0.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/death/0.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/death/1.png b/packages/art/sprites/tinted_images/yellow/units/marksman/death/1.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/death/1.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/death/1.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/death/10.png b/packages/art/sprites/tinted_images/yellow/units/marksman/death/10.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/death/10.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/death/10.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/death/11.png b/packages/art/sprites/tinted_images/yellow/units/marksman/death/11.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/death/11.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/death/11.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/death/2.png b/packages/art/sprites/tinted_images/yellow/units/marksman/death/2.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/death/2.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/death/2.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/death/3.png b/packages/art/sprites/tinted_images/yellow/units/marksman/death/3.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/death/3.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/death/3.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/death/4.png b/packages/art/sprites/tinted_images/yellow/units/marksman/death/4.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/death/4.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/death/4.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/death/5.png b/packages/art/sprites/tinted_images/yellow/units/marksman/death/5.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/death/5.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/death/5.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/death/6.png b/packages/art/sprites/tinted_images/yellow/units/marksman/death/6.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/death/6.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/death/6.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/death/7.png b/packages/art/sprites/tinted_images/yellow/units/marksman/death/7.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/death/7.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/death/7.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/death/8.png b/packages/art/sprites/tinted_images/yellow/units/marksman/death/8.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/death/8.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/death/8.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/death/9.png b/packages/art/sprites/tinted_images/yellow/units/marksman/death/9.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/death/9.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/death/9.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/idle/0.png b/packages/art/sprites/tinted_images/yellow/units/marksman/idle/0.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/idle/0.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/idle/0.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/idle/1.png b/packages/art/sprites/tinted_images/yellow/units/marksman/idle/1.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/idle/1.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/idle/1.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/idle/2.png b/packages/art/sprites/tinted_images/yellow/units/marksman/idle/2.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/idle/2.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/idle/2.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/idle/3.png b/packages/art/sprites/tinted_images/yellow/units/marksman/idle/3.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/idle/3.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/idle/3.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/walk/down/0.png b/packages/art/sprites/tinted_images/yellow/units/marksman/walk/down/0.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/walk/down/0.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/walk/down/0.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/walk/down/1.png b/packages/art/sprites/tinted_images/yellow/units/marksman/walk/down/1.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/walk/down/1.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/walk/down/1.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/walk/down/2.png b/packages/art/sprites/tinted_images/yellow/units/marksman/walk/down/2.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/walk/down/2.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/walk/down/2.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/walk/down/3.png b/packages/art/sprites/tinted_images/yellow/units/marksman/walk/down/3.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/walk/down/3.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/walk/down/3.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/walk/left/0.png b/packages/art/sprites/tinted_images/yellow/units/marksman/walk/left/0.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/walk/left/0.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/walk/left/0.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/walk/left/1.png b/packages/art/sprites/tinted_images/yellow/units/marksman/walk/left/1.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/walk/left/1.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/walk/left/1.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/walk/left/2.png b/packages/art/sprites/tinted_images/yellow/units/marksman/walk/left/2.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/walk/left/2.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/walk/left/2.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/walk/right/0.png b/packages/art/sprites/tinted_images/yellow/units/marksman/walk/right/0.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/walk/right/0.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/walk/right/0.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/walk/right/1.png b/packages/art/sprites/tinted_images/yellow/units/marksman/walk/right/1.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/walk/right/1.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/walk/right/1.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/walk/right/2.png b/packages/art/sprites/tinted_images/yellow/units/marksman/walk/right/2.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/walk/right/2.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/walk/right/2.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/walk/up/0.png b/packages/art/sprites/tinted_images/yellow/units/marksman/walk/up/0.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/walk/up/0.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/walk/up/0.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/walk/up/1.png b/packages/art/sprites/tinted_images/yellow/units/marksman/walk/up/1.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/walk/up/1.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/walk/up/1.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/walk/up/2.png b/packages/art/sprites/tinted_images/yellow/units/marksman/walk/up/2.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/walk/up/2.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/walk/up/2.png diff --git a/packages/art/sprites/tinted_images/yellow/units/wizard/walk/up/3.png b/packages/art/sprites/tinted_images/yellow/units/marksman/walk/up/3.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/wizard/walk/up/3.png rename to packages/art/sprites/tinted_images/yellow/units/marksman/walk/up/3.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/attack/0.png b/packages/art/sprites/tinted_images/yellow/units/pillager/attack/0.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/attack/0.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/attack/0.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/attack/1.png b/packages/art/sprites/tinted_images/yellow/units/pillager/attack/1.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/attack/1.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/attack/1.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/attack/2.png b/packages/art/sprites/tinted_images/yellow/units/pillager/attack/2.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/attack/2.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/attack/2.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/attack/3.png b/packages/art/sprites/tinted_images/yellow/units/pillager/attack/3.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/attack/3.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/attack/3.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/attack/4.png b/packages/art/sprites/tinted_images/yellow/units/pillager/attack/4.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/attack/4.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/attack/4.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/attack/5.png b/packages/art/sprites/tinted_images/yellow/units/pillager/attack/5.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/attack/5.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/attack/5.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/death/0.png b/packages/art/sprites/tinted_images/yellow/units/pillager/death/0.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/death/0.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/death/0.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/death/1.png b/packages/art/sprites/tinted_images/yellow/units/pillager/death/1.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/death/1.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/death/1.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/death/2.png b/packages/art/sprites/tinted_images/yellow/units/pillager/death/2.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/death/2.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/death/2.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/death/3.png b/packages/art/sprites/tinted_images/yellow/units/pillager/death/3.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/death/3.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/death/3.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/death/4.png b/packages/art/sprites/tinted_images/yellow/units/pillager/death/4.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/death/4.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/death/4.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/death/5.png b/packages/art/sprites/tinted_images/yellow/units/pillager/death/5.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/death/5.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/death/5.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/death/6.png b/packages/art/sprites/tinted_images/yellow/units/pillager/death/6.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/death/6.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/death/6.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/death/7.png b/packages/art/sprites/tinted_images/yellow/units/pillager/death/7.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/death/7.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/death/7.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/idle/0.png b/packages/art/sprites/tinted_images/yellow/units/pillager/idle/0.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/idle/0.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/idle/0.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/idle/1.png b/packages/art/sprites/tinted_images/yellow/units/pillager/idle/1.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/idle/1.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/idle/1.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/idle/2.png b/packages/art/sprites/tinted_images/yellow/units/pillager/idle/2.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/idle/2.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/idle/2.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/idle/3.png b/packages/art/sprites/tinted_images/yellow/units/pillager/idle/3.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/idle/3.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/idle/3.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/walk/down/0.png b/packages/art/sprites/tinted_images/yellow/units/pillager/walk/down/0.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/walk/down/0.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/walk/down/0.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/walk/down/1.png b/packages/art/sprites/tinted_images/yellow/units/pillager/walk/down/1.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/walk/down/1.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/walk/down/1.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/walk/down/2.png b/packages/art/sprites/tinted_images/yellow/units/pillager/walk/down/2.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/walk/down/2.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/walk/down/2.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/walk/down/3.png b/packages/art/sprites/tinted_images/yellow/units/pillager/walk/down/3.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/walk/down/3.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/walk/down/3.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/walk/left/0.png b/packages/art/sprites/tinted_images/yellow/units/pillager/walk/left/0.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/walk/left/0.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/walk/left/0.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/walk/left/1.png b/packages/art/sprites/tinted_images/yellow/units/pillager/walk/left/1.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/walk/left/1.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/walk/left/1.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/walk/left/2.png b/packages/art/sprites/tinted_images/yellow/units/pillager/walk/left/2.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/walk/left/2.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/walk/left/2.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/walk/left/3.png b/packages/art/sprites/tinted_images/yellow/units/pillager/walk/left/3.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/walk/left/3.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/walk/left/3.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/walk/right/0.png b/packages/art/sprites/tinted_images/yellow/units/pillager/walk/right/0.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/walk/right/0.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/walk/right/0.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/walk/right/1.png b/packages/art/sprites/tinted_images/yellow/units/pillager/walk/right/1.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/walk/right/1.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/walk/right/1.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/walk/right/2.png b/packages/art/sprites/tinted_images/yellow/units/pillager/walk/right/2.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/walk/right/2.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/walk/right/2.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/walk/right/3.png b/packages/art/sprites/tinted_images/yellow/units/pillager/walk/right/3.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/walk/right/3.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/walk/right/3.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/walk/up/0.png b/packages/art/sprites/tinted_images/yellow/units/pillager/walk/up/0.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/walk/up/0.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/walk/up/0.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/walk/up/1.png b/packages/art/sprites/tinted_images/yellow/units/pillager/walk/up/1.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/walk/up/1.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/walk/up/1.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/walk/up/2.png b/packages/art/sprites/tinted_images/yellow/units/pillager/walk/up/2.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/walk/up/2.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/walk/up/2.png diff --git a/packages/art/sprites/tinted_images/yellow/units/rider/walk/up/3.png b/packages/art/sprites/tinted_images/yellow/units/pillager/walk/up/3.png similarity index 100% rename from packages/art/sprites/tinted_images/yellow/units/rider/walk/up/3.png rename to packages/art/sprites/tinted_images/yellow/units/pillager/walk/up/3.png diff --git a/packages/client/src/app/amalgema-ui/HeroSelect.tsx b/packages/client/src/app/amalgema-ui/HeroSelect.tsx index 16d48f5f7..78324a529 100644 --- a/packages/client/src/app/amalgema-ui/HeroSelect.tsx +++ b/packages/client/src/app/amalgema-ui/HeroSelect.tsx @@ -17,7 +17,7 @@ import { OverlineSmall } from "../ui/Theme/SkyStrife/Typography"; import { uniq } from "lodash"; const UnitTypeStatBars = { - [UnitTypes.Golem]: { + [UnitTypes.Halberdier]: { health: { percent: 100, color: "#00ff00", @@ -35,7 +35,7 @@ const UnitTypeStatBars = { color: "#ff0000", }, }, - [UnitTypes.Dragon]: { + [UnitTypes.Dragoon]: { health: { percent: 75, color: "#ffff00", @@ -53,7 +53,7 @@ const UnitTypeStatBars = { color: "#00ff00", }, }, - [UnitTypes.Wizard]: { + [UnitTypes.Marksman]: { health: { percent: 50, color: "#ff8000", diff --git a/packages/client/src/app/amalgema-ui/InventorySidebar.tsx b/packages/client/src/app/amalgema-ui/InventorySidebar.tsx index f61ac8442..b70939a1b 100644 --- a/packages/client/src/app/amalgema-ui/InventorySidebar.tsx +++ b/packages/client/src/app/amalgema-ui/InventorySidebar.tsx @@ -18,6 +18,7 @@ import { useExternalAccount } from "./hooks/useExternalAccount"; import { HoleskyEth } from "./HoleskyEth"; import { MATCH_COST } from "./SummonIsland/MatchCost"; import { useCurrentMatchReward } from "./hooks/useCurrentMatchReward"; +import { useHasSkyKeyExternalWallet } from "./hooks/useHasSkyKey"; const DECIMALS = 18; @@ -60,6 +61,7 @@ function Resources() { export function InventorySidebar() { const { address } = useExternalAccount(); const matchReward = useCurrentMatchReward(); + const hasSkyKey = useHasSkyKeyExternalWallet(); return (
@@ -75,6 +77,16 @@ export function InventorySidebar() { {address && ( <> + {import.meta.env.DEV && hasSkyKey && ( + <> +
+
+

YOU ARE LOGGED IN WITH THE SKYKEY WALLET.

+

You are able to create matches without using 🔮

+
+ + )} +
diff --git a/packages/client/src/app/amalgema-ui/LoadingScreen.tsx b/packages/client/src/app/amalgema-ui/LoadingScreen.tsx index 3e1dfc50f..53ad3e0c8 100644 --- a/packages/client/src/app/amalgema-ui/LoadingScreen.tsx +++ b/packages/client/src/app/amalgema-ui/LoadingScreen.tsx @@ -61,6 +61,7 @@ export const LoadingScreen = ({ networkLayer, usePrepTime }: Props) => { if (sentEndEvent) return; if (!networkLayer) return; + // Send analytics event when the game is ready if (loadingState.step === SyncStep.LIVE) { const { utils: { sendAnalyticsEvent }, @@ -73,6 +74,24 @@ export const LoadingScreen = ({ networkLayer, usePrepTime }: Props) => { } }, [loadingState, networkLayer, sentEndEvent, usePrepTime]); + const [worldValid, setWorldValid] = useState(false); + useEffect(() => { + if (!networkLayer) return; + if (loadingState.step !== SyncStep.LIVE) return; + + if (!usePrepTime || prepareGameProgress === 100) { + const { + components: { SkyPoolConfig }, + } = networkLayer; + + // check if there is a value for a table that is only available after the game is ready + // SkyPoolConfig is set in the PostDeploy script + // if it does not exist something is wrong + const skyPoolConfig = getComponentValue(SkyPoolConfig, singletonEntity); + setWorldValid(!!skyPoolConfig); + } + }, [loadingState.step, networkLayer, prepareGameProgress, usePrepTime]); + useEffect(() => { if (!usePrepTime) return; if (!networkLayer) return; @@ -102,7 +121,7 @@ export const LoadingScreen = ({ networkLayer, usePrepTime }: Props) => { return null; } - const ready = usePrepTime ? prepareGameProgress === 100 : loadingState.step === SyncStep.LIVE; + const doneLoading = usePrepTime ? prepareGameProgress === 100 : loadingState.step === SyncStep.LIVE; const showPrepMessage = loadingState.step === SyncStep.LIVE && usePrepTime; const loadingMessage = showPrepMessage ? "Preparing Game" : loadingState.message; @@ -111,7 +130,7 @@ export const LoadingScreen = ({ networkLayer, usePrepTime }: Props) => { return (
{ Sky Strife is a fully onchain RTS. Compete for control of islands, earn {EMOJI}, and summon your own matches. - {ready ? ( + {doneLoading && worldValid && (
Connected!
- ) : ( + )} + + {doneLoading && !worldValid && ( +
+ +
+ + {import.meta.env.DEV + ? "The connected Sky Strife world is not valid. This usually means contract deployment is ongoing or failed. Check your console for more information." + : "Something went wrong. Please report this issue on Discord."} + +
+ +
+ )} + + {!doneLoading && (
diff --git a/packages/client/src/app/amalgema-ui/SessionWalletManager.tsx b/packages/client/src/app/amalgema-ui/SessionWalletManager.tsx index 5e67a108f..9644284fe 100644 --- a/packages/client/src/app/amalgema-ui/SessionWalletManager.tsx +++ b/packages/client/src/app/amalgema-ui/SessionWalletManager.tsx @@ -73,7 +73,7 @@ export function SessionWalletManager() { label="Session Wallet Balance" /> - {burnerBalance?.belowMinimum && ( + {!import.meta.env.DEV && burnerBalance?.belowMinimum && ( <>
diff --git a/packages/client/src/app/amalgema-ui/SummonIsland/ChooseLevel.tsx b/packages/client/src/app/amalgema-ui/SummonIsland/ChooseLevel.tsx index b9040fd12..bf5386a62 100644 --- a/packages/client/src/app/amalgema-ui/SummonIsland/ChooseLevel.tsx +++ b/packages/client/src/app/amalgema-ui/SummonIsland/ChooseLevel.tsx @@ -88,7 +88,7 @@ export function ChooseLevel({
-
+
diff --git a/packages/client/src/app/ui/Chat/Chat.tsx b/packages/client/src/app/ui/Chat/Chat.tsx index 5b16ba0b1..1139299d3 100644 --- a/packages/client/src/app/ui/Chat/Chat.tsx +++ b/packages/client/src/app/ui/Chat/Chat.tsx @@ -77,7 +77,7 @@ export function Chat() { const focusInput = useCallback(() => { inputRef.current?.focus(); - disableMapInteraction(); + disableMapInteraction("chat"); setInputFocused(true); setLastInteraction(DateTime.now()); }, [disableMapInteraction]); @@ -85,7 +85,7 @@ export function Chat() { if (!inputFocused) return; inputRef.current?.blur(); - enableMapInteraction(); + enableMapInteraction("chat"); setInputFocused(false); setLastInteraction(DateTime.now()); }, [enableMapInteraction, inputFocused]); diff --git a/packages/client/src/app/ui/EntityPortrait.tsx b/packages/client/src/app/ui/EntityPortrait.tsx new file mode 100644 index 000000000..aaa5c149d --- /dev/null +++ b/packages/client/src/app/ui/EntityPortrait.tsx @@ -0,0 +1,99 @@ +import { Entity, getComponentValue } from "@latticexyz/recs"; +import { SpriteImage } from "./Theme/SpriteImage"; +import { useMUD } from "../../useMUD"; +import { Sprites, StructureTypeSprites, UnitTypeSprites } from "../../layers/Renderer/Phaser/phaserConstants"; +import { StructureTypes, UnitTypes } from "../../layers/Network"; + +export function EntityPortrait({ entity }: { entity: Entity }) { + const { + networkLayer: { + components: { UnitType, StructureType }, + }, + localLayer: { + api: { getOwnerColor }, + }, + } = useMUD(); + + const ownerColor = getOwnerColor(entity); + const unitType = getComponentValue(UnitType, entity)?.value ?? 0; + const structureType = getComponentValue(StructureType, entity)?.value ?? 0; + + return ; +} + +export function Portrait({ + unitType, + structureType, + colorName, + scale = 1, +}: { + unitType?: UnitTypes; + structureType?: StructureTypes; + colorName: string; + scale?: number; +}) { + let spriteKey: Sprites = Sprites.Cog; + if (unitType) { + spriteKey = UnitTypeSprites[unitType]; + } else if (structureType) { + spriteKey = StructureTypeSprites[structureType]; + } + + const bannerSpriteKey = Sprites.Banner; + + return ( +
+ {!structureType && unitType !== UnitTypes.Brute && unitType !== UnitTypes.Catapult ? ( +
+ +
+ ) : null} + + {unitType === UnitTypes.Catapult ? ( +
+ +
+ ) : null} + + {unitType === UnitTypes.Brute ? ( +
+ +
+ ) : null} + + {structureType === StructureTypes.GoldMine ? ( +
+ +
+ ) : ( + <> + )} + + {structureType === StructureTypes.Settlement ? ( +
+ +
+ ) : ( + <> + )} + + {structureType === StructureTypes.SpawnSettlement ? ( +
+ +
+ ) : ( + <> + )} + +
+ +
+
+ ); +} diff --git a/packages/client/src/app/ui/Factory/BuildSprites.tsx b/packages/client/src/app/ui/Factory/BuildSprites.tsx deleted file mode 100644 index a82d12615..000000000 --- a/packages/client/src/app/ui/Factory/BuildSprites.tsx +++ /dev/null @@ -1,160 +0,0 @@ -import { pixelCoordToTileCoord, tileCoordToPixelCoord } from "phaserx"; -import { Entity, removeComponent } from "@latticexyz/recs"; -import { Coord, uuid } from "@latticexyz/utils"; -import { useEffect, useMemo, useState } from "react"; -import { merge } from "rxjs"; -import { UnitTypeAnimations } from "../../../layers/Renderer/Phaser/phaserConstants"; -import { RenderDepth } from "../../../layers/Renderer/Phaser/types"; -import { useMUD } from "../../../useMUD"; -import { useCurrentPlayer } from "../hooks/useCurrentPlayer"; -import { BuildData } from "./types"; -import { singletonEntity } from "@latticexyz/store-sync/recs"; -import { UNIT_OFFSET } from "../../../layers/Local/constants"; -import { UnitTypes } from "../../../layers/Network"; - -export const BuildSprites = ({ - matchEntity, - buildData, - position, - stopBuilding, -}: { - matchEntity: Entity; - position: Coord; - buildData: BuildData; - stopBuilding: () => void; -}) => { - const { - phaserLayer: { - components: { HoverHighlight }, - scenes: { - Main: { - phaserScene, - objectPool, - input, - maps: { - Main: { tileWidth, tileHeight }, - }, - }, - }, - api: { - mapInteraction: { disableMapInteraction, enableMapInteraction }, - drawTileHighlight, - buildAt, - playTintedAnimation, - depthFromPosition, - }, - }, - } = useMUD(); - - const currentPlayer = useCurrentPlayer(matchEntity); - - const [tileHighlightIds, setTileHighlightIds] = useState([]); - - const buildPositions = useMemo( - () => [ - { ...position, x: position.x + 1 }, - { ...position, x: position.x - 1 }, - { ...position, y: position.y + 1 }, - { ...position, y: position.y - 1 }, - ], - [position] - ); - - useEffect(() => { - return () => { - for (let i = 0; i < tileHighlightIds.length; i++) { - objectPool.remove(tileHighlightIds[i]); - } - }; - }, [objectPool, tileHighlightIds]); - - useEffect(() => { - const unitType = buildData.unitType; - const spriteAnimation = UnitTypeAnimations[unitType]; - - const buildPreviewEntity = uuid() as Entity; - let sprite: Phaser.GameObjects.Sprite | undefined; - playTintedAnimation(buildPreviewEntity, spriteAnimation, currentPlayer.playerColor.name, (gameObject) => { - gameObject.setOrigin(0, 0); - if (unitType === UnitTypes.Brute) gameObject.setOrigin(0.18, 0.18); - sprite = gameObject; - }); - - const unitPreviewSub = input.pointermove$.subscribe(({ pointer }) => { - const tile = pixelCoordToTileCoord( - { - x: pointer.worldX, - y: pointer.worldY, - }, - tileWidth, - tileHeight - ); - - if (sprite) { - sprite.setDepth(depthFromPosition(tile, RenderDepth.UI1)); - - const previewPosition = tileCoordToPixelCoord(tile, tileWidth, tileHeight); - sprite.setPosition(previewPosition.x, previewPosition.y - UNIT_OFFSET); - if (!buildPositions.find((bp) => bp.x === tile.x && bp.y === tile.y)) { - sprite.setTint(0x666666); - } else { - sprite.clearTint(); - } - } - }); - - return () => { - unitPreviewSub.unsubscribe(); - objectPool.remove(buildPreviewEntity); - }; - }, [ - buildData.unitType, - buildPositions, - currentPlayer.playerColor, - depthFromPosition, - input.pointermove$, - objectPool, - phaserScene.add, - playTintedAnimation, - tileHeight, - tileWidth, - ]); - - useEffect(() => { - disableMapInteraction(); - removeComponent(HoverHighlight, singletonEntity); - - for (let i = 0; i < buildPositions.length; i++) { - setTileHighlightIds((ids) => [...ids, `build-position-${i}`]); - drawTileHighlight(`build-position-${i}`, buildPositions[i], "yellow"); - } - - const buildClickSub = merge(input.click$, input.rightClick$).subscribe((pointer) => { - const tile = pixelCoordToTileCoord( - { - x: pointer.worldX, - y: pointer.worldY, - }, - tileWidth, - tileHeight - ); - for (const buildPosition of buildPositions) { - if (tile.x === buildPosition.x && tile.y === buildPosition.y) { - buildAt(buildData.factory, buildData.prototypeId, buildPosition); - } - } - - stopBuilding(); - enableMapInteraction(); - }); - - return () => { - buildClickSub.unsubscribe(); - enableMapInteraction(); - }; - // literally only run this on mount - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); - - return <>; -}; diff --git a/packages/client/src/app/ui/Factory/Factory.tsx b/packages/client/src/app/ui/Factory/Factory.tsx index 6f7e2d098..e83247117 100644 --- a/packages/client/src/app/ui/Factory/Factory.tsx +++ b/packages/client/src/app/ui/Factory/Factory.tsx @@ -1,19 +1,36 @@ import { useComponentValue, useEntityQuery } from "@latticexyz/react"; -import { Entity, getComponentValueStrict, Has, HasValue, removeComponent, setComponent } from "@latticexyz/recs"; +import { + Entity, + getComponentValueStrict, + getComponentValue, + Has, + HasValue, + removeComponent, + setComponent, +} from "@latticexyz/recs"; import { useCallback, useEffect, useMemo } from "react"; import { twMerge } from "tailwind-merge"; -import { UnitTypeSprites } from "../../../layers/Renderer/Phaser/phaserConstants"; import { useMUD } from "../../../useMUD"; import { usePlayerGold } from "../hooks/usePlayerGold"; import { ClickWrapper } from "../Theme/ClickWrapper"; -import { SpriteImage } from "../Theme/SpriteImage"; -import { BuildSprites } from "./BuildSprites"; import { BuildData } from "./types"; import { useCurrentPlayer } from "../hooks/useCurrentPlayer"; import { UnitTypes } from "../../../layers/Network"; import { useTileCoordToScreenCoord } from "../hooks/useTileCoordToScreenCoord"; import { hexToString, Hex } from "viem"; import { decodeMatchEntity } from "../../../decodeMatchEntity"; +import { Portrait } from "../EntityPortrait"; +import { Card } from "../Theme/SkyStrife/Card"; + +const UnitTypeHotkey = { + [UnitTypes.Swordsman]: "Q", + [UnitTypes.Pikeman]: "W", + [UnitTypes.Pillager]: "E", + [UnitTypes.Archer]: "R", + [UnitTypes.Knight]: "A", + [UnitTypes.Brute]: "S", + [UnitTypes.Catapult]: "D", +} as const; export const Factory = ({ matchEntity }: { matchEntity: Entity }) => { const { @@ -27,6 +44,11 @@ export const Factory = ({ matchEntity }: { matchEntity: Entity }) => { localLayer: { components: { LocalPosition, Selected }, }, + phaserLayer: { + api: { + mapInteraction: { enableMapInteraction, disableMapInteraction }, + }, + }, } = useMUD(); // for performance, don't worry about it @@ -44,6 +66,11 @@ export const Factory = ({ matchEntity }: { matchEntity: Entity }) => { ])[0]; const buildingUnit = useComponentValue(BuildingUnit, selectedFactory); + /** + * BuildUnitSystem handles rendering previews for buildable locations + * and handles the actual building of units. + * We just need to set BuildingUnit here. + */ const setBuildingUnit = useCallback( (unit: BuildData | null) => { if (!unit) return; @@ -59,25 +86,78 @@ export const Factory = ({ matchEntity }: { matchEntity: Entity }) => { const factoryPosition = selectedFactory ? getComponentValueStrict(LocalPosition, selectedFactory) : { x: 0, y: 0 }; const screenPosition = useTileCoordToScreenCoord(factoryPosition); + const buildData = useMemo(() => { + if (!selectedFactory) return []; + + const factoryData = getComponentValueStrict(Factory, selectedFactory); + const data = [] as BuildData[]; + + if (factoryData) { + for (let i = 0; i < factoryData.prototypeIds.length; i++) { + const staminaCost = factoryData.staminaCosts[i]; + + const prototypeId = factoryData.prototypeIds[i] as Entity; + const name = hexToString(prototypeId as Hex, { size: 32 }); + const unitType = UnitTypes[name as keyof typeof UnitTypes]; + data.push({ factory: selectedFactory, unitType, staminaCost, prototypeId }); + } + } + + return data; + }, [Factory, selectedFactory]); + useEffect(() => { - if (selectedFactory) return; + if (selectedFactory) { + disableMapInteraction("factory"); + return; + } + enableMapInteraction("factory"); removeComponent(BuildingUnit, selectedFactory); - }, [BuildingUnit, selectedFactory, setBuildingUnit]); + }, [BuildingUnit, disableMapInteraction, enableMapInteraction, selectedFactory, setBuildingUnit]); - if (!selectedFactory) return <>; + // assign hotkeys + useEffect(() => { + const startBuildingUnit = (e: KeyboardEvent) => { + if (!selectedFactory) return; + + const foundUnit = Object.entries(UnitTypeHotkey).find(([_, hotkey]) => hotkey === e.key.toUpperCase()); + if (!foundUnit) return; - const factoryData = getComponentValueStrict(Factory, selectedFactory); - const buildData = [] as BuildData[]; - if (factoryData) { - for (let i = 0; i < factoryData.prototypeIds.length; i++) { - const staminaCost = factoryData.staminaCosts[i]; + const unitData = buildData.find((build) => build.unitType === (parseInt(foundUnit[0]) as UnitTypes)); + if (!unitData) return; - const prototypeId = factoryData.prototypeIds[i] as Entity; - const name = hexToString(prototypeId as Hex, { size: 32 }); - const unitType = UnitTypes[name as keyof typeof UnitTypes]; - buildData.push({ factory: selectedFactory, unitType, staminaCost, prototypeId }); + const staminaCost = unitData.staminaCost; + if (staminaCost > goldAmount) return; + + setBuildingUnit(unitData); + }; + + if (!selectedFactory) { + document.removeEventListener("keydown", startBuildingUnit); + return; } + + const factoryData = getComponentValue(Factory, selectedFactory); + if (!factoryData) return; + + document.addEventListener("keydown", startBuildingUnit); + + return () => { + document.removeEventListener("keydown", startBuildingUnit); + }; + }, [selectedFactory, BuildingUnit, setBuildingUnit, Factory, goldAmount, buildData]); + + if (!selectedFactory) return <>; + + let renderDirectionY = "bottom"; + if (screenPosition.y > window.innerHeight / 2) { + renderDirectionY = "top"; + } + + let renderDirectionX = "right"; + if (screenPosition.x > window.innerWidth / 2) { + renderDirectionX = "left"; } return ( @@ -87,75 +167,75 @@ export const Factory = ({ matchEntity }: { matchEntity: Entity }) => { top: screenPosition.y, left: screenPosition.x, display: buildingUnit ? "none" : "block", + zIndex: 1000, }} className="h-fit w-fit" > - {buildingUnit && ( - { - removeComponent(BuildingUnit, selectedFactory); - removeComponent(Selected, selectedFactory); - }} - /> - )} {!buildingUnit && ( - {buildData.map((build, i) => { const disabled = build.staminaCost > goldAmount; return ( -
{ - if (disabled) return; - e.stopPropagation(); - - setBuildingUnit(build); - }} - className={twMerge( - "align-center ml-2 flex h-fit w-fit cursor-pointer flex-col justify-center rounded border border-solid border-teal-900 bg-teal-800/80 text-yellow-200 transition-all duration-200 ease-in-out hover:-translate-y-2 hover:border-teal-800/60 hover:bg-teal-800/60 hover:text-yellow-300", - "p-1 pt-3", - disabled && "cursor-not-allowed border-teal-800/40 bg-teal-800/40 text-yellow-200/40" - )} - > +
{ + if (disabled) return; + e.stopPropagation(); + + setBuildingUnit(build); }} > -
- -
+ + {UnitTypeHotkey[build.unitType as keyof typeof UnitTypeHotkey]} + + +
+ +
+ +
+ + + {build.staminaCost}g + +
- - - {build.staminaCost} - -
+
); })} - +
)}
); diff --git a/packages/client/src/app/ui/OptionsBar/FullscreenButton.tsx b/packages/client/src/app/ui/OptionsBar/FullscreenButton.tsx index 1b6c6a6b6..25217aebb 100644 --- a/packages/client/src/app/ui/OptionsBar/FullscreenButton.tsx +++ b/packages/client/src/app/ui/OptionsBar/FullscreenButton.tsx @@ -104,7 +104,10 @@ export const FullscreenButton = () => { return ( <> {modalOpen && ( - + fullscreen mode diff --git a/packages/client/src/app/ui/PluginManager/PluginContainer.tsx b/packages/client/src/app/ui/PluginManager/PluginContainer.tsx index d33eeb526..e607ec827 100644 --- a/packages/client/src/app/ui/PluginManager/PluginContainer.tsx +++ b/packages/client/src/app/ui/PluginManager/PluginContainer.tsx @@ -41,11 +41,11 @@ const PluginContainer: ForwardRefRenderFunction { setPlugin(pluginKey, { x: d.x, y: d.y }); - enableMapInteraction(); + enableMapInteraction(pluginKey); setDragging(false); }} onDragStart={() => { - disableMapInteraction(); + disableMapInteraction(pluginKey); setDragging(true); }} dragGrid={[36, 36]} @@ -86,12 +86,12 @@ const PluginContainer: ForwardRefRenderFunction { if (!dragging) { - disableMapInteraction(); + disableMapInteraction(`${pluginKey}-mouseover`); } }} onMouseOut={() => { if (!dragging) { - enableMapInteraction(); + enableMapInteraction(`${pluginKey}-mouseover`); } }} {...rest} diff --git a/packages/client/src/app/ui/PreGame/JoinGame.tsx b/packages/client/src/app/ui/PreGame/JoinGame.tsx index e2605bf12..b72987dfb 100644 --- a/packages/client/src/app/ui/PreGame/JoinGame.tsx +++ b/packages/client/src/app/ui/PreGame/JoinGame.tsx @@ -85,7 +85,8 @@ const RegistrationForm = ({ matchEntity, address }: { matchEntity: Entity; addre const name = useComponentValue(Name, addressToEntityID(address || ("0x00" as Hex))); const [newName, setNewName] = useState(name ? name.value : ""); - const freeHero = [...runQuery([HasValue(HeroInRotation, { value: true })])][0] ?? stringToHex("Golem", { size: 32 }); + const freeHero = + [...runQuery([HasValue(HeroInRotation, { value: true })])][0] ?? stringToHex("Halberdier", { size: 32 }); const [hero, setHero] = useState(freeHero as Hex); const [pendingTx, setPendingTx] = useState(false); diff --git a/packages/client/src/app/ui/SelectedEntity/EntityInfo.tsx b/packages/client/src/app/ui/SelectedEntity/EntityInfo.tsx index 4ac5eefaf..7ac28326f 100644 --- a/packages/client/src/app/ui/SelectedEntity/EntityInfo.tsx +++ b/packages/client/src/app/ui/SelectedEntity/EntityInfo.tsx @@ -1,11 +1,12 @@ import { Entity, Has, HasValue, getComponentValue } from "@latticexyz/recs"; import { Card } from "../Theme/SkyStrife/Card"; import { useMUD } from "../../../useMUD"; -import { Sprites, StructureTypeSprites, UnitTypeSprites } from "../../../layers/Renderer/Phaser/phaserConstants"; +import { Sprites } from "../../../layers/Renderer/Phaser/phaserConstants"; import { SpriteImage } from "../Theme/SpriteImage"; -import { StructureTypes, TerrainTypes, UnitTypes } from "../../../layers/Network"; +import { TerrainTypes } from "../../../layers/Network"; import { useComponentValue, useEntityQuery } from "@latticexyz/react"; import { BYTES32_ZERO } from "../../../constants"; +import { EntityPortrait } from "../EntityPortrait"; function Bar({ backgroundColor, @@ -127,27 +128,22 @@ function getHealthBarColor(health: number, maxHealth: number) { export function EntityInfo({ entity }: { entity: Entity }) { const { networkLayer: { - components: { UnitType, StructureType, TerrainType, Combat, ArmorModifier, ChargeCap, Charger }, + components: { UnitType, TerrainType, Combat, ArmorModifier, ChargeCap, Charger }, }, headlessLayer: { components: { OnCooldown }, }, localLayer: { components: { LocalPosition }, - api: { getOwnerColor }, }, } = useMUD(); - const ownerColor = getOwnerColor(entity); - const position = useComponentValue(LocalPosition, entity) ?? { x: 0, y: 0 }; const terrainAtPosition = useEntityQuery([Has(TerrainType), HasValue(LocalPosition, position)])[0] ?? BYTES32_ZERO; const terrainType = getComponentValue(TerrainType, terrainAtPosition)?.value ?? 0; const armorModifier = getComponentValue(ArmorModifier, terrainAtPosition)?.value ?? 0; const unitType = getComponentValue(UnitType, entity)?.value ?? 0; - const structureType = getComponentValue(StructureType, entity)?.value ?? 0; - const spriteKey = unitType ? UnitTypeSprites[unitType] : StructureTypeSprites[structureType]; const combatData = useComponentValue(Combat, entity); const onCooldown = Boolean(useComponentValue(OnCooldown, entity)?.value); @@ -155,53 +151,11 @@ export function EntityInfo({ entity }: { entity: Entity }) { const chargeCap = useComponentValue(ChargeCap, entity); const charger = getComponentValue(Charger, entity); - const bannerSpriteKey = Sprites.Banner; - const hasGold = combatData && charger && chargeCap && chargeCap.totalCharged !== chargeCap.cap; return ( -
- {!structureType && unitType !== UnitTypes.Brute ? ( -
- -
- ) : null} - - {unitType === UnitTypes.Brute ? ( -
- -
- ) : null} - - {structureType === StructureTypes.GoldMine ? ( -
- -
- ) : ( - <> - )} - - {structureType === StructureTypes.Settlement ? ( -
- -
- ) : ( - <> - )} - - {structureType === StructureTypes.SpawnSettlement ? ( -
- -
- ) : ( - <> - )} - -
- -
-
+
{combatData && ( diff --git a/packages/client/src/app/ui/Theme/ClickWrapper.tsx b/packages/client/src/app/ui/Theme/ClickWrapper.tsx index 8935a293f..603b0a3ad 100644 --- a/packages/client/src/app/ui/Theme/ClickWrapper.tsx +++ b/packages/client/src/app/ui/Theme/ClickWrapper.tsx @@ -1,5 +1,6 @@ -import { DetailedHTMLProps, HTMLAttributes, useEffect } from "react"; +import { DetailedHTMLProps, HTMLAttributes, useEffect, useMemo } from "react"; import { useMUD } from "../../../useMUD"; +import { uuid } from "@latticexyz/utils"; type Props = DetailedHTMLProps, HTMLDivElement>; @@ -16,19 +17,21 @@ export const ClickWrapper = (props: Props) => { }, } = useMUD(); + const id = useMemo(() => uuid(), []); + useEffect(() => { return () => { - enableMapInteraction(); + enableMapInteraction(id); }; - }, [enableMapInteraction]); + }, [enableMapInteraction, id]); const { children, style } = props; return (
disableMapInteraction()} - onMouseLeave={() => enableMapInteraction()} + onMouseEnter={() => disableMapInteraction(id)} + onMouseLeave={() => enableMapInteraction(id)} style={{ pointerEvents: "all", ...style }} > {children} diff --git a/packages/client/src/app/ui/Theme/SpriteImage.tsx b/packages/client/src/app/ui/Theme/SpriteImage.tsx index ad245815e..dd92c48dc 100644 --- a/packages/client/src/app/ui/Theme/SpriteImage.tsx +++ b/packages/client/src/app/ui/Theme/SpriteImage.tsx @@ -19,17 +19,20 @@ export const SpriteImage = ({ if (colorName) { const coloredSprite = sprites[`${spriteKey}-${colorName}`]; - if (!coloredSprite) { + if (coloredSprite) { + sprite = coloredSprite; + } else { console.error("Could not find colored sprite", spriteKey, colorName); } - - sprite = coloredSprite; } const atlasDimensions = atlasJson.textures[0].size; const spriteAtlasEntry = atlasJson.textures[0].frames.find((atlasFrame) => atlasFrame.filename === sprite.frame); - if (!spriteAtlasEntry) throw new Error(`Could not find sprite ${spriteKey} in atlas`); + if (!spriteAtlasEntry) { + console.error("Could not find sprite atlas entry", spriteKey); + return null; + } return (
{ - const urlKey = new URLSearchParams(window.location.search).get("privateKey"); - if (urlKey) return new Wallet(urlKey).privateKey; - - const storageKey = "mud:burnerWallet"; - - const privateKey = localStorage.getItem(storageKey); - if (privateKey) return privateKey; - - const burnerWallet = Wallet.createRandom(); - localStorage.setItem(storageKey, burnerWallet.privateKey); - return burnerWallet.privateKey; -}; diff --git a/packages/client/src/layers/Local/systems/PotentialPathSystem/createPotentialPathSystem.ts b/packages/client/src/layers/Local/systems/PotentialPathSystem/createPotentialPathSystem.ts index 75298c1ab..51a5e25c3 100644 --- a/packages/client/src/layers/Local/systems/PotentialPathSystem/createPotentialPathSystem.ts +++ b/packages/client/src/layers/Local/systems/PotentialPathSystem/createPotentialPathSystem.ts @@ -5,18 +5,13 @@ export function createPotentialPathSystem(layer: LocalLayer) { const { world, components: { Selected, PotentialPath, LocalPosition, Path }, - parentLayers: { - headless: { - components: { NextPosition }, - }, - }, api: { getPotentialPaths }, } = layer; defineSystem( world, // Not(Path) makes sure PotentialPaths are not rendered while a unit is moving. - [Has(Selected), Has(LocalPosition), Not(Path), Not(NextPosition)], + [Has(Selected), Has(LocalPosition), Not(Path)], ({ type, entity }) => { if (type === UpdateType.Exit) { removeComponent(PotentialPath, entity); diff --git a/packages/client/src/layers/Network/types.ts b/packages/client/src/layers/Network/types.ts index 130944b14..f32be7ee7 100644 --- a/packages/client/src/layers/Network/types.ts +++ b/packages/client/src/layers/Network/types.ts @@ -14,15 +14,15 @@ export enum UnitTypes { Swordsman, Pikeman, - Golem, + Halberdier, - Rider, + Pillager, Knight, - Dragon, + Dragoon, Archer, Catapult, - Wizard, + Marksman, Brute, } @@ -32,15 +32,15 @@ export const UnitTypeNames: Record = { [UnitTypes.Swordsman]: "Swordsman", [UnitTypes.Pikeman]: "Pikeman", - [UnitTypes.Golem]: "Halberdier", + [UnitTypes.Halberdier]: "Halberdier", [UnitTypes.Archer]: "Archer", [UnitTypes.Catapult]: "Crossbowman", - [UnitTypes.Wizard]: "Marksman", + [UnitTypes.Marksman]: "Marksman", - [UnitTypes.Rider]: "Rider", + [UnitTypes.Pillager]: "Pillager", [UnitTypes.Knight]: "Knight", - [UnitTypes.Dragon]: "Dragoon", + [UnitTypes.Dragoon]: "Dragoon", [UnitTypes.Brute]: "Brute", }; @@ -48,9 +48,9 @@ export const UnitTypeNames: Record = { export const UnitTypeDescriptions: Record = { [UnitTypes.Unknown]: "Unknown", - [UnitTypes.Golem]: "Infantry Hero", - [UnitTypes.Wizard]: "Ranged Hero", - [UnitTypes.Dragon]: "Cavalry Hero", + [UnitTypes.Halberdier]: "Infantry Hero", + [UnitTypes.Marksman]: "Ranged Hero", + [UnitTypes.Dragoon]: "Cavalry Hero", }; export enum StructureTypes { diff --git a/packages/client/src/layers/Plugins/createPluginLayer.ts b/packages/client/src/layers/Plugins/createPluginLayer.ts index e4af21565..09594ccc0 100644 --- a/packages/client/src/layers/Plugins/createPluginLayer.ts +++ b/packages/client/src/layers/Plugins/createPluginLayer.ts @@ -10,7 +10,8 @@ import * as components from "./components"; import { createClientHooks } from "./hooks/createClientHooks"; import { decodeMatchEntity } from "../../decodeMatchEntity"; import { createTileHighlighter } from "./createTileHighlighter"; -import { StructureTypes, UnitTypes } from "../Network"; +import { StructureTypes, TerrainTypes, UnitTypes } from "../Network"; +import { Hex } from "viem"; export type PluginLayer = ReturnType; @@ -18,9 +19,10 @@ export function createPluginLayer(phaserLayer: PhaserLayer, namespace: string) { const { parentLayers: { network: { - components: { Position, OwnedBy, Match, Player, UnitType, StructureType }, - utils: { isOwnedByCurrentPlayer }, + components: { Position, OwnedBy, Match, Player, UnitType, StructureType, Factory }, + utils: { isOwnedByCurrentPlayer, getCurrentPlayerEntity }, network: { matchEntity }, + utils: { getTemplateValueStrict }, }, headless: { components: { NextPosition }, @@ -35,6 +37,7 @@ export function createPluginLayer(phaserLayer: PhaserLayer, namespace: string) { scenes: { Main: { phaserScene }, }, + api: { buildAt: phaserBuildAt }, } = phaserLayer; function getSelectedEntity(): Entity | undefined { @@ -48,7 +51,7 @@ export function createPluginLayer(phaserLayer: PhaserLayer, namespace: string) { } } - function getPosition(entity: Entity | undefined) { + function getPosition(entity: Entity | undefined): WorldCoord | undefined { if (!entity) return; return getComponentValue(Position, entity); @@ -108,6 +111,22 @@ export function createPluginLayer(phaserLayer: PhaserLayer, namespace: string) { return [...allUnits]; } + function getMyFactories() { + const playerEntity = getCurrentPlayerEntity(); + if (!playerEntity) return [] as Entity[]; + + const allEntities = getAllPlayerEntities(playerEntity); + return allEntities.filter((entity) => getComponentValue(Factory, entity)); + } + + function getMyUnits() { + const playerEntity = getCurrentPlayerEntity(); + if (!playerEntity) return [] as Entity[]; + + const allEntities = getAllPlayerEntities(playerEntity); + return allEntities.filter((entity) => getComponentValue(UnitType, entity)); + } + function createHotkeyManager() { const hotkeys = new Map void>(); @@ -167,6 +186,23 @@ export function createPluginLayer(phaserLayer: PhaserLayer, namespace: string) { sendMoveTx(entity, targetPosition, intendedTarget); }; + const buildAt = async (structure: Entity, unitType: UnitTypes, position: WorldCoord) => { + const factory = getComponentValue(Factory, structure); + if (!factory) return; + + const prototypes = factory.prototypeIds; + let prototypeId: string | undefined; + for (const id of prototypes) { + const ut = getTemplateValueStrict(UnitType.id as Hex, id as Hex).value as UnitTypes; + if (ut === unitType) { + prototypeId = id; + break; + } + } + + if (prototypeId) phaserBuildAt(structure, prototypeId, position); + }; + return { hotkeyManager, tileHighlighter: createTileHighlighter(phaserLayer, namespace), @@ -184,6 +220,10 @@ export function createPluginLayer(phaserLayer: PhaserLayer, namespace: string) { canAttack, canMoveToAndAttack, + // personal player info + getMyFactories, + getMyUnits, + // player info getPlayerDetails, getPlayerGold, @@ -196,6 +236,7 @@ export function createPluginLayer(phaserLayer: PhaserLayer, namespace: string) { actions: { attack, move, + buildAt, }, ui: { preact: { @@ -210,6 +251,11 @@ export function createPluginLayer(phaserLayer: PhaserLayer, namespace: string) { components, hooks: createClientHooks(phaserLayer), }, + types: { + UnitTypes, + StructureTypes, + TerrainTypes, + }, recs, parentLayers: { phaser: phaserLayer, diff --git a/packages/client/src/layers/Renderer/Phaser/animationConfig.ts b/packages/client/src/layers/Renderer/Phaser/animationConfig.ts index 141f86401..90bf426e1 100644 --- a/packages/client/src/layers/Renderer/Phaser/animationConfig.ts +++ b/packages/client/src/layers/Renderer/Phaser/animationConfig.ts @@ -30,7 +30,7 @@ function createWalkAnimations() { startFrame: 0, // Ranged unit walk animations are only 3 frames long // Why? I have no fucking idea - endFrame: [UnitTypes.Archer, UnitTypes.Catapult, UnitTypes.Wizard].includes(unitType) ? 2 : 3, + endFrame: [UnitTypes.Archer, UnitTypes.Catapult, UnitTypes.Marksman].includes(unitType) ? 2 : 3, frameRate: 6, repeat: -1, prefix: `sprites/greyscale/units/${folderName}/walk/${directions[i]}/`, @@ -116,6 +116,16 @@ const baseAnimations = [ prefix: "sprites/tile_ui/white/outline/", suffix: ".png", }, + { + key: Animations.TileOutlineBlue, + assetKey: Assets.MainAtlas, + startFrame: 0, + endFrame: 0, + frameRate: 3, + repeat: -1, + prefix: "sprites/tile_ui/blue/outline/", + suffix: ".png", + }, { key: Animations.TileSelect, @@ -223,33 +233,33 @@ const baseAnimations = [ }, { - key: Animations.GolemIdle, + key: Animations.HalberdierIdle, assetKey: Assets.MainAtlas, startFrame: 0, endFrame: 3, frameRate: 4, repeat: -1, - prefix: "sprites/greyscale/units/golem/idle/", + prefix: "sprites/greyscale/units/halberdier/idle/", suffix: ".png", }, { - key: Animations.GolemAttack, + key: Animations.HalberdierAttack, assetKey: Assets.MainAtlas, startFrame: 0, endFrame: 5, frameRate: 6, repeat: 0, - prefix: "sprites/greyscale/units/golem/attack/", + prefix: "sprites/greyscale/units/halberdier/attack/", suffix: ".png", }, { - key: Animations.GolemDeath, + key: Animations.HalberdierDeath, assetKey: Assets.MainAtlas, startFrame: 0, endFrame: 11, frameRate: 4, repeat: 0, - prefix: "sprites/greyscale/units/golem/death/", + prefix: "sprites/greyscale/units/halberdier/death/", suffix: ".png", }, @@ -316,64 +326,64 @@ const baseAnimations = [ }, { - key: Animations.WizardIdle, + key: Animations.MarksmanIdle, assetKey: Assets.MainAtlas, startFrame: 0, endFrame: 3, frameRate: 4, repeat: -1, - prefix: "sprites/greyscale/units/wizard/idle/", + prefix: "sprites/greyscale/units/marksman/idle/", suffix: ".png", }, { - key: Animations.WizardAttack, + key: Animations.MarksmanAttack, assetKey: Assets.MainAtlas, startFrame: 0, endFrame: 5, frameRate: 6, repeat: 0, - prefix: "sprites/greyscale/units/wizard/attack/", + prefix: "sprites/greyscale/units/marksman/attack/", suffix: ".png", }, { - key: Animations.WizardDeath, + key: Animations.MarksmanDeath, assetKey: Assets.MainAtlas, startFrame: 0, endFrame: 11, frameRate: 4, repeat: 0, - prefix: "sprites/greyscale/units/wizard/death/", + prefix: "sprites/greyscale/units/marksman/death/", suffix: ".png", }, { - key: Animations.RiderIdle, + key: Animations.PillagerIdle, assetKey: Assets.MainAtlas, startFrame: 0, endFrame: 3, frameRate: 4, repeat: -1, - prefix: "sprites/greyscale/units/rider/idle/", + prefix: "sprites/greyscale/units/pillager/idle/", suffix: ".png", }, { - key: Animations.RiderAttack, + key: Animations.PillagerAttack, assetKey: Assets.MainAtlas, startFrame: 0, endFrame: 5, frameRate: 6, repeat: 0, - prefix: "sprites/greyscale/units/rider/attack/", + prefix: "sprites/greyscale/units/pillager/attack/", suffix: ".png", }, { - key: Animations.RiderDeath, + key: Animations.PillagerDeath, assetKey: Assets.MainAtlas, startFrame: 0, endFrame: 7, frameRate: 4, repeat: 0, - prefix: "sprites/greyscale/units/rider/death/", + prefix: "sprites/greyscale/units/pillager/death/", suffix: ".png", }, @@ -409,33 +419,33 @@ const baseAnimations = [ }, { - key: Animations.DragonIdle, + key: Animations.DragoonIdle, assetKey: Assets.MainAtlas, startFrame: 0, endFrame: 3, frameRate: 4, repeat: -1, - prefix: "sprites/greyscale/units/dragon/idle/", + prefix: "sprites/greyscale/units/dragoon/idle/", suffix: ".png", }, { - key: Animations.DragonAttack, + key: Animations.DragoonAttack, assetKey: Assets.MainAtlas, startFrame: 0, endFrame: 5, frameRate: 6, repeat: 0, - prefix: "sprites/greyscale/units/dragon/attack/", + prefix: "sprites/greyscale/units/dragoon/attack/", suffix: ".png", }, { - key: Animations.DragonDeath, + key: Animations.DragoonDeath, assetKey: Assets.MainAtlas, startFrame: 0, endFrame: 11, frameRate: 4, repeat: 0, - prefix: "sprites/greyscale/units/dragon/death/", + prefix: "sprites/greyscale/units/dragoon/death/", suffix: ".png", }, diff --git a/packages/client/src/layers/Renderer/Phaser/constants.ts b/packages/client/src/layers/Renderer/Phaser/constants.ts index 8b7e86de5..5ff546219 100644 --- a/packages/client/src/layers/Renderer/Phaser/constants.ts +++ b/packages/client/src/layers/Renderer/Phaser/constants.ts @@ -4,7 +4,7 @@ export const TIPS = [ "Press [ENTER] to cycle through your units with available energy points.", "Higher tiered units are not only stronger, but have higher max energy points and energy regen rate!", "Infantry type units (Swordsman, Pikeman, etc) are good in frontline combat: they can deal a lot of damage when attacking and defending.", - "Cavalry type units (Rider, Knight, etc) have low strength and deal less damage when defending, but are fast.", + "Cavalry type units (Pillager, Knight, etc) have low strength and deal less damage when defending, but are fast.", "Ranged type units (Archer, Catapult, etc) have low strength and deal less damage when defending, but can attack from a distance. Note: They cannot attack units directly next to them.", "All structures that produce units (Settlements, Villages) can run out of energy points. When this happens, they will never produce units again.", "The live launch of Sky Strife will run a rollup based on Optimism Bedrock with data availability on Ethereum Mainnet.", diff --git a/packages/client/src/layers/Renderer/Phaser/createPhaserLayer.ts b/packages/client/src/layers/Renderer/Phaser/createPhaserLayer.ts index 6acdfd889..3e093a12e 100644 --- a/packages/client/src/layers/Renderer/Phaser/createPhaserLayer.ts +++ b/packages/client/src/layers/Renderer/Phaser/createPhaserLayer.ts @@ -58,6 +58,7 @@ import { createArrowPainter } from "./createArrowPainter"; import { createDepthSystem } from "./systems/DepthSystem"; import { createSkullSystem } from "./systems/SkullSystem"; import { createShieldSystem } from "./systems/ShieldSystem"; +import { createUnitBuildSystem } from "./systems/UnitBuildSystem"; type PhaserEngineConfig = Parameters[0]; @@ -125,7 +126,7 @@ export async function createPhaserLayer(local: LocalLayer, phaserConfig: PhaserE selectEntity(entity); } - function drawTileHighlight(id: string, position: Coord, color: "red" | "yellow" | "white", alpha = 1) { + function drawTileHighlight(id: string, position: Coord, color: "red" | "yellow" | "white" | "blue", alpha = 1) { const { objectPool, maps: { @@ -136,6 +137,7 @@ export async function createPhaserLayer(local: LocalLayer, phaserConfig: PhaserE let animation = Animations.TileOutlineWhite; if (color === "red") animation = Animations.TileOutlineRed; if (color === "yellow") animation = Animations.TileOutlineYellow; + if (color === "blue") animation = Animations.TileOutlineBlue; const object = objectPool.get(id, "Sprite"); object.setComponent({ @@ -152,42 +154,46 @@ export async function createPhaserLayer(local: LocalLayer, phaserConfig: PhaserE } function createMapInteractionApi() { - let enabled = true; + const disablers = new Set(); return { - disableMapInteraction: () => { - enabled = false; + disableMapInteraction: (id: string) => { + disablers.add(id); }, - enableMapInteraction: () => { - enabled = true; + enableMapInteraction: (id: string) => { + disablers.delete(id); + }, + forceEnableMapInteraction: () => { + disablers.clear(); }, mapInteractionEnabled: () => { - return enabled; + return disablers.size === 0; }, }; } + const findColoredAnimation = (animationKey: Animations, colorName: string) => { + const { + config: { animations }, + } = scenes.Main; + + const tintedAnimationKey = `${animationKey}-${colorName}`; + const tintedAnimation = animations.find((a) => a.key === tintedAnimationKey); + + return tintedAnimation; + }; + function playTintedAnimation( entity: Entity, animation: Animations, colorName: ValueOf, callback?: (gameObject: Phaser.GameObjects.Sprite) => void ) { - const { - objectPool, - config: { animations }, - } = scenes.Main; + const { objectPool } = scenes.Main; const embodiedEntity = objectPool.get(entity, "Sprite"); - const findAnimation = (animationKey: Animations, colorName: string) => { - const tintedAnimationKey = `${animationKey}-${colorName}`; - const tintedAnimation = animations.find((a) => a.key === tintedAnimationKey); - - return tintedAnimation; - }; - - const finalAnimation = findAnimation(animation, colorName)?.key ?? animation; + const finalAnimation = findColoredAnimation(animation, colorName)?.key ?? animation; embodiedEntity.setComponent({ id: `play-tinted-animation-${entity}`, once: (gameObject) => { @@ -399,6 +405,7 @@ export async function createPhaserLayer(local: LocalLayer, phaserConfig: PhaserE highlightCoord: (_coord: Coord) => { "no-op for types"; }, + findColoredAnimation, playTintedAnimation, playAnimationWithOwnerColor, setOriginCenter, @@ -451,6 +458,7 @@ export async function createPhaserLayer(local: LocalLayer, phaserConfig: PhaserE createDepthSystem(layer); createSkullSystem(layer); createShieldSystem(layer); + createUnitBuildSystem(layer); createHideBlackBoxSystem(layer); diff --git a/packages/client/src/layers/Renderer/Phaser/phaserConstants.ts b/packages/client/src/layers/Renderer/Phaser/phaserConstants.ts index eec995eb1..633db3776 100644 --- a/packages/client/src/layers/Renderer/Phaser/phaserConstants.ts +++ b/packages/client/src/layers/Renderer/Phaser/phaserConstants.ts @@ -56,15 +56,15 @@ export enum Sprites { Swordsman, Pikeman, - Golem, + Halberdier, Archer, Catapult, - Wizard, + Marksman, - Rider, + Pillager, Knight, - Dragon, + Dragoon, Brute, @@ -108,6 +108,7 @@ export enum Animations { TileOutlineRed = "TileOutlineRed", TileOutlineYellow = "TileOutlineYellow", TileOutlineWhite = "TileOutlineWhite", + TileOutlineBlue = "TileOutlineBlue", TileSelect = "TileSelect", Banner = "Banner", @@ -125,39 +126,39 @@ export enum Animations { // Units SwordsmanIdle = "SwordsmanIdle", PikemanIdle = "PikemanIdle", - GolemIdle = "GolemIdle", + HalberdierIdle = "HalberdierIdle", ArcherIdle = "ArcherIdle", CatapultIdle = "CatapultIdle", - WizardIdle = "WizardIdle", + MarksmanIdle = "MarksmanIdle", - RiderIdle = "RiderIdle", + PillagerIdle = "PillagerIdle", KnightIdle = "KnightIdle", - DragonIdle = "DragonIdle", + DragoonIdle = "DragoonIdle", SwordsmanAttack = "SwordsmanAttack", PikemanAttack = "PikemanAttack", - GolemAttack = "GolemAttack", + HalberdierAttack = "HalberdierAttack", ArcherAttack = "ArcherAttack", CatapultAttack = "CatapultAttack", - WizardAttack = "WizardAttack", + MarksmanAttack = "MarksmanAttack", - RiderAttack = "RiderAttack", + PillagerAttack = "PillagerAttack", KnightAttack = "KnightAttack", - DragonAttack = "DragonAttack", + DragoonAttack = "DragoonAttack", SwordsmanDeath = "SwordsmanDeath", PikemanDeath = "PikemanDeath", - GolemDeath = "GolemDeath", + HalberdierDeath = "HalberdierDeath", ArcherDeath = "ArcherDeath", CatapultDeath = "CatapultDeath", - WizardDeath = "WizardDeath", + MarksmanDeath = "MarksmanDeath", - RiderDeath = "RiderDeath", + PillagerDeath = "PillagerDeath", KnightDeath = "KnightDeath", - DragonDeath = "DragonDeath", + DragoonDeath = "DragoonDeath", BruteIdle = "BruteIdle", BruteAttack = "BruteAttack", @@ -172,13 +173,13 @@ function createWalkAnimations() { return [ UnitTypes.Swordsman, UnitTypes.Pikeman, - UnitTypes.Golem, + UnitTypes.Halberdier, UnitTypes.Archer, UnitTypes.Catapult, - UnitTypes.Wizard, - UnitTypes.Rider, + UnitTypes.Marksman, + UnitTypes.Pillager, UnitTypes.Knight, - UnitTypes.Dragon, + UnitTypes.Dragoon, UnitTypes.Brute, ].reduce((anims, unitType) => { anims[unitType] = [`${unitType}WalkUp`, `${unitType}WalkDown`, `${unitType}WalkLeft`, `${unitType}WalkRight`]; @@ -194,15 +195,15 @@ export const UnitTypeSprites: Record = { [UnitTypes.Swordsman]: Sprites.Swordsman, [UnitTypes.Pikeman]: Sprites.Pikeman, - [UnitTypes.Golem]: Sprites.Golem, + [UnitTypes.Halberdier]: Sprites.Halberdier, [UnitTypes.Archer]: Sprites.Archer, [UnitTypes.Catapult]: Sprites.Catapult, - [UnitTypes.Wizard]: Sprites.Wizard, + [UnitTypes.Marksman]: Sprites.Marksman, - [UnitTypes.Rider]: Sprites.Rider, + [UnitTypes.Pillager]: Sprites.Pillager, [UnitTypes.Knight]: Sprites.Knight, - [UnitTypes.Dragon]: Sprites.Dragon, + [UnitTypes.Dragoon]: Sprites.Dragoon, [UnitTypes.Brute]: Sprites.Brute, }; @@ -217,15 +218,15 @@ export const StructureTypeSprites: Record = { export const UnitTypeAnimations: Record = { [UnitTypes.Swordsman]: Animations.SwordsmanIdle, [UnitTypes.Pikeman]: Animations.PikemanIdle, - [UnitTypes.Golem]: Animations.GolemIdle, + [UnitTypes.Halberdier]: Animations.HalberdierIdle, [UnitTypes.Archer]: Animations.ArcherIdle, [UnitTypes.Catapult]: Animations.CatapultIdle, - [UnitTypes.Wizard]: Animations.WizardIdle, + [UnitTypes.Marksman]: Animations.MarksmanIdle, - [UnitTypes.Rider]: Animations.RiderIdle, + [UnitTypes.Pillager]: Animations.PillagerIdle, [UnitTypes.Knight]: Animations.KnightIdle, - [UnitTypes.Dragon]: Animations.DragonIdle, + [UnitTypes.Dragoon]: Animations.DragoonIdle, [UnitTypes.Brute]: Animations.BruteIdle, }; @@ -233,15 +234,15 @@ export const UnitTypeAnimations: Record = { export const UnitTypeAttackAnimations: Record = { [UnitTypes.Swordsman]: Animations.SwordsmanAttack, [UnitTypes.Pikeman]: Animations.PikemanAttack, - [UnitTypes.Golem]: Animations.GolemAttack, + [UnitTypes.Halberdier]: Animations.HalberdierAttack, [UnitTypes.Archer]: Animations.ArcherAttack, [UnitTypes.Catapult]: Animations.CatapultAttack, - [UnitTypes.Wizard]: Animations.WizardAttack, + [UnitTypes.Marksman]: Animations.MarksmanAttack, - [UnitTypes.Rider]: Animations.RiderAttack, + [UnitTypes.Pillager]: Animations.PillagerAttack, [UnitTypes.Knight]: Animations.KnightAttack, - [UnitTypes.Dragon]: Animations.DragonAttack, + [UnitTypes.Dragoon]: Animations.DragoonAttack, [UnitTypes.Brute]: Animations.BruteAttack, }; @@ -249,15 +250,15 @@ export const UnitTypeAttackAnimations: Record = { export const UnitTypeDeathAnimations: Record = { [UnitTypes.Swordsman]: Animations.SwordsmanDeath, [UnitTypes.Pikeman]: Animations.PikemanDeath, - [UnitTypes.Golem]: Animations.GolemDeath, + [UnitTypes.Halberdier]: Animations.HalberdierDeath, [UnitTypes.Archer]: Animations.ArcherDeath, [UnitTypes.Catapult]: Animations.CatapultDeath, - [UnitTypes.Wizard]: Animations.WizardDeath, + [UnitTypes.Marksman]: Animations.MarksmanDeath, - [UnitTypes.Rider]: Animations.RiderDeath, + [UnitTypes.Pillager]: Animations.PillagerDeath, [UnitTypes.Knight]: Animations.KnightDeath, - [UnitTypes.Dragon]: Animations.DragonDeath, + [UnitTypes.Dragoon]: Animations.DragoonDeath, [UnitTypes.Brute]: Animations.BruteDeath, }; diff --git a/packages/client/src/layers/Renderer/Phaser/spriteConfig.ts b/packages/client/src/layers/Renderer/Phaser/spriteConfig.ts index a5c898f68..081c0e0d1 100644 --- a/packages/client/src/layers/Renderer/Phaser/spriteConfig.ts +++ b/packages/client/src/layers/Renderer/Phaser/spriteConfig.ts @@ -99,9 +99,9 @@ const baseSprites = { assetKey: Assets.MainAtlas, frame: "sprites/greyscale/units/pikeman/idle/0.png", }, - [Sprites.Golem]: { + [Sprites.Halberdier]: { assetKey: Assets.MainAtlas, - frame: "sprites/greyscale/units/golem/idle/0.png", + frame: "sprites/greyscale/units/halberdier/idle/0.png", }, [Sprites.Archer]: { @@ -112,9 +112,9 @@ const baseSprites = { assetKey: Assets.MainAtlas, frame: "sprites/greyscale/units/catapult/idle/0.png", }, - [Sprites.Wizard]: { + [Sprites.Marksman]: { assetKey: Assets.MainAtlas, - frame: "sprites/greyscale/units/wizard/idle/0.png", + frame: "sprites/greyscale/units/marksman/idle/0.png", }, [Sprites.Brute]: { @@ -122,17 +122,17 @@ const baseSprites = { frame: "sprites/greyscale/units/brute/idle/0.png", }, - [Sprites.Rider]: { + [Sprites.Pillager]: { assetKey: Assets.MainAtlas, - frame: "sprites/greyscale/units/rider/idle/0.png", + frame: "sprites/greyscale/units/pillager/idle/0.png", }, [Sprites.Knight]: { assetKey: Assets.MainAtlas, frame: "sprites/greyscale/units/knight/idle/0.png", }, - [Sprites.Dragon]: { + [Sprites.Dragoon]: { assetKey: Assets.MainAtlas, - frame: "sprites/greyscale/units/dragon/idle/0.png", + frame: "sprites/greyscale/units/dragoon/idle/0.png", }, [Sprites.GoldMine]: { diff --git a/packages/client/src/layers/Renderer/Phaser/systems/DrawAttackableEntitiesSystem/createDrawAttackableEntitiesSystem.ts b/packages/client/src/layers/Renderer/Phaser/systems/DrawAttackableEntitiesSystem/createDrawAttackableEntitiesSystem.ts index 5b1c8b313..f4a860270 100644 --- a/packages/client/src/layers/Renderer/Phaser/systems/DrawAttackableEntitiesSystem/createDrawAttackableEntitiesSystem.ts +++ b/packages/client/src/layers/Renderer/Phaser/systems/DrawAttackableEntitiesSystem/createDrawAttackableEntitiesSystem.ts @@ -34,7 +34,7 @@ export function createDrawAttackableEntitiesSystem(layer: PhaserLayer) { api: { drawSpriteAtTile, drawTileHighlight }, } = layer; - function drawAttackSpritesOnTarget(attacker: Entity, target: Entity, showModifier = false) { + function drawAttackSpritesOnTarget(attacker: Entity, target: Entity) { const id = `${target}-attackable-highlight`; const outlineId = `${target}-attackable-outline`; @@ -42,14 +42,12 @@ export function createDrawAttackableEntitiesSystem(layer: PhaserLayer) { if (!position) return; let swordSprite = Sprites.Sword; - if (showModifier) { - const combatModifier = getArchetypeMatchupModifier(networkLayer, attacker, target); + const combatModifier = getArchetypeMatchupModifier(networkLayer, attacker, target); - if (combatModifier > 0) { - swordSprite = Sprites.SwordUp; - } else if (combatModifier < 0) { - swordSprite = Sprites.SwordDown; - } + if (combatModifier > 0) { + swordSprite = Sprites.SwordUp; + } else if (combatModifier < 0) { + swordSprite = Sprites.SwordDown; } drawSpriteAtTile(id, swordSprite, position, RenderDepth.UI2, { @@ -92,7 +90,7 @@ export function createDrawAttackableEntitiesSystem(layer: PhaserLayer) { }); const target = nextPosition.intendedTarget; - drawAttackSpritesOnTarget(attacker, target, true); + drawAttackSpritesOnTarget(attacker, target); } else { for (let i = 0; i < attackableEntities.length; i++) { const target = attackableEntities[i] as Entity; diff --git a/packages/client/src/layers/Renderer/Phaser/systems/DrawPotentialPathSystem/createDrawPotentialPathSystem.ts b/packages/client/src/layers/Renderer/Phaser/systems/DrawPotentialPathSystem/createDrawPotentialPathSystem.ts index 31f58763b..c4aa095a1 100644 --- a/packages/client/src/layers/Renderer/Phaser/systems/DrawPotentialPathSystem/createDrawPotentialPathSystem.ts +++ b/packages/client/src/layers/Renderer/Phaser/systems/DrawPotentialPathSystem/createDrawPotentialPathSystem.ts @@ -7,7 +7,7 @@ import { Has, hasComponent, HasValue, - isComponentUpdate, + Not, NotValue, runQuery, UpdateType, @@ -84,7 +84,7 @@ export function createDrawPotentialPathSystem(layer: PhaserLayer) { } } - defineSystem(world, [Has(PotentialPath), Has(LocalPosition)], (update) => { + defineSystem(world, [Has(PotentialPath), Has(LocalPosition), Not(NextPosition)], (update) => { highlightPotentialPaths(update); }); @@ -126,7 +126,7 @@ export function createDrawPotentialPathSystem(layer: PhaserLayer) { } // draw movement arrow over hovering position - defineSystem(world, [Has(PotentialPath), Has(LocalPosition)], ({ entity, type }) => { + defineSystem(world, [Has(PotentialPath), Has(LocalPosition), Not(NextPosition)], ({ entity, type }) => { initializePathObjects(entity); const pathObjects = entityToPathObjects[entity]; diff --git a/packages/client/src/layers/Renderer/Phaser/systems/InputSystem/registerClicks.ts b/packages/client/src/layers/Renderer/Phaser/systems/InputSystem/registerClicks.ts index d4cbde42d..743c8a94d 100644 --- a/packages/client/src/layers/Renderer/Phaser/systems/InputSystem/registerClicks.ts +++ b/packages/client/src/layers/Renderer/Phaser/systems/InputSystem/registerClicks.ts @@ -23,7 +23,7 @@ export function registerClicks(layer: PhaserLayer, { getSelectedEntity, getHighl }, }, api: { - mapInteraction: { mapInteractionEnabled, enableMapInteraction }, + mapInteraction: { mapInteractionEnabled, forceEnableMapInteraction }, }, scenes: { Main: { input, maps }, @@ -137,7 +137,7 @@ export function registerClicks(layer: PhaserLayer, { getSelectedEntity, getHighl // in case we end up in a situation where the UI has not // properly re-enabled map interaction - if (clickingCanvas && !mapInteractionEnabled()) enableMapInteraction(); + if (clickingCanvas && !mapInteractionEnabled()) forceEnableMapInteraction(); return clickingCanvas; }), diff --git a/packages/client/src/layers/Renderer/Phaser/systems/InputSystem/registerHoverIcon.ts b/packages/client/src/layers/Renderer/Phaser/systems/InputSystem/registerHoverIcon.ts index 56b8207c0..1f4b9247c 100644 --- a/packages/client/src/layers/Renderer/Phaser/systems/InputSystem/registerHoverIcon.ts +++ b/packages/client/src/layers/Renderer/Phaser/systems/InputSystem/registerHoverIcon.ts @@ -19,6 +19,7 @@ import { InputUtils } from "./createInputSystem"; import { filterNullish } from "@latticexyz/utils"; import { worldCoordEq } from "../../../../../utils/coords"; import { singletonEntity } from "@latticexyz/store-sync/recs"; +import { getPositionsWithinRange } from "../../../../../utils/distance"; export function registerHoverIcon(layer: PhaserLayer, { getSelectedEntity }: InputUtils) { const { @@ -133,6 +134,27 @@ export function registerHoverIcon(layer: PhaserLayer, { getSelectedEntity }: Inp } } + // attempt to calculate the best path to attack + // before calling getMoveAndAttackPath + // getMoveAndAttackPath is expensive and we want to avoid calling it if we can + const cannotMoveToPreferredEndPosition = !hasPotentialPath(selectedEntity, preferredEndPosition); + if (cannotMoveToPreferredEndPosition) { + const enemyPosition = getComponentValue(Position, hoveredAttackableEntity); + if (!enemyPosition) return; + + const range = getComponentValue(Range, selectedEntity); + if (!range) return; + + const coordsInRangeOfTarget = getPositionsWithinRange(enemyPosition, Math.min(range.min, 1), range.max); + for (const coord of coordsInRangeOfTarget) { + if (hasPotentialPath(selectedEntity, coord)) { + preferredEndPosition = coord; + console.warn(`Found a position in range of target: ${coord.x}, ${coord.y}`); + break; + } + } + } + // if we make it to here, calculate a move and attack path // and show it to the user const moveAndAttackPath = getMoveAndAttackPath( @@ -181,7 +203,7 @@ export function registerHoverIcon(layer: PhaserLayer, { getSelectedEntity }: Inp return; } - if (hasPotentialPath(selectedEntity, hoveredPosition) || hoveringNextPosition) { + if (!nextPosition && (hasPotentialPath(selectedEntity, hoveredPosition) || hoveringNextPosition)) { input.setCursor("url(public/assets/move.png), pointer"); return; } diff --git a/packages/client/src/layers/Renderer/Phaser/systems/UnitBuildSystem/createUnitBuildSystem.ts b/packages/client/src/layers/Renderer/Phaser/systems/UnitBuildSystem/createUnitBuildSystem.ts new file mode 100644 index 000000000..10aef926d --- /dev/null +++ b/packages/client/src/layers/Renderer/Phaser/systems/UnitBuildSystem/createUnitBuildSystem.ts @@ -0,0 +1,122 @@ +import { + Has, + HasValue, + UpdateType, + defineSystem, + getComponentValue, + getComponentValueStrict, + removeComponent, + runQuery, +} from "@latticexyz/recs"; +import { PhaserLayer } from "../.."; +import { RenderDepth } from "../../types"; +import { TILE_HEIGHT, TILE_WIDTH, UnitTypeAnimations } from "../../phaserConstants"; +import { tileCoordToPixelCoord } from "phaserx"; +import { UNIT_OFFSET } from "../../../../Local/constants"; +import { UnitTypes } from "../../../../Network"; +import { Subscription, merge } from "rxjs"; + +export function createUnitBuildSystem(layer: PhaserLayer) { + const { + world, + parentLayers: { + network: { + components: { BuildingUnit, Position, Untraversable }, + }, + local: { + components: { Selected }, + api: { getOwnerColor }, + }, + }, + api: { + drawTileHighlight, + depthFromPosition, + findColoredAnimation, + mapInteraction: { enableMapInteraction, disableMapInteraction }, + buildAt, + }, + scenes: { + Main: { objectPool, input }, + }, + } = layer; + + let buildClickSub: Subscription | undefined; + + defineSystem(world, [Has(BuildingUnit)], ({ entity: factoryEntity, type }) => { + buildClickSub?.unsubscribe(); + for (let i = 0; i < 4; i++) { + objectPool.remove(`unit-build-${i}`); + objectPool.remove(`unit-build-anim-${i}`); + } + + if (type === UpdateType.Exit) return; + + const factoryPosition = getComponentValue(Position, factoryEntity); + if (!factoryPosition) return; + + const buildablePosition = [ + { x: factoryPosition.x + 1, y: factoryPosition.y }, + { x: factoryPosition.x - 1, y: factoryPosition.y }, + { x: factoryPosition.x, y: factoryPosition.y + 1 }, + { x: factoryPosition.x, y: factoryPosition.y - 1 }, + ].filter((pos) => { + const entityAtPos = [...runQuery([HasValue(Position, pos), Has(Untraversable)])]; + return entityAtPos.length === 0; + }); + + disableMapInteraction("unit-build"); + + // the next click, no matter where, ends the build + buildClickSub = merge(input.click$, input.rightClick$).subscribe((pointer) => { + removeComponent(BuildingUnit, factoryEntity); + removeComponent(Selected, factoryEntity); + enableMapInteraction("unit-build"); + }); + + for (let i = 0; i < buildablePosition.length; i++) { + const buildPosition = buildablePosition[i]; + drawTileHighlight(`unit-build-${i}`, buildPosition, "blue", 1); + + const ownerColor = getOwnerColor(factoryEntity); + const buildData = getComponentValueStrict(BuildingUnit, factoryEntity); + const unitType = buildData.unitType; + const anim = UnitTypeAnimations[unitType]; + const coloredAnim = findColoredAnimation(anim, ownerColor.name); + + const pixelCoord = tileCoordToPixelCoord(buildPosition, TILE_WIDTH, TILE_HEIGHT); + + const animId = `unit-build-anim-${i}`; + const gameObject = objectPool.get(animId, "Sprite"); + + gameObject.setComponent({ + id: `idle-anim`, + once: (obj) => { + obj.setOrigin(0, 0); + if (unitType === UnitTypes.Brute) obj.setOrigin(0.18, 0.18); + + obj.setPosition(pixelCoord.x, pixelCoord.y - UNIT_OFFSET); + obj.setDepth(depthFromPosition(buildPosition, RenderDepth.Foreground1)); + obj.play(coloredAnim?.key ?? anim); + obj.setAlpha(0.5); + + obj.setInteractive(); + obj.on("pointerover", () => { + obj.setAlpha(1); + }); + + obj.on("pointerout", () => { + obj.setAlpha(0.5); + }); + + obj.on("pointerdown", () => { + removeComponent(BuildingUnit, factoryEntity); + removeComponent(Selected, factoryEntity); + enableMapInteraction("unit-build"); + + buildAt(factoryEntity, buildData.prototypeId, buildPosition); + }); + }, + }); + } + }); +} diff --git a/packages/client/src/layers/Renderer/Phaser/systems/UnitBuildSystem/index.ts b/packages/client/src/layers/Renderer/Phaser/systems/UnitBuildSystem/index.ts new file mode 100644 index 000000000..55565848e --- /dev/null +++ b/packages/client/src/layers/Renderer/Phaser/systems/UnitBuildSystem/index.ts @@ -0,0 +1 @@ +export * from "./createUnitBuildSystem"; diff --git a/packages/client/src/mud/getBrowserNetworkConfig.ts b/packages/client/src/mud/getBrowserNetworkConfig.ts index ec135865b..00b3f0a90 100644 --- a/packages/client/src/mud/getBrowserNetworkConfig.ts +++ b/packages/client/src/mud/getBrowserNetworkConfig.ts @@ -1,9 +1,53 @@ -import { getBurnerWallet } from "../getBurnerWallet"; import { Wallet } from "ethers"; import { getChain, getWorldFromChainId } from "./utils"; import { Entity } from "@latticexyz/recs"; import { redstoneHolesky } from "./supportedChains"; +export const getBurnerWallet = () => { + const params = new URLSearchParams(window.location.search); + + const manualPrivateKey = params.get("privateKey"); + if (manualPrivateKey) return new Wallet(manualPrivateKey).privateKey; + + const useAnvilAdminKey = import.meta.env.DEV && !params.has("asPlayer"); + if (useAnvilAdminKey) { + // default anvil admin key + return "0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80"; + } + + const storageKey = "mud:burnerWallet"; + + const privateKey = localStorage.getItem(storageKey); + if (privateKey) return privateKey; + + const burnerWallet = Wallet.createRandom(); + localStorage.setItem(storageKey, burnerWallet.privateKey); + return burnerWallet.privateKey; +}; + +/** + * Uses URL params and chain config to determine the network settings for the client. + * Supported URL params: + * + * Network/Sync Info: + * - chainId(number): The ID of the chain you want to connect to. Currently supports 31337 (localhost) and 17001 (Redstone Holesky) natively. To add more chains, see `supportedChains.ts`. + * - worldAddress(string): The address of the world contract. + * - initialBlockNumber(number): The initial block number to start syncing from. + * - disableIndexer(boolean): Whether to disable the indexer. + * - rpc(string): The JSON-RPC URL. + * - wsRpc(string): The WebSocket JSON-RPC URL. + * - faucet(string): The faucet service URL. + * - privateKey(string): The private key to use for the burner wallet. + * + * Sky Strife Specific: + * - anon(boolean): If true, will generate a new burner wallet ON EVERY PAGE LOAD. + * - match(string): The entity ID for a specific Sky Strife match. Should be used alongside the /match route. + * - useBurner(boolean): Use the in-memory burner wallet for all actions instead of the external wallet (i.e. Metamask). This is the default behavior in DEV mode. + * + * Dev Only: + * - useExternalWallet(boolean): Force the use of an external wallet. + * - asPlayer(boolean): Force the generation of a non-admin burner wallet. + */ export async function getNetworkConfig() { const params = new URLSearchParams(window.location.search); @@ -27,7 +71,8 @@ export async function getNetworkConfig() { const matchParam = params.get("match"); const matchEntity = matchParam != null ? (matchParam as Entity) : null; - const useBurner = (import.meta.env.DEV && !params.has("externalWallet")) || params.has("useBurner"); + const useBurner = (import.meta.env.DEV && !params.has("useExternalWallet")) || params.has("useBurner"); + const burnerWalletPrivateKey = params.has("anon") ? Wallet.createRandom().privateKey : getBurnerWallet(); return { clock: { @@ -40,7 +85,7 @@ export async function getNetworkConfig() { jsonRpcUrl: params.get("rpc") ?? chain.rpcUrls.default.http[0], wsRpcUrl: params.get("wsRpc") ?? chain.rpcUrls.default.webSocket?.[0], }, - privateKey: params.has("anon") ? Wallet.createRandom().privateKey : getBurnerWallet(), + privateKey: burnerWalletPrivateKey, useBurner, chainId, faucetServiceUrl: params.get("faucet") ?? chain.faucetUrl, diff --git a/packages/client/src/mud/supportedChains.ts b/packages/client/src/mud/supportedChains.ts index 8a0191585..cb6c65406 100644 --- a/packages/client/src/mud/supportedChains.ts +++ b/packages/client/src/mud/supportedChains.ts @@ -1,29 +1,9 @@ -import { MUDChain, latticeTestnet, mudFoundry } from "@latticexyz/common/chains"; +import { MUDChain, mudFoundry } from "@latticexyz/common/chains"; type SkyStrifeChain = MUDChain & { indexerUrl?: string; }; -// New Redstone testnet with 2s blocktime -export const redstone = { - name: "Redstone Testnet", - id: 894, - network: "redstone-testnet", - nativeCurrency: { decimals: 18, name: "Ether", symbol: "ETH" }, - rpcUrls: { - default: { - http: ["https://894.quarry.linfra.xyz"], - webSocket: ["wss://894.quarry.linfra.xyz/ws"], - }, - public: { - http: ["https://894.quarry.linfra.xyz"], - webSocket: ["wss://894.quarry.linfra.xyz/ws"], - }, - }, - faucetUrl: "https://894-faucet.quarry.linfra.xyz/trpc", - indexerUrl: "https://894-indexer.quarry.linfra.xyz/trpc", -} as const satisfies SkyStrifeChain; - export const redstoneHolesky = { id: 17001, name: "Redstone Holesky", @@ -59,4 +39,4 @@ export const redstoneHolesky = { }; // If you are deploying to chains other than anvil or Lattice testnet, add them here -export const supportedChains: SkyStrifeChain[] = [mudFoundry, latticeTestnet, redstone, redstoneHolesky]; +export const supportedChains: SkyStrifeChain[] = [mudFoundry, redstoneHolesky]; diff --git a/packages/client/src/public/atlases/sprites/atlas.json b/packages/client/src/public/atlases/sprites/atlas.json index a1ae00686..ed86db9c1 100644 --- a/packages/client/src/public/atlases/sprites/atlas.json +++ b/packages/client/src/public/atlases/sprites/atlas.json @@ -5,7 +5,7 @@ }, "textures": [ { - "image": "atlas.png?timestamp=1708572971790", + "image": "atlas.png?timestamp=1709873591683", "format": "RGBA8888", "size": { "w": 2048, @@ -7595,7 +7595,7 @@ } }, { - "filename": "sprites/tile_ui/red/outline/0.png", + "filename": "sprites/tile_ui/blue/outline/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -7616,7 +7616,7 @@ } }, { - "filename": "sprites/tile_ui/white/outline/0.png", + "filename": "sprites/tile_ui/red/outline/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -7637,7 +7637,7 @@ } }, { - "filename": "sprites/tile_ui/yellow/outline/0.png", + "filename": "sprites/tile_ui/white/outline/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -7657,6 +7657,27 @@ "h": 33 } }, + { + "filename": "sprites/tile_ui/yellow/outline/0.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 33, + "h": 33 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 33, + "h": 33 + }, + "frame": { + "x": 1187, + "y": 1, + "w": 33, + "h": 33 + } + }, { "filename": "sprites/arrows/attack/0-end.png", "rotated": false, @@ -7673,7 +7694,7 @@ }, "frame": { "x": 1187, - "y": 1, + "y": 36, "w": 32, "h": 32 } @@ -7694,7 +7715,7 @@ }, "frame": { "x": 1187, - "y": 35, + "y": 70, "w": 32, "h": 32 } @@ -7715,7 +7736,7 @@ }, "frame": { "x": 1187, - "y": 69, + "y": 104, "w": 32, "h": 32 } @@ -7736,7 +7757,7 @@ }, "frame": { "x": 1187, - "y": 103, + "y": 138, "w": 32, "h": 32 } @@ -7757,7 +7778,7 @@ }, "frame": { "x": 1187, - "y": 137, + "y": 172, "w": 32, "h": 32 } @@ -7778,7 +7799,7 @@ }, "frame": { "x": 1187, - "y": 171, + "y": 206, "w": 32, "h": 32 } @@ -7799,7 +7820,7 @@ }, "frame": { "x": 1187, - "y": 205, + "y": 240, "w": 32, "h": 32 } @@ -7820,7 +7841,7 @@ }, "frame": { "x": 1187, - "y": 239, + "y": 274, "w": 32, "h": 32 } @@ -7841,7 +7862,7 @@ }, "frame": { "x": 1187, - "y": 273, + "y": 308, "w": 32, "h": 32 } @@ -7862,7 +7883,7 @@ }, "frame": { "x": 1187, - "y": 307, + "y": 342, "w": 32, "h": 32 } @@ -7883,7 +7904,7 @@ }, "frame": { "x": 1187, - "y": 341, + "y": 376, "w": 32, "h": 32 } @@ -7904,7 +7925,7 @@ }, "frame": { "x": 1187, - "y": 375, + "y": 410, "w": 32, "h": 32 } @@ -7925,7 +7946,7 @@ }, "frame": { "x": 1187, - "y": 409, + "y": 444, "w": 32, "h": 32 } @@ -7946,7 +7967,7 @@ }, "frame": { "x": 1187, - "y": 443, + "y": 478, "w": 32, "h": 32 } @@ -7967,7 +7988,7 @@ }, "frame": { "x": 1187, - "y": 477, + "y": 512, "w": 32, "h": 32 } @@ -7988,7 +8009,7 @@ }, "frame": { "x": 1187, - "y": 511, + "y": 546, "w": 32, "h": 32 } @@ -8009,7 +8030,7 @@ }, "frame": { "x": 1187, - "y": 545, + "y": 580, "w": 32, "h": 32 } @@ -8030,7 +8051,7 @@ }, "frame": { "x": 1187, - "y": 579, + "y": 614, "w": 32, "h": 32 } @@ -8051,7 +8072,7 @@ }, "frame": { "x": 1187, - "y": 613, + "y": 648, "w": 32, "h": 32 } @@ -8072,7 +8093,7 @@ }, "frame": { "x": 1187, - "y": 647, + "y": 682, "w": 32, "h": 32 } @@ -8093,7 +8114,7 @@ }, "frame": { "x": 1187, - "y": 681, + "y": 716, "w": 32, "h": 32 } @@ -8114,7 +8135,7 @@ }, "frame": { "x": 1187, - "y": 715, + "y": 750, "w": 32, "h": 32 } @@ -8135,7 +8156,7 @@ }, "frame": { "x": 1187, - "y": 749, + "y": 784, "w": 32, "h": 32 } @@ -8156,7 +8177,7 @@ }, "frame": { "x": 1187, - "y": 783, + "y": 818, "w": 32, "h": 32 } @@ -8177,7 +8198,7 @@ }, "frame": { "x": 1187, - "y": 817, + "y": 852, "w": 32, "h": 32 } @@ -8198,7 +8219,7 @@ }, "frame": { "x": 1187, - "y": 851, + "y": 886, "w": 32, "h": 32 } @@ -8219,7 +8240,7 @@ }, "frame": { "x": 1187, - "y": 885, + "y": 920, "w": 32, "h": 32 } @@ -8240,7 +8261,7 @@ }, "frame": { "x": 1187, - "y": 919, + "y": 954, "w": 32, "h": 32 } @@ -8261,7 +8282,7 @@ }, "frame": { "x": 1187, - "y": 953, + "y": 988, "w": 32, "h": 32 } @@ -8282,7 +8303,7 @@ }, "frame": { "x": 1187, - "y": 987, + "y": 1022, "w": 32, "h": 32 } @@ -8303,7 +8324,7 @@ }, "frame": { "x": 1187, - "y": 1021, + "y": 1056, "w": 32, "h": 32 } @@ -8324,7 +8345,7 @@ }, "frame": { "x": 1187, - "y": 1055, + "y": 1090, "w": 32, "h": 32 } @@ -8345,7 +8366,7 @@ }, "frame": { "x": 1187, - "y": 1089, + "y": 1124, "w": 32, "h": 32 } @@ -8366,7 +8387,7 @@ }, "frame": { "x": 1187, - "y": 1123, + "y": 1158, "w": 32, "h": 32 } @@ -8385,27 +8406,6 @@ "w": 32, "h": 32 }, - "frame": { - "x": 1187, - "y": 1157, - "w": 32, - "h": 32 - } - }, - { - "filename": "sprites/greyscale/animations/capture/10.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 32, - "h": 32 - }, "frame": { "x": 1, "y": 1213, @@ -8414,7 +8414,7 @@ } }, { - "filename": "sprites/greyscale/animations/capture/11.png", + "filename": "sprites/greyscale/animations/capture/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -8435,7 +8435,7 @@ } }, { - "filename": "sprites/greyscale/animations/capture/12.png", + "filename": "sprites/greyscale/animations/capture/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -8456,7 +8456,7 @@ } }, { - "filename": "sprites/greyscale/animations/capture/13.png", + "filename": "sprites/greyscale/animations/capture/12.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -8477,7 +8477,7 @@ } }, { - "filename": "sprites/greyscale/animations/capture/14.png", + "filename": "sprites/greyscale/animations/capture/13.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -8498,7 +8498,7 @@ } }, { - "filename": "sprites/greyscale/animations/capture/2.png", + "filename": "sprites/greyscale/animations/capture/14.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -8519,7 +8519,7 @@ } }, { - "filename": "sprites/greyscale/animations/capture/3.png", + "filename": "sprites/greyscale/animations/capture/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -8540,7 +8540,7 @@ } }, { - "filename": "sprites/greyscale/animations/capture/4.png", + "filename": "sprites/greyscale/animations/capture/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -8561,7 +8561,7 @@ } }, { - "filename": "sprites/greyscale/structures/big/wooden-barricade/0.png", + "filename": "sprites/greyscale/animations/capture/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -8582,7 +8582,7 @@ } }, { - "filename": "sprites/greyscale/ui/icons/big-select.png", + "filename": "sprites/greyscale/structures/big/wooden-barricade/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -8603,7 +8603,7 @@ } }, { - "filename": "sprites/greyscale/ui/icons/boot-check.png", + "filename": "sprites/greyscale/ui/icons/big-select.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -8624,7 +8624,7 @@ } }, { - "filename": "sprites/greyscale/ui/icons/boot.png", + "filename": "sprites/greyscale/ui/icons/boot-check.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -8645,7 +8645,7 @@ } }, { - "filename": "sprites/greyscale/ui/icons/crossed-swords.png", + "filename": "sprites/greyscale/ui/icons/boot.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -8666,7 +8666,7 @@ } }, { - "filename": "sprites/greyscale/ui/tile-select/0.png", + "filename": "sprites/greyscale/ui/icons/crossed-swords.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -8687,7 +8687,7 @@ } }, { - "filename": "sprites/greyscale/units/archer/attack/0.png", + "filename": "sprites/greyscale/ui/tile-select/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -8708,7 +8708,7 @@ } }, { - "filename": "sprites/greyscale/units/archer/attack/1.png", + "filename": "sprites/greyscale/units/archer/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -8729,7 +8729,7 @@ } }, { - "filename": "sprites/greyscale/units/archer/attack/2.png", + "filename": "sprites/greyscale/units/archer/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -8750,7 +8750,7 @@ } }, { - "filename": "sprites/greyscale/units/archer/attack/3.png", + "filename": "sprites/greyscale/units/archer/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -8771,7 +8771,7 @@ } }, { - "filename": "sprites/greyscale/units/archer/attack/4.png", + "filename": "sprites/greyscale/units/archer/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -8792,7 +8792,7 @@ } }, { - "filename": "sprites/greyscale/units/archer/death/0.png", + "filename": "sprites/greyscale/units/archer/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -8813,7 +8813,7 @@ } }, { - "filename": "sprites/greyscale/units/archer/death/1.png", + "filename": "sprites/greyscale/units/archer/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -8834,7 +8834,7 @@ } }, { - "filename": "sprites/greyscale/units/archer/death/2.png", + "filename": "sprites/greyscale/units/archer/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -8855,7 +8855,7 @@ } }, { - "filename": "sprites/greyscale/units/archer/death/3.png", + "filename": "sprites/greyscale/units/archer/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -8876,7 +8876,7 @@ } }, { - "filename": "sprites/greyscale/units/archer/death/4.png", + "filename": "sprites/greyscale/units/archer/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -8897,7 +8897,7 @@ } }, { - "filename": "sprites/greyscale/units/archer/death/5.png", + "filename": "sprites/greyscale/units/archer/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -8918,7 +8918,7 @@ } }, { - "filename": "sprites/greyscale/units/archer/idle/0.png", + "filename": "sprites/greyscale/units/archer/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -8939,7 +8939,7 @@ } }, { - "filename": "sprites/greyscale/units/archer/idle/1.png", + "filename": "sprites/greyscale/units/archer/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -8960,7 +8960,7 @@ } }, { - "filename": "sprites/greyscale/units/archer/idle/2.png", + "filename": "sprites/greyscale/units/archer/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -8981,7 +8981,7 @@ } }, { - "filename": "sprites/greyscale/units/archer/prepare/1.png", + "filename": "sprites/greyscale/units/archer/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9002,7 +9002,7 @@ } }, { - "filename": "sprites/greyscale/units/archer/prepare/2.png", + "filename": "sprites/greyscale/units/archer/prepare/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9023,7 +9023,7 @@ } }, { - "filename": "sprites/greyscale/units/archer/prepare/3.png", + "filename": "sprites/greyscale/units/archer/prepare/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9044,7 +9044,7 @@ } }, { - "filename": "sprites/greyscale/units/archer/walk/down/0.png", + "filename": "sprites/greyscale/units/archer/prepare/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9065,7 +9065,7 @@ } }, { - "filename": "sprites/greyscale/units/archer/walk/down/1.png", + "filename": "sprites/greyscale/units/archer/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9080,13 +9080,13 @@ }, "frame": { "x": 1178, - "y": 1191, + "y": 1192, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/archer/walk/down/2.png", + "filename": "sprites/greyscale/units/archer/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9107,7 +9107,7 @@ } }, { - "filename": "sprites/greyscale/units/archer/walk/left/0.png", + "filename": "sprites/greyscale/units/archer/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9128,7 +9128,7 @@ } }, { - "filename": "sprites/greyscale/units/archer/walk/left/1.png", + "filename": "sprites/greyscale/units/archer/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9142,14 +9142,14 @@ "h": 32 }, "frame": { - "x": 1221, + "x": 1222, "y": 1, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/archer/walk/left/2.png", + "filename": "sprites/greyscale/units/archer/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9163,14 +9163,14 @@ "h": 32 }, "frame": { - "x": 1221, + "x": 1222, "y": 35, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/archer/walk/right/0.png", + "filename": "sprites/greyscale/units/archer/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9191,7 +9191,7 @@ } }, { - "filename": "sprites/greyscale/units/archer/walk/right/1.png", + "filename": "sprites/greyscale/units/archer/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9212,7 +9212,7 @@ } }, { - "filename": "sprites/greyscale/units/archer/walk/right/2.png", + "filename": "sprites/greyscale/units/archer/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9233,7 +9233,7 @@ } }, { - "filename": "sprites/greyscale/units/archer/walk/up/0.png", + "filename": "sprites/greyscale/units/archer/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9254,7 +9254,7 @@ } }, { - "filename": "sprites/greyscale/units/archer/walk/up/1.png", + "filename": "sprites/greyscale/units/archer/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9275,7 +9275,7 @@ } }, { - "filename": "sprites/greyscale/units/archer/walk/up/2.png", + "filename": "sprites/greyscale/units/archer/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9296,7 +9296,7 @@ } }, { - "filename": "sprites/greyscale/units/catapult/attack/0.png", + "filename": "sprites/greyscale/units/archer/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9317,7 +9317,7 @@ } }, { - "filename": "sprites/greyscale/units/catapult/attack/1.png", + "filename": "sprites/greyscale/units/catapult/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9338,7 +9338,7 @@ } }, { - "filename": "sprites/greyscale/units/catapult/attack/2.png", + "filename": "sprites/greyscale/units/catapult/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9359,7 +9359,7 @@ } }, { - "filename": "sprites/greyscale/units/catapult/attack/3.png", + "filename": "sprites/greyscale/units/catapult/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9380,7 +9380,7 @@ } }, { - "filename": "sprites/greyscale/units/catapult/death/0.png", + "filename": "sprites/greyscale/units/catapult/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9401,7 +9401,7 @@ } }, { - "filename": "sprites/greyscale/units/catapult/death/1.png", + "filename": "sprites/greyscale/units/catapult/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9422,7 +9422,7 @@ } }, { - "filename": "sprites/greyscale/units/catapult/death/2.png", + "filename": "sprites/greyscale/units/catapult/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9443,7 +9443,7 @@ } }, { - "filename": "sprites/greyscale/units/catapult/idle/0.png", + "filename": "sprites/greyscale/units/catapult/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9464,7 +9464,7 @@ } }, { - "filename": "sprites/greyscale/units/catapult/idle/1.png", + "filename": "sprites/greyscale/units/catapult/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9485,7 +9485,7 @@ } }, { - "filename": "sprites/greyscale/units/catapult/idle/2.png", + "filename": "sprites/greyscale/units/catapult/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9506,7 +9506,7 @@ } }, { - "filename": "sprites/greyscale/units/catapult/prepare/1.ng.png", + "filename": "sprites/greyscale/units/catapult/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9527,7 +9527,7 @@ } }, { - "filename": "sprites/greyscale/units/catapult/prepare/2.ng.png", + "filename": "sprites/greyscale/units/catapult/prepare/1.ng.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9548,7 +9548,7 @@ } }, { - "filename": "sprites/greyscale/units/catapult/prepare/3.ng.png", + "filename": "sprites/greyscale/units/catapult/prepare/2.ng.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9569,7 +9569,7 @@ } }, { - "filename": "sprites/greyscale/units/catapult/walk/down/0.png", + "filename": "sprites/greyscale/units/catapult/prepare/3.ng.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9590,7 +9590,7 @@ } }, { - "filename": "sprites/greyscale/units/catapult/walk/down/1.png", + "filename": "sprites/greyscale/units/catapult/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9611,7 +9611,7 @@ } }, { - "filename": "sprites/greyscale/units/catapult/walk/down/2.png", + "filename": "sprites/greyscale/units/catapult/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9632,7 +9632,7 @@ } }, { - "filename": "sprites/greyscale/units/catapult/walk/down/3.png", + "filename": "sprites/greyscale/units/catapult/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9653,7 +9653,7 @@ } }, { - "filename": "sprites/greyscale/units/catapult/walk/left/0.png", + "filename": "sprites/greyscale/units/catapult/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9674,7 +9674,7 @@ } }, { - "filename": "sprites/greyscale/units/catapult/walk/left/1.png", + "filename": "sprites/greyscale/units/catapult/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9695,7 +9695,7 @@ } }, { - "filename": "sprites/greyscale/units/catapult/walk/left/2.png", + "filename": "sprites/greyscale/units/catapult/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9716,7 +9716,7 @@ } }, { - "filename": "sprites/greyscale/units/catapult/walk/left/3.png", + "filename": "sprites/greyscale/units/catapult/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9737,7 +9737,7 @@ } }, { - "filename": "sprites/greyscale/units/catapult/walk/right/0.png", + "filename": "sprites/greyscale/units/catapult/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9758,7 +9758,7 @@ } }, { - "filename": "sprites/greyscale/units/catapult/walk/right/1.png", + "filename": "sprites/greyscale/units/catapult/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9779,7 +9779,7 @@ } }, { - "filename": "sprites/greyscale/units/catapult/walk/right/2.png", + "filename": "sprites/greyscale/units/catapult/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9800,7 +9800,7 @@ } }, { - "filename": "sprites/greyscale/units/catapult/walk/right/3.png", + "filename": "sprites/greyscale/units/catapult/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9821,7 +9821,7 @@ } }, { - "filename": "sprites/greyscale/units/catapult/walk/up/0.png", + "filename": "sprites/greyscale/units/catapult/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9842,7 +9842,7 @@ } }, { - "filename": "sprites/greyscale/units/catapult/walk/up/1.png", + "filename": "sprites/greyscale/units/catapult/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9863,7 +9863,7 @@ } }, { - "filename": "sprites/greyscale/units/catapult/walk/up/2.png", + "filename": "sprites/greyscale/units/catapult/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9877,14 +9877,14 @@ "h": 32 }, "frame": { - "x": 1212, + "x": 1221, "y": 1191, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/catapult/walk/up/3.png", + "filename": "sprites/greyscale/units/catapult/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9905,7 +9905,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/attack/0.png", + "filename": "sprites/greyscale/units/catapult/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9926,7 +9926,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/attack/1.png", + "filename": "sprites/greyscale/units/crossbow/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9947,7 +9947,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/attack/2.png", + "filename": "sprites/greyscale/units/crossbow/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9968,7 +9968,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/attack/4.png", + "filename": "sprites/greyscale/units/crossbow/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -9989,7 +9989,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/attack/5.png", + "filename": "sprites/greyscale/units/crossbow/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10010,7 +10010,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/death/0.png", + "filename": "sprites/greyscale/units/crossbow/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10031,7 +10031,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/death/1.png", + "filename": "sprites/greyscale/units/crossbow/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10052,7 +10052,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/death/10.png", + "filename": "sprites/greyscale/units/crossbow/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10073,7 +10073,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/death/2.png", + "filename": "sprites/greyscale/units/crossbow/death/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10094,7 +10094,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/death/3.png", + "filename": "sprites/greyscale/units/crossbow/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10115,7 +10115,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/death/4.png", + "filename": "sprites/greyscale/units/crossbow/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10136,7 +10136,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/death/5.png", + "filename": "sprites/greyscale/units/crossbow/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10157,7 +10157,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/death/6.png", + "filename": "sprites/greyscale/units/crossbow/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10178,7 +10178,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/idle/0.png", + "filename": "sprites/greyscale/units/crossbow/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10199,7 +10199,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/idle/1.png", + "filename": "sprites/greyscale/units/crossbow/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10220,7 +10220,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/idle/2.png", + "filename": "sprites/greyscale/units/crossbow/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10241,7 +10241,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/idle/3.png", + "filename": "sprites/greyscale/units/crossbow/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10262,7 +10262,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/walk/down/0.png", + "filename": "sprites/greyscale/units/crossbow/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10283,7 +10283,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/walk/down/1.png", + "filename": "sprites/greyscale/units/crossbow/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10304,7 +10304,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/walk/down/2.png", + "filename": "sprites/greyscale/units/crossbow/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10325,7 +10325,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/walk/left/0.png", + "filename": "sprites/greyscale/units/crossbow/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10346,7 +10346,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/walk/left/1.png", + "filename": "sprites/greyscale/units/crossbow/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10367,7 +10367,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/walk/left/2.png", + "filename": "sprites/greyscale/units/crossbow/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10388,7 +10388,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/walk/right/0.png", + "filename": "sprites/greyscale/units/crossbow/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10409,7 +10409,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/walk/right/1.png", + "filename": "sprites/greyscale/units/crossbow/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10430,7 +10430,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/walk/right/2.png", + "filename": "sprites/greyscale/units/crossbow/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10451,7 +10451,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/walk/up/0.png", + "filename": "sprites/greyscale/units/crossbow/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10472,7 +10472,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/walk/up/1.png", + "filename": "sprites/greyscale/units/crossbow/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10493,7 +10493,7 @@ } }, { - "filename": "sprites/greyscale/units/crossbow/walk/up/2.png", + "filename": "sprites/greyscale/units/crossbow/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10514,7 +10514,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/attack/0.png", + "filename": "sprites/greyscale/units/crossbow/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10535,7 +10535,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/attack/1.png", + "filename": "sprites/greyscale/units/dragoon/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10549,14 +10549,14 @@ "h": 32 }, "frame": { - "x": 1021, - "y": 1237, + "x": 1212, + "y": 1225, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/dragon/attack/2.png", + "filename": "sprites/greyscale/units/dragoon/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10570,14 +10570,14 @@ "h": 32 }, "frame": { - "x": 1055, - "y": 1236, + "x": 1176, + "y": 1226, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/dragon/attack/3.png", + "filename": "sprites/greyscale/units/dragoon/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10598,7 +10598,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/attack/4.png", + "filename": "sprites/greyscale/units/dragoon/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10612,14 +10612,14 @@ "h": 32 }, "frame": { - "x": 1175, - "y": 1236, + "x": 1021, + "y": 1237, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/dragon/attack/5.png", + "filename": "sprites/greyscale/units/dragoon/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10633,14 +10633,14 @@ "h": 32 }, "frame": { - "x": 1209, - "y": 1225, + "x": 1055, + "y": 1236, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/dragon/death/0.png", + "filename": "sprites/greyscale/units/dragoon/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10654,14 +10654,14 @@ "h": 32 }, "frame": { - "x": 1255, + "x": 1256, "y": 1, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/dragon/death/1.png", + "filename": "sprites/greyscale/units/dragoon/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10675,14 +10675,14 @@ "h": 32 }, "frame": { - "x": 1255, + "x": 1256, "y": 35, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/dragon/death/10.png", + "filename": "sprites/greyscale/units/dragoon/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10703,7 +10703,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/death/2.png", + "filename": "sprites/greyscale/units/dragoon/death/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10724,7 +10724,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/death/3.png", + "filename": "sprites/greyscale/units/dragoon/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10745,7 +10745,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/death/4.png", + "filename": "sprites/greyscale/units/dragoon/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10766,7 +10766,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/death/5.png", + "filename": "sprites/greyscale/units/dragoon/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10787,7 +10787,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/death/6.png", + "filename": "sprites/greyscale/units/dragoon/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10808,7 +10808,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/death/7.png", + "filename": "sprites/greyscale/units/dragoon/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10829,7 +10829,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/idle/0.png", + "filename": "sprites/greyscale/units/dragoon/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10850,7 +10850,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/idle/1.png", + "filename": "sprites/greyscale/units/dragoon/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10871,7 +10871,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/idle/2.png", + "filename": "sprites/greyscale/units/dragoon/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10892,7 +10892,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/idle/3.png", + "filename": "sprites/greyscale/units/dragoon/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10913,7 +10913,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/walk/down/0.png", + "filename": "sprites/greyscale/units/dragoon/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10934,7 +10934,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/walk/down/1.png", + "filename": "sprites/greyscale/units/dragoon/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10955,7 +10955,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/walk/down/2.png", + "filename": "sprites/greyscale/units/dragoon/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10976,7 +10976,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/walk/down/3.png", + "filename": "sprites/greyscale/units/dragoon/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -10997,7 +10997,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/walk/left/0.png", + "filename": "sprites/greyscale/units/dragoon/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11018,7 +11018,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/walk/left/1.png", + "filename": "sprites/greyscale/units/dragoon/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11039,7 +11039,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/walk/left/2.png", + "filename": "sprites/greyscale/units/dragoon/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11060,7 +11060,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/walk/left/3.png", + "filename": "sprites/greyscale/units/dragoon/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11081,7 +11081,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/walk/right/0.png", + "filename": "sprites/greyscale/units/dragoon/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11102,7 +11102,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/walk/right/1.png", + "filename": "sprites/greyscale/units/dragoon/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11123,7 +11123,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/walk/right/2.png", + "filename": "sprites/greyscale/units/dragoon/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11144,7 +11144,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/walk/right/3.png", + "filename": "sprites/greyscale/units/dragoon/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11165,7 +11165,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/walk/up/0.png", + "filename": "sprites/greyscale/units/dragoon/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11186,7 +11186,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/walk/up/1.png", + "filename": "sprites/greyscale/units/dragoon/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11207,7 +11207,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/walk/up/2.png", + "filename": "sprites/greyscale/units/dragoon/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11228,7 +11228,7 @@ } }, { - "filename": "sprites/greyscale/units/dragon/walk/up/3.png", + "filename": "sprites/greyscale/units/dragoon/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11249,7 +11249,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/attack/0.png", + "filename": "sprites/greyscale/units/dragoon/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11270,7 +11270,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/attack/1.png", + "filename": "sprites/greyscale/units/halberdier/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11291,7 +11291,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/attack/2.png", + "filename": "sprites/greyscale/units/halberdier/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11312,7 +11312,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/attack/3.png", + "filename": "sprites/greyscale/units/halberdier/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11333,7 +11333,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/attack/4.png", + "filename": "sprites/greyscale/units/halberdier/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11354,7 +11354,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/attack/5.png", + "filename": "sprites/greyscale/units/halberdier/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11375,7 +11375,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/death/0.png", + "filename": "sprites/greyscale/units/halberdier/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11389,14 +11389,14 @@ "h": 32 }, "frame": { - "x": 1246, + "x": 1255, "y": 1191, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/golem/death/1.png", + "filename": "sprites/greyscale/units/halberdier/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11410,14 +11410,14 @@ "h": 32 }, "frame": { - "x": 1243, + "x": 1246, "y": 1225, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/golem/death/10.png", + "filename": "sprites/greyscale/units/halberdier/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11438,7 +11438,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/death/2.png", + "filename": "sprites/greyscale/units/halberdier/death/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11459,7 +11459,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/death/3.png", + "filename": "sprites/greyscale/units/halberdier/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11480,7 +11480,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/death/4.png", + "filename": "sprites/greyscale/units/halberdier/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11501,7 +11501,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/death/5.png", + "filename": "sprites/greyscale/units/halberdier/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11522,7 +11522,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/death/6.png", + "filename": "sprites/greyscale/units/halberdier/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11543,7 +11543,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/death/7.png", + "filename": "sprites/greyscale/units/halberdier/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11564,7 +11564,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/death/8.png", + "filename": "sprites/greyscale/units/halberdier/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11585,7 +11585,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/death/9.png", + "filename": "sprites/greyscale/units/halberdier/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11606,7 +11606,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/idle/0.png", + "filename": "sprites/greyscale/units/halberdier/death/9.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11627,7 +11627,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/idle/1.png", + "filename": "sprites/greyscale/units/halberdier/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11648,7 +11648,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/idle/2.png", + "filename": "sprites/greyscale/units/halberdier/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11669,7 +11669,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/idle/3.png", + "filename": "sprites/greyscale/units/halberdier/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11690,7 +11690,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/walk/down/0.png", + "filename": "sprites/greyscale/units/halberdier/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11711,7 +11711,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/walk/down/1.png", + "filename": "sprites/greyscale/units/halberdier/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11732,7 +11732,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/walk/down/2.png", + "filename": "sprites/greyscale/units/halberdier/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11753,7 +11753,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/walk/down/3.png", + "filename": "sprites/greyscale/units/halberdier/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11774,7 +11774,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/walk/left/0.png", + "filename": "sprites/greyscale/units/halberdier/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11795,7 +11795,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/walk/left/1.png", + "filename": "sprites/greyscale/units/halberdier/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11816,7 +11816,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/walk/left/2.png", + "filename": "sprites/greyscale/units/halberdier/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11837,7 +11837,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/walk/left/3.png", + "filename": "sprites/greyscale/units/halberdier/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11858,7 +11858,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/walk/right/0.png", + "filename": "sprites/greyscale/units/halberdier/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11879,7 +11879,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/walk/right/1.png", + "filename": "sprites/greyscale/units/halberdier/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11900,7 +11900,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/walk/right/2.png", + "filename": "sprites/greyscale/units/halberdier/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11921,7 +11921,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/walk/right/3.png", + "filename": "sprites/greyscale/units/halberdier/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11942,7 +11942,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/walk/up/0.png", + "filename": "sprites/greyscale/units/halberdier/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11963,7 +11963,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/walk/up/1.png", + "filename": "sprites/greyscale/units/halberdier/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -11984,7 +11984,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/walk/up/2.png", + "filename": "sprites/greyscale/units/halberdier/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12005,7 +12005,7 @@ } }, { - "filename": "sprites/greyscale/units/golem/walk/up/3.png", + "filename": "sprites/greyscale/units/halberdier/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12026,7 +12026,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/attack/0.png", + "filename": "sprites/greyscale/units/halberdier/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12047,7 +12047,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/attack/1.png", + "filename": "sprites/greyscale/units/knight/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12068,7 +12068,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/attack/2.png", + "filename": "sprites/greyscale/units/knight/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12089,7 +12089,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/attack/3.png", + "filename": "sprites/greyscale/units/knight/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12110,7 +12110,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/attack/4.png", + "filename": "sprites/greyscale/units/knight/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12131,7 +12131,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/attack/5.png", + "filename": "sprites/greyscale/units/knight/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12152,7 +12152,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/death/0.png", + "filename": "sprites/greyscale/units/knight/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12167,13 +12167,13 @@ }, "frame": { "x": 1191, - "y": 1270, + "y": 1260, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/knight/death/1.png", + "filename": "sprites/greyscale/units/knight/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12194,7 +12194,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/death/2.png", + "filename": "sprites/greyscale/units/knight/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12208,14 +12208,14 @@ "h": 32 }, "frame": { - "x": 1289, + "x": 1290, "y": 1, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/knight/death/3.png", + "filename": "sprites/greyscale/units/knight/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12229,14 +12229,14 @@ "h": 32 }, "frame": { - "x": 1289, + "x": 1290, "y": 35, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/knight/death/4.png", + "filename": "sprites/greyscale/units/knight/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12257,7 +12257,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/death/5.png", + "filename": "sprites/greyscale/units/knight/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12278,7 +12278,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/death/8.png", + "filename": "sprites/greyscale/units/knight/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12299,7 +12299,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/idle/0.png", + "filename": "sprites/greyscale/units/knight/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12320,7 +12320,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/idle/1.png", + "filename": "sprites/greyscale/units/knight/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12341,7 +12341,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/idle/2.png", + "filename": "sprites/greyscale/units/knight/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12362,7 +12362,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/idle/3.png", + "filename": "sprites/greyscale/units/knight/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12383,7 +12383,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/walk/down/0.png", + "filename": "sprites/greyscale/units/knight/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12404,7 +12404,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/walk/down/1.png", + "filename": "sprites/greyscale/units/knight/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12425,7 +12425,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/walk/down/2.png", + "filename": "sprites/greyscale/units/knight/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12446,7 +12446,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/walk/down/3.png", + "filename": "sprites/greyscale/units/knight/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12467,7 +12467,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/walk/left/0.png", + "filename": "sprites/greyscale/units/knight/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12488,7 +12488,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/walk/left/1.png", + "filename": "sprites/greyscale/units/knight/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12509,7 +12509,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/walk/left/2.png", + "filename": "sprites/greyscale/units/knight/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12530,7 +12530,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/walk/left/3.png", + "filename": "sprites/greyscale/units/knight/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12551,7 +12551,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/walk/right/0.png", + "filename": "sprites/greyscale/units/knight/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12572,7 +12572,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/walk/right/1.png", + "filename": "sprites/greyscale/units/knight/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12593,7 +12593,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/walk/right/2.png", + "filename": "sprites/greyscale/units/knight/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12614,7 +12614,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/walk/right/3.png", + "filename": "sprites/greyscale/units/knight/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12635,7 +12635,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/walk/up/0.png", + "filename": "sprites/greyscale/units/knight/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12656,7 +12656,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/walk/up/1.png", + "filename": "sprites/greyscale/units/knight/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12677,7 +12677,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/walk/up/2.png", + "filename": "sprites/greyscale/units/knight/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12698,7 +12698,7 @@ } }, { - "filename": "sprites/greyscale/units/knight/walk/up/3.png", + "filename": "sprites/greyscale/units/knight/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12719,7 +12719,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/attack/0.png", + "filename": "sprites/greyscale/units/knight/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12740,7 +12740,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/attack/1.png", + "filename": "sprites/greyscale/units/marksman/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12761,7 +12761,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/attack/2.png", + "filename": "sprites/greyscale/units/marksman/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12782,7 +12782,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/attack/3.png", + "filename": "sprites/greyscale/units/marksman/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12803,7 +12803,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/attack/4.png", + "filename": "sprites/greyscale/units/marksman/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12824,7 +12824,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/attack/5.png", + "filename": "sprites/greyscale/units/marksman/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12845,7 +12845,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/death/0.png", + "filename": "sprites/greyscale/units/marksman/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12866,7 +12866,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/death/1.png", + "filename": "sprites/greyscale/units/marksman/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12887,7 +12887,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/death/10.png", + "filename": "sprites/greyscale/units/marksman/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12908,7 +12908,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/death/2.png", + "filename": "sprites/greyscale/units/marksman/death/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12929,7 +12929,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/death/3.png", + "filename": "sprites/greyscale/units/marksman/death/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12943,14 +12943,14 @@ "h": 32 }, "frame": { - "x": 1280, + "x": 1289, "y": 1191, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/pikeman/death/4.png", + "filename": "sprites/greyscale/units/marksman/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12964,14 +12964,14 @@ "h": 32 }, "frame": { - "x": 1277, + "x": 1280, "y": 1225, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/pikeman/death/5.png", + "filename": "sprites/greyscale/units/marksman/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -12992,7 +12992,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/death/6.png", + "filename": "sprites/greyscale/units/marksman/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13013,7 +13013,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/idle/1.png", + "filename": "sprites/greyscale/units/marksman/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13034,7 +13034,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/idle/2.png", + "filename": "sprites/greyscale/units/marksman/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13055,7 +13055,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/idle/3.png", + "filename": "sprites/greyscale/units/marksman/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13076,7 +13076,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/walk/down/0.png", + "filename": "sprites/greyscale/units/marksman/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13097,7 +13097,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/walk/down/1.png", + "filename": "sprites/greyscale/units/marksman/death/9.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13118,7 +13118,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/walk/down/2.png", + "filename": "sprites/greyscale/units/marksman/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13139,7 +13139,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/walk/down/3.png", + "filename": "sprites/greyscale/units/marksman/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13160,7 +13160,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/walk/left/0.png", + "filename": "sprites/greyscale/units/marksman/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13181,7 +13181,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/walk/left/1.png", + "filename": "sprites/greyscale/units/marksman/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13202,7 +13202,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/walk/left/2.png", + "filename": "sprites/greyscale/units/marksman/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13223,7 +13223,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/walk/left/3.png", + "filename": "sprites/greyscale/units/marksman/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13244,7 +13244,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/walk/right/0.png", + "filename": "sprites/greyscale/units/marksman/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13265,7 +13265,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/walk/right/1.png", + "filename": "sprites/greyscale/units/marksman/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13286,7 +13286,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/walk/right/2.png", + "filename": "sprites/greyscale/units/marksman/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13307,7 +13307,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/walk/right/3.png", + "filename": "sprites/greyscale/units/marksman/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13328,7 +13328,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/walk/up/0.png", + "filename": "sprites/greyscale/units/marksman/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13349,7 +13349,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/walk/up/1.png", + "filename": "sprites/greyscale/units/marksman/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13370,7 +13370,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/walk/up/2.png", + "filename": "sprites/greyscale/units/marksman/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13391,7 +13391,7 @@ } }, { - "filename": "sprites/greyscale/units/pikeman/walk/up/3.png", + "filename": "sprites/greyscale/units/marksman/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13412,7 +13412,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/attack/0.png", + "filename": "sprites/greyscale/units/marksman/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13433,7 +13433,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/attack/1.png", + "filename": "sprites/greyscale/units/marksman/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13454,7 +13454,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/attack/2.png", + "filename": "sprites/greyscale/units/pikeman/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13475,7 +13475,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/attack/3.png", + "filename": "sprites/greyscale/units/pikeman/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13496,7 +13496,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/attack/4.png", + "filename": "sprites/greyscale/units/pikeman/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13517,7 +13517,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/attack/5.png", + "filename": "sprites/greyscale/units/pikeman/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13538,7 +13538,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/death/0.png", + "filename": "sprites/greyscale/units/pikeman/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13559,7 +13559,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/death/1.png", + "filename": "sprites/greyscale/units/pikeman/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13580,7 +13580,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/death/2.png", + "filename": "sprites/greyscale/units/pikeman/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13601,7 +13601,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/death/3.png", + "filename": "sprites/greyscale/units/pikeman/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13622,7 +13622,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/death/4.png", + "filename": "sprites/greyscale/units/pikeman/death/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13643,7 +13643,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/death/5.png", + "filename": "sprites/greyscale/units/pikeman/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13664,7 +13664,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/death/6.png", + "filename": "sprites/greyscale/units/pikeman/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13685,7 +13685,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/death/7.png", + "filename": "sprites/greyscale/units/pikeman/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13706,7 +13706,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/idle/0.png", + "filename": "sprites/greyscale/units/pikeman/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13727,7 +13727,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/idle/1.png", + "filename": "sprites/greyscale/units/pikeman/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13742,13 +13742,13 @@ }, "frame": { "x": 1191, - "y": 1304, + "y": 1294, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/rider/idle/2.png", + "filename": "sprites/greyscale/units/pikeman/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13769,7 +13769,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/idle/3.png", + "filename": "sprites/greyscale/units/pikeman/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13790,7 +13790,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/walk/down/0.png", + "filename": "sprites/greyscale/units/pikeman/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13804,14 +13804,14 @@ "h": 32 }, "frame": { - "x": 1323, + "x": 1324, "y": 1, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/rider/walk/down/1.png", + "filename": "sprites/greyscale/units/pikeman/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13825,14 +13825,14 @@ "h": 32 }, "frame": { - "x": 1323, + "x": 1324, "y": 35, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/rider/walk/down/2.png", + "filename": "sprites/greyscale/units/pikeman/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13853,7 +13853,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/walk/down/3.png", + "filename": "sprites/greyscale/units/pikeman/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13874,7 +13874,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/walk/left/0.png", + "filename": "sprites/greyscale/units/pikeman/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13895,7 +13895,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/walk/left/1.png", + "filename": "sprites/greyscale/units/pikeman/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13916,7 +13916,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/walk/left/2.png", + "filename": "sprites/greyscale/units/pikeman/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13937,7 +13937,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/walk/left/3.png", + "filename": "sprites/greyscale/units/pikeman/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13958,7 +13958,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/walk/right/0.png", + "filename": "sprites/greyscale/units/pikeman/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -13979,7 +13979,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/walk/right/1.png", + "filename": "sprites/greyscale/units/pikeman/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14000,7 +14000,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/walk/right/2.png", + "filename": "sprites/greyscale/units/pikeman/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14021,7 +14021,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/walk/right/3.png", + "filename": "sprites/greyscale/units/pikeman/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14042,7 +14042,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/walk/up/0.png", + "filename": "sprites/greyscale/units/pikeman/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14063,7 +14063,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/walk/up/1.png", + "filename": "sprites/greyscale/units/pikeman/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14084,7 +14084,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/walk/up/2.png", + "filename": "sprites/greyscale/units/pikeman/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14105,7 +14105,7 @@ } }, { - "filename": "sprites/greyscale/units/rider/walk/up/3.png", + "filename": "sprites/greyscale/units/pikeman/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14126,7 +14126,7 @@ } }, { - "filename": "sprites/greyscale/units/swordsman/attack/0.png", + "filename": "sprites/greyscale/units/pikeman/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14147,7 +14147,7 @@ } }, { - "filename": "sprites/greyscale/units/swordsman/attack/1.png", + "filename": "sprites/greyscale/units/pillager/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14168,7 +14168,7 @@ } }, { - "filename": "sprites/greyscale/units/swordsman/attack/2.png", + "filename": "sprites/greyscale/units/pillager/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14189,7 +14189,7 @@ } }, { - "filename": "sprites/greyscale/units/swordsman/attack/4.png", + "filename": "sprites/greyscale/units/pillager/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14210,7 +14210,7 @@ } }, { - "filename": "sprites/greyscale/units/swordsman/attack/5.png", + "filename": "sprites/greyscale/units/pillager/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14231,7 +14231,7 @@ } }, { - "filename": "sprites/greyscale/units/swordsman/death/0.png", + "filename": "sprites/greyscale/units/pillager/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14252,7 +14252,7 @@ } }, { - "filename": "sprites/greyscale/units/swordsman/death/1.png", + "filename": "sprites/greyscale/units/pillager/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14273,7 +14273,7 @@ } }, { - "filename": "sprites/greyscale/units/swordsman/death/2.png", + "filename": "sprites/greyscale/units/pillager/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14294,7 +14294,7 @@ } }, { - "filename": "sprites/greyscale/units/swordsman/death/3.png", + "filename": "sprites/greyscale/units/pillager/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14315,7 +14315,7 @@ } }, { - "filename": "sprites/greyscale/units/swordsman/death/4.png", + "filename": "sprites/greyscale/units/pillager/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14336,7 +14336,7 @@ } }, { - "filename": "sprites/greyscale/units/swordsman/idle/0.png", + "filename": "sprites/greyscale/units/pillager/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14357,7 +14357,7 @@ } }, { - "filename": "sprites/greyscale/units/swordsman/idle/1.png", + "filename": "sprites/greyscale/units/pillager/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14378,7 +14378,7 @@ } }, { - "filename": "sprites/greyscale/units/swordsman/idle/3.png", + "filename": "sprites/greyscale/units/pillager/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14399,7 +14399,7 @@ } }, { - "filename": "sprites/greyscale/units/swordsman/prepare/1.png", + "filename": "sprites/greyscale/units/pillager/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14420,7 +14420,7 @@ } }, { - "filename": "sprites/greyscale/units/swordsman/walk/down/0.png", + "filename": "sprites/greyscale/units/pillager/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14441,7 +14441,7 @@ } }, { - "filename": "sprites/greyscale/units/swordsman/walk/down/1.png", + "filename": "sprites/greyscale/units/pillager/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14462,7 +14462,7 @@ } }, { - "filename": "sprites/greyscale/units/swordsman/walk/down/2.png", + "filename": "sprites/greyscale/units/pillager/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14483,7 +14483,7 @@ } }, { - "filename": "sprites/greyscale/units/swordsman/walk/down/3.png", + "filename": "sprites/greyscale/units/pillager/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14504,7 +14504,7 @@ } }, { - "filename": "sprites/greyscale/units/swordsman/walk/left/0.png", + "filename": "sprites/greyscale/units/pillager/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14525,7 +14525,7 @@ } }, { - "filename": "sprites/greyscale/units/swordsman/walk/left/1.png", + "filename": "sprites/greyscale/units/pillager/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14539,14 +14539,14 @@ "h": 32 }, "frame": { - "x": 1314, + "x": 1323, "y": 1191, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/swordsman/walk/left/2.png", + "filename": "sprites/greyscale/units/pillager/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14560,14 +14560,14 @@ "h": 32 }, "frame": { - "x": 1311, + "x": 1314, "y": 1225, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/swordsman/walk/left/3.png", + "filename": "sprites/greyscale/units/pillager/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14588,7 +14588,7 @@ } }, { - "filename": "sprites/greyscale/units/swordsman/walk/right/0.png", + "filename": "sprites/greyscale/units/pillager/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14609,7 +14609,7 @@ } }, { - "filename": "sprites/greyscale/units/swordsman/walk/right/1.png", + "filename": "sprites/greyscale/units/pillager/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14630,7 +14630,7 @@ } }, { - "filename": "sprites/greyscale/units/swordsman/walk/right/2.png", + "filename": "sprites/greyscale/units/pillager/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14651,7 +14651,7 @@ } }, { - "filename": "sprites/greyscale/units/swordsman/walk/right/3.png", + "filename": "sprites/greyscale/units/pillager/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14672,7 +14672,7 @@ } }, { - "filename": "sprites/greyscale/units/swordsman/walk/up/0.png", + "filename": "sprites/greyscale/units/pillager/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14693,7 +14693,7 @@ } }, { - "filename": "sprites/greyscale/units/swordsman/walk/up/1.png", + "filename": "sprites/greyscale/units/pillager/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14714,7 +14714,7 @@ } }, { - "filename": "sprites/greyscale/units/swordsman/walk/up/2.png", + "filename": "sprites/greyscale/units/pillager/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14735,7 +14735,7 @@ } }, { - "filename": "sprites/greyscale/units/swordsman/walk/up/3.png", + "filename": "sprites/greyscale/units/pillager/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14756,7 +14756,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/attack/0.png", + "filename": "sprites/greyscale/units/pillager/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14777,7 +14777,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/attack/1.png", + "filename": "sprites/greyscale/units/pillager/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14798,7 +14798,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/attack/2.png", + "filename": "sprites/greyscale/units/pillager/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14819,7 +14819,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/attack/3.png", + "filename": "sprites/greyscale/units/pillager/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14840,7 +14840,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/attack/4.png", + "filename": "sprites/greyscale/units/pillager/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14861,7 +14861,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/attack/5.png", + "filename": "sprites/greyscale/units/swordsman/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14882,7 +14882,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/death/0.png", + "filename": "sprites/greyscale/units/swordsman/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14903,7 +14903,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/death/1.png", + "filename": "sprites/greyscale/units/swordsman/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14924,7 +14924,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/death/10.png", + "filename": "sprites/greyscale/units/swordsman/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14945,7 +14945,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/death/11.png", + "filename": "sprites/greyscale/units/swordsman/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14966,7 +14966,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/death/2.png", + "filename": "sprites/greyscale/units/swordsman/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -14987,7 +14987,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/death/3.png", + "filename": "sprites/greyscale/units/swordsman/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15008,7 +15008,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/death/4.png", + "filename": "sprites/greyscale/units/swordsman/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15029,7 +15029,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/death/5.png", + "filename": "sprites/greyscale/units/swordsman/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15050,7 +15050,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/death/6.png", + "filename": "sprites/greyscale/units/swordsman/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15071,7 +15071,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/death/7.png", + "filename": "sprites/greyscale/units/swordsman/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15092,7 +15092,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/death/8.png", + "filename": "sprites/greyscale/units/swordsman/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15113,7 +15113,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/death/9.png", + "filename": "sprites/greyscale/units/swordsman/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15134,7 +15134,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/idle/0.png", + "filename": "sprites/greyscale/units/swordsman/prepare/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15155,7 +15155,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/idle/1.png", + "filename": "sprites/greyscale/units/swordsman/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15176,7 +15176,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/idle/2.png", + "filename": "sprites/greyscale/units/swordsman/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15197,7 +15197,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/idle/3.png", + "filename": "sprites/greyscale/units/swordsman/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15218,7 +15218,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/walk/down/0.png", + "filename": "sprites/greyscale/units/swordsman/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15239,7 +15239,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/walk/down/1.png", + "filename": "sprites/greyscale/units/swordsman/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15260,7 +15260,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/walk/down/2.png", + "filename": "sprites/greyscale/units/swordsman/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15281,7 +15281,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/walk/left/0.png", + "filename": "sprites/greyscale/units/swordsman/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15302,7 +15302,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/walk/left/1.png", + "filename": "sprites/greyscale/units/swordsman/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15323,7 +15323,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/walk/left/2.png", + "filename": "sprites/greyscale/units/swordsman/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15344,7 +15344,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/walk/right/0.png", + "filename": "sprites/greyscale/units/swordsman/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15359,13 +15359,13 @@ }, "frame": { "x": 1191, - "y": 1338, + "y": 1328, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/wizard/walk/right/1.png", + "filename": "sprites/greyscale/units/swordsman/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15386,7 +15386,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/walk/right/2.png", + "filename": "sprites/greyscale/units/swordsman/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15407,7 +15407,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/walk/up/0.png", + "filename": "sprites/greyscale/units/swordsman/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15428,7 +15428,7 @@ } }, { - "filename": "sprites/greyscale/units/wizard/walk/up/1.png", + "filename": "sprites/greyscale/units/swordsman/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15442,14 +15442,14 @@ "h": 32 }, "frame": { - "x": 1357, + "x": 1358, "y": 1, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/wizard/walk/up/2.png", + "filename": "sprites/greyscale/units/swordsman/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15463,14 +15463,14 @@ "h": 32 }, "frame": { - "x": 1357, + "x": 1358, "y": 35, "w": 32, "h": 32 } }, { - "filename": "sprites/icons/gold/0.png", + "filename": "sprites/greyscale/units/swordsman/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15491,7 +15491,7 @@ } }, { - "filename": "sprites/terrain/grass/0.png", + "filename": "sprites/icons/gold/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15512,7 +15512,7 @@ } }, { - "filename": "sprites/terrain/grass/1.png", + "filename": "sprites/terrain/grass/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15533,7 +15533,7 @@ } }, { - "filename": "sprites/terrain/grass/2.png", + "filename": "sprites/terrain/grass/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15554,7 +15554,7 @@ } }, { - "filename": "sprites/terrain/grass/3.png", + "filename": "sprites/terrain/grass/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15575,7 +15575,7 @@ } }, { - "filename": "sprites/terrain/grass/4.png", + "filename": "sprites/terrain/grass/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15596,7 +15596,7 @@ } }, { - "filename": "sprites/terrain/grass/5.png", + "filename": "sprites/terrain/grass/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15617,7 +15617,7 @@ } }, { - "filename": "sprites/terrain/grass/6.png", + "filename": "sprites/terrain/grass/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15638,7 +15638,7 @@ } }, { - "filename": "sprites/terrain/grass/7.png", + "filename": "sprites/terrain/grass/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15659,7 +15659,7 @@ } }, { - "filename": "sprites/terrain_preview/forest.png", + "filename": "sprites/terrain/grass/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15680,7 +15680,7 @@ } }, { - "filename": "sprites/terrain_preview/grass.png", + "filename": "sprites/terrain_preview/forest.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15701,7 +15701,7 @@ } }, { - "filename": "sprites/terrain_preview/mountain.png", + "filename": "sprites/terrain_preview/grass.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15722,7 +15722,7 @@ } }, { - "filename": "sprites/tile_ui/red/highlight/0.png", + "filename": "sprites/terrain_preview/mountain.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15743,7 +15743,7 @@ } }, { - "filename": "sprites/tile_ui/red/highlight/1.png", + "filename": "sprites/tile_ui/red/highlight/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15764,7 +15764,7 @@ } }, { - "filename": "sprites/tile_ui/red/highlight/2.png", + "filename": "sprites/tile_ui/red/highlight/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15785,7 +15785,7 @@ } }, { - "filename": "sprites/tile_ui/yellow/highlight/0.png", + "filename": "sprites/tile_ui/red/highlight/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15806,7 +15806,7 @@ } }, { - "filename": "sprites/tile_ui/yellow/highlight/1.png", + "filename": "sprites/tile_ui/yellow/highlight/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15827,7 +15827,7 @@ } }, { - "filename": "sprites/tile_ui/yellow/highlight/2.png", + "filename": "sprites/tile_ui/yellow/highlight/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15848,7 +15848,7 @@ } }, { - "filename": "sprites/tinted_images/blue/animations/capture/0.png", + "filename": "sprites/tile_ui/yellow/highlight/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15869,7 +15869,7 @@ } }, { - "filename": "sprites/tinted_images/blue/animations/capture/1.png", + "filename": "sprites/tinted_images/blue/animations/capture/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15890,7 +15890,7 @@ } }, { - "filename": "sprites/tinted_images/blue/animations/capture/10.png", + "filename": "sprites/tinted_images/blue/animations/capture/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15911,7 +15911,7 @@ } }, { - "filename": "sprites/tinted_images/blue/animations/capture/11.png", + "filename": "sprites/tinted_images/blue/animations/capture/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15932,7 +15932,7 @@ } }, { - "filename": "sprites/tinted_images/blue/animations/capture/12.png", + "filename": "sprites/tinted_images/blue/animations/capture/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15953,7 +15953,7 @@ } }, { - "filename": "sprites/tinted_images/blue/animations/capture/13.png", + "filename": "sprites/tinted_images/blue/animations/capture/12.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15974,7 +15974,7 @@ } }, { - "filename": "sprites/tinted_images/blue/animations/capture/14.png", + "filename": "sprites/tinted_images/blue/animations/capture/13.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -15995,7 +15995,7 @@ } }, { - "filename": "sprites/tinted_images/blue/animations/capture/2.png", + "filename": "sprites/tinted_images/blue/animations/capture/14.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16016,7 +16016,7 @@ } }, { - "filename": "sprites/tinted_images/blue/animations/capture/3.png", + "filename": "sprites/tinted_images/blue/animations/capture/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16037,7 +16037,7 @@ } }, { - "filename": "sprites/tinted_images/blue/animations/capture/4.png", + "filename": "sprites/tinted_images/blue/animations/capture/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16058,7 +16058,7 @@ } }, { - "filename": "sprites/tinted_images/blue/ui/icons/big-select.png", + "filename": "sprites/tinted_images/blue/animations/capture/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16079,7 +16079,7 @@ } }, { - "filename": "sprites/tinted_images/blue/ui/icons/boot-check.png", + "filename": "sprites/tinted_images/blue/ui/icons/big-select.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16100,7 +16100,7 @@ } }, { - "filename": "sprites/tinted_images/blue/ui/icons/boot.png", + "filename": "sprites/tinted_images/blue/ui/icons/boot-check.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16121,7 +16121,7 @@ } }, { - "filename": "sprites/tinted_images/blue/ui/icons/crossed-swords.png", + "filename": "sprites/tinted_images/blue/ui/icons/boot.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16142,7 +16142,7 @@ } }, { - "filename": "sprites/tinted_images/blue/ui/tile-select/0.png", + "filename": "sprites/tinted_images/blue/ui/icons/crossed-swords.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16163,7 +16163,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/archer/attack/0.png", + "filename": "sprites/tinted_images/blue/ui/tile-select/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16177,14 +16177,14 @@ "h": 32 }, "frame": { - "x": 1348, + "x": 1357, "y": 1191, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/archer/attack/1.png", + "filename": "sprites/tinted_images/blue/units/archer/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16198,14 +16198,14 @@ "h": 32 }, "frame": { - "x": 1345, + "x": 1348, "y": 1225, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/archer/attack/2.png", + "filename": "sprites/tinted_images/blue/units/archer/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16226,7 +16226,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/archer/attack/3.png", + "filename": "sprites/tinted_images/blue/units/archer/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16247,7 +16247,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/archer/attack/4.png", + "filename": "sprites/tinted_images/blue/units/archer/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16268,7 +16268,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/archer/death/0.png", + "filename": "sprites/tinted_images/blue/units/archer/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16289,7 +16289,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/archer/death/1.png", + "filename": "sprites/tinted_images/blue/units/archer/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16310,7 +16310,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/archer/death/2.png", + "filename": "sprites/tinted_images/blue/units/archer/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16331,7 +16331,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/archer/death/3.png", + "filename": "sprites/tinted_images/blue/units/archer/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16352,7 +16352,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/archer/death/4.png", + "filename": "sprites/tinted_images/blue/units/archer/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16373,7 +16373,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/archer/death/5.png", + "filename": "sprites/tinted_images/blue/units/archer/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16394,7 +16394,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/archer/idle/0.png", + "filename": "sprites/tinted_images/blue/units/archer/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16415,7 +16415,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/archer/idle/1.png", + "filename": "sprites/tinted_images/blue/units/archer/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16436,7 +16436,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/archer/idle/2.png", + "filename": "sprites/tinted_images/blue/units/archer/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16457,7 +16457,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/archer/prepare/1.png", + "filename": "sprites/tinted_images/blue/units/archer/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16478,7 +16478,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/archer/prepare/2.png", + "filename": "sprites/tinted_images/blue/units/archer/prepare/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16499,7 +16499,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/archer/prepare/3.png", + "filename": "sprites/tinted_images/blue/units/archer/prepare/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16520,7 +16520,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/archer/walk/down/0.png", + "filename": "sprites/tinted_images/blue/units/archer/prepare/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16541,7 +16541,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/archer/walk/down/1.png", + "filename": "sprites/tinted_images/blue/units/archer/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16562,7 +16562,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/archer/walk/down/2.png", + "filename": "sprites/tinted_images/blue/units/archer/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16583,7 +16583,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/archer/walk/left/0.png", + "filename": "sprites/tinted_images/blue/units/archer/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16604,7 +16604,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/archer/walk/left/1.png", + "filename": "sprites/tinted_images/blue/units/archer/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16625,7 +16625,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/archer/walk/left/2.png", + "filename": "sprites/tinted_images/blue/units/archer/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16646,7 +16646,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/archer/walk/right/0.png", + "filename": "sprites/tinted_images/blue/units/archer/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16667,7 +16667,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/archer/walk/right/1.png", + "filename": "sprites/tinted_images/blue/units/archer/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16688,7 +16688,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/archer/walk/right/2.png", + "filename": "sprites/tinted_images/blue/units/archer/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16709,7 +16709,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/archer/walk/up/0.png", + "filename": "sprites/tinted_images/blue/units/archer/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16730,7 +16730,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/archer/walk/up/1.png", + "filename": "sprites/tinted_images/blue/units/archer/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16751,7 +16751,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/archer/walk/up/2.png", + "filename": "sprites/tinted_images/blue/units/archer/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16772,7 +16772,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/catapult/attack/0.png", + "filename": "sprites/tinted_images/blue/units/archer/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16793,7 +16793,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/catapult/attack/1.png", + "filename": "sprites/tinted_images/blue/units/catapult/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16814,7 +16814,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/catapult/attack/2.png", + "filename": "sprites/tinted_images/blue/units/catapult/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16835,7 +16835,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/catapult/attack/3.png", + "filename": "sprites/tinted_images/blue/units/catapult/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16856,7 +16856,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/catapult/death/0.png", + "filename": "sprites/tinted_images/blue/units/catapult/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16877,7 +16877,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/catapult/death/1.png", + "filename": "sprites/tinted_images/blue/units/catapult/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16898,7 +16898,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/catapult/death/2.png", + "filename": "sprites/tinted_images/blue/units/catapult/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16919,7 +16919,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/catapult/idle/0.png", + "filename": "sprites/tinted_images/blue/units/catapult/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16940,7 +16940,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/catapult/idle/1.png", + "filename": "sprites/tinted_images/blue/units/catapult/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16961,7 +16961,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/catapult/idle/2.png", + "filename": "sprites/tinted_images/blue/units/catapult/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -16982,7 +16982,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/catapult/prepare/1.ng.png", + "filename": "sprites/tinted_images/blue/units/catapult/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17003,7 +17003,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/catapult/prepare/2.ng.png", + "filename": "sprites/tinted_images/blue/units/catapult/prepare/1.ng.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17018,13 +17018,13 @@ }, "frame": { "x": 1191, - "y": 1372, + "y": 1362, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/catapult/prepare/3.ng.png", + "filename": "sprites/tinted_images/blue/units/catapult/prepare/2.ng.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17045,7 +17045,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/catapult/walk/down/0.png", + "filename": "sprites/tinted_images/blue/units/catapult/prepare/3.ng.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17066,7 +17066,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/catapult/walk/down/1.png", + "filename": "sprites/tinted_images/blue/units/catapult/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17087,7 +17087,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/catapult/walk/down/2.png", + "filename": "sprites/tinted_images/blue/units/catapult/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17108,7 +17108,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/catapult/walk/down/3.png", + "filename": "sprites/tinted_images/blue/units/catapult/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17122,14 +17122,14 @@ "h": 32 }, "frame": { - "x": 1391, + "x": 1392, "y": 1, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/catapult/walk/left/0.png", + "filename": "sprites/tinted_images/blue/units/catapult/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17143,14 +17143,14 @@ "h": 32 }, "frame": { - "x": 1391, + "x": 1392, "y": 35, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/catapult/walk/left/1.png", + "filename": "sprites/tinted_images/blue/units/catapult/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17171,7 +17171,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/catapult/walk/left/2.png", + "filename": "sprites/tinted_images/blue/units/catapult/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17192,7 +17192,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/catapult/walk/left/3.png", + "filename": "sprites/tinted_images/blue/units/catapult/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17213,7 +17213,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/catapult/walk/right/0.png", + "filename": "sprites/tinted_images/blue/units/catapult/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17234,7 +17234,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/catapult/walk/right/1.png", + "filename": "sprites/tinted_images/blue/units/catapult/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17255,7 +17255,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/catapult/walk/right/2.png", + "filename": "sprites/tinted_images/blue/units/catapult/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17276,7 +17276,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/catapult/walk/right/3.png", + "filename": "sprites/tinted_images/blue/units/catapult/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17297,7 +17297,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/catapult/walk/up/0.png", + "filename": "sprites/tinted_images/blue/units/catapult/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17318,7 +17318,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/catapult/walk/up/1.png", + "filename": "sprites/tinted_images/blue/units/catapult/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17339,7 +17339,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/catapult/walk/up/2.png", + "filename": "sprites/tinted_images/blue/units/catapult/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17360,7 +17360,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/catapult/walk/up/3.png", + "filename": "sprites/tinted_images/blue/units/catapult/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17381,7 +17381,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/attack/0.png", + "filename": "sprites/tinted_images/blue/units/catapult/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17402,7 +17402,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/attack/1.png", + "filename": "sprites/tinted_images/blue/units/crossbow/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17423,7 +17423,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/attack/2.png", + "filename": "sprites/tinted_images/blue/units/crossbow/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17444,7 +17444,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/attack/4.png", + "filename": "sprites/tinted_images/blue/units/crossbow/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17465,7 +17465,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/attack/5.png", + "filename": "sprites/tinted_images/blue/units/crossbow/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17486,7 +17486,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/death/0.png", + "filename": "sprites/tinted_images/blue/units/crossbow/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17507,7 +17507,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/death/1.png", + "filename": "sprites/tinted_images/blue/units/crossbow/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17528,7 +17528,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/death/10.png", + "filename": "sprites/tinted_images/blue/units/crossbow/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17549,7 +17549,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/death/2.png", + "filename": "sprites/tinted_images/blue/units/crossbow/death/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17570,7 +17570,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/death/3.png", + "filename": "sprites/tinted_images/blue/units/crossbow/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17591,7 +17591,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/death/4.png", + "filename": "sprites/tinted_images/blue/units/crossbow/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17612,7 +17612,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/death/5.png", + "filename": "sprites/tinted_images/blue/units/crossbow/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17633,7 +17633,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/death/6.png", + "filename": "sprites/tinted_images/blue/units/crossbow/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17654,7 +17654,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/idle/0.png", + "filename": "sprites/tinted_images/blue/units/crossbow/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17675,7 +17675,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/idle/1.png", + "filename": "sprites/tinted_images/blue/units/crossbow/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17696,7 +17696,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/idle/2.png", + "filename": "sprites/tinted_images/blue/units/crossbow/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17717,7 +17717,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/idle/3.png", + "filename": "sprites/tinted_images/blue/units/crossbow/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17738,7 +17738,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/walk/down/0.png", + "filename": "sprites/tinted_images/blue/units/crossbow/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17759,7 +17759,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/walk/down/1.png", + "filename": "sprites/tinted_images/blue/units/crossbow/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17780,7 +17780,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/walk/down/2.png", + "filename": "sprites/tinted_images/blue/units/crossbow/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17801,7 +17801,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/walk/left/0.png", + "filename": "sprites/tinted_images/blue/units/crossbow/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17822,7 +17822,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/walk/left/1.png", + "filename": "sprites/tinted_images/blue/units/crossbow/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17843,7 +17843,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/walk/left/2.png", + "filename": "sprites/tinted_images/blue/units/crossbow/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17857,14 +17857,14 @@ "h": 32 }, "frame": { - "x": 1382, + "x": 1391, "y": 1191, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/walk/right/0.png", + "filename": "sprites/tinted_images/blue/units/crossbow/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17878,14 +17878,14 @@ "h": 32 }, "frame": { - "x": 1379, + "x": 1382, "y": 1225, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/walk/right/1.png", + "filename": "sprites/tinted_images/blue/units/crossbow/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17906,7 +17906,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/walk/right/2.png", + "filename": "sprites/tinted_images/blue/units/crossbow/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17927,7 +17927,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/walk/up/0.png", + "filename": "sprites/tinted_images/blue/units/crossbow/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17948,7 +17948,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/walk/up/1.png", + "filename": "sprites/tinted_images/blue/units/crossbow/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17969,7 +17969,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/crossbow/walk/up/2.png", + "filename": "sprites/tinted_images/blue/units/crossbow/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -17990,7 +17990,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/attack/0.png", + "filename": "sprites/tinted_images/blue/units/crossbow/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18011,7 +18011,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/attack/1.png", + "filename": "sprites/tinted_images/blue/units/dragoon/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18032,7 +18032,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/attack/2.png", + "filename": "sprites/tinted_images/blue/units/dragoon/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18053,7 +18053,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/attack/3.png", + "filename": "sprites/tinted_images/blue/units/dragoon/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18074,7 +18074,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/attack/4.png", + "filename": "sprites/tinted_images/blue/units/dragoon/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18095,7 +18095,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/attack/5.png", + "filename": "sprites/tinted_images/blue/units/dragoon/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18116,7 +18116,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/death/0.png", + "filename": "sprites/tinted_images/blue/units/dragoon/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18137,7 +18137,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/death/1.png", + "filename": "sprites/tinted_images/blue/units/dragoon/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18158,7 +18158,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/death/10.png", + "filename": "sprites/tinted_images/blue/units/dragoon/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18179,7 +18179,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/death/2.png", + "filename": "sprites/tinted_images/blue/units/dragoon/death/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18200,7 +18200,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/death/3.png", + "filename": "sprites/tinted_images/blue/units/dragoon/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18221,7 +18221,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/death/4.png", + "filename": "sprites/tinted_images/blue/units/dragoon/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18242,7 +18242,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/death/5.png", + "filename": "sprites/tinted_images/blue/units/dragoon/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18263,7 +18263,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/death/6.png", + "filename": "sprites/tinted_images/blue/units/dragoon/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18284,7 +18284,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/death/7.png", + "filename": "sprites/tinted_images/blue/units/dragoon/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18305,7 +18305,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/idle/0.png", + "filename": "sprites/tinted_images/blue/units/dragoon/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18326,7 +18326,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/idle/1.png", + "filename": "sprites/tinted_images/blue/units/dragoon/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18347,7 +18347,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/idle/2.png", + "filename": "sprites/tinted_images/blue/units/dragoon/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18368,7 +18368,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/idle/3.png", + "filename": "sprites/tinted_images/blue/units/dragoon/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18389,7 +18389,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/walk/down/0.png", + "filename": "sprites/tinted_images/blue/units/dragoon/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18410,7 +18410,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/walk/down/1.png", + "filename": "sprites/tinted_images/blue/units/dragoon/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18431,7 +18431,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/walk/down/2.png", + "filename": "sprites/tinted_images/blue/units/dragoon/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18452,7 +18452,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/walk/down/3.png", + "filename": "sprites/tinted_images/blue/units/dragoon/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18473,7 +18473,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/walk/left/0.png", + "filename": "sprites/tinted_images/blue/units/dragoon/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18494,7 +18494,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/walk/left/1.png", + "filename": "sprites/tinted_images/blue/units/dragoon/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18515,7 +18515,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/walk/left/2.png", + "filename": "sprites/tinted_images/blue/units/dragoon/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18536,7 +18536,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/walk/left/3.png", + "filename": "sprites/tinted_images/blue/units/dragoon/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18557,7 +18557,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/walk/right/0.png", + "filename": "sprites/tinted_images/blue/units/dragoon/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18578,7 +18578,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/walk/right/1.png", + "filename": "sprites/tinted_images/blue/units/dragoon/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18599,7 +18599,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/walk/right/2.png", + "filename": "sprites/tinted_images/blue/units/dragoon/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18620,7 +18620,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/walk/right/3.png", + "filename": "sprites/tinted_images/blue/units/dragoon/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18641,7 +18641,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/walk/up/0.png", + "filename": "sprites/tinted_images/blue/units/dragoon/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18662,7 +18662,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/walk/up/1.png", + "filename": "sprites/tinted_images/blue/units/dragoon/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18683,7 +18683,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/walk/up/2.png", + "filename": "sprites/tinted_images/blue/units/dragoon/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18704,7 +18704,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/dragon/walk/up/3.png", + "filename": "sprites/tinted_images/blue/units/dragoon/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18719,13 +18719,13 @@ }, "frame": { "x": 1191, - "y": 1406, + "y": 1396, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/golem/attack/0.png", + "filename": "sprites/tinted_images/blue/units/dragoon/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18746,7 +18746,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/attack/1.png", + "filename": "sprites/tinted_images/blue/units/halberdier/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18767,7 +18767,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/attack/2.png", + "filename": "sprites/tinted_images/blue/units/halberdier/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18788,7 +18788,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/attack/3.png", + "filename": "sprites/tinted_images/blue/units/halberdier/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18809,7 +18809,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/attack/4.png", + "filename": "sprites/tinted_images/blue/units/halberdier/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18830,7 +18830,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/attack/5.png", + "filename": "sprites/tinted_images/blue/units/halberdier/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18844,14 +18844,14 @@ "h": 32 }, "frame": { - "x": 1425, + "x": 1426, "y": 1, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/golem/death/0.png", + "filename": "sprites/tinted_images/blue/units/halberdier/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18865,14 +18865,14 @@ "h": 32 }, "frame": { - "x": 1425, + "x": 1426, "y": 35, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/golem/death/1.png", + "filename": "sprites/tinted_images/blue/units/halberdier/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18893,7 +18893,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/death/10.png", + "filename": "sprites/tinted_images/blue/units/halberdier/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18914,7 +18914,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/death/2.png", + "filename": "sprites/tinted_images/blue/units/halberdier/death/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18935,7 +18935,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/death/3.png", + "filename": "sprites/tinted_images/blue/units/halberdier/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18956,7 +18956,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/death/4.png", + "filename": "sprites/tinted_images/blue/units/halberdier/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18977,7 +18977,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/death/5.png", + "filename": "sprites/tinted_images/blue/units/halberdier/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -18998,7 +18998,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/death/6.png", + "filename": "sprites/tinted_images/blue/units/halberdier/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19019,7 +19019,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/death/7.png", + "filename": "sprites/tinted_images/blue/units/halberdier/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19040,7 +19040,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/death/8.png", + "filename": "sprites/tinted_images/blue/units/halberdier/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19061,7 +19061,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/death/9.png", + "filename": "sprites/tinted_images/blue/units/halberdier/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19082,7 +19082,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/idle/0.png", + "filename": "sprites/tinted_images/blue/units/halberdier/death/9.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19103,7 +19103,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/idle/1.png", + "filename": "sprites/tinted_images/blue/units/halberdier/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19124,7 +19124,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/idle/2.png", + "filename": "sprites/tinted_images/blue/units/halberdier/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19145,7 +19145,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/idle/3.png", + "filename": "sprites/tinted_images/blue/units/halberdier/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19166,7 +19166,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/walk/down/0.png", + "filename": "sprites/tinted_images/blue/units/halberdier/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19187,7 +19187,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/walk/down/1.png", + "filename": "sprites/tinted_images/blue/units/halberdier/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19208,7 +19208,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/walk/down/2.png", + "filename": "sprites/tinted_images/blue/units/halberdier/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19229,7 +19229,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/walk/down/3.png", + "filename": "sprites/tinted_images/blue/units/halberdier/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19250,7 +19250,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/walk/left/0.png", + "filename": "sprites/tinted_images/blue/units/halberdier/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19271,7 +19271,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/walk/left/1.png", + "filename": "sprites/tinted_images/blue/units/halberdier/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19292,7 +19292,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/walk/left/2.png", + "filename": "sprites/tinted_images/blue/units/halberdier/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19313,7 +19313,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/walk/left/3.png", + "filename": "sprites/tinted_images/blue/units/halberdier/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19334,7 +19334,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/walk/right/0.png", + "filename": "sprites/tinted_images/blue/units/halberdier/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19355,7 +19355,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/walk/right/1.png", + "filename": "sprites/tinted_images/blue/units/halberdier/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19376,7 +19376,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/walk/right/2.png", + "filename": "sprites/tinted_images/blue/units/halberdier/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19397,7 +19397,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/walk/right/3.png", + "filename": "sprites/tinted_images/blue/units/halberdier/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19418,7 +19418,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/walk/up/0.png", + "filename": "sprites/tinted_images/blue/units/halberdier/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19439,7 +19439,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/walk/up/1.png", + "filename": "sprites/tinted_images/blue/units/halberdier/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19460,7 +19460,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/walk/up/2.png", + "filename": "sprites/tinted_images/blue/units/halberdier/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19481,7 +19481,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/golem/walk/up/3.png", + "filename": "sprites/tinted_images/blue/units/halberdier/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19502,7 +19502,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/attack/0.png", + "filename": "sprites/tinted_images/blue/units/halberdier/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19523,7 +19523,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/attack/1.png", + "filename": "sprites/tinted_images/blue/units/knight/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19544,7 +19544,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/attack/2.png", + "filename": "sprites/tinted_images/blue/units/knight/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19565,7 +19565,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/attack/3.png", + "filename": "sprites/tinted_images/blue/units/knight/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19579,14 +19579,14 @@ "h": 32 }, "frame": { - "x": 1416, + "x": 1425, "y": 1191, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/knight/attack/4.png", + "filename": "sprites/tinted_images/blue/units/knight/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19600,14 +19600,14 @@ "h": 32 }, "frame": { - "x": 1413, + "x": 1416, "y": 1225, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/knight/attack/5.png", + "filename": "sprites/tinted_images/blue/units/knight/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19628,7 +19628,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/death/0.png", + "filename": "sprites/tinted_images/blue/units/knight/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19649,7 +19649,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/death/1.png", + "filename": "sprites/tinted_images/blue/units/knight/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19670,7 +19670,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/death/2.png", + "filename": "sprites/tinted_images/blue/units/knight/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19691,7 +19691,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/death/3.png", + "filename": "sprites/tinted_images/blue/units/knight/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19712,7 +19712,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/death/4.png", + "filename": "sprites/tinted_images/blue/units/knight/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19733,7 +19733,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/death/5.png", + "filename": "sprites/tinted_images/blue/units/knight/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19754,7 +19754,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/death/8.png", + "filename": "sprites/tinted_images/blue/units/knight/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19775,7 +19775,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/idle/0.png", + "filename": "sprites/tinted_images/blue/units/knight/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19796,7 +19796,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/idle/1.png", + "filename": "sprites/tinted_images/blue/units/knight/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19817,7 +19817,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/idle/2.png", + "filename": "sprites/tinted_images/blue/units/knight/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19838,7 +19838,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/idle/3.png", + "filename": "sprites/tinted_images/blue/units/knight/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19859,7 +19859,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/walk/down/0.png", + "filename": "sprites/tinted_images/blue/units/knight/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19880,7 +19880,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/walk/down/1.png", + "filename": "sprites/tinted_images/blue/units/knight/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19901,7 +19901,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/walk/down/2.png", + "filename": "sprites/tinted_images/blue/units/knight/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19922,7 +19922,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/walk/down/3.png", + "filename": "sprites/tinted_images/blue/units/knight/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19943,7 +19943,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/walk/left/0.png", + "filename": "sprites/tinted_images/blue/units/knight/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19964,7 +19964,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/walk/left/1.png", + "filename": "sprites/tinted_images/blue/units/knight/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -19985,7 +19985,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/walk/left/2.png", + "filename": "sprites/tinted_images/blue/units/knight/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20006,7 +20006,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/walk/left/3.png", + "filename": "sprites/tinted_images/blue/units/knight/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20027,7 +20027,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/walk/right/0.png", + "filename": "sprites/tinted_images/blue/units/knight/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20048,7 +20048,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/walk/right/1.png", + "filename": "sprites/tinted_images/blue/units/knight/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20069,7 +20069,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/walk/right/2.png", + "filename": "sprites/tinted_images/blue/units/knight/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20090,7 +20090,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/walk/right/3.png", + "filename": "sprites/tinted_images/blue/units/knight/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20111,7 +20111,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/walk/up/0.png", + "filename": "sprites/tinted_images/blue/units/knight/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20132,7 +20132,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/walk/up/1.png", + "filename": "sprites/tinted_images/blue/units/knight/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20153,7 +20153,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/walk/up/2.png", + "filename": "sprites/tinted_images/blue/units/knight/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20174,7 +20174,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/knight/walk/up/3.png", + "filename": "sprites/tinted_images/blue/units/knight/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20195,7 +20195,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/attack/0.png", + "filename": "sprites/tinted_images/blue/units/knight/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20216,7 +20216,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/attack/1.png", + "filename": "sprites/tinted_images/blue/units/marksman/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20237,7 +20237,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/attack/2.png", + "filename": "sprites/tinted_images/blue/units/marksman/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20258,7 +20258,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/attack/3.png", + "filename": "sprites/tinted_images/blue/units/marksman/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20279,7 +20279,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/attack/4.png", + "filename": "sprites/tinted_images/blue/units/marksman/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20300,7 +20300,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/attack/5.png", + "filename": "sprites/tinted_images/blue/units/marksman/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20321,7 +20321,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/death/0.png", + "filename": "sprites/tinted_images/blue/units/marksman/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20342,7 +20342,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/death/1.png", + "filename": "sprites/tinted_images/blue/units/marksman/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20363,7 +20363,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/death/10.png", + "filename": "sprites/tinted_images/blue/units/marksman/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20384,7 +20384,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/death/2.png", + "filename": "sprites/tinted_images/blue/units/marksman/death/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20405,7 +20405,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/death/3.png", + "filename": "sprites/tinted_images/blue/units/marksman/death/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20426,7 +20426,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/death/4.png", + "filename": "sprites/tinted_images/blue/units/marksman/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20447,7 +20447,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/death/5.png", + "filename": "sprites/tinted_images/blue/units/marksman/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20462,13 +20462,13 @@ }, "frame": { "x": 1191, - "y": 1440, + "y": 1430, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/death/6.png", + "filename": "sprites/tinted_images/blue/units/marksman/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20489,7 +20489,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/idle/1.png", + "filename": "sprites/tinted_images/blue/units/marksman/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20510,7 +20510,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/idle/2.png", + "filename": "sprites/tinted_images/blue/units/marksman/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20531,7 +20531,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/idle/3.png", + "filename": "sprites/tinted_images/blue/units/marksman/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20552,7 +20552,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/walk/down/0.png", + "filename": "sprites/tinted_images/blue/units/marksman/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20573,7 +20573,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/walk/down/1.png", + "filename": "sprites/tinted_images/blue/units/marksman/death/9.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20594,7 +20594,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/walk/down/2.png", + "filename": "sprites/tinted_images/blue/units/marksman/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20608,14 +20608,14 @@ "h": 32 }, "frame": { - "x": 1459, + "x": 1460, "y": 1, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/walk/down/3.png", + "filename": "sprites/tinted_images/blue/units/marksman/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20629,14 +20629,14 @@ "h": 32 }, "frame": { - "x": 1459, + "x": 1460, "y": 35, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/walk/left/0.png", + "filename": "sprites/tinted_images/blue/units/marksman/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20657,7 +20657,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/walk/left/1.png", + "filename": "sprites/tinted_images/blue/units/marksman/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20678,7 +20678,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/walk/left/2.png", + "filename": "sprites/tinted_images/blue/units/marksman/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20699,7 +20699,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/walk/left/3.png", + "filename": "sprites/tinted_images/blue/units/marksman/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20720,7 +20720,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/walk/right/0.png", + "filename": "sprites/tinted_images/blue/units/marksman/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20741,7 +20741,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/walk/right/1.png", + "filename": "sprites/tinted_images/blue/units/marksman/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20762,7 +20762,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/walk/right/2.png", + "filename": "sprites/tinted_images/blue/units/marksman/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20783,7 +20783,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/walk/right/3.png", + "filename": "sprites/tinted_images/blue/units/marksman/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20804,7 +20804,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/walk/up/0.png", + "filename": "sprites/tinted_images/blue/units/marksman/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20825,7 +20825,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/walk/up/1.png", + "filename": "sprites/tinted_images/blue/units/marksman/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20846,7 +20846,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/walk/up/2.png", + "filename": "sprites/tinted_images/blue/units/marksman/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20867,7 +20867,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/walk/up/3.png", + "filename": "sprites/tinted_images/blue/units/marksman/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20888,7 +20888,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/rider/attack/0.png", + "filename": "sprites/tinted_images/blue/units/marksman/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20909,7 +20909,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/rider/attack/1.png", + "filename": "sprites/tinted_images/blue/units/marksman/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20930,7 +20930,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/rider/attack/2.png", + "filename": "sprites/tinted_images/blue/units/pikeman/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20951,7 +20951,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/rider/attack/3.png", + "filename": "sprites/tinted_images/blue/units/pikeman/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20972,7 +20972,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/rider/attack/4.png", + "filename": "sprites/tinted_images/blue/units/pikeman/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -20993,7 +20993,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/rider/attack/5.png", + "filename": "sprites/tinted_images/blue/units/pikeman/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21014,7 +21014,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/rider/death/0.png", + "filename": "sprites/tinted_images/blue/units/pikeman/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21035,7 +21035,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/rider/death/1.png", + "filename": "sprites/tinted_images/blue/units/pikeman/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21056,7 +21056,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/rider/death/2.png", + "filename": "sprites/tinted_images/blue/units/pikeman/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21077,7 +21077,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/rider/death/3.png", + "filename": "sprites/tinted_images/blue/units/pikeman/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21098,7 +21098,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/rider/death/4.png", + "filename": "sprites/tinted_images/blue/units/pikeman/death/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21119,7 +21119,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/rider/idle/0.png", + "filename": "sprites/tinted_images/blue/units/pikeman/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21140,7 +21140,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/rider/idle/1.png", + "filename": "sprites/tinted_images/blue/units/pikeman/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21161,7 +21161,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/rider/idle/2.png", + "filename": "sprites/tinted_images/blue/units/pikeman/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21182,7 +21182,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/rider/idle/3.png", + "filename": "sprites/tinted_images/blue/units/pikeman/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21203,7 +21203,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/rider/walk/down/0.png", + "filename": "sprites/tinted_images/blue/units/pikeman/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21224,7 +21224,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/rider/walk/down/1.png", + "filename": "sprites/tinted_images/blue/units/pikeman/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21245,7 +21245,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/rider/walk/down/2.png", + "filename": "sprites/tinted_images/blue/units/pikeman/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21266,7 +21266,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/rider/walk/down/3.png", + "filename": "sprites/tinted_images/blue/units/pikeman/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21287,7 +21287,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/rider/walk/left/0.png", + "filename": "sprites/tinted_images/blue/units/pikeman/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21308,7 +21308,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/rider/walk/left/1.png", + "filename": "sprites/tinted_images/blue/units/pikeman/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21329,7 +21329,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/rider/walk/left/2.png", + "filename": "sprites/tinted_images/blue/units/pikeman/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21343,14 +21343,14 @@ "h": 32 }, "frame": { - "x": 1450, + "x": 1459, "y": 1191, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/rider/walk/left/3.png", + "filename": "sprites/tinted_images/blue/units/pikeman/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21364,14 +21364,14 @@ "h": 32 }, "frame": { - "x": 1447, + "x": 1450, "y": 1225, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/rider/walk/right/0.png", + "filename": "sprites/tinted_images/blue/units/pikeman/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21392,7 +21392,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/rider/walk/right/1.png", + "filename": "sprites/tinted_images/blue/units/pikeman/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21413,7 +21413,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/rider/walk/right/2.png", + "filename": "sprites/tinted_images/blue/units/pikeman/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21434,7 +21434,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/rider/walk/right/3.png", + "filename": "sprites/tinted_images/blue/units/pikeman/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21455,7 +21455,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/rider/walk/up/2.png", + "filename": "sprites/tinted_images/blue/units/pikeman/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21476,7 +21476,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/attack/0.png", + "filename": "sprites/tinted_images/blue/units/pikeman/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21497,7 +21497,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/attack/1.png", + "filename": "sprites/tinted_images/blue/units/pikeman/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21518,7 +21518,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/attack/2.png", + "filename": "sprites/tinted_images/blue/units/pikeman/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21539,7 +21539,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/attack/4.png", + "filename": "sprites/tinted_images/blue/units/pikeman/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21560,7 +21560,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/attack/5.png", + "filename": "sprites/tinted_images/blue/units/pikeman/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21581,7 +21581,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/death/0.png", + "filename": "sprites/tinted_images/blue/units/pikeman/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21602,7 +21602,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/death/1.png", + "filename": "sprites/tinted_images/blue/units/pikeman/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21623,7 +21623,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/death/2.png", + "filename": "sprites/tinted_images/blue/units/pillager/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21644,7 +21644,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/death/3.png", + "filename": "sprites/tinted_images/blue/units/pillager/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21665,7 +21665,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/death/4.png", + "filename": "sprites/tinted_images/blue/units/pillager/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21686,7 +21686,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/idle/0.png", + "filename": "sprites/tinted_images/blue/units/pillager/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21707,7 +21707,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/idle/1.png", + "filename": "sprites/tinted_images/blue/units/pillager/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21728,7 +21728,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/idle/3.png", + "filename": "sprites/tinted_images/blue/units/pillager/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21749,7 +21749,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/prepare/1.png", + "filename": "sprites/tinted_images/blue/units/pillager/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21770,7 +21770,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/walk/down/0.png", + "filename": "sprites/tinted_images/blue/units/pillager/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21791,7 +21791,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/walk/down/1.png", + "filename": "sprites/tinted_images/blue/units/pillager/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21812,7 +21812,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/walk/down/2.png", + "filename": "sprites/tinted_images/blue/units/pillager/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21833,7 +21833,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/walk/down/3.png", + "filename": "sprites/tinted_images/blue/units/pillager/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21854,7 +21854,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/walk/left/0.png", + "filename": "sprites/tinted_images/blue/units/pillager/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21875,7 +21875,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/walk/left/1.png", + "filename": "sprites/tinted_images/blue/units/pillager/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21896,7 +21896,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/walk/left/2.png", + "filename": "sprites/tinted_images/blue/units/pillager/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21917,7 +21917,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/walk/left/3.png", + "filename": "sprites/tinted_images/blue/units/pillager/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21938,7 +21938,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/walk/right/0.png", + "filename": "sprites/tinted_images/blue/units/pillager/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21959,7 +21959,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/walk/right/1.png", + "filename": "sprites/tinted_images/blue/units/pillager/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -21980,7 +21980,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/walk/right/2.png", + "filename": "sprites/tinted_images/blue/units/pillager/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22001,7 +22001,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/walk/right/3.png", + "filename": "sprites/tinted_images/blue/units/pillager/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22022,7 +22022,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/walk/up/0.png", + "filename": "sprites/tinted_images/blue/units/pillager/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22043,7 +22043,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/walk/up/1.png", + "filename": "sprites/tinted_images/blue/units/pillager/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22064,7 +22064,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/walk/up/2.png", + "filename": "sprites/tinted_images/blue/units/pillager/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22085,7 +22085,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/walk/up/3.png", + "filename": "sprites/tinted_images/blue/units/pillager/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22106,7 +22106,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/attack/0.png", + "filename": "sprites/tinted_images/blue/units/pillager/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22127,7 +22127,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/attack/1.png", + "filename": "sprites/tinted_images/blue/units/pillager/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22148,7 +22148,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/attack/2.png", + "filename": "sprites/tinted_images/blue/units/pillager/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22169,7 +22169,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/attack/3.png", + "filename": "sprites/tinted_images/blue/units/pillager/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22190,7 +22190,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/attack/4.png", + "filename": "sprites/tinted_images/blue/units/pillager/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22211,7 +22211,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/attack/5.png", + "filename": "sprites/tinted_images/blue/units/swordsman/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22232,7 +22232,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/death/0.png", + "filename": "sprites/tinted_images/blue/units/swordsman/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22247,13 +22247,13 @@ }, "frame": { "x": 1191, - "y": 1474, + "y": 1464, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/wizard/death/1.png", + "filename": "sprites/tinted_images/blue/units/swordsman/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22274,7 +22274,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/death/10.png", + "filename": "sprites/tinted_images/blue/units/swordsman/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22295,7 +22295,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/death/11.png", + "filename": "sprites/tinted_images/blue/units/swordsman/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22316,7 +22316,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/death/2.png", + "filename": "sprites/tinted_images/blue/units/swordsman/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22337,7 +22337,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/death/3.png", + "filename": "sprites/tinted_images/blue/units/swordsman/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22358,7 +22358,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/death/4.png", + "filename": "sprites/tinted_images/blue/units/swordsman/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22379,7 +22379,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/death/5.png", + "filename": "sprites/tinted_images/blue/units/swordsman/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22400,7 +22400,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/death/6.png", + "filename": "sprites/tinted_images/blue/units/swordsman/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22414,14 +22414,14 @@ "h": 32 }, "frame": { - "x": 1493, + "x": 1494, "y": 1, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/wizard/death/7.png", + "filename": "sprites/tinted_images/blue/units/swordsman/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22435,14 +22435,14 @@ "h": 32 }, "frame": { - "x": 1493, + "x": 1494, "y": 35, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/wizard/death/8.png", + "filename": "sprites/tinted_images/blue/units/swordsman/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22463,7 +22463,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/death/9.png", + "filename": "sprites/tinted_images/blue/units/swordsman/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22484,7 +22484,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/idle/0.png", + "filename": "sprites/tinted_images/blue/units/swordsman/prepare/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22505,7 +22505,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/idle/1.png", + "filename": "sprites/tinted_images/blue/units/swordsman/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22526,7 +22526,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/idle/2.png", + "filename": "sprites/tinted_images/blue/units/swordsman/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22547,7 +22547,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/idle/3.png", + "filename": "sprites/tinted_images/blue/units/swordsman/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22568,7 +22568,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/walk/down/0.png", + "filename": "sprites/tinted_images/blue/units/swordsman/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22589,7 +22589,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/walk/down/1.png", + "filename": "sprites/tinted_images/blue/units/swordsman/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22610,7 +22610,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/walk/down/2.png", + "filename": "sprites/tinted_images/blue/units/swordsman/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22631,7 +22631,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/walk/left/0.png", + "filename": "sprites/tinted_images/blue/units/swordsman/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22652,7 +22652,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/walk/left/1.png", + "filename": "sprites/tinted_images/blue/units/swordsman/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22673,7 +22673,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/walk/left/2.png", + "filename": "sprites/tinted_images/blue/units/swordsman/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22694,7 +22694,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/walk/right/0.png", + "filename": "sprites/tinted_images/blue/units/swordsman/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22715,7 +22715,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/walk/right/1.png", + "filename": "sprites/tinted_images/blue/units/swordsman/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22736,7 +22736,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/walk/right/2.png", + "filename": "sprites/tinted_images/blue/units/swordsman/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22757,7 +22757,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/walk/up/0.png", + "filename": "sprites/tinted_images/blue/units/swordsman/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22778,7 +22778,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/walk/up/1.png", + "filename": "sprites/tinted_images/blue/units/swordsman/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22799,7 +22799,7 @@ } }, { - "filename": "sprites/tinted_images/blue/units/wizard/walk/up/2.png", + "filename": "sprites/tinted_images/blue/units/swordsman/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22820,7 +22820,7 @@ } }, { - "filename": "sprites/tinted_images/green/animations/capture/0.png", + "filename": "sprites/tinted_images/blue/units/swordsman/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22841,7 +22841,7 @@ } }, { - "filename": "sprites/tinted_images/green/animations/capture/1.png", + "filename": "sprites/tinted_images/green/animations/capture/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22862,7 +22862,7 @@ } }, { - "filename": "sprites/tinted_images/green/animations/capture/10.png", + "filename": "sprites/tinted_images/green/animations/capture/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22883,7 +22883,7 @@ } }, { - "filename": "sprites/tinted_images/green/animations/capture/11.png", + "filename": "sprites/tinted_images/green/animations/capture/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22904,7 +22904,7 @@ } }, { - "filename": "sprites/tinted_images/green/animations/capture/12.png", + "filename": "sprites/tinted_images/green/animations/capture/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22925,7 +22925,7 @@ } }, { - "filename": "sprites/tinted_images/green/animations/capture/13.png", + "filename": "sprites/tinted_images/green/animations/capture/12.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22946,7 +22946,7 @@ } }, { - "filename": "sprites/tinted_images/green/animations/capture/14.png", + "filename": "sprites/tinted_images/green/animations/capture/13.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22967,7 +22967,7 @@ } }, { - "filename": "sprites/tinted_images/green/animations/capture/2.png", + "filename": "sprites/tinted_images/green/animations/capture/14.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -22988,7 +22988,7 @@ } }, { - "filename": "sprites/tinted_images/green/animations/capture/3.png", + "filename": "sprites/tinted_images/green/animations/capture/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23009,7 +23009,7 @@ } }, { - "filename": "sprites/tinted_images/green/animations/capture/4.png", + "filename": "sprites/tinted_images/green/animations/capture/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23030,7 +23030,7 @@ } }, { - "filename": "sprites/tinted_images/green/ui/icons/big-select.png", + "filename": "sprites/tinted_images/green/animations/capture/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23051,7 +23051,7 @@ } }, { - "filename": "sprites/tinted_images/green/ui/icons/boot-check.png", + "filename": "sprites/tinted_images/green/ui/icons/big-select.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23072,7 +23072,7 @@ } }, { - "filename": "sprites/tinted_images/green/ui/icons/boot.png", + "filename": "sprites/tinted_images/green/ui/icons/boot-check.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23093,7 +23093,7 @@ } }, { - "filename": "sprites/tinted_images/green/ui/icons/crossed-swords.png", + "filename": "sprites/tinted_images/green/ui/icons/boot.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23114,7 +23114,7 @@ } }, { - "filename": "sprites/tinted_images/green/ui/tile-select/0.png", + "filename": "sprites/tinted_images/green/ui/icons/crossed-swords.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23135,7 +23135,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/archer/attack/0.png", + "filename": "sprites/tinted_images/green/ui/tile-select/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23149,14 +23149,14 @@ "h": 32 }, "frame": { - "x": 1484, + "x": 1493, "y": 1191, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/archer/attack/1.png", + "filename": "sprites/tinted_images/green/units/archer/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23170,14 +23170,14 @@ "h": 32 }, "frame": { - "x": 1481, + "x": 1484, "y": 1225, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/archer/attack/2.png", + "filename": "sprites/tinted_images/green/units/archer/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23198,7 +23198,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/archer/attack/3.png", + "filename": "sprites/tinted_images/green/units/archer/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23219,7 +23219,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/archer/attack/4.png", + "filename": "sprites/tinted_images/green/units/archer/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23240,7 +23240,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/archer/death/1.png", + "filename": "sprites/tinted_images/green/units/archer/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23261,7 +23261,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/archer/death/2.png", + "filename": "sprites/tinted_images/green/units/archer/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23282,7 +23282,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/archer/death/3.png", + "filename": "sprites/tinted_images/green/units/archer/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23303,7 +23303,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/archer/death/4.png", + "filename": "sprites/tinted_images/green/units/archer/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23324,7 +23324,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/archer/death/5.png", + "filename": "sprites/tinted_images/green/units/archer/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23345,7 +23345,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/archer/idle/0.png", + "filename": "sprites/tinted_images/green/units/archer/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23366,7 +23366,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/archer/idle/1.png", + "filename": "sprites/tinted_images/green/units/archer/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23387,7 +23387,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/archer/idle/2.png", + "filename": "sprites/tinted_images/green/units/archer/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23408,7 +23408,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/archer/prepare/1.png", + "filename": "sprites/tinted_images/green/units/archer/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23429,7 +23429,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/archer/prepare/2.png", + "filename": "sprites/tinted_images/green/units/archer/prepare/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23450,7 +23450,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/archer/prepare/3.png", + "filename": "sprites/tinted_images/green/units/archer/prepare/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23471,7 +23471,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/archer/walk/down/0.png", + "filename": "sprites/tinted_images/green/units/archer/prepare/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23492,7 +23492,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/archer/walk/down/1.png", + "filename": "sprites/tinted_images/green/units/archer/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23513,7 +23513,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/archer/walk/down/2.png", + "filename": "sprites/tinted_images/green/units/archer/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23534,7 +23534,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/archer/walk/left/0.png", + "filename": "sprites/tinted_images/green/units/archer/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23555,7 +23555,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/archer/walk/left/1.png", + "filename": "sprites/tinted_images/green/units/archer/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23576,7 +23576,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/archer/walk/left/2.png", + "filename": "sprites/tinted_images/green/units/archer/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23597,7 +23597,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/archer/walk/right/0.png", + "filename": "sprites/tinted_images/green/units/archer/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23618,7 +23618,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/archer/walk/right/1.png", + "filename": "sprites/tinted_images/green/units/archer/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23639,7 +23639,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/archer/walk/right/2.png", + "filename": "sprites/tinted_images/green/units/archer/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23660,7 +23660,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/archer/walk/up/0.png", + "filename": "sprites/tinted_images/green/units/archer/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23681,7 +23681,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/archer/walk/up/1.png", + "filename": "sprites/tinted_images/green/units/archer/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23702,7 +23702,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/archer/walk/up/2.png", + "filename": "sprites/tinted_images/green/units/archer/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23723,7 +23723,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/catapult/attack/0.png", + "filename": "sprites/tinted_images/green/units/archer/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23744,7 +23744,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/catapult/attack/1.png", + "filename": "sprites/tinted_images/green/units/catapult/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23765,7 +23765,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/catapult/attack/2.png", + "filename": "sprites/tinted_images/green/units/catapult/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23786,7 +23786,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/catapult/attack/3.png", + "filename": "sprites/tinted_images/green/units/catapult/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23807,7 +23807,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/catapult/death/0.png", + "filename": "sprites/tinted_images/green/units/catapult/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23828,7 +23828,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/catapult/death/1.png", + "filename": "sprites/tinted_images/green/units/catapult/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23849,7 +23849,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/catapult/death/2.png", + "filename": "sprites/tinted_images/green/units/catapult/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23870,7 +23870,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/catapult/idle/0.png", + "filename": "sprites/tinted_images/green/units/catapult/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23891,7 +23891,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/catapult/idle/1.png", + "filename": "sprites/tinted_images/green/units/catapult/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23912,7 +23912,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/catapult/idle/2.png", + "filename": "sprites/tinted_images/green/units/catapult/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23933,7 +23933,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/catapult/prepare/1.ng.png", + "filename": "sprites/tinted_images/green/units/catapult/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23954,7 +23954,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/catapult/prepare/2.ng.png", + "filename": "sprites/tinted_images/green/units/catapult/prepare/1.ng.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23975,7 +23975,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/catapult/prepare/3.ng.png", + "filename": "sprites/tinted_images/green/units/catapult/prepare/2.ng.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -23996,7 +23996,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/catapult/walk/down/0.png", + "filename": "sprites/tinted_images/green/units/catapult/prepare/3.ng.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24017,7 +24017,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/catapult/walk/down/1.png", + "filename": "sprites/tinted_images/green/units/catapult/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24038,7 +24038,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/catapult/walk/down/2.png", + "filename": "sprites/tinted_images/green/units/catapult/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24059,7 +24059,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/catapult/walk/down/3.png", + "filename": "sprites/tinted_images/green/units/catapult/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24074,13 +24074,13 @@ }, "frame": { "x": 1191, - "y": 1508, + "y": 1498, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/catapult/walk/left/0.png", + "filename": "sprites/tinted_images/green/units/catapult/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24101,7 +24101,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/catapult/walk/left/1.png", + "filename": "sprites/tinted_images/green/units/catapult/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24122,7 +24122,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/catapult/walk/left/2.png", + "filename": "sprites/tinted_images/green/units/catapult/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24143,7 +24143,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/catapult/walk/left/3.png", + "filename": "sprites/tinted_images/green/units/catapult/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24164,7 +24164,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/catapult/walk/right/0.png", + "filename": "sprites/tinted_images/green/units/catapult/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24185,7 +24185,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/catapult/walk/right/1.png", + "filename": "sprites/tinted_images/green/units/catapult/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24206,7 +24206,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/catapult/walk/right/2.png", + "filename": "sprites/tinted_images/green/units/catapult/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24227,7 +24227,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/catapult/walk/right/3.png", + "filename": "sprites/tinted_images/green/units/catapult/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24248,7 +24248,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/catapult/walk/up/0.png", + "filename": "sprites/tinted_images/green/units/catapult/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24262,12 +24262,33 @@ "h": 32 }, "frame": { - "x": 1527, + "x": 1528, "y": 1, "w": 32, "h": 32 } }, + { + "filename": "sprites/tinted_images/green/units/catapult/walk/up/0.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 32 + }, + "frame": { + "x": 1528, + "y": 35, + "w": 32, + "h": 32 + } + }, { "filename": "sprites/tinted_images/green/units/catapult/walk/up/1.png", "rotated": false, @@ -24284,7 +24305,7 @@ }, "frame": { "x": 1527, - "y": 35, + "y": 69, "w": 32, "h": 32 } @@ -24305,7 +24326,7 @@ }, "frame": { "x": 1527, - "y": 69, + "y": 103, "w": 32, "h": 32 } @@ -24326,7 +24347,7 @@ }, "frame": { "x": 1527, - "y": 103, + "y": 137, "w": 32, "h": 32 } @@ -24347,7 +24368,7 @@ }, "frame": { "x": 1527, - "y": 137, + "y": 171, "w": 32, "h": 32 } @@ -24368,7 +24389,7 @@ }, "frame": { "x": 1527, - "y": 171, + "y": 205, "w": 32, "h": 32 } @@ -24389,7 +24410,7 @@ }, "frame": { "x": 1527, - "y": 205, + "y": 239, "w": 32, "h": 32 } @@ -24410,7 +24431,7 @@ }, "frame": { "x": 1527, - "y": 239, + "y": 273, "w": 32, "h": 32 } @@ -24431,7 +24452,7 @@ }, "frame": { "x": 1527, - "y": 273, + "y": 307, "w": 32, "h": 32 } @@ -24452,7 +24473,7 @@ }, "frame": { "x": 1527, - "y": 307, + "y": 341, "w": 32, "h": 32 } @@ -24473,7 +24494,7 @@ }, "frame": { "x": 1527, - "y": 341, + "y": 375, "w": 32, "h": 32 } @@ -24494,7 +24515,7 @@ }, "frame": { "x": 1527, - "y": 375, + "y": 409, "w": 32, "h": 32 } @@ -24515,7 +24536,7 @@ }, "frame": { "x": 1527, - "y": 409, + "y": 443, "w": 32, "h": 32 } @@ -24536,7 +24557,7 @@ }, "frame": { "x": 1527, - "y": 443, + "y": 477, "w": 32, "h": 32 } @@ -24557,7 +24578,7 @@ }, "frame": { "x": 1527, - "y": 477, + "y": 511, "w": 32, "h": 32 } @@ -24576,27 +24597,6 @@ "w": 32, "h": 32 }, - "frame": { - "x": 1527, - "y": 511, - "w": 32, - "h": 32 - } - }, - { - "filename": "sprites/tinted_images/green/units/crossbow/death/6.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 32, - "h": 32 - }, "frame": { "x": 1527, "y": 545, @@ -24605,7 +24605,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/crossbow/idle/0.png", + "filename": "sprites/tinted_images/green/units/crossbow/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24626,7 +24626,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/crossbow/idle/1.png", + "filename": "sprites/tinted_images/green/units/crossbow/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24647,7 +24647,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/crossbow/idle/2.png", + "filename": "sprites/tinted_images/green/units/crossbow/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24668,7 +24668,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/crossbow/idle/3.png", + "filename": "sprites/tinted_images/green/units/crossbow/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24689,7 +24689,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/crossbow/walk/down/0.png", + "filename": "sprites/tinted_images/green/units/crossbow/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24710,7 +24710,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/crossbow/walk/down/1.png", + "filename": "sprites/tinted_images/green/units/crossbow/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24731,7 +24731,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/crossbow/walk/down/2.png", + "filename": "sprites/tinted_images/green/units/crossbow/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24752,7 +24752,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/crossbow/walk/left/0.png", + "filename": "sprites/tinted_images/green/units/crossbow/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24773,7 +24773,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/crossbow/walk/left/1.png", + "filename": "sprites/tinted_images/green/units/crossbow/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24794,7 +24794,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/crossbow/walk/left/2.png", + "filename": "sprites/tinted_images/green/units/crossbow/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24815,7 +24815,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/crossbow/walk/right/0.png", + "filename": "sprites/tinted_images/green/units/crossbow/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24836,7 +24836,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/crossbow/walk/right/1.png", + "filename": "sprites/tinted_images/green/units/crossbow/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24857,7 +24857,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/crossbow/walk/right/2.png", + "filename": "sprites/tinted_images/green/units/crossbow/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24878,7 +24878,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/crossbow/walk/up/0.png", + "filename": "sprites/tinted_images/green/units/crossbow/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24899,7 +24899,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/crossbow/walk/up/1.png", + "filename": "sprites/tinted_images/green/units/crossbow/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24920,7 +24920,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/crossbow/walk/up/2.png", + "filename": "sprites/tinted_images/green/units/crossbow/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24941,7 +24941,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/attack/0.png", + "filename": "sprites/tinted_images/green/units/crossbow/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24962,7 +24962,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/attack/1.png", + "filename": "sprites/tinted_images/green/units/dragoon/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24983,7 +24983,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/attack/2.png", + "filename": "sprites/tinted_images/green/units/dragoon/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -24997,14 +24997,14 @@ "h": 32 }, "frame": { - "x": 1518, + "x": 1527, "y": 1191, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/dragon/attack/3.png", + "filename": "sprites/tinted_images/green/units/dragoon/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25018,14 +25018,14 @@ "h": 32 }, "frame": { - "x": 1515, + "x": 1518, "y": 1225, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/dragon/attack/4.png", + "filename": "sprites/tinted_images/green/units/dragoon/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25046,7 +25046,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/attack/5.png", + "filename": "sprites/tinted_images/green/units/dragoon/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25067,7 +25067,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/death/0.png", + "filename": "sprites/tinted_images/green/units/dragoon/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25088,7 +25088,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/death/1.png", + "filename": "sprites/tinted_images/green/units/dragoon/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25109,7 +25109,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/death/2.png", + "filename": "sprites/tinted_images/green/units/dragoon/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25130,7 +25130,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/death/3.png", + "filename": "sprites/tinted_images/green/units/dragoon/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25151,7 +25151,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/death/4.png", + "filename": "sprites/tinted_images/green/units/dragoon/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25172,7 +25172,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/death/5.png", + "filename": "sprites/tinted_images/green/units/dragoon/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25193,7 +25193,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/death/6.png", + "filename": "sprites/tinted_images/green/units/dragoon/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25214,7 +25214,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/idle/0.png", + "filename": "sprites/tinted_images/green/units/dragoon/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25235,7 +25235,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/idle/1.png", + "filename": "sprites/tinted_images/green/units/dragoon/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25256,7 +25256,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/idle/2.png", + "filename": "sprites/tinted_images/green/units/dragoon/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25277,7 +25277,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/idle/3.png", + "filename": "sprites/tinted_images/green/units/dragoon/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25298,7 +25298,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/walk/down/0.png", + "filename": "sprites/tinted_images/green/units/dragoon/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25319,7 +25319,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/walk/down/1.png", + "filename": "sprites/tinted_images/green/units/dragoon/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25340,7 +25340,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/walk/down/2.png", + "filename": "sprites/tinted_images/green/units/dragoon/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25361,7 +25361,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/walk/down/3.png", + "filename": "sprites/tinted_images/green/units/dragoon/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25382,7 +25382,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/walk/left/0.png", + "filename": "sprites/tinted_images/green/units/dragoon/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25403,7 +25403,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/walk/left/1.png", + "filename": "sprites/tinted_images/green/units/dragoon/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25424,7 +25424,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/walk/left/2.png", + "filename": "sprites/tinted_images/green/units/dragoon/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25445,7 +25445,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/walk/left/3.png", + "filename": "sprites/tinted_images/green/units/dragoon/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25466,7 +25466,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/walk/right/0.png", + "filename": "sprites/tinted_images/green/units/dragoon/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25487,7 +25487,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/walk/right/1.png", + "filename": "sprites/tinted_images/green/units/dragoon/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25508,7 +25508,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/walk/right/2.png", + "filename": "sprites/tinted_images/green/units/dragoon/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25529,7 +25529,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/walk/right/3.png", + "filename": "sprites/tinted_images/green/units/dragoon/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25550,7 +25550,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/walk/up/0.png", + "filename": "sprites/tinted_images/green/units/dragoon/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25571,7 +25571,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/walk/up/1.png", + "filename": "sprites/tinted_images/green/units/dragoon/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25592,7 +25592,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/walk/up/2.png", + "filename": "sprites/tinted_images/green/units/dragoon/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25613,7 +25613,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/dragon/walk/up/3.png", + "filename": "sprites/tinted_images/green/units/dragoon/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25634,7 +25634,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/attack/0.png", + "filename": "sprites/tinted_images/green/units/dragoon/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25655,7 +25655,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/attack/1.png", + "filename": "sprites/tinted_images/green/units/halberdier/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25676,7 +25676,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/attack/2.png", + "filename": "sprites/tinted_images/green/units/halberdier/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25697,7 +25697,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/attack/3.png", + "filename": "sprites/tinted_images/green/units/halberdier/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25718,7 +25718,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/attack/4.png", + "filename": "sprites/tinted_images/green/units/halberdier/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25739,7 +25739,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/attack/5.png", + "filename": "sprites/tinted_images/green/units/halberdier/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25760,7 +25760,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/death/0.png", + "filename": "sprites/tinted_images/green/units/halberdier/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25781,7 +25781,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/death/1.png", + "filename": "sprites/tinted_images/green/units/halberdier/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25802,7 +25802,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/death/10.png", + "filename": "sprites/tinted_images/green/units/halberdier/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25823,7 +25823,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/death/2.png", + "filename": "sprites/tinted_images/green/units/halberdier/death/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25844,7 +25844,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/death/3.png", + "filename": "sprites/tinted_images/green/units/halberdier/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25865,7 +25865,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/death/4.png", + "filename": "sprites/tinted_images/green/units/halberdier/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25886,7 +25886,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/death/5.png", + "filename": "sprites/tinted_images/green/units/halberdier/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25907,7 +25907,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/death/6.png", + "filename": "sprites/tinted_images/green/units/halberdier/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25928,7 +25928,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/death/7.png", + "filename": "sprites/tinted_images/green/units/halberdier/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25943,13 +25943,13 @@ }, "frame": { "x": 1191, - "y": 1542, + "y": 1532, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/golem/death/8.png", + "filename": "sprites/tinted_images/green/units/halberdier/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25970,7 +25970,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/death/9.png", + "filename": "sprites/tinted_images/green/units/halberdier/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -25991,7 +25991,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/idle/0.png", + "filename": "sprites/tinted_images/green/units/halberdier/death/9.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26012,7 +26012,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/idle/1.png", + "filename": "sprites/tinted_images/green/units/halberdier/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26033,7 +26033,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/idle/2.png", + "filename": "sprites/tinted_images/green/units/halberdier/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26054,7 +26054,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/idle/3.png", + "filename": "sprites/tinted_images/green/units/halberdier/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26075,7 +26075,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/walk/down/0.png", + "filename": "sprites/tinted_images/green/units/halberdier/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26096,7 +26096,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/walk/down/1.png", + "filename": "sprites/tinted_images/green/units/halberdier/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26117,7 +26117,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/walk/down/2.png", + "filename": "sprites/tinted_images/green/units/halberdier/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26138,7 +26138,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/walk/down/3.png", + "filename": "sprites/tinted_images/green/units/halberdier/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26152,14 +26152,14 @@ "h": 32 }, "frame": { - "x": 1561, + "x": 1562, "y": 1, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/golem/walk/left/0.png", + "filename": "sprites/tinted_images/green/units/halberdier/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26173,14 +26173,14 @@ "h": 32 }, "frame": { - "x": 1561, + "x": 1562, "y": 35, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/golem/walk/left/1.png", + "filename": "sprites/tinted_images/green/units/halberdier/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26201,7 +26201,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/walk/left/2.png", + "filename": "sprites/tinted_images/green/units/halberdier/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26222,7 +26222,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/walk/left/3.png", + "filename": "sprites/tinted_images/green/units/halberdier/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26243,7 +26243,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/walk/right/0.png", + "filename": "sprites/tinted_images/green/units/halberdier/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26264,7 +26264,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/walk/right/1.png", + "filename": "sprites/tinted_images/green/units/halberdier/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26285,7 +26285,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/walk/right/2.png", + "filename": "sprites/tinted_images/green/units/halberdier/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26306,7 +26306,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/walk/right/3.png", + "filename": "sprites/tinted_images/green/units/halberdier/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26327,7 +26327,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/walk/up/0.png", + "filename": "sprites/tinted_images/green/units/halberdier/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26348,7 +26348,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/walk/up/1.png", + "filename": "sprites/tinted_images/green/units/halberdier/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26369,7 +26369,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/walk/up/2.png", + "filename": "sprites/tinted_images/green/units/halberdier/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26390,7 +26390,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/golem/walk/up/3.png", + "filename": "sprites/tinted_images/green/units/halberdier/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26411,7 +26411,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/attack/0.png", + "filename": "sprites/tinted_images/green/units/halberdier/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26432,7 +26432,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/attack/1.png", + "filename": "sprites/tinted_images/green/units/knight/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26453,7 +26453,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/attack/2.png", + "filename": "sprites/tinted_images/green/units/knight/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26474,7 +26474,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/attack/3.png", + "filename": "sprites/tinted_images/green/units/knight/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26495,7 +26495,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/attack/4.png", + "filename": "sprites/tinted_images/green/units/knight/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26516,7 +26516,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/attack/5.png", + "filename": "sprites/tinted_images/green/units/knight/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26537,7 +26537,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/death/0.png", + "filename": "sprites/tinted_images/green/units/knight/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26558,7 +26558,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/death/1.png", + "filename": "sprites/tinted_images/green/units/knight/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26579,7 +26579,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/death/2.png", + "filename": "sprites/tinted_images/green/units/knight/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26600,7 +26600,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/death/3.png", + "filename": "sprites/tinted_images/green/units/knight/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26621,7 +26621,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/death/4.png", + "filename": "sprites/tinted_images/green/units/knight/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26642,7 +26642,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/death/5.png", + "filename": "sprites/tinted_images/green/units/knight/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26663,7 +26663,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/death/8.png", + "filename": "sprites/tinted_images/green/units/knight/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26684,7 +26684,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/idle/0.png", + "filename": "sprites/tinted_images/green/units/knight/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26705,7 +26705,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/idle/1.png", + "filename": "sprites/tinted_images/green/units/knight/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26726,7 +26726,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/idle/2.png", + "filename": "sprites/tinted_images/green/units/knight/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26747,7 +26747,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/idle/3.png", + "filename": "sprites/tinted_images/green/units/knight/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26768,7 +26768,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/walk/down/0.png", + "filename": "sprites/tinted_images/green/units/knight/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26789,7 +26789,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/walk/down/1.png", + "filename": "sprites/tinted_images/green/units/knight/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26810,7 +26810,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/walk/down/2.png", + "filename": "sprites/tinted_images/green/units/knight/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26831,7 +26831,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/walk/down/3.png", + "filename": "sprites/tinted_images/green/units/knight/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26852,7 +26852,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/walk/left/0.png", + "filename": "sprites/tinted_images/green/units/knight/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26873,7 +26873,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/walk/left/1.png", + "filename": "sprites/tinted_images/green/units/knight/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26887,14 +26887,14 @@ "h": 32 }, "frame": { - "x": 1552, + "x": 1561, "y": 1191, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/knight/walk/left/2.png", + "filename": "sprites/tinted_images/green/units/knight/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26908,14 +26908,14 @@ "h": 32 }, "frame": { - "x": 1549, + "x": 1552, "y": 1225, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/knight/walk/left/3.png", + "filename": "sprites/tinted_images/green/units/knight/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26936,7 +26936,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/walk/right/0.png", + "filename": "sprites/tinted_images/green/units/knight/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26957,7 +26957,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/walk/right/1.png", + "filename": "sprites/tinted_images/green/units/knight/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26978,7 +26978,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/walk/right/2.png", + "filename": "sprites/tinted_images/green/units/knight/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -26999,7 +26999,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/walk/right/3.png", + "filename": "sprites/tinted_images/green/units/knight/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27020,7 +27020,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/walk/up/0.png", + "filename": "sprites/tinted_images/green/units/knight/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27041,7 +27041,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/walk/up/1.png", + "filename": "sprites/tinted_images/green/units/knight/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27062,7 +27062,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/walk/up/2.png", + "filename": "sprites/tinted_images/green/units/knight/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27083,7 +27083,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/knight/walk/up/3.png", + "filename": "sprites/tinted_images/green/units/knight/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27104,7 +27104,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/attack/0.png", + "filename": "sprites/tinted_images/green/units/knight/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27125,7 +27125,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/attack/1.png", + "filename": "sprites/tinted_images/green/units/marksman/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27146,7 +27146,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/attack/2.png", + "filename": "sprites/tinted_images/green/units/marksman/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27167,7 +27167,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/attack/3.png", + "filename": "sprites/tinted_images/green/units/marksman/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27188,7 +27188,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/attack/4.png", + "filename": "sprites/tinted_images/green/units/marksman/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27209,7 +27209,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/attack/5.png", + "filename": "sprites/tinted_images/green/units/marksman/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27230,7 +27230,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/death/0.png", + "filename": "sprites/tinted_images/green/units/marksman/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27251,7 +27251,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/death/1.png", + "filename": "sprites/tinted_images/green/units/marksman/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27272,7 +27272,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/death/10.png", + "filename": "sprites/tinted_images/green/units/marksman/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27293,7 +27293,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/death/2.png", + "filename": "sprites/tinted_images/green/units/marksman/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27314,7 +27314,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/death/3.png", + "filename": "sprites/tinted_images/green/units/marksman/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27335,7 +27335,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/death/4.png", + "filename": "sprites/tinted_images/green/units/marksman/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27356,7 +27356,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/death/5.png", + "filename": "sprites/tinted_images/green/units/marksman/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27377,7 +27377,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/death/6.png", + "filename": "sprites/tinted_images/green/units/marksman/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27398,7 +27398,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/idle/1.png", + "filename": "sprites/tinted_images/green/units/marksman/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27419,7 +27419,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/idle/2.png", + "filename": "sprites/tinted_images/green/units/marksman/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27440,7 +27440,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/idle/3.png", + "filename": "sprites/tinted_images/green/units/marksman/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27461,7 +27461,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/walk/down/0.png", + "filename": "sprites/tinted_images/green/units/marksman/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27482,7 +27482,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/walk/down/1.png", + "filename": "sprites/tinted_images/green/units/marksman/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27503,7 +27503,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/walk/down/2.png", + "filename": "sprites/tinted_images/green/units/marksman/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27524,7 +27524,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/walk/down/3.png", + "filename": "sprites/tinted_images/green/units/marksman/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27545,7 +27545,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/walk/left/0.png", + "filename": "sprites/tinted_images/green/units/marksman/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27566,7 +27566,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/walk/left/1.png", + "filename": "sprites/tinted_images/green/units/marksman/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27587,7 +27587,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/walk/left/2.png", + "filename": "sprites/tinted_images/green/units/marksman/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27608,7 +27608,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/walk/left/3.png", + "filename": "sprites/tinted_images/green/units/marksman/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27629,7 +27629,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/walk/right/0.png", + "filename": "sprites/tinted_images/green/units/marksman/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27650,7 +27650,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/walk/right/1.png", + "filename": "sprites/tinted_images/green/units/marksman/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27671,7 +27671,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/walk/right/2.png", + "filename": "sprites/tinted_images/green/units/pikeman/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27692,7 +27692,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/walk/right/3.png", + "filename": "sprites/tinted_images/green/units/pikeman/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27713,7 +27713,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/walk/up/0.png", + "filename": "sprites/tinted_images/green/units/pikeman/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27734,7 +27734,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/walk/up/1.png", + "filename": "sprites/tinted_images/green/units/pikeman/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27755,7 +27755,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/walk/up/2.png", + "filename": "sprites/tinted_images/green/units/pikeman/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27776,7 +27776,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/pikeman/walk/up/3.png", + "filename": "sprites/tinted_images/green/units/pikeman/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27797,7 +27797,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/rider/attack/0.png", + "filename": "sprites/tinted_images/green/units/pikeman/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27818,7 +27818,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/rider/attack/1.png", + "filename": "sprites/tinted_images/green/units/pikeman/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27839,7 +27839,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/rider/attack/2.png", + "filename": "sprites/tinted_images/green/units/pikeman/death/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27854,13 +27854,13 @@ }, "frame": { "x": 1191, - "y": 1576, + "y": 1566, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/rider/attack/3.png", + "filename": "sprites/tinted_images/green/units/pikeman/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27881,7 +27881,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/rider/attack/4.png", + "filename": "sprites/tinted_images/green/units/pikeman/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27902,7 +27902,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/rider/attack/5.png", + "filename": "sprites/tinted_images/green/units/pikeman/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27923,7 +27923,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/rider/death/0.png", + "filename": "sprites/tinted_images/green/units/pikeman/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27944,7 +27944,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/rider/death/1.png", + "filename": "sprites/tinted_images/green/units/pikeman/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27965,7 +27965,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/rider/death/2.png", + "filename": "sprites/tinted_images/green/units/pikeman/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -27986,7 +27986,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/rider/death/3.png", + "filename": "sprites/tinted_images/green/units/pikeman/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28007,7 +28007,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/rider/death/4.png", + "filename": "sprites/tinted_images/green/units/pikeman/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28028,7 +28028,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/rider/idle/0.png", + "filename": "sprites/tinted_images/green/units/pikeman/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28049,7 +28049,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/rider/idle/1.png", + "filename": "sprites/tinted_images/green/units/pikeman/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28070,7 +28070,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/rider/idle/2.png", + "filename": "sprites/tinted_images/green/units/pikeman/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28084,14 +28084,14 @@ "h": 32 }, "frame": { - "x": 1595, + "x": 1596, "y": 1, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/rider/idle/3.png", + "filename": "sprites/tinted_images/green/units/pikeman/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28105,14 +28105,14 @@ "h": 32 }, "frame": { - "x": 1595, + "x": 1596, "y": 35, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/rider/walk/down/0.png", + "filename": "sprites/tinted_images/green/units/pikeman/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28133,7 +28133,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/rider/walk/down/1.png", + "filename": "sprites/tinted_images/green/units/pikeman/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28154,7 +28154,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/rider/walk/down/2.png", + "filename": "sprites/tinted_images/green/units/pikeman/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28175,7 +28175,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/rider/walk/down/3.png", + "filename": "sprites/tinted_images/green/units/pikeman/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28196,7 +28196,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/rider/walk/left/0.png", + "filename": "sprites/tinted_images/green/units/pikeman/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28217,7 +28217,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/rider/walk/left/1.png", + "filename": "sprites/tinted_images/green/units/pikeman/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28238,7 +28238,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/rider/walk/left/2.png", + "filename": "sprites/tinted_images/green/units/pikeman/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28259,7 +28259,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/rider/walk/left/3.png", + "filename": "sprites/tinted_images/green/units/pikeman/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28280,7 +28280,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/rider/walk/right/0.png", + "filename": "sprites/tinted_images/green/units/pikeman/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28301,7 +28301,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/rider/walk/right/1.png", + "filename": "sprites/tinted_images/green/units/pikeman/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28322,7 +28322,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/rider/walk/right/2.png", + "filename": "sprites/tinted_images/green/units/pikeman/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28343,7 +28343,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/rider/walk/right/3.png", + "filename": "sprites/tinted_images/green/units/pikeman/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28364,7 +28364,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/rider/walk/up/2.png", + "filename": "sprites/tinted_images/green/units/pillager/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28385,7 +28385,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/swordsman/attack/0.png", + "filename": "sprites/tinted_images/green/units/pillager/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28406,7 +28406,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/swordsman/attack/1.png", + "filename": "sprites/tinted_images/green/units/pillager/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28427,7 +28427,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/swordsman/attack/2.png", + "filename": "sprites/tinted_images/green/units/pillager/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28448,7 +28448,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/swordsman/attack/4.png", + "filename": "sprites/tinted_images/green/units/pillager/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28469,7 +28469,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/swordsman/attack/5.png", + "filename": "sprites/tinted_images/green/units/pillager/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28490,7 +28490,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/swordsman/death/0.png", + "filename": "sprites/tinted_images/green/units/pillager/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28511,7 +28511,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/swordsman/death/1.png", + "filename": "sprites/tinted_images/green/units/pillager/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28532,7 +28532,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/swordsman/death/2.png", + "filename": "sprites/tinted_images/green/units/pillager/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28553,7 +28553,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/swordsman/death/3.png", + "filename": "sprites/tinted_images/green/units/pillager/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28574,7 +28574,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/swordsman/death/4.png", + "filename": "sprites/tinted_images/green/units/pillager/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28595,7 +28595,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/swordsman/idle/0.png", + "filename": "sprites/tinted_images/green/units/pillager/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28616,7 +28616,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/swordsman/idle/1.png", + "filename": "sprites/tinted_images/green/units/pillager/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28637,7 +28637,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/swordsman/idle/3.png", + "filename": "sprites/tinted_images/green/units/pillager/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28658,7 +28658,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/swordsman/prepare/1.png", + "filename": "sprites/tinted_images/green/units/pillager/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28679,7 +28679,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/swordsman/walk/down/0.png", + "filename": "sprites/tinted_images/green/units/pillager/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28700,7 +28700,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/swordsman/walk/down/1.png", + "filename": "sprites/tinted_images/green/units/pillager/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28721,7 +28721,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/swordsman/walk/down/2.png", + "filename": "sprites/tinted_images/green/units/pillager/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28742,7 +28742,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/swordsman/walk/down/3.png", + "filename": "sprites/tinted_images/green/units/pillager/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28763,7 +28763,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/swordsman/walk/left/0.png", + "filename": "sprites/tinted_images/green/units/pillager/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28784,7 +28784,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/swordsman/walk/left/1.png", + "filename": "sprites/tinted_images/green/units/pillager/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28805,7 +28805,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/swordsman/walk/left/2.png", + "filename": "sprites/tinted_images/green/units/pillager/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28819,14 +28819,14 @@ "h": 32 }, "frame": { - "x": 1586, + "x": 1595, "y": 1191, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/swordsman/walk/left/3.png", + "filename": "sprites/tinted_images/green/units/pillager/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28840,14 +28840,14 @@ "h": 32 }, "frame": { - "x": 1583, + "x": 1586, "y": 1225, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/swordsman/walk/right/0.png", + "filename": "sprites/tinted_images/green/units/pillager/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28868,7 +28868,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/swordsman/walk/right/1.png", + "filename": "sprites/tinted_images/green/units/pillager/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28889,7 +28889,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/swordsman/walk/right/2.png", + "filename": "sprites/tinted_images/green/units/pillager/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28910,7 +28910,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/swordsman/walk/right/3.png", + "filename": "sprites/tinted_images/green/units/pillager/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28931,7 +28931,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/swordsman/walk/up/0.png", + "filename": "sprites/tinted_images/green/units/pillager/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28952,7 +28952,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/swordsman/walk/up/1.png", + "filename": "sprites/tinted_images/green/units/swordsman/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28973,7 +28973,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/swordsman/walk/up/2.png", + "filename": "sprites/tinted_images/green/units/swordsman/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -28994,7 +28994,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/swordsman/walk/up/3.png", + "filename": "sprites/tinted_images/green/units/swordsman/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29015,7 +29015,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/wizard/attack/0.png", + "filename": "sprites/tinted_images/green/units/swordsman/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29036,7 +29036,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/wizard/attack/1.png", + "filename": "sprites/tinted_images/green/units/swordsman/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29057,7 +29057,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/wizard/attack/2.png", + "filename": "sprites/tinted_images/green/units/swordsman/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29078,7 +29078,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/wizard/attack/3.png", + "filename": "sprites/tinted_images/green/units/swordsman/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29099,7 +29099,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/wizard/attack/4.png", + "filename": "sprites/tinted_images/green/units/swordsman/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29120,7 +29120,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/wizard/attack/5.png", + "filename": "sprites/tinted_images/green/units/swordsman/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29141,7 +29141,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/wizard/death/0.png", + "filename": "sprites/tinted_images/green/units/swordsman/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29162,7 +29162,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/wizard/death/1.png", + "filename": "sprites/tinted_images/green/units/swordsman/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29183,7 +29183,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/wizard/death/2.png", + "filename": "sprites/tinted_images/green/units/swordsman/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29204,7 +29204,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/wizard/death/3.png", + "filename": "sprites/tinted_images/green/units/swordsman/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29225,7 +29225,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/wizard/idle/0.png", + "filename": "sprites/tinted_images/green/units/swordsman/prepare/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29246,7 +29246,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/wizard/idle/1.png", + "filename": "sprites/tinted_images/green/units/swordsman/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29267,7 +29267,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/wizard/idle/2.png", + "filename": "sprites/tinted_images/green/units/swordsman/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29288,7 +29288,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/wizard/idle/3.png", + "filename": "sprites/tinted_images/green/units/swordsman/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29309,7 +29309,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/wizard/walk/down/0.png", + "filename": "sprites/tinted_images/green/units/swordsman/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29330,7 +29330,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/wizard/walk/down/1.png", + "filename": "sprites/tinted_images/green/units/swordsman/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29351,7 +29351,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/wizard/walk/down/2.png", + "filename": "sprites/tinted_images/green/units/swordsman/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29372,7 +29372,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/wizard/walk/left/0.png", + "filename": "sprites/tinted_images/green/units/swordsman/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29393,7 +29393,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/wizard/walk/left/1.png", + "filename": "sprites/tinted_images/green/units/swordsman/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29414,7 +29414,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/wizard/walk/left/2.png", + "filename": "sprites/tinted_images/green/units/swordsman/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29435,7 +29435,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/wizard/walk/right/0.png", + "filename": "sprites/tinted_images/green/units/swordsman/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29456,7 +29456,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/wizard/walk/right/1.png", + "filename": "sprites/tinted_images/green/units/swordsman/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29477,7 +29477,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/wizard/walk/right/2.png", + "filename": "sprites/tinted_images/green/units/swordsman/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29498,7 +29498,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/wizard/walk/up/0.png", + "filename": "sprites/tinted_images/green/units/swordsman/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29519,7 +29519,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/wizard/walk/up/1.png", + "filename": "sprites/tinted_images/green/units/swordsman/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29540,7 +29540,7 @@ } }, { - "filename": "sprites/tinted_images/green/units/wizard/walk/up/2.png", + "filename": "sprites/tinted_images/green/units/swordsman/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29561,7 +29561,7 @@ } }, { - "filename": "sprites/tinted_images/red/animations/capture/0.png", + "filename": "sprites/tinted_images/green/units/swordsman/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29582,7 +29582,7 @@ } }, { - "filename": "sprites/tinted_images/red/animations/capture/1.png", + "filename": "sprites/tinted_images/red/animations/capture/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29603,7 +29603,7 @@ } }, { - "filename": "sprites/tinted_images/red/animations/capture/10.png", + "filename": "sprites/tinted_images/red/animations/capture/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29624,7 +29624,7 @@ } }, { - "filename": "sprites/tinted_images/red/animations/capture/11.png", + "filename": "sprites/tinted_images/red/animations/capture/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29645,7 +29645,7 @@ } }, { - "filename": "sprites/tinted_images/red/animations/capture/12.png", + "filename": "sprites/tinted_images/red/animations/capture/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29666,7 +29666,7 @@ } }, { - "filename": "sprites/tinted_images/red/animations/capture/13.png", + "filename": "sprites/tinted_images/red/animations/capture/12.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29687,7 +29687,7 @@ } }, { - "filename": "sprites/tinted_images/red/animations/capture/14.png", + "filename": "sprites/tinted_images/red/animations/capture/13.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29708,7 +29708,7 @@ } }, { - "filename": "sprites/tinted_images/red/animations/capture/2.png", + "filename": "sprites/tinted_images/red/animations/capture/14.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29729,7 +29729,7 @@ } }, { - "filename": "sprites/tinted_images/red/animations/capture/3.png", + "filename": "sprites/tinted_images/red/animations/capture/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29750,7 +29750,7 @@ } }, { - "filename": "sprites/tinted_images/red/animations/capture/4.png", + "filename": "sprites/tinted_images/red/animations/capture/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29771,7 +29771,7 @@ } }, { - "filename": "sprites/tinted_images/red/ui/icons/big-select.png", + "filename": "sprites/tinted_images/red/animations/capture/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29792,7 +29792,7 @@ } }, { - "filename": "sprites/tinted_images/red/ui/icons/boot-check.png", + "filename": "sprites/tinted_images/red/ui/icons/big-select.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29807,13 +29807,13 @@ }, "frame": { "x": 1191, - "y": 1610, + "y": 1600, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/ui/icons/boot.png", + "filename": "sprites/tinted_images/red/ui/icons/boot-check.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29834,7 +29834,7 @@ } }, { - "filename": "sprites/tinted_images/red/ui/icons/crossed-swords.png", + "filename": "sprites/tinted_images/red/ui/icons/boot.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29855,7 +29855,7 @@ } }, { - "filename": "sprites/tinted_images/red/ui/tile-select/0.png", + "filename": "sprites/tinted_images/red/ui/icons/crossed-swords.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29876,7 +29876,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/archer/attack/0.png", + "filename": "sprites/tinted_images/red/ui/tile-select/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29897,7 +29897,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/archer/attack/1.png", + "filename": "sprites/tinted_images/red/units/archer/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29918,7 +29918,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/archer/attack/2.png", + "filename": "sprites/tinted_images/red/units/archer/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29939,7 +29939,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/archer/attack/3.png", + "filename": "sprites/tinted_images/red/units/archer/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29960,7 +29960,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/archer/attack/4.png", + "filename": "sprites/tinted_images/red/units/archer/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -29981,7 +29981,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/archer/death/1.png", + "filename": "sprites/tinted_images/red/units/archer/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -30002,7 +30002,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/archer/death/2.png", + "filename": "sprites/tinted_images/red/units/archer/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -30023,7 +30023,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/archer/death/3.png", + "filename": "sprites/tinted_images/red/units/archer/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -30044,7 +30044,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/archer/death/4.png", + "filename": "sprites/tinted_images/red/units/archer/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -30058,12 +30058,33 @@ "h": 32 }, "frame": { - "x": 1629, + "x": 1630, "y": 1, "w": 32, "h": 32 } }, + { + "filename": "sprites/tinted_images/red/units/archer/death/4.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 32 + }, + "frame": { + "x": 1630, + "y": 35, + "w": 32, + "h": 32 + } + }, { "filename": "sprites/tinted_images/red/units/archer/death/5.png", "rotated": false, @@ -30080,7 +30101,7 @@ }, "frame": { "x": 1629, - "y": 35, + "y": 69, "w": 32, "h": 32 } @@ -30101,7 +30122,7 @@ }, "frame": { "x": 1629, - "y": 69, + "y": 103, "w": 32, "h": 32 } @@ -30122,7 +30143,7 @@ }, "frame": { "x": 1629, - "y": 103, + "y": 137, "w": 32, "h": 32 } @@ -30143,7 +30164,7 @@ }, "frame": { "x": 1629, - "y": 137, + "y": 171, "w": 32, "h": 32 } @@ -30164,7 +30185,7 @@ }, "frame": { "x": 1629, - "y": 171, + "y": 205, "w": 32, "h": 32 } @@ -30185,7 +30206,7 @@ }, "frame": { "x": 1629, - "y": 205, + "y": 239, "w": 32, "h": 32 } @@ -30206,7 +30227,7 @@ }, "frame": { "x": 1629, - "y": 239, + "y": 273, "w": 32, "h": 32 } @@ -30227,7 +30248,7 @@ }, "frame": { "x": 1629, - "y": 273, + "y": 307, "w": 32, "h": 32 } @@ -30248,7 +30269,7 @@ }, "frame": { "x": 1629, - "y": 307, + "y": 341, "w": 32, "h": 32 } @@ -30269,7 +30290,7 @@ }, "frame": { "x": 1629, - "y": 341, + "y": 375, "w": 32, "h": 32 } @@ -30290,7 +30311,7 @@ }, "frame": { "x": 1629, - "y": 375, + "y": 409, "w": 32, "h": 32 } @@ -30311,7 +30332,7 @@ }, "frame": { "x": 1629, - "y": 409, + "y": 443, "w": 32, "h": 32 } @@ -30332,7 +30353,7 @@ }, "frame": { "x": 1629, - "y": 443, + "y": 477, "w": 32, "h": 32 } @@ -30353,7 +30374,7 @@ }, "frame": { "x": 1629, - "y": 477, + "y": 511, "w": 32, "h": 32 } @@ -30374,7 +30395,7 @@ }, "frame": { "x": 1629, - "y": 511, + "y": 545, "w": 32, "h": 32 } @@ -30395,7 +30416,7 @@ }, "frame": { "x": 1629, - "y": 545, + "y": 579, "w": 32, "h": 32 } @@ -30416,7 +30437,7 @@ }, "frame": { "x": 1629, - "y": 579, + "y": 613, "w": 32, "h": 32 } @@ -30437,7 +30458,7 @@ }, "frame": { "x": 1629, - "y": 613, + "y": 647, "w": 32, "h": 32 } @@ -30458,7 +30479,7 @@ }, "frame": { "x": 1629, - "y": 647, + "y": 681, "w": 32, "h": 32 } @@ -30479,7 +30500,7 @@ }, "frame": { "x": 1629, - "y": 681, + "y": 715, "w": 32, "h": 32 } @@ -30500,7 +30521,7 @@ }, "frame": { "x": 1629, - "y": 715, + "y": 749, "w": 32, "h": 32 } @@ -30521,7 +30542,7 @@ }, "frame": { "x": 1629, - "y": 749, + "y": 783, "w": 32, "h": 32 } @@ -30542,7 +30563,7 @@ }, "frame": { "x": 1629, - "y": 783, + "y": 817, "w": 32, "h": 32 } @@ -30563,7 +30584,7 @@ }, "frame": { "x": 1629, - "y": 817, + "y": 851, "w": 32, "h": 32 } @@ -30584,7 +30605,7 @@ }, "frame": { "x": 1629, - "y": 851, + "y": 885, "w": 32, "h": 32 } @@ -30605,7 +30626,7 @@ }, "frame": { "x": 1629, - "y": 885, + "y": 919, "w": 32, "h": 32 } @@ -30626,7 +30647,7 @@ }, "frame": { "x": 1629, - "y": 919, + "y": 953, "w": 32, "h": 32 } @@ -30647,7 +30668,7 @@ }, "frame": { "x": 1629, - "y": 953, + "y": 987, "w": 32, "h": 32 } @@ -30668,7 +30689,7 @@ }, "frame": { "x": 1629, - "y": 987, + "y": 1021, "w": 32, "h": 32 } @@ -30689,7 +30710,7 @@ }, "frame": { "x": 1629, - "y": 1021, + "y": 1055, "w": 32, "h": 32 } @@ -30710,7 +30731,7 @@ }, "frame": { "x": 1629, - "y": 1055, + "y": 1089, "w": 32, "h": 32 } @@ -30731,7 +30752,7 @@ }, "frame": { "x": 1629, - "y": 1089, + "y": 1123, "w": 32, "h": 32 } @@ -30752,7 +30773,7 @@ }, "frame": { "x": 1629, - "y": 1123, + "y": 1157, "w": 32, "h": 32 } @@ -30773,7 +30794,7 @@ }, "frame": { "x": 1629, - "y": 1157, + "y": 1191, "w": 32, "h": 32 } @@ -30794,7 +30815,7 @@ }, "frame": { "x": 1620, - "y": 1191, + "y": 1225, "w": 32, "h": 32 } @@ -30814,8 +30835,8 @@ "h": 32 }, "frame": { - "x": 1617, - "y": 1225, + "x": 1599, + "y": 1259, "w": 32, "h": 32 } @@ -30836,7 +30857,7 @@ }, "frame": { "x": 1599, - "y": 1259, + "y": 1293, "w": 32, "h": 32 } @@ -30857,7 +30878,7 @@ }, "frame": { "x": 1599, - "y": 1293, + "y": 1327, "w": 32, "h": 32 } @@ -30878,7 +30899,7 @@ }, "frame": { "x": 1599, - "y": 1327, + "y": 1361, "w": 32, "h": 32 } @@ -30899,7 +30920,7 @@ }, "frame": { "x": 1599, - "y": 1361, + "y": 1395, "w": 32, "h": 32 } @@ -30920,7 +30941,7 @@ }, "frame": { "x": 1599, - "y": 1395, + "y": 1429, "w": 32, "h": 32 } @@ -30941,7 +30962,7 @@ }, "frame": { "x": 1599, - "y": 1429, + "y": 1463, "w": 32, "h": 32 } @@ -30962,7 +30983,7 @@ }, "frame": { "x": 1599, - "y": 1463, + "y": 1497, "w": 32, "h": 32 } @@ -30983,7 +31004,7 @@ }, "frame": { "x": 1599, - "y": 1497, + "y": 1531, "w": 32, "h": 32 } @@ -31004,7 +31025,7 @@ }, "frame": { "x": 1599, - "y": 1531, + "y": 1565, "w": 32, "h": 32 } @@ -31025,7 +31046,7 @@ }, "frame": { "x": 1599, - "y": 1565, + "y": 1599, "w": 32, "h": 32 } @@ -31045,8 +31066,8 @@ "h": 32 }, "frame": { - "x": 1599, - "y": 1599, + "x": 1, + "y": 1655, "w": 32, "h": 32 } @@ -31066,7 +31087,7 @@ "h": 32 }, "frame": { - "x": 1, + "x": 35, "y": 1655, "w": 32, "h": 32 @@ -31087,7 +31108,7 @@ "h": 32 }, "frame": { - "x": 35, + "x": 69, "y": 1655, "w": 32, "h": 32 @@ -31108,7 +31129,7 @@ "h": 32 }, "frame": { - "x": 69, + "x": 103, "y": 1655, "w": 32, "h": 32 @@ -31129,7 +31150,7 @@ "h": 32 }, "frame": { - "x": 103, + "x": 137, "y": 1655, "w": 32, "h": 32 @@ -31149,27 +31170,6 @@ "w": 32, "h": 32 }, - "frame": { - "x": 137, - "y": 1655, - "w": 32, - "h": 32 - } - }, - { - "filename": "sprites/tinted_images/red/units/crossbow/attack/5.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 32, - "h": 32 - }, "frame": { "x": 171, "y": 1655, @@ -31178,7 +31178,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/crossbow/death/0.png", + "filename": "sprites/tinted_images/red/units/crossbow/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31199,7 +31199,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/crossbow/death/1.png", + "filename": "sprites/tinted_images/red/units/crossbow/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31220,7 +31220,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/crossbow/death/10.png", + "filename": "sprites/tinted_images/red/units/crossbow/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31241,7 +31241,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/crossbow/death/2.png", + "filename": "sprites/tinted_images/red/units/crossbow/death/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31262,7 +31262,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/crossbow/death/3.png", + "filename": "sprites/tinted_images/red/units/crossbow/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31283,7 +31283,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/crossbow/death/4.png", + "filename": "sprites/tinted_images/red/units/crossbow/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31304,7 +31304,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/crossbow/death/5.png", + "filename": "sprites/tinted_images/red/units/crossbow/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31325,7 +31325,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/crossbow/death/6.png", + "filename": "sprites/tinted_images/red/units/crossbow/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31346,7 +31346,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/crossbow/idle/0.png", + "filename": "sprites/tinted_images/red/units/crossbow/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31367,7 +31367,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/crossbow/idle/1.png", + "filename": "sprites/tinted_images/red/units/crossbow/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31388,7 +31388,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/crossbow/idle/2.png", + "filename": "sprites/tinted_images/red/units/crossbow/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31409,7 +31409,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/crossbow/idle/3.png", + "filename": "sprites/tinted_images/red/units/crossbow/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31430,7 +31430,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/crossbow/walk/down/0.png", + "filename": "sprites/tinted_images/red/units/crossbow/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31451,7 +31451,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/crossbow/walk/down/1.png", + "filename": "sprites/tinted_images/red/units/crossbow/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31472,7 +31472,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/crossbow/walk/down/2.png", + "filename": "sprites/tinted_images/red/units/crossbow/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31493,7 +31493,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/crossbow/walk/left/0.png", + "filename": "sprites/tinted_images/red/units/crossbow/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31514,7 +31514,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/crossbow/walk/left/1.png", + "filename": "sprites/tinted_images/red/units/crossbow/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31535,7 +31535,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/crossbow/walk/left/2.png", + "filename": "sprites/tinted_images/red/units/crossbow/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31556,7 +31556,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/crossbow/walk/right/0.png", + "filename": "sprites/tinted_images/red/units/crossbow/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31577,7 +31577,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/crossbow/walk/right/1.png", + "filename": "sprites/tinted_images/red/units/crossbow/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31598,7 +31598,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/crossbow/walk/right/2.png", + "filename": "sprites/tinted_images/red/units/crossbow/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31619,7 +31619,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/crossbow/walk/up/0.png", + "filename": "sprites/tinted_images/red/units/crossbow/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31640,7 +31640,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/crossbow/walk/up/1.png", + "filename": "sprites/tinted_images/red/units/crossbow/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31661,7 +31661,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/crossbow/walk/up/2.png", + "filename": "sprites/tinted_images/red/units/crossbow/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31682,7 +31682,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/attack/0.png", + "filename": "sprites/tinted_images/red/units/crossbow/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31703,7 +31703,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/attack/1.png", + "filename": "sprites/tinted_images/red/units/dragoon/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31724,7 +31724,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/attack/2.png", + "filename": "sprites/tinted_images/red/units/dragoon/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31745,7 +31745,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/attack/3.png", + "filename": "sprites/tinted_images/red/units/dragoon/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31766,7 +31766,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/attack/4.png", + "filename": "sprites/tinted_images/red/units/dragoon/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31787,7 +31787,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/attack/5.png", + "filename": "sprites/tinted_images/red/units/dragoon/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31802,13 +31802,13 @@ }, "frame": { "x": 1191, - "y": 1644, + "y": 1634, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/dragon/death/0.png", + "filename": "sprites/tinted_images/red/units/dragoon/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31829,7 +31829,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/death/1.png", + "filename": "sprites/tinted_images/red/units/dragoon/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31850,7 +31850,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/death/2.png", + "filename": "sprites/tinted_images/red/units/dragoon/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31871,7 +31871,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/death/3.png", + "filename": "sprites/tinted_images/red/units/dragoon/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31892,7 +31892,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/death/4.png", + "filename": "sprites/tinted_images/red/units/dragoon/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31913,7 +31913,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/death/5.png", + "filename": "sprites/tinted_images/red/units/dragoon/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31934,7 +31934,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/death/6.png", + "filename": "sprites/tinted_images/red/units/dragoon/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31955,7 +31955,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/idle/0.png", + "filename": "sprites/tinted_images/red/units/dragoon/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31976,7 +31976,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/idle/1.png", + "filename": "sprites/tinted_images/red/units/dragoon/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -31997,7 +31997,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/idle/2.png", + "filename": "sprites/tinted_images/red/units/dragoon/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32018,7 +32018,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/idle/3.png", + "filename": "sprites/tinted_images/red/units/dragoon/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32039,7 +32039,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/walk/down/0.png", + "filename": "sprites/tinted_images/red/units/dragoon/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32060,7 +32060,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/walk/down/1.png", + "filename": "sprites/tinted_images/red/units/dragoon/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32074,14 +32074,14 @@ "h": 32 }, "frame": { - "x": 1663, + "x": 1664, "y": 1, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/dragon/walk/down/2.png", + "filename": "sprites/tinted_images/red/units/dragoon/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32095,14 +32095,14 @@ "h": 32 }, "frame": { - "x": 1663, + "x": 1664, "y": 35, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/dragon/walk/down/3.png", + "filename": "sprites/tinted_images/red/units/dragoon/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32123,7 +32123,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/walk/left/0.png", + "filename": "sprites/tinted_images/red/units/dragoon/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32144,7 +32144,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/walk/left/1.png", + "filename": "sprites/tinted_images/red/units/dragoon/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32165,7 +32165,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/walk/left/2.png", + "filename": "sprites/tinted_images/red/units/dragoon/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32186,7 +32186,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/walk/left/3.png", + "filename": "sprites/tinted_images/red/units/dragoon/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32207,7 +32207,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/walk/right/0.png", + "filename": "sprites/tinted_images/red/units/dragoon/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32228,7 +32228,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/walk/right/1.png", + "filename": "sprites/tinted_images/red/units/dragoon/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32249,7 +32249,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/walk/right/2.png", + "filename": "sprites/tinted_images/red/units/dragoon/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32270,7 +32270,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/walk/right/3.png", + "filename": "sprites/tinted_images/red/units/dragoon/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32291,7 +32291,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/walk/up/0.png", + "filename": "sprites/tinted_images/red/units/dragoon/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32312,7 +32312,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/walk/up/1.png", + "filename": "sprites/tinted_images/red/units/dragoon/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32333,7 +32333,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/walk/up/2.png", + "filename": "sprites/tinted_images/red/units/dragoon/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32354,7 +32354,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/dragon/walk/up/3.png", + "filename": "sprites/tinted_images/red/units/dragoon/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32375,7 +32375,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/attack/0.png", + "filename": "sprites/tinted_images/red/units/dragoon/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32396,7 +32396,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/attack/1.png", + "filename": "sprites/tinted_images/red/units/halberdier/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32417,7 +32417,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/attack/2.png", + "filename": "sprites/tinted_images/red/units/halberdier/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32438,7 +32438,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/attack/3.png", + "filename": "sprites/tinted_images/red/units/halberdier/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32459,7 +32459,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/attack/4.png", + "filename": "sprites/tinted_images/red/units/halberdier/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32480,7 +32480,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/attack/5.png", + "filename": "sprites/tinted_images/red/units/halberdier/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32501,7 +32501,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/death/0.png", + "filename": "sprites/tinted_images/red/units/halberdier/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32522,7 +32522,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/death/1.png", + "filename": "sprites/tinted_images/red/units/halberdier/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32543,7 +32543,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/death/10.png", + "filename": "sprites/tinted_images/red/units/halberdier/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32564,7 +32564,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/death/2.png", + "filename": "sprites/tinted_images/red/units/halberdier/death/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32585,7 +32585,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/death/3.png", + "filename": "sprites/tinted_images/red/units/halberdier/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32606,7 +32606,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/death/4.png", + "filename": "sprites/tinted_images/red/units/halberdier/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32627,7 +32627,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/death/5.png", + "filename": "sprites/tinted_images/red/units/halberdier/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32648,7 +32648,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/death/6.png", + "filename": "sprites/tinted_images/red/units/halberdier/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32669,7 +32669,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/death/7.png", + "filename": "sprites/tinted_images/red/units/halberdier/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32690,7 +32690,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/death/8.png", + "filename": "sprites/tinted_images/red/units/halberdier/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32711,7 +32711,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/death/9.png", + "filename": "sprites/tinted_images/red/units/halberdier/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32732,7 +32732,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/idle/0.png", + "filename": "sprites/tinted_images/red/units/halberdier/death/9.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32753,7 +32753,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/idle/1.png", + "filename": "sprites/tinted_images/red/units/halberdier/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32774,7 +32774,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/idle/2.png", + "filename": "sprites/tinted_images/red/units/halberdier/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32795,7 +32795,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/idle/3.png", + "filename": "sprites/tinted_images/red/units/halberdier/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32809,14 +32809,14 @@ "h": 32 }, "frame": { - "x": 1654, + "x": 1663, "y": 1191, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/golem/walk/down/0.png", + "filename": "sprites/tinted_images/red/units/halberdier/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32830,14 +32830,14 @@ "h": 32 }, "frame": { - "x": 1651, + "x": 1654, "y": 1225, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/golem/walk/down/1.png", + "filename": "sprites/tinted_images/red/units/halberdier/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32858,7 +32858,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/walk/down/2.png", + "filename": "sprites/tinted_images/red/units/halberdier/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32879,7 +32879,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/walk/down/3.png", + "filename": "sprites/tinted_images/red/units/halberdier/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32900,7 +32900,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/walk/left/0.png", + "filename": "sprites/tinted_images/red/units/halberdier/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32921,7 +32921,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/walk/left/1.png", + "filename": "sprites/tinted_images/red/units/halberdier/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32942,7 +32942,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/walk/left/2.png", + "filename": "sprites/tinted_images/red/units/halberdier/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32963,7 +32963,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/walk/left/3.png", + "filename": "sprites/tinted_images/red/units/halberdier/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -32984,7 +32984,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/walk/right/0.png", + "filename": "sprites/tinted_images/red/units/halberdier/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33005,7 +33005,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/walk/right/1.png", + "filename": "sprites/tinted_images/red/units/halberdier/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33026,7 +33026,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/walk/right/2.png", + "filename": "sprites/tinted_images/red/units/halberdier/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33047,7 +33047,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/walk/right/3.png", + "filename": "sprites/tinted_images/red/units/halberdier/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33068,7 +33068,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/walk/up/0.png", + "filename": "sprites/tinted_images/red/units/halberdier/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33089,7 +33089,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/walk/up/1.png", + "filename": "sprites/tinted_images/red/units/halberdier/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33110,7 +33110,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/walk/up/2.png", + "filename": "sprites/tinted_images/red/units/halberdier/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33131,7 +33131,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/golem/walk/up/3.png", + "filename": "sprites/tinted_images/red/units/halberdier/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33152,7 +33152,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/attack/0.png", + "filename": "sprites/tinted_images/red/units/halberdier/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33173,7 +33173,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/attack/1.png", + "filename": "sprites/tinted_images/red/units/knight/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33194,7 +33194,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/attack/2.png", + "filename": "sprites/tinted_images/red/units/knight/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33215,7 +33215,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/attack/3.png", + "filename": "sprites/tinted_images/red/units/knight/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33236,7 +33236,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/attack/4.png", + "filename": "sprites/tinted_images/red/units/knight/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33257,7 +33257,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/attack/5.png", + "filename": "sprites/tinted_images/red/units/knight/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33278,7 +33278,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/death/0.png", + "filename": "sprites/tinted_images/red/units/knight/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33299,7 +33299,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/death/1.png", + "filename": "sprites/tinted_images/red/units/knight/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33320,7 +33320,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/death/2.png", + "filename": "sprites/tinted_images/red/units/knight/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33341,7 +33341,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/death/3.png", + "filename": "sprites/tinted_images/red/units/knight/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33362,7 +33362,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/death/4.png", + "filename": "sprites/tinted_images/red/units/knight/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33383,7 +33383,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/death/5.png", + "filename": "sprites/tinted_images/red/units/knight/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33404,7 +33404,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/death/8.png", + "filename": "sprites/tinted_images/red/units/knight/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33425,7 +33425,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/idle/0.png", + "filename": "sprites/tinted_images/red/units/knight/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33446,7 +33446,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/idle/1.png", + "filename": "sprites/tinted_images/red/units/knight/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33467,7 +33467,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/idle/2.png", + "filename": "sprites/tinted_images/red/units/knight/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33488,7 +33488,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/idle/3.png", + "filename": "sprites/tinted_images/red/units/knight/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33509,7 +33509,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/walk/down/0.png", + "filename": "sprites/tinted_images/red/units/knight/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33530,7 +33530,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/walk/down/1.png", + "filename": "sprites/tinted_images/red/units/knight/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33551,7 +33551,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/walk/down/2.png", + "filename": "sprites/tinted_images/red/units/knight/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33572,7 +33572,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/walk/down/3.png", + "filename": "sprites/tinted_images/red/units/knight/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33593,7 +33593,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/walk/left/0.png", + "filename": "sprites/tinted_images/red/units/knight/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33614,7 +33614,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/walk/left/1.png", + "filename": "sprites/tinted_images/red/units/knight/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33635,7 +33635,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/walk/left/2.png", + "filename": "sprites/tinted_images/red/units/knight/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33656,7 +33656,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/walk/left/3.png", + "filename": "sprites/tinted_images/red/units/knight/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33677,7 +33677,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/walk/right/0.png", + "filename": "sprites/tinted_images/red/units/knight/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33698,7 +33698,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/walk/right/1.png", + "filename": "sprites/tinted_images/red/units/knight/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33719,7 +33719,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/walk/right/2.png", + "filename": "sprites/tinted_images/red/units/knight/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33740,7 +33740,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/walk/right/3.png", + "filename": "sprites/tinted_images/red/units/knight/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33761,7 +33761,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/walk/up/0.png", + "filename": "sprites/tinted_images/red/units/knight/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33782,7 +33782,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/walk/up/1.png", + "filename": "sprites/tinted_images/red/units/knight/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33803,7 +33803,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/walk/up/2.png", + "filename": "sprites/tinted_images/red/units/knight/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33824,7 +33824,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/knight/walk/up/3.png", + "filename": "sprites/tinted_images/red/units/knight/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33839,13 +33839,13 @@ }, "frame": { "x": 1191, - "y": 1678, + "y": 1668, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/pikeman/attack/0.png", + "filename": "sprites/tinted_images/red/units/knight/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33866,7 +33866,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/attack/1.png", + "filename": "sprites/tinted_images/red/units/marksman/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33887,7 +33887,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/attack/2.png", + "filename": "sprites/tinted_images/red/units/marksman/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33908,7 +33908,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/attack/3.png", + "filename": "sprites/tinted_images/red/units/marksman/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33929,7 +33929,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/attack/4.png", + "filename": "sprites/tinted_images/red/units/marksman/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33950,7 +33950,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/attack/5.png", + "filename": "sprites/tinted_images/red/units/marksman/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33971,7 +33971,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/death/0.png", + "filename": "sprites/tinted_images/red/units/marksman/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -33992,7 +33992,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/death/1.png", + "filename": "sprites/tinted_images/red/units/marksman/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34013,7 +34013,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/death/10.png", + "filename": "sprites/tinted_images/red/units/marksman/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34034,7 +34034,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/death/2.png", + "filename": "sprites/tinted_images/red/units/marksman/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34055,7 +34055,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/death/3.png", + "filename": "sprites/tinted_images/red/units/marksman/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34076,7 +34076,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/death/4.png", + "filename": "sprites/tinted_images/red/units/marksman/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34097,7 +34097,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/death/5.png", + "filename": "sprites/tinted_images/red/units/marksman/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34118,7 +34118,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/death/6.png", + "filename": "sprites/tinted_images/red/units/marksman/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34132,14 +34132,14 @@ "h": 32 }, "frame": { - "x": 1697, + "x": 1698, "y": 1, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/pikeman/idle/1.png", + "filename": "sprites/tinted_images/red/units/marksman/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34153,14 +34153,14 @@ "h": 32 }, "frame": { - "x": 1697, + "x": 1698, "y": 35, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/pikeman/idle/2.png", + "filename": "sprites/tinted_images/red/units/marksman/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34181,7 +34181,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/idle/3.png", + "filename": "sprites/tinted_images/red/units/marksman/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34202,7 +34202,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/walk/down/0.png", + "filename": "sprites/tinted_images/red/units/marksman/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34223,7 +34223,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/walk/down/1.png", + "filename": "sprites/tinted_images/red/units/marksman/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34244,7 +34244,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/walk/down/2.png", + "filename": "sprites/tinted_images/red/units/marksman/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34265,7 +34265,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/walk/down/3.png", + "filename": "sprites/tinted_images/red/units/marksman/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34286,7 +34286,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/walk/left/0.png", + "filename": "sprites/tinted_images/red/units/marksman/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34307,7 +34307,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/walk/left/1.png", + "filename": "sprites/tinted_images/red/units/marksman/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34328,7 +34328,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/walk/left/2.png", + "filename": "sprites/tinted_images/red/units/marksman/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34349,7 +34349,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/walk/left/3.png", + "filename": "sprites/tinted_images/red/units/marksman/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34370,7 +34370,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/walk/right/0.png", + "filename": "sprites/tinted_images/red/units/marksman/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34391,7 +34391,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/walk/right/1.png", + "filename": "sprites/tinted_images/red/units/marksman/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34412,7 +34412,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/walk/right/2.png", + "filename": "sprites/tinted_images/red/units/pikeman/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34433,7 +34433,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/walk/right/3.png", + "filename": "sprites/tinted_images/red/units/pikeman/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34454,7 +34454,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/walk/up/0.png", + "filename": "sprites/tinted_images/red/units/pikeman/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34475,7 +34475,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/walk/up/1.png", + "filename": "sprites/tinted_images/red/units/pikeman/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34496,7 +34496,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/walk/up/2.png", + "filename": "sprites/tinted_images/red/units/pikeman/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34517,7 +34517,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/pikeman/walk/up/3.png", + "filename": "sprites/tinted_images/red/units/pikeman/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34538,7 +34538,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/rider/attack/0.png", + "filename": "sprites/tinted_images/red/units/pikeman/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34559,7 +34559,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/rider/attack/1.png", + "filename": "sprites/tinted_images/red/units/pikeman/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34580,7 +34580,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/rider/attack/2.png", + "filename": "sprites/tinted_images/red/units/pikeman/death/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34601,7 +34601,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/rider/attack/3.png", + "filename": "sprites/tinted_images/red/units/pikeman/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34622,7 +34622,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/rider/attack/4.png", + "filename": "sprites/tinted_images/red/units/pikeman/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34643,7 +34643,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/rider/attack/5.png", + "filename": "sprites/tinted_images/red/units/pikeman/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34664,7 +34664,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/rider/death/0.png", + "filename": "sprites/tinted_images/red/units/pikeman/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34685,7 +34685,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/rider/death/1.png", + "filename": "sprites/tinted_images/red/units/pikeman/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34706,7 +34706,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/rider/death/2.png", + "filename": "sprites/tinted_images/red/units/pikeman/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34727,7 +34727,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/rider/death/3.png", + "filename": "sprites/tinted_images/red/units/pikeman/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34748,7 +34748,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/rider/death/4.png", + "filename": "sprites/tinted_images/red/units/pikeman/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34769,7 +34769,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/rider/idle/0.png", + "filename": "sprites/tinted_images/red/units/pikeman/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34790,7 +34790,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/rider/idle/1.png", + "filename": "sprites/tinted_images/red/units/pikeman/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34811,7 +34811,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/rider/idle/2.png", + "filename": "sprites/tinted_images/red/units/pikeman/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34832,7 +34832,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/rider/idle/3.png", + "filename": "sprites/tinted_images/red/units/pikeman/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34853,7 +34853,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/rider/walk/down/0.png", + "filename": "sprites/tinted_images/red/units/pikeman/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34867,14 +34867,14 @@ "h": 32 }, "frame": { - "x": 1688, + "x": 1697, "y": 1191, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/rider/walk/down/1.png", + "filename": "sprites/tinted_images/red/units/pikeman/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34888,14 +34888,14 @@ "h": 32 }, "frame": { - "x": 1685, + "x": 1688, "y": 1225, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/rider/walk/down/2.png", + "filename": "sprites/tinted_images/red/units/pikeman/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34916,7 +34916,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/rider/walk/down/3.png", + "filename": "sprites/tinted_images/red/units/pikeman/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34937,7 +34937,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/rider/walk/left/0.png", + "filename": "sprites/tinted_images/red/units/pikeman/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34958,7 +34958,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/rider/walk/left/1.png", + "filename": "sprites/tinted_images/red/units/pikeman/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -34979,7 +34979,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/rider/walk/left/2.png", + "filename": "sprites/tinted_images/red/units/pikeman/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35000,7 +35000,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/rider/walk/left/3.png", + "filename": "sprites/tinted_images/red/units/pikeman/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35021,7 +35021,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/rider/walk/right/0.png", + "filename": "sprites/tinted_images/red/units/pikeman/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35042,7 +35042,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/rider/walk/right/1.png", + "filename": "sprites/tinted_images/red/units/pikeman/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35063,7 +35063,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/rider/walk/right/2.png", + "filename": "sprites/tinted_images/red/units/pikeman/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35084,7 +35084,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/rider/walk/right/3.png", + "filename": "sprites/tinted_images/red/units/pikeman/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35105,7 +35105,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/rider/walk/up/2.png", + "filename": "sprites/tinted_images/red/units/pillager/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35126,7 +35126,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/attack/0.png", + "filename": "sprites/tinted_images/red/units/pillager/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35147,7 +35147,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/attack/1.png", + "filename": "sprites/tinted_images/red/units/pillager/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35168,7 +35168,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/attack/2.png", + "filename": "sprites/tinted_images/red/units/pillager/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35189,7 +35189,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/attack/4.png", + "filename": "sprites/tinted_images/red/units/pillager/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35210,7 +35210,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/attack/5.png", + "filename": "sprites/tinted_images/red/units/pillager/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35231,7 +35231,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/death/0.png", + "filename": "sprites/tinted_images/red/units/pillager/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35252,7 +35252,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/death/1.png", + "filename": "sprites/tinted_images/red/units/pillager/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35273,7 +35273,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/death/2.png", + "filename": "sprites/tinted_images/red/units/pillager/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35294,7 +35294,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/death/3.png", + "filename": "sprites/tinted_images/red/units/pillager/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35315,7 +35315,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/death/4.png", + "filename": "sprites/tinted_images/red/units/pillager/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35336,7 +35336,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/idle/0.png", + "filename": "sprites/tinted_images/red/units/pillager/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35357,7 +35357,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/idle/1.png", + "filename": "sprites/tinted_images/red/units/pillager/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35378,7 +35378,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/idle/3.png", + "filename": "sprites/tinted_images/red/units/pillager/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35399,7 +35399,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/prepare/1.png", + "filename": "sprites/tinted_images/red/units/pillager/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35420,7 +35420,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/walk/down/0.png", + "filename": "sprites/tinted_images/red/units/pillager/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35441,7 +35441,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/walk/down/1.png", + "filename": "sprites/tinted_images/red/units/pillager/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35462,7 +35462,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/walk/down/2.png", + "filename": "sprites/tinted_images/red/units/pillager/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35483,7 +35483,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/walk/down/3.png", + "filename": "sprites/tinted_images/red/units/pillager/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35504,7 +35504,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/walk/left/0.png", + "filename": "sprites/tinted_images/red/units/pillager/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35525,7 +35525,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/walk/left/1.png", + "filename": "sprites/tinted_images/red/units/pillager/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35546,7 +35546,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/walk/left/2.png", + "filename": "sprites/tinted_images/red/units/pillager/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35567,7 +35567,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/walk/left/3.png", + "filename": "sprites/tinted_images/red/units/pillager/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35588,7 +35588,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/walk/right/0.png", + "filename": "sprites/tinted_images/red/units/pillager/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35609,7 +35609,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/walk/right/1.png", + "filename": "sprites/tinted_images/red/units/pillager/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35630,7 +35630,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/walk/right/2.png", + "filename": "sprites/tinted_images/red/units/pillager/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35651,7 +35651,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/walk/right/3.png", + "filename": "sprites/tinted_images/red/units/pillager/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35672,7 +35672,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/walk/up/0.png", + "filename": "sprites/tinted_images/red/units/pillager/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35693,7 +35693,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/walk/up/1.png", + "filename": "sprites/tinted_images/red/units/swordsman/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35714,7 +35714,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/walk/up/2.png", + "filename": "sprites/tinted_images/red/units/swordsman/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35735,7 +35735,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/swordsman/walk/up/3.png", + "filename": "sprites/tinted_images/red/units/swordsman/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35756,7 +35756,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/wizard/attack/0.png", + "filename": "sprites/tinted_images/red/units/swordsman/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35777,7 +35777,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/wizard/attack/1.png", + "filename": "sprites/tinted_images/red/units/swordsman/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35798,7 +35798,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/wizard/attack/2.png", + "filename": "sprites/tinted_images/red/units/swordsman/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35819,7 +35819,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/wizard/attack/3.png", + "filename": "sprites/tinted_images/red/units/swordsman/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35840,7 +35840,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/wizard/attack/4.png", + "filename": "sprites/tinted_images/red/units/swordsman/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35861,7 +35861,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/wizard/attack/5.png", + "filename": "sprites/tinted_images/red/units/swordsman/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35882,7 +35882,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/wizard/death/0.png", + "filename": "sprites/tinted_images/red/units/swordsman/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35903,7 +35903,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/wizard/death/1.png", + "filename": "sprites/tinted_images/red/units/swordsman/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35918,13 +35918,13 @@ }, "frame": { "x": 1191, - "y": 1712, + "y": 1702, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/wizard/death/2.png", + "filename": "sprites/tinted_images/red/units/swordsman/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35945,7 +35945,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/wizard/death/3.png", + "filename": "sprites/tinted_images/red/units/swordsman/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35966,7 +35966,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/wizard/idle/0.png", + "filename": "sprites/tinted_images/red/units/swordsman/prepare/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -35987,7 +35987,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/wizard/idle/1.png", + "filename": "sprites/tinted_images/red/units/swordsman/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36008,7 +36008,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/wizard/idle/2.png", + "filename": "sprites/tinted_images/red/units/swordsman/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36029,7 +36029,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/wizard/idle/3.png", + "filename": "sprites/tinted_images/red/units/swordsman/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36050,7 +36050,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/wizard/walk/down/0.png", + "filename": "sprites/tinted_images/red/units/swordsman/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36071,7 +36071,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/wizard/walk/down/1.png", + "filename": "sprites/tinted_images/red/units/swordsman/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36092,7 +36092,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/wizard/walk/down/2.png", + "filename": "sprites/tinted_images/red/units/swordsman/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36113,7 +36113,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/wizard/walk/left/0.png", + "filename": "sprites/tinted_images/red/units/swordsman/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36134,7 +36134,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/wizard/walk/left/1.png", + "filename": "sprites/tinted_images/red/units/swordsman/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36155,7 +36155,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/wizard/walk/left/2.png", + "filename": "sprites/tinted_images/red/units/swordsman/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36176,7 +36176,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/wizard/walk/right/0.png", + "filename": "sprites/tinted_images/red/units/swordsman/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36197,7 +36197,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/wizard/walk/right/1.png", + "filename": "sprites/tinted_images/red/units/swordsman/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36218,7 +36218,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/wizard/walk/right/2.png", + "filename": "sprites/tinted_images/red/units/swordsman/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36232,14 +36232,14 @@ "h": 32 }, "frame": { - "x": 1731, + "x": 1732, "y": 1, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/wizard/walk/up/0.png", + "filename": "sprites/tinted_images/red/units/swordsman/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36253,14 +36253,14 @@ "h": 32 }, "frame": { - "x": 1731, + "x": 1732, "y": 35, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/wizard/walk/up/1.png", + "filename": "sprites/tinted_images/red/units/swordsman/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36281,7 +36281,7 @@ } }, { - "filename": "sprites/tinted_images/red/units/wizard/walk/up/2.png", + "filename": "sprites/tinted_images/red/units/swordsman/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36302,7 +36302,7 @@ } }, { - "filename": "sprites/tinted_images/white/animations/capture/0.png", + "filename": "sprites/tinted_images/red/units/swordsman/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36323,7 +36323,7 @@ } }, { - "filename": "sprites/tinted_images/white/animations/capture/1.png", + "filename": "sprites/tinted_images/white/animations/capture/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36344,7 +36344,7 @@ } }, { - "filename": "sprites/tinted_images/white/animations/capture/10.png", + "filename": "sprites/tinted_images/white/animations/capture/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36365,7 +36365,7 @@ } }, { - "filename": "sprites/tinted_images/white/animations/capture/11.png", + "filename": "sprites/tinted_images/white/animations/capture/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36386,7 +36386,7 @@ } }, { - "filename": "sprites/tinted_images/white/animations/capture/12.png", + "filename": "sprites/tinted_images/white/animations/capture/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36407,7 +36407,7 @@ } }, { - "filename": "sprites/tinted_images/white/animations/capture/13.png", + "filename": "sprites/tinted_images/white/animations/capture/12.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36428,7 +36428,7 @@ } }, { - "filename": "sprites/tinted_images/white/animations/capture/14.png", + "filename": "sprites/tinted_images/white/animations/capture/13.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36449,7 +36449,7 @@ } }, { - "filename": "sprites/tinted_images/white/animations/capture/2.png", + "filename": "sprites/tinted_images/white/animations/capture/14.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36470,7 +36470,7 @@ } }, { - "filename": "sprites/tinted_images/white/animations/capture/3.png", + "filename": "sprites/tinted_images/white/animations/capture/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36491,7 +36491,7 @@ } }, { - "filename": "sprites/tinted_images/white/animations/capture/4.png", + "filename": "sprites/tinted_images/white/animations/capture/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36512,7 +36512,7 @@ } }, { - "filename": "sprites/tinted_images/white/ui/icons/boot-check.png", + "filename": "sprites/tinted_images/white/animations/capture/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36533,7 +36533,7 @@ } }, { - "filename": "sprites/tinted_images/white/ui/icons/boot.png", + "filename": "sprites/tinted_images/white/ui/icons/boot-check.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36554,7 +36554,7 @@ } }, { - "filename": "sprites/tinted_images/white/ui/icons/crossed-swords.png", + "filename": "sprites/tinted_images/white/ui/icons/boot.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36575,7 +36575,7 @@ } }, { - "filename": "sprites/tinted_images/white/ui/tile-select/0.png", + "filename": "sprites/tinted_images/white/ui/icons/crossed-swords.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36596,7 +36596,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/archer/attack/0.png", + "filename": "sprites/tinted_images/white/ui/tile-select/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36617,7 +36617,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/archer/attack/1.png", + "filename": "sprites/tinted_images/white/units/archer/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36638,7 +36638,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/archer/attack/2.png", + "filename": "sprites/tinted_images/white/units/archer/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36659,7 +36659,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/archer/attack/3.png", + "filename": "sprites/tinted_images/white/units/archer/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36680,7 +36680,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/archer/attack/4.png", + "filename": "sprites/tinted_images/white/units/archer/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36701,7 +36701,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/archer/death/1.png", + "filename": "sprites/tinted_images/white/units/archer/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36722,7 +36722,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/archer/death/2.png", + "filename": "sprites/tinted_images/white/units/archer/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36743,7 +36743,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/archer/death/3.png", + "filename": "sprites/tinted_images/white/units/archer/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36764,7 +36764,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/archer/death/4.png", + "filename": "sprites/tinted_images/white/units/archer/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36785,7 +36785,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/archer/death/5.png", + "filename": "sprites/tinted_images/white/units/archer/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36806,7 +36806,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/archer/idle/0.png", + "filename": "sprites/tinted_images/white/units/archer/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36827,7 +36827,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/archer/idle/1.png", + "filename": "sprites/tinted_images/white/units/archer/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36848,7 +36848,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/archer/idle/2.png", + "filename": "sprites/tinted_images/white/units/archer/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36869,7 +36869,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/archer/prepare/1.png", + "filename": "sprites/tinted_images/white/units/archer/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36890,7 +36890,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/archer/prepare/2.png", + "filename": "sprites/tinted_images/white/units/archer/prepare/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36911,7 +36911,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/archer/prepare/3.png", + "filename": "sprites/tinted_images/white/units/archer/prepare/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36932,7 +36932,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/archer/walk/down/0.png", + "filename": "sprites/tinted_images/white/units/archer/prepare/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36953,7 +36953,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/archer/walk/down/1.png", + "filename": "sprites/tinted_images/white/units/archer/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36967,14 +36967,14 @@ "h": 32 }, "frame": { - "x": 1722, + "x": 1731, "y": 1191, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/archer/walk/down/2.png", + "filename": "sprites/tinted_images/white/units/archer/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -36988,14 +36988,14 @@ "h": 32 }, "frame": { - "x": 1719, + "x": 1722, "y": 1225, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/archer/walk/left/0.png", + "filename": "sprites/tinted_images/white/units/archer/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37016,7 +37016,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/archer/walk/left/1.png", + "filename": "sprites/tinted_images/white/units/archer/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37037,7 +37037,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/archer/walk/left/2.png", + "filename": "sprites/tinted_images/white/units/archer/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37058,7 +37058,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/archer/walk/right/0.png", + "filename": "sprites/tinted_images/white/units/archer/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37079,7 +37079,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/archer/walk/right/1.png", + "filename": "sprites/tinted_images/white/units/archer/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37100,7 +37100,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/archer/walk/right/2.png", + "filename": "sprites/tinted_images/white/units/archer/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37121,7 +37121,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/archer/walk/up/0.png", + "filename": "sprites/tinted_images/white/units/archer/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37142,7 +37142,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/archer/walk/up/1.png", + "filename": "sprites/tinted_images/white/units/archer/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37163,7 +37163,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/archer/walk/up/2.png", + "filename": "sprites/tinted_images/white/units/archer/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37184,7 +37184,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/attack/0.png", + "filename": "sprites/tinted_images/white/units/archer/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37205,7 +37205,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/attack/1.png", + "filename": "sprites/tinted_images/white/units/catapult/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37226,7 +37226,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/attack/2.png", + "filename": "sprites/tinted_images/white/units/catapult/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37247,7 +37247,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/attack/3.png", + "filename": "sprites/tinted_images/white/units/catapult/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37268,7 +37268,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/death/0.png", + "filename": "sprites/tinted_images/white/units/catapult/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37289,7 +37289,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/death/1.png", + "filename": "sprites/tinted_images/white/units/catapult/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37310,7 +37310,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/death/2.png", + "filename": "sprites/tinted_images/white/units/catapult/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37331,7 +37331,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/idle/0.png", + "filename": "sprites/tinted_images/white/units/catapult/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37352,7 +37352,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/idle/1.png", + "filename": "sprites/tinted_images/white/units/catapult/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37373,7 +37373,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/idle/2.png", + "filename": "sprites/tinted_images/white/units/catapult/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37394,7 +37394,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/prepare/1.ng.png", + "filename": "sprites/tinted_images/white/units/catapult/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37415,7 +37415,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/prepare/2.ng.png", + "filename": "sprites/tinted_images/white/units/catapult/prepare/1.ng.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37436,7 +37436,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/prepare/3.ng.png", + "filename": "sprites/tinted_images/white/units/catapult/prepare/2.ng.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37457,7 +37457,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/walk/down/0.png", + "filename": "sprites/tinted_images/white/units/catapult/prepare/3.ng.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37478,7 +37478,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/walk/down/1.png", + "filename": "sprites/tinted_images/white/units/catapult/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37499,7 +37499,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/walk/down/2.png", + "filename": "sprites/tinted_images/white/units/catapult/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37520,7 +37520,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/walk/down/3.png", + "filename": "sprites/tinted_images/white/units/catapult/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37541,7 +37541,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/walk/left/0.png", + "filename": "sprites/tinted_images/white/units/catapult/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37562,7 +37562,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/walk/left/1.png", + "filename": "sprites/tinted_images/white/units/catapult/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37583,7 +37583,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/walk/left/2.png", + "filename": "sprites/tinted_images/white/units/catapult/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37604,7 +37604,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/walk/left/3.png", + "filename": "sprites/tinted_images/white/units/catapult/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37625,7 +37625,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/walk/right/0.png", + "filename": "sprites/tinted_images/white/units/catapult/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37646,7 +37646,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/walk/right/1.png", + "filename": "sprites/tinted_images/white/units/catapult/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37667,7 +37667,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/walk/right/2.png", + "filename": "sprites/tinted_images/white/units/catapult/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37688,7 +37688,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/walk/right/3.png", + "filename": "sprites/tinted_images/white/units/catapult/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37709,7 +37709,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/walk/up/0.png", + "filename": "sprites/tinted_images/white/units/catapult/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37730,7 +37730,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/walk/up/1.png", + "filename": "sprites/tinted_images/white/units/catapult/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37751,7 +37751,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/walk/up/2.png", + "filename": "sprites/tinted_images/white/units/catapult/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37772,7 +37772,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/catapult/walk/up/3.png", + "filename": "sprites/tinted_images/white/units/catapult/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37793,7 +37793,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/crossbow/attack/0.png", + "filename": "sprites/tinted_images/white/units/catapult/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37814,7 +37814,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/crossbow/attack/1.png", + "filename": "sprites/tinted_images/white/units/crossbow/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37835,7 +37835,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/crossbow/attack/2.png", + "filename": "sprites/tinted_images/white/units/crossbow/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37856,7 +37856,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/crossbow/attack/4.png", + "filename": "sprites/tinted_images/white/units/crossbow/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37877,7 +37877,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/crossbow/attack/5.png", + "filename": "sprites/tinted_images/white/units/crossbow/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37898,7 +37898,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/crossbow/death/0.png", + "filename": "sprites/tinted_images/white/units/crossbow/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37919,7 +37919,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/crossbow/death/1.png", + "filename": "sprites/tinted_images/white/units/crossbow/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37940,7 +37940,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/crossbow/death/10.png", + "filename": "sprites/tinted_images/white/units/crossbow/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37961,7 +37961,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/crossbow/death/2.png", + "filename": "sprites/tinted_images/white/units/crossbow/death/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -37982,7 +37982,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/crossbow/death/3.png", + "filename": "sprites/tinted_images/white/units/crossbow/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38003,7 +38003,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/crossbow/death/4.png", + "filename": "sprites/tinted_images/white/units/crossbow/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38024,7 +38024,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/crossbow/death/5.png", + "filename": "sprites/tinted_images/white/units/crossbow/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38039,13 +38039,13 @@ }, "frame": { "x": 1191, - "y": 1746, + "y": 1736, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/crossbow/death/6.png", + "filename": "sprites/tinted_images/white/units/crossbow/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38066,7 +38066,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/crossbow/idle/0.png", + "filename": "sprites/tinted_images/white/units/crossbow/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38087,7 +38087,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/crossbow/idle/1.png", + "filename": "sprites/tinted_images/white/units/crossbow/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38108,7 +38108,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/crossbow/idle/2.png", + "filename": "sprites/tinted_images/white/units/crossbow/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38129,7 +38129,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/crossbow/idle/3.png", + "filename": "sprites/tinted_images/white/units/crossbow/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38150,7 +38150,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/crossbow/walk/down/0.png", + "filename": "sprites/tinted_images/white/units/crossbow/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38171,7 +38171,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/crossbow/walk/down/1.png", + "filename": "sprites/tinted_images/white/units/crossbow/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38192,7 +38192,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/crossbow/walk/down/2.png", + "filename": "sprites/tinted_images/white/units/crossbow/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38213,7 +38213,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/crossbow/walk/left/0.png", + "filename": "sprites/tinted_images/white/units/crossbow/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38234,7 +38234,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/crossbow/walk/left/1.png", + "filename": "sprites/tinted_images/white/units/crossbow/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38255,7 +38255,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/crossbow/walk/left/2.png", + "filename": "sprites/tinted_images/white/units/crossbow/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38276,7 +38276,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/crossbow/walk/right/0.png", + "filename": "sprites/tinted_images/white/units/crossbow/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38297,7 +38297,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/crossbow/walk/right/1.png", + "filename": "sprites/tinted_images/white/units/crossbow/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38318,7 +38318,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/crossbow/walk/right/2.png", + "filename": "sprites/tinted_images/white/units/crossbow/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38339,7 +38339,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/crossbow/walk/up/0.png", + "filename": "sprites/tinted_images/white/units/crossbow/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38360,7 +38360,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/crossbow/walk/up/1.png", + "filename": "sprites/tinted_images/white/units/crossbow/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38374,14 +38374,14 @@ "h": 32 }, "frame": { - "x": 1765, + "x": 1766, "y": 1, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/crossbow/walk/up/2.png", + "filename": "sprites/tinted_images/white/units/crossbow/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38395,14 +38395,14 @@ "h": 32 }, "frame": { - "x": 1765, + "x": 1766, "y": 35, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/dragon/attack/0.png", + "filename": "sprites/tinted_images/white/units/crossbow/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38423,7 +38423,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/attack/1.png", + "filename": "sprites/tinted_images/white/units/dragoon/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38444,7 +38444,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/attack/2.png", + "filename": "sprites/tinted_images/white/units/dragoon/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38465,7 +38465,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/attack/3.png", + "filename": "sprites/tinted_images/white/units/dragoon/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38486,7 +38486,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/attack/4.png", + "filename": "sprites/tinted_images/white/units/dragoon/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38507,7 +38507,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/attack/5.png", + "filename": "sprites/tinted_images/white/units/dragoon/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38528,7 +38528,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/death/0.png", + "filename": "sprites/tinted_images/white/units/dragoon/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38549,7 +38549,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/death/1.png", + "filename": "sprites/tinted_images/white/units/dragoon/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38570,7 +38570,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/death/2.png", + "filename": "sprites/tinted_images/white/units/dragoon/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38591,7 +38591,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/death/3.png", + "filename": "sprites/tinted_images/white/units/dragoon/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38612,7 +38612,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/death/4.png", + "filename": "sprites/tinted_images/white/units/dragoon/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38633,7 +38633,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/death/5.png", + "filename": "sprites/tinted_images/white/units/dragoon/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38654,7 +38654,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/death/6.png", + "filename": "sprites/tinted_images/white/units/dragoon/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38675,7 +38675,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/idle/0.png", + "filename": "sprites/tinted_images/white/units/dragoon/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38696,7 +38696,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/idle/1.png", + "filename": "sprites/tinted_images/white/units/dragoon/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38717,7 +38717,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/idle/2.png", + "filename": "sprites/tinted_images/white/units/dragoon/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38738,7 +38738,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/idle/3.png", + "filename": "sprites/tinted_images/white/units/dragoon/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38759,7 +38759,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/walk/down/0.png", + "filename": "sprites/tinted_images/white/units/dragoon/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38780,7 +38780,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/walk/down/1.png", + "filename": "sprites/tinted_images/white/units/dragoon/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38801,7 +38801,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/walk/down/2.png", + "filename": "sprites/tinted_images/white/units/dragoon/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38822,7 +38822,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/walk/down/3.png", + "filename": "sprites/tinted_images/white/units/dragoon/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38843,7 +38843,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/walk/left/0.png", + "filename": "sprites/tinted_images/white/units/dragoon/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38864,7 +38864,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/walk/left/1.png", + "filename": "sprites/tinted_images/white/units/dragoon/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38885,7 +38885,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/walk/left/2.png", + "filename": "sprites/tinted_images/white/units/dragoon/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38906,7 +38906,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/walk/left/3.png", + "filename": "sprites/tinted_images/white/units/dragoon/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38927,7 +38927,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/walk/right/0.png", + "filename": "sprites/tinted_images/white/units/dragoon/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38948,7 +38948,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/walk/right/1.png", + "filename": "sprites/tinted_images/white/units/dragoon/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38969,7 +38969,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/walk/right/2.png", + "filename": "sprites/tinted_images/white/units/dragoon/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -38990,7 +38990,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/walk/right/3.png", + "filename": "sprites/tinted_images/white/units/dragoon/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39011,7 +39011,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/walk/up/0.png", + "filename": "sprites/tinted_images/white/units/dragoon/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39032,7 +39032,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/walk/up/1.png", + "filename": "sprites/tinted_images/white/units/dragoon/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39053,7 +39053,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/walk/up/2.png", + "filename": "sprites/tinted_images/white/units/dragoon/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39074,7 +39074,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/dragon/walk/up/3.png", + "filename": "sprites/tinted_images/white/units/dragoon/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39095,7 +39095,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/attack/0.png", + "filename": "sprites/tinted_images/white/units/dragoon/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39109,14 +39109,14 @@ "h": 32 }, "frame": { - "x": 1756, + "x": 1765, "y": 1191, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/golem/attack/1.png", + "filename": "sprites/tinted_images/white/units/halberdier/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39130,14 +39130,14 @@ "h": 32 }, "frame": { - "x": 1753, + "x": 1756, "y": 1225, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/golem/attack/2.png", + "filename": "sprites/tinted_images/white/units/halberdier/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39158,7 +39158,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/attack/3.png", + "filename": "sprites/tinted_images/white/units/halberdier/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39179,7 +39179,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/attack/4.png", + "filename": "sprites/tinted_images/white/units/halberdier/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39200,7 +39200,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/attack/5.png", + "filename": "sprites/tinted_images/white/units/halberdier/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39221,7 +39221,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/death/0.png", + "filename": "sprites/tinted_images/white/units/halberdier/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39242,7 +39242,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/death/1.png", + "filename": "sprites/tinted_images/white/units/halberdier/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39263,7 +39263,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/death/10.png", + "filename": "sprites/tinted_images/white/units/halberdier/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39284,7 +39284,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/death/2.png", + "filename": "sprites/tinted_images/white/units/halberdier/death/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39305,7 +39305,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/death/3.png", + "filename": "sprites/tinted_images/white/units/halberdier/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39326,7 +39326,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/death/4.png", + "filename": "sprites/tinted_images/white/units/halberdier/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39347,7 +39347,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/death/5.png", + "filename": "sprites/tinted_images/white/units/halberdier/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39368,7 +39368,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/death/6.png", + "filename": "sprites/tinted_images/white/units/halberdier/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39389,7 +39389,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/death/7.png", + "filename": "sprites/tinted_images/white/units/halberdier/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39410,7 +39410,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/death/8.png", + "filename": "sprites/tinted_images/white/units/halberdier/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39431,7 +39431,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/death/9.png", + "filename": "sprites/tinted_images/white/units/halberdier/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39452,7 +39452,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/idle/0.png", + "filename": "sprites/tinted_images/white/units/halberdier/death/9.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39473,7 +39473,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/idle/1.png", + "filename": "sprites/tinted_images/white/units/halberdier/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39494,7 +39494,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/idle/2.png", + "filename": "sprites/tinted_images/white/units/halberdier/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39515,7 +39515,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/idle/3.png", + "filename": "sprites/tinted_images/white/units/halberdier/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39536,7 +39536,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/walk/down/0.png", + "filename": "sprites/tinted_images/white/units/halberdier/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39557,7 +39557,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/walk/down/1.png", + "filename": "sprites/tinted_images/white/units/halberdier/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39578,7 +39578,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/walk/down/2.png", + "filename": "sprites/tinted_images/white/units/halberdier/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39599,7 +39599,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/walk/down/3.png", + "filename": "sprites/tinted_images/white/units/halberdier/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39620,7 +39620,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/walk/left/0.png", + "filename": "sprites/tinted_images/white/units/halberdier/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39641,7 +39641,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/walk/left/1.png", + "filename": "sprites/tinted_images/white/units/halberdier/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39662,7 +39662,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/walk/left/2.png", + "filename": "sprites/tinted_images/white/units/halberdier/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39683,7 +39683,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/walk/left/3.png", + "filename": "sprites/tinted_images/white/units/halberdier/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39704,7 +39704,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/walk/right/0.png", + "filename": "sprites/tinted_images/white/units/halberdier/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39725,7 +39725,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/walk/right/1.png", + "filename": "sprites/tinted_images/white/units/halberdier/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39746,7 +39746,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/walk/right/2.png", + "filename": "sprites/tinted_images/white/units/halberdier/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39767,7 +39767,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/walk/right/3.png", + "filename": "sprites/tinted_images/white/units/halberdier/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39788,7 +39788,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/walk/up/0.png", + "filename": "sprites/tinted_images/white/units/halberdier/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39809,7 +39809,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/walk/up/1.png", + "filename": "sprites/tinted_images/white/units/halberdier/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39830,7 +39830,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/walk/up/2.png", + "filename": "sprites/tinted_images/white/units/halberdier/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39851,7 +39851,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/golem/walk/up/3.png", + "filename": "sprites/tinted_images/white/units/halberdier/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39872,7 +39872,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/attack/0.png", + "filename": "sprites/tinted_images/white/units/halberdier/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39893,7 +39893,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/attack/1.png", + "filename": "sprites/tinted_images/white/units/knight/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39914,7 +39914,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/attack/2.png", + "filename": "sprites/tinted_images/white/units/knight/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39935,7 +39935,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/attack/3.png", + "filename": "sprites/tinted_images/white/units/knight/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39956,7 +39956,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/attack/4.png", + "filename": "sprites/tinted_images/white/units/knight/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39977,7 +39977,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/attack/5.png", + "filename": "sprites/tinted_images/white/units/knight/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -39998,7 +39998,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/death/0.png", + "filename": "sprites/tinted_images/white/units/knight/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40019,7 +40019,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/death/1.png", + "filename": "sprites/tinted_images/white/units/knight/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40040,7 +40040,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/death/2.png", + "filename": "sprites/tinted_images/white/units/knight/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40061,7 +40061,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/death/3.png", + "filename": "sprites/tinted_images/white/units/knight/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40082,7 +40082,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/death/4.png", + "filename": "sprites/tinted_images/white/units/knight/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40103,7 +40103,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/death/5.png", + "filename": "sprites/tinted_images/white/units/knight/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40124,7 +40124,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/death/8.png", + "filename": "sprites/tinted_images/white/units/knight/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40145,7 +40145,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/idle/0.png", + "filename": "sprites/tinted_images/white/units/knight/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40166,7 +40166,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/idle/1.png", + "filename": "sprites/tinted_images/white/units/knight/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40187,7 +40187,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/idle/2.png", + "filename": "sprites/tinted_images/white/units/knight/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40202,13 +40202,13 @@ }, "frame": { "x": 1191, - "y": 1780, + "y": 1770, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/knight/idle/3.png", + "filename": "sprites/tinted_images/white/units/knight/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40229,7 +40229,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/walk/down/0.png", + "filename": "sprites/tinted_images/white/units/knight/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40250,7 +40250,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/walk/down/1.png", + "filename": "sprites/tinted_images/white/units/knight/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40271,7 +40271,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/walk/down/2.png", + "filename": "sprites/tinted_images/white/units/knight/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40292,7 +40292,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/walk/down/3.png", + "filename": "sprites/tinted_images/white/units/knight/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40313,7 +40313,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/walk/left/0.png", + "filename": "sprites/tinted_images/white/units/knight/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40334,7 +40334,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/walk/left/1.png", + "filename": "sprites/tinted_images/white/units/knight/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40355,7 +40355,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/walk/left/2.png", + "filename": "sprites/tinted_images/white/units/knight/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40376,7 +40376,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/walk/left/3.png", + "filename": "sprites/tinted_images/white/units/knight/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40397,7 +40397,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/walk/right/0.png", + "filename": "sprites/tinted_images/white/units/knight/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40418,7 +40418,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/walk/right/1.png", + "filename": "sprites/tinted_images/white/units/knight/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40439,7 +40439,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/walk/right/2.png", + "filename": "sprites/tinted_images/white/units/knight/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40460,7 +40460,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/walk/right/3.png", + "filename": "sprites/tinted_images/white/units/knight/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40481,7 +40481,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/walk/up/0.png", + "filename": "sprites/tinted_images/white/units/knight/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40502,7 +40502,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/walk/up/1.png", + "filename": "sprites/tinted_images/white/units/knight/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40523,7 +40523,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/walk/up/2.png", + "filename": "sprites/tinted_images/white/units/knight/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40544,7 +40544,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/knight/walk/up/3.png", + "filename": "sprites/tinted_images/white/units/knight/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40558,14 +40558,14 @@ "h": 32 }, "frame": { - "x": 1799, + "x": 1800, "y": 1, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/pikeman/attack/0.png", + "filename": "sprites/tinted_images/white/units/knight/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40579,14 +40579,14 @@ "h": 32 }, "frame": { - "x": 1799, + "x": 1800, "y": 35, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/pikeman/attack/1.png", + "filename": "sprites/tinted_images/white/units/marksman/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40607,7 +40607,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/attack/2.png", + "filename": "sprites/tinted_images/white/units/marksman/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40628,7 +40628,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/attack/3.png", + "filename": "sprites/tinted_images/white/units/marksman/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40649,7 +40649,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/attack/4.png", + "filename": "sprites/tinted_images/white/units/marksman/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40670,7 +40670,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/attack/5.png", + "filename": "sprites/tinted_images/white/units/marksman/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40691,7 +40691,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/death/0.png", + "filename": "sprites/tinted_images/white/units/marksman/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40712,7 +40712,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/death/1.png", + "filename": "sprites/tinted_images/white/units/marksman/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40733,7 +40733,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/death/10.png", + "filename": "sprites/tinted_images/white/units/marksman/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40754,7 +40754,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/death/2.png", + "filename": "sprites/tinted_images/white/units/marksman/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40775,7 +40775,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/death/3.png", + "filename": "sprites/tinted_images/white/units/marksman/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40796,7 +40796,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/death/4.png", + "filename": "sprites/tinted_images/white/units/marksman/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40817,7 +40817,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/death/5.png", + "filename": "sprites/tinted_images/white/units/marksman/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40838,7 +40838,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/death/6.png", + "filename": "sprites/tinted_images/white/units/marksman/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40859,7 +40859,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/idle/1.png", + "filename": "sprites/tinted_images/white/units/marksman/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40880,7 +40880,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/idle/2.png", + "filename": "sprites/tinted_images/white/units/marksman/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40901,7 +40901,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/idle/3.png", + "filename": "sprites/tinted_images/white/units/marksman/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40922,7 +40922,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/walk/down/0.png", + "filename": "sprites/tinted_images/white/units/marksman/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40943,7 +40943,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/walk/down/1.png", + "filename": "sprites/tinted_images/white/units/marksman/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40964,7 +40964,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/walk/down/2.png", + "filename": "sprites/tinted_images/white/units/marksman/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -40985,7 +40985,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/walk/down/3.png", + "filename": "sprites/tinted_images/white/units/marksman/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41006,7 +41006,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/walk/left/0.png", + "filename": "sprites/tinted_images/white/units/marksman/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41027,7 +41027,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/walk/left/1.png", + "filename": "sprites/tinted_images/white/units/marksman/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41048,7 +41048,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/walk/left/2.png", + "filename": "sprites/tinted_images/white/units/marksman/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41069,7 +41069,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/walk/left/3.png", + "filename": "sprites/tinted_images/white/units/marksman/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41090,7 +41090,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/walk/right/0.png", + "filename": "sprites/tinted_images/white/units/marksman/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41111,7 +41111,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/walk/right/1.png", + "filename": "sprites/tinted_images/white/units/marksman/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41132,7 +41132,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/walk/right/2.png", + "filename": "sprites/tinted_images/white/units/pikeman/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41153,7 +41153,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/walk/right/3.png", + "filename": "sprites/tinted_images/white/units/pikeman/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41174,7 +41174,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/walk/up/0.png", + "filename": "sprites/tinted_images/white/units/pikeman/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41195,7 +41195,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/walk/up/1.png", + "filename": "sprites/tinted_images/white/units/pikeman/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41216,7 +41216,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/walk/up/2.png", + "filename": "sprites/tinted_images/white/units/pikeman/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41237,7 +41237,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/pikeman/walk/up/3.png", + "filename": "sprites/tinted_images/white/units/pikeman/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41258,7 +41258,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/swordsman/attack/0.png", + "filename": "sprites/tinted_images/white/units/pikeman/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41279,7 +41279,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/swordsman/attack/1.png", + "filename": "sprites/tinted_images/white/units/pikeman/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41293,14 +41293,14 @@ "h": 32 }, "frame": { - "x": 1790, + "x": 1799, "y": 1191, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/swordsman/attack/2.png", + "filename": "sprites/tinted_images/white/units/pikeman/death/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41314,14 +41314,14 @@ "h": 32 }, "frame": { - "x": 1787, + "x": 1790, "y": 1225, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/swordsman/attack/4.png", + "filename": "sprites/tinted_images/white/units/pikeman/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41342,7 +41342,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/swordsman/attack/5.png", + "filename": "sprites/tinted_images/white/units/pikeman/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41363,7 +41363,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/swordsman/death/0.png", + "filename": "sprites/tinted_images/white/units/pikeman/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41384,7 +41384,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/swordsman/death/1.png", + "filename": "sprites/tinted_images/white/units/pikeman/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41405,7 +41405,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/swordsman/death/2.png", + "filename": "sprites/tinted_images/white/units/pikeman/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41426,7 +41426,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/swordsman/death/3.png", + "filename": "sprites/tinted_images/white/units/pikeman/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41447,7 +41447,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/swordsman/death/4.png", + "filename": "sprites/tinted_images/white/units/pikeman/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41468,7 +41468,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/swordsman/idle/0.png", + "filename": "sprites/tinted_images/white/units/pikeman/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41489,7 +41489,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/swordsman/idle/1.png", + "filename": "sprites/tinted_images/white/units/pikeman/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41510,7 +41510,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/swordsman/idle/3.png", + "filename": "sprites/tinted_images/white/units/pikeman/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41531,7 +41531,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/swordsman/prepare/1.png", + "filename": "sprites/tinted_images/white/units/pikeman/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41552,7 +41552,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/swordsman/walk/down/0.png", + "filename": "sprites/tinted_images/white/units/pikeman/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41573,7 +41573,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/swordsman/walk/down/1.png", + "filename": "sprites/tinted_images/white/units/pikeman/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41594,7 +41594,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/swordsman/walk/down/2.png", + "filename": "sprites/tinted_images/white/units/pikeman/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41615,7 +41615,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/swordsman/walk/down/3.png", + "filename": "sprites/tinted_images/white/units/pikeman/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41636,7 +41636,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/swordsman/walk/left/0.png", + "filename": "sprites/tinted_images/white/units/pikeman/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41657,7 +41657,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/swordsman/walk/left/1.png", + "filename": "sprites/tinted_images/white/units/pikeman/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41678,7 +41678,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/swordsman/walk/left/2.png", + "filename": "sprites/tinted_images/white/units/pikeman/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41699,7 +41699,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/swordsman/walk/left/3.png", + "filename": "sprites/tinted_images/white/units/pikeman/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41720,7 +41720,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/swordsman/walk/right/0.png", + "filename": "sprites/tinted_images/white/units/pikeman/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41741,7 +41741,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/swordsman/walk/right/1.png", + "filename": "sprites/tinted_images/white/units/pikeman/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41762,7 +41762,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/swordsman/walk/right/2.png", + "filename": "sprites/tinted_images/white/units/pikeman/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41783,7 +41783,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/swordsman/walk/right/3.png", + "filename": "sprites/tinted_images/white/units/pikeman/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41804,7 +41804,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/swordsman/walk/up/0.png", + "filename": "sprites/tinted_images/white/units/pikeman/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41825,7 +41825,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/swordsman/walk/up/1.png", + "filename": "sprites/tinted_images/white/units/swordsman/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41846,7 +41846,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/swordsman/walk/up/2.png", + "filename": "sprites/tinted_images/white/units/swordsman/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41867,7 +41867,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/swordsman/walk/up/3.png", + "filename": "sprites/tinted_images/white/units/swordsman/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41888,7 +41888,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/wizard/attack/0.png", + "filename": "sprites/tinted_images/white/units/swordsman/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41909,7 +41909,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/wizard/attack/1.png", + "filename": "sprites/tinted_images/white/units/swordsman/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41930,7 +41930,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/wizard/attack/2.png", + "filename": "sprites/tinted_images/white/units/swordsman/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41951,7 +41951,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/wizard/attack/3.png", + "filename": "sprites/tinted_images/white/units/swordsman/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41972,7 +41972,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/wizard/attack/4.png", + "filename": "sprites/tinted_images/white/units/swordsman/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -41993,7 +41993,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/wizard/attack/5.png", + "filename": "sprites/tinted_images/white/units/swordsman/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42014,7 +42014,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/wizard/death/0.png", + "filename": "sprites/tinted_images/white/units/swordsman/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42035,7 +42035,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/wizard/death/1.png", + "filename": "sprites/tinted_images/white/units/swordsman/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42056,7 +42056,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/wizard/death/2.png", + "filename": "sprites/tinted_images/white/units/swordsman/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42077,7 +42077,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/wizard/death/3.png", + "filename": "sprites/tinted_images/white/units/swordsman/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42098,7 +42098,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/wizard/idle/0.png", + "filename": "sprites/tinted_images/white/units/swordsman/prepare/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42119,7 +42119,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/wizard/idle/1.png", + "filename": "sprites/tinted_images/white/units/swordsman/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42140,7 +42140,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/wizard/idle/2.png", + "filename": "sprites/tinted_images/white/units/swordsman/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42161,7 +42161,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/wizard/idle/3.png", + "filename": "sprites/tinted_images/white/units/swordsman/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42182,7 +42182,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/wizard/walk/down/0.png", + "filename": "sprites/tinted_images/white/units/swordsman/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42203,7 +42203,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/wizard/walk/down/1.png", + "filename": "sprites/tinted_images/white/units/swordsman/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42224,7 +42224,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/wizard/walk/down/2.png", + "filename": "sprites/tinted_images/white/units/swordsman/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42245,7 +42245,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/wizard/walk/left/0.png", + "filename": "sprites/tinted_images/white/units/swordsman/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42266,7 +42266,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/wizard/walk/left/1.png", + "filename": "sprites/tinted_images/white/units/swordsman/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42287,7 +42287,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/wizard/walk/left/2.png", + "filename": "sprites/tinted_images/white/units/swordsman/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42308,7 +42308,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/wizard/walk/right/0.png", + "filename": "sprites/tinted_images/white/units/swordsman/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42329,7 +42329,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/wizard/walk/right/1.png", + "filename": "sprites/tinted_images/white/units/swordsman/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42350,7 +42350,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/wizard/walk/right/2.png", + "filename": "sprites/tinted_images/white/units/swordsman/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42371,7 +42371,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/wizard/walk/up/0.png", + "filename": "sprites/tinted_images/white/units/swordsman/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42392,7 +42392,7 @@ } }, { - "filename": "sprites/tinted_images/white/units/wizard/walk/up/1.png", + "filename": "sprites/tinted_images/white/units/swordsman/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42407,13 +42407,13 @@ }, "frame": { "x": 1191, - "y": 1814, + "y": 1804, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/wizard/walk/up/2.png", + "filename": "sprites/tinted_images/white/units/swordsman/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42434,7 +42434,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/animations/capture/0.png", + "filename": "sprites/tinted_images/white/units/swordsman/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42455,7 +42455,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/animations/capture/1.png", + "filename": "sprites/tinted_images/yellow/animations/capture/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42476,7 +42476,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/animations/capture/10.png", + "filename": "sprites/tinted_images/yellow/animations/capture/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42497,7 +42497,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/animations/capture/11.png", + "filename": "sprites/tinted_images/yellow/animations/capture/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42518,7 +42518,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/animations/capture/12.png", + "filename": "sprites/tinted_images/yellow/animations/capture/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42539,7 +42539,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/animations/capture/13.png", + "filename": "sprites/tinted_images/yellow/animations/capture/12.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42560,7 +42560,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/animations/capture/14.png", + "filename": "sprites/tinted_images/yellow/animations/capture/13.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42581,7 +42581,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/animations/capture/2.png", + "filename": "sprites/tinted_images/yellow/animations/capture/14.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42602,7 +42602,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/animations/capture/3.png", + "filename": "sprites/tinted_images/yellow/animations/capture/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42623,7 +42623,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/animations/capture/4.png", + "filename": "sprites/tinted_images/yellow/animations/capture/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42644,7 +42644,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/ui/icons/big-select.png", + "filename": "sprites/tinted_images/yellow/animations/capture/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42665,7 +42665,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/ui/icons/boot-check.png", + "filename": "sprites/tinted_images/yellow/ui/icons/big-select.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42686,7 +42686,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/ui/icons/boot.png", + "filename": "sprites/tinted_images/yellow/ui/icons/boot-check.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42707,7 +42707,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/ui/icons/crossed-swords.png", + "filename": "sprites/tinted_images/yellow/ui/icons/boot.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42728,7 +42728,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/ui/tile-select/0.png", + "filename": "sprites/tinted_images/yellow/ui/icons/crossed-swords.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42749,7 +42749,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/archer/attack/0.png", + "filename": "sprites/tinted_images/yellow/ui/tile-select/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42770,7 +42770,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/archer/attack/1.png", + "filename": "sprites/tinted_images/yellow/units/archer/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -42784,12 +42784,33 @@ "h": 32 }, "frame": { - "x": 1833, + "x": 1834, "y": 1, "w": 32, "h": 32 } }, + { + "filename": "sprites/tinted_images/yellow/units/archer/attack/1.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 32 + }, + "frame": { + "x": 1834, + "y": 35, + "w": 32, + "h": 32 + } + }, { "filename": "sprites/tinted_images/yellow/units/archer/attack/2.png", "rotated": false, @@ -42806,7 +42827,7 @@ }, "frame": { "x": 1833, - "y": 35, + "y": 69, "w": 32, "h": 32 } @@ -42827,7 +42848,7 @@ }, "frame": { "x": 1833, - "y": 69, + "y": 103, "w": 32, "h": 32 } @@ -42848,7 +42869,7 @@ }, "frame": { "x": 1833, - "y": 103, + "y": 137, "w": 32, "h": 32 } @@ -42869,7 +42890,7 @@ }, "frame": { "x": 1833, - "y": 137, + "y": 171, "w": 32, "h": 32 } @@ -42890,7 +42911,7 @@ }, "frame": { "x": 1833, - "y": 171, + "y": 205, "w": 32, "h": 32 } @@ -42911,7 +42932,7 @@ }, "frame": { "x": 1833, - "y": 205, + "y": 239, "w": 32, "h": 32 } @@ -42932,7 +42953,7 @@ }, "frame": { "x": 1833, - "y": 239, + "y": 273, "w": 32, "h": 32 } @@ -42953,7 +42974,7 @@ }, "frame": { "x": 1833, - "y": 273, + "y": 307, "w": 32, "h": 32 } @@ -42974,7 +42995,7 @@ }, "frame": { "x": 1833, - "y": 307, + "y": 341, "w": 32, "h": 32 } @@ -42995,7 +43016,7 @@ }, "frame": { "x": 1833, - "y": 341, + "y": 375, "w": 32, "h": 32 } @@ -43016,7 +43037,7 @@ }, "frame": { "x": 1833, - "y": 375, + "y": 409, "w": 32, "h": 32 } @@ -43037,7 +43058,7 @@ }, "frame": { "x": 1833, - "y": 409, + "y": 443, "w": 32, "h": 32 } @@ -43058,7 +43079,7 @@ }, "frame": { "x": 1833, - "y": 443, + "y": 477, "w": 32, "h": 32 } @@ -43079,7 +43100,7 @@ }, "frame": { "x": 1833, - "y": 477, + "y": 511, "w": 32, "h": 32 } @@ -43100,7 +43121,7 @@ }, "frame": { "x": 1833, - "y": 511, + "y": 545, "w": 32, "h": 32 } @@ -43121,7 +43142,7 @@ }, "frame": { "x": 1833, - "y": 545, + "y": 579, "w": 32, "h": 32 } @@ -43142,7 +43163,7 @@ }, "frame": { "x": 1833, - "y": 579, + "y": 613, "w": 32, "h": 32 } @@ -43163,7 +43184,7 @@ }, "frame": { "x": 1833, - "y": 613, + "y": 647, "w": 32, "h": 32 } @@ -43184,7 +43205,7 @@ }, "frame": { "x": 1833, - "y": 647, + "y": 681, "w": 32, "h": 32 } @@ -43205,7 +43226,7 @@ }, "frame": { "x": 1833, - "y": 681, + "y": 715, "w": 32, "h": 32 } @@ -43226,7 +43247,7 @@ }, "frame": { "x": 1833, - "y": 715, + "y": 749, "w": 32, "h": 32 } @@ -43247,7 +43268,7 @@ }, "frame": { "x": 1833, - "y": 749, + "y": 783, "w": 32, "h": 32 } @@ -43268,7 +43289,7 @@ }, "frame": { "x": 1833, - "y": 783, + "y": 817, "w": 32, "h": 32 } @@ -43289,7 +43310,7 @@ }, "frame": { "x": 1833, - "y": 817, + "y": 851, "w": 32, "h": 32 } @@ -43310,7 +43331,7 @@ }, "frame": { "x": 1833, - "y": 851, + "y": 885, "w": 32, "h": 32 } @@ -43331,7 +43352,7 @@ }, "frame": { "x": 1833, - "y": 885, + "y": 919, "w": 32, "h": 32 } @@ -43352,7 +43373,7 @@ }, "frame": { "x": 1833, - "y": 919, + "y": 953, "w": 32, "h": 32 } @@ -43373,7 +43394,7 @@ }, "frame": { "x": 1833, - "y": 953, + "y": 987, "w": 32, "h": 32 } @@ -43394,7 +43415,7 @@ }, "frame": { "x": 1833, - "y": 987, + "y": 1021, "w": 32, "h": 32 } @@ -43415,7 +43436,7 @@ }, "frame": { "x": 1833, - "y": 1021, + "y": 1055, "w": 32, "h": 32 } @@ -43436,7 +43457,7 @@ }, "frame": { "x": 1833, - "y": 1055, + "y": 1089, "w": 32, "h": 32 } @@ -43457,7 +43478,7 @@ }, "frame": { "x": 1833, - "y": 1089, + "y": 1123, "w": 32, "h": 32 } @@ -43478,7 +43499,7 @@ }, "frame": { "x": 1833, - "y": 1123, + "y": 1157, "w": 32, "h": 32 } @@ -43499,7 +43520,7 @@ }, "frame": { "x": 1833, - "y": 1157, + "y": 1191, "w": 32, "h": 32 } @@ -43520,7 +43541,7 @@ }, "frame": { "x": 1824, - "y": 1191, + "y": 1225, "w": 32, "h": 32 } @@ -43540,8 +43561,8 @@ "h": 32 }, "frame": { - "x": 1821, - "y": 1225, + "x": 1803, + "y": 1259, "w": 32, "h": 32 } @@ -43562,7 +43583,7 @@ }, "frame": { "x": 1803, - "y": 1259, + "y": 1293, "w": 32, "h": 32 } @@ -43583,7 +43604,7 @@ }, "frame": { "x": 1803, - "y": 1293, + "y": 1327, "w": 32, "h": 32 } @@ -43604,7 +43625,7 @@ }, "frame": { "x": 1803, - "y": 1327, + "y": 1361, "w": 32, "h": 32 } @@ -43625,7 +43646,7 @@ }, "frame": { "x": 1803, - "y": 1361, + "y": 1395, "w": 32, "h": 32 } @@ -43646,7 +43667,7 @@ }, "frame": { "x": 1803, - "y": 1395, + "y": 1429, "w": 32, "h": 32 } @@ -43667,7 +43688,7 @@ }, "frame": { "x": 1803, - "y": 1429, + "y": 1463, "w": 32, "h": 32 } @@ -43688,7 +43709,7 @@ }, "frame": { "x": 1803, - "y": 1463, + "y": 1497, "w": 32, "h": 32 } @@ -43709,7 +43730,7 @@ }, "frame": { "x": 1803, - "y": 1497, + "y": 1531, "w": 32, "h": 32 } @@ -43730,7 +43751,7 @@ }, "frame": { "x": 1803, - "y": 1531, + "y": 1565, "w": 32, "h": 32 } @@ -43751,7 +43772,7 @@ }, "frame": { "x": 1803, - "y": 1565, + "y": 1599, "w": 32, "h": 32 } @@ -43772,7 +43793,7 @@ }, "frame": { "x": 1803, - "y": 1599, + "y": 1633, "w": 32, "h": 32 } @@ -43793,7 +43814,7 @@ }, "frame": { "x": 1803, - "y": 1633, + "y": 1667, "w": 32, "h": 32 } @@ -43814,7 +43835,7 @@ }, "frame": { "x": 1803, - "y": 1667, + "y": 1701, "w": 32, "h": 32 } @@ -43835,7 +43856,7 @@ }, "frame": { "x": 1803, - "y": 1701, + "y": 1735, "w": 32, "h": 32 } @@ -43856,7 +43877,7 @@ }, "frame": { "x": 1803, - "y": 1735, + "y": 1769, "w": 32, "h": 32 } @@ -43877,7 +43898,7 @@ }, "frame": { "x": 1803, - "y": 1769, + "y": 1803, "w": 32, "h": 32 } @@ -43897,8 +43918,8 @@ "h": 32 }, "frame": { - "x": 1803, - "y": 1803, + "x": 1, + "y": 1859, "w": 32, "h": 32 } @@ -43918,7 +43939,7 @@ "h": 32 }, "frame": { - "x": 1, + "x": 35, "y": 1859, "w": 32, "h": 32 @@ -43939,7 +43960,7 @@ "h": 32 }, "frame": { - "x": 35, + "x": 69, "y": 1859, "w": 32, "h": 32 @@ -43960,7 +43981,7 @@ "h": 32 }, "frame": { - "x": 69, + "x": 103, "y": 1859, "w": 32, "h": 32 @@ -43981,7 +44002,7 @@ "h": 32 }, "frame": { - "x": 103, + "x": 137, "y": 1859, "w": 32, "h": 32 @@ -44002,7 +44023,7 @@ "h": 32 }, "frame": { - "x": 137, + "x": 171, "y": 1859, "w": 32, "h": 32 @@ -44023,7 +44044,7 @@ "h": 32 }, "frame": { - "x": 171, + "x": 205, "y": 1859, "w": 32, "h": 32 @@ -44044,7 +44065,7 @@ "h": 32 }, "frame": { - "x": 205, + "x": 239, "y": 1859, "w": 32, "h": 32 @@ -44065,7 +44086,7 @@ "h": 32 }, "frame": { - "x": 239, + "x": 273, "y": 1859, "w": 32, "h": 32 @@ -44086,7 +44107,7 @@ "h": 32 }, "frame": { - "x": 273, + "x": 307, "y": 1859, "w": 32, "h": 32 @@ -44107,7 +44128,7 @@ "h": 32 }, "frame": { - "x": 307, + "x": 341, "y": 1859, "w": 32, "h": 32 @@ -44128,7 +44149,7 @@ "h": 32 }, "frame": { - "x": 341, + "x": 375, "y": 1859, "w": 32, "h": 32 @@ -44148,27 +44169,6 @@ "w": 32, "h": 32 }, - "frame": { - "x": 375, - "y": 1859, - "w": 32, - "h": 32 - } - }, - { - "filename": "sprites/tinted_images/yellow/units/crossbow/death/4.png", - "rotated": false, - "trimmed": false, - "sourceSize": { - "w": 32, - "h": 32 - }, - "spriteSourceSize": { - "x": 0, - "y": 0, - "w": 32, - "h": 32 - }, "frame": { "x": 409, "y": 1859, @@ -44177,7 +44177,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/crossbow/death/5.png", + "filename": "sprites/tinted_images/yellow/units/crossbow/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44198,7 +44198,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/crossbow/death/6.png", + "filename": "sprites/tinted_images/yellow/units/crossbow/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44219,7 +44219,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/crossbow/idle/0.png", + "filename": "sprites/tinted_images/yellow/units/crossbow/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44240,7 +44240,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/crossbow/idle/1.png", + "filename": "sprites/tinted_images/yellow/units/crossbow/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44261,7 +44261,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/crossbow/idle/2.png", + "filename": "sprites/tinted_images/yellow/units/crossbow/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44282,7 +44282,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/crossbow/idle/3.png", + "filename": "sprites/tinted_images/yellow/units/crossbow/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44303,7 +44303,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/crossbow/walk/down/0.png", + "filename": "sprites/tinted_images/yellow/units/crossbow/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44324,7 +44324,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/crossbow/walk/down/1.png", + "filename": "sprites/tinted_images/yellow/units/crossbow/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44345,7 +44345,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/crossbow/walk/down/2.png", + "filename": "sprites/tinted_images/yellow/units/crossbow/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44366,7 +44366,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/crossbow/walk/left/0.png", + "filename": "sprites/tinted_images/yellow/units/crossbow/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44387,7 +44387,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/crossbow/walk/left/1.png", + "filename": "sprites/tinted_images/yellow/units/crossbow/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44408,7 +44408,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/crossbow/walk/left/2.png", + "filename": "sprites/tinted_images/yellow/units/crossbow/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44429,7 +44429,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/crossbow/walk/right/0.png", + "filename": "sprites/tinted_images/yellow/units/crossbow/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44450,7 +44450,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/crossbow/walk/right/1.png", + "filename": "sprites/tinted_images/yellow/units/crossbow/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44471,7 +44471,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/crossbow/walk/right/2.png", + "filename": "sprites/tinted_images/yellow/units/crossbow/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44492,7 +44492,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/crossbow/walk/up/0.png", + "filename": "sprites/tinted_images/yellow/units/crossbow/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44513,7 +44513,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/crossbow/walk/up/1.png", + "filename": "sprites/tinted_images/yellow/units/crossbow/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44534,7 +44534,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/crossbow/walk/up/2.png", + "filename": "sprites/tinted_images/yellow/units/crossbow/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44555,7 +44555,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/attack/0.png", + "filename": "sprites/tinted_images/yellow/units/crossbow/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44576,7 +44576,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/attack/1.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44597,7 +44597,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/attack/2.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44618,7 +44618,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/attack/3.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44639,7 +44639,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/attack/4.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44654,13 +44654,13 @@ }, "frame": { "x": 1191, - "y": 1848, + "y": 1838, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/attack/5.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44681,7 +44681,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/death/0.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44702,7 +44702,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/death/1.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44723,7 +44723,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/death/2.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44744,7 +44744,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/death/3.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44765,7 +44765,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/death/4.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44786,7 +44786,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/death/5.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44807,7 +44807,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/death/6.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44828,7 +44828,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/idle/0.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44849,7 +44849,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/idle/1.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44870,7 +44870,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/idle/2.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44891,7 +44891,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/idle/3.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44912,7 +44912,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/walk/down/0.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44933,7 +44933,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/walk/down/1.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44954,7 +44954,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/walk/down/2.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44975,7 +44975,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/walk/down/3.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -44996,7 +44996,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/walk/left/0.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45017,7 +45017,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/walk/left/1.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45038,7 +45038,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/walk/left/2.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45052,14 +45052,14 @@ "h": 32 }, "frame": { - "x": 1867, + "x": 1868, "y": 1, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/walk/left/3.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45073,14 +45073,14 @@ "h": 32 }, "frame": { - "x": 1867, + "x": 1868, "y": 35, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/walk/right/0.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45101,7 +45101,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/walk/right/1.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45122,7 +45122,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/walk/right/2.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45143,7 +45143,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/walk/right/3.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45164,7 +45164,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/walk/up/0.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45185,7 +45185,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/walk/up/1.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45206,7 +45206,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/walk/up/2.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45227,7 +45227,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/walk/up/3.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45248,7 +45248,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/attack/0.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45269,7 +45269,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/attack/1.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45290,7 +45290,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/attack/2.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45311,7 +45311,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/attack/3.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45332,7 +45332,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/attack/4.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45353,7 +45353,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/attack/5.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45374,7 +45374,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/death/0.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45395,7 +45395,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/death/1.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45416,7 +45416,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/death/10.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45437,7 +45437,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/death/2.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/death/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45458,7 +45458,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/death/3.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45479,7 +45479,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/death/4.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45500,7 +45500,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/death/5.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45521,7 +45521,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/death/6.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45542,7 +45542,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/death/7.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45563,7 +45563,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/death/8.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45584,7 +45584,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/death/9.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45605,7 +45605,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/idle/0.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/death/9.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45626,7 +45626,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/idle/1.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45647,7 +45647,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/idle/2.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45668,7 +45668,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/idle/3.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45689,7 +45689,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/walk/down/0.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45710,7 +45710,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/walk/down/1.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45731,7 +45731,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/walk/down/2.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45752,7 +45752,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/walk/down/3.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45773,7 +45773,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/walk/left/0.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45787,14 +45787,14 @@ "h": 32 }, "frame": { - "x": 1858, + "x": 1867, "y": 1191, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/golem/walk/left/1.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45808,14 +45808,14 @@ "h": 32 }, "frame": { - "x": 1855, + "x": 1858, "y": 1225, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/golem/walk/left/2.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45836,7 +45836,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/walk/left/3.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45857,7 +45857,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/walk/right/0.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45878,7 +45878,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/walk/right/1.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45899,7 +45899,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/walk/right/2.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45920,7 +45920,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/walk/right/3.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45941,7 +45941,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/walk/up/0.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45962,7 +45962,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/walk/up/1.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -45983,7 +45983,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/walk/up/2.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46004,7 +46004,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/golem/walk/up/3.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46025,7 +46025,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/attack/0.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46046,7 +46046,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/attack/1.png", + "filename": "sprites/tinted_images/yellow/units/knight/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46067,7 +46067,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/attack/2.png", + "filename": "sprites/tinted_images/yellow/units/knight/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46088,7 +46088,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/attack/3.png", + "filename": "sprites/tinted_images/yellow/units/knight/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46109,7 +46109,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/attack/4.png", + "filename": "sprites/tinted_images/yellow/units/knight/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46130,7 +46130,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/attack/5.png", + "filename": "sprites/tinted_images/yellow/units/knight/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46151,7 +46151,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/death/0.png", + "filename": "sprites/tinted_images/yellow/units/knight/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46172,7 +46172,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/death/1.png", + "filename": "sprites/tinted_images/yellow/units/knight/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46193,7 +46193,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/death/2.png", + "filename": "sprites/tinted_images/yellow/units/knight/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46214,7 +46214,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/death/3.png", + "filename": "sprites/tinted_images/yellow/units/knight/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46235,7 +46235,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/death/4.png", + "filename": "sprites/tinted_images/yellow/units/knight/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46256,7 +46256,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/death/5.png", + "filename": "sprites/tinted_images/yellow/units/knight/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46277,7 +46277,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/death/8.png", + "filename": "sprites/tinted_images/yellow/units/knight/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46298,7 +46298,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/idle/0.png", + "filename": "sprites/tinted_images/yellow/units/knight/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46319,7 +46319,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/idle/1.png", + "filename": "sprites/tinted_images/yellow/units/knight/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46340,7 +46340,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/idle/2.png", + "filename": "sprites/tinted_images/yellow/units/knight/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46361,7 +46361,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/idle/3.png", + "filename": "sprites/tinted_images/yellow/units/knight/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46382,7 +46382,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/walk/down/0.png", + "filename": "sprites/tinted_images/yellow/units/knight/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46403,7 +46403,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/walk/down/1.png", + "filename": "sprites/tinted_images/yellow/units/knight/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46424,7 +46424,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/walk/down/2.png", + "filename": "sprites/tinted_images/yellow/units/knight/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46445,7 +46445,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/walk/down/3.png", + "filename": "sprites/tinted_images/yellow/units/knight/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46466,7 +46466,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/walk/left/0.png", + "filename": "sprites/tinted_images/yellow/units/knight/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46487,7 +46487,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/walk/left/1.png", + "filename": "sprites/tinted_images/yellow/units/knight/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46508,7 +46508,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/walk/left/2.png", + "filename": "sprites/tinted_images/yellow/units/knight/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46529,7 +46529,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/walk/left/3.png", + "filename": "sprites/tinted_images/yellow/units/knight/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46550,7 +46550,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/walk/right/0.png", + "filename": "sprites/tinted_images/yellow/units/knight/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46571,7 +46571,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/walk/right/1.png", + "filename": "sprites/tinted_images/yellow/units/knight/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46592,7 +46592,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/walk/right/2.png", + "filename": "sprites/tinted_images/yellow/units/knight/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46613,7 +46613,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/walk/right/3.png", + "filename": "sprites/tinted_images/yellow/units/knight/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46634,7 +46634,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/walk/up/0.png", + "filename": "sprites/tinted_images/yellow/units/knight/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46655,7 +46655,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/walk/up/1.png", + "filename": "sprites/tinted_images/yellow/units/knight/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46676,7 +46676,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/walk/up/2.png", + "filename": "sprites/tinted_images/yellow/units/knight/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46697,7 +46697,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/knight/walk/up/3.png", + "filename": "sprites/tinted_images/yellow/units/knight/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46718,7 +46718,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/attack/0.png", + "filename": "sprites/tinted_images/yellow/units/knight/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46739,7 +46739,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/attack/1.png", + "filename": "sprites/tinted_images/yellow/units/marksman/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46760,7 +46760,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/attack/2.png", + "filename": "sprites/tinted_images/yellow/units/marksman/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46781,7 +46781,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/attack/3.png", + "filename": "sprites/tinted_images/yellow/units/marksman/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46802,7 +46802,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/attack/4.png", + "filename": "sprites/tinted_images/yellow/units/marksman/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46823,7 +46823,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/attack/5.png", + "filename": "sprites/tinted_images/yellow/units/marksman/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46844,7 +46844,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/death/0.png", + "filename": "sprites/tinted_images/yellow/units/marksman/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46865,7 +46865,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/death/1.png", + "filename": "sprites/tinted_images/yellow/units/marksman/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46886,7 +46886,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/death/10.png", + "filename": "sprites/tinted_images/yellow/units/marksman/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46907,7 +46907,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/death/2.png", + "filename": "sprites/tinted_images/yellow/units/marksman/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46928,7 +46928,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/death/3.png", + "filename": "sprites/tinted_images/yellow/units/marksman/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46943,13 +46943,13 @@ }, "frame": { "x": 1191, - "y": 1882, + "y": 1872, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/death/4.png", + "filename": "sprites/tinted_images/yellow/units/marksman/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46970,7 +46970,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/death/5.png", + "filename": "sprites/tinted_images/yellow/units/marksman/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -46991,7 +46991,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/death/6.png", + "filename": "sprites/tinted_images/yellow/units/marksman/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47012,7 +47012,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/idle/1.png", + "filename": "sprites/tinted_images/yellow/units/marksman/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47033,7 +47033,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/idle/2.png", + "filename": "sprites/tinted_images/yellow/units/marksman/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47054,7 +47054,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/idle/3.png", + "filename": "sprites/tinted_images/yellow/units/marksman/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47075,7 +47075,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/walk/down/0.png", + "filename": "sprites/tinted_images/yellow/units/marksman/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47096,7 +47096,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/walk/down/1.png", + "filename": "sprites/tinted_images/yellow/units/marksman/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47117,7 +47117,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/walk/down/2.png", + "filename": "sprites/tinted_images/yellow/units/marksman/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47138,7 +47138,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/walk/down/3.png", + "filename": "sprites/tinted_images/yellow/units/marksman/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47159,7 +47159,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/walk/left/0.png", + "filename": "sprites/tinted_images/yellow/units/marksman/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47180,7 +47180,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/walk/left/1.png", + "filename": "sprites/tinted_images/yellow/units/marksman/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47201,7 +47201,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/walk/left/2.png", + "filename": "sprites/tinted_images/yellow/units/marksman/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47222,7 +47222,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/walk/left/3.png", + "filename": "sprites/tinted_images/yellow/units/marksman/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47243,7 +47243,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/walk/right/0.png", + "filename": "sprites/tinted_images/yellow/units/marksman/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47264,7 +47264,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/walk/right/1.png", + "filename": "sprites/tinted_images/yellow/units/marksman/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47285,7 +47285,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/walk/right/2.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47306,7 +47306,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/walk/right/3.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47327,7 +47327,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/walk/up/0.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47348,7 +47348,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/walk/up/1.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47362,14 +47362,14 @@ "h": 32 }, "frame": { - "x": 1901, + "x": 1902, "y": 1, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/walk/up/2.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47383,14 +47383,14 @@ "h": 32 }, "frame": { - "x": 1901, + "x": 1902, "y": 35, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/walk/up/3.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47411,7 +47411,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/rider/attack/0.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47432,7 +47432,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/rider/attack/1.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47453,7 +47453,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/rider/attack/2.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/death/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47474,7 +47474,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/rider/attack/3.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47495,7 +47495,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/rider/attack/4.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47516,7 +47516,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/rider/attack/5.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47537,7 +47537,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/rider/death/0.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47558,7 +47558,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/rider/death/1.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47579,7 +47579,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/rider/death/2.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47600,7 +47600,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/rider/death/3.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47621,7 +47621,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/rider/death/4.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47642,7 +47642,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/rider/idle/0.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47663,7 +47663,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/rider/idle/1.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47684,7 +47684,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/rider/idle/2.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47705,7 +47705,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/rider/idle/3.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47726,7 +47726,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/rider/walk/down/0.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47747,7 +47747,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/rider/walk/down/1.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47768,7 +47768,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/rider/walk/down/2.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47789,7 +47789,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/rider/walk/down/3.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47810,7 +47810,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/rider/walk/left/0.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47831,7 +47831,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/rider/walk/left/1.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47852,7 +47852,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/rider/walk/left/2.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47873,7 +47873,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/rider/walk/left/3.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47894,7 +47894,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/rider/walk/right/0.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47915,7 +47915,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/rider/walk/right/1.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47936,7 +47936,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/rider/walk/right/2.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47957,7 +47957,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/rider/walk/right/3.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47978,7 +47978,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/rider/walk/up/2.png", + "filename": "sprites/tinted_images/yellow/units/pillager/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -47999,7 +47999,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/attack/0.png", + "filename": "sprites/tinted_images/yellow/units/pillager/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48020,7 +48020,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/attack/1.png", + "filename": "sprites/tinted_images/yellow/units/pillager/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48041,7 +48041,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/attack/2.png", + "filename": "sprites/tinted_images/yellow/units/pillager/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48062,7 +48062,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/attack/4.png", + "filename": "sprites/tinted_images/yellow/units/pillager/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48083,7 +48083,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/attack/5.png", + "filename": "sprites/tinted_images/yellow/units/pillager/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48097,14 +48097,14 @@ "h": 32 }, "frame": { - "x": 1892, + "x": 1901, "y": 1191, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/death/0.png", + "filename": "sprites/tinted_images/yellow/units/pillager/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48118,14 +48118,14 @@ "h": 32 }, "frame": { - "x": 1889, + "x": 1892, "y": 1225, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/death/1.png", + "filename": "sprites/tinted_images/yellow/units/pillager/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48146,7 +48146,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/death/2.png", + "filename": "sprites/tinted_images/yellow/units/pillager/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48167,7 +48167,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/death/3.png", + "filename": "sprites/tinted_images/yellow/units/pillager/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48188,7 +48188,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/death/4.png", + "filename": "sprites/tinted_images/yellow/units/pillager/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48209,7 +48209,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/idle/0.png", + "filename": "sprites/tinted_images/yellow/units/pillager/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48230,7 +48230,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/idle/1.png", + "filename": "sprites/tinted_images/yellow/units/pillager/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48251,7 +48251,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/idle/3.png", + "filename": "sprites/tinted_images/yellow/units/pillager/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48272,7 +48272,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/prepare/1.png", + "filename": "sprites/tinted_images/yellow/units/pillager/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48293,7 +48293,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/walk/down/0.png", + "filename": "sprites/tinted_images/yellow/units/pillager/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48314,7 +48314,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/walk/down/1.png", + "filename": "sprites/tinted_images/yellow/units/pillager/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48335,7 +48335,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/walk/down/2.png", + "filename": "sprites/tinted_images/yellow/units/pillager/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48356,7 +48356,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/walk/down/3.png", + "filename": "sprites/tinted_images/yellow/units/pillager/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48377,7 +48377,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/walk/left/0.png", + "filename": "sprites/tinted_images/yellow/units/pillager/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48398,7 +48398,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/walk/left/1.png", + "filename": "sprites/tinted_images/yellow/units/pillager/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48419,7 +48419,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/walk/left/2.png", + "filename": "sprites/tinted_images/yellow/units/pillager/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48440,7 +48440,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/walk/left/3.png", + "filename": "sprites/tinted_images/yellow/units/pillager/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48461,7 +48461,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/walk/right/0.png", + "filename": "sprites/tinted_images/yellow/units/pillager/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48482,7 +48482,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/walk/right/1.png", + "filename": "sprites/tinted_images/yellow/units/pillager/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48503,7 +48503,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/walk/right/2.png", + "filename": "sprites/tinted_images/yellow/units/pillager/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48524,7 +48524,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/walk/right/3.png", + "filename": "sprites/tinted_images/yellow/units/pillager/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48545,7 +48545,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/walk/up/0.png", + "filename": "sprites/tinted_images/yellow/units/pillager/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48566,7 +48566,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/walk/up/1.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48587,7 +48587,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/walk/up/2.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48608,7 +48608,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/walk/up/3.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48629,7 +48629,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/attack/0.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48650,7 +48650,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/attack/1.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48671,7 +48671,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/attack/2.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48692,7 +48692,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/attack/3.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48713,7 +48713,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/attack/4.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48734,7 +48734,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/attack/5.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48755,7 +48755,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/death/0.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48776,7 +48776,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/death/1.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48797,7 +48797,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/death/2.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48818,7 +48818,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/death/3.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48839,7 +48839,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/idle/0.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/prepare/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48860,7 +48860,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/idle/1.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48881,7 +48881,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/idle/2.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48902,7 +48902,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/idle/3.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48923,7 +48923,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/walk/down/0.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48944,7 +48944,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/walk/down/1.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48965,7 +48965,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/walk/down/2.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -48986,7 +48986,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/walk/left/0.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -49007,7 +49007,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/walk/left/1.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -49028,7 +49028,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/walk/left/2.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -49049,7 +49049,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/walk/right/0.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -49070,7 +49070,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/walk/right/1.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -49091,7 +49091,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/walk/right/2.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -49112,7 +49112,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/walk/up/0.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -49133,7 +49133,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/walk/up/1.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -49154,7 +49154,7 @@ } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/walk/up/2.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -49174,6 +49174,27 @@ "h": 32 } }, + { + "filename": "sprites/tinted_images/yellow/units/swordsman/walk/up/3.png", + "rotated": false, + "trimmed": false, + "sourceSize": { + "w": 32, + "h": 32 + }, + "spriteSourceSize": { + "x": 0, + "y": 0, + "w": 32, + "h": 32 + }, + "frame": { + "x": 1055, + "y": 1916, + "w": 32, + "h": 32 + } + }, { "filename": "sprites/greyscale/ui/icons/bar-5.png", "rotated": false, @@ -49189,8 +49210,8 @@ "h": 6 }, "frame": { - "x": 1905, - "y": 1259, + "x": 1021, + "y": 1951, "w": 26, "h": 6 } @@ -49211,7 +49232,7 @@ }, "frame": { "x": 1905, - "y": 1267, + "y": 1259, "w": 25, "h": 2 } @@ -49232,7 +49253,7 @@ }, "frame": { "x": 1905, - "y": 1271, + "y": 1263, "w": 25, "h": 2 } @@ -49253,7 +49274,7 @@ }, "frame": { "x": 1905, - "y": 1275, + "y": 1267, "w": 25, "h": 2 } @@ -49274,7 +49295,7 @@ }, "frame": { "x": 1905, - "y": 1279, + "y": 1271, "w": 25, "h": 2 } @@ -49295,7 +49316,7 @@ }, "frame": { "x": 1905, - "y": 1283, + "y": 1275, "w": 25, "h": 2 } @@ -49357,7 +49378,7 @@ "h": 4 }, "frame": { - "x": 1021, + "x": 1049, "y": 1951, "w": 18, "h": 4 @@ -49399,8 +49420,8 @@ "h": 4 }, "frame": { - "x": 1041, - "y": 1951, + "x": 1163, + "y": 713, "w": 18, "h": 4 } @@ -49421,7 +49442,7 @@ }, "frame": { "x": 1163, - "y": 713, + "y": 719, "w": 18, "h": 4 } @@ -49442,7 +49463,7 @@ }, "frame": { "x": 1163, - "y": 719, + "y": 725, "w": 18, "h": 4 } @@ -49463,7 +49484,7 @@ }, "frame": { "x": 1163, - "y": 725, + "y": 731, "w": 18, "h": 4 } @@ -49484,7 +49505,7 @@ }, "frame": { "x": 1163, - "y": 731, + "y": 737, "w": 18, "h": 4 } @@ -49505,7 +49526,7 @@ }, "frame": { "x": 1163, - "y": 737, + "y": 743, "w": 18, "h": 4 } @@ -49526,7 +49547,7 @@ }, "frame": { "x": 1163, - "y": 743, + "y": 749, "w": 18, "h": 4 } @@ -49547,7 +49568,7 @@ }, "frame": { "x": 1163, - "y": 749, + "y": 755, "w": 18, "h": 4 } @@ -49568,7 +49589,7 @@ }, "frame": { "x": 1163, - "y": 755, + "y": 761, "w": 17, "h": 17 } @@ -49652,7 +49673,7 @@ }, "frame": { "x": 1163, - "y": 774, + "y": 780, "w": 16, "h": 16 } @@ -49673,7 +49694,7 @@ }, "frame": { "x": 1163, - "y": 792, + "y": 798, "w": 16, "h": 16 } @@ -49694,7 +49715,7 @@ }, "frame": { "x": 1163, - "y": 810, + "y": 816, "w": 16, "h": 16 } @@ -49715,7 +49736,7 @@ }, "frame": { "x": 1163, - "y": 828, + "y": 834, "w": 16, "h": 16 } @@ -49736,7 +49757,7 @@ }, "frame": { "x": 1163, - "y": 846, + "y": 852, "w": 16, "h": 16 } @@ -49756,8 +49777,8 @@ "h": 12 }, "frame": { - "x": 1923, - "y": 1225, + "x": 1001, + "y": 1151, "w": 9, "h": 12 } @@ -49777,8 +49798,8 @@ "h": 12 }, "frame": { - "x": 1923, - "y": 1239, + "x": 1089, + "y": 1254, "w": 9, "h": 12 } @@ -49798,7 +49819,7 @@ "h": 12 }, "frame": { - "x": 1001, + "x": 1012, "y": 1151, "w": 9, "h": 12 @@ -49819,7 +49840,7 @@ "h": 12 }, "frame": { - "x": 1089, + "x": 1100, "y": 1254, "w": 9, "h": 12 @@ -49840,7 +49861,7 @@ "h": 12 }, "frame": { - "x": 1012, + "x": 1023, "y": 1151, "w": 9, "h": 12 @@ -49861,7 +49882,7 @@ "h": 12 }, "frame": { - "x": 1100, + "x": 1111, "y": 1254, "w": 9, "h": 12 @@ -49966,7 +49987,7 @@ "h": 10 }, "frame": { - "x": 1023, + "x": 1034, "y": 1151, "w": 10, "h": 10 @@ -49987,7 +50008,7 @@ "h": 10 }, "frame": { - "x": 1111, + "x": 1122, "y": 1254, "w": 10, "h": 10 @@ -50008,8 +50029,8 @@ "h": 10 }, "frame": { - "x": 1926, - "y": 1191, + "x": 1212, + "y": 1192, "w": 7, "h": 10 } @@ -50050,8 +50071,8 @@ "h": 10 }, "frame": { - "x": 1926, - "y": 1203, + "x": 1212, + "y": 1204, "w": 7, "h": 10 } @@ -50071,8 +50092,8 @@ "h": 10 }, "frame": { - "x": 1035, - "y": 1151, + "x": 1926, + "y": 1225, "w": 7, "h": 10 } @@ -50113,7 +50134,7 @@ "h": 32 }, "frame": { - "x": 1, + "x": 35, "y": 1213, "w": 32, "h": 32 @@ -50134,7 +50155,7 @@ "h": 32 }, "frame": { - "x": 1, + "x": 35, "y": 1213, "w": 32, "h": 32 @@ -50155,7 +50176,7 @@ "h": 32 }, "frame": { - "x": 1, + "x": 35, "y": 1213, "w": 32, "h": 32 @@ -50176,7 +50197,7 @@ "h": 32 }, "frame": { - "x": 1, + "x": 35, "y": 1213, "w": 32, "h": 32 @@ -50197,7 +50218,7 @@ "h": 32 }, "frame": { - "x": 35, + "x": 69, "y": 1213, "w": 32, "h": 32 @@ -50218,7 +50239,7 @@ "h": 32 }, "frame": { - "x": 35, + "x": 69, "y": 1213, "w": 32, "h": 32 @@ -50239,7 +50260,7 @@ "h": 32 }, "frame": { - "x": 35, + "x": 69, "y": 1213, "w": 32, "h": 32 @@ -50260,7 +50281,7 @@ "h": 32 }, "frame": { - "x": 35, + "x": 69, "y": 1213, "w": 32, "h": 32 @@ -50281,7 +50302,7 @@ "h": 32 }, "frame": { - "x": 69, + "x": 103, "y": 1213, "w": 32, "h": 32 @@ -50302,7 +50323,7 @@ "h": 32 }, "frame": { - "x": 69, + "x": 103, "y": 1213, "w": 32, "h": 32 @@ -50323,7 +50344,7 @@ "h": 32 }, "frame": { - "x": 69, + "x": 103, "y": 1213, "w": 32, "h": 32 @@ -50344,7 +50365,7 @@ "h": 32 }, "frame": { - "x": 69, + "x": 103, "y": 1213, "w": 32, "h": 32 @@ -50365,7 +50386,7 @@ "h": 32 }, "frame": { - "x": 103, + "x": 137, "y": 1213, "w": 32, "h": 32 @@ -50386,7 +50407,7 @@ "h": 32 }, "frame": { - "x": 103, + "x": 137, "y": 1213, "w": 32, "h": 32 @@ -50407,7 +50428,7 @@ "h": 32 }, "frame": { - "x": 103, + "x": 137, "y": 1213, "w": 32, "h": 32 @@ -50428,7 +50449,7 @@ "h": 32 }, "frame": { - "x": 103, + "x": 137, "y": 1213, "w": 32, "h": 32 @@ -50449,7 +50470,7 @@ "h": 32 }, "frame": { - "x": 137, + "x": 171, "y": 1213, "w": 32, "h": 32 @@ -50470,7 +50491,7 @@ "h": 32 }, "frame": { - "x": 137, + "x": 171, "y": 1213, "w": 32, "h": 32 @@ -50491,7 +50512,7 @@ "h": 32 }, "frame": { - "x": 137, + "x": 171, "y": 1213, "w": 32, "h": 32 @@ -51667,7 +51688,7 @@ "h": 32 }, "frame": { - "x": 273, + "x": 307, "y": 1213, "w": 32, "h": 32 @@ -51688,7 +51709,7 @@ "h": 32 }, "frame": { - "x": 273, + "x": 307, "y": 1213, "w": 32, "h": 32 @@ -51709,7 +51730,7 @@ "h": 32 }, "frame": { - "x": 273, + "x": 307, "y": 1213, "w": 32, "h": 32 @@ -51730,7 +51751,7 @@ "h": 32 }, "frame": { - "x": 273, + "x": 307, "y": 1213, "w": 32, "h": 32 @@ -51751,7 +51772,7 @@ "h": 32 }, "frame": { - "x": 273, + "x": 307, "y": 1213, "w": 32, "h": 32 @@ -51773,7 +51794,7 @@ }, "frame": { "x": 1905, - "y": 1267, + "y": 1259, "w": 25, "h": 2 } @@ -52003,8 +52024,8 @@ "h": 6 }, "frame": { - "x": 1905, - "y": 1259, + "x": 1021, + "y": 1951, "w": 26, "h": 6 } @@ -52024,8 +52045,8 @@ "h": 6 }, "frame": { - "x": 1905, - "y": 1259, + "x": 1021, + "y": 1951, "w": 26, "h": 6 } @@ -52045,8 +52066,8 @@ "h": 6 }, "frame": { - "x": 1905, - "y": 1259, + "x": 1021, + "y": 1951, "w": 26, "h": 6 } @@ -52066,8 +52087,8 @@ "h": 6 }, "frame": { - "x": 1905, - "y": 1259, + "x": 1021, + "y": 1951, "w": 26, "h": 6 } @@ -52087,8 +52108,8 @@ "h": 6 }, "frame": { - "x": 1905, - "y": 1259, + "x": 1021, + "y": 1951, "w": 26, "h": 6 } @@ -52108,7 +52129,7 @@ "h": 32 }, "frame": { - "x": 307, + "x": 341, "y": 1213, "w": 32, "h": 32 @@ -52150,7 +52171,7 @@ "h": 32 }, "frame": { - "x": 613, + "x": 647, "y": 1213, "w": 32, "h": 32 @@ -52171,7 +52192,7 @@ "h": 32 }, "frame": { - "x": 919, + "x": 953, "y": 1213, "w": 32, "h": 32 @@ -52192,7 +52213,7 @@ "h": 32 }, "frame": { - "x": 919, + "x": 953, "y": 1213, "w": 32, "h": 32 @@ -52213,8 +52234,8 @@ "h": 32 }, "frame": { - "x": 1178, - "y": 1191, + "x": 1142, + "y": 1202, "w": 32, "h": 32 } @@ -52235,7 +52256,7 @@ }, "frame": { "x": 1221, - "y": 205, + "y": 239, "w": 32, "h": 32 } @@ -52886,7 +52907,7 @@ }, "frame": { "x": 1221, - "y": 273, + "y": 307, "w": 32, "h": 32 } @@ -52907,7 +52928,7 @@ }, "frame": { "x": 1221, - "y": 511, + "y": 545, "w": 32, "h": 32 } @@ -52928,7 +52949,7 @@ }, "frame": { "x": 1221, - "y": 579, + "y": 613, "w": 32, "h": 32 } @@ -52948,7 +52969,7 @@ "h": 32 }, "frame": { - "x": 103, + "x": 137, "y": 1247, "w": 32, "h": 32 @@ -52969,7 +52990,7 @@ "h": 32 }, "frame": { - "x": 273, + "x": 307, "y": 1247, "w": 32, "h": 32 @@ -52990,7 +53011,7 @@ "h": 32 }, "frame": { - "x": 273, + "x": 307, "y": 1247, "w": 32, "h": 32 @@ -53011,7 +53032,7 @@ "h": 32 }, "frame": { - "x": 273, + "x": 307, "y": 1247, "w": 32, "h": 32 @@ -53032,7 +53053,7 @@ "h": 32 }, "frame": { - "x": 273, + "x": 307, "y": 1247, "w": 32, "h": 32 @@ -53053,7 +53074,7 @@ "h": 32 }, "frame": { - "x": 647, + "x": 681, "y": 1247, "w": 32, "h": 32 @@ -53074,14 +53095,14 @@ "h": 32 }, "frame": { - "x": 953, + "x": 987, "y": 1247, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/dragon/death/11.png", + "filename": "sprites/greyscale/units/dragoon/death/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53096,13 +53117,13 @@ }, "frame": { "x": 1255, - "y": 69, + "y": 103, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/dragon/death/8.png", + "filename": "sprites/greyscale/units/dragoon/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53117,13 +53138,13 @@ }, "frame": { "x": 1255, - "y": 69, + "y": 103, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/dragon/death/9.png", + "filename": "sprites/greyscale/units/dragoon/death/9.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53138,13 +53159,13 @@ }, "frame": { "x": 1255, - "y": 69, + "y": 103, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/golem/death/11.png", + "filename": "sprites/greyscale/units/halberdier/death/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53158,7 +53179,7 @@ "h": 32 }, "frame": { - "x": 1, + "x": 35, "y": 1281, "w": 32, "h": 32 @@ -53180,7 +53201,7 @@ }, "frame": { "x": 1289, - "y": 103, + "y": 137, "w": 32, "h": 32 } @@ -53201,13 +53222,13 @@ }, "frame": { "x": 1289, - "y": 103, + "y": 137, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/pikeman/idle/0.png", + "filename": "sprites/greyscale/units/marksman/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53221,14 +53242,14 @@ "h": 32 }, "frame": { - "x": 1289, - "y": 1021, + "x": 375, + "y": 1315, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/pikeman/death/11.png", + "filename": "sprites/greyscale/units/marksman/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53242,14 +53263,14 @@ "h": 32 }, "frame": { - "x": 1289, - "y": 1123, + "x": 681, + "y": 1315, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/pikeman/death/7.png", + "filename": "sprites/greyscale/units/pikeman/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53263,14 +53284,14 @@ "h": 32 }, "frame": { - "x": 1289, - "y": 1123, + "x": 919, + "y": 1315, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/pikeman/death/8.png", + "filename": "sprites/greyscale/units/pikeman/death/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53284,14 +53305,14 @@ "h": 32 }, "frame": { - "x": 1289, - "y": 1123, + "x": 1021, + "y": 1305, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/pikeman/death/9.png", + "filename": "sprites/greyscale/units/pikeman/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53305,14 +53326,14 @@ "h": 32 }, "frame": { - "x": 1289, - "y": 1123, + "x": 1021, + "y": 1305, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/attack/0.png", + "filename": "sprites/greyscale/units/pikeman/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53326,14 +53347,14 @@ "h": 32 }, "frame": { - "x": 681, - "y": 1315, + "x": 1021, + "y": 1305, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/attack/1.png", + "filename": "sprites/greyscale/units/pikeman/death/9.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53347,14 +53368,14 @@ "h": 32 }, "frame": { - "x": 715, - "y": 1315, + "x": 1021, + "y": 1305, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/attack/2.png", + "filename": "sprites/tinted_images/white/units/pillager/attack/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53368,14 +53389,14 @@ "h": 32 }, "frame": { - "x": 749, - "y": 1315, + "x": 1323, + "y": 579, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/attack/3.png", + "filename": "sprites/tinted_images/white/units/pillager/attack/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53389,14 +53410,14 @@ "h": 32 }, "frame": { - "x": 783, - "y": 1315, + "x": 1323, + "y": 613, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/attack/4.png", + "filename": "sprites/tinted_images/white/units/pillager/attack/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53410,14 +53431,14 @@ "h": 32 }, "frame": { - "x": 817, - "y": 1315, + "x": 1323, + "y": 647, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/attack/5.png", + "filename": "sprites/tinted_images/white/units/pillager/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53431,14 +53452,14 @@ "h": 32 }, "frame": { - "x": 851, - "y": 1315, + "x": 1323, + "y": 681, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/death/0.png", + "filename": "sprites/tinted_images/white/units/pillager/attack/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53452,14 +53473,14 @@ "h": 32 }, "frame": { - "x": 885, - "y": 1315, + "x": 1323, + "y": 715, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/death/1.png", + "filename": "sprites/tinted_images/white/units/pillager/attack/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53473,14 +53494,14 @@ "h": 32 }, "frame": { - "x": 919, - "y": 1315, + "x": 1323, + "y": 749, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/death/2.png", + "filename": "sprites/tinted_images/white/units/pillager/death/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53494,14 +53515,14 @@ "h": 32 }, "frame": { - "x": 953, - "y": 1315, + "x": 1323, + "y": 783, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/death/3.png", + "filename": "sprites/tinted_images/white/units/pillager/death/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53515,14 +53536,14 @@ "h": 32 }, "frame": { - "x": 987, - "y": 1315, + "x": 1323, + "y": 817, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/death/4.png", + "filename": "sprites/tinted_images/white/units/pillager/death/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53536,14 +53557,14 @@ "h": 32 }, "frame": { - "x": 1021, - "y": 1305, + "x": 1323, + "y": 851, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/rider/death/5.png", + "filename": "sprites/tinted_images/white/units/pillager/death/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53557,14 +53578,14 @@ "h": 32 }, "frame": { - "x": 1055, - "y": 1304, + "x": 1323, + "y": 885, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/rider/death/5.png", + "filename": "sprites/tinted_images/white/units/pillager/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53578,14 +53599,14 @@ "h": 32 }, "frame": { - "x": 1055, - "y": 1304, + "x": 1323, + "y": 919, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/rider/death/5.png", + "filename": "sprites/tinted_images/blue/units/pillager/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53599,14 +53620,14 @@ "h": 32 }, "frame": { - "x": 1055, - "y": 1304, + "x": 1323, + "y": 953, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/death/5.png", + "filename": "sprites/tinted_images/green/units/pillager/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53620,14 +53641,14 @@ "h": 32 }, "frame": { - "x": 1055, - "y": 1304, + "x": 1323, + "y": 953, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/rider/death/5.png", + "filename": "sprites/tinted_images/red/units/pillager/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53641,14 +53662,14 @@ "h": 32 }, "frame": { - "x": 1055, - "y": 1304, + "x": 1323, + "y": 953, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/rider/death/6.png", + "filename": "sprites/tinted_images/white/units/pillager/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53662,14 +53683,14 @@ "h": 32 }, "frame": { - "x": 1089, - "y": 1304, + "x": 1323, + "y": 953, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/rider/death/6.png", + "filename": "sprites/tinted_images/yellow/units/pillager/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53683,14 +53704,14 @@ "h": 32 }, "frame": { - "x": 1089, - "y": 1304, + "x": 1323, + "y": 953, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/rider/death/6.png", + "filename": "sprites/tinted_images/blue/units/pillager/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53704,14 +53725,14 @@ "h": 32 }, "frame": { - "x": 1089, - "y": 1304, + "x": 1323, + "y": 987, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/death/6.png", + "filename": "sprites/tinted_images/green/units/pillager/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53725,14 +53746,14 @@ "h": 32 }, "frame": { - "x": 1089, - "y": 1304, + "x": 1323, + "y": 987, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/rider/death/6.png", + "filename": "sprites/tinted_images/red/units/pillager/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53746,14 +53767,14 @@ "h": 32 }, "frame": { - "x": 1089, - "y": 1304, + "x": 1323, + "y": 987, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/rider/death/7.png", + "filename": "sprites/tinted_images/white/units/pillager/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53767,14 +53788,14 @@ "h": 32 }, "frame": { - "x": 1123, - "y": 1304, + "x": 1323, + "y": 987, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/rider/death/7.png", + "filename": "sprites/tinted_images/yellow/units/pillager/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53788,14 +53809,14 @@ "h": 32 }, "frame": { - "x": 1123, - "y": 1304, + "x": 1323, + "y": 987, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/rider/death/7.png", + "filename": "sprites/tinted_images/blue/units/pillager/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53809,14 +53830,14 @@ "h": 32 }, "frame": { - "x": 1123, - "y": 1304, + "x": 1323, + "y": 1021, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/death/7.png", + "filename": "sprites/tinted_images/green/units/pillager/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53830,14 +53851,14 @@ "h": 32 }, "frame": { - "x": 1123, - "y": 1304, + "x": 1323, + "y": 1021, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/rider/death/7.png", + "filename": "sprites/tinted_images/red/units/pillager/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53851,14 +53872,14 @@ "h": 32 }, "frame": { - "x": 1123, - "y": 1304, + "x": 1323, + "y": 1021, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/idle/0.png", + "filename": "sprites/tinted_images/white/units/pillager/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53872,14 +53893,14 @@ "h": 32 }, "frame": { - "x": 1157, - "y": 1304, + "x": 1323, + "y": 1021, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/idle/1.png", + "filename": "sprites/tinted_images/yellow/units/pillager/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53893,14 +53914,14 @@ "h": 32 }, "frame": { - "x": 1191, - "y": 1304, + "x": 1323, + "y": 1021, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/idle/2.png", + "filename": "sprites/tinted_images/white/units/pillager/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53914,14 +53935,14 @@ "h": 32 }, "frame": { - "x": 1225, - "y": 1293, + "x": 1323, + "y": 1055, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/idle/3.png", + "filename": "sprites/tinted_images/white/units/pillager/idle/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53935,14 +53956,14 @@ "h": 32 }, "frame": { - "x": 1259, - "y": 1293, + "x": 1323, + "y": 1089, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/walk/down/0.png", + "filename": "sprites/tinted_images/white/units/pillager/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53957,13 +53978,13 @@ }, "frame": { "x": 1323, - "y": 1, + "y": 1123, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/walk/down/1.png", + "filename": "sprites/tinted_images/white/units/pillager/idle/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53978,13 +53999,13 @@ }, "frame": { "x": 1323, - "y": 35, + "y": 1157, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/walk/down/2.png", + "filename": "sprites/tinted_images/white/units/pillager/walk/down/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -53999,13 +54020,13 @@ }, "frame": { "x": 1323, - "y": 69, + "y": 1191, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/walk/down/3.png", + "filename": "sprites/tinted_images/white/units/pillager/walk/down/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54019,14 +54040,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 103, + "x": 1314, + "y": 1225, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/walk/left/0.png", + "filename": "sprites/tinted_images/white/units/pillager/walk/down/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54040,14 +54061,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 137, + "x": 1293, + "y": 1259, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/walk/left/1.png", + "filename": "sprites/tinted_images/white/units/pillager/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54061,14 +54082,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 171, + "x": 1293, + "y": 1293, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/walk/left/2.png", + "filename": "sprites/tinted_images/white/units/pillager/walk/left/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54082,14 +54103,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 205, + "x": 1, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/walk/left/3.png", + "filename": "sprites/tinted_images/white/units/pillager/walk/left/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54103,14 +54124,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 239, + "x": 35, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/walk/right/0.png", + "filename": "sprites/tinted_images/white/units/pillager/walk/left/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54124,14 +54145,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 273, + "x": 69, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/walk/right/1.png", + "filename": "sprites/tinted_images/white/units/pillager/walk/left/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54145,14 +54166,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 307, + "x": 103, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/walk/right/2.png", + "filename": "sprites/tinted_images/white/units/pillager/walk/right/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54166,14 +54187,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 341, + "x": 137, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/walk/right/3.png", + "filename": "sprites/tinted_images/white/units/pillager/walk/right/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54187,14 +54208,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 375, + "x": 171, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/rider/walk/up/0.png", + "filename": "sprites/tinted_images/white/units/pillager/walk/right/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54208,14 +54229,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 409, + "x": 205, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/rider/walk/up/0.png", + "filename": "sprites/tinted_images/white/units/pillager/walk/right/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54229,14 +54250,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 409, + "x": 239, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/rider/walk/up/0.png", + "filename": "sprites/tinted_images/blue/units/pillager/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54250,14 +54271,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 409, + "x": 273, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/walk/up/0.png", + "filename": "sprites/tinted_images/green/units/pillager/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54271,14 +54292,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 409, + "x": 273, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/rider/walk/up/0.png", + "filename": "sprites/tinted_images/red/units/pillager/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54292,14 +54313,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 409, + "x": 273, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/rider/walk/up/1.png", + "filename": "sprites/tinted_images/white/units/pillager/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54313,14 +54334,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 443, + "x": 273, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/rider/walk/up/1.png", + "filename": "sprites/tinted_images/yellow/units/pillager/walk/up/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54334,14 +54355,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 443, + "x": 273, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/rider/walk/up/1.png", + "filename": "sprites/tinted_images/blue/units/pillager/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54355,14 +54376,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 443, + "x": 307, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/walk/up/1.png", + "filename": "sprites/tinted_images/green/units/pillager/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54376,14 +54397,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 443, + "x": 307, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/rider/walk/up/1.png", + "filename": "sprites/tinted_images/red/units/pillager/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54397,14 +54418,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 443, + "x": 307, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/walk/up/2.png", + "filename": "sprites/tinted_images/white/units/pillager/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54418,14 +54439,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 477, + "x": 307, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/rider/walk/up/3.png", + "filename": "sprites/tinted_images/yellow/units/pillager/walk/up/1.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54439,14 +54460,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 511, + "x": 307, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/rider/walk/up/3.png", + "filename": "sprites/tinted_images/white/units/pillager/walk/up/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54460,14 +54481,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 511, + "x": 341, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/rider/walk/up/3.png", + "filename": "sprites/tinted_images/blue/units/pillager/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54481,14 +54502,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 511, + "x": 375, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/rider/walk/up/3.png", + "filename": "sprites/tinted_images/green/units/pillager/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54502,14 +54523,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 511, + "x": 375, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/rider/walk/up/3.png", + "filename": "sprites/tinted_images/red/units/pillager/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54523,14 +54544,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 511, + "x": 375, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/swordsman/attack/3.png", + "filename": "sprites/tinted_images/white/units/pillager/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54544,14 +54565,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 613, + "x": 375, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/swordsman/death/5.png", + "filename": "sprites/tinted_images/yellow/units/pillager/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54565,14 +54586,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 851, + "x": 375, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/swordsman/prepare/0.png", + "filename": "sprites/greyscale/units/swordsman/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54586,14 +54607,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 885, + "x": 477, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/swordsman/prepare/2.png", + "filename": "sprites/greyscale/units/swordsman/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54607,14 +54628,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 885, + "x": 715, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/swordsman/idle/2.png", + "filename": "sprites/greyscale/units/swordsman/prepare/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54628,14 +54649,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 919, + "x": 749, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/swordsman/prepare/3.png", + "filename": "sprites/greyscale/units/swordsman/prepare/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54649,14 +54670,14 @@ "h": 32 }, "frame": { - "x": 1323, - "y": 987, + "x": 749, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/wizard/walk/down/3.png", + "filename": "sprites/greyscale/units/swordsman/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54670,14 +54691,14 @@ "h": 32 }, "frame": { - "x": 1021, - "y": 1339, + "x": 783, + "y": 1349, "w": 32, "h": 32 } }, { - "filename": "sprites/greyscale/units/wizard/walk/up/3.png", + "filename": "sprites/greyscale/units/swordsman/prepare/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -54691,8 +54712,8 @@ "h": 32 }, "frame": { - "x": 1357, - "y": 1, + "x": 851, + "y": 1349, "w": 32, "h": 32 } @@ -54713,7 +54734,7 @@ }, "frame": { "x": 1357, - "y": 749, + "y": 783, "w": 32, "h": 32 } @@ -54734,7 +54755,7 @@ }, "frame": { "x": 1357, - "y": 749, + "y": 783, "w": 32, "h": 32 } @@ -54755,7 +54776,7 @@ }, "frame": { "x": 1357, - "y": 749, + "y": 783, "w": 32, "h": 32 } @@ -54776,7 +54797,7 @@ }, "frame": { "x": 1357, - "y": 749, + "y": 783, "w": 32, "h": 32 } @@ -54797,7 +54818,7 @@ }, "frame": { "x": 1357, - "y": 783, + "y": 817, "w": 32, "h": 32 } @@ -54818,7 +54839,7 @@ }, "frame": { "x": 1357, - "y": 783, + "y": 817, "w": 32, "h": 32 } @@ -54839,7 +54860,7 @@ }, "frame": { "x": 1357, - "y": 783, + "y": 817, "w": 32, "h": 32 } @@ -54860,7 +54881,7 @@ }, "frame": { "x": 1357, - "y": 783, + "y": 817, "w": 32, "h": 32 } @@ -54881,7 +54902,7 @@ }, "frame": { "x": 1357, - "y": 817, + "y": 851, "w": 32, "h": 32 } @@ -54902,7 +54923,7 @@ }, "frame": { "x": 1357, - "y": 817, + "y": 851, "w": 32, "h": 32 } @@ -54923,7 +54944,7 @@ }, "frame": { "x": 1357, - "y": 817, + "y": 851, "w": 32, "h": 32 } @@ -54944,7 +54965,7 @@ }, "frame": { "x": 1357, - "y": 817, + "y": 851, "w": 32, "h": 32 } @@ -54965,7 +54986,7 @@ }, "frame": { "x": 1357, - "y": 851, + "y": 885, "w": 32, "h": 32 } @@ -54986,7 +55007,7 @@ }, "frame": { "x": 1357, - "y": 851, + "y": 885, "w": 32, "h": 32 } @@ -55007,7 +55028,7 @@ }, "frame": { "x": 1357, - "y": 851, + "y": 885, "w": 32, "h": 32 } @@ -55028,7 +55049,7 @@ }, "frame": { "x": 1357, - "y": 851, + "y": 885, "w": 32, "h": 32 } @@ -55049,7 +55070,7 @@ }, "frame": { "x": 1357, - "y": 885, + "y": 919, "w": 32, "h": 32 } @@ -55070,7 +55091,7 @@ }, "frame": { "x": 1357, - "y": 885, + "y": 919, "w": 32, "h": 32 } @@ -55091,7 +55112,7 @@ }, "frame": { "x": 1357, - "y": 885, + "y": 919, "w": 32, "h": 32 } @@ -55112,7 +55133,7 @@ }, "frame": { "x": 1163, - "y": 713, + "y": 719, "w": 18, "h": 4 } @@ -55133,7 +55154,7 @@ }, "frame": { "x": 1163, - "y": 713, + "y": 719, "w": 18, "h": 4 } @@ -55154,7 +55175,7 @@ }, "frame": { "x": 1163, - "y": 713, + "y": 719, "w": 18, "h": 4 } @@ -55175,7 +55196,7 @@ }, "frame": { "x": 1163, - "y": 713, + "y": 719, "w": 18, "h": 4 } @@ -55196,7 +55217,7 @@ }, "frame": { "x": 1163, - "y": 719, + "y": 725, "w": 18, "h": 4 } @@ -55217,7 +55238,7 @@ }, "frame": { "x": 1163, - "y": 719, + "y": 725, "w": 18, "h": 4 } @@ -55238,7 +55259,7 @@ }, "frame": { "x": 1163, - "y": 719, + "y": 725, "w": 18, "h": 4 } @@ -55259,7 +55280,7 @@ }, "frame": { "x": 1163, - "y": 719, + "y": 725, "w": 18, "h": 4 } @@ -55280,7 +55301,7 @@ }, "frame": { "x": 1163, - "y": 725, + "y": 731, "w": 18, "h": 4 } @@ -55301,7 +55322,7 @@ }, "frame": { "x": 1163, - "y": 725, + "y": 731, "w": 18, "h": 4 } @@ -55322,7 +55343,7 @@ }, "frame": { "x": 1163, - "y": 725, + "y": 731, "w": 18, "h": 4 } @@ -55343,7 +55364,7 @@ }, "frame": { "x": 1163, - "y": 725, + "y": 731, "w": 18, "h": 4 } @@ -55699,7 +55720,7 @@ "h": 10 }, "frame": { - "x": 1023, + "x": 1034, "y": 1151, "w": 10, "h": 10 @@ -55720,7 +55741,7 @@ "h": 10 }, "frame": { - "x": 1023, + "x": 1034, "y": 1151, "w": 10, "h": 10 @@ -55741,7 +55762,7 @@ "h": 10 }, "frame": { - "x": 1023, + "x": 1034, "y": 1151, "w": 10, "h": 10 @@ -55762,7 +55783,7 @@ "h": 10 }, "frame": { - "x": 1023, + "x": 1034, "y": 1151, "w": 10, "h": 10 @@ -55783,7 +55804,7 @@ "h": 10 }, "frame": { - "x": 1111, + "x": 1122, "y": 1254, "w": 10, "h": 10 @@ -55804,7 +55825,7 @@ "h": 10 }, "frame": { - "x": 1111, + "x": 1122, "y": 1254, "w": 10, "h": 10 @@ -55825,7 +55846,7 @@ "h": 10 }, "frame": { - "x": 1111, + "x": 1122, "y": 1254, "w": 10, "h": 10 @@ -55846,7 +55867,7 @@ "h": 10 }, "frame": { - "x": 1111, + "x": 1122, "y": 1254, "w": 10, "h": 10 @@ -55867,8 +55888,8 @@ "h": 32 }, "frame": { - "x": 1327, - "y": 1327, + "x": 1, + "y": 1383, "w": 32, "h": 32 } @@ -55888,7 +55909,7 @@ "h": 32 }, "frame": { - "x": 1, + "x": 35, "y": 1383, "w": 32, "h": 32 @@ -55909,7 +55930,7 @@ "h": 32 }, "frame": { - "x": 1, + "x": 35, "y": 1383, "w": 32, "h": 32 @@ -55930,7 +55951,7 @@ "h": 32 }, "frame": { - "x": 1, + "x": 35, "y": 1383, "w": 32, "h": 32 @@ -55951,7 +55972,7 @@ "h": 32 }, "frame": { - "x": 1, + "x": 35, "y": 1383, "w": 32, "h": 32 @@ -55972,7 +55993,7 @@ "h": 32 }, "frame": { - "x": 273, + "x": 307, "y": 1383, "w": 32, "h": 32 @@ -55993,7 +56014,7 @@ "h": 32 }, "frame": { - "x": 273, + "x": 307, "y": 1383, "w": 32, "h": 32 @@ -56014,7 +56035,7 @@ "h": 32 }, "frame": { - "x": 443, + "x": 477, "y": 1383, "w": 32, "h": 32 @@ -56035,7 +56056,7 @@ "h": 32 }, "frame": { - "x": 749, + "x": 783, "y": 1383, "w": 32, "h": 32 @@ -56056,7 +56077,7 @@ "h": 32 }, "frame": { - "x": 817, + "x": 851, "y": 1383, "w": 32, "h": 32 @@ -56077,7 +56098,7 @@ "h": 32 }, "frame": { - "x": 1055, + "x": 1089, "y": 1372, "w": 32, "h": 32 @@ -56098,7 +56119,7 @@ "h": 32 }, "frame": { - "x": 1123, + "x": 1157, "y": 1372, "w": 32, "h": 32 @@ -56120,7 +56141,7 @@ }, "frame": { "x": 1391, - "y": 511, + "y": 545, "w": 32, "h": 32 } @@ -56141,7 +56162,7 @@ }, "frame": { "x": 1391, - "y": 681, + "y": 715, "w": 32, "h": 32 } @@ -56162,7 +56183,7 @@ }, "frame": { "x": 1391, - "y": 681, + "y": 715, "w": 32, "h": 32 } @@ -56183,7 +56204,7 @@ }, "frame": { "x": 1391, - "y": 681, + "y": 715, "w": 32, "h": 32 } @@ -56204,7 +56225,7 @@ }, "frame": { "x": 1391, - "y": 681, + "y": 715, "w": 32, "h": 32 } @@ -56225,7 +56246,7 @@ }, "frame": { "x": 1391, - "y": 1055, + "y": 1089, "w": 32, "h": 32 } @@ -56245,14 +56266,14 @@ "h": 32 }, "frame": { - "x": 1361, - "y": 1361, + "x": 1, + "y": 1417, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/dragon/death/11.png", + "filename": "sprites/tinted_images/blue/units/dragoon/death/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56266,14 +56287,14 @@ "h": 32 }, "frame": { - "x": 307, + "x": 341, "y": 1417, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/dragon/death/8.png", + "filename": "sprites/tinted_images/blue/units/dragoon/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56287,14 +56308,14 @@ "h": 32 }, "frame": { - "x": 307, + "x": 341, "y": 1417, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/dragon/death/9.png", + "filename": "sprites/tinted_images/blue/units/dragoon/death/9.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56308,14 +56329,14 @@ "h": 32 }, "frame": { - "x": 307, + "x": 341, "y": 1417, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/dragon/death/10.png", + "filename": "sprites/tinted_images/green/units/dragoon/death/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56329,14 +56350,14 @@ "h": 32 }, "frame": { - "x": 307, + "x": 341, "y": 1417, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/dragon/death/11.png", + "filename": "sprites/tinted_images/green/units/dragoon/death/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56350,14 +56371,14 @@ "h": 32 }, "frame": { - "x": 307, + "x": 341, "y": 1417, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/dragon/death/8.png", + "filename": "sprites/tinted_images/green/units/dragoon/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56371,14 +56392,14 @@ "h": 32 }, "frame": { - "x": 307, + "x": 341, "y": 1417, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/dragon/death/9.png", + "filename": "sprites/tinted_images/green/units/dragoon/death/9.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56392,14 +56413,14 @@ "h": 32 }, "frame": { - "x": 307, + "x": 341, "y": 1417, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/dragon/death/10.png", + "filename": "sprites/tinted_images/red/units/dragoon/death/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56413,14 +56434,14 @@ "h": 32 }, "frame": { - "x": 307, + "x": 341, "y": 1417, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/dragon/death/11.png", + "filename": "sprites/tinted_images/red/units/dragoon/death/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56434,14 +56455,14 @@ "h": 32 }, "frame": { - "x": 307, + "x": 341, "y": 1417, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/dragon/death/8.png", + "filename": "sprites/tinted_images/red/units/dragoon/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56455,14 +56476,14 @@ "h": 32 }, "frame": { - "x": 307, + "x": 341, "y": 1417, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/dragon/death/9.png", + "filename": "sprites/tinted_images/red/units/dragoon/death/9.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56476,14 +56497,14 @@ "h": 32 }, "frame": { - "x": 307, + "x": 341, "y": 1417, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/dragon/death/10.png", + "filename": "sprites/tinted_images/white/units/dragoon/death/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56497,14 +56518,14 @@ "h": 32 }, "frame": { - "x": 307, + "x": 341, "y": 1417, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/dragon/death/11.png", + "filename": "sprites/tinted_images/white/units/dragoon/death/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56518,14 +56539,14 @@ "h": 32 }, "frame": { - "x": 307, + "x": 341, "y": 1417, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/dragon/death/8.png", + "filename": "sprites/tinted_images/white/units/dragoon/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56539,14 +56560,14 @@ "h": 32 }, "frame": { - "x": 307, + "x": 341, "y": 1417, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/dragon/death/9.png", + "filename": "sprites/tinted_images/white/units/dragoon/death/9.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56560,14 +56581,14 @@ "h": 32 }, "frame": { - "x": 307, + "x": 341, "y": 1417, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/death/10.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/death/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56581,14 +56602,14 @@ "h": 32 }, "frame": { - "x": 307, + "x": 341, "y": 1417, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/death/11.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/death/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56602,14 +56623,14 @@ "h": 32 }, "frame": { - "x": 307, + "x": 341, "y": 1417, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/death/8.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56623,14 +56644,14 @@ "h": 32 }, "frame": { - "x": 307, + "x": 341, "y": 1417, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/death/9.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/death/9.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56644,14 +56665,14 @@ "h": 32 }, "frame": { - "x": 307, + "x": 341, "y": 1417, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/dragon/death/7.png", + "filename": "sprites/tinted_images/green/units/dragoon/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56665,14 +56686,14 @@ "h": 32 }, "frame": { - "x": 511, + "x": 545, "y": 1417, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/dragon/death/7.png", + "filename": "sprites/tinted_images/red/units/dragoon/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56686,14 +56707,14 @@ "h": 32 }, "frame": { - "x": 511, + "x": 545, "y": 1417, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/dragon/death/7.png", + "filename": "sprites/tinted_images/white/units/dragoon/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56707,14 +56728,14 @@ "h": 32 }, "frame": { - "x": 511, + "x": 545, "y": 1417, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/dragon/death/7.png", + "filename": "sprites/tinted_images/yellow/units/dragoon/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56728,14 +56749,14 @@ "h": 32 }, "frame": { - "x": 511, + "x": 545, "y": 1417, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/golem/death/11.png", + "filename": "sprites/tinted_images/blue/units/halberdier/death/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56750,7 +56771,7 @@ }, "frame": { "x": 1425, - "y": 103, + "y": 137, "w": 32, "h": 32 } @@ -56770,7 +56791,7 @@ "h": 32 }, "frame": { - "x": 35, + "x": 69, "y": 1451, "w": 32, "h": 32 @@ -56791,14 +56812,14 @@ "h": 32 }, "frame": { - "x": 35, + "x": 69, "y": 1451, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/idle/0.png", + "filename": "sprites/tinted_images/green/units/marksman/death/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56812,14 +56833,14 @@ "h": 32 }, "frame": { - "x": 953, - "y": 1451, + "x": 1089, + "y": 1440, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/death/11.png", + "filename": "sprites/tinted_images/red/units/marksman/death/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56833,14 +56854,14 @@ "h": 32 }, "frame": { - "x": 1055, + "x": 1089, "y": 1440, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/death/7.png", + "filename": "sprites/tinted_images/white/units/marksman/death/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56854,14 +56875,14 @@ "h": 32 }, "frame": { - "x": 1055, + "x": 1089, "y": 1440, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/death/8.png", + "filename": "sprites/tinted_images/yellow/units/marksman/death/10.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56875,14 +56896,14 @@ "h": 32 }, "frame": { - "x": 1055, + "x": 1089, "y": 1440, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/pikeman/death/9.png", + "filename": "sprites/tinted_images/green/units/marksman/death/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56896,14 +56917,14 @@ "h": 32 }, "frame": { - "x": 1055, + "x": 1123, "y": 1440, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/attack/3.png", + "filename": "sprites/tinted_images/red/units/marksman/death/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56917,14 +56938,14 @@ "h": 32 }, "frame": { - "x": 35, - "y": 1485, + "x": 1123, + "y": 1440, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/death/5.png", + "filename": "sprites/tinted_images/white/units/marksman/death/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56938,14 +56959,14 @@ "h": 32 }, "frame": { - "x": 273, - "y": 1485, + "x": 1123, + "y": 1440, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/prepare/0.png", + "filename": "sprites/tinted_images/yellow/units/marksman/death/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56959,14 +56980,14 @@ "h": 32 }, "frame": { - "x": 307, - "y": 1485, + "x": 1123, + "y": 1440, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/prepare/2.png", + "filename": "sprites/tinted_images/green/units/marksman/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -56980,14 +57001,14 @@ "h": 32 }, "frame": { - "x": 307, - "y": 1485, + "x": 1225, + "y": 1429, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/idle/2.png", + "filename": "sprites/tinted_images/red/units/marksman/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57001,14 +57022,14 @@ "h": 32 }, "frame": { - "x": 341, - "y": 1485, + "x": 1225, + "y": 1429, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/swordsman/prepare/3.png", + "filename": "sprites/tinted_images/white/units/marksman/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57022,14 +57043,14 @@ "h": 32 }, "frame": { - "x": 409, - "y": 1485, + "x": 1225, + "y": 1429, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/wizard/death/10.png", + "filename": "sprites/tinted_images/yellow/units/marksman/death/4.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57043,14 +57064,14 @@ "h": 32 }, "frame": { - "x": 1259, - "y": 1463, + "x": 1225, + "y": 1429, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/wizard/death/10.png", + "filename": "sprites/tinted_images/green/units/marksman/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57065,13 +57086,13 @@ }, "frame": { "x": 1259, - "y": 1463, + "y": 1429, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/wizard/death/10.png", + "filename": "sprites/tinted_images/red/units/marksman/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57086,13 +57107,13 @@ }, "frame": { "x": 1259, - "y": 1463, + "y": 1429, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/death/10.png", + "filename": "sprites/tinted_images/white/units/marksman/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57107,13 +57128,13 @@ }, "frame": { "x": 1259, - "y": 1463, + "y": 1429, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/wizard/death/11.png", + "filename": "sprites/tinted_images/yellow/units/marksman/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57127,14 +57148,14 @@ "h": 32 }, "frame": { - "x": 1293, - "y": 1463, + "x": 1259, + "y": 1429, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/wizard/death/11.png", + "filename": "sprites/tinted_images/green/units/marksman/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57149,13 +57170,13 @@ }, "frame": { "x": 1293, - "y": 1463, + "y": 1429, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/wizard/death/11.png", + "filename": "sprites/tinted_images/red/units/marksman/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57170,13 +57191,13 @@ }, "frame": { "x": 1293, - "y": 1463, + "y": 1429, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/death/11.png", + "filename": "sprites/tinted_images/white/units/marksman/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57191,13 +57212,13 @@ }, "frame": { "x": 1293, - "y": 1463, + "y": 1429, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/wizard/death/4.png", + "filename": "sprites/tinted_images/yellow/units/marksman/death/6.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57211,14 +57232,14 @@ "h": 32 }, "frame": { - "x": 1395, - "y": 1463, + "x": 1293, + "y": 1429, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/wizard/death/4.png", + "filename": "sprites/tinted_images/green/units/marksman/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57232,14 +57253,14 @@ "h": 32 }, "frame": { - "x": 1395, - "y": 1463, + "x": 1327, + "y": 1429, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/wizard/death/4.png", + "filename": "sprites/tinted_images/red/units/marksman/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57253,14 +57274,14 @@ "h": 32 }, "frame": { - "x": 1395, - "y": 1463, + "x": 1327, + "y": 1429, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/death/4.png", + "filename": "sprites/tinted_images/white/units/marksman/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57274,14 +57295,14 @@ "h": 32 }, "frame": { - "x": 1395, - "y": 1463, + "x": 1327, + "y": 1429, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/wizard/death/5.png", + "filename": "sprites/tinted_images/yellow/units/marksman/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57295,14 +57316,14 @@ "h": 32 }, "frame": { - "x": 1429, - "y": 1463, + "x": 1327, + "y": 1429, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/wizard/death/5.png", + "filename": "sprites/tinted_images/green/units/marksman/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57316,14 +57337,14 @@ "h": 32 }, "frame": { - "x": 1429, - "y": 1463, + "x": 1361, + "y": 1429, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/wizard/death/5.png", + "filename": "sprites/tinted_images/red/units/marksman/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57337,14 +57358,14 @@ "h": 32 }, "frame": { - "x": 1429, - "y": 1463, + "x": 1361, + "y": 1429, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/death/5.png", + "filename": "sprites/tinted_images/white/units/marksman/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57358,14 +57379,14 @@ "h": 32 }, "frame": { - "x": 1429, - "y": 1463, + "x": 1361, + "y": 1429, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/wizard/death/6.png", + "filename": "sprites/tinted_images/yellow/units/marksman/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57379,14 +57400,14 @@ "h": 32 }, "frame": { - "x": 1493, - "y": 1, + "x": 1361, + "y": 1429, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/wizard/death/6.png", + "filename": "sprites/tinted_images/green/units/marksman/death/9.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57400,14 +57421,14 @@ "h": 32 }, "frame": { - "x": 1493, - "y": 1, + "x": 1395, + "y": 1429, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/wizard/death/6.png", + "filename": "sprites/tinted_images/red/units/marksman/death/9.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57421,14 +57442,14 @@ "h": 32 }, "frame": { - "x": 1493, - "y": 1, + "x": 1395, + "y": 1429, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/death/6.png", + "filename": "sprites/tinted_images/white/units/marksman/death/9.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57442,14 +57463,14 @@ "h": 32 }, "frame": { - "x": 1493, - "y": 1, + "x": 1395, + "y": 1429, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/wizard/death/7.png", + "filename": "sprites/tinted_images/yellow/units/marksman/death/9.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57463,14 +57484,14 @@ "h": 32 }, "frame": { - "x": 1493, - "y": 35, + "x": 1395, + "y": 1429, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/wizard/death/7.png", + "filename": "sprites/tinted_images/blue/units/marksman/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57484,14 +57505,14 @@ "h": 32 }, "frame": { - "x": 1493, - "y": 35, + "x": 1459, + "y": 171, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/wizard/death/7.png", + "filename": "sprites/tinted_images/blue/units/marksman/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57505,14 +57526,14 @@ "h": 32 }, "frame": { - "x": 1493, - "y": 35, + "x": 1459, + "y": 477, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/death/7.png", + "filename": "sprites/tinted_images/blue/units/pikeman/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57526,14 +57547,14 @@ "h": 32 }, "frame": { - "x": 1493, - "y": 35, + "x": 1459, + "y": 715, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/wizard/death/8.png", + "filename": "sprites/tinted_images/blue/units/pikeman/death/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57547,14 +57568,14 @@ "h": 32 }, "frame": { - "x": 1493, - "y": 69, + "x": 1459, + "y": 817, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/wizard/death/8.png", + "filename": "sprites/tinted_images/blue/units/pikeman/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57568,14 +57589,14 @@ "h": 32 }, "frame": { - "x": 1493, - "y": 69, + "x": 1459, + "y": 817, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/wizard/death/8.png", + "filename": "sprites/tinted_images/blue/units/pikeman/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57589,14 +57610,14 @@ "h": 32 }, "frame": { - "x": 1493, - "y": 69, + "x": 1459, + "y": 817, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/death/8.png", + "filename": "sprites/tinted_images/blue/units/pikeman/death/9.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57610,14 +57631,14 @@ "h": 32 }, "frame": { - "x": 1493, - "y": 69, + "x": 1459, + "y": 817, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/wizard/death/9.png", + "filename": "sprites/tinted_images/blue/units/swordsman/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57631,14 +57652,14 @@ "h": 32 }, "frame": { - "x": 1493, - "y": 103, + "x": 1225, + "y": 1463, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/wizard/death/9.png", + "filename": "sprites/tinted_images/blue/units/swordsman/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57652,14 +57673,14 @@ "h": 32 }, "frame": { - "x": 1493, - "y": 103, + "x": 1494, + "y": 1, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/wizard/death/9.png", + "filename": "sprites/tinted_images/blue/units/swordsman/prepare/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57673,14 +57694,14 @@ "h": 32 }, "frame": { - "x": 1493, - "y": 103, + "x": 1494, + "y": 35, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/death/9.png", + "filename": "sprites/tinted_images/blue/units/swordsman/prepare/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57694,14 +57715,14 @@ "h": 32 }, "frame": { - "x": 1493, - "y": 103, + "x": 1494, + "y": 35, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/wizard/walk/down/3.png", + "filename": "sprites/tinted_images/blue/units/swordsman/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57716,13 +57737,13 @@ }, "frame": { "x": 1493, - "y": 307, + "y": 69, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/blue/units/wizard/walk/up/3.png", + "filename": "sprites/tinted_images/blue/units/swordsman/prepare/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -57737,7 +57758,7 @@ }, "frame": { "x": 1493, - "y": 613, + "y": 137, "w": 32, "h": 32 } @@ -57758,7 +57779,7 @@ }, "frame": { "x": 1493, - "y": 749, + "y": 783, "w": 32, "h": 32 } @@ -57779,7 +57800,7 @@ }, "frame": { "x": 1493, - "y": 749, + "y": 783, "w": 32, "h": 32 } @@ -57800,7 +57821,7 @@ }, "frame": { "x": 1493, - "y": 749, + "y": 783, "w": 32, "h": 32 } @@ -57821,7 +57842,7 @@ }, "frame": { "x": 1493, - "y": 749, + "y": 783, "w": 32, "h": 32 } @@ -57842,7 +57863,7 @@ }, "frame": { "x": 1493, - "y": 783, + "y": 817, "w": 32, "h": 32 } @@ -57863,7 +57884,7 @@ }, "frame": { "x": 1493, - "y": 783, + "y": 817, "w": 32, "h": 32 } @@ -57884,7 +57905,7 @@ }, "frame": { "x": 1493, - "y": 783, + "y": 817, "w": 32, "h": 32 } @@ -57905,7 +57926,7 @@ }, "frame": { "x": 1493, - "y": 783, + "y": 817, "w": 32, "h": 32 } @@ -57926,7 +57947,7 @@ }, "frame": { "x": 1493, - "y": 817, + "y": 851, "w": 32, "h": 32 } @@ -57947,7 +57968,7 @@ }, "frame": { "x": 1493, - "y": 817, + "y": 851, "w": 32, "h": 32 } @@ -57968,7 +57989,7 @@ }, "frame": { "x": 1493, - "y": 817, + "y": 851, "w": 32, "h": 32 } @@ -57989,7 +58010,7 @@ }, "frame": { "x": 1493, - "y": 817, + "y": 851, "w": 32, "h": 32 } @@ -58010,7 +58031,7 @@ }, "frame": { "x": 1493, - "y": 851, + "y": 885, "w": 32, "h": 32 } @@ -58031,7 +58052,7 @@ }, "frame": { "x": 1493, - "y": 851, + "y": 885, "w": 32, "h": 32 } @@ -58052,7 +58073,7 @@ }, "frame": { "x": 1493, - "y": 851, + "y": 885, "w": 32, "h": 32 } @@ -58073,7 +58094,7 @@ }, "frame": { "x": 1493, - "y": 851, + "y": 885, "w": 32, "h": 32 } @@ -58094,7 +58115,7 @@ }, "frame": { "x": 1493, - "y": 885, + "y": 919, "w": 32, "h": 32 } @@ -58115,7 +58136,7 @@ }, "frame": { "x": 1493, - "y": 885, + "y": 919, "w": 32, "h": 32 } @@ -58136,7 +58157,7 @@ }, "frame": { "x": 1493, - "y": 885, + "y": 919, "w": 32, "h": 32 } @@ -58157,7 +58178,7 @@ }, "frame": { "x": 1463, - "y": 1327, + "y": 1361, "w": 32, "h": 32 } @@ -58177,7 +58198,7 @@ "h": 32 }, "frame": { - "x": 103, + "x": 137, "y": 1519, "w": 32, "h": 32 @@ -58198,7 +58219,7 @@ "h": 32 }, "frame": { - "x": 103, + "x": 137, "y": 1519, "w": 32, "h": 32 @@ -58219,7 +58240,7 @@ "h": 32 }, "frame": { - "x": 273, + "x": 307, "y": 1519, "w": 32, "h": 32 @@ -58240,7 +58261,7 @@ "h": 32 }, "frame": { - "x": 579, + "x": 613, "y": 1519, "w": 32, "h": 32 @@ -58261,7 +58282,7 @@ "h": 32 }, "frame": { - "x": 647, + "x": 681, "y": 1519, "w": 32, "h": 32 @@ -58282,7 +58303,7 @@ "h": 32 }, "frame": { - "x": 885, + "x": 919, "y": 1519, "w": 32, "h": 32 @@ -58303,7 +58324,7 @@ "h": 32 }, "frame": { - "x": 953, + "x": 987, "y": 1519, "w": 32, "h": 32 @@ -58325,7 +58346,7 @@ }, "frame": { "x": 1527, - "y": 205, + "y": 239, "w": 32, "h": 32 } @@ -58346,7 +58367,7 @@ }, "frame": { "x": 1527, - "y": 375, + "y": 409, "w": 32, "h": 32 } @@ -58367,7 +58388,7 @@ }, "frame": { "x": 1527, - "y": 375, + "y": 409, "w": 32, "h": 32 } @@ -58388,7 +58409,7 @@ }, "frame": { "x": 1527, - "y": 375, + "y": 409, "w": 32, "h": 32 } @@ -58409,7 +58430,7 @@ }, "frame": { "x": 1527, - "y": 375, + "y": 409, "w": 32, "h": 32 } @@ -58430,7 +58451,7 @@ }, "frame": { "x": 1527, - "y": 749, + "y": 783, "w": 32, "h": 32 } @@ -58451,13 +58472,13 @@ }, "frame": { "x": 1527, - "y": 1055, + "y": 1089, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/golem/death/11.png", + "filename": "sprites/tinted_images/green/units/halberdier/death/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -58471,8 +58492,8 @@ "h": 32 }, "frame": { - "x": 987, - "y": 1553, + "x": 1021, + "y": 1543, "w": 32, "h": 32 } @@ -58493,7 +58514,7 @@ }, "frame": { "x": 1561, - "y": 817, + "y": 851, "w": 32, "h": 32 } @@ -58514,13 +58535,13 @@ }, "frame": { "x": 1561, - "y": 817, + "y": 851, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/pikeman/idle/0.png", + "filename": "sprites/tinted_images/green/units/marksman/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -58534,14 +58555,14 @@ "h": 32 }, "frame": { - "x": 171, + "x": 545, "y": 1587, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/pikeman/death/11.png", + "filename": "sprites/tinted_images/green/units/marksman/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -58555,14 +58576,14 @@ "h": 32 }, "frame": { - "x": 273, + "x": 851, "y": 1587, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/pikeman/death/7.png", + "filename": "sprites/tinted_images/green/units/pikeman/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -58576,14 +58597,14 @@ "h": 32 }, "frame": { - "x": 273, - "y": 1587, + "x": 1089, + "y": 1576, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/pikeman/death/8.png", + "filename": "sprites/tinted_images/green/units/pikeman/death/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -58597,14 +58618,14 @@ "h": 32 }, "frame": { - "x": 273, - "y": 1587, + "x": 1191, + "y": 1566, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/pikeman/death/9.png", + "filename": "sprites/tinted_images/green/units/pikeman/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -58618,14 +58639,14 @@ "h": 32 }, "frame": { - "x": 273, - "y": 1587, + "x": 1191, + "y": 1566, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/swordsman/attack/3.png", + "filename": "sprites/tinted_images/green/units/pikeman/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -58639,14 +58660,14 @@ "h": 32 }, "frame": { - "x": 1595, - "y": 579, + "x": 1191, + "y": 1566, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/swordsman/death/5.png", + "filename": "sprites/tinted_images/green/units/pikeman/death/9.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -58660,14 +58681,14 @@ "h": 32 }, "frame": { - "x": 1595, - "y": 817, + "x": 1191, + "y": 1566, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/swordsman/prepare/0.png", + "filename": "sprites/tinted_images/green/units/swordsman/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -58681,14 +58702,14 @@ "h": 32 }, "frame": { - "x": 1595, - "y": 851, + "x": 1565, + "y": 1497, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/swordsman/prepare/2.png", + "filename": "sprites/tinted_images/green/units/swordsman/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -58702,14 +58723,14 @@ "h": 32 }, "frame": { - "x": 1595, - "y": 851, + "x": 137, + "y": 1621, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/swordsman/idle/2.png", + "filename": "sprites/tinted_images/green/units/swordsman/prepare/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -58723,14 +58744,14 @@ "h": 32 }, "frame": { - "x": 1595, - "y": 885, + "x": 171, + "y": 1621, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/swordsman/prepare/3.png", + "filename": "sprites/tinted_images/green/units/swordsman/prepare/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -58744,14 +58765,14 @@ "h": 32 }, "frame": { - "x": 1595, - "y": 953, + "x": 171, + "y": 1621, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/wizard/walk/down/3.png", + "filename": "sprites/tinted_images/green/units/swordsman/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -58765,14 +58786,14 @@ "h": 32 }, "frame": { - "x": 443, + "x": 205, "y": 1621, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/green/units/wizard/walk/up/3.png", + "filename": "sprites/tinted_images/green/units/swordsman/prepare/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -58786,7 +58807,7 @@ "h": 32 }, "frame": { - "x": 749, + "x": 273, "y": 1621, "w": 32, "h": 32 @@ -58807,7 +58828,7 @@ "h": 32 }, "frame": { - "x": 885, + "x": 919, "y": 1621, "w": 32, "h": 32 @@ -58828,7 +58849,7 @@ "h": 32 }, "frame": { - "x": 885, + "x": 919, "y": 1621, "w": 32, "h": 32 @@ -58849,7 +58870,7 @@ "h": 32 }, "frame": { - "x": 885, + "x": 919, "y": 1621, "w": 32, "h": 32 @@ -58870,7 +58891,7 @@ "h": 32 }, "frame": { - "x": 885, + "x": 919, "y": 1621, "w": 32, "h": 32 @@ -58891,7 +58912,7 @@ "h": 32 }, "frame": { - "x": 919, + "x": 953, "y": 1621, "w": 32, "h": 32 @@ -58912,7 +58933,7 @@ "h": 32 }, "frame": { - "x": 919, + "x": 953, "y": 1621, "w": 32, "h": 32 @@ -58933,7 +58954,7 @@ "h": 32 }, "frame": { - "x": 919, + "x": 953, "y": 1621, "w": 32, "h": 32 @@ -58954,7 +58975,7 @@ "h": 32 }, "frame": { - "x": 919, + "x": 953, "y": 1621, "w": 32, "h": 32 @@ -58975,7 +58996,7 @@ "h": 32 }, "frame": { - "x": 953, + "x": 987, "y": 1621, "w": 32, "h": 32 @@ -58996,7 +59017,7 @@ "h": 32 }, "frame": { - "x": 953, + "x": 987, "y": 1621, "w": 32, "h": 32 @@ -59017,7 +59038,7 @@ "h": 32 }, "frame": { - "x": 953, + "x": 987, "y": 1621, "w": 32, "h": 32 @@ -59038,7 +59059,7 @@ "h": 32 }, "frame": { - "x": 953, + "x": 987, "y": 1621, "w": 32, "h": 32 @@ -59059,8 +59080,8 @@ "h": 32 }, "frame": { - "x": 987, - "y": 1621, + "x": 1021, + "y": 1611, "w": 32, "h": 32 } @@ -59080,8 +59101,8 @@ "h": 32 }, "frame": { - "x": 987, - "y": 1621, + "x": 1021, + "y": 1611, "w": 32, "h": 32 } @@ -59101,8 +59122,8 @@ "h": 32 }, "frame": { - "x": 987, - "y": 1621, + "x": 1021, + "y": 1611, "w": 32, "h": 32 } @@ -59122,8 +59143,8 @@ "h": 32 }, "frame": { - "x": 987, - "y": 1621, + "x": 1021, + "y": 1611, "w": 32, "h": 32 } @@ -59143,8 +59164,8 @@ "h": 32 }, "frame": { - "x": 1021, - "y": 1611, + "x": 1055, + "y": 1610, "w": 32, "h": 32 } @@ -59164,8 +59185,8 @@ "h": 32 }, "frame": { - "x": 1021, - "y": 1611, + "x": 1055, + "y": 1610, "w": 32, "h": 32 } @@ -59185,8 +59206,8 @@ "h": 32 }, "frame": { - "x": 1021, - "y": 1611, + "x": 1055, + "y": 1610, "w": 32, "h": 32 } @@ -59206,7 +59227,7 @@ "h": 32 }, "frame": { - "x": 1463, + "x": 1497, "y": 1599, "w": 32, "h": 32 @@ -59228,7 +59249,7 @@ }, "frame": { "x": 1629, - "y": 137, + "y": 171, "w": 32, "h": 32 } @@ -59249,7 +59270,7 @@ }, "frame": { "x": 1629, - "y": 137, + "y": 171, "w": 32, "h": 32 } @@ -59270,7 +59291,7 @@ }, "frame": { "x": 1629, - "y": 307, + "y": 341, "w": 32, "h": 32 } @@ -59291,7 +59312,7 @@ }, "frame": { "x": 1629, - "y": 613, + "y": 647, "w": 32, "h": 32 } @@ -59312,7 +59333,7 @@ }, "frame": { "x": 1629, - "y": 681, + "y": 715, "w": 32, "h": 32 } @@ -59333,7 +59354,7 @@ }, "frame": { "x": 1629, - "y": 919, + "y": 953, "w": 32, "h": 32 } @@ -59354,7 +59375,7 @@ }, "frame": { "x": 1629, - "y": 987, + "y": 1021, "w": 32, "h": 32 } @@ -59374,7 +59395,7 @@ "h": 32 }, "frame": { - "x": 103, + "x": 137, "y": 1655, "w": 32, "h": 32 @@ -59395,7 +59416,7 @@ "h": 32 }, "frame": { - "x": 273, + "x": 307, "y": 1655, "w": 32, "h": 32 @@ -59416,7 +59437,7 @@ "h": 32 }, "frame": { - "x": 273, + "x": 307, "y": 1655, "w": 32, "h": 32 @@ -59437,7 +59458,7 @@ "h": 32 }, "frame": { - "x": 273, + "x": 307, "y": 1655, "w": 32, "h": 32 @@ -59458,7 +59479,7 @@ "h": 32 }, "frame": { - "x": 273, + "x": 307, "y": 1655, "w": 32, "h": 32 @@ -59479,7 +59500,7 @@ "h": 32 }, "frame": { - "x": 647, + "x": 681, "y": 1655, "w": 32, "h": 32 @@ -59500,14 +59521,14 @@ "h": 32 }, "frame": { - "x": 953, + "x": 987, "y": 1655, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/golem/death/11.png", + "filename": "sprites/tinted_images/red/units/halberdier/death/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -59522,7 +59543,7 @@ }, "frame": { "x": 1663, - "y": 783, + "y": 817, "w": 32, "h": 32 } @@ -59542,7 +59563,7 @@ "h": 32 }, "frame": { - "x": 477, + "x": 511, "y": 1689, "w": 32, "h": 32 @@ -59563,14 +59584,14 @@ "h": 32 }, "frame": { - "x": 477, + "x": 511, "y": 1689, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/pikeman/idle/0.png", + "filename": "sprites/tinted_images/red/units/marksman/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -59584,14 +59605,14 @@ "h": 32 }, "frame": { - "x": 1395, - "y": 1667, + "x": 1697, + "y": 103, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/pikeman/death/11.png", + "filename": "sprites/tinted_images/red/units/marksman/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -59605,14 +59626,14 @@ "h": 32 }, "frame": { - "x": 1497, - "y": 1667, + "x": 1697, + "y": 409, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/pikeman/death/7.png", + "filename": "sprites/tinted_images/red/units/pikeman/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -59626,14 +59647,14 @@ "h": 32 }, "frame": { - "x": 1497, - "y": 1667, + "x": 1697, + "y": 647, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/pikeman/death/8.png", + "filename": "sprites/tinted_images/red/units/pikeman/death/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -59647,14 +59668,14 @@ "h": 32 }, "frame": { - "x": 1497, - "y": 1667, + "x": 1697, + "y": 749, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/pikeman/death/9.png", + "filename": "sprites/tinted_images/red/units/pikeman/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -59668,14 +59689,14 @@ "h": 32 }, "frame": { - "x": 1497, - "y": 1667, + "x": 1697, + "y": 749, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/swordsman/attack/3.png", + "filename": "sprites/tinted_images/red/units/pikeman/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -59689,14 +59710,14 @@ "h": 32 }, "frame": { - "x": 1, - "y": 1723, + "x": 1697, + "y": 749, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/swordsman/death/5.png", + "filename": "sprites/tinted_images/red/units/pikeman/death/9.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -59710,14 +59731,14 @@ "h": 32 }, "frame": { - "x": 239, - "y": 1723, + "x": 1697, + "y": 749, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/swordsman/prepare/0.png", + "filename": "sprites/tinted_images/red/units/swordsman/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -59731,14 +59752,14 @@ "h": 32 }, "frame": { - "x": 273, + "x": 919, "y": 1723, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/swordsman/prepare/2.png", + "filename": "sprites/tinted_images/red/units/swordsman/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -59752,14 +59773,14 @@ "h": 32 }, "frame": { - "x": 273, - "y": 1723, + "x": 1157, + "y": 1712, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/swordsman/idle/2.png", + "filename": "sprites/tinted_images/red/units/swordsman/prepare/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -59773,14 +59794,14 @@ "h": 32 }, "frame": { - "x": 307, - "y": 1723, + "x": 1191, + "y": 1702, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/swordsman/prepare/3.png", + "filename": "sprites/tinted_images/red/units/swordsman/prepare/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -59794,14 +59815,14 @@ "h": 32 }, "frame": { - "x": 375, - "y": 1723, + "x": 1191, + "y": 1702, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/wizard/walk/down/3.png", + "filename": "sprites/tinted_images/red/units/swordsman/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -59815,14 +59836,14 @@ "h": 32 }, "frame": { - "x": 1463, + "x": 1225, "y": 1701, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/red/units/wizard/walk/up/3.png", + "filename": "sprites/tinted_images/red/units/swordsman/prepare/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -59836,8 +59857,8 @@ "h": 32 }, "frame": { - "x": 1731, - "y": 69, + "x": 1293, + "y": 1701, "w": 32, "h": 32 } @@ -59858,7 +59879,7 @@ }, "frame": { "x": 1731, - "y": 205, + "y": 239, "w": 32, "h": 32 } @@ -59879,7 +59900,7 @@ }, "frame": { "x": 1731, - "y": 205, + "y": 239, "w": 32, "h": 32 } @@ -59900,7 +59921,7 @@ }, "frame": { "x": 1731, - "y": 205, + "y": 239, "w": 32, "h": 32 } @@ -59921,7 +59942,7 @@ }, "frame": { "x": 1731, - "y": 205, + "y": 239, "w": 32, "h": 32 } @@ -59942,7 +59963,7 @@ }, "frame": { "x": 1731, - "y": 239, + "y": 273, "w": 32, "h": 32 } @@ -59963,7 +59984,7 @@ }, "frame": { "x": 1731, - "y": 239, + "y": 273, "w": 32, "h": 32 } @@ -59984,7 +60005,7 @@ }, "frame": { "x": 1731, - "y": 239, + "y": 273, "w": 32, "h": 32 } @@ -60005,7 +60026,7 @@ }, "frame": { "x": 1731, - "y": 239, + "y": 273, "w": 32, "h": 32 } @@ -60026,7 +60047,7 @@ }, "frame": { "x": 1731, - "y": 273, + "y": 307, "w": 32, "h": 32 } @@ -60047,7 +60068,7 @@ }, "frame": { "x": 1731, - "y": 273, + "y": 307, "w": 32, "h": 32 } @@ -60068,7 +60089,7 @@ }, "frame": { "x": 1731, - "y": 273, + "y": 307, "w": 32, "h": 32 } @@ -60089,7 +60110,7 @@ }, "frame": { "x": 1731, - "y": 273, + "y": 307, "w": 32, "h": 32 } @@ -60110,7 +60131,7 @@ }, "frame": { "x": 1731, - "y": 307, + "y": 341, "w": 32, "h": 32 } @@ -60131,7 +60152,7 @@ }, "frame": { "x": 1731, - "y": 307, + "y": 341, "w": 32, "h": 32 } @@ -60152,7 +60173,7 @@ }, "frame": { "x": 1731, - "y": 307, + "y": 341, "w": 32, "h": 32 } @@ -60173,7 +60194,7 @@ }, "frame": { "x": 1731, - "y": 307, + "y": 341, "w": 32, "h": 32 } @@ -60194,7 +60215,7 @@ }, "frame": { "x": 1731, - "y": 341, + "y": 375, "w": 32, "h": 32 } @@ -60215,7 +60236,7 @@ }, "frame": { "x": 1731, - "y": 341, + "y": 375, "w": 32, "h": 32 } @@ -60236,7 +60257,7 @@ }, "frame": { "x": 1731, - "y": 341, + "y": 375, "w": 32, "h": 32 } @@ -60257,7 +60278,7 @@ }, "frame": { "x": 1731, - "y": 749, + "y": 783, "w": 32, "h": 32 } @@ -60278,7 +60299,7 @@ }, "frame": { "x": 1731, - "y": 1021, + "y": 1055, "w": 32, "h": 32 } @@ -60299,7 +60320,7 @@ }, "frame": { "x": 1731, - "y": 1021, + "y": 1055, "w": 32, "h": 32 } @@ -60320,7 +60341,7 @@ }, "frame": { "x": 1722, - "y": 1191, + "y": 1225, "w": 32, "h": 32 } @@ -60341,7 +60362,7 @@ }, "frame": { "x": 1701, - "y": 1497, + "y": 1531, "w": 32, "h": 32 } @@ -60362,7 +60383,7 @@ }, "frame": { "x": 1701, - "y": 1565, + "y": 1599, "w": 32, "h": 32 } @@ -60382,7 +60403,7 @@ "h": 32 }, "frame": { - "x": 69, + "x": 103, "y": 1757, "w": 32, "h": 32 @@ -60403,7 +60424,7 @@ "h": 32 }, "frame": { - "x": 137, + "x": 171, "y": 1757, "w": 32, "h": 32 @@ -60424,7 +60445,7 @@ "h": 32 }, "frame": { - "x": 885, + "x": 919, "y": 1757, "w": 32, "h": 32 @@ -60445,7 +60466,7 @@ "h": 32 }, "frame": { - "x": 1055, + "x": 1089, "y": 1746, "w": 32, "h": 32 @@ -60466,7 +60487,7 @@ "h": 32 }, "frame": { - "x": 1055, + "x": 1089, "y": 1746, "w": 32, "h": 32 @@ -60487,7 +60508,7 @@ "h": 32 }, "frame": { - "x": 1055, + "x": 1089, "y": 1746, "w": 32, "h": 32 @@ -60508,7 +60529,7 @@ "h": 32 }, "frame": { - "x": 1055, + "x": 1089, "y": 1746, "w": 32, "h": 32 @@ -60529,7 +60550,7 @@ "h": 32 }, "frame": { - "x": 1429, + "x": 1463, "y": 1735, "w": 32, "h": 32 @@ -60550,14 +60571,14 @@ "h": 32 }, "frame": { - "x": 1765, - "y": 1, + "x": 1766, + "y": 35, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/golem/death/11.png", + "filename": "sprites/tinted_images/white/units/halberdier/death/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -60572,7 +60593,7 @@ }, "frame": { "x": 1735, - "y": 1463, + "y": 1497, "w": 32, "h": 32 } @@ -60592,7 +60613,7 @@ "h": 32 }, "frame": { - "x": 1055, + "x": 1089, "y": 1780, "w": 32, "h": 32 @@ -60613,14 +60634,14 @@ "h": 32 }, "frame": { - "x": 1055, + "x": 1089, "y": 1780, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/pikeman/idle/0.png", + "filename": "sprites/tinted_images/white/units/marksman/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -60635,13 +60656,13 @@ }, "frame": { "x": 1799, - "y": 205, + "y": 579, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/pikeman/death/11.png", + "filename": "sprites/tinted_images/white/units/marksman/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -60656,13 +60677,13 @@ }, "frame": { "x": 1799, - "y": 307, + "y": 885, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/pikeman/death/7.png", + "filename": "sprites/tinted_images/white/units/pikeman/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -60677,13 +60698,13 @@ }, "frame": { "x": 1799, - "y": 307, + "y": 1123, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/pikeman/death/8.png", + "filename": "sprites/tinted_images/white/units/pikeman/death/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -60697,14 +60718,14 @@ "h": 32 }, "frame": { - "x": 1799, - "y": 307, + "x": 1790, + "y": 1225, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/pikeman/death/9.png", + "filename": "sprites/tinted_images/white/units/pikeman/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -60718,14 +60739,14 @@ "h": 32 }, "frame": { - "x": 1799, - "y": 307, + "x": 1790, + "y": 1225, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/swordsman/attack/3.png", + "filename": "sprites/tinted_images/white/units/pikeman/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -60739,14 +60760,14 @@ "h": 32 }, "frame": { - "x": 1787, + "x": 1790, "y": 1225, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/swordsman/death/5.png", + "filename": "sprites/tinted_images/white/units/pikeman/death/9.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -60760,14 +60781,14 @@ "h": 32 }, "frame": { - "x": 1769, - "y": 1463, + "x": 1790, + "y": 1225, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/swordsman/prepare/0.png", + "filename": "sprites/tinted_images/white/units/swordsman/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -60781,14 +60802,14 @@ "h": 32 }, "frame": { - "x": 1769, - "y": 1497, + "x": 341, + "y": 1825, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/swordsman/prepare/2.png", + "filename": "sprites/tinted_images/white/units/swordsman/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -60802,14 +60823,14 @@ "h": 32 }, "frame": { - "x": 1769, - "y": 1497, + "x": 579, + "y": 1825, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/swordsman/idle/2.png", + "filename": "sprites/tinted_images/white/units/swordsman/prepare/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -60823,14 +60844,14 @@ "h": 32 }, "frame": { - "x": 1769, - "y": 1531, + "x": 613, + "y": 1825, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/swordsman/prepare/3.png", + "filename": "sprites/tinted_images/white/units/swordsman/prepare/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -60844,14 +60865,14 @@ "h": 32 }, "frame": { - "x": 1769, - "y": 1599, + "x": 613, + "y": 1825, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/wizard/walk/down/3.png", + "filename": "sprites/tinted_images/white/units/swordsman/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -60865,14 +60886,14 @@ "h": 32 }, "frame": { - "x": 885, + "x": 647, "y": 1825, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/white/units/wizard/walk/up/3.png", + "filename": "sprites/tinted_images/white/units/swordsman/prepare/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -60886,8 +60907,8 @@ "h": 32 }, "frame": { - "x": 1191, - "y": 1814, + "x": 715, + "y": 1825, "w": 32, "h": 32 } @@ -60907,7 +60928,7 @@ "h": 32 }, "frame": { - "x": 1327, + "x": 1361, "y": 1803, "w": 32, "h": 32 @@ -60928,7 +60949,7 @@ "h": 32 }, "frame": { - "x": 1327, + "x": 1361, "y": 1803, "w": 32, "h": 32 @@ -60949,7 +60970,7 @@ "h": 32 }, "frame": { - "x": 1327, + "x": 1361, "y": 1803, "w": 32, "h": 32 @@ -60970,7 +60991,7 @@ "h": 32 }, "frame": { - "x": 1327, + "x": 1361, "y": 1803, "w": 32, "h": 32 @@ -60991,7 +61012,7 @@ "h": 32 }, "frame": { - "x": 1361, + "x": 1395, "y": 1803, "w": 32, "h": 32 @@ -61012,7 +61033,7 @@ "h": 32 }, "frame": { - "x": 1361, + "x": 1395, "y": 1803, "w": 32, "h": 32 @@ -61033,7 +61054,7 @@ "h": 32 }, "frame": { - "x": 1361, + "x": 1395, "y": 1803, "w": 32, "h": 32 @@ -61054,7 +61075,7 @@ "h": 32 }, "frame": { - "x": 1361, + "x": 1395, "y": 1803, "w": 32, "h": 32 @@ -61075,7 +61096,7 @@ "h": 32 }, "frame": { - "x": 1395, + "x": 1429, "y": 1803, "w": 32, "h": 32 @@ -61096,7 +61117,7 @@ "h": 32 }, "frame": { - "x": 1395, + "x": 1429, "y": 1803, "w": 32, "h": 32 @@ -61117,7 +61138,7 @@ "h": 32 }, "frame": { - "x": 1395, + "x": 1429, "y": 1803, "w": 32, "h": 32 @@ -61138,7 +61159,7 @@ "h": 32 }, "frame": { - "x": 1395, + "x": 1429, "y": 1803, "w": 32, "h": 32 @@ -61159,7 +61180,7 @@ "h": 32 }, "frame": { - "x": 1429, + "x": 1463, "y": 1803, "w": 32, "h": 32 @@ -61180,7 +61201,7 @@ "h": 32 }, "frame": { - "x": 1429, + "x": 1463, "y": 1803, "w": 32, "h": 32 @@ -61201,7 +61222,7 @@ "h": 32 }, "frame": { - "x": 1429, + "x": 1463, "y": 1803, "w": 32, "h": 32 @@ -61222,7 +61243,7 @@ "h": 32 }, "frame": { - "x": 1429, + "x": 1463, "y": 1803, "w": 32, "h": 32 @@ -61243,7 +61264,7 @@ "h": 32 }, "frame": { - "x": 1463, + "x": 1497, "y": 1803, "w": 32, "h": 32 @@ -61264,7 +61285,7 @@ "h": 32 }, "frame": { - "x": 1463, + "x": 1497, "y": 1803, "w": 32, "h": 32 @@ -61285,7 +61306,7 @@ "h": 32 }, "frame": { - "x": 1463, + "x": 1497, "y": 1803, "w": 32, "h": 32 @@ -61307,7 +61328,7 @@ }, "frame": { "x": 1833, - "y": 103, + "y": 137, "w": 32, "h": 32 } @@ -61328,7 +61349,7 @@ }, "frame": { "x": 1833, - "y": 375, + "y": 409, "w": 32, "h": 32 } @@ -61349,7 +61370,7 @@ }, "frame": { "x": 1833, - "y": 375, + "y": 409, "w": 32, "h": 32 } @@ -61370,7 +61391,7 @@ }, "frame": { "x": 1833, - "y": 545, + "y": 579, "w": 32, "h": 32 } @@ -61391,7 +61412,7 @@ }, "frame": { "x": 1833, - "y": 851, + "y": 885, "w": 32, "h": 32 } @@ -61412,7 +61433,7 @@ }, "frame": { "x": 1833, - "y": 919, + "y": 953, "w": 32, "h": 32 } @@ -61433,7 +61454,7 @@ }, "frame": { "x": 1833, - "y": 1157, + "y": 1191, "w": 32, "h": 32 } @@ -61453,8 +61474,8 @@ "h": 32 }, "frame": { - "x": 1821, - "y": 1225, + "x": 1803, + "y": 1259, "w": 32, "h": 32 } @@ -61474,7 +61495,7 @@ "h": 32 }, "frame": { - "x": 137, + "x": 171, "y": 1859, "w": 32, "h": 32 @@ -61495,7 +61516,7 @@ "h": 32 }, "frame": { - "x": 307, + "x": 341, "y": 1859, "w": 32, "h": 32 @@ -61516,7 +61537,7 @@ "h": 32 }, "frame": { - "x": 307, + "x": 341, "y": 1859, "w": 32, "h": 32 @@ -61537,7 +61558,7 @@ "h": 32 }, "frame": { - "x": 307, + "x": 341, "y": 1859, "w": 32, "h": 32 @@ -61558,7 +61579,7 @@ "h": 32 }, "frame": { - "x": 307, + "x": 341, "y": 1859, "w": 32, "h": 32 @@ -61579,7 +61600,7 @@ "h": 32 }, "frame": { - "x": 681, + "x": 715, "y": 1859, "w": 32, "h": 32 @@ -61600,14 +61621,14 @@ "h": 32 }, "frame": { - "x": 987, - "y": 1859, + "x": 1021, + "y": 1849, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/golem/death/11.png", + "filename": "sprites/tinted_images/yellow/units/halberdier/death/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -61622,7 +61643,7 @@ }, "frame": { "x": 1867, - "y": 613, + "y": 647, "w": 32, "h": 32 } @@ -61642,7 +61663,7 @@ "h": 32 }, "frame": { - "x": 103, + "x": 137, "y": 1893, "w": 32, "h": 32 @@ -61663,14 +61684,14 @@ "h": 32 }, "frame": { - "x": 103, + "x": 137, "y": 1893, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/idle/0.png", + "filename": "sprites/tinted_images/yellow/units/marksman/walk/down/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -61684,14 +61705,14 @@ "h": 32 }, "frame": { - "x": 1021, - "y": 1883, + "x": 1395, + "y": 1871, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/death/11.png", + "filename": "sprites/tinted_images/yellow/units/marksman/walk/up/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -61705,14 +61726,14 @@ "h": 32 }, "frame": { - "x": 1123, - "y": 1882, + "x": 1701, + "y": 1871, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/death/7.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/idle/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -61726,14 +61747,14 @@ "h": 32 }, "frame": { - "x": 1123, - "y": 1882, + "x": 1901, + "y": 69, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/death/8.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/death/11.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -61747,14 +61768,14 @@ "h": 32 }, "frame": { - "x": 1123, - "y": 1882, + "x": 1901, + "y": 171, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/pikeman/death/9.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/death/7.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -61768,14 +61789,14 @@ "h": 32 }, "frame": { - "x": 1123, - "y": 1882, + "x": 1901, + "y": 171, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/attack/3.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/death/8.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -61790,13 +61811,13 @@ }, "frame": { "x": 1901, - "y": 1123, + "y": 171, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/death/5.png", + "filename": "sprites/tinted_images/yellow/units/pikeman/death/9.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -61810,14 +61831,14 @@ "h": 32 }, "frame": { - "x": 1871, - "y": 1361, + "x": 1901, + "y": 171, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/prepare/0.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/attack/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -61831,14 +61852,14 @@ "h": 32 }, "frame": { - "x": 1871, - "y": 1395, + "x": 137, + "y": 1927, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/prepare/2.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/death/5.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -61852,14 +61873,14 @@ "h": 32 }, "frame": { - "x": 1871, - "y": 1395, + "x": 375, + "y": 1927, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/idle/2.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/prepare/0.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -61873,14 +61894,14 @@ "h": 32 }, "frame": { - "x": 1871, - "y": 1429, + "x": 409, + "y": 1927, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/swordsman/prepare/3.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/prepare/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -61894,14 +61915,14 @@ "h": 32 }, "frame": { - "x": 1871, - "y": 1497, + "x": 409, + "y": 1927, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/walk/down/3.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/idle/2.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -61915,14 +61936,14 @@ "h": 32 }, "frame": { - "x": 681, + "x": 443, "y": 1927, "w": 32, "h": 32 } }, { - "filename": "sprites/tinted_images/yellow/units/wizard/walk/up/3.png", + "filename": "sprites/tinted_images/yellow/units/swordsman/prepare/3.png", "rotated": false, "trimmed": false, "sourceSize": { @@ -61936,7 +61957,7 @@ "h": 32 }, "frame": { - "x": 987, + "x": 511, "y": 1927, "w": 32, "h": 32 diff --git a/packages/client/src/public/atlases/sprites/atlas.png b/packages/client/src/public/atlases/sprites/atlas.png index 3d36877f9..c1bff840e 100644 Binary files a/packages/client/src/public/atlases/sprites/atlas.png and b/packages/client/src/public/atlases/sprites/atlas.png differ diff --git a/packages/contracts/foundry.toml b/packages/contracts/foundry.toml index c54b470a1..2eb69e61a 100644 --- a/packages/contracts/foundry.toml +++ b/packages/contracts/foundry.toml @@ -1,4 +1,5 @@ [profile.default] +solc = "0.8.21" ffi = false fuzz_runs = 256 optimizer = true @@ -11,11 +12,5 @@ out = "out" extra_output_files = ["abi", "evm.bytecode"] fs_permissions = [{ access = "read", path = "./" }] -[profile.lattice-testnet] -eth_rpc_url = "https://follower.testnet2-chain.linfra.xyz" - -[profile.redstone] -eth_rpc_url = "https://894.quarry.linfra.xyz/" - [profile.redstone-holesky] eth_rpc_url = "https://rpc.holesky.redstone.xyz/" diff --git a/packages/contracts/migrations/1704334615_CreateHeroes.sol b/packages/contracts/migrations/1704334615_CreateHeroes.sol index 206ab259c..1291bc6cd 100644 --- a/packages/contracts/migrations/1704334615_CreateHeroes.sol +++ b/packages/contracts/migrations/1704334615_CreateHeroes.sol @@ -7,7 +7,7 @@ import { IWorld } from "../src/codegen/world/IWorld.sol"; // table imports import { HeroInRotation, HeroInSeasonPassRotation } from "../src/codegen/index.sol"; -import { GolemTemplateId, DragonTemplateId, WizardTemplateId, GolemTemplate, DragonTemplate, WizardTemplate } from "../src/codegen/Templates.sol"; +import { HalberdierTemplateId, DragoonTemplateId, MarksmanTemplateId, HalberdierTemplate, DragoonTemplate, MarksmanTemplate } from "../src/codegen/Templates.sol"; contract CreateHeroes is Script { function run(address worldAddress) external { @@ -17,13 +17,13 @@ contract CreateHeroes is Script { uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY"); vm.startBroadcast(deployerPrivateKey); - GolemTemplate(); - DragonTemplate(); - WizardTemplate(); + HalberdierTemplate(); + DragoonTemplate(); + MarksmanTemplate(); - HeroInRotation.set(GolemTemplateId, true); - HeroInSeasonPassRotation.set(DragonTemplateId, true); - HeroInSeasonPassRotation.set(WizardTemplateId, true); + HeroInRotation.set(HalberdierTemplateId, true); + HeroInSeasonPassRotation.set(DragoonTemplateId, true); + HeroInSeasonPassRotation.set(MarksmanTemplateId, true); vm.stopBroadcast(); } diff --git a/packages/contracts/migrations/1707103524_SeasonZeroPointTwoBalanceChanges.sol b/packages/contracts/migrations/1707103524_SeasonZeroPointTwoBalanceChanges.sol index 1c5f43539..73600e6f8 100644 --- a/packages/contracts/migrations/1707103524_SeasonZeroPointTwoBalanceChanges.sol +++ b/packages/contracts/migrations/1707103524_SeasonZeroPointTwoBalanceChanges.sol @@ -5,7 +5,7 @@ import "forge-std/Script.sol"; import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol"; import { IWorld } from "../src/codegen/world/IWorld.sol"; -import { ArcherTemplate, DragonTemplate, GoldMineTemplate, GolemTemplate, KnightTemplate, PikemanTemplate, RiderTemplate, SettlementTemplate, SwordsmanTemplate, SpawnSettlementTemplate, WizardTemplate } from "../src/codegen/Templates.sol"; +import { ArcherTemplate, DragoonTemplate, GoldMineTemplate, HalberdierTemplate, KnightTemplate, PikemanTemplate, PillagerTemplate, SettlementTemplate, SwordsmanTemplate, SpawnSettlementTemplate, MarksmanTemplate } from "../src/codegen/Templates.sol"; contract SeasonZeroPointTwoBalanceChanges is Script { function run(address worldAddress) external { @@ -16,16 +16,16 @@ contract SeasonZeroPointTwoBalanceChanges is Script { vm.startBroadcast(deployerPrivateKey); ArcherTemplate(); - DragonTemplate(); + DragoonTemplate(); GoldMineTemplate(); - GolemTemplate(); + HalberdierTemplate(); KnightTemplate(); PikemanTemplate(); - RiderTemplate(); + PillagerTemplate(); SettlementTemplate(); SwordsmanTemplate(); SpawnSettlementTemplate(); - WizardTemplate(); + MarksmanTemplate(); vm.stopBroadcast(); } diff --git a/packages/contracts/migrations/1709702812_RedoArchetypes.sol b/packages/contracts/migrations/1709702812_RedoArchetypes.sol new file mode 100644 index 000000000..5facd4ed2 --- /dev/null +++ b/packages/contracts/migrations/1709702812_RedoArchetypes.sol @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: MIT +pragma solidity >=0.8.0; + +import "forge-std/Script.sol"; +import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol"; +import { IWorld } from "../src/codegen/world/IWorld.sol"; + +import { createArchetypeModifiers } from "../src/libraries/LibArchetypes.sol"; + +contract RedoArchetypes is Script { + function run(address worldAddress) external { + IWorld world = IWorld(worldAddress); + StoreSwitch.setStoreAddress(worldAddress); + + uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY"); + vm.startBroadcast(deployerPrivateKey); + + createArchetypeModifiers(); + + vm.stopBroadcast(); + } +} diff --git a/packages/contracts/migrations/1709873729_RenameUnits.sol b/packages/contracts/migrations/1709873729_RenameUnits.sol new file mode 100644 index 000000000..1c1ed7931 --- /dev/null +++ b/packages/contracts/migrations/1709873729_RenameUnits.sol @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: MIT +pragma solidity >=0.8.0; + +import "forge-std/Script.sol"; +import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol"; +import { IWorld } from "../src/codegen/world/IWorld.sol"; + +import { createTemplates } from "../src/codegen/scripts/CreateTemplates.sol"; +import { createArchetypeModifiers } from "../src/libraries/LibArchetypes.sol"; + +contract RenameUnits is Script { + function run(address worldAddress) external { + IWorld world = IWorld(worldAddress); + StoreSwitch.setStoreAddress(worldAddress); + + uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY"); + vm.startBroadcast(deployerPrivateKey); + + createTemplates(); + createArchetypeModifiers(); + + vm.stopBroadcast(); + } +} diff --git a/packages/contracts/mud.config.ts b/packages/contracts/mud.config.ts index 436dd2f75..f73c01e8e 100644 --- a/packages/contracts/mud.config.ts +++ b/packages/contracts/mud.config.ts @@ -10,26 +10,26 @@ export default mudConfig({ "Unknown", // 0 "Swordsman", // 1 "Pikeman", // 2 - "Golem", // 3 - "Rider", // 4 + "Halberdier", // 3 + "Pillager", // 4 "Knight", // 5 - "Dragon", // 6 + "Dragoon", // 6 "Archer", // 7 "Catapult", // 8 - "Wizard", // 9 + "Marksman", // 9 "Brute", // 10 ], CombatArchetypes: [ "Unknown", // 0 "Swordsman", // 1 "Pikeman", // 2 - "Golem", // 3 - "Rider", // 4 + "Halberdier", // 3 + "Pillager", // 4 "Knight", // 5 - "Dragon", // 6 + "Dragoon", // 6 "Archer", // 7 "Catapult", // 8 - "Wizard", // 9 + "Marksman", // 9 "Settlement", // 10 "SpawnSettlement", // 11 "GoldMine", // 12 diff --git a/packages/contracts/package.json b/packages/contracts/package.json index 8fcb6c792..4a99058f4 100644 --- a/packages/contracts/package.json +++ b/packages/contracts/package.json @@ -13,7 +13,7 @@ "devnode": "DEBUG=mud:* mud devnode --blocktime=2", "test": "PRIVATE_KEY=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 DEBUG=mud:* mud test", "gas-report": "PRIVATE_KEY=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 GAS_REPORTER_ENABLED=true mud test --forgeOptions='-vvv' | gas-report --save gas-report.json --stdin", - "dev": "pnpm run templategen && PRIVATE_KEY=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 pnpm mud dev-contracts", + "dev": "pnpm run templategen && PRIVATE_KEY=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 pnpm mud deploy --rpc=http://127.0.0.1:8545", "deploy:dev": "PRIVATE_KEY=0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 DEBUG=mud:* mud deploy", "----- REDSTONE -----": "---------------------------", "deploy:redstone": "DEBUG=mud:* mud deploy --profile=redstone", diff --git a/packages/contracts/script/2023_12_04_ChangeTemplateStaminaOnKill.s.sol b/packages/contracts/script/2023_12_04_ChangeTemplateStaminaOnKill.s.sol index 335d855a3..fc04d4a0f 100644 --- a/packages/contracts/script/2023_12_04_ChangeTemplateStaminaOnKill.s.sol +++ b/packages/contracts/script/2023_12_04_ChangeTemplateStaminaOnKill.s.sol @@ -4,7 +4,7 @@ pragma solidity >=0.8.0; import "forge-std/Script.sol"; import { StoreSwitch } from "@latticexyz/store/src/StoreSwitch.sol"; -import { ArcherTemplate, GolemTemplate, KnightTemplate, PikemanTemplate, RiderTemplate, SwordsmanTemplate } from "../src/codegen/Templates.sol"; +import { ArcherTemplate, HalberdierTemplate, KnightTemplate, PikemanTemplate, PillagerTemplate, SwordsmanTemplate } from "../src/codegen/Templates.sol"; contract ChangeTemplateStaminaOnKill is Script { function run() external { @@ -16,10 +16,10 @@ contract ChangeTemplateStaminaOnKill is Script { vm.startBroadcast(deployerPrivateKey); ArcherTemplate(); - GolemTemplate(); + HalberdierTemplate(); KnightTemplate(); PikemanTemplate(); - RiderTemplate(); + PillagerTemplate(); SwordsmanTemplate(); vm.stopBroadcast(); diff --git a/packages/contracts/script/PostDeploy.s.sol b/packages/contracts/script/PostDeploy.s.sol index 7d0f3abf2..e9814f514 100644 --- a/packages/contracts/script/PostDeploy.s.sol +++ b/packages/contracts/script/PostDeploy.s.sol @@ -25,7 +25,7 @@ import { ResourceId, WorldResourceIdLib } from "@latticexyz/world/src/WorldResou import { IWorld } from "../src/codegen/world/IWorld.sol"; import { createTemplates } from "../src/codegen/scripts/CreateTemplates.sol"; import { SeasonTimes, Admin, SeasonPassConfig, SeasonPassLastSaleAt, SkyPoolConfig, VirtualLevelTemplates, LevelInStandardRotation, LevelInSeasonPassRotation, HeroInRotation, HeroInSeasonPassRotation, MatchRewardPercentages } from "../src/codegen/index.sol"; -import { GrassTemplateId, ForestTemplateId, MountainTemplateId, LavaGroundTemplateId, GolemTemplateId, DragonTemplateId, WizardTemplateId } from "../src/codegen/Templates.sol"; +import { GrassTemplateId, ForestTemplateId, MountainTemplateId, LavaGroundTemplateId, HalberdierTemplateId, DragoonTemplateId, MarksmanTemplateId } from "../src/codegen/Templates.sol"; import { SeasonPassOnlySystem } from "../src/systems/SeasonPassOnlySystem.sol"; import { addressToEntity } from "../src/libraries/LibUtils.sol"; @@ -103,9 +103,9 @@ contract PostDeploy is Script { LevelInSeasonPassRotation.set("KnifeFight", true); LevelInSeasonPassRotation.set("Antelope", true); - HeroInRotation.set(GolemTemplateId, true); - HeroInSeasonPassRotation.set(DragonTemplateId, true); - HeroInSeasonPassRotation.set(WizardTemplateId, true); + HeroInRotation.set(HalberdierTemplateId, true); + HeroInSeasonPassRotation.set(DragoonTemplateId, true); + HeroInSeasonPassRotation.set(MarksmanTemplateId, true); // ______________ SKYPOOL __________________ diff --git a/packages/contracts/src/codegen/Templates.sol b/packages/contracts/src/codegen/Templates.sol index 3a5c745c1..2ce8c9743 100644 --- a/packages/contracts/src/codegen/Templates.sol +++ b/packages/contracts/src/codegen/Templates.sol @@ -5,14 +5,14 @@ pragma solidity >=0.8.21; import { SwordsmanTemplate, SwordsmanTemplateId } from "./templates/SwordsmanTemplate.sol"; import { PikemanTemplate, PikemanTemplateId } from "./templates/PikemanTemplate.sol"; -import { GolemTemplate, GolemTemplateId } from "./templates/GolemTemplate.sol"; +import { HalberdierTemplate, HalberdierTemplateId } from "./templates/HalberdierTemplate.sol"; import { GodUnitTemplate, GodUnitTemplateId } from "./templates/GodUnitTemplate.sol"; -import { RiderTemplate, RiderTemplateId } from "./templates/RiderTemplate.sol"; +import { PillagerTemplate, PillagerTemplateId } from "./templates/PillagerTemplate.sol"; import { KnightTemplate, KnightTemplateId } from "./templates/KnightTemplate.sol"; -import { DragonTemplate, DragonTemplateId } from "./templates/DragonTemplate.sol"; +import { DragoonTemplate, DragoonTemplateId } from "./templates/DragoonTemplate.sol"; import { ArcherTemplate, ArcherTemplateId } from "./templates/ArcherTemplate.sol"; import { CatapultTemplate, CatapultTemplateId } from "./templates/CatapultTemplate.sol"; -import { WizardTemplate, WizardTemplateId } from "./templates/WizardTemplate.sol"; +import { MarksmanTemplate, MarksmanTemplateId } from "./templates/MarksmanTemplate.sol"; import { BruteTemplate, BruteTemplateId } from "./templates/BruteTemplate.sol"; import { GrassTemplate, GrassTemplateId } from "./templates/GrassTemplate.sol"; import { MountainTemplate, MountainTemplateId } from "./templates/MountainTemplate.sol"; diff --git a/packages/contracts/src/codegen/common.sol b/packages/contracts/src/codegen/common.sol index 83c67e901..784f4123f 100644 --- a/packages/contracts/src/codegen/common.sol +++ b/packages/contracts/src/codegen/common.sol @@ -6,13 +6,13 @@ enum UnitTypes { Unknown, Swordsman, Pikeman, - Golem, - Rider, + Halberdier, + Pillager, Knight, - Dragon, + Dragoon, Archer, Catapult, - Wizard, + Marksman, Brute } @@ -20,13 +20,13 @@ enum CombatArchetypes { Unknown, Swordsman, Pikeman, - Golem, - Rider, + Halberdier, + Pillager, Knight, - Dragon, + Dragoon, Archer, Catapult, - Wizard, + Marksman, Settlement, SpawnSettlement, GoldMine, diff --git a/packages/contracts/src/codegen/scripts/CreateTemplates.sol b/packages/contracts/src/codegen/scripts/CreateTemplates.sol index d308b4273..c55ff8a71 100644 --- a/packages/contracts/src/codegen/scripts/CreateTemplates.sol +++ b/packages/contracts/src/codegen/scripts/CreateTemplates.sol @@ -3,19 +3,19 @@ pragma solidity >=0.8.21; /* Autogenerated file. Do not edit manually. */ -import { SwordsmanTemplate, PikemanTemplate, GolemTemplate, GodUnitTemplate, RiderTemplate, KnightTemplate, DragonTemplate, ArcherTemplate, CatapultTemplate, WizardTemplate, BruteTemplate, GrassTemplate, MountainTemplate, WaterTemplate, ForestTemplate, StoneWallTemplate, LavaGroundTemplate, LavaTemplate, LavaMountainTemplate, LavaForestTemplate, RockWallTemplate, MapCenterMarkerTemplate, SettlementTemplate, SpawnSettlementTemplate, GoldMineTemplate, WoodenWallTemplate } from "../Templates.sol"; +import { SwordsmanTemplate, PikemanTemplate, HalberdierTemplate, GodUnitTemplate, PillagerTemplate, KnightTemplate, DragoonTemplate, ArcherTemplate, CatapultTemplate, MarksmanTemplate, BruteTemplate, GrassTemplate, MountainTemplate, WaterTemplate, ForestTemplate, StoneWallTemplate, LavaGroundTemplate, LavaTemplate, LavaMountainTemplate, LavaForestTemplate, RockWallTemplate, MapCenterMarkerTemplate, SettlementTemplate, SpawnSettlementTemplate, GoldMineTemplate, WoodenWallTemplate } from "../Templates.sol"; function createTemplates() { SwordsmanTemplate(); PikemanTemplate(); - GolemTemplate(); + HalberdierTemplate(); GodUnitTemplate(); - RiderTemplate(); + PillagerTemplate(); KnightTemplate(); - DragonTemplate(); + DragoonTemplate(); ArcherTemplate(); CatapultTemplate(); - WizardTemplate(); + MarksmanTemplate(); BruteTemplate(); GrassTemplate(); MountainTemplate(); diff --git a/packages/contracts/src/codegen/templates/DragonTemplate.sol b/packages/contracts/src/codegen/templates/DragoonTemplate.sol similarity index 96% rename from packages/contracts/src/codegen/templates/DragonTemplate.sol rename to packages/contracts/src/codegen/templates/DragoonTemplate.sol index df08b1702..558828a5b 100644 --- a/packages/contracts/src/codegen/templates/DragonTemplate.sol +++ b/packages/contracts/src/codegen/templates/DragoonTemplate.sol @@ -10,11 +10,11 @@ import { UnitTypes, CombatArchetypes, TerrainTypes, StructureTypes, ItemTypes } import { Combat, CombatTableId, UnitType, UnitTypeTableId, CombatArchetype, CombatArchetypeTableId, StaminaOnKill, StaminaOnKillTableId, Range, RangeTableId, Movable, MovableTableId, Untraversable, UntraversableTableId, Tier, TierTableId } from "../index.sol"; -bytes32 constant templateId = "Dragon"; -bytes32 constant DragonTemplateId = templateId; +bytes32 constant templateId = "Dragoon"; +bytes32 constant DragoonTemplateId = templateId; uint256 constant LENGTH = 8; -function DragonTemplate() { +function DragoonTemplate() { bytes32[] memory tableIds = new bytes32[](LENGTH); bytes32[] memory encodedLengthss = new bytes32[](LENGTH); bytes[] memory staticDatas = new bytes[](LENGTH); diff --git a/packages/contracts/src/codegen/templates/GolemTemplate.sol b/packages/contracts/src/codegen/templates/HalberdierTemplate.sol similarity index 96% rename from packages/contracts/src/codegen/templates/GolemTemplate.sol rename to packages/contracts/src/codegen/templates/HalberdierTemplate.sol index e00926a45..c2c0ded0b 100644 --- a/packages/contracts/src/codegen/templates/GolemTemplate.sol +++ b/packages/contracts/src/codegen/templates/HalberdierTemplate.sol @@ -10,11 +10,11 @@ import { UnitTypes, CombatArchetypes, TerrainTypes, StructureTypes, ItemTypes } import { Combat, CombatTableId, UnitType, UnitTypeTableId, CombatArchetype, CombatArchetypeTableId, StaminaOnKill, StaminaOnKillTableId, Range, RangeTableId, Movable, MovableTableId, Untraversable, UntraversableTableId, Tier, TierTableId } from "../index.sol"; -bytes32 constant templateId = "Golem"; -bytes32 constant GolemTemplateId = templateId; +bytes32 constant templateId = "Halberdier"; +bytes32 constant HalberdierTemplateId = templateId; uint256 constant LENGTH = 8; -function GolemTemplate() { +function HalberdierTemplate() { bytes32[] memory tableIds = new bytes32[](LENGTH); bytes32[] memory encodedLengthss = new bytes32[](LENGTH); bytes[] memory staticDatas = new bytes[](LENGTH); diff --git a/packages/contracts/src/codegen/templates/WizardTemplate.sol b/packages/contracts/src/codegen/templates/MarksmanTemplate.sol similarity index 96% rename from packages/contracts/src/codegen/templates/WizardTemplate.sol rename to packages/contracts/src/codegen/templates/MarksmanTemplate.sol index 655262796..a3cfdc8e8 100644 --- a/packages/contracts/src/codegen/templates/WizardTemplate.sol +++ b/packages/contracts/src/codegen/templates/MarksmanTemplate.sol @@ -10,11 +10,11 @@ import { UnitTypes, CombatArchetypes, TerrainTypes, StructureTypes, ItemTypes } import { Combat, CombatTableId, UnitType, UnitTypeTableId, CombatArchetype, CombatArchetypeTableId, StaminaOnKill, StaminaOnKillTableId, Range, RangeTableId, Movable, MovableTableId, Untraversable, UntraversableTableId, Tier, TierTableId } from "../index.sol"; -bytes32 constant templateId = "Wizard"; -bytes32 constant WizardTemplateId = templateId; +bytes32 constant templateId = "Marksman"; +bytes32 constant MarksmanTemplateId = templateId; uint256 constant LENGTH = 8; -function WizardTemplate() { +function MarksmanTemplate() { bytes32[] memory tableIds = new bytes32[](LENGTH); bytes32[] memory encodedLengthss = new bytes32[](LENGTH); bytes[] memory staticDatas = new bytes[](LENGTH); diff --git a/packages/contracts/src/codegen/templates/RiderTemplate.sol b/packages/contracts/src/codegen/templates/PillagerTemplate.sol similarity index 96% rename from packages/contracts/src/codegen/templates/RiderTemplate.sol rename to packages/contracts/src/codegen/templates/PillagerTemplate.sol index 376ef3619..551449750 100644 --- a/packages/contracts/src/codegen/templates/RiderTemplate.sol +++ b/packages/contracts/src/codegen/templates/PillagerTemplate.sol @@ -10,11 +10,11 @@ import { UnitTypes, CombatArchetypes, TerrainTypes, StructureTypes, ItemTypes } import { Combat, CombatTableId, UnitType, UnitTypeTableId, CombatArchetype, CombatArchetypeTableId, StaminaOnKill, StaminaOnKillTableId, Range, RangeTableId, Movable, MovableTableId, Untraversable, UntraversableTableId, Tier, TierTableId } from "../index.sol"; -bytes32 constant templateId = "Rider"; -bytes32 constant RiderTemplateId = templateId; +bytes32 constant templateId = "Pillager"; +bytes32 constant PillagerTemplateId = templateId; uint256 constant LENGTH = 8; -function RiderTemplate() { +function PillagerTemplate() { bytes32[] memory tableIds = new bytes32[](LENGTH); bytes32[] memory encodedLengthss = new bytes32[](LENGTH); bytes[] memory staticDatas = new bytes[](LENGTH); diff --git a/packages/contracts/src/codegen/templates/SettlementTemplate.sol b/packages/contracts/src/codegen/templates/SettlementTemplate.sol index bc578d335..7af449f12 100644 --- a/packages/contracts/src/codegen/templates/SettlementTemplate.sol +++ b/packages/contracts/src/codegen/templates/SettlementTemplate.sol @@ -70,7 +70,7 @@ function SettlementTemplate() { bytes32[] memory factory_prototypeIds = new bytes32[](7); factory_prototypeIds[0] = 0x53776f7264736d616e0000000000000000000000000000000000000000000000; factory_prototypeIds[1] = 0x50696b656d616e00000000000000000000000000000000000000000000000000; - factory_prototypeIds[2] = 0x5269646572000000000000000000000000000000000000000000000000000000; + factory_prototypeIds[2] = 0x50696c6c61676572000000000000000000000000000000000000000000000000; factory_prototypeIds[3] = 0x4172636865720000000000000000000000000000000000000000000000000000; factory_prototypeIds[4] = 0x4b6e696768740000000000000000000000000000000000000000000000000000; factory_prototypeIds[5] = 0x4272757465000000000000000000000000000000000000000000000000000000; diff --git a/packages/contracts/src/codegen/templates/SpawnSettlementTemplate.sol b/packages/contracts/src/codegen/templates/SpawnSettlementTemplate.sol index ac6487e5d..98904bb03 100644 --- a/packages/contracts/src/codegen/templates/SpawnSettlementTemplate.sol +++ b/packages/contracts/src/codegen/templates/SpawnSettlementTemplate.sol @@ -72,7 +72,7 @@ function SpawnSettlementTemplate() { bytes32[] memory factory_prototypeIds = new bytes32[](7); factory_prototypeIds[0] = 0x53776f7264736d616e0000000000000000000000000000000000000000000000; factory_prototypeIds[1] = 0x50696b656d616e00000000000000000000000000000000000000000000000000; - factory_prototypeIds[2] = 0x5269646572000000000000000000000000000000000000000000000000000000; + factory_prototypeIds[2] = 0x50696c6c61676572000000000000000000000000000000000000000000000000; factory_prototypeIds[3] = 0x4172636865720000000000000000000000000000000000000000000000000000; factory_prototypeIds[4] = 0x4b6e696768740000000000000000000000000000000000000000000000000000; factory_prototypeIds[5] = 0x4272757465000000000000000000000000000000000000000000000000000000; diff --git a/packages/contracts/src/libraries/LibArchetypes.sol b/packages/contracts/src/libraries/LibArchetypes.sol index 748cf1e75..7e1cf6aa0 100644 --- a/packages/contracts/src/libraries/LibArchetypes.sol +++ b/packages/contracts/src/libraries/LibArchetypes.sol @@ -21,14 +21,14 @@ function createSwordsmanModifiers() { }) ); - // Swordsman vs. Golem + // Swordsman vs. Halberdier ArchetypeModifier.set( CombatArchetypes.Swordsman, - CombatArchetypes.Golem, + CombatArchetypes.Halberdier, ArchetypeModifierData({ mod: 50, attackerArchetype: CombatArchetypes.Swordsman, - defenderArchetype: CombatArchetypes.Golem + defenderArchetype: CombatArchetypes.Halberdier }) ); @@ -43,14 +43,14 @@ function createSwordsmanModifiers() { }) ); - // Swordsman vs. Rider + // Swordsman vs. Pillager ArchetypeModifier.set( CombatArchetypes.Swordsman, - CombatArchetypes.Rider, + CombatArchetypes.Pillager, ArchetypeModifierData({ mod: 0, attackerArchetype: CombatArchetypes.Swordsman, - defenderArchetype: CombatArchetypes.Rider + defenderArchetype: CombatArchetypes.Pillager }) ); @@ -65,14 +65,14 @@ function createSwordsmanModifiers() { }) ); - // Swordsman vs. Dragon + // Swordsman vs. Dragoon ArchetypeModifier.set( CombatArchetypes.Swordsman, - CombatArchetypes.Dragon, + CombatArchetypes.Dragoon, ArchetypeModifierData({ mod: -25, attackerArchetype: CombatArchetypes.Swordsman, - defenderArchetype: CombatArchetypes.Dragon + defenderArchetype: CombatArchetypes.Dragoon }) ); @@ -98,14 +98,14 @@ function createSwordsmanModifiers() { }) ); - // Swordsman vs. Wizard + // Swordsman vs. Marksman ArchetypeModifier.set( CombatArchetypes.Swordsman, - CombatArchetypes.Wizard, + CombatArchetypes.Marksman, ArchetypeModifierData({ mod: 0, attackerArchetype: CombatArchetypes.Swordsman, - defenderArchetype: CombatArchetypes.Wizard + defenderArchetype: CombatArchetypes.Marksman }) ); @@ -166,14 +166,14 @@ function createPikemanModifiers() { defenderArchetype: CombatArchetypes.Brute }) ); - // Pikeman vs. Rider + // Pikeman vs. Pillager ArchetypeModifier.set( CombatArchetypes.Pikeman, - CombatArchetypes.Rider, + CombatArchetypes.Pillager, ArchetypeModifierData({ mod: 0, attackerArchetype: CombatArchetypes.Pikeman, - defenderArchetype: CombatArchetypes.Rider + defenderArchetype: CombatArchetypes.Pillager }) ); // Pikeman vs. Knight @@ -186,14 +186,14 @@ function createPikemanModifiers() { defenderArchetype: CombatArchetypes.Knight }) ); - // Pikeman vs. Dragon + // Pikeman vs. Dragoon ArchetypeModifier.set( CombatArchetypes.Pikeman, - CombatArchetypes.Dragon, + CombatArchetypes.Dragoon, ArchetypeModifierData({ mod: 100, attackerArchetype: CombatArchetypes.Pikeman, - defenderArchetype: CombatArchetypes.Dragon + defenderArchetype: CombatArchetypes.Dragoon }) ); // Pikeman vs. Archer @@ -216,14 +216,14 @@ function createPikemanModifiers() { defenderArchetype: CombatArchetypes.Catapult }) ); - // Pikeman vs. Wizard + // Pikeman vs. Marksman ArchetypeModifier.set( CombatArchetypes.Pikeman, - CombatArchetypes.Wizard, + CombatArchetypes.Marksman, ArchetypeModifierData({ mod: 0, attackerArchetype: CombatArchetypes.Pikeman, - defenderArchetype: CombatArchetypes.Wizard + defenderArchetype: CombatArchetypes.Marksman }) ); // Pikeman vs. Settlement @@ -258,117 +258,117 @@ function createPikemanModifiers() { ); } -// G O L E M M O D I F I E R S -function createGolemModifiers() { - // Golem vs. Swordsman +// H A L B E R D I E R M O D I F I E R S +function createHalberdierModifiers() { + // Halberdier vs. Swordsman ArchetypeModifier.set( - CombatArchetypes.Golem, + CombatArchetypes.Halberdier, CombatArchetypes.Swordsman, ArchetypeModifierData({ mod: -25, - attackerArchetype: CombatArchetypes.Golem, + attackerArchetype: CombatArchetypes.Halberdier, defenderArchetype: CombatArchetypes.Swordsman }) ); - // Golem vs. Brute + // Halberdier vs. Brute ArchetypeModifier.set( - CombatArchetypes.Golem, + CombatArchetypes.Halberdier, CombatArchetypes.Brute, ArchetypeModifierData({ mod: -25, - attackerArchetype: CombatArchetypes.Golem, + attackerArchetype: CombatArchetypes.Halberdier, defenderArchetype: CombatArchetypes.Brute }) ); - // Golem vs. Rider + // Halberdier vs. Pillager ArchetypeModifier.set( - CombatArchetypes.Golem, - CombatArchetypes.Rider, + CombatArchetypes.Halberdier, + CombatArchetypes.Pillager, ArchetypeModifierData({ mod: 0, - attackerArchetype: CombatArchetypes.Golem, - defenderArchetype: CombatArchetypes.Rider + attackerArchetype: CombatArchetypes.Halberdier, + defenderArchetype: CombatArchetypes.Pillager }) ); - // Golem vs. Knight + // Halberdier vs. Knight ArchetypeModifier.set( - CombatArchetypes.Golem, + CombatArchetypes.Halberdier, CombatArchetypes.Knight, ArchetypeModifierData({ mod: 100, - attackerArchetype: CombatArchetypes.Golem, + attackerArchetype: CombatArchetypes.Halberdier, defenderArchetype: CombatArchetypes.Knight }) ); - // Golem vs. Dragon + // Halberdier vs. Dragoon ArchetypeModifier.set( - CombatArchetypes.Golem, - CombatArchetypes.Dragon, + CombatArchetypes.Halberdier, + CombatArchetypes.Dragoon, ArchetypeModifierData({ mod: 100, - attackerArchetype: CombatArchetypes.Golem, - defenderArchetype: CombatArchetypes.Dragon + attackerArchetype: CombatArchetypes.Halberdier, + defenderArchetype: CombatArchetypes.Dragoon }) ); - // Golem vs. Archer + // Halberdier vs. Archer ArchetypeModifier.set( - CombatArchetypes.Golem, + CombatArchetypes.Halberdier, CombatArchetypes.Archer, ArchetypeModifierData({ mod: 0, - attackerArchetype: CombatArchetypes.Golem, + attackerArchetype: CombatArchetypes.Halberdier, defenderArchetype: CombatArchetypes.Archer }) ); - // Golem vs. Catapult + // Halberdier vs. Catapult ArchetypeModifier.set( - CombatArchetypes.Golem, + CombatArchetypes.Halberdier, CombatArchetypes.Catapult, ArchetypeModifierData({ mod: 0, - attackerArchetype: CombatArchetypes.Golem, + attackerArchetype: CombatArchetypes.Halberdier, defenderArchetype: CombatArchetypes.Catapult }) ); - // Golem vs. Wizard + // Halberdier vs. Marksman ArchetypeModifier.set( - CombatArchetypes.Golem, - CombatArchetypes.Wizard, + CombatArchetypes.Halberdier, + CombatArchetypes.Marksman, ArchetypeModifierData({ mod: 0, - attackerArchetype: CombatArchetypes.Golem, - defenderArchetype: CombatArchetypes.Wizard + attackerArchetype: CombatArchetypes.Halberdier, + defenderArchetype: CombatArchetypes.Marksman }) ); - // Golem vs. Settlement + // Halberdier vs. Settlement ArchetypeModifier.set( - CombatArchetypes.Golem, + CombatArchetypes.Halberdier, CombatArchetypes.Settlement, ArchetypeModifierData({ mod: 0, - attackerArchetype: CombatArchetypes.Golem, + attackerArchetype: CombatArchetypes.Halberdier, defenderArchetype: CombatArchetypes.Settlement }) ); - // Golem vs. SpawnSettlement + // Halberdier vs. SpawnSettlement ArchetypeModifier.set( - CombatArchetypes.Golem, + CombatArchetypes.Halberdier, CombatArchetypes.SpawnSettlement, ArchetypeModifierData({ mod: -25, - attackerArchetype: CombatArchetypes.Golem, + attackerArchetype: CombatArchetypes.Halberdier, defenderArchetype: CombatArchetypes.SpawnSettlement }) ); - // Golem vs. GoldMine + // Halberdier vs. GoldMine ArchetypeModifier.set( - CombatArchetypes.Golem, + CombatArchetypes.Halberdier, CombatArchetypes.GoldMine, ArchetypeModifierData({ mod: 0, - attackerArchetype: CombatArchetypes.Golem, + attackerArchetype: CombatArchetypes.Halberdier, defenderArchetype: CombatArchetypes.GoldMine }) ); @@ -396,24 +396,24 @@ function createBruteModifiers() { defenderArchetype: CombatArchetypes.Pikeman }) ); - // Brute vs. Golem + // Brute vs. Halberdier ArchetypeModifier.set( CombatArchetypes.Brute, - CombatArchetypes.Golem, + CombatArchetypes.Halberdier, ArchetypeModifierData({ mod: 0, attackerArchetype: CombatArchetypes.Brute, - defenderArchetype: CombatArchetypes.Golem + defenderArchetype: CombatArchetypes.Halberdier }) ); - // Brute vs. Rider + // Brute vs. Pillager ArchetypeModifier.set( CombatArchetypes.Brute, - CombatArchetypes.Rider, + CombatArchetypes.Pillager, ArchetypeModifierData({ mod: 0, attackerArchetype: CombatArchetypes.Brute, - defenderArchetype: CombatArchetypes.Rider + defenderArchetype: CombatArchetypes.Pillager }) ); // Brute vs. Knight @@ -426,14 +426,14 @@ function createBruteModifiers() { defenderArchetype: CombatArchetypes.Knight }) ); - // Brute vs. Dragon + // Brute vs. Dragoon ArchetypeModifier.set( CombatArchetypes.Brute, - CombatArchetypes.Dragon, + CombatArchetypes.Dragoon, ArchetypeModifierData({ mod: 0, attackerArchetype: CombatArchetypes.Brute, - defenderArchetype: CombatArchetypes.Dragon + defenderArchetype: CombatArchetypes.Dragoon }) ); // Brute vs. Archer @@ -456,14 +456,14 @@ function createBruteModifiers() { defenderArchetype: CombatArchetypes.Catapult }) ); - // Brute vs. Wizard + // Brute vs. Marksman ArchetypeModifier.set( CombatArchetypes.Brute, - CombatArchetypes.Wizard, + CombatArchetypes.Marksman, ArchetypeModifierData({ mod: -25, attackerArchetype: CombatArchetypes.Brute, - defenderArchetype: CombatArchetypes.Wizard + defenderArchetype: CombatArchetypes.Marksman }) ); // Brute vs. Settlement @@ -499,138 +499,138 @@ function createBruteModifiers() { } // -// R I D E R M O D I F I E R S -function createRiderModifiers() { - // Rider vs. Swordsman +// P I L L A G E R M O D I F I E R S +function createPillagerModifiers() { + // Pillager vs. Swordsman ArchetypeModifier.set( - CombatArchetypes.Rider, + CombatArchetypes.Pillager, CombatArchetypes.Swordsman, ArchetypeModifierData({ mod: -25, - attackerArchetype: CombatArchetypes.Rider, + attackerArchetype: CombatArchetypes.Pillager, defenderArchetype: CombatArchetypes.Swordsman }) ); - // Rider vs. Pikeman + // Pillager vs. Pikeman ArchetypeModifier.set( - CombatArchetypes.Rider, + CombatArchetypes.Pillager, CombatArchetypes.Pikeman, ArchetypeModifierData({ mod: -25, - attackerArchetype: CombatArchetypes.Rider, + attackerArchetype: CombatArchetypes.Pillager, defenderArchetype: CombatArchetypes.Pikeman }) ); - // Rider vs. Golem + // Pillager vs. Halberdier ArchetypeModifier.set( - CombatArchetypes.Rider, - CombatArchetypes.Golem, + CombatArchetypes.Pillager, + CombatArchetypes.Halberdier, ArchetypeModifierData({ mod: -25, - attackerArchetype: CombatArchetypes.Rider, - defenderArchetype: CombatArchetypes.Golem + attackerArchetype: CombatArchetypes.Pillager, + defenderArchetype: CombatArchetypes.Halberdier }) ); - // Rider vs. Brute + // Pillager vs. Brute ArchetypeModifier.set( - CombatArchetypes.Rider, + CombatArchetypes.Pillager, CombatArchetypes.Brute, ArchetypeModifierData({ mod: -50, - attackerArchetype: CombatArchetypes.Rider, + attackerArchetype: CombatArchetypes.Pillager, defenderArchetype: CombatArchetypes.Brute }) ); - // Rider vs. Rider + // Pillager vs. Pillager ArchetypeModifier.set( - CombatArchetypes.Rider, - CombatArchetypes.Rider, + CombatArchetypes.Pillager, + CombatArchetypes.Pillager, ArchetypeModifierData({ mod: -50, - attackerArchetype: CombatArchetypes.Rider, - defenderArchetype: CombatArchetypes.Rider + attackerArchetype: CombatArchetypes.Pillager, + defenderArchetype: CombatArchetypes.Pillager }) ); - // Rider vs. Knight + // Pillager vs. Knight ArchetypeModifier.set( - CombatArchetypes.Rider, + CombatArchetypes.Pillager, CombatArchetypes.Knight, ArchetypeModifierData({ mod: -50, - attackerArchetype: CombatArchetypes.Rider, + attackerArchetype: CombatArchetypes.Pillager, defenderArchetype: CombatArchetypes.Knight }) ); - // Rider vs. Dragon + // Pillager vs. Dragoon ArchetypeModifier.set( - CombatArchetypes.Rider, - CombatArchetypes.Dragon, + CombatArchetypes.Pillager, + CombatArchetypes.Dragoon, ArchetypeModifierData({ mod: -50, - attackerArchetype: CombatArchetypes.Rider, - defenderArchetype: CombatArchetypes.Dragon + attackerArchetype: CombatArchetypes.Pillager, + defenderArchetype: CombatArchetypes.Dragoon }) ); - // Rider vs. Archer + // Pillager vs. Archer ArchetypeModifier.set( - CombatArchetypes.Rider, + CombatArchetypes.Pillager, CombatArchetypes.Archer, ArchetypeModifierData({ mod: -25, - attackerArchetype: CombatArchetypes.Rider, + attackerArchetype: CombatArchetypes.Pillager, defenderArchetype: CombatArchetypes.Archer }) ); - // Rider vs. Catapult + // Pillager vs. Catapult ArchetypeModifier.set( - CombatArchetypes.Rider, + CombatArchetypes.Pillager, CombatArchetypes.Catapult, ArchetypeModifierData({ mod: 100, - attackerArchetype: CombatArchetypes.Rider, + attackerArchetype: CombatArchetypes.Pillager, defenderArchetype: CombatArchetypes.Catapult }) ); - // Rider vs. Wizard + // Pillager vs. Marksman ArchetypeModifier.set( - CombatArchetypes.Rider, - CombatArchetypes.Wizard, + CombatArchetypes.Pillager, + CombatArchetypes.Marksman, ArchetypeModifierData({ mod: -25, - attackerArchetype: CombatArchetypes.Rider, - defenderArchetype: CombatArchetypes.Wizard + attackerArchetype: CombatArchetypes.Pillager, + defenderArchetype: CombatArchetypes.Marksman }) ); - // Rider vs. Settlement + // Pillager vs. Settlement ArchetypeModifier.set( - CombatArchetypes.Rider, + CombatArchetypes.Pillager, CombatArchetypes.Settlement, ArchetypeModifierData({ mod: 150, - attackerArchetype: CombatArchetypes.Rider, + attackerArchetype: CombatArchetypes.Pillager, defenderArchetype: CombatArchetypes.Settlement }) ); - // Rider vs. SpawnSettlement + // Pillager vs. SpawnSettlement ArchetypeModifier.set( - CombatArchetypes.Rider, + CombatArchetypes.Pillager, CombatArchetypes.SpawnSettlement, ArchetypeModifierData({ mod: 50, - attackerArchetype: CombatArchetypes.Rider, + attackerArchetype: CombatArchetypes.Pillager, defenderArchetype: CombatArchetypes.SpawnSettlement }) ); - // Rider vs. GoldMine + // Pillager vs. GoldMine ArchetypeModifier.set( - CombatArchetypes.Rider, + CombatArchetypes.Pillager, CombatArchetypes.GoldMine, ArchetypeModifierData({ mod: 150, - attackerArchetype: CombatArchetypes.Rider, + attackerArchetype: CombatArchetypes.Pillager, defenderArchetype: CombatArchetypes.GoldMine }) ); @@ -659,14 +659,14 @@ function createKnightModifiers() { defenderArchetype: CombatArchetypes.Pikeman }) ); - // Knight vs. Golem + // Knight vs. Halberdier ArchetypeModifier.set( CombatArchetypes.Knight, - CombatArchetypes.Golem, + CombatArchetypes.Halberdier, ArchetypeModifierData({ mod: -50, attackerArchetype: CombatArchetypes.Knight, - defenderArchetype: CombatArchetypes.Golem + defenderArchetype: CombatArchetypes.Halberdier }) ); @@ -681,24 +681,24 @@ function createKnightModifiers() { }) ); - // Knight vs. Rider + // Knight vs. Pillager ArchetypeModifier.set( CombatArchetypes.Knight, - CombatArchetypes.Rider, + CombatArchetypes.Pillager, ArchetypeModifierData({ mod: 100, attackerArchetype: CombatArchetypes.Knight, - defenderArchetype: CombatArchetypes.Rider + defenderArchetype: CombatArchetypes.Pillager }) ); - // Knight vs. Dragon + // Knight vs. Dragoon ArchetypeModifier.set( CombatArchetypes.Knight, - CombatArchetypes.Dragon, + CombatArchetypes.Dragoon, ArchetypeModifierData({ mod: 0, attackerArchetype: CombatArchetypes.Knight, - defenderArchetype: CombatArchetypes.Dragon + defenderArchetype: CombatArchetypes.Dragoon }) ); // Knight vs. Archer @@ -721,14 +721,14 @@ function createKnightModifiers() { defenderArchetype: CombatArchetypes.Catapult }) ); - // Knight vs. Wizard + // Knight vs. Marksman ArchetypeModifier.set( CombatArchetypes.Knight, - CombatArchetypes.Wizard, + CombatArchetypes.Marksman, ArchetypeModifierData({ mod: 100, attackerArchetype: CombatArchetypes.Knight, - defenderArchetype: CombatArchetypes.Wizard + defenderArchetype: CombatArchetypes.Marksman }) ); // Knight vs. Settlement @@ -764,125 +764,125 @@ function createKnightModifiers() { } // -// D R A G O N M O D I F I E R S -function createDragonModifiers() { - // Dragon vs. Swordsman +// D R A G O O N M O D I F I E R S +function createDragoonModifiers() { + // Dragoon vs. Swordsman ArchetypeModifier.set( - CombatArchetypes.Dragon, + CombatArchetypes.Dragoon, CombatArchetypes.Swordsman, ArchetypeModifierData({ mod: 50, - attackerArchetype: CombatArchetypes.Dragon, + attackerArchetype: CombatArchetypes.Dragoon, defenderArchetype: CombatArchetypes.Swordsman }) ); - // Dragon vs. Pikeman + // Dragoon vs. Pikeman ArchetypeModifier.set( - CombatArchetypes.Dragon, + CombatArchetypes.Dragoon, CombatArchetypes.Pikeman, ArchetypeModifierData({ mod: -50, - attackerArchetype: CombatArchetypes.Dragon, + attackerArchetype: CombatArchetypes.Dragoon, defenderArchetype: CombatArchetypes.Pikeman }) ); - // Dragon vs. Golem + // Dragoon vs. Halberdier ArchetypeModifier.set( - CombatArchetypes.Dragon, - CombatArchetypes.Golem, + CombatArchetypes.Dragoon, + CombatArchetypes.Halberdier, ArchetypeModifierData({ mod: -50, - attackerArchetype: CombatArchetypes.Dragon, - defenderArchetype: CombatArchetypes.Golem + attackerArchetype: CombatArchetypes.Dragoon, + defenderArchetype: CombatArchetypes.Halberdier }) ); - // Dragon vs. Brute + // Dragoon vs. Brute ArchetypeModifier.set( - CombatArchetypes.Dragon, + CombatArchetypes.Dragoon, CombatArchetypes.Brute, ArchetypeModifierData({ mod: -25, - attackerArchetype: CombatArchetypes.Dragon, + attackerArchetype: CombatArchetypes.Dragoon, defenderArchetype: CombatArchetypes.Brute }) ); - // Dragon vs. Rider + // Dragoon vs. Pillager ArchetypeModifier.set( - CombatArchetypes.Dragon, - CombatArchetypes.Rider, + CombatArchetypes.Dragoon, + CombatArchetypes.Pillager, ArchetypeModifierData({ mod: 100, - attackerArchetype: CombatArchetypes.Dragon, - defenderArchetype: CombatArchetypes.Rider + attackerArchetype: CombatArchetypes.Dragoon, + defenderArchetype: CombatArchetypes.Pillager }) ); - // Dragon vs. Knight + // Dragoon vs. Knight ArchetypeModifier.set( - CombatArchetypes.Dragon, + CombatArchetypes.Dragoon, CombatArchetypes.Knight, ArchetypeModifierData({ mod: 0, - attackerArchetype: CombatArchetypes.Dragon, + attackerArchetype: CombatArchetypes.Dragoon, defenderArchetype: CombatArchetypes.Knight }) ); - // Dragon vs. Archer + // Dragoon vs. Archer ArchetypeModifier.set( - CombatArchetypes.Dragon, + CombatArchetypes.Dragoon, CombatArchetypes.Archer, ArchetypeModifierData({ mod: 100, - attackerArchetype: CombatArchetypes.Dragon, + attackerArchetype: CombatArchetypes.Dragoon, defenderArchetype: CombatArchetypes.Archer }) ); - // Dragon vs. Catapult + // Dragoon vs. Catapult ArchetypeModifier.set( - CombatArchetypes.Dragon, + CombatArchetypes.Dragoon, CombatArchetypes.Catapult, ArchetypeModifierData({ mod: 0, - attackerArchetype: CombatArchetypes.Dragon, + attackerArchetype: CombatArchetypes.Dragoon, defenderArchetype: CombatArchetypes.Catapult }) ); - // Dragon vs. Wizard + // Dragoon vs. Marksman ArchetypeModifier.set( - CombatArchetypes.Dragon, - CombatArchetypes.Wizard, + CombatArchetypes.Dragoon, + CombatArchetypes.Marksman, ArchetypeModifierData({ mod: 100, - attackerArchetype: CombatArchetypes.Dragon, - defenderArchetype: CombatArchetypes.Wizard + attackerArchetype: CombatArchetypes.Dragoon, + defenderArchetype: CombatArchetypes.Marksman }) ); - // Dragon vs. Settlement + // Dragoon vs. Settlement ArchetypeModifier.set( - CombatArchetypes.Dragon, + CombatArchetypes.Dragoon, CombatArchetypes.Settlement, ArchetypeModifierData({ mod: 0, - attackerArchetype: CombatArchetypes.Dragon, + attackerArchetype: CombatArchetypes.Dragoon, defenderArchetype: CombatArchetypes.Settlement }) ); - // Dragon vs. SpawnSettlement + // Dragoon vs. SpawnSettlement ArchetypeModifier.set( - CombatArchetypes.Dragon, + CombatArchetypes.Dragoon, CombatArchetypes.SpawnSettlement, ArchetypeModifierData({ mod: -25, - attackerArchetype: CombatArchetypes.Dragon, + attackerArchetype: CombatArchetypes.Dragoon, defenderArchetype: CombatArchetypes.SpawnSettlement }) ); - // Dragon vs. GoldMine + // Dragoon vs. GoldMine ArchetypeModifier.set( - CombatArchetypes.Dragon, + CombatArchetypes.Dragoon, CombatArchetypes.GoldMine, ArchetypeModifierData({ mod: 0, - attackerArchetype: CombatArchetypes.Dragon, + attackerArchetype: CombatArchetypes.Dragoon, defenderArchetype: CombatArchetypes.GoldMine }) ); @@ -911,14 +911,14 @@ function createArcherModifiers() { defenderArchetype: CombatArchetypes.Pikeman }) ); - // Archer vs. Golem + // Archer vs. Halberdier ArchetypeModifier.set( CombatArchetypes.Archer, - CombatArchetypes.Golem, + CombatArchetypes.Halberdier, ArchetypeModifierData({ mod: 100, attackerArchetype: CombatArchetypes.Archer, - defenderArchetype: CombatArchetypes.Golem + defenderArchetype: CombatArchetypes.Halberdier }) ); // Archer vs. Brute @@ -931,14 +931,14 @@ function createArcherModifiers() { defenderArchetype: CombatArchetypes.Brute }) ); - // Archer vs. Rider + // Archer vs. Pillager ArchetypeModifier.set( CombatArchetypes.Archer, - CombatArchetypes.Rider, + CombatArchetypes.Pillager, ArchetypeModifierData({ mod: -25, attackerArchetype: CombatArchetypes.Archer, - defenderArchetype: CombatArchetypes.Rider + defenderArchetype: CombatArchetypes.Pillager }) ); // Archer vs. Knight @@ -951,14 +951,14 @@ function createArcherModifiers() { defenderArchetype: CombatArchetypes.Knight }) ); - // Archer vs. Dragon + // Archer vs. Dragoon ArchetypeModifier.set( CombatArchetypes.Archer, - CombatArchetypes.Dragon, + CombatArchetypes.Dragoon, ArchetypeModifierData({ mod: -25, attackerArchetype: CombatArchetypes.Archer, - defenderArchetype: CombatArchetypes.Dragon + defenderArchetype: CombatArchetypes.Dragoon }) ); // Archer vs. Catapult @@ -971,14 +971,14 @@ function createArcherModifiers() { defenderArchetype: CombatArchetypes.Catapult }) ); - // Archer vs. Wizard + // Archer vs. Marksman ArchetypeModifier.set( CombatArchetypes.Archer, - CombatArchetypes.Wizard, + CombatArchetypes.Marksman, ArchetypeModifierData({ mod: 0, attackerArchetype: CombatArchetypes.Archer, - defenderArchetype: CombatArchetypes.Wizard + defenderArchetype: CombatArchetypes.Marksman }) ); // Archer vs. Settlement @@ -1036,14 +1036,14 @@ function createCatapultModifiers() { defenderArchetype: CombatArchetypes.Pikeman }) ); - // Catapult vs. Golem + // Catapult vs. Halberdier ArchetypeModifier.set( CombatArchetypes.Catapult, - CombatArchetypes.Golem, + CombatArchetypes.Halberdier, ArchetypeModifierData({ mod: 50, attackerArchetype: CombatArchetypes.Catapult, - defenderArchetype: CombatArchetypes.Golem + defenderArchetype: CombatArchetypes.Halberdier }) ); // Catapult vs. Brute @@ -1051,19 +1051,19 @@ function createCatapultModifiers() { CombatArchetypes.Catapult, CombatArchetypes.Brute, ArchetypeModifierData({ - mod: 150, + mod: 100, attackerArchetype: CombatArchetypes.Catapult, defenderArchetype: CombatArchetypes.Brute }) ); - // Catapult vs. Rider + // Catapult vs. Pillager ArchetypeModifier.set( CombatArchetypes.Catapult, - CombatArchetypes.Rider, + CombatArchetypes.Pillager, ArchetypeModifierData({ mod: -50, attackerArchetype: CombatArchetypes.Catapult, - defenderArchetype: CombatArchetypes.Rider + defenderArchetype: CombatArchetypes.Pillager }) ); // Catapult vs. Knight @@ -1076,14 +1076,14 @@ function createCatapultModifiers() { defenderArchetype: CombatArchetypes.Knight }) ); - // Catapult vs. Dragon + // Catapult vs. Dragoon ArchetypeModifier.set( CombatArchetypes.Catapult, - CombatArchetypes.Dragon, + CombatArchetypes.Dragoon, ArchetypeModifierData({ mod: -50, attackerArchetype: CombatArchetypes.Catapult, - defenderArchetype: CombatArchetypes.Dragon + defenderArchetype: CombatArchetypes.Dragoon }) ); // Catapult vs. Archer @@ -1096,14 +1096,14 @@ function createCatapultModifiers() { defenderArchetype: CombatArchetypes.Archer }) ); - // Catapult vs. Wizard + // Catapult vs. Marksman ArchetypeModifier.set( CombatArchetypes.Catapult, - CombatArchetypes.Wizard, + CombatArchetypes.Marksman, ArchetypeModifierData({ mod: 50, attackerArchetype: CombatArchetypes.Catapult, - defenderArchetype: CombatArchetypes.Wizard + defenderArchetype: CombatArchetypes.Marksman }) ); // Catapult vs. Settlement @@ -1140,124 +1140,124 @@ function createCatapultModifiers() { // // W I Z A R D M O D I F I E R S -function createWizardModifiers() { - // Wizard vs. Swordsman +function createMarksmanModifiers() { + // Marksman vs. Swordsman ArchetypeModifier.set( - CombatArchetypes.Wizard, + CombatArchetypes.Marksman, CombatArchetypes.Swordsman, ArchetypeModifierData({ mod: 100, - attackerArchetype: CombatArchetypes.Wizard, + attackerArchetype: CombatArchetypes.Marksman, defenderArchetype: CombatArchetypes.Swordsman }) ); - // Wizard vs. Pikeman + // Marksman vs. Pikeman ArchetypeModifier.set( - CombatArchetypes.Wizard, + CombatArchetypes.Marksman, CombatArchetypes.Pikeman, ArchetypeModifierData({ mod: 100, - attackerArchetype: CombatArchetypes.Wizard, + attackerArchetype: CombatArchetypes.Marksman, defenderArchetype: CombatArchetypes.Pikeman }) ); - // Wizard vs. Golem + // Marksman vs. Halberdier ArchetypeModifier.set( - CombatArchetypes.Wizard, - CombatArchetypes.Golem, + CombatArchetypes.Marksman, + CombatArchetypes.Halberdier, ArchetypeModifierData({ mod: 100, - attackerArchetype: CombatArchetypes.Wizard, - defenderArchetype: CombatArchetypes.Golem + attackerArchetype: CombatArchetypes.Marksman, + defenderArchetype: CombatArchetypes.Halberdier }) ); - // Wizard vs. Brute + // Marksman vs. Brute ArchetypeModifier.set( - CombatArchetypes.Wizard, + CombatArchetypes.Marksman, CombatArchetypes.Brute, ArchetypeModifierData({ mod: 50, - attackerArchetype: CombatArchetypes.Wizard, + attackerArchetype: CombatArchetypes.Marksman, defenderArchetype: CombatArchetypes.Brute }) ); - // Wizard vs. Rider + // Marksman vs. Pillager ArchetypeModifier.set( - CombatArchetypes.Wizard, - CombatArchetypes.Rider, + CombatArchetypes.Marksman, + CombatArchetypes.Pillager, ArchetypeModifierData({ mod: -25, - attackerArchetype: CombatArchetypes.Wizard, - defenderArchetype: CombatArchetypes.Rider + attackerArchetype: CombatArchetypes.Marksman, + defenderArchetype: CombatArchetypes.Pillager }) ); - // Wizard vs. Knight + // Marksman vs. Knight ArchetypeModifier.set( - CombatArchetypes.Wizard, + CombatArchetypes.Marksman, CombatArchetypes.Knight, ArchetypeModifierData({ mod: -25, - attackerArchetype: CombatArchetypes.Wizard, + attackerArchetype: CombatArchetypes.Marksman, defenderArchetype: CombatArchetypes.Knight }) ); - // Wizard vs. Dragon + // Marksman vs. Dragoon ArchetypeModifier.set( - CombatArchetypes.Wizard, - CombatArchetypes.Dragon, + CombatArchetypes.Marksman, + CombatArchetypes.Dragoon, ArchetypeModifierData({ mod: -25, - attackerArchetype: CombatArchetypes.Wizard, - defenderArchetype: CombatArchetypes.Dragon + attackerArchetype: CombatArchetypes.Marksman, + defenderArchetype: CombatArchetypes.Dragoon }) ); - // Wizard vs. Archer + // Marksman vs. Archer ArchetypeModifier.set( - CombatArchetypes.Wizard, + CombatArchetypes.Marksman, CombatArchetypes.Archer, ArchetypeModifierData({ mod: 0, - attackerArchetype: CombatArchetypes.Wizard, + attackerArchetype: CombatArchetypes.Marksman, defenderArchetype: CombatArchetypes.Archer }) ); - // Wizard vs. Catapult + // Marksman vs. Catapult ArchetypeModifier.set( - CombatArchetypes.Wizard, + CombatArchetypes.Marksman, CombatArchetypes.Catapult, ArchetypeModifierData({ mod: -25, - attackerArchetype: CombatArchetypes.Wizard, + attackerArchetype: CombatArchetypes.Marksman, defenderArchetype: CombatArchetypes.Catapult }) ); - // Wizard vs. Settlement + // Marksman vs. Settlement ArchetypeModifier.set( - CombatArchetypes.Wizard, + CombatArchetypes.Marksman, CombatArchetypes.Settlement, ArchetypeModifierData({ mod: -25, - attackerArchetype: CombatArchetypes.Wizard, + attackerArchetype: CombatArchetypes.Marksman, defenderArchetype: CombatArchetypes.Settlement }) ); - // Wizard vs. SpawnSettlement + // Marksman vs. SpawnSettlement ArchetypeModifier.set( - CombatArchetypes.Wizard, + CombatArchetypes.Marksman, CombatArchetypes.SpawnSettlement, ArchetypeModifierData({ mod: -50, - attackerArchetype: CombatArchetypes.Wizard, + attackerArchetype: CombatArchetypes.Marksman, defenderArchetype: CombatArchetypes.SpawnSettlement }) ); - // Wizard vs. GoldMine + // Marksman vs. GoldMine ArchetypeModifier.set( - CombatArchetypes.Wizard, + CombatArchetypes.Marksman, CombatArchetypes.GoldMine, ArchetypeModifierData({ mod: -25, - attackerArchetype: CombatArchetypes.Wizard, + attackerArchetype: CombatArchetypes.Marksman, defenderArchetype: CombatArchetypes.GoldMine }) ); @@ -1266,12 +1266,12 @@ function createWizardModifiers() { function createArchetypeModifiers() { createSwordsmanModifiers(); createPikemanModifiers(); - createGolemModifiers(); - createRiderModifiers(); + createHalberdierModifiers(); + createPillagerModifiers(); createKnightModifiers(); - createDragonModifiers(); + createDragoonModifiers(); createArcherModifiers(); createCatapultModifiers(); - createWizardModifiers(); + createMarksmanModifiers(); createBruteModifiers(); } diff --git a/packages/contracts/src/libraries/LibMatch.sol b/packages/contracts/src/libraries/LibMatch.sol index c4bc1d0e4..6b146aa27 100644 --- a/packages/contracts/src/libraries/LibMatch.sol +++ b/packages/contracts/src/libraries/LibMatch.sol @@ -5,7 +5,7 @@ import { ResourceId } from "@latticexyz/store/src/ResourceId.sol"; import { IWorld } from "../codegen/world/IWorld.sol"; import { PositionTableId, LevelPosition, LevelTemplates, LevelTemplatesIndex, MatchConfig, MatchReady, Player, Name, NameTableId, SpawnPoint, SpawnReservedBy, Position, PositionData, PlayerTableId, PlayerReady, MatchPlayers } from "../codegen/index.sol"; -import { GolemTemplateId, MapCenterMarkerTemplateId, SpawnSettlementTemplateId } from "../codegen/Templates.sol"; +import { HalberdierTemplateId, MapCenterMarkerTemplateId, SpawnSettlementTemplateId } from "../codegen/Templates.sol"; import { spawnTemplateAt } from "../libraries/LibTemplate.sol"; import { getLevelSpawnIndices } from "../libraries/LibUtils.sol"; diff --git a/packages/contracts/test/BuildSystem.t.sol b/packages/contracts/test/BuildSystem.t.sol index bbfaa37e1..dff92b128 100644 --- a/packages/contracts/test/BuildSystem.t.sol +++ b/packages/contracts/test/BuildSystem.t.sol @@ -30,7 +30,7 @@ contract BuildSystemTest is BaseTest, GasReporter { prototypeIds[0] = prototypeId; int32[] memory staminaCosts = new int32[](1); - staminaCosts[0] = 1000; + staminaCosts[0] = 100; Factory.set(testMatch, factory, FactoryData({ prototypeIds: prototypeIds, staminaCosts: staminaCosts })); OwnedBy.set(testMatch, factory, player); @@ -45,6 +45,8 @@ contract BuildSystemTest is BaseTest, GasReporter { setupFactory(); vm.startPrank(alice); + int32 goldBeforeBuild = Stamina.get(testMatch, player); + startGasReport("Build unit"); bytes32 unit = world.build(testMatch, factory, prototypeId, targetPosition); endGasReport(); @@ -55,7 +57,7 @@ contract BuildSystemTest is BaseTest, GasReporter { assertEq(Position.get(testMatch, unit).y, targetPosition.y, "unit not at target position"); // spends player stamina - assertEq(Stamina.get(testMatch, player), 0, "player stamina not spent"); + assertEq(Stamina.get(testMatch, player), goldBeforeBuild - 100, "player gold not spent"); } function testNotAFactory() public { diff --git a/packages/contracts/test/LobbySystem.t.sol b/packages/contracts/test/LobbySystem.t.sol index e350d5f1e..d6eb01d61 100644 --- a/packages/contracts/test/LobbySystem.t.sol +++ b/packages/contracts/test/LobbySystem.t.sol @@ -5,7 +5,7 @@ import "forge-std/Test.sol"; import { BaseTest, createPublicMatch } from "./BaseTest.sol"; import { LevelTemplates, LevelTemplatesIndex, OwnedBy, PlayerReady, SpawnPoint, Position, PositionData, Charger, MatchReady, SpawnReservedBy, MatchConfigData, MatchConfig } from "../src/codegen/index.sol"; -import { SpawnSettlementTemplateId, GolemTemplateId } from "../src/codegen/Templates.sol"; +import { SpawnSettlementTemplateId, HalberdierTemplateId } from "../src/codegen/Templates.sol"; import { FORCE_START_WAIT } from "../src/libraries/LibMatch.sol"; @@ -36,11 +36,11 @@ contract LobbySystemTest is BaseTest { vm.stopPrank(); vm.startPrank(alice); - player = world.register(matchEntity, 0, GolemTemplateId); + player = world.register(matchEntity, 0, HalberdierTemplateId); vm.stopPrank(); vm.startPrank(bob); - player2 = world.register(matchEntity, 1, GolemTemplateId); + player2 = world.register(matchEntity, 1, HalberdierTemplateId); world.toggleReady(matchEntity); vm.stopPrank(); } diff --git a/packages/contracts/test/MatchSystem.t.sol b/packages/contracts/test/MatchSystem.t.sol index f790678fc..fd8d78965 100644 --- a/packages/contracts/test/MatchSystem.t.sol +++ b/packages/contracts/test/MatchSystem.t.sol @@ -16,7 +16,7 @@ import { IERC721 } from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; import { BaseTest, createPublicMatch, findFirstMatchInWindow } from "./BaseTest.sol"; -import { SpawnSettlementTemplateId, GolemTemplateId } from "../src/codegen/Templates.sol"; +import { SpawnSettlementTemplateId, HalberdierTemplateId } from "../src/codegen/Templates.sol"; import { calculateCurrentPrice, MAX_TOKEN_ID } from "../src/systems/SeasonPassSystem.sol"; import { dispenseRewards } from "../src/libraries/LibSkyPool.sol"; import { addressToEntity } from "../src/libraries/LibUtils.sol"; @@ -363,11 +363,11 @@ contract MatchSystemTest is BaseTest, GasReporter { rewardPercentages ); - bytes32 alicePlayer = world.register(matchEntity, 0, GolemTemplateId); + bytes32 alicePlayer = world.register(matchEntity, 0, HalberdierTemplateId); vm.stopPrank(); vm.startPrank(bob); - bytes32 bobPlayer = world.register(matchEntity, 1, GolemTemplateId); + bytes32 bobPlayer = world.register(matchEntity, 1, HalberdierTemplateId); vm.stopPrank(); // escrow contract shoudl have default rewards + entrance fee * number of players diff --git a/packages/contracts/test/PlayerRegisterSystem.t.sol b/packages/contracts/test/PlayerRegisterSystem.t.sol index fa0550698..8da366006 100644 --- a/packages/contracts/test/PlayerRegisterSystem.t.sol +++ b/packages/contracts/test/PlayerRegisterSystem.t.sol @@ -8,7 +8,7 @@ import { GasReporter } from "@latticexyz/gas-report/src/GasReporter.sol"; import { HeroInRotation, HeroInSeasonPassRotation, MatchConfig, LevelTemplates, Player, SpawnPoint, Charger, OwnedBy, LastAction, Name, SpawnReservedBy } from "../src/codegen/index.sol"; -import { SpawnSettlementTemplateId, GolemTemplateId } from "../src/codegen/Templates.sol"; +import { SpawnSettlementTemplateId, HalberdierTemplateId } from "../src/codegen/Templates.sol"; bytes32 constant levelId = "debug"; @@ -30,7 +30,7 @@ contract PlayerRegisterSystemTest is BaseTest, GasReporter { vm.startPrank(alice); startGasReport("Register for a match"); - bytes32 player = world.register(matchEntity, 0, GolemTemplateId); + bytes32 player = world.register(matchEntity, 0, HalberdierTemplateId); endGasReport(); vm.stopPrank(); @@ -42,7 +42,7 @@ contract PlayerRegisterSystemTest is BaseTest, GasReporter { vm.startPrank(alice); vm.expectRevert("level entity is not a spawn"); - world.register(matchEntity, 2, GolemTemplateId); + world.register(matchEntity, 2, HalberdierTemplateId); vm.stopPrank(); } @@ -59,12 +59,12 @@ contract PlayerRegisterSystemTest is BaseTest, GasReporter { setupRegister(); prankAdmin(); - HeroInRotation.set(GolemTemplateId, false); + HeroInRotation.set(HalberdierTemplateId, false); vm.stopPrank(); vm.startPrank(alice); vm.expectRevert("invalid hero choice"); - world.register(matchEntity, 0, GolemTemplateId); + world.register(matchEntity, 0, HalberdierTemplateId); vm.stopPrank(); } @@ -72,11 +72,11 @@ contract PlayerRegisterSystemTest is BaseTest, GasReporter { setupRegister(); prankAdmin(); - HeroInSeasonPassRotation.set(GolemTemplateId, false); + HeroInSeasonPassRotation.set(HalberdierTemplateId, false); vm.stopPrank(); vm.startPrank(alice); - bytes32 player = world.register(matchEntity, 0, GolemTemplateId); + bytes32 player = world.register(matchEntity, 0, HalberdierTemplateId); vm.stopPrank(); assertEq(Player.get(matchEntity, player), 1, "did not set Player table"); @@ -105,7 +105,7 @@ contract PlayerRegisterSystemTest is BaseTest, GasReporter { vm.startPrank(alice); vm.expectRevert("registration not open"); - world.register(matchEntity, 0, GolemTemplateId); + world.register(matchEntity, 0, HalberdierTemplateId); vm.stopPrank(); } @@ -115,10 +115,10 @@ contract PlayerRegisterSystemTest is BaseTest, GasReporter { vm.startPrank(alice); - world.register(matchEntity, 0, GolemTemplateId); + world.register(matchEntity, 0, HalberdierTemplateId); vm.expectRevert("this account has already registered for the match"); - world.register(matchEntity, 1, GolemTemplateId); + world.register(matchEntity, 1, HalberdierTemplateId); vm.stopPrank(); } diff --git a/packages/contracts/test/PlayerSystem.t.sol b/packages/contracts/test/PlayerSystem.t.sol index 14978ae83..960bd0511 100644 --- a/packages/contracts/test/PlayerSystem.t.sol +++ b/packages/contracts/test/PlayerSystem.t.sol @@ -21,7 +21,7 @@ contract PlayerTest is BaseTest { vm.stopPrank(); assertEq(Player.get(testMatch, player), 1, "did not set Player table"); - assertEq(Stamina.get(testMatch, player), 1_000, "did not set Stamina table"); + assertEq(Stamina.get(testMatch, player), 250, "did not set Stamina table"); assertEq(OwnedBy.get(testMatch, player), addressToEntity(alice), "did not set OwnedBy table"); } @@ -42,7 +42,7 @@ contract PlayerTest is BaseTest { // test gold generation vm.warp(block.timestamp + 10 minutes); - assertEq(LibStamina.getCurrent(testMatch, player), 41000, "did not regen stamina"); + assertEq(LibStamina.getCurrent(testMatch, player), 40250, "did not generate gold"); assertEq(Chargee.get(testMatch, spawnPoint), player, "did not set Chargee table"); } diff --git a/packages/contracts/ts/templates/templates.ts b/packages/contracts/ts/templates/templates.ts index 4d4ebf283..ed105d115 100644 --- a/packages/contracts/ts/templates/templates.ts +++ b/packages/contracts/ts/templates/templates.ts @@ -21,7 +21,7 @@ const settlementTemplate = { prototypeIds: [ stringToHex("Swordsman", { size: 32 }), stringToHex("Pikeman", { size: 32 }), - stringToHex("Rider", { size: 32 }), + stringToHex("Pillager", { size: 32 }), stringToHex("Archer", { size: 32 }), stringToHex("Knight", { size: 32 }), stringToHex("Brute", { size: 32 }), @@ -66,7 +66,7 @@ export const templates: TemplatesConfig = { Untraversable: { value: true }, Tier: { value: 3 }, }, - Golem: { + Halberdier: { Combat: { health: 400_000, maxHealth: 400_000, @@ -99,7 +99,7 @@ export const templates: TemplatesConfig = { Untraversable: { value: true }, Tier: { value: 3 }, }, - Rider: { + Pillager: { Combat: { health: 100_000, maxHealth: 100_000, @@ -133,7 +133,7 @@ export const templates: TemplatesConfig = { Untraversable: { value: true }, Tier: { value: 3 }, }, - Dragon: { + Dragoon: { Combat: { health: 300_000, maxHealth: 300_000, @@ -185,7 +185,7 @@ export const templates: TemplatesConfig = { Untraversable: { value: true }, Tier: { value: 3 }, }, - Wizard: { + Marksman: { Combat: { health: 250_000, maxHealth: 250_000, diff --git a/packages/headless-client/scripts/createBotPlayer.ts b/packages/headless-client/scripts/createBotPlayer.ts index 1f4e8831d..8ada91d8f 100644 --- a/packages/headless-client/scripts/createBotPlayer.ts +++ b/packages/headless-client/scripts/createBotPlayer.ts @@ -24,8 +24,8 @@ import { BFS } from "client/src/utils/pathfinding"; import lodash from "lodash"; import IWorldAbi from "contracts/out/IWorld.sol/IWorld.abi.json"; import { matchIdFromEntity } from "client/src/matchIdFromEntity"; -import {BYTES32_ZERO, LOBBY_SYSTEM_ID, NAME_SYSTEM_ID, PLAYER_REGISTER_SYSTEM_ID} from "client/src/constants"; -import {decodeMatchEntity} from "client/src/decodeMatchEntity" +import { BYTES32_ZERO, LOBBY_SYSTEM_ID, NAME_SYSTEM_ID, PLAYER_REGISTER_SYSTEM_ID } from "client/src/constants"; +import { decodeMatchEntity } from "client/src/decodeMatchEntity"; const { curry, sample } = lodash; @@ -41,10 +41,10 @@ async function createBotPlayer(skyStrife: SkyStrife) { function handleError(e: unknown) { if ( - e instanceof ContractFunctionRevertedError || - e instanceof CallExecutionError || - e instanceof ContractFunctionExecutionError || - e instanceof RpcRequestError + e instanceof ContractFunctionRevertedError || + e instanceof CallExecutionError || + e instanceof ContractFunctionExecutionError || + e instanceof RpcRequestError ) { console.error(`Error: ${e.shortMessage}`); } else { @@ -103,7 +103,6 @@ async function createBotPlayer(skyStrife: SkyStrife) { } async function findAndJoinMatch() { - const { components: { MatchConfig, MatchFinished }, network: { waitForTransaction }, @@ -132,7 +131,7 @@ async function createBotPlayer(skyStrife: SkyStrife) { { systemId: PLAYER_REGISTER_SYSTEM_ID, functionName: "register", - args: [activeMatch as Hex, spawnPoint, stringToHex("Golem", { size: 32 })], + args: [activeMatch as Hex, spawnPoint, stringToHex("Halberdier", { size: 32 })], }, { systemId: NAME_SYSTEM_ID, @@ -178,7 +177,9 @@ async function createBotPlayer(skyStrife: SkyStrife) { network: { waitForTransaction }, } = networkLayer; - const ownedFactories = [...runQuery([HasValue(OwnedBy, { value: decodeMatchEntity(activePlayerEntity).entity }), Has(Factory)])]; + const ownedFactories = [ + ...runQuery([HasValue(OwnedBy, { value: decodeMatchEntity(activePlayerEntity).entity }), Has(Factory)]), + ]; const factory = ownedFactories[getRandomIntegerInRange(0, ownedFactories.length - 1)]; if (!factory) return; @@ -191,11 +192,16 @@ async function createBotPlayer(skyStrife: SkyStrife) { console.log(`Building a ${prototype} at ${JSON.stringify(positionAdjacentToFactory)}`); try { - const tx = await player.worldContract.write.build([activeMatch, decodeMatchEntity(factory).entity, prototype as Hex, positionAdjacentToFactory]); + const tx = await player.worldContract.write.build([ + activeMatch, + decodeMatchEntity(factory).entity, + prototype as Hex, + positionAdjacentToFactory, + ]); await waitForTransaction(tx); } catch (e) { console.error( - `Player ${player.address} failed to build a ${prototype} at ${JSON.stringify(positionAdjacentToFactory)}` + `Player ${player.address} failed to build a ${prototype} at ${JSON.stringify(positionAdjacentToFactory)}` ); } } @@ -230,7 +236,11 @@ async function createBotPlayer(skyStrife: SkyStrife) { const target = attackableEntities[getRandomIntegerInRange(0, attackableEntities.length - 1)]; console.log(`Unit ${unitEntity} is attacking ${target}`); try { - const tx = await player.worldContract.write.fight([activeMatch, decodeMatchEntity(unitEntity).entity, decodeMatchEntity(target).entity]); + const tx = await player.worldContract.write.fight([ + activeMatch, + decodeMatchEntity(unitEntity).entity, + decodeMatchEntity(target).entity, + ]); await waitForTransaction(tx); return; } catch (e) { @@ -239,10 +249,10 @@ async function createBotPlayer(skyStrife: SkyStrife) { } const [potentialDestinations] = BFS( - unitPosition, - moveSpeed, - curry(getMovementDifficulty)(Position), - curry(isUntraversable)(Position, playerEntity) + unitPosition, + moveSpeed, + curry(getMovementDifficulty)(Position), + curry(isUntraversable)(Position, playerEntity) ); for (const destination of potentialDestinations) { @@ -260,12 +270,17 @@ async function createBotPlayer(skyStrife: SkyStrife) { } } console.log( - `Unit ${unitEntity} is attempting to move to ${JSON.stringify(destination)} and attack ${finalTarget}` + `Unit ${unitEntity} is attempting to move to ${JSON.stringify(destination)} and attack ${finalTarget}` ); try { const path = calculateMovementPath(Position, unitEntity, unitPosition, destination); - const tx = await player.worldContract.write.moveAndAttack([activeMatch, decodeMatchEntity(unitEntity).entity, path, decodeMatchEntity(finalTarget).entity]); + const tx = await player.worldContract.write.moveAndAttack([ + activeMatch, + decodeMatchEntity(unitEntity).entity, + path, + decodeMatchEntity(finalTarget).entity, + ]); await waitForTransaction(tx); return; } catch (e) { @@ -325,7 +340,7 @@ async function createBotPlayer(skyStrife: SkyStrife) { const activeMatchId = matchIdFromEntity(activeMatch); const allUnscopedUnitsInMatch = runQuery([ Has(Untraversable), - HasValue(Match, { matchEntity: decodeMatchEntity(activeMatch).entity }), + HasValue(Match, { matchEntity: decodeMatchEntity(activeMatch).entity }), Not(InCurrentMatch), ]); for (const unit of allUnscopedUnitsInMatch) { @@ -335,7 +350,7 @@ async function createBotPlayer(skyStrife: SkyStrife) { } async function start() { - activeMatch = env.MATCH_ENTITY + activeMatch = env.MATCH_ENTITY; for (;;) { await scopeUnitsToCurrentMatch(); diff --git a/packages/phaserx/src/createEmbodiedEntity.ts b/packages/phaserx/src/createEmbodiedEntity.ts index f2001f062..72b79d0b7 100644 --- a/packages/phaserx/src/createEmbodiedEntity.ts +++ b/packages/phaserx/src/createEmbodiedEntity.ts @@ -92,6 +92,10 @@ export function createEmbodiedEntity( gameObject.setScrollFactor(1); gameObject.clearMask(); gameObject.setData("objectPoolId", null); + gameObject.off("pointerover"); + gameObject.off("pointerout"); + gameObject.off("pointerdown"); + gameObject.off("pointerup"); if (isSprite(gameObject, type)) { gameObject.clearTint(); gameObject.setTexture(""); diff --git a/packages/plugins/README.mdown b/packages/plugins/README.md similarity index 60% rename from packages/plugins/README.mdown rename to packages/plugins/README.md index c1460cfd7..3dd185a46 100644 --- a/packages/plugins/README.mdown +++ b/packages/plugins/README.md @@ -13,18 +13,13 @@ Each plugin receives it's own movable window to render into. ## Getting Started -Using the plugin dev server is the easiest way to start plugin development. To start, run (in this directory): +When you [deploy SkyStrife according to the README.md](../../README.md#initial-dev-setup), the plugin dev server is automatically started for you. +When you edit any files in your [`dev`](./dev) folder, they will be available in your Plugin Manager. -- `pnpm install` -- `pnpm run dev` - -This will start the plugin dev server. It automatically looks for plugin files in the `dev` folder and makes them available to any Sky Strife client you are currently connected to. - -![dev server notification](./public/dev_server.png) -If everything is working correctly, this should appear in your Plugin Manager. Now when you edit any files in your `dev` folder, they will be available in your Plugin Manager. > NOTE: Hot realoding is not currently implemented, so you will need to manually refresh when changing your plugins. Plugins must implement this interface: + ```typescript function createPlugin(pluginLayer: PluginLayer) { // Code here will be run on plugin initialization @@ -35,8 +30,8 @@ function createPlugin(pluginLayer: PluginLayer) { // Called when a plugin is stopped or destroyed // Use this to clean up anything your plugin has setup // i.e. hotkeys, in-game visuals - unmount: () => {} - } + unmount: () => {}, + }; } ``` @@ -46,9 +41,13 @@ You can view the `PluginLayer` API [here](../client/src/layers/Plugins/createPlu There are some example plugins provided in the client by default. The purpose of these is to introduce players to what is possible with a plugin and inspire them to create their own. Currently, the examples are: -- `Frenzy`: Provides a hotkey that commands on of your units to attack the nearest enemy automatically. It has a small informational UI and also highlights the intended target in-game. This is a good introduction to gameplay plugins as it accesses enemy unit information, does some calculation, and issues an attack transaction on behalf of the user. -- `Player Details`: Display a more detailed view of a player in your match. This introduces fetching data that is not otherwise shown in the Sky Strife UI. -- `Simple Example`: This example is used to show all of the built in UI components provided by plugins. You can use this as a starting point for a new plugin. +- `Frenzy`: Provides a hotkey that commands one of your units to attack the nearest enemy automatically. + It has a small informational UI and also highlights the intended target in-game. + This is a good introduction to gameplay plugins as it accesses enemy unit information, does some calculations, and issues an attack transaction on behalf of the user. +- `Player Details`: Display a more detailed view of a player in your match. + This introduces fetching data that is not otherwise shown in the Sky Strife UI. +- `Simple Example`: This example is used to show all of the built-in UI components provided by plugins. + You can use this as a starting point for a new plugin. ## Plugin API @@ -56,9 +55,12 @@ Plugins are provided with a simplified API for interacting with the Sky Strife c ## UI Development in Plugins -The recommended way of creating plugin UIs is by using the provided [Preact](https://preactjs.com/) framework. Preact is a stripped down version of [React](https://react.dev/) that is embeddable in the Sky Strife client. If you are familiar with React then you can easily get started using Preact, as they use mostly the same API. +The recommended way of creating plugin UIs is by using the provided [Preact](https://preactjs.com/) framework. +Preact is a stripped-down version of [React](https://react.dev/) that is embeddable in the Sky Strife client. +If you are familiar with React then you can easily get started using Preact, as they use mostly the same API. -One complication of plugin development is that `jsx` files are not possible. Instead, we use [htm](https://github.com/developit/htm), a `jsx` alternative using template strings. +One complication of plugin development is that `jsx` files are not available. +Instead, we use [htm](https://github.com/developit/htm), a `jsx` alternative using template strings. Here is a full example of using Preact and htm to create a simple plugin: @@ -105,6 +107,9 @@ function createPlugin(pluginLayer: PluginLayer) { ## Security Considerations -> Plugins have FULL access to the Sky Strife client. This means they have access to the **private key of your session wallet**. Malicious plugins could steal this key, steal any ETH in your session wallet, or take control of your units in a match. +> Plugins have FULL access to the Sky Strife client. +> This means they have access to the **private key of your session wallet**. +> Malicious plugins could steal this key, steal any ETH in your session wallet, or take control of your units in a match. -That being said, the attack surface of your session wallet key is limited. There should only ever be a small amount of ETH in your session wallet, and if you've suspected that it is compromised you can revoke and generate a new session wallet easily. +That being said, the attack surface of your session wallet key is limited. +There should only ever be a small amount of ETH in your session wallet, and if you've suspected that it is compromised you can revoke the existing session wallet and generate a new one easily.