Add The Blizzard art, change Martingale + The Improbable interaction
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 89 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 242 KiB After Width: | Height: | Size: 242 KiB |
|
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 85 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 1 KiB After Width: | Height: | Size: 1 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 79 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
|
@ -3,7 +3,7 @@
|
|||
"id": "Roland",
|
||||
"name": "Roland",
|
||||
"prefix": "Roland",
|
||||
"version": "2.9.15",
|
||||
"version": "2.9.16",
|
||||
"badge_colour": "8BE9FD",
|
||||
"display_name": "Roland",
|
||||
"main_file": "src/main.lua",
|
||||
|
|
|
|||
|
|
@ -239,16 +239,16 @@ blind {
|
|||
disable = function(self)
|
||||
self:defeat()
|
||||
end,
|
||||
calculate = function(self, b)
|
||||
return not b.disabled and self.cards()
|
||||
calculate = function(self, b, context)
|
||||
return not b.disabled and
|
||||
context.hand_drawn and
|
||||
self.cards()
|
||||
:where("Roland_blizzard", false)
|
||||
:where("facing", "front")
|
||||
:each(set_freeze(true)) or nil
|
||||
end,
|
||||
cards = function()
|
||||
return f(G):where(function(v)
|
||||
return type(v) == "table" and type(v.cards) == "table"
|
||||
end):flatmap("cards", ipairs)
|
||||
return f(G):where(getmetatable, CardArea):flatmap("cards", ipairs)
|
||||
end,
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -216,9 +216,9 @@ joker {
|
|||
SMODS.calculate_context {drawing_cards = true, draw = {G.deck.cards}}
|
||||
|
||||
SMODS.calculate_context {
|
||||
hand_drawn = facing_blind and {G.deck.cards[1]} and true,
|
||||
other_drawn = not facing_blind and {G.deck.cards[1]} and true,
|
||||
first_hand_drawn = not current_round.any_hand_drawn and facing_blind or nil,
|
||||
hand_drawn = facing_blind and {G.deck.cards[1]} --[[@as true]],
|
||||
other_drawn = not facing_blind and {G.deck.cards[1]},
|
||||
}
|
||||
|
||||
if type(facing_blind) == "table" then
|
||||
|
|
@ -941,7 +941,10 @@ joker {
|
|||
return {card = card, xmult = extra.odds}
|
||||
end
|
||||
|
||||
for _ = 1, 256 do
|
||||
-- 2^38 is the first iteration displayed as scientific notation.
|
||||
local max, overflown = 38, false
|
||||
|
||||
for i = 1, max do
|
||||
local key = "RolandMartingale" .. tostring(G.GAME.modifiers.Roland_martingale_seed or "")
|
||||
|
||||
if SMODS.pseudorandom_probability(card, self.key, 1, extra.odds, key) then
|
||||
|
|
@ -953,9 +956,18 @@ joker {
|
|||
xmult = xmult * extra.odds
|
||||
local message = number_format(numerator) .. "/" .. number_format(xmult)
|
||||
SMODS.calculate_effect({card = card, repetitions = 1, message = message, message_card = card}, card)
|
||||
overflown = overflown or i == max
|
||||
end
|
||||
|
||||
SMODS.calculate_effect({card = card, xmult = xmult}, card)
|
||||
if overflown then
|
||||
SMODS.calculate_effect({card = card, score = 1 / 0}, card)
|
||||
|
||||
q(function()
|
||||
card:shatter()
|
||||
end)
|
||||
else
|
||||
SMODS.calculate_effect({card = card, xmult = xmult}, card)
|
||||
end
|
||||
end,
|
||||
}
|
||||
|
||||
|
|
|
|||