dominion's People
dominion's Issues
Implementing NOCTURNE
Hello,
Last year the new expansion set was released - Nocturne. Do you plan to implement it?
Move DB Interactions into Models
Creating an extra layer for all DB Reads and Writes will help make the codebase more maintainable, as well as make life easier when/if #1 is ever tackled.
Rogue shows empty checkboxes
Taking `Lost in Woods` breaks game
Hello,
When one player plays Fool
and receives Lost in Woods
, and then another player will play Fool
and should receive this card back from the first player, the following fatal error occurs:
2|run-domi | I20180530-11:42:12.615(0)? at [object Object]._.extend.withValue (packages/meteor/dynamics_nodejs.js:56:1)
2|run-domi |
2|run-domi | I20180530-11:48:21.967(0)? Exception in callback of async function: ReferenceError: games is not defined
2|run-domi | I20180530-11:48:21.968(0)? at Fool.play (app/cards/nocturne/fool.js:39:55)
2|run-domi | I20180530-11:48:21.968(0)? at CardPlayer.play_card (app/game/server/services/card_player.js:80:26)
2|run-domi | I20180530-11:48:21.968(0)? at CardPlayer.play (app/game/server/services/card_player.js:28:33)
2|run-domi |
2|run-domi | I20180530-11:48:21.969(0)? at app/game/server/game.js:34:23
2|run-domi |
2|run-domi | I20180530-11:48:21.970(0)? at runWithEnvironment (packages/meteor/dynamics_nodejs.js:110:1)
2|run-domi |
2|run-domi | I20180530-11:48:21.971(0)? at packages/meteor/dynamics_nodejs.js:123:1
2|run-domi |
2|run-domi | I20180530-11:48:21.971(0)? at /root/.meteor/packages/meteor-tool/.1.4.1_1.1cf5bbg.8kkj++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/server-lib/node_modules/fibers/future.js:467:21
2|run-domi |
Refactor Game Schema for Cards
There is a lot of awkward code built around pulling out common cards vs kingdom cards. This is going to get even more difficult once cards not in the supply get introduced. They should all be pulled into a single array, with an extra attribute designating which group they fall into. A client-side transformation can be applied to break out the groups for display. The one concern is that the transformations may not be reactive, but any card modification should also have other elements that will trigger a redraw.
Convert From MongoDB to PostgreSQL
MongoDB has some frustrating limitations in being able to make multiple updates in a single transaction. There is a non-trivial performance hit both on the server side with trips to the DB, and on the client side with triggering multiple redraws, if an event requires updating multiple documents in a collection, or multiple collections. This can also cause brief but annoying temporary inconsistencies in the way the game is displaying as it processes the DB writes in serial.
Unfortunately, while SQL support for Meteor is on the Meteor Roadmap, the existing implementations are poorly supported and third-party. This conversion is probably going to be deferred until first-party support has been hammered out.
Routing problem on Game History page
Hi!
I've noticed that there is probably a routing problem with Game History page. When I try to go to Games History page form any other page it's not displayed correctly unless I reload the page before going to Games History or reload the Games History page itself. Tested on Chrome and Firefox. All I've got form the console is:
Route dispatch never rendered. Did you forget to call this.next() in an onBeforeAction?
After reloading the console is clear. Attached GIF:
Thanks again for your work on the game!
Game Creation Does Not Account for Certain Black Market Conditions
When creating a game with Black Market, Tournament prizes and Potions are not added to the game board even if Tournament or Potion Cost cards are in the Black Market deck.
Baker throws exception when played
Exception in callback of async function: ReferenceError: player_cards is not defined
at Baker.play (app/cards/guilds/baker.js:12:44)
at CardPlayer.play_card (app/game/server/services/card_player.js:216:42)
at app/game/server/services/card_player.js:30:32
at baseTimes (/home/g/.meteor/packages/stevezhu_lodash/.4.17.2.12zcw0x.hzzi++os+web.browser+web.cordova/npm/node_modules/lodash/lodash.js:
at Function.times (/home/g/.meteor/packages/stevezhu_lodash/.4.17.2.12zcw0x.hzzi++os+web.browser+web.cordova/npm/node_modules/lodash/lodas
at CardPlayer.play (app/game/server/services/card_player.js:20:7)
at app/game/server/game.js:22:25
at runWithEnvironment (packages/meteor.js:1286:24)
at packages/meteor.js:1299:14
Forager throws exception when hand size is one
Exception in callback of async function: TypeError: Cannot read property 'hand' of undefined
at new CardTrasher (app/game/server/services/card_trasher.js:8:27)
at Function.trash_card (app/cards/dark_ages/forager.js:55:24)
at Forager.play (app/cards/dark_ages/forager.js:40:15)
at CardPlayer.play_card (app/game/server/services/card_player.js:216:42)
at app/game/server/services/card_player.js:30:32
Query Objects For Common Data Searches
There are many card implementations that use very similar code to extract data from the game object. This code should be refactored into query objects for reuse and maintainability.
Baron throws exception when discard Estate
Exception in callback of async function: ReferenceError: card_player is not defined
at Baron.play (app/cards/intrigue/baron.js:40:62)
at CardPlayer.play_card (app/game/server/services/card_player.js:216:42)
at app/game/server/services/card_player.js:30:32
at baseTimes (.meteor/packages/stevezhu_lodash/.4.17.2.12zcw0x.hzzi++os+web.browser+web.cordova/npm/node_modules/lodash/lodash.js:997:23)
at Function.times (.meteor/packages/stevezhu_lodash/.4.17.2.12zcw0x.hzzi++os+web.browser+web.cordova/npm/node_modules/lodash/lodash.js:16075:20)
at CardPlayer.play (app/game/server/services/card_player.js:20:7)
at app/game/server/game.js:22:25
at runWithEnvironment (packages/meteor.js:1286:24)
at packages/meteor.js:1299:14
Peddler's price isn't changing dinamically
It always shows $8
, no matter how many action cards are in play.
Duplicate freezes game
After having one duplicate on tavern mat and then playing 2nd and 3rd duplicate and after that buying gold and calling duplicate from the tavern mat game froze (can't finish turn) on 3rd duplicate. Server log:
Exception in callback of async function: TypeError: Cannot read property 'type_class' of undefined
at Function.render (app/game/server/view_objects/card_view.js:10:33)
at gain_copy (app/cards/adventures/duplicate.js:42:81)
at app/game/server/services/turn_event_processor.js:20:7
Also it would be nice to have the "Destroy Game" button back for situations like this ;-)
BTW Great work! Brings back memories from isotropic ;) Thanks!
In Play Card Events Do Not Trigger During End of Turn Discard Phase
When a turn is ending, during the discard phase it is possible for certain events to trigger off of "In Play" cards, such as Royal Seal. Because the discard order is maintained in a to_discard
area, these events are not properly triggering.
Storeroom throws exception when played
When playing storeroom the following exception happens because option is not defined.
Exception in callback of async function: ReferenceError: option is not defined
at app/cards/dark_ages/storeroom.js:44:11
at arrayEach
at Function.forEach
at Storeroom.play
at CardPlayer.play_card
at app/game/server/services/card_player.js:30:32
at baseTimes
at Function.times
at CardPlayer.play
at app/game/server/game.js:22:25
at runWithEnvironment
at packages/meteor.js:1299:14
Duplicate does not let you choose "No"
Hi again.
I have another issue with Duplicate.
When you have a Duplicate card on your tavern mat and you buy a card it does not let you choose "No". The game will not continue unless "Yes" is chosen.
Cheers!
Players Cannot Reset Their Password
Players who have forgotten their password should be able to reset it so they can regain access to their account.
Improve Game Service Object Log Writes
Many of the game services do basic writing to the Game Log, but don't clearly communicate more unusual game interactions, such as Sea Hag discarding from the top of the deck instead of your hand, or gaining a curse on top of the deck instead of in the discard pile. It would be good to rethink the log writing component of these services to be more versatile.
Game freezes when using Smugglers after Black Market card was purchased
Debug log:
Exception in callback of async function: TypeError: Cannot read property 'top_card' of undefined
at app/cards/seaside/smugglers.js:19:35
at arrayFilter (/srv/http/…/bundle/programs/server/npm/node_modules/meteor/stevezhu_lodash/node_modules/lodash/lodash.js:588:11)
at Function.filter (/srv/http/…/bundle/programs/server/npm/node_modules/meteor/stevezhu_lodash/node_modules/lodash/lodash.js:8837:14)
at Smugglers.play (app/cards/seaside/smugglers.js:15:28)
at CardPlayer.play_card (app/game/server/services/card_player.js:80:26)
at CardPlayer.play (app/game/server/services/card_player.js:28:33)
at app/game/server/game.js:33:23
King's Court on Pillage freezes game and Tournament does not give a Duchy.
Hi again. This time the game froze after playing King's Court on a Pillage (on third time) also trashing the wrong card (King's Court instead of Pillage).
The log:
Exception in callback of async function: TypeError: Cannot read property 'types' of undefined
at app/game/server/view_objects/card_view.js:16:33
Attached screenshot form the game:
Again thanks for the great work!
P.S. We also found a minor bug: Tournament does not give a Duchy after Prizes are depleted.
Typo
Change thier to their
Same in
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.