Add a "is_card_face" function to take into account if Pareidolia is present
This commit is contained in:
@@ -161,6 +161,18 @@ List *get_jokers(void) {
|
||||
return jokers;
|
||||
}
|
||||
|
||||
bool is_joker_present(int joker_id) {
|
||||
for (int k = 0; k < list_get_size(jokers); k++)
|
||||
{
|
||||
JokerObject *joker = list_get(jokers, k);
|
||||
if (joker->joker->id == joker_id)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void add_joker(JokerObject *joker_object)
|
||||
{
|
||||
list_append(jokers, joker_object);
|
||||
@@ -423,6 +435,17 @@ enum HandType hand_get_type()
|
||||
return res_hand_type; // should be HIGH_CARD
|
||||
}
|
||||
|
||||
// Returns true if the card is *considered* a face card
|
||||
bool card_is_face(Card *card) {
|
||||
// Card is a face card, or Pareidolia is present
|
||||
return (
|
||||
card->rank == JACK ||
|
||||
card->rank == QUEEN ||
|
||||
card->rank == KING ||
|
||||
is_joker_present(PAREIDOLIA_JOKER_ID)
|
||||
);
|
||||
}
|
||||
|
||||
/* Copies the appropriate item into the top left panel (blind/shop icon)
|
||||
* from where it was put outside the screenview
|
||||
*/
|
||||
|
||||
+7
-16
@@ -358,12 +358,9 @@ static JokerEffect business_card_joker_effect(Joker *joker, Card *scored_card) {
|
||||
if (scored_card == NULL)
|
||||
return effect;
|
||||
|
||||
switch (scored_card->rank) {
|
||||
case KING: case QUEEN: case JACK:
|
||||
if (random() % 2 == 0)
|
||||
effect.money = 2;
|
||||
default:
|
||||
break;
|
||||
if (card_is_face(scored_card)) {
|
||||
if (random() % 2 == 0)
|
||||
effect.money = 2;
|
||||
}
|
||||
|
||||
return effect;
|
||||
@@ -387,11 +384,8 @@ static JokerEffect scary_face_joker_effect(Joker *joker, Card *scored_card) {
|
||||
if (scored_card == NULL)
|
||||
return effect;
|
||||
|
||||
switch (scored_card->rank) {
|
||||
case KING: case QUEEN: case JACK:
|
||||
effect.chips = 30;
|
||||
default:
|
||||
break;
|
||||
if (card_is_face(scored_card)) {
|
||||
effect.chips = 30;
|
||||
}
|
||||
|
||||
return effect;
|
||||
@@ -426,11 +420,8 @@ static JokerEffect smiley_face_joker_effect(Joker *joker, Card *scored_card) {
|
||||
if (scored_card == NULL)
|
||||
return effect;
|
||||
|
||||
switch (scored_card->rank) {
|
||||
case KING: case QUEEN: case JACK:
|
||||
effect.mult = 5;
|
||||
default:
|
||||
break;
|
||||
if (card_is_face(scored_card)) {
|
||||
effect.mult = 5;
|
||||
}
|
||||
|
||||
return effect;
|
||||
|
||||
Reference in New Issue
Block a user