diff --git a/.vitepress/config.mts b/.vitepress/config.mts index ea3e58a..7deee87 100644 --- a/.vitepress/config.mts +++ b/.vitepress/config.mts @@ -579,6 +579,24 @@ export default defineConfig({ items: [ { text: "Introduction", link: "/gameplay/game/introduction" }, { text: "Changelog", link: "/gameplay/game/changelog" }, + { + text: "Entities", + items: [ + { + text: "Zombies", + link: "/gameplay/game/entities/zombies.md", + }, + { + text: "Neutral", + link: "/gameplay/game/entities/neutral.md", + }, + { + text: "Players", + link: "/gameplay/game/entities/player.md", + }, + ], + collapsed: true, + }, { text: "Buildings", items: [ @@ -627,10 +645,6 @@ export default defineConfig({ ], collapsed: true, }, - { - text: "Zombies", - link: "/gameplay/game/zombies", - }, ], collapsed: true, }, diff --git a/README.md b/README.md index 5feb6dc..74f1960 100644 --- a/README.md +++ b/README.md @@ -251,10 +251,11 @@ src/ │ │ │ └── wall.md │ │ ├── entities │ │ │ ├── entities_overview.md -│ │ │ └── player.md +│ │ │ ├── neutral.md +│ │ │ ├── player.md +│ │ │ └── zombies.md │ │ ├── changelog.md -│ │ ├── introduction.md -│ │ └── zombies.md +│ │ └── introduction.md │ └── scripts │ ├── fundamentals │ │ ├── dc_triggers.md @@ -339,6 +340,11 @@ src/public/ │ │ ├── buildings │ │ │ ├── building_bar.png │ │ │ └── mage.png +│ │ ├── entities +│ │ │ ├── npc_behaviour.png +│ │ │ ├── npc_raid.png +│ │ │ ├── npcs.png +│ │ │ └── zombieswstats.png │ │ └── introduction │ │ ├── homepage.png │ │ ├── party1.png diff --git a/src/gameplay/game/entities/neutral.md b/src/gameplay/game/entities/neutral.md new file mode 100644 index 0000000..1e38e0f --- /dev/null +++ b/src/gameplay/game/entities/neutral.md @@ -0,0 +1,73 @@ +--- +title: Neutral - zombs.io Wiki +--- + +# Neutral + +## Overview +These entities, so called **Demons**, **Npcs** or **Neutrals**, attack only if provoked by a Player, Pet or Tower. They spawn up to 3 around their Neutral Camp, a red looking rock. + + + + +## Stats +### Neutral + +| Tier | Image | Health | Damage | Collision Radius (px) | +| :---: | :---: | :---: | :---: | :---: | +| 1 | | 1500 | 10 | 22 | + +## Behaviour +- Neutrals spawn in a 200x200px area (square) around the Neutral Camp. +- Neutrals respawn after 32.5 seconds (650 ticks) +- They have an attacking radius of 1000x1000px. +- Once the target leaves, neutrals return within the 300x300px area of their original spawn, NOT Neutral camp. +- They cannot be pushed out with ease out of their spawn range, they will try to return back. +- They always face towards their original spawn point, NOT Neutral Camp. + +You can also view this information in the following illustration. + + + +## Use +They're generally useless, used only to level up your pet C.A.R.L. with EXP points. They're also used to raid bases, only if the attacked tower is within the 1000x1000 attack radius. + + + + +## Changelog + +### May 24, 2017 - Minor Update + +```md{9} +- [Feature] Spacebar now activates auto-harvesting. +- [Pet] Experience progress now displayed below the pet and shows level. +- [Other] You now keep all your items when you die. +- [Other] Added a leaderboard to the homepage. Note: Tracking only started today. + +- Evolving pet before revive is no longer bugged. +- You are invulnerable when you respawn for 30 seconds. +- Fixed tokens not dropping by bosses. + - Monster do not drop tokens anymore. +``` + +### May 18, 2017 - Minor Update +```md{2,3} +- Minor text fixes. +- Nerfed neutral monsters being too strong. +- Prevented neutral monsters from attacking towers and destroying bases. +``` + +### May 17, 2017 - Major Update +```md{2} +- [PETS] You can now have a pet that fights along with you. Check out the shop for how to obtain the first one. You level your pet via killing zombies and monsters around the map. You can also evolve your pet to make it stronger! +- [MONSTER CAMPS] There are now monster camps around the map that you can kill for experience for your pet. You can also kill them for fun. They will do more things later! +- [BOSS WAVES] There are now simple boss waves every 8 waves. These check how defensive your base is, they aren't made to be too hard. Bosses also drop tokens which you use to buy special things coming in the near future. +- [HATS] Hats! + +- A few more new zombies - purple tier! +- Pet whistle calls your pet to return to you. +- There are now damage numbers when you or your pet hit enemies. +- More performance optimization and fixes. +- When players leave your party, their gold mines will despawn to prevent abuse. +``` diff --git a/src/gameplay/game/entities/player.md b/src/gameplay/game/entities/player.md index efbd131..576bfc3 100644 --- a/src/gameplay/game/entities/player.md +++ b/src/gameplay/game/entities/player.md @@ -3,4 +3,8 @@ title: Player - zombs.io Wiki --- # Player -## Overview +::: warning +This section of Wiki needs completion. +::: + + diff --git a/src/gameplay/game/entities/zombies.md b/src/gameplay/game/entities/zombies.md new file mode 100644 index 0000000..3a54e66 --- /dev/null +++ b/src/gameplay/game/entities/zombies.md @@ -0,0 +1,329 @@ +--- +title: Zombies - zombs.io Wiki +--- +# Zombies + +## Basics + +Zombies are entities that spawn during night time around your gold stash with the goal to destroy it. They deal damage on touch. They lose damage during daytime. + + + + +### Zombie Types & Tiers + +Each type of zombie is recognized by its color, and within each type there are 10 tiers of zombies with different sizes and shades of the same color: as zombies get darker and larger, they are higher tiered. + +### Boss Waves + +On wave 9, 17, 25, 33, 41, 49, 57, 65, 73, 81, 89, 97, 105 and 121, bosses will spawn at the start of the wave, replacing the regular zombie waves. + +### Party Members + +The more members are in a party, the more zombies spawn. + +## Stats +Click below to view the zombie stats. +::: details +### Zombie Green + +| Tier | Image | Health | Damage | Collision Radius (px) | +| :---: | :---: | :---: | :---: | :---: | +| 1 | | 60 | 1 | 22 | +| 2 | | 200 | 2 | 22 | +| 3 | | 300 | 3 | 22 | +| 4 | | 500 | 5 | 22 | +| 5 | | 700 | 7 | 22 | +| 6 | | 1000 | 9 | 22 | +| 7 | | 1500 | 13 | 22 | +| 8 | | 2000 | 18 | 22 | +| 9 | | 2500 | 22 | 22 | +| 10 | | 4000 | 24 | 22 | + +--- + +### Zombie Blue + +| Tier | Image | Health | Damage | Collision Radius (px) | +| :---: | :---: | :---: | :---: | :---: | +| 1 | | 3000 | 24 | 22 | +| 2 | | 3000 | 20 | 22 | +| 3 | | 3500 | 24 | 22 | +| 4 | | 4000 | 26 | 22 | +| 5 | | 4500 | 28 | 22 | +| 6 | | 5000 | 32 | 22 | +| 7 | | 5500 | 34 | 22 | +| 8 | | 6000 | 36 | 22 | +| 9 | | 6000 | 36 | 22 | +| 10 | | 8000 | 30 | 22 | + +--- + +### Zombie Red + +| Tier | Image | Health | Damage | Collision Radius (px) | +| :---: | :---: | :---: | :---: | :---: | +| 1 | | 10000 | 40 | 22 | +| 2 | | 12000 | 41 | 22 | +| 3 | | 14000 | 42 | 22 | +| 4 | | 16000 | 43 | 22 | +| 5 | | 18000 | 45 | 25 | +| 6 | | 20000 | 47 | 25 | +| 7 | | 22000 | 49 | 30 | +| 8 | | 24000 | 50 | 30 | +| 9 | | 26000 | 52 | 30 | +| 10 | | 30000 | 54 | 32 | + +--- + +### Zombie Yellow + +| Tier | Image | Health | Damage | Collision Radius (px) | +| :---: | :---: | :---: | :---: | :---: | +| 1 | | 32000 | 68 | 25 | +| 2 | | 34000 | 70 | 25 | +| 3 | | 36000 | 72 | 25 | +| 4 | | 38000 | 76 | 25 | +| 5 | | 40000 | 80 | 25 | +| 6 | | 42000 | 82 | 25 | +| 7 | | 42000 | 84 | 25 | +| 8 | | 44000 | 86 | 25 | +| 9 | | 46000 | 88 | 25 | +| 10 | | 60000 | 94 | 25 | + +--- + +### Zombie Purple + +| Tier | Image | Health | Damage | Collision Radius (px) | +| :---: | :---: | :---: | :---: | :---: | +| 1 | | 70000 | 98 | 23 | +| 2 | | 72000 | 104 | 23 | +| 3 | | 74000 | 110 | 23 | +| 4 | | 76000 | 130 | 25 | +| 5 | | 78000 | 140 | 25 | +| 6 | | 80000 | 150 | 25 | +| 7 | | 82000 | 160 | 25 | +| 8 | | 84000 | 170 | 25 | +| 9 | | 86000 | 180 | 25 | +| 10 | | 88000 | 200 | 25 | + +--- + +### Zombie Orange + +| Tier | Image | Health | Damage | Collision Radius (px) | +| :---: | :---: | :---: | :---: | :---: | +| 1 | | 92000 | 170 | 25 | +| 2 | | 94000 | 220 | 25 | +| 3 | | 96000 | 240 | 25 | +| 4 | | 100000 | 260 | 25 | +| 5 | | 102000 | 280 | 25 | +| 6 | | 104000 | 300 | 25 | +| 7 | | 108000 | 340 | 25 | +| 8 | | 112000 | 380 | 25 | +| 9 | | 118000 | 400 | 25 | +| 10 | | 120000 | 440 | 25 | + +--- + +### Zombie Boss + +| Tier | Image | Health | Damage | Collision Radius (px) | +| :---: | :---: | :---: | :---: | :---: | +| 3 | | 18000 | 80 | 22 | +| 5 | | 40000 | 100 | 22 | +| 7 | | 80000 | 140 | 22 | +| 9 | | 100000 | 160 | 22 | +| 11 | | 180000 | 180 | 22 | +| 13 | | 240000 | 200 | 22 | +| 15 | | 320000 | 220 | 22 | +| 17 | | 360000 | 240 | 22 | +| 19 | | 420000 | 260 | 22 | +| 21 | | 480000 | 300 | 22 | +| 23 | | 520000 | 320 | 22 | +| 25 | | 560000 | 340 | 22 | +| 27 | | 660000 | 360 | 22 | +| 31 | | 660000 | 360 | 22 | +::: + +Credits: ABCxFF + +## Patterns + +### Special Waves + +Wave **51** and **98** are special because zombies spawn even during daytime. Especially with wave 51, it will the largest amount of zombies in any wave. + +### Spawning Amount + +After wave 140, zombies spawn with a pattern. + +#### Wave 140 to 240 + +Zombies spawn at a **constant amount** every wave. Only **Orange Tier 1, 9 and 10 zombies** spawn in these waves, with a `50 : 20 : 40` ratio respectively per party member. + +#### Wave 240 - 1000 + +The zombies enter a 10-wave cycle with the amount of zombies. +On wave `n % 5 === 1`, the amount of zombie spawned is the least in the cycle, increasing gradually each wave until it reaches the maximum on wave `n % 10 === 0`, after which it will repeat the cycle again. +The maximum amount of zombies (seen on wave `n % 10 === 0`) is the same as on waves 140 to 240. + +Here is a table summarizing the zombie spawn amounts per wave by zombie tier (all of the Orange type) for 1 party member: +| Wave | Tier 1 | Tier 9 | Tier 10 | +| :--- | :--- | :--- | :--- | +| `n % 5 === 1` | 0 | 50 | 10 | +| `n % 5 === 2` | 50 | 0 | 20 | +| `n % 5 === 3` | 50 | 0 | 30 | +| `n % 5 === 4` | 50 | 10 | 30 | +| `n % 10 === 5` | 50 | 20 | 30 | +| `n % 10 === 0` | 50 | 20 | 40 | + +#### After wave 1000 + +Zombie spawns stabilizes once again and spawns with the same amount and tier ratio as in wave 140 to 240. + +## Scoring +::: warning +This section is heavily in research. The information provided here may not be accurate in the future, as it is based on the knowledge we (as the community) have so far. +::: + +The table below shows the amount of score each player gets depending on the amount of players in the party, without any intervention from any player or the zombies dying of sunlight: +| # of players | Score | +| :--- | :--- | +| 3 | 2 199 780 | +| 4 | 2 200 000 | + + + +The scoring system considers multiple different factors to award score: +- When an orange zombie dies to the base, the score is split between everyone in the base. +- When an orange zombie is hit by a pet, the score gain goes up by up to ?x. +- When an orange zombie is killed by a player, then the player gets full score, no one else in the party gets anything. +- When an orange zombie dies to sunlight, then no score is gained for any player. + +## Pathfinding + +Pathfinding is the algorithm used by zombies to navigate the map and find their way to the player. Zombies will try to navigate their way to the Gold Stash, avoiding obstacles along the way. However, the pathfinding algorithm does not simulate objects in the same positions as the physics engine. This gives zombs.io a unique enemy aggression against bases, and key to many strong base types today. + +### Basics +Zombies will try to find its way to the Gold Stash and avoid obstacles in its way. However, if the pathfinding algorithm cannot find a short enough path to the Gold Stash, the zombie will simply move in a straight path towards the Gold Stash. + +### Obstacles +Resources like Trees, Stones and Neutral Camps are detected as obstacles. These objects have their bounding boxes processed differently by the pathfinding algorithm compared to their actual collision hitboxes (especially with Neutral Camps, which we'll touch on later). + +Towers and defensive buildings (Wall, Door) are also detected as obstacles, except for the Resource Harvester and Slow Trap. + +#### Bounding Box Calculation +Zombies detect obstacles **differently** from their actual collision hitboxes. Obstacle positions are computed on a 48×48px tile grid. For each obstacle, the bounding box is derived differently depending on the type, then is shifted by half a cell on each axis. + +##### Cell Range + +A unique bounding box calculation is used for each kind of resource: +- **Trees** are expanded outward by a radius of **70px** before grid-snapping, meaning any tile the circle overlaps is included in the bounding box. +- **Stones** use the same method but with a smaller radius of **50px**. +- **Neutral Camps** occupy exactly the **single tile** their center falls on, with no radius expansion. + +Buildings retain their actual collision hitboxes before the next step. + +##### Shifting +Once the cell range is determined, it is converted back to pixel coordinates spanning the full extent of those tiles. The center of this bounding box is then offset by **24px to the right** and **24px to the bottom**, which accounts for the positional shift mentioned above. + +::: tip +A script has been made to visualize the real bounding box for each obstacle type. +::: + +## Spawning +::: warning +This section is under construction. +::: + +## Changelog + +### January 18, 2022 - Minor Update +```md{6} +- Fix some hostility detection bugs with pets +- Party share keys now change when kicking players. New keys are broadcast to non leader party members after 5 seconds +- Add a 1 second kick party member cooldown +- Limit building delete range +- Add a 100 ms delete building cooldown +- Fix wave 14 not spawning zombies +- Afk checking is now more strict +- Internal infrastructure maintenance +``` + +### August 23, 2021 - Minor Update +```md{3} +- Extend hostility detection to work on individual players to stop scripts that start new partys and kick themselves to undo the old hostility detection +- Fix one method of pet invulnerability +- Zombie day time damage is now based on % of max health instead of % of current health to fix max tier walls + low level waves from lagging out the server +- Lower party change cooldown to 1 second from 15 seconds because the disconnection exploit has been fixed for a while now +- Remove cooldowns for open party toggle and party names because the disconnection exploit has been fixed for a while now +``` + +### May 31, 2017 - Minor Update +```md{3} +- New Tier buildings - Tier 8 (Emerald) buildings are now available to build! +- Party function - Party leaders now can allow or disallow members from selling party buildings +- New Zombie tier - orange tiers! +``` + + +### May 30, 2017 - Minor Update +```md{2} +- NEW TOWER - A new tower arrives! The spiky melee tower packs a punch, but it can only shoot in 1 direction. Press R when placing to determine which direction it will face. Choose it's position wisely, and this tower can do some serious damage to enemy zombies +- On-Hit Effects - When a zombie is damaged, you will now see an on-hit indicator showing that your towers have hit them! +- Waves - Boss waves were buffed, normal waves above level 100 were made more difficult, and bosses have started giving much more gold when you kill them +- Major Update coming soon +``` + +### May 21, 2017 - Minor Update +```md{2} +- Added Kick function to party (only leader can kick). +- Added more purple zombies. +- Added a cooldown to using health potions to prevent abuse. +- Fixed a display bug with the party and shop menus. +- Server population should update much more frequently. +``` + +### May 17, 2017 - Major Update +```md{6} +- [PETS] You can now have a pet that fights along with you. Check out the shop for how to obtain the first one. You level your pet via killing zombies and monsters around the map. You can also evolve your pet to make it stronger! +- [MONSTER CAMPS] There are now monster camps around the map that you can kill for experience for your pet. You can also kill them for fun. They will do more things later! +- [BOSS WAVES] There are now simple boss waves every 8 waves. These check how defensive your base is, they aren't made to be too hard. Bosses also drop tokens which you use to buy special things coming in the near future. +- [HATS] Hats! + +- A few more new zombies - purple tier! +- Pet whistle calls your pet to return to you. +- There are now damage numbers when you or your pet hit enemies. +- More performance optimization and fixes. +- When players leave your party, their gold mines will despawn to prevent abuse. +``` + +### May 14, 2017 - Minor Update +```md{7} +- [PERFORMANCE] Network and frame rates optimized for lower-end systems. +- [WEAPONS] Bombs now collide with buildings. +- [BASE] You can no longer place a gold stash too close to another player's stash. +- [PLAYER] You are now given 30s of invulnerability when you respawn. +- [PLAYER] Added F key to use a health potion. + +- Zombies no longer pause and move in random directions. +- Chat messages now show directly above the player and in a chatlog. +``` + +### May 12, 2017 - Major Update +```md{2,5,7} +- [WEAPONS] Buffed weapons massively against zombies and increased gold cost to balance. +- [ZOMBIES] Added a new yellow zombie tier and updated assets for all of the zombies. End-game waves will be harder - teamwork is much more important for climbing waves and achieving high scores! +- [SHOP] Added new Shield item to Shop (press B) that absorbs damage from zombies only. +- [SHOP] Added new Timeout item that prevents the next wave from attacking for one day-night cycle. Use this to take time to rebuild your base/adjust! +- [ZOMBIES] Adjusted waves 35-50 (red zombie waves are harder now - be careful). +- [TOWERS/PVP] Towers now attack you if you attack another player's base! +- [WEAPONS] Normalized damage across towers, players and zombies to reduce PvP snowballing. + +- Added changelog to homepage. +- Added feedback widget to homepage. +- Added featured YouTuber functionality - contact us on Discord, Twitter or via the feedback form if you're interested. +- Added share buttons to invite directly to your party after the game ends. +``` diff --git a/src/gameplay/game/zombies.md b/src/gameplay/game/zombies.md deleted file mode 100644 index 66fb44d..0000000 --- a/src/gameplay/game/zombies.md +++ /dev/null @@ -1,105 +0,0 @@ ---- -title: Zombies - zombs.io Wiki ---- -# Zombies - -## Basics - -### Zombie Types & Tiers - -Each type of zombie is recognized by its color, and within each type there are 10 tiers of zombies with different sizes and shades of the same color: as zombies get darker and larger, they are higher tiered. - -### Boss Waves - -On wave 9, 17, 25, 33, 41, 49, 57, 65, 73, 81, 89, 97, 105 and 121, bosses will spawn at the start of the wave, replacing the regular zombie waves. - -### Party Members - -The more members are in a party, the more zombies spawn. - -## Patterns - -### Special Waves - -Wave **51** and **98** are special because zombies spawn even during daytime. Especially with wave 51, it will the largest amount of zombies in any wave. - -### Spawning Amount - -After wave 140, zombies spawn with a pattern. - -#### Wave 140 to 240 - -Zombies spawn at a **constant amount** every wave. Only **Orange Tier 1, 9 and 10 zombies** spawn in these waves, with a `50 : 20 : 40` ratio respectively per party member. - -#### Wave 240 - 1000 - -The zombies enter a 10-wave cycle with the amount of zombies. -On wave `n % 5 === 1`, the amount of zombie spawned is the least in the cycle, increasing gradually each wave until it reaches the maximum on wave `n % 10 === 0`, after which it will repeat the cycle again. -The maximum amount of zombies (seen on wave `n % 10 === 0`) is the same as on waves 140 to 240. - -Here is a table summarizing the zombie spawn amounts per wave by zombie tier (all of the Orange type) for 1 party member: -| Wave | Tier 1 | Tier 9 | Tier 10 | -| :--- | :--- | :--- | :--- | -| `n % 5 === 1` | 0 | 50 | 10 | -| `n % 5 === 2` | 50 | 0 | 20 | -| `n % 5 === 3` | 50 | 0 | 30 | -| `n % 5 === 4` | 50 | 10 | 30 | -| `n % 10 === 5` | 50 | 20 | 30 | -| `n % 10 === 0` | 50 | 20 | 40 | - -#### After wave 1000 - -Zombie spawns stabilizes once again and spawns with the same amount and tier ratio as in wave 140 to 240. - -## Scoring -::: warning -This section is heavily in research. The information provided here may not be accurate in the future, as it is based on the knowledge we (as the community) have so far. -::: - -The table below shows the amount of score each player gets depending on the amount of players in the party, without any intervention from any player or the zombies dying of sunlight: -| # of players | Score | -| :--- | :--- | -| 3 | 2 199 780 | -| 4 | 2 200 000 | - -The scoring system considers multiple different factors to award score: -- When an orange zombie dies to the base, the score is split between everyone in the base. -- When an orange zombie is hit by a pet, the score gain goes up by up to ?x. -- When an orange zombie is killed by a player, then the player gets full score, no one else in the party gets anything. -- When an orange zombie dies to sunlight, then no score is gained for any player. - -## Pathfinding - -Pathfinding is the algorithm used by zombies to navigate the map and find their way to the player. Zombies will try to navigate their way to the Gold Stash, avoiding obstacles along the way. However, the pathfinding algorithm does not simulate objects in the same positions as the physics engine. This gives zombs.io a unique enemy aggression against bases, and key to many strong base types today. - -### Basics -Zombies will try to find its way to the Gold Stash and avoid obstacles in its way. However, if the pathfinding algorithm cannot find a short enough path to the Gold Stash, the zombie will simply move in a straight path towards the Gold Stash. - -### Obstacles -Resources like Trees, Stones and Neutral Camps are detected as obstacles. These objects have their bounding boxes processed differently by the pathfinding algorithm compared to their actual collision hitboxes (especially with Neutral Camps, which we'll touch on later). - -Towers and defensive buildings (Wall, Door) are also detected as obstacles, except for the Resource Harvester and Slow Trap. - -#### Bounding Box Calculation -Zombies detect obstacles **differently** from their actual collision hitboxes. Obstacle positions are computed on a 48×48px tile grid. For each obstacle, the bounding box is derived differently depending on the type, then is shifted by half a cell on each axis. - -##### Cell Range - -A unique bounding box calculation is used for each kind of resource: -- **Trees** are expanded outward by a radius of **70px** before grid-snapping, meaning any tile the circle overlaps is included in the bounding box. -- **Stones** use the same method but with a smaller radius of **50px**. -- **Neutral Camps** occupy exactly the **single tile** their center falls on, with no radius expansion. - -Buildings retain their actual collision hitboxes before the next step. - -##### Shifting -Once the cell range is determined, it is converted back to pixel coordinates spanning the full extent of those tiles. The center of this bounding box is then offset by **24px to the right** and **24px to the bottom**, which accounts for the positional shift mentioned above. - -::: tip -A script has been made to visualize the real bounding box for each obstacle type. -::: - -## Spawning -::: warning -This section is under construction. -::: diff --git a/src/public/asset/gameplay/game/entities/npc_behaviour.png b/src/public/asset/gameplay/game/entities/npc_behaviour.png new file mode 100644 index 0000000..c25273d Binary files /dev/null and b/src/public/asset/gameplay/game/entities/npc_behaviour.png differ diff --git a/src/public/asset/gameplay/game/entities/npc_raid.png b/src/public/asset/gameplay/game/entities/npc_raid.png new file mode 100644 index 0000000..9b57440 Binary files /dev/null and b/src/public/asset/gameplay/game/entities/npc_raid.png differ diff --git a/src/public/asset/gameplay/game/entities/npcs.png b/src/public/asset/gameplay/game/entities/npcs.png new file mode 100644 index 0000000..7749a18 Binary files /dev/null and b/src/public/asset/gameplay/game/entities/npcs.png differ diff --git a/src/public/asset/gameplay/game/entities/zombieswstats.png b/src/public/asset/gameplay/game/entities/zombieswstats.png new file mode 100644 index 0000000..f616b59 Binary files /dev/null and b/src/public/asset/gameplay/game/entities/zombieswstats.png differ