Commit Graph

280 Commits

Author SHA1 Message Date
Timothy Warren
5c438cc3c0 Implement scrolls to uncurse cursed items 2022-01-21 11:57:36 -05:00
Timothy Warren
2b417847d9 Split gui menu creation into a sub-module 2022-01-21 11:55:29 -05:00
Timothy Warren
9a0e931897 Implement cursed items 2022-01-21 11:18:53 -05:00
8819fabcca Add missing imports 2022-01-20 19:43:51 -05:00
03a90aba44 Complete Section 5.21 2022-01-20 19:41:16 -05:00
Timothy Warren
1cbb70f294 Add new components for dynamically created particle effects 2022-01-20 16:31:03 -05:00
Timothy Warren
64aeb189c9 Cleanup code now handled by effects module 2022-01-20 16:24:12 -05:00
Timothy Warren
64cc39eba1 Simplify main function by extracting game state setup code 2022-01-20 15:58:08 -05:00
Timothy Warren
0f3903e456 Simplify ItemUseSystem and TriggerSystem by refactoring into piecs of the effect module 2022-01-20 15:57:22 -05:00
Timothy Warren
0f6755b35f Extract item equipping functionality from ItemUseSystem 2022-01-20 14:04:47 -05:00
Timothy Warren
6f35a4a933 Create effects module to handle damage, particles, and death more modularly 2022-01-20 11:48:58 -05:00
Timothy Warren
d6c9341569 Split the rest of the inventory system into its own modules 2022-01-20 09:23:13 -05:00
Timothy Warren
892364927a Fix some lint issues 2022-01-19 14:48:10 -05:00
Timothy Warren
1a95ad5650 Extract item use system from inventory system module 2022-01-19 14:47:58 -05:00
Timothy Warren
444b692779 Obfuscate names of scrolls and potions in other scenarios 2022-01-19 14:35:13 -05:00
Timothy Warren
ce11412d54 split gui module into a folder 2022-01-19 13:31:06 -05:00
Timothy Warren
2dc2a4549a Allow identifying items by use or purchase 2022-01-19 11:04:10 -05:00
Timothy Warren
dd8a3b4f6f Implement obfuscated names for magic scrolls 2022-01-19 10:15:51 -05:00
Timothy Warren
12bd24c1f7 Add color to magic items 2022-01-19 09:40:21 -05:00
Timothy Warren
b0bdd44e18 Add MagicItem component 2022-01-19 09:38:41 -05:00
Timothy Warren
41c0ae7eab Complete section 5.19 by finishing town portal functionality 2022-01-18 11:43:36 -05:00
Timothy Warren
485151e37c Move state management out of main file 2022-01-18 11:40:31 -05:00
Timothy Warren
878ee5b480 Refactor movement system, partially implement town portals 2022-01-18 11:00:13 -05:00
Timothy Warren
36b82a59c5 Remove unused imports 2022-01-18 09:40:19 -05:00
Timothy Warren
9e85abb29b Implement map builder for level 5 2022-01-18 09:32:48 -05:00
Timothy Warren
e71c391f3a Make damage system match the tutorial 2022-01-14 12:24:18 -05:00
Timothy Warren
3cad614e78 Make color usage consistent through the use of constants 2022-01-14 12:19:46 -05:00
Timothy Warren
a3fdba4fe5 Add 4th level type, completing section 5.17 2022-01-14 10:47:43 -05:00
Timothy Warren
022a7921ce More cheating! (For developing purposes, of course ;) ) 2022-01-14 09:44:01 -05:00
Timothy Warren
93a1c30b4a Add buying and selling 2022-01-13 11:29:20 -05:00
Timothy Warren
6d4f87b184 Add gold 2022-01-13 10:42:02 -05:00
Timothy Warren
847a577c3e Show carried weight, and apply inititative pentalties 2022-01-13 10:29:58 -05:00
Timothy Warren
220b00c64c Add initiative penalties to items 2022-01-13 10:14:13 -05:00
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