Commit graph

47 commits

Author SHA1 Message Date
Zed A. Shaw
d822cb3438 Have a way to detect the best rotation but it's still off a bit. Seems to choose wrong in simple situations. Look in System::shortest_rotate. 2025-09-01 01:37:03 -04:00
Zed A. Shaw
4365aa4bfc Now added a System::multi_path which can target to multiple entities. 2025-08-31 00:39:35 -04:00
Zed A. Shaw
564f9842a2 All of the UIs should be cleared out, and that just leaves the tests. 2025-08-19 23:58:42 -04:00
Zed A. Shaw
d5ff57e025 Now systems.cpp is disconnected from levelmanager. That leaves the GUIs and then to completely remove it and clean up the api. 2025-08-19 11:05:32 -04:00
Zed A. Shaw
81e25f73bb Next phase of the refactor is done. Now to replace everything in Systems. 2025-08-19 01:07:28 -04:00
Zed A. Shaw
ad0069e899 Made it so you can right-click on an item to use it, but yeah it's bad. Gotta refactor. 2025-08-13 11:43:23 -04:00
Zed A. Shaw
f19c1dbb20 Now you can heal yourself. 2025-08-11 16:59:19 -04:00
Zed A. Shaw
f84b63f0e6 The problem with picking up items under a dead body is fixed but now need to fix combat. 2025-08-07 12:13:39 -04:00
Zed A. Shaw
fc4eacadb0 There's now a Collision component that determines collision if its set. Closes #72. 2025-08-06 11:43:39 -04:00
Zed A. Shaw
694ee210d6 Now floor drops always work by having a drop against a wall just drop at your feet. Closes #77. 2025-08-02 23:26:42 -04:00
Zed A. Shaw
fd53f92fe6 Prep for fixing the spatialmap to allow for entities without collision to still be in the space. 2025-07-29 02:13:29 -04:00
Zed A. Shaw
6f91533950 Fog of War now works fairly normally, but I think I'll have to do something so people don't live in the map. Probably something like hearing distance is increased because you're louder with a map out, and you can't see enemies on the map. 2025-07-21 23:21:24 -04:00
Zed A. Shaw
2997dc363b FoW is now moved into lighting so light determines what's seen not player's last position. Not sure if I like that though. 2025-07-21 13:10:03 -04:00
Zed A. Shaw
d264760405 Fog of War works but it's in the wrong place and needs to be based on light. 2025-07-20 01:34:39 -04:00
Zed A. Shaw
aa72cfe4a4 Now have a working compass based directional player sprite in the map, but using the compass isn't going to work long term. Need to move that into the raycaster.cpp and get real degrees for facing direction. 2025-07-18 13:09:53 -04:00
Zed A. Shaw
dca38397e7 Systems::render_map now holds the logic to render the map, and it's working well enough to use for displaying. 2025-07-15 11:39:05 -04:00
Zed A. Shaw
0d1eacdc5c Now entities are drawn after the map so that there's no holes. 2025-07-12 14:46:42 -04:00
Zed A. Shaw
dd541ae59d Ripped out the string based map and created a Matrix map drawing function. 2025-07-12 10:51:55 -04:00
Zed A. Shaw
2c011079a8 I have a test now that can generate a map image so I'll make it look nice there before bringing the code into the game. 2025-07-09 01:54:49 -04:00
Zed A. Shaw
f64b202ee7 Finally have inventory not crashing for most edge cases. This solves many bugs but mostly closes #58. 2025-07-07 13:25:17 -04:00
Zed A. Shaw
a26f0b0c0a Player's aim is now updated constantly as they move, just need to solve #57 to complete it. Closes #9. 2025-07-05 11:18:26 -04:00
Zed A. Shaw
784f753e72 Standardized on using only DinkyECS:Entity for most inventory:::Model operations, then create swap based on the same entities. 2025-07-02 14:25:44 -04:00
Zed A. Shaw
02c42eb042 System::distribute_loot now manages setting up loot junk and does a new entity instead of reusing old ones, that allows System::death to do a coorect world->destroy() on the dead thing. Closes #46. 2025-06-28 13:19:07 -04:00
Zed A. Shaw
fb064ffbf1 Loot boxes now have ritual items and you can click on them, or the enemy just dies. 2025-06-23 01:33:09 -04:00
Zed A. Shaw
812407c3df Now the loot UI can work with any container and only uses an ECS id to work, not have its own contents. 2025-06-21 10:51:45 -04:00
Zed A. Shaw
a0eff927b6 Big BIG refactor to make inventory use a model that's placed into the world, following a more sane MVC style. 2025-06-20 13:17:12 -04:00
Zed A. Shaw
119b3ed11d Can now drag an item out of inventory and drop on the ground, then pick it back up, and put it in a loot container, and then back again. Still buggy but working for now. 2025-06-19 00:45:22 -04:00
Zed A. Shaw
2aa4f0a2e8 Finally can pick things up, but it's really bad so far. Need a bunch of refactoring in how the collision system works, and make it so collision and maps can have multiple entities in the same square. 2025-06-12 13:06:36 -04:00
Zed A. Shaw
f208ca946e Made the components module work like textures and sound so that there's just one constant map of components. 2025-06-02 23:33:59 -04:00
Zed A. Shaw
1a9e068d02 Junk items are now transfered to your blanket so you can use them in crafting. No UI for that though. 2025-04-27 13:35:05 -04:00
Zed A. Shaw
ad1d08ca96 There's now an hp status indicator 'doll' when you click on it your host (character) will tell you how they're doing for HP. 2025-04-26 00:57:23 -04:00
Zed A. Shaw
bf8a2dc0c5 Simple quick way to do different attacks that play different shaders. 2025-04-23 12:32:28 -04:00
Zed A. Shaw
787be78a69 Now I can attach arbitrary shaders to sprites based on things that happen in the world. 2025-04-20 00:09:56 -04:00
Zed A. Shaw
e6a8a8b338 Fixed the map so that it shows directional arrows instead of a compass. 2025-04-06 23:29:25 -04:00
Zed A. Shaw
c7c48658bd Lots of dumb little edits to sort out what I'm aiming at. I'll next clean out most of this in a refactor. 2025-04-06 15:32:19 -04:00
Zed A. Shaw
2e79cf8781 Map is way better and components::Tile is _vastly_ improved by switching to a wchar_t on display and letting nlohmann::json auto convert it for me. 2025-03-22 02:10:56 -04:00
Zed A. Shaw
d3158291f7 Did a full code coverage review and improved many of the tests and a bunch of code. I'll do one more final walk through all the code before getting back to work on the new combat system. 2025-03-17 15:23:47 -04:00
Zed A. Shaw
db5a371766 Moving some stuff around before writing a test to confirm the EntityAI. 2025-03-14 22:39:08 -04:00
Zed A. Shaw
f3e157a0f7 Enemy AI is now prototyped and can find the player and attack them. 2025-03-14 13:41:22 -04:00
Zed A. Shaw
ad71631809 Enemies and now using the GOAP AI to decide when to attack the player, but it's very rough right now. I need to sort out how to store the AI states and use them in the System. 2025-03-14 11:14:25 -04:00
Zed A. Shaw
ee804581a8 Autowalker is working way better and now I have a plan for using the AI in the System. 2025-03-13 13:44:42 -04:00
Zed A. Shaw
0878a9e978 Refactored inventory some so that the UI is not so knowing of the internals. 2025-02-23 23:57:46 -05:00
Zed A. Shaw
3b9525cca4 Enemies now turn into a lootable device witha grave_stone sprite so you know they died. Need to implement noclipping on items with collision. 2025-02-19 23:18:33 -05:00
Zed A. Shaw
f8dd5d816f Basic combat system prototype works, but needs more GUI love to really work in the game. 2025-02-14 10:18:45 -05:00
Zed A. Shaw
d798d154ae We now have a full map that's basically the same mapping system from Roguish. There's a bug right now where it needs you to move once to calc the light and it's not being centered, but it does work. 2025-02-07 19:32:00 -05:00
Zed A. Shaw
e85b5d998b System now controls the motion better since it's not GUIs job. 2025-02-06 12:13:22 -05:00
Zed A. Shaw
2daa1c9bd5 Brought over a bunch of code from the roguelike and now will use it to generate a random map. 2025-01-30 11:38:57 -05:00