2f9864edd8
Start the hero on the down stairs of the level
2023-02-10 22:37:26 -08:00
6c9d01771f
Draw a path from the hero to the current mouse point
...
Add a highlight grid to Map, with locations set to True if that point should be
drawn with a "highlight" treatment.
Add the highlight graphic_dtype to all Tiles.
2023-02-10 22:37:21 -08:00
f05dfdef55
PEP8 formatter changes
2023-02-10 21:25:00 -08:00
727a0737c6
Use integer division for Rect.mid_y and Rect.mid_x
2023-02-10 21:13:49 -08:00
7b0b7ff5b6
Add Rect.intersects
2023-02-10 21:13:31 -08:00
0d0c5a2b35
Remove this unused DefaultConfiguration class variable
2023-02-10 21:13:16 -08:00
85b059dbd4
Add two new room generators
...
- OneBigRoomGenerator
- RandomRectRoomGenerator
2023-02-10 21:12:42 -08:00
9d00f3b638
Promote BSPRoomGenerator.Configuration to RoomGenerator.Configuration
...
This configuration object can actually apply to all room generators.
Notably: copy the default configuration object before setting it to self.configuration.
2023-02-10 21:12:12 -08:00
643ab0990b
logging_config changes
...
Add erynrl.map to the config.
Something reformatted the logging config.
2023-02-10 21:10:21 -08:00
c59dc1b907
Break up room and corridor generation into generate and apply phases
...
- Generate creates rooms and corridors, and apply applies them to a tile grid.
- Add up and down stairs generation to the Room Generators.
- Clean up Room.wall_points and Room.floor_points to make it easier to
write a generic apply() method on RoomGenerator
2023-02-10 21:07:50 -08:00
d4c4b5d879
Reformat some heckin' long initializers in object.py
2023-02-09 21:08:11 -08:00
d8dfe5c497
Fix some PEP8 formatting issues
2023-02-09 21:07:42 -08:00
350876347b
Correct some Direction type annotations
...
They should always have been Vectors.
2023-02-09 21:05:05 -08:00
771926088c
Remove an unused import
2023-02-09 21:04:26 -08:00
fff3260d01
Give MapGenerator up_stairs and down_stairs properties
2023-02-09 21:00:51 -08:00
d9aa8097c5
Add StairsUp and StairsDown tile types
2023-02-09 20:57:51 -08:00
ac5efa7518
PEP8 formatting in map.tile
2023-02-09 20:57:37 -08:00
aacc5d56ca
"strict" type checking is too much 🙃
2023-02-09 20:55:03 -08:00
8e9b130ba7
Fix the ordering of imports in map/__init__.py
2023-02-09 20:54:40 -08:00
dabc9e70dd
PEP8 formatter changes
2023-02-09 16:12:46 -08:00
391f84b21b
Fix up the type annotations for geometry.Direction
2023-02-09 16:09:58 -08:00
175f94798b
Enable strict type checking in the workspace
2023-02-09 16:09:06 -08:00
d8cb6b4242
Tell the linter to allow pt
as a variable name
2023-02-09 16:07:45 -08:00
9a04692539
Refactor map generator package
...
- Move room generators to map.generators.room
- Move corridor generators to map.generators.corridor
Generators have a generate() method that generates the things they place,
and an apply() method that applies their objects to a grid of tiles.
2023-02-09 16:07:29 -08:00
843aa2823f
Some messing around with fonts and BDF files from long ago
2023-02-08 08:36:44 -08:00
1df7cea2ad
Move map modules to their own directory
2023-02-08 08:36:00 -08:00
a4f4584ffd
Enable pep8 formatting on save
2023-02-08 08:35:06 -08:00
1b37807710
Add a pep8 code style configuration file
2023-02-08 08:34:46 -08:00
90994cafd7
Import Action and ActionResult from actions submodules
2022-05-29 21:24:31 -07:00
05eb5c4ade
Add some docstrings to ai.py
2022-05-28 09:02:52 -07:00
ae1c7f5ce2
Refactor events into their own package
...
Most of the existing actions are game actions (they control the player character)
so they live in actions.game. Eventually, there will be modules for different
kinds of actions that only apply to, e.g. modal UI.
2022-05-28 08:52:54 -07:00
46af8863b1
Use a try/catch to check for the presence of actor/target.fighter in MeleeAction
2022-05-16 20:51:53 -07:00
99838cbd00
Convert the passive healing clock to a more granular tick mechanism
...
Instead of counting turns, count clock ticks. A WaitAction adds 10 ticks to the
passive healing clock and a WalkAction adds 5. So, you will heal while walking
but at a slower rate.
2022-05-16 20:50:23 -07:00
31bec25dcf
Add a docstring to engine.Configuration
2022-05-16 20:49:42 -07:00
4124d1ae4e
Clean up some pylint warnings in interface/color.py
2022-05-16 20:49:28 -07:00
d5f6cbe73a
Clean up some pylint warnings in messages.py
...
Add a module doc string
Remove an extraneous else:
2022-05-16 20:49:01 -07:00
e5485300ef
Rename interface.bar.Bar -> interface.percentage_bar.PercentageBar
2022-05-16 16:47:21 -07:00
6e0112fd59
Add some documentation to the things in object.py
2022-05-16 16:40:45 -07:00
18a068cff6
Add some more basic colors and some semantic colors for the Health Bar
2022-05-16 16:40:29 -07:00
11aee12320
Add colors attribute to Bar class
...
This list lets you specify a set of colors that the bar should be painted with
depending on the percentage the bar is filled
2022-05-16 16:40:04 -07:00
6073454ed3
Add line 1 comment to interface/__init__.py
2022-05-16 16:39:19 -07:00
85569595a9
FIX THE COLLISION DETECTION BUG
2022-05-15 19:58:39 -07:00
d4e4684694
Show Entity under mouse cursor in a line above the hit points
2022-05-15 16:50:24 -07:00
4e585a2650
Implement passive healing
2022-05-15 16:19:03 -07:00
ccd2e04d0e
Doc strings in Messages module
2022-05-15 16:18:42 -07:00
8239b22157
Allow fg and bg as variable names
2022-05-15 16:03:47 -07:00
9f27899572
Print some messages when damage and death happen!
2022-05-15 13:58:37 -07:00
72cbd15fb0
Render the MessageLog and clean up the interface (lots of math errors here)
2022-05-15 13:58:26 -07:00
08ef1af4e4
Add a MessageLog that keeps a record of in-game events
2022-05-15 13:58:06 -07:00
ff6763d354
Add a unique identifier to all entities (a monotonically increasing integer)
2022-05-15 13:57:32 -07:00