Here's the code if anyone wants to use it (Please credit me if you do)!
config = { extra = { xmult = 1, xmult_gain = 1 } },
loc_vars = function(self, info_queue, card)
return { vars = { card.ability.extra.xmult_gain, card.ability.extra.xmult } }
end,
calculate = function(self, card, context)
if context.remove_playing_cards and not context.blueprint then
local face_cards = 0
for _, removed_card in ipairs(context.removed) do
if removed_card:is_face() then face_cards = face_cards + 1 end
end
if face_cards > 0 then
-- See note about SMODS Scaling Manipulation on the wiki
card.ability.extra.xmult = card.ability.extra.xmult + face_cards * card.ability.extra.xmult_gain
return { message = localize { type = 'variable', key = 'a_xmult', vars = { card.ability.extra.xmult } } }
end
end
if context.individual and context.cardarea == G.play and
(context.other_card:get_id() == 12 or context.other_card:get_id() == 13) then
return {
xmult = card.ability.extra.xmult
}
end
end,