Skip to content

Commit feb590c

Browse files
Merge pull request #779 from InvalidOS/patch-6
reimplement (but not re-enable) non verisimile
2 parents 328d8c2 + 0ba3751 commit feb590c

File tree

1 file changed

+37
-69
lines changed

1 file changed

+37
-69
lines changed

items/exotic.lua

Lines changed: 37 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1349,91 +1349,59 @@ local verisimile = {
13491349
rarity = "cry_exotic",
13501350
cost = 50,
13511351
order = 516,
1352-
immutable = true,
1352+
1353+
-- "i'm not making this compatible" - nova
1354+
-- "well i am" - invalid, writing this comment
1355+
demicoloncompat = true,
13531356
blueprint_compat = true,
1354-
demicoloncompat = false, -- "i'm not making this compatible" - nova
1357+
13551358
atlas = "placeholders",
13561359
loc_vars = function(self, info_queue, center)
13571360
return { vars = { number_format(center.ability.extra.xmult) } }
13581361
end,
13591362
calculate = function(self, card, context)
1360-
if context.post_trigger and not context.blueprint then
1361-
--Todo: Gros Michel, Cavendish, Planet.lua
1362-
--Bus driver is ignored because it always triggers anyway
1363-
if
1364-
context.other_joker.ability.name == "8 Ball"
1365-
or context.other_joker.ability.name == "Space Joker"
1366-
or context.other_joker.ability.name == "Business Card"
1367-
or context.other_joker.ability.name == "Hallucination"
1368-
then
1369-
local variable = context.other_joker
1370-
card.ability.extra.xmult = lenient_bignum(to_big(card.ability.extra.xmult) + variable.ability.extra)
1371-
card_eval_status_text(card, "extra", nil, nil, nil, {
1372-
message = localize({
1373-
type = "variable",
1374-
key = "a_xmult",
1375-
vars = { number_format(card.ability.extra.xmult) },
1376-
}),
1377-
})
1378-
elseif
1379-
context.other_joker.ability.name == "Reserved Parking"
1380-
or context.other_joker.ability.name == "Bloodstone"
1381-
or context.other_joker.ability.name == "cry-Googol Play Card"
1382-
or context.other_joker.ability.name == "cry-Boredom"
1383-
or context.other_joker.ability.name == "cry-bonusjoker"
1384-
or context.other_joker.ability.name == "cry-multjoker"
1385-
or context.other_joker.ability.name == "cry-scrabble"
1386-
then
1387-
local variable = context.other_joker
1388-
card.ability.extra.xmult =
1389-
lenient_bignum(to_big(card.ability.extra.xmult) + variable.ability.extra.odds)
1390-
card_eval_status_text(card, "extra", nil, nil, nil, {
1391-
message = localize({
1392-
type = "variable",
1393-
key = "a_xmult",
1394-
vars = { number_format(card.ability.extra.xmult) },
1395-
}),
1396-
})
1397-
elseif context.other_joker.ability.name == "cry-notebook" then
1398-
--This also triggers at notebook's end of round which isn't intentional but i'm not bothered enough about this to find a workaround
1399-
local variable = context.other_joker
1400-
card.ability.extra.xmult =
1401-
lenient_bignum(to_big(card.ability.extra.xmult) + variable.ability.extra.odds)
1402-
card_eval_status_text(card, "extra", nil, nil, nil, {
1403-
message = localize({
1404-
type = "variable",
1405-
key = "a_xmult",
1406-
vars = { number_format(card.ability.extra.xmult) },
1407-
}),
1408-
})
1409-
end
1410-
return nil, true
1411-
elseif context.consumeable and not context.blueprint then
1412-
if context.consumeable.ability.name == "The Wheel of Fortune" and context.consumeable.cry_wheel_success then
1413-
local variable = context.consumeable
1414-
card.ability.extra.xmult = lenient_bignum(to_big(card.ability.extra.xmult) + variable.ability.extra) --Doesn't account for misprintizing for some reason
1415-
card_eval_status_text(card, "extra", nil, nil, nil, {
1363+
if context.pseudorandom_result and context.result then
1364+
-- implementation that doesn't use SMODS.scale_card; use if scale_card causes weird or unexpected behavior
1365+
--[[
1366+
card.ability.extra.xmult = lenient_bignum(card.ability.extra.xmult + context.denominator)
1367+
return {
1368+
message = localize({
1369+
type = "variable",
1370+
key = "a_xmult",
1371+
vars = { number_format(card.ability.extra.xmult) },
1372+
})
1373+
}
1374+
]]
1375+
1376+
SMODS.scale_card(card, {
1377+
-- this should not affect the probability in the context table
1378+
block_overrides = {
1379+
scalar = true
1380+
},
1381+
1382+
ref_table = card.ability.extra,
1383+
ref_value = "xmult",
1384+
scalar_table = context,
1385+
scalar_value = "denominator",
1386+
scaling_message = {
14161387
message = localize({
14171388
type = "variable",
14181389
key = "a_xmult",
14191390
vars = { number_format(card.ability.extra.xmult) },
14201391
}),
1421-
})
1422-
end
1423-
elseif context.joker_main and (to_big(card.ability.extra.xmult) > to_big(1)) then
1392+
},
1393+
})
1394+
1395+
-- forcetriggers won't scale non verisimile, because how much would you scale it by
1396+
elseif context.joker_main or context.forcetrigger then
14241397
return {
1425-
message = localize({
1426-
type = "variable",
1427-
key = "a_xmult",
1428-
vars = { number_format(card.ability.extra.xmult) },
1429-
}),
1430-
Xmult_mod = lenient_bignum(card.ability.extra.xmult),
1398+
xmult = lenient_bignum(card.ability.extra.xmult),
14311399
}
1432-
end
1400+
end
14331401
end,
14341402
cry_credits = {
14351403
idea = { "Enemui" },
1436-
code = { "Jevonn" },
1404+
code = { "Jevonn", "invalidOS" },
14371405
},
14381406
}
14391407
local duplicare = {

0 commit comments

Comments
 (0)