@@ -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}
14391407local duplicare = {
0 commit comments