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
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
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
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
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
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