1
0
Fork 0
Commit Graph

292 Commits

Author SHA1 Message Date
Timothy Warren 754118a209 Refactor systems to be more generic 2022-01-11 10:30:32 -05:00
Timothy Warren f0ac291e6a Add initiative system, and refactor systems to use new runstate 2022-01-11 10:01:37 -05:00
Timothy Warren 3def036868 Add MyTurn component 2022-01-11 09:33:21 -05:00
Timothy Warren 107f190a39 Add Initiative component 2022-01-11 09:28:45 -05:00
Timothy Warren f558112836 Refactor AI systems into AI module 2022-01-11 09:24:20 -05:00
Timothy Warren e50abdb4a0 Add lighting to some mob types 2022-01-10 10:28:04 -05:00
Timothy Warren 6f9aa54896 Add lighting system 2022-01-10 10:21:19 -05:00
Timothy Warren 5c34390bc9 Add limestone cavern map builder 2022-01-10 09:57:59 -05:00
Timothy Warren 902f71f57c Add cheat mode for development 2022-01-07 09:39:47 -05:00
Timothy Warren 542c05cb6c Complete section 5.12 2022-01-06 13:37:23 -05:00
Timothy Warren 6cb4406080 Update save game serialization to add previous maps 2022-01-06 10:00:42 -05:00
Timothy Warren b4fc2ba28f Allow restoring of NPCs on level changes 2022-01-06 09:34:17 -05:00
Timothy Warren dd6a4c26d9 Allow going back a level 2022-01-06 09:13:40 -05:00
Timothy Warren ca79653703 Start section 5.12 by adding the master dungeon map 2022-01-05 16:44:44 -05:00
Timothy Warren dd894452f3 Add experience and leveling up, completing section 5.11 2022-01-05 14:59:45 -05:00
Timothy Warren c787ccfd25 Add carnivore/herbivore ai, completing section 5.10 2022-01-05 11:46:39 -05:00
Timothy Warren 6e29b31978 Reorganise components a little 2022-01-05 11:05:15 -05:00
Timothy Warren da99923a1e Use random table spawning for item drops 2022-01-05 10:01:05 -05:00
Timothy Warren 0c09f52eb6 Add LootTable component 2022-01-05 09:42:36 -05:00
Timothy Warren c9b35e2710 Drop items from defeated characters 2022-01-04 16:17:45 -05:00
Timothy Warren 27b6cc385d Improve forest map generation 2022-01-04 15:34:07 -05:00
Timothy Warren e475a91c19 Add new theme for forest map 2022-01-04 15:02:50 -05:00
Timothy Warren 0e9de911ce Complete Section 5.9 2022-01-04 13:54:57 -05:00
Timothy Warren 8824faff24 Fix issue with tooltip location 2022-01-04 13:34:38 -05:00
Timothy Warren a5d3adadeb Cooler tooltips 2022-01-04 13:11:56 -05:00
Timothy Warren 43adaee243 Show items, stats, and logs 2022-01-04 12:24:04 -05:00
Timothy Warren bd81fbd9d9 Start on new interface rendering 2022-01-04 12:12:08 -05:00
Timothy Warren 83647ae28d Add natural attack types, completing section 5.8 2022-01-04 11:29:23 -05:00
Timothy Warren 2785eb10f1 Add components for handling natural attacks 2022-01-04 11:16:36 -05:00
Timothy Warren 5b227115db Add clothing to player and NPCs 2022-01-04 11:11:38 -05:00
Timothy Warren d96d1ce003 Add regex crate to parse dice specs for equipment 2022-01-04 10:08:06 -05:00
Timothy Warren 2e02e30bc6 Complete Section 5.7, replacing the CombatStats component with a new Pools component for more flexibility 2022-01-03 16:30:14 -05:00
Timothy Warren 29b7f18cd8 Create Skills Component 2022-01-03 15:24:38 -05:00
Timothy Warren 5a4d8bc234 Add attributes to Player and NPCs 2022-01-03 15:21:12 -05:00
Timothy Warren 3c36ee7fd3 Fix a clippy warning, complete section 5.6 2022-01-03 10:58:20 -05:00
Timothy Warren b5bf24a3aa Spawn more NPCs in the town map 2022-01-03 10:57:23 -05:00
Timothy Warren ea185db29b Add quips to bystanders 2022-01-03 10:49:12 -05:00
Timothy Warren 4393b76122 Add system to let bystanders move around 2022-01-03 09:54:32 -05:00
Timothy Warren 45bedf11d2 Add vendor NPC type 2022-01-03 09:39:52 -05:00
Timothy Warren e93573f3a0 Complete section 5.5 by swapping locations with non-hostile NPCs 2021-12-24 14:44:48 -05:00
Timothy Warren 28ef47c4b7 Add people and objects to the town map 2021-12-24 14:27:44 -05:00
Timothy Warren 3f561e2ffc Generate some entities in the pub using raws system 2021-12-24 13:23:56 -05:00
Timothy Warren a4e9c27c8f Finish generating the empty town map, completing section 5.4 2021-12-24 11:30:52 -05:00
Timothy Warren b115f43d5d Use :: prefix on external crates 2021-12-24 10:38:44 -05:00
Timothy Warren 2dc420bef9 Create a rough town map generator, starting section 5.4 2021-12-24 10:20:29 -05:00
Timothy Warren c1222294d0 Move the spawn table to raws 2021-12-23 13:07:50 -05:00
Timothy Warren aaf3fdcc42 Spawn all entities via raws, complete Section 5.2 2021-12-23 12:48:09 -05:00
Timothy Warren b80c64febb Spawn monsters from raw data, like items 2021-12-23 12:31:03 -05:00
Timothy Warren e154577012 Simplify spawning of items, as they are now created by the raws 2021-12-23 12:05:56 -05:00
Timothy Warren 23e187c7fd Fix rendering of ranged weapons 2021-12-23 12:04:50 -05:00
Timothy Warren 98407d2c77 Spawn items from JSON data 2021-12-23 11:38:37 -05:00
Timothy Warren 70494d8122 Start of data-driven design (Section 4.2) 2021-12-23 11:00:37 -05:00
Timothy Warren cb2839733b Complete section 4.19 2021-12-17 16:54:36 -05:00
Timothy Warren f749d9a9e5 Create camera, and adjust drawing code to render arbitrary size maps 2021-12-17 16:35:30 -05:00
Timothy Warren 6af7476c51 Tweak door behavior, completing section 4.18 2021-12-17 14:31:39 -05:00
Timothy Warren 1e969db5b0 Allow doors to be opened 2021-12-17 14:23:36 -05:00
Timothy Warren a2cdf9e4cd Fix formatting of prebuilt rooms 2021-12-17 14:21:26 -05:00
Timothy Warren ae3f83b544 Make doors opaque, and block the way 2021-12-17 14:07:14 -05:00
Timothy Warren d028065a4a Spawn doors 2021-12-17 13:53:14 -05:00
Timothy Warren 2b91cbcc8f Restore randomness, and complete section 4.17 2021-12-17 11:33:21 -05:00
Timothy Warren 75d9af0562 Add ability to spawn items and enemies in corridors 2021-12-17 11:29:16 -05:00
Timothy Warren 132d1dac62 Track corridor tile locations, and update corridor builders to update the map builder state 2021-12-17 11:14:41 -05:00
Timothy Warren 5cbd914a98 Add straight line corridor builder 2021-12-17 10:57:03 -05:00
Timothy Warren ac8b70af2b Add nearest neighbor corridor builder 2021-12-17 10:44:35 -05:00
Timothy Warren f281a8be7a Add circular room builder, and finish section 4.16 2021-12-16 16:23:38 -05:00
Timothy Warren d7b617474f Create basic room drawer 2021-12-16 16:07:33 -05:00
Timothy Warren 2ef1f3e1c8 Make map building random again, completes section 4.15 2021-12-16 14:26:50 -05:00
Timothy Warren 939996c71e Expand Room sorter with more options 2021-12-16 13:48:36 -05:00
Timothy Warren b0b154c8d7 Decompose bsp_dungeon builder into rooms, corridors, and sorting 2021-12-16 13:26:48 -05:00
Timothy Warren 23dfbeeeb9 Split corridor creation from room creation for simple_map builder 2021-12-16 11:38:53 -05:00
Timothy Warren 9ef557d938 Update random_builder function with temporary setup 2021-12-15 15:51:01 -05:00
Timothy Warren 099f373ee8 Add room_exploder and room_corner_rounder map filters 2021-12-15 15:50:17 -05:00
Timothy Warren 74fcc25b8c Make dla and drunken map builders implement MetaMapBuilder trait 2021-12-15 13:58:47 -05:00
Timothy Warren ee9e96e828 Implment MetaMapBuilder for Cellular Automata map builder 2021-12-15 13:50:27 -05:00
Timothy Warren 8249622a3e Complete section 4.14 2021-12-15 12:08:44 -05:00
Timothy Warren ee5e690180 Clean up unused use statements 2021-12-15 12:08:23 -05:00
Timothy Warren fc0843847e Finish refactoring of map builders 2021-12-15 11:36:17 -05:00
Timothy Warren 71a07b301c Refactor waveform_collapse map builder to use Rust builder pattern 2021-12-15 11:07:19 -05:00
Timothy Warren 8a596bf93c Refactor voronoi builder to use Rust builder pattern 2021-12-15 10:57:30 -05:00
Timothy Warren db1c4c2d44 Refactor some voronoi-based builders to use Rust builder pattern 2021-12-15 10:45:58 -05:00
Timothy Warren a6d37bf0dc Refactor voronoi map builder to use Rust builder pattern 2021-12-15 10:08:05 -05:00
Timothy Warren 3f692846f8 Refactor bsp_interior map builder to use Rust builder pattern 2021-12-14 17:39:24 -05:00
Timothy Warren ec6e44477b Refactor bsp_dungeon builder to use Rust builder pattern 2021-12-14 17:29:44 -05:00
Timothy Warren 541421eb5b Refactor simple map builder to use the Rust builder pattern 2021-12-14 16:29:36 -05:00
Timothy Warren 9d97f3bd0d Complete section 4.13 2021-12-14 14:16:18 -05:00
Timothy Warren 99d5a78512 Fix some linting issues 2021-12-14 14:15:22 -05:00
Timothy Warren cce44f78f4 Finish Prefab map builder 2021-12-14 11:19:03 -05:00
Timothy Warren 5454dd0755 Add initial room vaults 2021-12-13 15:22:59 -05:00
Timothy Warren 9ff645066b Reorder use statements 2021-12-10 20:16:48 -05:00
Timothy Warren ce3d92bfe2 Complete section 4.12 2021-12-10 16:35:09 -05:00
Timothy Warren 28692ec50c Refactor entity (Enemy, Item, Equipment) spawning 2021-12-10 16:34:11 -05:00
Timothy Warren 8bf63ad876 Add ability to load string map in the prefab map builder 2021-12-10 15:17:51 -05:00
Timothy Warren db168dc01a Use named submodules instead of mod.rs submodules 2021-12-10 14:36:27 -05:00
Timothy Warren baec7dbee1 Refactor prefab_builder into a folder 2021-12-10 14:29:03 -05:00
Timothy Warren def589086c Create prefab_builder 2021-12-10 11:31:39 -05:00
Timothy Warren 54e9e684e7 Cleanup some code for the start of Section 4.12 2021-12-10 11:30:58 -05:00
Timothy Warren 9879fa30b6 Complete section 4.11 2021-12-09 11:34:46 -05:00
Timothy Warren 0bc9e1a938 Add a layout solver to the waveform_collapse map builder 2021-12-09 10:31:43 -05:00
Timothy Warren 5fcc22ab6a Add constraints and common submodules to waveform_collapse map builder 2021-12-08 15:31:52 -05:00
Timothy Warren 3ce4994417 Generate a map from a REX Paint file 2021-12-07 15:13:02 -05:00
Timothy Warren 5c78512002 Complete section 4.10 2021-12-07 14:55:39 -05:00
Timothy Warren 616f75f6a5 Complete section 4.9 2021-12-07 10:36:41 -05:00
Timothy Warren d0c4f9b8c2 Extract symmetry and brush size functions from DLA map builder 2021-12-07 10:23:52 -05:00
Timothy Warren 9b4953be7d Add DLA map building algorithms, finishing section 4.8 2021-12-07 10:17:13 -05:00
Timothy Warren 5e147b40c2 Complete section 4.7, using maze generation to build a map 2021-12-06 15:49:40 -05:00
Timothy Warren d01a60f8fb Finish section 4.6 2021-12-06 14:23:35 -05:00
Timothy Warren b24bf3562c Start section 4.6 2021-12-03 19:33:56 -05:00
Timothy Warren 545deb24d8 Generate map with cellular automata, completes section 4.5 2021-12-03 15:55:07 -05:00
Timothy Warren e8c03b9536 Add corridors to the bsp interior map builder, completing section 4.4 2021-12-03 14:15:17 -05:00
Timothy Warren c38a8f1629 Implement start of BSP Interior map builder (Section 4.4) 2021-12-03 10:00:19 -05:00
Timothy Warren 731e6dd243 Fix some clippy warnings 2021-12-02 15:03:55 -05:00
Timothy Warren 0f8d4d8fab Randomly choose which map builder to use 2021-12-02 15:00:06 -05:00
Timothy Warren 86d46b8d5b Fix some minor component issues 2021-12-02 14:59:35 -05:00
Timothy Warren 37b042e434 Add BSP map builder 2021-12-02 14:59:00 -05:00
Timothy Warren c7cd65af7a Add some convient trait implementations for the Position component 2021-12-01 15:25:48 -05:00
Timothy Warren e55218c325 Make map setup more DRY, add map generation visualizer, completes section 4.2 2021-12-01 14:45:27 -05:00
Timothy Warren 713c3f6fb8 Complete section 4.1 by removing rooms from Maps 2021-12-01 12:08:14 -05:00
Timothy Warren feb7988f5f Move map builder state into map builder 2021-12-01 12:03:49 -05:00
Timothy Warren 6b48111a97 Move more map procedure stuff into the map builder 2021-12-01 11:41:29 -05:00
Timothy Warren 7f8c16a79f Refactor map generation to return original player position 2021-12-01 11:02:39 -05:00
Timothy Warren 8bb6bf35d6 Refactor map generation into its own submodule 2021-12-01 10:47:41 -05:00
Timothy Warren 06e7311523 Complete section 3.7 2021-12-01 10:14:30 -05:00
Timothy Warren 4011e7d7d3 Make single-activation traps work 2021-12-01 09:46:34 -05:00
Timothy Warren 804904dd4b Add a basic hidden trap mechanism 2021-11-29 16:00:07 -05:00
Timothy Warren 32874bf9f5 Fix main menu selection if there is no save file. Also remove redundant variables and returns 2021-11-29 15:10:56 -05:00
Timothy Warren 1f8869879c Add background image to main menu 2021-11-29 14:59:46 -05:00
Timothy Warren d0b0a84984 Add item to reveal current map, completes section 3.5 2021-11-29 14:39:15 -05:00
Timothy Warren 3effbdb586 Use less redundant code style with 'if let' statements 2021-11-19 19:52:15 -05:00
Timothy Warren 87d825276e Finish section 3.4 2021-11-19 11:31:27 -05:00
Timothy Warren 69194a2dd6 Slightly simplify adding entries to game log 2021-11-19 11:30:25 -05:00
Timothy Warren 81f64b07a6 Add rations, and the ability to eat them 2021-11-18 15:25:29 -05:00
Timothy Warren 7b93ecc26c Show hunger status 2021-11-18 11:47:57 -05:00
Timothy Warren 950c0a3ef1 Arrange key mappings in a bit more intuitive order 2021-11-18 10:56:51 -05:00
Timothy Warren b9e499b421 Add additional set of controls for diagonals 2021-11-18 10:48:14 -05:00
Timothy Warren e0f3b7c255 Make sure all numpad inputs are mirrored on the number row, so that Mac OS works with numpad controls 2021-11-18 10:32:50 -05:00
Timothy Warren c490ab114b Implement the hunger system 2021-11-18 10:28:49 -05:00
Timothy Warren 15a0f1779c Add HungerClock component 2021-11-17 16:23:01 -05:00
Timothy Warren c4db6f5932 Make import style more consistent 2021-11-17 16:08:46 -05:00
Timothy Warren a973e6a444 Complete section 3.3 2021-11-17 15:55:48 -05:00
Timothy Warren 5bd85f5d86 Add particle effects for item usage 2021-11-17 13:50:55 -05:00
Timothy Warren 1dd5db42f7 Add particle effects for Melee combat 2021-11-16 11:33:58 -05:00
Timothy Warren c4bc637c79 Fix wall drawing bug and get rid of clippy warnings 2021-11-16 10:45:39 -05:00
Timothy Warren a198fe1832 Implement bloodstains 2021-11-16 10:28:05 -05:00
Timothy Warren b1b3105a80 Complete section 3.1 2021-11-15 14:12:27 -05:00
Timothy Warren ffc997ce20 Cleanup code structure to match the end of the first section of the tutorial 2021-11-15 13:55:31 -05:00
Timothy Warren 416af96be3 Complete the first section 2021-11-15 13:27:40 -05:00
Timothy Warren 43e9ebd52b Add some better equipment 2021-11-15 11:48:01 -05:00
Timothy Warren a2ef1810d9 Add ability to remove equipped items 2021-11-15 11:32:09 -05:00
Timothy Warren b2ed5e7758 Update dagger and shield to have attack/defense bonuses 2021-11-15 09:45:12 -05:00
Timothy Warren 4322b250cb Add ability to equip items 2021-11-15 09:19:22 -05:00