-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathtodo.txt
executable file
·83 lines (74 loc) · 4.83 KB
/
todo.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#DONE - Create revealing; possibility to hidden items/units/techs
#DONE -- Either let players when fighting do it as now, and then after battle hidden all units
- Battle
#DONE -- A dropdown with number of units to draw
#DONE -- Must support undo in-case wrong number of units is drawn
-- After battle, perhaps have a end battle button, it will show all the draws that where made and set all units to isBattle = false
#DONE -- For now a battle is just revealing units that where drawn by the system
#DONE -- Perhaps a end battle button both players will need to push, which will hidden all units that where drawn
#DONE -- Must be able to kill/delete units/item, they will be put back in pbf
#DONE - Choose Techs
*MAYBE* -- Techs will not be revealed until all players have pushed submit/hidden button (Same functionality as voting)
*MAYBE* for now they must undo -- Option to alter a specific chosen tech which has not been revealed
#DONE -- If undo's his chosen tech, it must be removed from playerhand.tech()
#DONE - Choose starting player
#DONE -- Should be randomly chosen, only when all players have joined
#DONE -- All drawing is disabled until all players have joined. (If only the starting player can draw, then in theory this should be redundant)
#DONE -- Should be triggered when a player joins a game
#DONE - Undo
#DONE -- Consider if undo should reveal all info or just public
#DONE -- Create a method that lists all undoes a player has to vote for
#DONE -- Vote for undo
#DONE -- List all successful votes
#DONE -- List all finished unsuccessful votes
#DONE - End of turn
#DONE -- will disable drawing of items for players
#DONE -- Each this happens, system will enable for next player in line
- Send email to the next player (Hint, look at environment.lifecycle().executorService())
-- Player should be able to choose not to get emails
-- Per game specific? Or overall?
#DONE - Send player items
#DONE -- Allowing players to send Huts, Villages, Culture cards privately to other players
#DONE -- That player should get the item sent, plus logged both publicly that trading has taken place, plus privately
#DONE - No players should be able to draw items when it is not their turn
#DONE -- Except, they should be able to send stuff to other players, and choosing techs, because these are done simultanously, or if it is too difficult, then everything is turn based
- Logging
#DONE -- Public logs are just for info. Need to differentiate Gamelog
#DONE-- Trading for instance should have a different log, now its says "X drew hut"
#DONE - CachingAuthentication
- Draws
#DONE -- When there is no more elements to draw, system must get the items from excel sheet and put back in the pbf
#DONE -- Should cache itemReader and put content in cache loader with sheetname as key <-- This is helpful for creating new games fast
#DONE -- When drawing certain types (Culture cards and Units, GP, Villages, Huts, although these last three are highly unlikely ) and it is empty, then system
needs to find out which ones is inside the playershands.
Collect all playerhand filter by sheetname, and itemReader.getFoo().removeAll(playerhands.stuff)
#DONE - Discard/Delete from playerhand
#DONE -- When deleting it should log it.
#DONE -- Consider putting items back in the deck, although this is already taken care of by reshuffling when draw is made
- Loot
-- Automatically send hut/village to user
#DONE - Change the battle system so that you can draw 1 unit, in case of Monarchy killing random unit
- Created annotation/filter/interceptor for userHasAccess
#DONE - Choose color
#DONE - Security hole:
#DONE -- hide the drawn item in the public log,
#DONE -- Perhaps refactor to add the logid on an item instead
Nice to have
- Change basic authentication to OAUTH
#DONE - Hide the draw.item in public log.
#DONE - Chat with scrolling capabilites.
-- Websocket?
- Each item can have path to a picture so that client can show it
- Create a filter that is for /civilization/pbf/{pbfId}* which takes the pbfId and the logged in player, and check if that player has access to the game, and proceeds if they do
- Create a battlefield, for now only use the hidden option
- Change to social authentication
- Option to leave a game
-- Haven't thought of all the details about this
-- This is probably not that difficult. Just put all playerhand info in another playerhand
#DONE - Perhaps when players choose tech it should be intersection between pbf.getTech() and player.getTech() so that only distinct techs shows
- Instead of Basic authentication, it would be nice to support OAUTH
- Support for more game types
-- Change all sheetnames in parameters to combination of GameType and Sheetname
#DONE - Reveal Item
Future roadmap
- Replace MongoJack with Morphia as MongoJack is no longer maintained it seems