4
4
--- PREFIX: bb
5
5
--- MOD_AUTHOR: [mathguy]
6
6
--- MOD_DESCRIPTION: Bonus Blinds
7
- --- VERSION: 1.4.0
7
+ --- VERSION: 1.4.1
8
8
---- ------------------------------------------
9
9
---- --------MOD CODE -------------------------
10
10
@@ -562,7 +562,7 @@ SMODS.Bonus {
562
562
end
563
563
}
564
564
565
- --- Uncommon (10 )
565
+ --- Uncommon (11 )
566
566
567
567
SMODS .Bonus {
568
568
key = ' redo' ,
@@ -988,7 +988,32 @@ SMODS.Bonus {
988
988
end
989
989
}
990
990
991
- --- Rare (4)
991
+ SMODS .Bonus {
992
+ key = ' eternal' ,
993
+ loc_txt = {
994
+ name = " Eternal Blind" ,
995
+ text = {
996
+ " Play {C:red}#1#{} with" ,
997
+ " {C:blue}X3 Blind Size{}"
998
+ }
999
+ },
1000
+ atlas = " another" ,
1001
+ pos = {x = 6 , y = 2 },
1002
+ cost = 3 ,
1003
+ rarity = ' Uncommon' ,
1004
+ set_ability = function (self , card , initial , delay_sprites )
1005
+ card .ability .the_blind = ' bl_bb_infinity'
1006
+ end ,
1007
+ loc_vars = function (self , info_queue , card )
1008
+ info_queue [# info_queue + 1 ] = {key = ' blind_infinity' , set = ' Other' }
1009
+ return {vars = {localize {type = ' name_text' , key = card .ability .the_blind , set = ' Blind' }}}
1010
+ end ,
1011
+ use2 = function (self , card , area , copier )
1012
+ bonus_selection (card .ability .the_blind , {blind_mult = 3 })
1013
+ end
1014
+ }
1015
+
1016
+ --- Rare (5)
992
1017
993
1018
SMODS .Bonus {
994
1019
key = ' luck' ,
@@ -1104,6 +1129,63 @@ SMODS.Bonus {
1104
1129
end
1105
1130
}
1106
1131
1132
+ SMODS .Bonus {
1133
+ key = ' celestial' ,
1134
+ loc_txt = {
1135
+ name = " Celestial Blind" ,
1136
+ text = {
1137
+ " Play {C:attention}#1#{} to upgrade" ,
1138
+ " your {C:attention}most played hand{} by" ,
1139
+ " {C:attention}#3#{} levels" ,
1140
+ " {s:0.8,C:inactive}(Most Played Hand: {s:0.8,C:attention}#2#{s:0.8,C:inactive})"
1141
+ }
1142
+ },
1143
+ atlas = " another" ,
1144
+ pos = {x = 7 , y = 2 },
1145
+ rarity = ' Rare' ,
1146
+ cost = 5 ,
1147
+ set_ability = function (self , card , initial , delay_sprites )
1148
+ card .ability .the_blind = ' bl_arm'
1149
+ card .ability .reward = {planet_levels = {hand = ((G and G .GAME and G .GAME .current_round and G .GAME .current_round .most_played_poker_hand ) or localize (' ph_most_played' )), amount = 4 }}
1150
+ end ,
1151
+ loc_vars = function (self , info_queue , card )
1152
+ info_queue [# info_queue + 1 ] = {key = ' blind_arm' , set = ' Other' }
1153
+ return {vars = {localize {type = ' name_text' , key = card .ability .the_blind , set = ' Blind' }, localize (G .GAME .current_round .most_played_poker_hand , ' poker_hands' ), 4 }}
1154
+ end ,
1155
+ use2 = function (self , card , area , copier )
1156
+ bonus_selection (card .ability .the_blind , card .ability .reward )
1157
+ end
1158
+ }
1159
+
1160
+ SMODS .Bonus {
1161
+ key = ' autumn' ,
1162
+ loc_txt = {
1163
+ name = " Autumn Blind" ,
1164
+ text = {
1165
+ " Defeat {C:green}#1#{} to get" ,
1166
+ " an {C:attention}#2#{} and {C:attention}#3#{}" ,
1167
+ }
1168
+ },
1169
+ atlas = " another" ,
1170
+ pos = {x = 8 , y = 2 },
1171
+ rarity = ' Rare' ,
1172
+ cost = 5 ,
1173
+ set_ability = function (self , card , initial , delay_sprites )
1174
+ card .ability .the_blind = ' bl_final_leaf'
1175
+ card .ability .reward = {tags = {' tag_bb_poly_negative' , ' tag_rare' }}
1176
+ end ,
1177
+ loc_vars = function (self , info_queue , card )
1178
+ info_queue [# info_queue + 1 ] = {key = ' blind_verdant' , set = ' Other' }
1179
+ info_queue [# info_queue + 1 ] = {key = ' tag_poly_negative' , set = ' Other' }
1180
+ info_queue [# info_queue + 1 ] = {key = ' antichrome_3' , set = ' Other' }
1181
+ info_queue [# info_queue + 1 ] = {key = ' tag_rare' , set = ' Tag' }
1182
+ return {vars = {localize {type = ' name_text' , key = card .ability .the_blind , set = ' Blind' }, localize {type = ' name_text' , key = card .ability .reward .tags [1 ], set = ' Tag' }, localize {type = ' name_text' , key = card .ability .reward .tags [2 ], set = ' Tag' }}}
1183
+ end ,
1184
+ use2 = function (self , card , area , copier )
1185
+ bonus_selection (card .ability .the_blind , card .ability .reward )
1186
+ end
1187
+ }
1188
+
1107
1189
--- Legendary (3)
1108
1190
1109
1191
SMODS .Bonus {
@@ -1332,6 +1414,47 @@ SMODS.Tag {
1332
1414
end
1333
1415
}
1334
1416
1417
+ SMODS .Tag {
1418
+ key = ' poly_negative' ,
1419
+ atlas = ' bonus_tags' ,
1420
+ loc_txt = {
1421
+ name = " Antichrome Tag" ,
1422
+ text = {
1423
+ " Next base edition shop" ,
1424
+ " Joker is free and" ,
1425
+ " becomes {C:dark_edition}Antichrome"
1426
+ }
1427
+ },
1428
+ name = " Antichrome Tag" ,
1429
+ pos = {x = 3 , y = 0 },
1430
+ apply = function (tag , context )
1431
+ local _applied = nil
1432
+ if not context .card .edition and not context .card .temp_edition and context .card .ability .set == ' Joker' then
1433
+ local lock = tag .ID
1434
+ G .CONTROLLER .locks [lock ] = true
1435
+ context .card .temp_edition = true
1436
+ tag :yep (' +' , G .C .DARK_EDITION ,function ()
1437
+ context .card .temp_edition = nil
1438
+ context .card :set_edition ({bb_antichrome = true }, true )
1439
+ context .card .ability .couponed = true
1440
+ context .card :set_cost ()
1441
+ G .CONTROLLER .locks [lock ] = nil
1442
+ return true
1443
+ end )
1444
+ _applied = true
1445
+ end
1446
+ return _applied
1447
+ end ,
1448
+ in_pool = function (self )
1449
+ return false
1450
+ end ,
1451
+ loc_vars = function (self , info_queue , tag )
1452
+ info_queue [# info_queue + 1 ] = {key = ' antichrome_3' , set = ' Other' }
1453
+ return {}
1454
+ end ,
1455
+ config = {type = ' store_joker_modify' }
1456
+ }
1457
+
1335
1458
SMODS .Voucher {
1336
1459
key = ' bonus1' ,
1337
1460
loc_txt = {
@@ -1531,6 +1654,42 @@ SMODS.Back {
1531
1654
end
1532
1655
}
1533
1656
1657
+ SMODS .Shader {
1658
+ key = ' antichrome' ,
1659
+ path = ' antichrome.fs'
1660
+ }
1661
+
1662
+ SMODS .Edition {
1663
+ key = ' antichrome' ,
1664
+ shader = ' antichrome' ,
1665
+ loc_txt = {
1666
+ name = " Antichrome" ,
1667
+ label = " Antichrome" ,
1668
+ text = {
1669
+ " {C:attention}+2{} Joker Slots" ,
1670
+ " for {C:attention}3{} rounds" ,
1671
+ " {X:mult,C:white} X2 {} Mult"
1672
+ }
1673
+ },
1674
+ extra_cost = 8 ,
1675
+ config = {
1676
+ x_mult = 2 ,
1677
+ card_limit = 2 ,
1678
+ antichrome_rounds = 3 ,
1679
+ }
1680
+ }
1681
+
1682
+ function Card :calculate_antichrome ()
1683
+ if self .edition and self .edition .bb_antichrome and self .edition .antichrome_rounds > 0 then
1684
+ self .edition .antichrome_rounds = self .edition .antichrome_rounds - 1
1685
+ if (self .edition .antichrome_rounds == 0 ) and self .added_to_deck then
1686
+ G .jokers .config .card_limit = G .jokers .config .card_limit - 2
1687
+ self .edition .card_limit = 0
1688
+ end
1689
+ card_eval_status_text (self , ' extra' , nil , nil , nil , {message = localize {type = ' variable' ,key = ' a_remaining' ,vars = {self .edition .antichrome_rounds }},colour = G .C .FILTER , delay = 0.45 })
1690
+ end
1691
+ end
1692
+
1534
1693
---- - Blinds ---
1535
1694
1536
1695
SMODS .Atlas ({ key = " blinds" , atlas_table = " ANIMATION_ATLAS" , path = " blinds.png" , px = 34 , py = 34 , frames = 21 })
@@ -1638,6 +1797,29 @@ SMODS.Blind {
1638
1797
end ,
1639
1798
}
1640
1799
1800
+ SMODS .Blind {
1801
+ loc_txt = {
1802
+ name = ' The Infinity' ,
1803
+ text = { ' +1 hand when' , ' hand played' }
1804
+ },
1805
+ key = ' infinity' ,
1806
+ name = ' The Infinity' ,
1807
+ config = {},
1808
+ boss = {min = 1 , max = 10 , bonus = true },
1809
+ boss_colour = HEX (" C7D14D" ),
1810
+ atlas = " blinds" ,
1811
+ pos = { x = 0 , y = 2 },
1812
+ vars = {},
1813
+ dollars = 5 ,
1814
+ mult = 2 ,
1815
+ in_pool = function (self )
1816
+ return false
1817
+ end ,
1818
+ press_play = function (self )
1819
+ ease_hands_played (1 )
1820
+ end
1821
+ }
1822
+
1641
1823
SMODS .Atlas ({ key = " cool_shop" , atlas_table = " ANIMATION_ATLAS" , path = " cool_shop.png" , px = 113 , py = 57 , frames = 4 })
1642
1824
1643
1825
---- ------------
@@ -1978,6 +2160,21 @@ function bonus_reward(bonusData)
1978
2160
if bonusData .dollars then
1979
2161
ease_dollars (bonusData .dollars )
1980
2162
end
2163
+ if bonusData .planet_levels then
2164
+ update_hand_text ({delay = 0 }, {
2165
+ mult = G .GAME .hands [bonusData .planet_levels .hand ].mult ,
2166
+ chips = G .GAME .hands [bonusData .planet_levels .hand ].chips ,
2167
+ level = G .GAME .hands [bonusData .planet_levels .hand ].level ,
2168
+ handname = bonusData .planet_levels .hand
2169
+ })
2170
+ level_up_hand (nil , bonusData .planet_levels .hand , nil , bonusData .planet_levels .amount )
2171
+ update_hand_text ({delay = 0 }, {
2172
+ mult = 0 ,
2173
+ chips = 0 ,
2174
+ level = ' ' ,
2175
+ handname = ' ' ,
2176
+ })
2177
+ end
1981
2178
end
1982
2179
1983
2180
function bonus_end_of_round (bonusData )
@@ -2074,7 +2271,7 @@ function SMODS.current_mod.process_loc_text()
2074
2271
G .localization .descriptions .Other [" blind_ox" ].text = localize {type = ' raw_descriptions' , key = ' bl_ox' , set = ' Blind' , vars = {localize (' ph_most_played' )}}
2075
2272
G .localization .descriptions .Other [" blind_window" ] = {}
2076
2273
G .localization .descriptions .Other [" blind_window" ].name = localize {type = ' name_text' , key = ' bl_window' , set = ' Blind' }
2077
- G .localization .descriptions .Other [" blind_window" ].text = localize {type = ' raw_descriptions' , key = ' bl_window' , set = ' Blind' , vars = {localize ( ' ph_most_played ' ) }}
2274
+ G .localization .descriptions .Other [" blind_window" ].text = localize {type = ' raw_descriptions' , key = ' bl_window' , set = ' Blind' , vars = {}}
2078
2275
G .localization .descriptions .Other [" t_nope" ] = {}
2079
2276
G .localization .descriptions .Other [" t_nope" ].name = " Zero Tag"
2080
2277
G .localization .descriptions .Other [" t_nope" ].text = { " Convert the next" , " selected {C:attention}Tag{} into" , " a {C:attention}Null Tag{}" }
@@ -2083,7 +2280,35 @@ function SMODS.current_mod.process_loc_text()
2083
2280
G .localization .descriptions .Other [" t_null" ].text = { " {C:inactive}Does nothing?" }
2084
2281
G .localization .descriptions .Other [" blind_tooth" ] = {}
2085
2282
G .localization .descriptions .Other [" blind_tooth" ].name = localize {type = ' name_text' , key = ' bl_tooth' , set = ' Blind' }
2086
- G .localization .descriptions .Other [" blind_tooth" ].text = localize {type = ' raw_descriptions' , key = ' bl_tooth' , set = ' Blind' , vars = {localize (' ph_most_played' )}}
2283
+ G .localization .descriptions .Other [" blind_tooth" ].text = localize {type = ' raw_descriptions' , key = ' bl_tooth' , set = ' Blind' , vars = {}}
2284
+ G .localization .descriptions .Other [" blind_infinity" ] = {}
2285
+ G .localization .descriptions .Other [" blind_infinity" ].text = { ' +1 hand when' , ' hand played' }
2286
+ G .localization .descriptions .Other [" blind_infinity" ].name = " The Infinity"
2287
+ G .localization .descriptions .Other [" blind_arm" ] = {}
2288
+ G .localization .descriptions .Other [" blind_arm" ].name = localize {type = ' name_text' , key = ' bl_arm' , set = ' Blind' }
2289
+ G .localization .descriptions .Other [" blind_arm" ].text = localize {type = ' raw_descriptions' , key = ' bl_arm' , set = ' Blind' , vars = {}}
2290
+ G .localization .descriptions .Other [" antichrome_3" ] = {}
2291
+ G .localization .descriptions .Other [" antichrome_3" ].text = { " {C:attention}+2{} Joker Slots" , " for {C:attention}3{} rounds" , " {X:mult,C:white} X2 {} Mult" }
2292
+ G .localization .descriptions .Other [" antichrome_3" ].name = " Antichrome"
2293
+ G .localization .descriptions .Other [" antichrome_2" ] = {}
2294
+ G .localization .descriptions .Other [" antichrome_2" ].text = { " {C:attention}+2{} Joker Slots" , " for {C:attention}2{} rounds" , " {X:mult,C:white} X2 {} Mult" }
2295
+ G .localization .descriptions .Other [" antichrome_2" ].name = " Antichrome"
2296
+ G .localization .descriptions .Other [" antichrome_1" ] = {}
2297
+ G .localization .descriptions .Other [" antichrome_1" ].text = { " {C:attention}+2{} Joker Slots" , " for {C:attention}1{} round" , " {X:mult,C:white} X2 {} Mult" }
2298
+ G .localization .descriptions .Other [" antichrome_1" ].name = " Antichrome"
2299
+ G .localization .descriptions .Other [" antichrome_0" ] = {}
2300
+ G .localization .descriptions .Other [" antichrome_0" ].text = { " {X:mult,C:white} X2 {} Mult" }
2301
+ G .localization .descriptions .Other [" antichrome_0" ].name = " Antichrome"
2302
+ G .localization .descriptions .Other [" blind_verdant" ] = {}
2303
+ G .localization .descriptions .Other [" blind_verdant" ].name = localize {type = ' name_text' , key = ' bl_final_leaf' , set = ' Blind' }
2304
+ G .localization .descriptions .Other [" blind_verdant" ].text = localize {type = ' raw_descriptions' , key = ' bl_final_leaf' , set = ' Blind' , vars = {}}
2305
+ G .localization .descriptions .Other [" tag_poly_negative" ] = {}
2306
+ G .localization .descriptions .Other [" tag_poly_negative" ].name = " Antichrome Tag"
2307
+ G .localization .descriptions .Other [" tag_poly_negative" ].text = { " Next base edition shop" , " Joker is free and" , " becomes {C:dark_edition}Antichrome" }
2308
+ G .localization .misc .labels [" loc_antichrome_3" ] = " Antichrome"
2309
+ G .localization .misc .labels [" loc_antichrome_2" ] = " Antichrome"
2310
+ G .localization .misc .labels [" loc_antichrome_1" ] = " Antichrome"
2311
+ G .localization .misc .labels [" loc_antichrome_0" ] = " Antichrome"
2087
2312
-- G.localization.descriptions.Other["ed_negative_consumable"] = {}
2088
2313
-- G.localization.descriptions.Other["ed_negative_consumable"].name = localize{type ='name_text', key = 'e_negative_consumable', set = 'Edition'}
2089
2314
-- G.localization.descriptions.Other["ed_negative_consumable"].text = localize{type = 'raw_descriptions', key = 'e_negative_consumable', set = 'Edition', vars = {1}}
@@ -2446,4 +2671,4 @@ G.FUNCS.super_can_reroll = function(e)
2446
2671
end
2447
2672
2448
2673
---- ------------------------------------------
2449
- ---- --------MOD CODE END----------------------
2674
+ ---- --------MOD CODE END----------------------
0 commit comments