1
0

Fixed broken trading with bank

Signed-off-by: James Ketrenos <james_eikona@ketrenos.com>
This commit is contained in:
James Ketrenos 2022-03-03 18:14:44 -08:00
parent 287d2a1551
commit 0b540cd5ec
3 changed files with 15 additions and 6 deletions

View File

@ -104,7 +104,11 @@ const Trade = ({table}) => {
const canMeetOffer = (player, offer) => { const canMeetOffer = (player, offer) => {
for (let i = 0; i < offer.gets.length; i++) { for (let i = 0; i < offer.gets.length; i++) {
const get = offer.gets[i]; const get = offer.gets[i];
if (player[get.type] < get.count) { if (get.type === 'bank') {
if (player[player.gives[0].type] < get.count) {
return false;
}
} else if (player[get.type] < get.count) {
return false; return false;
} }
} }
@ -291,6 +295,7 @@ const Trade = ({table}) => {
if (item.self) { if (item.self) {
/* Order direction is reversed for self */ /* Order direction is reversed for self */
source = { source = {
name: item.name,
gets: trade.gives, gets: trade.gives,
gives: trade.gets gives: trade.gets
}; };
@ -298,11 +303,11 @@ const Trade = ({table}) => {
source = item; source = item;
} }
const _gets = source.gets.length ? source.gets.map((get, index) => <div key={`get-${get.type}-${index}`}> const _gets = source.gets.length ? source.gets.map((get, index) => <div key={`get-${get.type}-${index}`}>
{ get.type === 'bank' && <div key={`get-bank-${index}`}><b>4</b> of any resource</div>} { get.type === 'bank' && <div key={`get-bank-${index}`}><b>4</b> of any resource </div>}
{ get.type !== 'bank' && <Resource key={`get-${get.type}-${index}`} disabled label type={get.type} count={get.count}/> } { get.type !== 'bank' && <Resource key={`get-${get.type}-${index}`} disabled label type={get.type} count={get.count}/> }
</div>) : 'nothing', </div>) : 'nothing',
_gives = source.gives.length ? source.gives.map((give, index) => <div key={`give-${give.type}-${index}`}> _gives = source.gives.length ? source.gives.map((give, index) => <div key={`give-${give.type}-${index}`}>
{ give.type === '*' && <><b>1</b> of any resource</>} { give.type === '*' && <><b>1</b> of any resource </>}
{ give.type !== '*' && <Resource disabled label type={give.type} count={give.count}/> } { give.type !== '*' && <Resource disabled label type={give.type} count={give.count}/> }
</div>) : 'nothing'; </div>) : 'nothing';

View File

@ -60,8 +60,8 @@ const ViewCard = ({table, card}) => {
break; break;
case 'progress-monopoly': case 'progress-monopoly':
description = <> description = <>
When you play this card, you will select <b>1</b> type of resource. <p>When you play this card, you will select <b>1</b> type of resource.
All other players must give you all their resource cards of that type. All other players must give you all their resource cards of that type.</p>
</>; </>;
break; break;
case 'progress-year-of-plenty': case 'progress-year-of-plenty':

View File

@ -1299,7 +1299,11 @@ const getValidRoads = (game, color) => {
const canMeetOffer = (player, offer) => { const canMeetOffer = (player, offer) => {
for (let i = 0; i < offer.gets.length; i++) { for (let i = 0; i < offer.gets.length; i++) {
const get = offer.gets[i]; const get = offer.gets[i];
if (player[get.type] < get.count) { if (get.type === 'bank') {
if (player[player.gives[0].type] < get.count) {
return false;
}
} else if (player[get.type] < get.count) {
return false; return false;
} }
} }