Commit Graph

261 Commits

Author SHA1 Message Date
29db6c018c feat: implemented aquiring characters of random order in CharacterConfig 2021-06-06 03:21:21 +02:00
e9640a9a8a refactor: generated equals and hashcode for tuples 2021-06-06 03:20:58 +02:00
220136af55 wip: create proper board analyzer for ai 2021-06-05 20:52:15 +02:00
b183f623d6 feat: implemented Tuple.of() 2021-06-05 19:40:58 +02:00
871c380952 fix: fixed non-empty String validation to be non-empty 2021-06-05 16:47:05 +02:00
b9a6308d6b feat: added min size of 12 to validation of characterConfig 2021-06-05 16:24:35 +02:00
bf2ef23733 fix: enabled validation for all characters in CharacterConfig 2021-06-05 16:21:46 +02:00
ebf9e3e393 fix: fixed not-found types by importing enums directly 2021-06-05 16:10:41 +02:00
b8996ade85 fix: improved string concatenation in ValidationUtility 2021-06-05 16:10:23 +02:00
08707e7e73 feat: added validation to ScenarioConfig 2021-06-05 16:10:05 +02:00
e9987b4d4f refactor: renamed Validation to ValidationUtility 2021-06-05 16:01:06 +02:00
e42bce7917 feat: implemented JSON validation 2021-06-05 15:57:33 +02:00
c97ff03a68 wip: prepare ai for using action trees and boards with score calculation 2021-06-05 05:19:07 +02:00
aa1d2c48df refactor: split ai into client and "brain" 2021-06-05 04:19:58 +02:00
2cbd86b725 feat: trace win reason for logging 2021-06-05 04:19:37 +02:00
f2a961d159 fix: resolve various issues with ai, cloning and turn order handling 2021-06-05 04:00:25 +02:00
cd992b0fa6 doc: added logging in case of failed de/serialization 2021-06-04 19:48:40 +02:00
d74cd114cc feat: added static methods to JSON for configuration deserialization 2021-06-04 18:44:54 +02:00
672e5e7727 fix: fixed sonarqube-reported bugs in JSON and EventBuilderTest 2021-06-04 14:54:25 +02:00
32cbb6d876 fix: fixed sonarqube-reported casting bugs 2021-06-04 13:47:16 +02:00
dce1aed9ad wip: add simple ai and a full game test with ai 2021-06-04 07:47:54 +02:00
0eaa0c5ea1 fix: improve turn handling and fix typing issues 2021-06-04 07:47:20 +02:00
b20b428705 fix: remove major flaw in state manipulation 2021-06-04 06:41:59 +02:00
4eb71fa972 feat: add description to request denial error 2021-06-04 05:47:32 +02:00
e90b8f4562 fix: resolve various casting and equality check mistakes 2021-06-04 05:14:00 +02:00
e10fbb15eb fix: make IntVector2 not return references 2021-06-04 05:13:37 +02:00
27adfd1b6f feat: respectfully add NPC deserializing 2021-06-04 04:45:25 +02:00
1525fe9a41 refactor: generated toString for requests 2021-06-03 23:51:10 +02:00
78d3fb84d0 refactor: changed AssignmentEnum's name to ParticipantType 2021-06-03 23:38:43 +02:00
d4e0ed23bc fix: rollback ArrayTools because less is more 2021-06-03 23:15:29 +02:00
77ce96dba1 feat: changed JSON return types to optionals 2021-06-03 23:08:01 +02:00
445bde1105 feat: added (mostly redundant) Json annotations to Events and Requests 2021-06-03 22:58:25 +02:00
cef69473c7 refactor: divided messages into server and client packages 2021-06-03 22:22:23 +02:00
4823803e85 refactor: refactored JSON class for new messages 2021-06-03 22:18:48 +02:00
0770c134a1 fix: fixed BasicMessage json so that it works now 2021-06-03 22:16:14 +02:00
670a27d3ef fix: added missing maxRoundTime to PartyConfig 2021-06-03 22:15:22 +02:00
c2e22e5374 feat: defined property order of GameStructure message 2021-06-03 22:14:53 +02:00
4354adda2a fix: fixed proper serialization of MoveEvents 2021-06-03 22:14:16 +02:00
e0258b5dc8 doc: fixed typo in javadoc of buildCharacterRequest 2021-06-03 21:40:36 +02:00
57c27de006 fix: fixed wrong JSON key in EventDeserializer 2021-06-03 21:37:11 +02:00
3e02d86700 fix: fixed typo in json annotations of BasicMessage 2021-06-03 20:53:46 +02:00
de6e9abfd7 refactor: fixing codestyle and improving codequality 2021-06-03 19:33:14 +02:00
29f5eed2fb refactor: code cleanup 2021-06-03 19:22:32 +02:00
4c33e824f9 feat: implemented (this time actually) proper message deserialization 2021-06-03 19:13:40 +02:00
429cdd2e42 refactor: generated equals ... toString for configs 2021-06-03 19:13:21 +02:00
b8e13f295c fix: fixed wrong Variable type in GameAssignmentMessage 2021-06-03 17:48:38 +02:00
788591268c feat: implemented proper MessageDeserialization 2021-06-03 17:37:44 +02:00
99e1de14bc feat: completed MessageDeserializer 2021-06-03 16:36:50 +02:00
f3d3310e46 fix: made Event/Request/ReconnectMessage subclasses of BasicMessage 2021-06-03 16:36:40 +02:00
dbc7264d5f fix: added JsonIgnore to EventMessage and RequestMessage variables 2021-06-03 16:31:58 +02:00
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