From ee0591562f6a73e717d6c4473a04c2369b8d54a0 Mon Sep 17 00:00:00 2001 From: theturtlemafia Date: Sat, 2 Aug 2025 01:14:41 -0400 Subject: [PATCH] add blue joker --- include/game.h | 2 ++ source/game.c | 4 ++++ source/joker_effects.c | 10 ++++++++++ 3 files changed, 16 insertions(+) diff --git a/include/game.h b/include/game.h index 02c3b01..b0ae27a 100644 --- a/include/game.h +++ b/include/game.h @@ -82,6 +82,8 @@ int get_played_top(void); JokerObject** get_jokers(void); int get_jokers_top(void); +int get_deck_top(void); + int get_num_discards_remaining(void); #endif // GAME_H \ No newline at end of file diff --git a/source/game.c b/source/game.c index 5e4ffe1..c69ce9c 100644 --- a/source/game.c +++ b/source/game.c @@ -264,6 +264,10 @@ int get_jokers_top(void) { return jokers_top; } +int get_deck_top(void) { + return deck_top; +} + int get_num_discards_remaining(void) { return discards; } diff --git a/source/joker_effects.c b/source/joker_effects.c index 7a2eaf3..d070bd7 100644 --- a/source/joker_effects.c +++ b/source/joker_effects.c @@ -287,6 +287,15 @@ static JokerEffect blackboard_joker_effect(Joker *joker, Card *scored_card) { return effect; } +static JokerEffect blue_joker_effect(Joker *joker, Card *scored_card) { + JokerEffect effect = {0}; + if (scored_card != NULL) + return effect; // if card != null, we are not at the end-phase of scoring yet + effect.chips = (get_deck_top() + 1) * 2; + + return effect; +} + const JokerInfo joker_registry[] = { { COMMON_JOKER, 2, default_joker_effect }, // DEFAULT_JOKER_ID = 0 { COMMON_JOKER, 5, greedy_joker_effect }, // GREEDY_JOKER_ID = 1 @@ -311,6 +320,7 @@ const JokerInfo joker_registry[] = { { COMMON_JOKER, 5, banner_joker_effect }, { COMMON_JOKER, 5, mystic_summit_joker_effect }, { UNCOMMON_JOKER, 6, blackboard_joker_effect }, + { COMMON_JOKER, 5, blue_joker_effect }, }; static const size_t joker_registry_size = NUM_ELEM_IN_ARR(joker_registry);