Commit Graph

375 Commits

Author SHA1 Message Date
eichhornchen dfb591d410 The player's stats now get better when levelling up. The strength level and frequency of appearance of entities have been changed to offer bettter game experience. 2021-01-10 16:31:46 +01:00
eichhornchen 841c7b9f90 Chest can be destroyed by bombs. 2021-01-10 16:31:16 +01:00
eichhornchen 5eb7699301 Rearranged the display class files, related to issue #56. 2021-01-10 12:35:50 +01:00
eichhornchen 8d0d0883a3 Merge branch 'master' into clean 2021-01-10 12:12:40 +01:00
eichhornchen dd37c2f62f Renamed the title's ascii art file. 2021-01-10 11:54:49 +01:00
Yohann D'ANELLO d738029335
Fix import order 2021-01-10 11:25:53 +01:00
Yohann D'ANELLO 94c12541ef
Happy new year! 2021-01-10 10:46:17 +01:00
Yohann D'ANELLO 391fe6897b
Drop unusued english translation file 2021-01-10 10:29:43 +01:00
ynerant 5b5180d44a Merge branch 'fix-tty-colors' into 'master'
Don't use custom colors on unsupported screens, fixes #67

Closes #67

See merge request ynerant/squirrel-battle!61
2021-01-09 21:52:03 +01:00
Nicolas Margulies 7bf1789239 Removed debug code 2021-01-09 18:45:55 +01:00
Yohann D'ANELLO 8cb2b2388f
Don't use custom colors on unsupported screens, fixes #67 2021-01-09 18:42:11 +01:00
eichhornchen ac4a73b2cb Final linting 2021-01-09 00:01:02 +01:00
eichhornchen cbe3e226b4 Repaired a merge error, tests now work. 2021-01-08 23:51:47 +01:00
eichhornchen eac9057f31 Merge branch 'master' into 'moreitems'
# Conflicts:
#   squirrelbattle/entities/items.py
#   squirrelbattle/interfaces.py
#   squirrelbattle/tests/game_test.py
2021-01-08 23:41:21 +01:00
eichhornchen 2eb42668c8 Linting and tests for chests 2021-01-08 23:32:47 +01:00
eichhornchen bdbf214d8d Added chests, they are immortal and contain objects the player can take for free. 2021-01-08 23:15:48 +01:00
eichhornchen 175706b1e4 Merchants had default maxhealth. 2021-01-08 22:30:30 +01:00
eichhornchen 9ff615a6b0 Linting and tests... 2021-01-08 22:25:00 +01:00
Yohann D'ANELLO ad3cce116e
Load map floor index when loading a new game 2021-01-08 21:23:12 +01:00
Yohann D'ANELLO 949555ffff
Map at floor -1 is now not deterministic 2021-01-08 20:06:32 +01:00
Yohann D'ANELLO 571857b063
Generate a random map when changing floor 2021-01-08 20:00:42 +01:00
Yohann D'ANELLO d8d0bc6190
Fix the end ladder 2021-01-08 20:00:10 +01:00
Charles Peyrat 9e099d0715 Ladders should spawn with no wall nearby 2021-01-08 19:50:27 +01:00
eichhornchen 746379bad6 Now with EXPLOSIONS! 2021-01-08 19:18:29 +01:00
eichhornchen 591630b8a7 Added a fire ball staff, closes #64 2021-01-08 19:05:02 +01:00
eichhornchen 903a06c36c Subclassed and removed some debugging code 2021-01-08 18:38:54 +01:00
eichhornchen f6210a6356 Added a Bow, related to #64 2021-01-08 18:06:26 +01:00
Nicolas Margulies 46a5dc6931 Made mobs check if they can see the player 2021-01-08 17:26:56 +01:00
Charles Peyrat 7e14122b8c Randomly place exit ladder 2021-01-08 17:25:52 +01:00
Yohann D'ANELLO df2c1a4b55
Add ladder on the start position 2021-01-08 17:10:42 +01:00
Yohann D'ANELLO 8e7029e34d
Fix walls 2021-01-08 17:10:30 +01:00
Yohann D'ANELLO 1ab63434f6
Merge branch 'master' into map_generation
# Conflicts:
#	squirrelbattle/game.py
#	squirrelbattle/interfaces.py
#	squirrelbattle/tests/game_test.py
2021-01-08 17:02:10 +01:00
Yohann D'ANELLO afaa9d17cd
Linting 2021-01-08 16:55:02 +01:00
Yohann D'ANELLO 9b853324ad
Drop first version of random walk 2021-01-08 16:52:38 +01:00
Charles Peyrat c216a6089e Add a break so that generated rooms arre only placed once 2021-01-08 16:51:04 +01:00
Charles Peyrat a390f4f5e9 Fix is_connex tests 2021-01-08 16:21:16 +01:00
eichhornchen bde33e9232 Added a second scroll object closes #60 2021-01-08 16:14:40 +01:00
Charles Peyrat 0aa4eb9c0b Refactoring in tests to allow for easy connexity verification 2021-01-08 16:11:17 +01:00
Yohann D'ANELLO 7a4936e6a5
Test monocles 2021-01-08 15:58:54 +01:00
Charles Peyrat 785ac403e3 Forbid walker from ever reaching the outer most edge of the map 2021-01-08 15:56:30 +01:00
Charles Peyrat f240cafa83 Fixing syntax in tests 2021-01-08 15:55:26 +01:00
Yohann D'ANELLO a497d08f31
Implement the monocle of truth, closes #62 2021-01-08 15:48:12 +01:00
Charles Peyrat 5424c7cd98 Nicer default parameters 2021-01-08 15:20:32 +01:00
Charles Peyrat dab84738d9 Remove the starting room door only if it really shouldn't be here; also account for the new randomized placement in removing lone door tile 2021-01-08 15:18:13 +01:00
Yohann D'ANELLO 1270640619
Change hint whenever the T key is pressed or not 2021-01-08 15:07:35 +01:00
Charles Peyrat 8d7e264381 Fix a bug where the generator could crash by trying to place the starting room out of bounds; starting room position is now random 2021-01-08 15:06:38 +01:00
Yohann D'ANELLO 28a6532a21
Add a hint to tell the user how to talk to friendly entities 2021-01-08 14:59:44 +01:00
Charles Peyrat fab1bee8d8 Force loop entrance to get coverage 2021-01-08 14:52:59 +01:00
Yohann D'ANELLO 156e4a7e3a
Add a hint to tell the user how to use ladders 2021-01-08 14:51:56 +01:00
Yohann D'ANELLO f48377e055
Save floors and visibility, fixes #61 2021-01-08 14:23:57 +01:00
Yohann D'ANELLO 120ec82d09
Helmet needs only one character in squirrel mode, add a trailing space 2021-01-08 12:07:13 +01:00
Yohann D'ANELLO 571e9db3e8
Fix french translations 2021-01-08 12:06:28 +01:00
Yohann D'ANELLO e56bdc16c2
Add item description, closes #59 2021-01-08 11:55:25 +01:00
eichhornchen 5736c2300b Added a scroll object that deals damage based on the player intelligence. Related to #60 2021-01-08 11:54:39 +01:00
ynerant 2b3a8279b8 Merge branch 'fix-settings' into 'master'
Fix settings

Closes #57 et #58

See merge request ynerant/squirrel-battle!56
2021-01-08 11:30:02 +01:00
Yohann D'ANELLO 75e93611c3
Capture all mouse events and take into account mouse attributes, fixes #58 2021-01-08 11:21:40 +01:00
Yohann D'ANELLO b42f1277b1
Exit the game on KeyboardInterrupt (don't log this error) 2021-01-08 11:10:10 +01:00
eichhornchen 196e3708d2 Merge branch 'master' into 'doc'
# Conflicts:
#   squirrelbattle/entities/items.py
#   squirrelbattle/interfaces.py
2021-01-08 11:10:09 +01:00
Yohann D'ANELLO ac8c7a0a4c
Only read required keys in settings file 2021-01-08 11:07:38 +01:00
eichhornchen 6673b67ffe Repaired spawn of trumpets. 2021-01-08 10:58:40 +01:00
Charles Peyrat c06f903a16 Fix a typo that made corridors unable to be built 2021-01-08 07:41:00 +01:00
Charles Peyrat c6947fab44 Integrate the new map generation into the game ! Closes #5 2021-01-08 07:39:52 +01:00
Charles Peyrat 641f5c7872 Make generation more sparse by asking for extra space around rooms; also add out of bounds option to Map.neighbourhood 2021-01-08 07:38:47 +01:00
Charles Peyrat 605696dddd Revamp door placing algorithm so that it generates cleaner doors; also remove lone starting room door from level 2021-01-08 07:36:31 +01:00
Charles Peyrat 5ba07afc9f Fix typo in parameter names 2021-01-08 07:05:02 +01:00
Charles Peyrat e21d4d230c Add missing termination condition 2021-01-08 07:04:24 +01:00
Charles Peyrat b0ac580677 Fix place_walls, that placed floors instead ... 2021-01-08 07:03:49 +01:00
Charles Peyrat d362bdc949 Fix place_room and add missing argument 2021-01-08 06:58:02 +01:00
Charles Peyrat 9c252a2bbc Correct out of bounds errors and add missing arguments to range call 2021-01-08 06:54:01 +01:00
Charles Peyrat c959a9d865 Update tests because Map.neighbourhood became a static method 2021-01-08 05:42:12 +01:00
Charles Peyrat 8475e5228e Large neighbourhood shouldn't return the central cell 2021-01-08 05:41:16 +01:00
Charles Peyrat 20cbf546f9 Correct formulas for random enumeration of a grid 2021-01-08 05:21:31 +01:00
Charles Peyrat 49e261557c Fix typos 2021-01-08 05:14:46 +01:00
Charles Peyrat abbad0f352 Fix formulas in place_room and room_fits 2021-01-08 05:14:32 +01:00
Charles Peyrat 05ccd0e339 Circular rooms should not try to generate any holes if their radius isn't large enough 2021-01-08 04:51:20 +01:00
Charles Peyrat c6f66d95f2 Fix typos 2021-01-08 04:48:32 +01:00
Charles Peyrat 6fbc757f1e Implement method place_walls 2021-01-08 04:43:10 +01:00
Charles Peyrat ffa7641b21 Made Map.neighbourhood a static method 2021-01-08 04:36:57 +01:00
Charles Peyrat 3229eb8ea7 Implement place_room method 2021-01-08 03:45:26 +01:00
Charles Peyrat 42f0c195aa Add prototype for create_random_room; change return value of attach_doors and create_circular_room so we have info on door direction; minor syntax change 2021-01-08 03:43:20 +01:00
Charles Peyrat ddbd0299a0 Implement method room_fits 2021-01-08 03:38:37 +01:00
Charles Peyrat 5cbf15bef5 Return value of Generator.run should be a Map 2021-01-08 03:37:10 +01:00
Charles Peyrat bb3422f7d8 Add main generation loop 2021-01-08 03:19:59 +01:00
Yohann D'ANELLO affc1bae59
Fix merge 2021-01-08 02:15:13 +01:00
ynerant 451dd9cba7 Merge branch 'master' into 'equipment'
# Conflicts:
#   squirrelbattle/display/statsdisplay.py
#   squirrelbattle/entities/items.py
#   squirrelbattle/entities/player.py
#   squirrelbattle/interfaces.py
#   squirrelbattle/locale/de/LC_MESSAGES/squirrelbattle.po
#   squirrelbattle/locale/es/LC_MESSAGES/squirrelbattle.po
#   squirrelbattle/locale/fr/LC_MESSAGES/squirrelbattle.po
#   squirrelbattle/tests/game_test.py
2021-01-08 02:11:40 +01:00
Yohann D'ANELLO 7aeb659cf5
Fix french translation 2021-01-08 02:00:22 +01:00
Yohann D'ANELLO 6c6a44fb18
More tests 2021-01-08 01:56:54 +01:00
Yohann D'ANELLO 478a655751
Fix fg/bg custom colors 2021-01-07 16:49:40 +01:00
ynerant 4acf6804d4 Merge branch 'master' into 'lighting'
# Conflicts:
#   squirrelbattle/display/mapdisplay.py
#   squirrelbattle/interfaces.py
2021-01-07 16:36:54 +01:00
Yohann D'ANELLO c36e68d6e4
Reduce player vision 2021-01-07 16:34:12 +01:00
Yohann D'ANELLO e9c8f43e7e
Use ternary conditions to add coverage 2021-01-07 16:31:39 +01:00
Charles Peyrat 5579f5d791 Room now can now generate with a corridor; implemenent door placement finding 2021-01-07 07:06:08 +01:00
Charles Peyrat 9fb366aaab Make name follow style convention 2021-01-07 05:02:49 +01:00
Yohann D'ANELLO 1a78ad584c
Move equip functions for items 2021-01-06 18:31:28 +01:00
Yohann D'ANELLO a8c0c197ed
Linting 2021-01-06 18:02:58 +01:00
Eichhornchen 5ef12bef3d Changed the prices of armor 2021-01-06 17:57:23 +01:00
Yohann D'ANELLO 093c105120
The broken test is mysteriously working now 2021-01-06 17:54:43 +01:00
Yohann D'ANELLO ae505166b7
Disable critical hits during tests 2021-01-06 17:39:13 +01:00
ynerant d49c138257 Merge branch 'master' into 'ladders'
# Conflicts:
#   squirrelbattle/game.py
#   squirrelbattle/interfaces.py
#   squirrelbattle/tests/game_test.py
2021-01-06 17:29:26 +01:00
Yohann D'ANELLO 0c2b10b031
Use ternary conditions to gain coverage 2021-01-06 17:21:17 +01:00