Commit Graph

247 Commits

Author SHA1 Message Date
Timothy Warren
09de57f67f Add another set of keys for navigating diagonals 2022-01-12 11:15:11 -05:00
Timothy Warren
d5c48247f3 Complete Section 5.15 2022-01-12 11:12:59 -05:00
Timothy Warren
f9e73479d0 Extract spatial indexing (tile contents, and if a tile is blocked) into its own module 2022-01-12 10:45:13 -05:00
Timothy Warren
eb29e28ec6 Complete section 5.14, having refactored basically every system 2022-01-11 15:35:59 -05:00
Timothy Warren
148e448d78 Much more ai refactoring 2022-01-11 14:16:23 -05:00
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
a5d3adadeb Cooler tooltips 2022-01-04 13:11:56 -05:00
43adaee243 Show items, stats, and logs 2022-01-04 12:24:04 -05:00
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
e93573f3a0 Complete section 5.5 by swapping locations with non-hostile NPCs 2021-12-24 14:44:48 -05:00
28ef47c4b7 Add people and objects to the town map 2021-12-24 14:27:44 -05:00
3f561e2ffc Generate some entities in the pub using raws system 2021-12-24 13:23:56 -05:00
a4e9c27c8f Finish generating the empty town map, completing section 5.4 2021-12-24 11:30:52 -05:00
b115f43d5d Use :: prefix on external crates 2021-12-24 10:38:44 -05:00
2dc420bef9 Create a rough town map generator, starting section 5.4 2021-12-24 10:20:29 -05:00
c1222294d0 Move the spawn table to raws 2021-12-23 13:07:50 -05:00
aaf3fdcc42 Spawn all entities via raws, complete Section 5.2 2021-12-23 12:48:09 -05:00
b80c64febb Spawn monsters from raw data, like items 2021-12-23 12:31:03 -05:00
e154577012 Simplify spawning of items, as they are now created by the raws 2021-12-23 12:05:56 -05:00
23e187c7fd Fix rendering of ranged weapons 2021-12-23 12:04:50 -05:00
98407d2c77 Spawn items from JSON data 2021-12-23 11:38:37 -05:00
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
3f692846f8 Refactor bsp_interior map builder to use Rust builder pattern 2021-12-14 17:39:24 -05:00
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
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