@@ -405,26 +405,32 @@ local canvas = {
405405 cost = 18 ,
406406 blueprint_compat = true ,
407407 atlas = " atlasepic" ,
408+ loc_vars = function (self , info_queue , center )
409+ return { key = Cryptid .gameset_loc (self , { modest = " balanced" }) }
410+ end ,
408411 calculate = function (self , card , context )
409- if
410- context .retrigger_joker_check
411- and not context .retrigger_joker
412- and context .other_card == G .jokers .cards [1 ]
413- then
412+ if context .retrigger_joker_check and not context .retrigger_joker then
414413 local num_retriggers = 0
415- local rarities = {}
416414 for i = 1 , # G .jokers .cards do
417- local joker = G .jokers .cards [i ]
418- if not rarities [joker .config .center .rarity ] then
419- rarities [joker .config .center .rarity ] = true
415+ if
416+ card .T .x + card .T .w / 2 < G .jokers .cards [i ].T .x + G .jokers .cards [i ].T .w / 2
417+ and G .jokers .cards [i ].config .center .rarity ~= 1
418+ and (G .jokers .cards [i ].config .center .rarity ~= " cry_candy" or Card .get_gameset (card ) ~= " modest" )
419+ then
420420 num_retriggers = num_retriggers + 1
421421 end
422422 end
423- return {
424- message = localize (" k_again_ex" ),
425- repetitions = Card .get_gameset (card ) ~= " modest" and num_retriggers or math.min (2 , num_retriggers ),
426- card = card ,
427- }
423+ if
424+ card .T
425+ and context .other_card .T
426+ and (card .T .x + card .T .w / 2 > context .other_card .T .x + context .other_card .T .w / 2 )
427+ then
428+ return {
429+ message = localize (" k_again_ex" ),
430+ repetitions = Card .get_gameset (card ) ~= " modest" and num_retriggers or math.min (2 , num_retriggers ),
431+ card = card ,
432+ }
433+ end
428434 end
429435 end ,
430436 cry_credits = {
@@ -840,16 +846,18 @@ local M = {
840846 demicoloncompat = true ,
841847 loc_vars = function (self , info_queue , center )
842848 info_queue [# info_queue + 1 ] = G .P_CENTERS .j_jolly
849+ if not center .edition or not center .edition .negative then
850+ info_queue [# info_queue + 1 ] = G .P_CENTERS .e_negative
851+ end
843852 end ,
844853 atlas = " atlasepic" ,
845854 calculate = function (self , card , context )
846855 if (context .setting_blind and not (context .blueprint_card or self ).getting_sliced ) or context .forcetrigger then
847- if # G .jokers .cards + G .GAME .joker_buffer < G .jokers .config .card_limit then
848- local card = create_card (" Joker" , G .jokers , nil , nil , nil , nil , " j_jolly" )
849- card :add_to_deck ()
850- G .jokers :emplace (card )
851- return nil , true
852- end
856+ local card = create_card (" Joker" , G .jokers , nil , nil , nil , nil , " j_jolly" )
857+ card :add_to_deck ()
858+ card :set_edition (" e_negative" )
859+ G .jokers :emplace (card )
860+ return nil , true
853861 end
854862 end ,
855863 pools = { [" M" ] = true },
@@ -1932,6 +1940,7 @@ local soccer = {
19321940 card .ability .extra .holygrail = math.floor (card .ability .extra .holygrail )
19331941 local mod = card .ability .extra .holygrail
19341942 G .consumeables .config .card_limit = G .consumeables .config .card_limit + mod
1943+ G .jokers .config .card_limit = G .jokers .config .card_limit + mod
19351944 G .hand :change_size (mod )
19361945 SMODS .change_booster_limit (mod )
19371946 SMODS .change_voucher_limit (mod )
@@ -1940,6 +1949,7 @@ local soccer = {
19401949 card .ability .extra .holygrail = math.floor (card .ability .extra .holygrail )
19411950 local mod = card .ability .extra .holygrail
19421951 G .consumeables .config .card_limit = G .consumeables .config .card_limit - mod
1952+ G .jokers .config .card_limit = G .jokers .config .card_limit - mod
19431953 G .hand :change_size (- mod )
19441954 SMODS .change_booster_limit (- mod )
19451955 SMODS .change_voucher_limit (- mod )
0 commit comments