Skip to content

Commit 37e7a01

Browse files
committed
unkill googol
1 parent e0ac1e9 commit 37e7a01

File tree

3 files changed

+124
-56
lines changed

3 files changed

+124
-56
lines changed

items/epic.lua

Lines changed: 102 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -208,41 +208,27 @@ local googol_play = {
208208
cost = 15,
209209
copies = 1,
210210
rounds = 3,
211-
rounds_left = 3,
211+
rounds_left = 3
212212
},
213213
mainline = { copies = 2, rounds = 3, rounds_left = 3 },
214214
},
215215
loc_vars = function(self, info_queue, center)
216-
return {
217-
key = Cryptid.gameset_loc(self, { modest = "balanced" }),
218-
vars = { center.ability.copies, center.ability.rounds, center.ability.rounds_left },
219-
}
216+
return { key = Cryptid.gameset_loc(self, { modest = "balanced" }), vars = { center.ability.copies, center.ability.rounds, center.ability.rounds_left } }
220217
end,
221218
calculate = function(self, card, context)
222219
local gameset = Card.get_gameset(card)
223220
if context.after and not context.retrigger_joker and not context.blueprint then
224221
card.ability.rounds_left = card.ability.rounds_left - 1
225222
if to_big(card.ability.rounds_left) <= to_big(0) then
226-
local eval = function(card)
227-
return not card.REMOVED
228-
end
223+
local eval = function(card) return not card.REMOVED end
229224
juice_card_until(self, eval, true)
230225
end
231226
return {
232-
message = to_big(card.ability.rounds_left) > to_big(0)
233-
and ((card.ability.rounds - card.ability.rounds_left) .. "/" .. card.ability.rounds)
234-
or localize("k_active_ex"),
235-
colour = G.C.FILTER,
227+
message = to_big(card.ability.rounds_left) > to_big(0) and ((card.ability.rounds-card.ability.rounds_left)..'/'..card.ability.rounds) or localize('k_active_ex'),
228+
colour = G.C.FILTER
236229
}
237230
end
238-
if
239-
(
240-
context.selling_self
241-
and not context.retrigger_joker
242-
and not context.blueprint
243-
and to_big(card.ability.rounds_left) <= to_big(0)
244-
) or context.forcetrigger
245-
then
231+
if (context.selling_self and not context.retrigger_joker and not context.blueprint and to_big(card.ability.rounds_left) <= to_big(0)) or context.forcetrigger then
246232
local jokers = {}
247233
for i = 1, #G.jokers.cards do
248234
if G.jokers.cards[i] ~= card then
@@ -433,16 +419,12 @@ local canvas = {
433419
blueprint_compat = true,
434420
atlas = "atlasepic",
435421
calculate = function(self, card, context)
436-
if
437-
context.retrigger_joker_check
438-
and not context.retrigger_joker
439-
and context.other_card == G.jokers.cards[1]
440-
then
422+
if context.retrigger_joker_check and not context.retrigger_joker and context.other_card == G.jokers.cards[1] then
441423
local num_retriggers = 0
442424
local rarities = {}
443425
for i = 1, #G.jokers.cards do
444426
local joker = G.jokers.cards[i]
445-
if not rarities[joker.config.center.rarity] then
427+
if not rarities[joker .config.center.rarity] then
446428
rarities[joker.config.center.rarity] = true
447429
num_retriggers = num_retriggers + 1
448430
end
@@ -928,7 +910,7 @@ local boredom = {
928910
local cards = {}
929911
for i, v in pairs(G.jokers.cards) do
930912
if v.config.center.key ~= "j_cry_boredom" then
931-
cards[#cards + 1] = v
913+
cards[#cards+1] = v
932914
end
933915
end
934916
local joker = pseudorandom_element(cards, pseudoseed("cry_boredom_joker"))
@@ -1017,11 +999,16 @@ local number_blocks = {
1017999
}
10181000
end,
10191001
calculate = function(self, card, context)
1020-
if context.after and not context.blueprint and not context.before and not context.after then
1002+
if
1003+
context.after
1004+
and not context.blueprint
1005+
and not context.before
1006+
and not context.after
1007+
then
10211008
for i, v in pairs(G.hand.cards) do
10221009
if v:get_id() == G.GAME.current_round.cry_nb_card.id and not v.debuff then
10231010
card.ability.extra.money =
1024-
lenient_bignum(to_big(card.ability.extra.money) + card.ability.extra.money_mod)
1011+
lenient_bignum(to_big(card.ability.extra.money) + card.ability.extra.money_mod)
10251012
card_eval_status_text(card, "extra", nil, nil, nil, { message = localize("k_upgrade_ex") })
10261013
return nil, true
10271014
end
@@ -1783,6 +1770,92 @@ local goldjoker = {
17831770
-- Sell this card to create 2 copies of the leftmost Joker
17841771
-- Still needs updated description
17851772

1773+
local altgoogol = {
1774+
object_type = "Joker",
1775+
name = "cry-altgoogol",
1776+
key = "altgoogol",
1777+
config = {
1778+
extra = {
1779+
Xmult = 12,
1780+
odds = 8,
1781+
},
1782+
},
1783+
dependencies = {
1784+
items = {
1785+
"set_cry_epic",
1786+
},
1787+
},
1788+
gameset_config = {
1789+
modest = { extra = { Xmult = 9, odds = 8 } },
1790+
},
1791+
pos = { x = 4, y = 3 },
1792+
rarity = "cry_epic",
1793+
cost = 10,
1794+
order = 14,
1795+
blueprint_compat = true,
1796+
demicoloncompat = true,
1797+
atlas = "atlasepic",
1798+
soul_pos = { x = 10, y = 0, extra = { x = 5, y = 3 } },
1799+
loc_vars = function(self, info_queue, card)
1800+
return {
1801+
vars = {
1802+
cry_prob(card.ability.cry_prob, card.ability.extra.odds, card.ability.cry_rigged),
1803+
card.ability.extra.odds,
1804+
number_format(card.ability.extra.Xmult),
1805+
},
1806+
}
1807+
end,
1808+
calculate = function(self, card, context)
1809+
if
1810+
context.joker_main
1811+
and pseudorandom("cry_googol_play")
1812+
< cry_prob(card.ability.cry_prob, card.ability.extra.odds, card.ability.cry_rigged) / card.ability.extra.odds
1813+
then
1814+
return {
1815+
message = localize({
1816+
type = "variable",
1817+
key = "a_xmult",
1818+
vars = { number_format(card.ability.extra.Xmult) },
1819+
}),
1820+
Xmult_mod = lenient_bignum(card.ability.extra.Xmult),
1821+
}
1822+
end
1823+
if context.forcetrigger then
1824+
return {
1825+
message = localize({
1826+
type = "variable",
1827+
key = "a_xmult",
1828+
vars = { number_format(card.ability.extra.Xmult) },
1829+
}),
1830+
Xmult_mod = lenient_bignum(card.ability.extra.Xmult),
1831+
}
1832+
end
1833+
end,
1834+
cry_credits = {
1835+
idea = {
1836+
".asdom",
1837+
},
1838+
art = {
1839+
"Linus Goof Balls",
1840+
},
1841+
code = {
1842+
"Math",
1843+
},
1844+
},
1845+
unlocked = false,
1846+
check_for_unlock = function(self, args)
1847+
if args.type == "chip_score" and to_big(args.chips) >= to_big(1e100) then
1848+
unlock_card(self)
1849+
end
1850+
if args.type == "cry_lock_all" then
1851+
lock_card(self)
1852+
end
1853+
if args.type == "cry_unlock_all" then
1854+
unlock_card(self)
1855+
end
1856+
end,
1857+
}
1858+
17861859
-- One For All
17871860
-- +1 Joker slot, Booster Pack slot, hand size, consumable slot, shop slot
17881861
local soccer = {
@@ -1807,7 +1880,6 @@ local soccer = {
18071880
add_to_deck = function(self, card, from_debuff)
18081881
card.ability.extra.holygrail = math.floor(card.ability.extra.holygrail)
18091882
local mod = card.ability.extra.holygrail
1810-
G.jokers.config.card_limit = G.jokers.config.card_limit + ((Card.get_gameset(card) == "modest") and 0 or mod)
18111883
G.consumeables.config.card_limit = G.consumeables.config.card_limit + mod
18121884
G.hand:change_size(mod)
18131885
SMODS.change_booster_limit(mod)
@@ -1816,7 +1888,6 @@ local soccer = {
18161888
remove_from_deck = function(self, card, from_debuff)
18171889
card.ability.extra.holygrail = math.floor(card.ability.extra.holygrail)
18181890
local mod = card.ability.extra.holygrail
1819-
G.jokers.config.card_limit = G.jokers.config.card_limit + ((Card.get_gameset(card) == "modest") and 0 or -mod)
18201891
G.consumeables.config.card_limit = G.consumeables.config.card_limit - mod
18211892
G.hand:change_size(-mod)
18221893
SMODS.change_booster_limit(-mod)

items/misc_joker.lua

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3217,7 +3217,7 @@ local mondrian = {
32173217
pos = { x = 5, y = 3 },
32183218
config = {
32193219
extra = {
3220-
extra = 0.25,
3220+
extra = 0.15,
32213221
x_mult = 1,
32223222
},
32233223
},
@@ -7525,7 +7525,7 @@ local coin = {
75257525
pos = { x = 0, y = 2 },
75267526
config = {
75277527
extra = { money = 1 },
7528-
immutable = { money_mod = 10 },
7528+
immutable = { money_mod = 5 },
75297529
},
75307530
rarity = 1,
75317531
order = 53,
@@ -7535,7 +7535,7 @@ local coin = {
75357535
loc_vars = function(self, info_queue, center)
75367536
return {
75377537
vars = {
7538-
number_format(center.ability.extra.money),
7538+
number_format(center.ability.extra.money-1),
75397539
number_format(
75407540
center.ability.extra.money
75417541
* (Card.get_gameset(card) ~= "modest" and center.ability.immutable.money_mod or 4)
@@ -7548,8 +7548,8 @@ local coin = {
75487548
if (context.selling_card and context.card.ability.set == "Joker") or context.forcetrigger then
75497549
local mod = math.floor(
75507550
pseudorandom(pseudoseed("coin"))
7551-
* (Card.get_gameset(card) ~= "modest" and card.ability.immutable.money_mod or 4)
7552-
) + 1
7551+
* ((Card.get_gameset(card) ~= "modest" and card.ability.immutable.money_mod or 4) + 1)
7552+
)
75537553
local option = lenient_bignum(to_big(card.ability.extra.money) * mod)
75547554
ease_dollars(option)
75557555
card_eval_status_text(
@@ -7670,7 +7670,7 @@ local oldblueprint = {
76707670
key = "oldblueprint",
76717671
pos = { x = 2, y = 1 },
76727672
config = { extra = { odds = 4 } },
7673-
rarity = 1,
7673+
rarity = 2,
76747674
cost = 6,
76757675
order = 83,
76767676
blueprint_compat = true,
@@ -7989,7 +7989,6 @@ local translucent = {
79897989
dependencies = {
79907990
items = {
79917991
"set_cry_misc_joker",
7992-
"banana",
79937992
},
79947993
},
79957994
name = "cry-translucent Joker",
@@ -8002,6 +8001,9 @@ local translucent = {
80028001
eternal_compat = false,
80038002
demicoloncompat = true,
80048003
atlas = "atlasthree",
8004+
loc_vars = function(self, queue, card)
8005+
queue[#queue+1] = {set="Other",key="perishable", vars = {5, 5}}
8006+
end,
80058007
calculate = function(self, card, context)
80068008
if (context.selling_self and not (context.retrigger_joker or context.blueprint)) or context.forcetrigger then
80078009
local jokers = {}
@@ -8017,7 +8019,6 @@ local translucent = {
80178019
local _card =
80188020
copy_card(chosen_joker, nil, nil, nil, chosen_joker.edition and chosen_joker.edition.negative)
80198021
_card:add_to_deck()
8020-
_card:set_banana(true)
80218022
_card.ability.perishable = true -- Done manually to bypass perish compat
80228023
_card.ability.perish_tally = G.GAME.perishable_rounds
80238024
G.jokers:emplace(_card)

localization/en-us.lua

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1046,7 +1046,7 @@ return {
10461046
j_cry_googol_play = {
10471047
name = "Googol Play Card",
10481048
text = {
1049-
"After {C:attention}#2#{}{C:inactive}[#3#] rounds Sell this card to create",
1049+
"After {C:attention}#2#{} {C:inactive}[#3#]{} rounds Sell this card to create",
10501050
"{C:attention}#1#{} cop#<ies,y>1# of the leftmost {C:attention}Joker{}",
10511051
"{C:inactive,s:0.8}Does not copy Googol Play Cards{}",
10521052
"{C:inactive}(Must have room){}",
@@ -1861,6 +1861,17 @@ return {
18611861
"card is scored",
18621862
},
18631863
},
1864+
j_cry_altgoogol = {
1865+
name = "Nostalgic Googol Play Card",
1866+
text = {
1867+
"{C:green}#1# in #2#{} chance for",
1868+
"{X:red,C:white} X#3# {} Mult",
1869+
},
1870+
unlock = {
1871+
"Score {C:attention}1.0e100{} Chips",
1872+
"in a single hand",
1873+
},
1874+
},
18641875
j_cry_happy = {
18651876
name = ":D",
18661877
text = {
@@ -2617,21 +2628,6 @@ return {
26172628
},
26182629
},
26192630
j_cry_soccer = {
2620-
name = "One for All", --changed the name from latin because this isn't exotic
2621-
text = {
2622-
"{C:attention}+#1#{} Joker slot#<s>1#",
2623-
"{C:attention}+#1#{} Booster Pack slot#<s>1#",
2624-
"{C:attention}+#1#{} hand size",
2625-
"{C:attention}+#1#{} consumable slot#<s>1#",
2626-
"{C:attention}+#1#{} card#<s>1# in shop",
2627-
"{C:attention}+#1#{} voucher slot#<s>1#",
2628-
},
2629-
unlock = {
2630-
"Win a run with",
2631-
"only {C:attention}High Card",
2632-
},
2633-
},
2634-
j_cry_soccer_balanced = {
26352631
name = "One for All", --changed the name from latin because this isn't exotic
26362632
text = {
26372633
"{C:attention}+#1#{} Booster Pack slot#<s>1#",
@@ -2856,7 +2852,7 @@ return {
28562852
name = "Translucent Joker",
28572853
text = {
28582854
"Sell this card to create",
2859-
"a {C:attention}Banana Perishable{} copy",
2855+
"a {C:attention}Perishable{} copy",
28602856
"of a random {C:attention}Joker{}",
28612857
"{s:0.8,C:inactive}(Copy bypasses perish compat)",
28622858
},

0 commit comments

Comments
 (0)