Skip to content

Commit 5ec56c5

Browse files
committed
forcetrigger scaling detection
1 parent 5851b77 commit 5ec56c5

File tree

2 files changed

+133
-4
lines changed

2 files changed

+133
-4
lines changed

items/code.lua

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5048,18 +5048,22 @@ local cut = {
50485048

50495049
if codecard_to_destroy then
50505050
codecard_to_destroy.getting_sliced = true
5051-
card.ability.extra.Xmult =
5052-
lenient_bignum(to_big(card.ability.extra.Xmult) + card.ability.extra.Xmult_mod)
5051+
card.ability.extra.Xmult = lenient_bignum(to_big(card.ability.extra.Xmult) + card.ability.extra.Xmult_mod)
5052+
local msg = SMODS.scale_card(card, {
5053+
ref_table = card.ability.extra,
5054+
ref_value = "Xmult",
5055+
scalar_value = "Xmult_mod"
5056+
})
50535057
G.E_MANAGER:add_event(Event({
50545058
func = function()
50555059
(context.blueprint_card or card):juice_up(0.8, 0.8)
50565060
codecard_to_destroy:start_dissolve({ G.C.RED }, nil, 1.6)
50575061
return true
50585062
end,
50595063
}))
5060-
if not (context.blueprint_card or self).getting_sliced then
5064+
if not (context.blueprint_card or self).getting_sliced and (not msg or type(msg) == "string") then
50615065
card_eval_status_text((context.blueprint_card or card), "extra", nil, nil, nil, {
5062-
message = localize({
5066+
message = msg or localize({
50635067
type = "variable",
50645068
key = "a_xmult",
50655069
vars = { number_format(to_big(card.ability.extra.Xmult)) },

lib/forcetrigger.lua

Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,12 @@ function Cryptid.forcetrigger(card, context)
126126
return true
127127
end,
128128
}))
129+
local msg = SMODS.scale_card(card, {
130+
ref_table = card.ability,
131+
ref_value = "mult",
132+
scalar_table = {cost = sliced_card.sell_cost * 2},
133+
scalar_value = "cost"
134+
})
129135
end
130136
results = { jokers = { mult_mod = card.ability.mult, card = card } }
131137
end
@@ -245,6 +251,11 @@ function Cryptid.forcetrigger(card, context)
245251
end
246252
if card.ability.name == "Ride The Bus" then
247253
card.ability.mult = card.ability.mult + card.ability.extra
254+
local msg = SMODS.scale_card(card, {
255+
ref_table = card.ability,
256+
ref_value = "mult",
257+
scalar_value = "extra"
258+
})
248259
results = { jokers = { mult_mod = card.ability.mult, card = card } }
249260
end
250261
if card.ability.name == "Space Joker" then
@@ -268,6 +279,11 @@ function Cryptid.forcetrigger(card, context)
268279
-- page 4
269280
if card.ability.name == "Egg" then
270281
card.ability.extra_value = card.ability.extra_value + card.ability.extra
282+
local msg = SMODS.scale_card(card, {
283+
ref_table = card.ability,
284+
ref_value = "extra_value",
285+
scalar_value = "extra"
286+
})
271287
card:set_cost()
272288
end
273289
if card.ability.name == "Burglar" then
@@ -284,10 +300,21 @@ function Cryptid.forcetrigger(card, context)
284300
end
285301
if card.ability.name == "Runner" then
286302
card.ability.extra.chips = card.ability.extra.chips + card.ability.extra.chip_mod
303+
local msg = SMODS.scale_card(card, {
304+
ref_table = card.ability,
305+
ref_value = "chips",
306+
scalar_value = "chip_mod"
307+
})
287308
results = { jokers = { chips = card.ability.extra.chips, card = card } }
288309
end
289310
if card.ability.name == "Ice Cream" then
290311
card.ability.extra.chips = card.ability.extra.chips - card.ability.extra.chip_mod
312+
local msg = SMODS.scale_card(card, {
313+
ref_table = card.ability,
314+
ref_value = "chips",
315+
scalar_value = "chip_mod",
316+
operation = "-"
317+
})
291318
results = { jokers = { chips = card.ability.extra.chips, card = card } }
292319
if card.ability.extra.chips - card.ability.extra.chip_mod <= 0 then
293320
G.E_MANAGER:add_event(Event({
@@ -351,6 +378,11 @@ function Cryptid.forcetrigger(card, context)
351378
end
352379
if card.ability.name == "Constellation" then
353380
card.ability.x_mult = card.ability.x_mult + card.ability.extra
381+
local msg = SMODS.scale_card(card, {
382+
ref_table = card.ability,
383+
ref_value = "x_mult",
384+
scalar_value = "extra"
385+
})
354386
results = { jokers = { Xmult_mod = card.ability.x_mult, card = card } }
355387
end
356388
-- if card.ability.name == "Hiker" then results = { jokers = { }, } end
@@ -409,6 +441,11 @@ function Cryptid.forcetrigger(card, context)
409441
end
410442
if card.ability.name == "Red Card" then
411443
card.ability.mult = card.ability.mult + card.ability.extra
444+
local msg = SMODS.scale_card(card, {
445+
ref_table = card.ability,
446+
ref_value = "mult",
447+
scalar_value = "extra"
448+
})
412449
results = { jokers = { mult_mod = card.ability.mult, card = card } }
413450
end
414451
if card.ability.name == "Madness" then
@@ -437,6 +474,11 @@ function Cryptid.forcetrigger(card, context)
437474
end,
438475
}))
439476
end
477+
local msg = SMODS.scale_card(card, {
478+
ref_table = card.ability,
479+
ref_value = "x_mult",
480+
scalar_value = "extra"
481+
})
440482
results = { jokers = { Xmult_mod = card.ability.x_mult, card = card } }
441483
end
442484
if card.ability.name == "Square Joker" then
@@ -494,11 +536,21 @@ function Cryptid.forcetrigger(card, context)
494536
end
495537
end
496538
card.ability.x_mult = card.ability.x_mult + (card.ability.extra * #enhanced or 1)
539+
local msg = SMODS.scale_card(card, {
540+
ref_table = card.ability,
541+
ref_value = "x_mult",
542+
scalar_value = "extra"
543+
})
497544
results = { jokers = { Xmult_mod = card.ability.x_mult, card = card } }
498545
end
499546
-- if card.ability.name == "Shortcut" then results = { jokers = { } } end
500547
if card.ability.name == "Hologram" then
501548
card.ability.x_mult = card.ability.x_mult + card.ability.extra
549+
local msg = SMODS.scale_card(card, {
550+
ref_table = card.ability,
551+
ref_value = "x_mult",
552+
scalar_value = "extra"
553+
})
502554
results = { jokers = { Xmult_mod = card.ability.x_mult, card = card } }
503555
end
504556
if card.ability.name == "Vagabond" then
@@ -527,10 +579,20 @@ function Cryptid.forcetrigger(card, context)
527579
end
528580
if card.ability.name == "Rocket" then
529581
card.ability.extra.dollars = card.ability.extra.dollars + card.ability.extra.increase
582+
local msg = SMODS.scale_card(card, {
583+
ref_table = card.ability.extra,
584+
ref_value = "dollars",
585+
scalar_value = "increase"
586+
})
530587
ease_dollars(card.ability.extra.dollars)
531588
end
532589
if card.ability.name == "Obelisk" then -- Sobelisk
533590
card.ability.x_mult = card.ability.x_mult + card.ability.extra
591+
local msg = SMODS.scale_card(card, {
592+
ref_table = card.ability,
593+
ref_value = "x_mult",
594+
scalar_value = "extra"
595+
})
534596
results = { jokers = { Xmult_mod = card.ability.x_mult, card = card } }
535597
end
536598
-- page 6
@@ -590,6 +652,12 @@ function Cryptid.forcetrigger(card, context)
590652
if card.ability.name == "Turtle Bean" then
591653
G.hand:change_size(-card.ability.extra.h_size)
592654
card.ability.extra.h_size = card.ability.extra.h_size - card.ability.extra.h_mod
655+
local msg = SMODS.scale_card(card, {
656+
ref_table = card.ability.extra,
657+
ref_value = "h_size",
658+
scalar_value = "h_mod",
659+
operation = "-"
660+
})
593661
G.hand:change_size(card.ability.extra.h_size)
594662
end
595663
if card.ability.name == "Erosion" then
@@ -663,21 +731,43 @@ function Cryptid.forcetrigger(card, context)
663731
end
664732
if card.ability.name == "Flash Card" then
665733
card.ability.mult = card.ability.mult + card.ability.extra
734+
local msg = SMODS.scale_card(card, {
735+
ref_table = card.ability,
736+
ref_value = "mult",
737+
scalar_value = "extra"
738+
})
666739
results = { jokers = { mult_mod = card.ability.mult, card = card } }
667740
end
668741
if card.ability.name == "Popcorn" then
669742
card.ability.mult = card.ability.mult - card.ability.extra
743+
local msg = SMODS.scale_card(card, {
744+
ref_table = card.ability,
745+
ref_value = "mult",
746+
scalar_value = "extra",
747+
operation = "-"
748+
})
670749
results = { jokers = { mult_mod = card.ability.mult, card = card } }
671750
end
672751
if card.ability.name == "Spare Trousers" then
673752
card.ability.mult = card.ability.mult + card.ability.extra
753+
local msg = SMODS.scale_card(card, {
754+
ref_table = card.ability,
755+
ref_value = "mult",
756+
scalar_value = "extra"
757+
})
674758
results = { jokers = { mult_mod = card.ability.mult, card = card } }
675759
end
676760
if card.ability.name == "Ancient Joker" then
677761
results = { jokers = { Xmult_mod = card.ability.extra, card = card } }
678762
end
679763
if card.ability.name == "Ramen" then
680764
card.ability.x_mult = card.ability.x_mult - card.ability.extra
765+
local msg = SMODS.scale_card(card, {
766+
ref_table = card.ability,
767+
ref_value = "x_mult",
768+
scalar_value = "extra",
769+
operation = "-"
770+
})
681771
results = { jokers = { Xmult_mod = card.ability.x_mult, card = card } }
682772
end
683773
if card.ability.name == "Walkie Talkie" then
@@ -686,13 +776,23 @@ function Cryptid.forcetrigger(card, context)
686776
-- if card.ability.name == "Seltzer" then results = { jokers = { } } end
687777
if card.ability.name == "Castle" then
688778
card.ability.extra.chips = card.ability.extra.chips + card.ability.extra.chip_mod
779+
local msg = SMODS.scale_card(card, {
780+
ref_table = card.ability,
781+
ref_value = "chips",
782+
scalar_value = "chip_mod"
783+
})
689784
results = { jokers = { chips = card.ability.extra.chips, card = card } }
690785
end
691786
if card.ability.name == "Smiley Face" then
692787
results = { jokers = { mult_mod = card.ability.extra, card = card } }
693788
end
694789
if card.ability.name == "Campfire" then
695790
card.ability.x_mult = card.ability.x_mult + card.ability.extra
791+
local msg = SMODS.scale_card(card, {
792+
ref_table = card.ability,
793+
ref_value = "x_mult",
794+
scalar_value = "extra"
795+
})
696796
results = { jokers = { Xmult_mod = card.ability.x_mult, card = card } }
697797
end
698798
-- page 8
@@ -746,6 +846,11 @@ function Cryptid.forcetrigger(card, context)
746846
end
747847
if card.ability.name == "Glass Joker" then
748848
card.ability.x_mult = card.ability.x_mult + card.ability.extra
849+
local msg = SMODS.scale_card(card, {
850+
ref_table = card.ability,
851+
ref_value = "x_mult",
852+
scalar_value = "extra"
853+
})
749854
results = { jokers = { Xmult_mod = card.ability.x_mult, card = card } }
750855
end
751856
-- page 9
@@ -756,6 +861,11 @@ function Cryptid.forcetrigger(card, context)
756861
-- if card.ability.name == "Blueprint" then results = { jokers = { } } end
757862
if card.ability.name == "Wee Joker" then
758863
card.ability.extra.chips = card.ability.extra.chips + card.ability.extra.chip_mod
864+
local msg = SMODS.scale_card(card, {
865+
ref_table = card.ability,
866+
ref_value = "chips",
867+
scalar_value = "chip_mod"
868+
})
759869
results = { jokers = { chips = card.ability.extra.chips, card = card } }
760870
end
761871
if card.ability.name == "Merry Andy" then
@@ -774,6 +884,11 @@ function Cryptid.forcetrigger(card, context)
774884
end
775885
if card.ability.name == "Hit The Road" then
776886
card.ability.x_mult = card.ability.x_mult + card.ability.extra
887+
local msg = SMODS.scale_card(card, {
888+
ref_table = card.ability,
889+
ref_value = "x_mult",
890+
scalar_value = "extra"
891+
})
777892
results = { jokers = { Xmult_mod = card.ability.x_mult, card = card } }
778893
end
779894
if card.ability.name == "The Duo" then
@@ -882,13 +997,23 @@ function Cryptid.forcetrigger(card, context)
882997
end
883998
if card.ability.name == "Caino" then
884999
card.ability.caino_xmult = card.ability.caino_xmult + card.ability.extra
1000+
local msg = SMODS.scale_card(card, {
1001+
ref_table = card.ability,
1002+
ref_value = "x_mult",
1003+
scalar_value = "extra"
1004+
})
8851005
results = { jokers = { Xmult_mod = card.ability.caino_xmult, card = card } }
8861006
end
8871007
if card.ability.name == "Triboulet" then
8881008
results = { jokers = { Xmult_mod = card.ability.extra, card = card } }
8891009
end
8901010
if card.ability.name == "Yorick" then
8911011
card.ability.x_mult = card.ability.x_mult + card.ability.extra.xmult
1012+
local msg = SMODS.scale_card(card, {
1013+
ref_table = card.ability,
1014+
ref_value = "x_mult",
1015+
scalar_value = "extra"
1016+
})
8921017
results = { jokers = { Xmult_mod = card.ability.x_mult, card = card } }
8931018
end
8941019
if card.ability.name == "Chicot" then

0 commit comments

Comments
 (0)