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",
|
"id": "Roland",
|
||||||
"name": "Roland",
|
"name": "Roland",
|
||||||
"prefix": "Roland",
|
"prefix": "Roland",
|
||||||
"version": "2.9.15",
|
"version": "2.9.16",
|
||||||
"badge_colour": "8BE9FD",
|
"badge_colour": "8BE9FD",
|
||||||
"display_name": "Roland",
|
"display_name": "Roland",
|
||||||
"main_file": "src/main.lua",
|
"main_file": "src/main.lua",
|
||||||
|
|
|
||||||
|
|
@ -239,16 +239,16 @@ blind {
|
||||||
disable = function(self)
|
disable = function(self)
|
||||||
self:defeat()
|
self:defeat()
|
||||||
end,
|
end,
|
||||||
calculate = function(self, b)
|
calculate = function(self, b, context)
|
||||||
return not b.disabled and self.cards()
|
return not b.disabled and
|
||||||
|
context.hand_drawn and
|
||||||
|
self.cards()
|
||||||
:where("Roland_blizzard", false)
|
:where("Roland_blizzard", false)
|
||||||
:where("facing", "front")
|
:where("facing", "front")
|
||||||
:each(set_freeze(true)) or nil
|
:each(set_freeze(true)) or nil
|
||||||
end,
|
end,
|
||||||
cards = function()
|
cards = function()
|
||||||
return f(G):where(function(v)
|
return f(G):where(getmetatable, CardArea):flatmap("cards", ipairs)
|
||||||
return type(v) == "table" and type(v.cards) == "table"
|
|
||||||
end):flatmap("cards", ipairs)
|
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -216,9 +216,9 @@ joker {
|
||||||
SMODS.calculate_context {drawing_cards = true, draw = {G.deck.cards}}
|
SMODS.calculate_context {drawing_cards = true, draw = {G.deck.cards}}
|
||||||
|
|
||||||
SMODS.calculate_context {
|
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,
|
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
|
if type(facing_blind) == "table" then
|
||||||
|
|
@ -941,7 +941,10 @@ joker {
|
||||||
return {card = card, xmult = extra.odds}
|
return {card = card, xmult = extra.odds}
|
||||||
end
|
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 "")
|
local key = "RolandMartingale" .. tostring(G.GAME.modifiers.Roland_martingale_seed or "")
|
||||||
|
|
||||||
if SMODS.pseudorandom_probability(card, self.key, 1, extra.odds, key) then
|
if SMODS.pseudorandom_probability(card, self.key, 1, extra.odds, key) then
|
||||||
|
|
@ -953,9 +956,18 @@ joker {
|
||||||
xmult = xmult * extra.odds
|
xmult = xmult * extra.odds
|
||||||
local message = number_format(numerator) .. "/" .. number_format(xmult)
|
local message = number_format(numerator) .. "/" .. number_format(xmult)
|
||||||
SMODS.calculate_effect({card = card, repetitions = 1, message = message, message_card = card}, card)
|
SMODS.calculate_effect({card = card, repetitions = 1, message = message, message_card = card}, card)
|
||||||
|
overflown = overflown or i == max
|
||||||
end
|
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,
|
end,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||