Commit Graph

360 Commits

Author SHA1 Message Date
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
Yohann D'ANELLO
887a190f11
Less complexity on the handle key function 2021-01-06 17:00:43 +01:00
Yohann D'ANELLO
41548504de
Test ladders 2021-01-06 16:09:53 +01:00
Yohann D'ANELLO
a48e6325fe
Add log message when the player switches floor 2021-01-06 15:55:44 +01:00
Eichhornchen
15ef6af998 Put the texturepack in alphabetical order again. 2021-01-06 15:49:54 +01:00
Yohann D'ANELLO
4cd4bc9005
Display the current floor in the StatsDisplay 2021-01-06 15:17:02 +01:00
Yohann D'ANELLO
d06a405120
Use a key to use ladders 2021-01-06 14:55:16 +01:00
Eichhornchen
2dc178d67c Merge branch 'equipment' into doc 2021-01-06 14:49:09 +01:00
Eichhornchen
77d501c389 Merge branch 'master' into doc 2021-01-06 14:39:23 +01:00
eichhornchen
4ad7d6c37c Added rings that can augment the player's statistics. Also added a new statistic : xp_buff, which helps the player level up sooner. 2021-01-06 11:44:52 +01:00
eichhornchen
a9aeb9ca3a Repaired the use functionnality of the main item, as well as the load system for Armor items. 2021-01-06 11:13:17 +01:00
eichhornchen
f3fe04e13a The player now has two hands and a slot for a helmet and a chestplate. Accordingly, new classes of items have been added. 2021-01-06 10:46:36 +01:00
eichhornchen
601062237d Repairing part of the tests. 2021-01-05 19:50:25 +01:00
eichhornchen
424044a5e4 Added an overpowered eagle boss. To avoid seing it too often, entities now have a certain chance of being spawned. Closes #19. 2021-01-05 19:40:11 +01:00
eichhornchen
3ace133037 Critical hit chance is now displayed along with the other stats. 2021-01-05 19:23:25 +01:00
eichhornchen
4bddf076ea Fighting now takes into account the constitution. Closes #51 2021-01-05 19:18:25 +01:00