Commit Graph

261 Commits

Author SHA1 Message Date
00fd033b61 fix: changed visibility of message vars to public 2021-06-03 16:20:23 +02:00
3daef53f21 feat: created classes for Login events 2021-06-03 16:12:21 +02:00
40a0a0c0c5 refactor: moved MessageType 2021-06-03 15:57:53 +02:00
fa8d8fcd00 fix: fixed several bugs in EventSerializer 2021-06-03 15:57:23 +02:00
f53a6502f4 cleanup: optimize imports 2021-06-03 04:19:10 +02:00
d4a929878d refactor: reduce the type casting hell 2021-06-03 04:18:16 +02:00
5a90056cd8 fix: remove ConsumedMP- and ConsumedAPEvents before TurnEvent for standard compatibility 2021-06-03 04:14:33 +02:00
bc6846b5b1 refactor: move GameInstance.toString implementation to GameState 2021-06-03 04:06:20 +02:00
2fb5a29633 cleanup: optimize imports 2021-06-03 03:57:20 +02:00
f9837b4c28 cleanup: improve javadoc comments 2021-06-03 03:54:18 +02:00
f323873b39 cleanup: improve JSON class code 2021-06-03 03:46:58 +02:00
09d798f37f refactor: introduce utils method for converting arrays into arraylists and make methods accessible with either 2021-06-03 03:33:20 +02:00
614b33adff refactor: use isAlive instead of hp.getValue 2021-06-03 03:15:05 +02:00
00eb5e21f3 fix: make characters drop their inventory on knockout 2021-06-03 03:06:21 +02:00
7cd99495ba fix: clamp stats between 0 and max value 2021-06-03 03:05:59 +02:00
1601a2560d feat: add support for the GamestateEvent in applyEvent 2021-06-03 02:51:44 +02:00
c990356da0 fix: include knocked out characters in TurnEvent for standard compatibility 2021-06-03 02:37:03 +02:00
cc4c5ba8cb fix: include NPCs in RoundSetupEvent and TurnEvent for standard compatibility 2021-06-03 02:30:25 +02:00
dd3201dfd2 feat: add method to end the current turn 2021-06-03 02:21:12 +02:00
3bb6d81b27 refactor: restructure code and fix some events not being applied 2021-06-03 02:19:10 +02:00
e0af4cf01c fix: minor bugfixes and standard compatibility 2021-06-03 01:39:36 +02:00
19f6695ba8 feat: added exception if a deserialized character is non-existent 2021-06-02 16:29:48 +02:00
e54ce32626 fix: added missing name field to EntitySerializer 2021-06-02 16:29:24 +02:00
b9bf930d6c feat: added JsonSerializer to Event 2021-06-02 16:28:42 +02:00
ea3d51c408 refactor: moved config and messages out of JSON 2021-06-02 16:28:19 +02:00
b13a7db67b feat: implemented proper CharacterConfig json stuff 2021-06-02 16:10:35 +02:00
ea6a178c82 feat: completed EventSerializer 2021-06-02 00:34:51 +02:00
f184c6b3b9 refactor: deleted unused NotificationEvent 2021-06-02 00:15:09 +02:00
9d5484966e fix: fix thanos' mp handling 2021-06-01 19:45:18 +02:00
71fc0893a8 refactor: utilize NPCType 2021-06-01 19:33:48 +02:00
e88476eb10 cleanup: optimize imports, remove unused code, fix warnings 2021-06-01 19:26:29 +02:00
4d467d6d95 fix: destroy infinity stone entities if picked up 2021-06-01 19:16:57 +02:00
850c46c6e1 feat: add thanos' ai 2021-06-01 19:14:44 +02:00
2f45e2b772 feat: add 4-connected Bresenham pathfinding algorithm 2021-06-01 18:30:32 +02:00
8e6f61a665 fix: add missing checks to game logic and fix events not being applied 2021-06-01 17:59:45 +02:00
9c2c814e98 cleanup: optimize imports 2021-06-01 17:19:48 +02:00
5984e40384 fix: improve rasterization and tests 2021-06-01 17:15:44 +02:00
0572450ced refactor: changed returnType of checkRequestsAndApply to list 2021-06-01 16:53:45 +02:00
141469c11f refactor: changed returnType of checkRequestAndApply to optional 2021-06-01 16:34:08 +02:00
842db2439a breaking: remove observable pattern, make methods return events directly 2021-06-01 15:43:04 +02:00
4802b0113d feat: implemented NPC serialization properly 2021-06-01 14:04:50 +02:00
6c06beb366 fix: that's not supposed to be in there 2021-06-01 00:52:24 +02:00
787ba7d38e fix: naming and field occupation during game initialization 2021-06-01 00:48:49 +02:00
bfe7b10169 feat: implemented EntitySerializer and partial test 2021-06-01 00:42:54 +02:00
ad9d314b6b refactor: removed unused imports in JSON 2021-06-01 00:42:46 +02:00
23777bad33 refactor: extracted SerializedEntityType enum 2021-06-01 00:33:43 +02:00
20f014209a feat: added inventory method to get inventory as array 2021-06-01 00:33:43 +02:00
bccffad8f0 fix: more code is apparently better 2021-06-01 00:32:07 +02:00
d080fff5d3 refactor: arranged de/serializers into packages 2021-05-31 23:38:22 +02:00
852c85df08 feat: partial rewrite of JSON wit support for CharacterConfig 2021-05-31 23:25:41 +02:00
c8d34fcc97 feat: implemented config-based character deserialization 2021-05-31 23:25:41 +02:00
fa6207e47d feat: characterConfig now has a HashMap for values 2021-05-31 23:25:41 +02:00
9a9fe4ae97 feat: add thanos into the handling 2021-05-31 22:54:13 +02:00
1ba5410fd6 fix: improve the terrible rasterization code 2021-05-31 22:50:44 +02:00
4b794e99e9 feat: add proper game initialization 2021-05-31 21:37:18 +02:00
184c839c3a fix: utilize config in GameLogic 2021-05-31 18:30:26 +02:00
7c36ea5c5c fix: add configs to GameInstance and fix GameState snapshots 2021-05-31 18:07:53 +02:00
488b18b40c fix: make configuration class names consistent 2021-05-31 17:51:57 +02:00
d09a733f2a feat: add CharacterConfig 2021-05-31 17:50:15 +02:00
213955bc37 fix: reset turnCount at the beginning of a new round 2021-05-31 17:37:37 +02:00
e6dc10e3f5 feat: implemented proper Request serialization 2021-05-30 18:07:28 +02:00
2ff309500e feat: implemented proper stringify in the JSON class, and changed ObjectMapper to static 2021-05-30 18:06:18 +02:00
d2216f190a feat: removed ObjectMapper in deserializers, and replaced it with context-based mapping 2021-05-30 17:22:02 +02:00
9192677ca1 fix: corrected JSON property order of CharacterRequest 2021-05-30 17:03:29 +02:00
27c3d6554a fix: fixed JSON mapping of requestTypes 2021-05-30 17:01:48 +02:00
cb0f2cae13 feat: optimized IntVector2Deserializer 2021-05-30 17:01:27 +02:00
d0829f3948 feat: implemented proper deserialization for EntityID and IntVector2 2021-05-30 17:00:59 +02:00
a25231fb3e fix: fixed bugs in RequestDeserializer, and wrote Proptests for it 2021-05-28 16:20:40 +02:00
da1d72d61a refactor: nicer enum arrangement of RequestTypes 2021-05-28 16:20:22 +02:00
b871b4d3a4 refactor: split MessageStructure into multiple messages, as a starting point for proper implementation of the login standard 2021-05-28 14:51:17 +02:00
a92f437412 feat: completed RequestDeserializer 2021-05-28 14:50:38 +02:00
0696176609 fix: allow EndRoundRequest event 2021-05-27 18:02:30 +02:00
830ef22997 feat/refactor: actually track win conditions 2021-05-27 17:58:44 +02:00
7f7459e7a7 fix: make movement events pick up infinity stones 2021-05-27 17:30:36 +02:00
3522cee9a4 feat: add stone cooldown handling 2021-05-27 17:26:46 +02:00
0f50efa121 feat: add handling for overtime victories 2021-05-27 17:18:36 +02:00
a416698adf feat: add handling for stan and goose 2021-05-27 17:08:08 +02:00
01ccabad14 refactor: massively improve turn and round handling code 2021-05-27 15:57:06 +02:00
7dcffab0a6 feat: changed ObjectMapper to static for the JSON deserializers 2021-05-26 16:16:48 +02:00
65c33d886c fix: removed checksum from MessageStructure 2021-05-21 22:33:01 +02:00
035bf2eb7c refactor: generated Equals and HashCode for requests where necessary 2021-05-21 14:16:02 +02:00
596ace355a feat: implement method to start a game 2021-05-19 20:04:10 +02:00
f3b5fc277e wip: implement post turn handling 2021-05-19 19:59:41 +02:00
7bac3bd46a feat: properly expose EntityManager 2021-05-19 18:24:07 +02:00
bd442bedfc feat: add RequestBuilder and test base 2021-05-18 19:03:34 +02:00
588633fe46 fix: add more necessary getters to GameStateView 2021-05-18 18:44:01 +02:00
1348e342d6 refactor: removed deprecated checksum 2021-05-18 18:14:03 +02:00
a6e90ef0f4 fix: fixed a typo in RequestType 2021-05-18 17:58:35 +02:00
72cec32253 fix: make EventObserver use an array of events 2021-05-18 17:24:07 +02:00
2aefddf979 Merge branch 'gamelib' of ssh://gitlab.informatik.uni-ulm.de/sopra/ws20-marvelous-mashup/teams/team25 into gamelib 2021-05-18 14:19:23 +02:00
37e84b6e15 feat: created BasicAnswer, and cleaned up some code 2021-05-18 14:19:09 +02:00
9fa5c554ef feat: expose methods for game state event handling 2021-05-18 14:14:23 +02:00
2d33f150a8 refactor: remove todo 2021-05-18 14:02:55 +02:00
0bb4ba21df fix: code cleanup 2021-05-18 13:56:41 +02:00
b00ba50f97 feat: implement GameLogic.applyEvent 2021-05-18 13:55:36 +02:00
729a1d4a71 feat: add handling and checking for MindStone 2021-05-18 13:21:36 +02:00
f3744ef225 feat: completed event deserializer, completing the deserialization pipeline 2021-05-17 20:10:13 +02:00
5701cedcf4 fix: added eventType to toString methods of events 2021-05-13 14:21:32 +02:00
868df160bb feat: implemented EntityDeserializer and EntityDeserializerTest 2021-05-11 23:11:17 +02:00
f7b1514491 feat: wrote EntityDeserializer 2021-05-11 21:17:55 +02:00
28ac25fa55 refactor: generated equals, hashCode and toString for entity classes 2021-05-11 21:17:06 +02:00
1cb2c145d1 feat: added integer conversion to StoneType enum 2021-05-11 21:00:33 +02:00
f4123481bc feat: implemented deserializer for IntVector2 and created a test for it 2021-05-11 20:26:57 +02:00
f09b9e2388 feat: connected deserializers to classes 2021-05-11 06:14:43 +02:00
6947105077 feat: created proper JSON deserializer and created test for JSON, which is still used for TDD 2021-05-11 06:14:18 +02:00
e3635851d2 feat: created deserializer for EntityIDs 2021-05-11 06:13:38 +02:00
734445275d feat: added JSON deserialization code to the JSON class 2021-05-11 06:13:21 +02:00
062281fdcb refactor: prepared GamestateEvent and MessageStructure for further steps by generating Equals and ToString 2021-05-11 06:11:01 +02:00
6e9efa1a59 refactor: changed GameStateEvent to GamestateEvent 2021-05-11 05:06:00 +02:00
e31cc1644d fix: added CustomEvents category for CustomEvent in EventType enum 2021-05-11 04:26:44 +02:00
7129f0f3ab fix: removed Req from EventTypes as it's now a request, not an event 2021-05-11 04:25:35 +02:00
1a98f25139 feat: add handling and checking for UseInfinityStoneRequest, fix: use proper distance calculations for some checks 2021-05-11 03:50:24 +02:00
4203092f9a fix: fixed building gamestate events (and the tests relating to that) 2021-05-11 03:20:19 +02:00
c2d1c2cc98 feat: handle Req request and remove handling of lobby events 2021-05-05 18:59:07 +02:00
a9c80cb19b fix: add new event properties to builder 2021-05-05 18:58:39 +02:00
56a90f6bdf feat: added new request types 2021-05-05 17:49:36 +02:00
3038368ad8 feat: reworked GamestateEvent according to new standard 2021-05-05 17:32:18 +02:00
9405b89fb3 fix: resolve event emitter not emitting because of missing call to setChanged 2021-05-03 20:19:17 +02:00
a5ccba0326 refactor: switch to EventBuilder 2021-05-03 19:36:30 +02:00
80c77b7956 refactor: move event checks from builder to their respective classes 2021-05-03 19:25:36 +02:00
d36466a5a0 refactor: make GameLogic.checkRequest use error pattern and simple check methods 2021-05-02 15:34:42 +02:00
05f4751a2c feat: properly handle movement requests 2021-05-02 14:38:03 +02:00
d06ac91ef8 refactor: clean up code and improve event builder 2021-05-02 14:28:51 +02:00
45ac7d6a62 fix: properly add new pause events 2021-05-02 13:24:27 +02:00
c190111de1 feat: completed EventBuilder with complete exception-based event checking for all events 2021-05-02 04:14:00 +02:00
1bd3cdf63f fix: rewrote CharacterEvent equals for nullability compatibility 2021-05-02 03:19:15 +02:00
326c469e55 fix: changed event types to non-primitives for nullability 2021-05-02 03:15:20 +02:00
e6cc61a272 feat: rewrote EntityBuilder to check for entity correctness when building entities 2021-05-02 02:58:39 +02:00
091e6eb688 fix: added entity to entityEvents as this is required for the SpawnEntityEvent 2021-05-02 02:58:02 +02:00
06af6b37f3 feat: added pause event types to eventType enum 2021-05-02 02:15:32 +02:00
3b286c3cad merge: merged comment in EventBuilder for better formating
Conflicts:
	src/main/java/uulm/teamname/marvelous/gamelibrary/events/EventBuilder.java
2021-05-02 02:04:40 +02:00
608cd829c4 temp: half finished but ineffective EventBuilder, to be reworked
fix: deleted duplicate equals

fix: changed language level

temp: half finished but ineffective EventBuilder, to be reworked
2021-05-02 02:02:32 +02:00
21fccee0df fix: fix formatting 2021-05-02 00:19:01 +02:00
abd70a0d05 fix: deleted duplicate equals 2021-05-02 00:05:55 +02:00
82fa54bd2d Merge remote-tracking branch 'origin/gamelib' into gamelib 2021-05-02 00:03:19 +02:00
be88744bc9 fix: generated equals and hashCode for events, entities and entityIDs 2021-05-02 00:03:09 +02:00
b5a66dcdc6 wip: start implementing GameLogic.checkRequest 2021-05-02 00:03:03 +02:00
889e4cf233 Merge remote-tracking branch 'origin/gamelib' into gamelib 2021-05-01 23:54:40 +02:00
1a33a8cb7e fix: fixed comments to properly display as a list 2021-05-01 23:54:25 +02:00
9220b6cc1b fix: add todo comment 2021-05-01 23:51:16 +02:00
1cb86f6be8 feat: added EventBuilder for building Events with more convenience and nicer code 2021-05-01 23:36:07 +02:00
d00c18c9d3 fix: changed gamestate event to new format
BREAKING-CHANGE: GamestateEvent parameter type changes
2021-05-01 23:19:36 +02:00
cdf9c342ef fix: changed custom content type to HashMap<String, Object> 2021-05-01 23:18:53 +02:00
5a667ea860 Merge remote-tracking branch 'origin/gamelib' into gamelib 2021-05-01 23:08:04 +02:00
bdc434ecc3 refactor: added comments and rearranged EventTypes 2021-05-01 23:07:34 +02:00
bebe721788 feat: implement GameLogic.executeRequest 2021-05-01 23:06:22 +02:00
3b286b4667 feat: data classes for all events and requests 2021-05-01 22:30:52 +02:00
43cf4c6c1b fix: swap EntityID constructor parameters 2021-05-01 22:24:27 +02:00
b5614d3d37 fix: its movement point, not mana point 2021-05-01 21:53:52 +02:00
2783173898 ix: move manager classes to game logic 2021-05-01 21:40:36 +02:00