mirror of
https://github.com/ershisan99/Fantoms-Preview.git
synced 2025-12-16 12:32:48 +00:00
changed size of button
This commit is contained in:
@@ -2,7 +2,8 @@
|
||||
--
|
||||
-- The heart of this library: it replicates the game's score evaluation.
|
||||
|
||||
function FN.SIM.run()
|
||||
if not FN.SIM.run then
|
||||
function FN.SIM.run()
|
||||
local null_ret = {score = {min=0, exact=0, max=0}, dollars = {min=0, exact=0, max=0}}
|
||||
if #G.hand.highlighted < 1 then return null_ret end
|
||||
|
||||
@@ -27,9 +28,9 @@ function FN.SIM.run()
|
||||
FN.SIM.manage_state("RESTORE")
|
||||
|
||||
return FN.SIM.get_results()
|
||||
end
|
||||
end
|
||||
|
||||
function FN.SIM.init()
|
||||
function FN.SIM.init()
|
||||
-- Reset:
|
||||
FN.SIM.running = {
|
||||
min = {chips = 0, mult = 0, dollars = 0},
|
||||
@@ -117,9 +118,9 @@ function FN.SIM.init()
|
||||
|
||||
return context
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function FN.SIM.get_card_data(card_obj)
|
||||
function FN.SIM.get_card_data(card_obj)
|
||||
return {
|
||||
rank = card_obj.base.id,
|
||||
suit = card_obj.base.suit,
|
||||
@@ -130,9 +131,9 @@ function FN.SIM.get_card_data(card_obj)
|
||||
debuff = card_obj.debuff,
|
||||
lucky_trigger = {}
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
function FN.SIM.get_results()
|
||||
function FN.SIM.get_results()
|
||||
local FNSR = FN.SIM.running
|
||||
|
||||
local min_score = math.floor(FNSR.min.chips * FNSR.min.mult)
|
||||
@@ -143,13 +144,13 @@ function FN.SIM.get_results()
|
||||
score = {min = min_score, exact = exact_score, max = max_score},
|
||||
dollars = {min = FNSR.min.dollars, exact = FNSR.exact.dollars, max = FNSR.max.dollars}
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
--
|
||||
-- GAME STATE MANAGEMENT:
|
||||
--
|
||||
--
|
||||
-- GAME STATE MANAGEMENT:
|
||||
--
|
||||
|
||||
function FN.SIM.manage_state(save_or_restore)
|
||||
function FN.SIM.manage_state(save_or_restore)
|
||||
local FNSO = FN.SIM.orig
|
||||
|
||||
if save_or_restore == "SAVE" then
|
||||
@@ -163,32 +164,32 @@ function FN.SIM.manage_state(save_or_restore)
|
||||
G.GAME.hands = FNSO.hand_data
|
||||
return
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function FN.SIM.update_state_variables()
|
||||
function FN.SIM.update_state_variables()
|
||||
-- Increment poker hand played this run/round:
|
||||
local hand_info = G.GAME.hands[FN.SIM.env.scoring_name]
|
||||
hand_info.played = hand_info.played + 1
|
||||
hand_info.played_this_round = hand_info.played_this_round + 1
|
||||
end
|
||||
end
|
||||
|
||||
--
|
||||
-- MACRO LEVEL:
|
||||
--
|
||||
--
|
||||
-- MACRO LEVEL:
|
||||
--
|
||||
|
||||
function FN.SIM.simulate_scoring_cards()
|
||||
function FN.SIM.simulate_scoring_cards()
|
||||
for _, scoring_card in ipairs(FN.SIM.env.scoring_cards) do
|
||||
FN.SIM.simulate_card_in_context(scoring_card, G.play)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function FN.SIM.simulate_held_cards()
|
||||
function FN.SIM.simulate_held_cards()
|
||||
for _, held_card in ipairs(FN.SIM.env.held_cards) do
|
||||
FN.SIM.simulate_card_in_context(held_card, G.hand)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function FN.SIM.simulate_joker_global_effects()
|
||||
function FN.SIM.simulate_joker_global_effects()
|
||||
for _, joker in ipairs(FN.SIM.env.jokers) do
|
||||
if joker.edition then -- Foil and Holo:
|
||||
if joker.edition.chips then FN.SIM.add_chips(joker.edition.chips) end
|
||||
@@ -204,9 +205,9 @@ function FN.SIM.simulate_joker_global_effects()
|
||||
if joker.edition.x_mult then FN.SIM.x_mult(joker.edition.x_mult) end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function FN.SIM.simulate_consumable_effects()
|
||||
function FN.SIM.simulate_consumable_effects()
|
||||
for _, consumable in ipairs(FN.SIM.env.consumables) do
|
||||
if consumable.ability.set == "Planet" and not consumable.debuff then
|
||||
if G.GAME.used_vouchers.v_observatory and consumable.ability.consumeable.hand_type == FN.SIM.env.scoring_name then
|
||||
@@ -214,21 +215,21 @@ function FN.SIM.simulate_consumable_effects()
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function FN.SIM.add_base_chips_and_mult()
|
||||
function FN.SIM.add_base_chips_and_mult()
|
||||
local played_hand_data = G.GAME.hands[FN.SIM.env.scoring_name]
|
||||
FN.SIM.add_chips(played_hand_data.chips)
|
||||
FN.SIM.add_mult(played_hand_data.mult)
|
||||
end
|
||||
end
|
||||
|
||||
function FN.SIM.simulate_joker_before_effects()
|
||||
function FN.SIM.simulate_joker_before_effects()
|
||||
for _, joker in ipairs(FN.SIM.env.jokers) do
|
||||
FN.SIM.simulate_joker(joker, FN.SIM.get_context(G.jokers, {before = true}))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function FN.SIM.simulate_blind_effects()
|
||||
function FN.SIM.simulate_blind_effects()
|
||||
if G.GAME.blind.disabled then return end
|
||||
|
||||
if G.GAME.blind.name == "The Flint" then
|
||||
@@ -245,9 +246,9 @@ function FN.SIM.simulate_blind_effects()
|
||||
else
|
||||
-- Other blinds do not impact scoring; refer to Blind:modify_hand(..)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function FN.SIM.simulate_deck_effects()
|
||||
function FN.SIM.simulate_deck_effects()
|
||||
if G.GAME.selected_back.name == 'Plasma Deck' then
|
||||
local function plasma(data)
|
||||
local sum = data.chips + data.mult
|
||||
@@ -262,9 +263,9 @@ function FN.SIM.simulate_deck_effects()
|
||||
else
|
||||
-- Other decks do not impact scoring; refer to Back:trigger_effect(..)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function FN.SIM.simulate_blind_debuffs()
|
||||
function FN.SIM.simulate_blind_debuffs()
|
||||
local blind_obj = G.GAME.blind
|
||||
if blind_obj.disabled then return false end
|
||||
|
||||
@@ -318,13 +319,13 @@ function FN.SIM.simulate_blind_debuffs()
|
||||
end
|
||||
|
||||
return blind_obj:debuff_hand(G.hand.highlighted, FN.SIM.env.poker_hands, FN.SIM.env.scoring_name, true)
|
||||
end
|
||||
end
|
||||
|
||||
--
|
||||
-- MICRO LEVEL (CARDS):
|
||||
--
|
||||
--
|
||||
-- MICRO LEVEL (CARDS):
|
||||
--
|
||||
|
||||
function FN.SIM.simulate_card_in_context(card, cardarea)
|
||||
function FN.SIM.simulate_card_in_context(card, cardarea)
|
||||
-- Reset and collect repetitions:
|
||||
FN.SIM.running.reps = 1
|
||||
if card.seal == "Red" then FN.SIM.add_reps(1) end
|
||||
@@ -335,9 +336,9 @@ function FN.SIM.simulate_card_in_context(card, cardarea)
|
||||
FN.SIM.simulate_card(card, FN.SIM.get_context(cardarea, {}))
|
||||
FN.SIM.simulate_all_jokers(cardarea, {other_card = card, individual = true})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function FN.SIM.simulate_card(card_data, context)
|
||||
function FN.SIM.simulate_card(card_data, context)
|
||||
-- Do nothing if debuffed:
|
||||
if card_data.debuff then return end
|
||||
|
||||
@@ -399,22 +400,24 @@ function FN.SIM.simulate_card(card_data, context)
|
||||
FN.SIM.x_mult(card_data.ability.h_x_mult)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--
|
||||
-- MICRO LEVEL (JOKERS):
|
||||
--
|
||||
--
|
||||
-- MICRO LEVEL (JOKERS):
|
||||
--
|
||||
|
||||
function FN.SIM.simulate_all_jokers(cardarea, context_args)
|
||||
function FN.SIM.simulate_all_jokers(cardarea, context_args)
|
||||
for _, joker in ipairs(FN.SIM.env.jokers) do
|
||||
FN.SIM.simulate_joker(joker, FN.SIM.get_context(cardarea, context_args))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function FN.SIM.simulate_joker(joker_obj, context)
|
||||
function FN.SIM.simulate_joker(joker_obj, context)
|
||||
-- Do nothing if debuffed:
|
||||
if joker_obj.debuff then return end
|
||||
|
||||
local joker_simulation_function = FN.SIM.JOKERS["simulate_" .. joker_obj.id]
|
||||
if joker_simulation_function then joker_simulation_function(joker_obj, context) end
|
||||
end
|
||||
|
||||
end
|
||||
@@ -7,7 +7,7 @@
|
||||
"prefix": "fn",
|
||||
"main_file": "CorePreview.lua",
|
||||
"priority": 0,
|
||||
"version": "2.1.0",
|
||||
"version": "2.2.0",
|
||||
"dependencies": [],
|
||||
"conflicts": []
|
||||
}
|
||||
|
||||
@@ -8,28 +8,13 @@ function create_UIBox_HUD()
|
||||
local contents = orig_hud()
|
||||
|
||||
|
||||
local score_node_wrap = {n=G.UIT.R, config={id = "fn_pre_score_wrap", align = "cm", padding = 0.05}, nodes={}}
|
||||
local score_node_wrap = {n=G.UIT.R, config={id = "fn_pre_score_wrap", align = "cm", padding = 0.1}, nodes={}}
|
||||
table.insert(score_node_wrap.nodes, FN.PRE.get_score_node())
|
||||
local calculate_score_button = {n = G.UIT.R,
|
||||
config = {
|
||||
align = "cm",
|
||||
padding = 0.01,
|
||||
},
|
||||
nodes = {
|
||||
UIBox_button({
|
||||
id = "calculate_score_button",
|
||||
label = {
|
||||
"Calculate Score"
|
||||
},
|
||||
colour = G.C.RED,
|
||||
button = "calculate_score_button",
|
||||
scale = 0.5,
|
||||
}),
|
||||
},
|
||||
}
|
||||
local calculate_score_button_wrap = {n=G.UIT.R, config={id = "fn_calculate_score_button_wrap", align = "cm", padding = 0.1}, nodes={}}
|
||||
table.insert(calculate_score_button_wrap.nodes, FN.PRE.get_calculate_score_button())
|
||||
|
||||
table.insert(contents.nodes[1].nodes[1].nodes[4].nodes[1].nodes, score_node_wrap)
|
||||
table.insert(contents.nodes[1].nodes[1].nodes[4].nodes[1].nodes, calculate_score_button)
|
||||
table.insert(contents.nodes[1].nodes[1].nodes[4].nodes[1].nodes, calculate_score_button_wrap)
|
||||
|
||||
--[[local dollars_node_wrap = {n=G.UIT.C, config={id = "fn_pre_dollars_wrap", align = "cm"}, nodes={}}
|
||||
if G.SETTINGS.FN.preview_dollars then table.insert(dollars_node_wrap.nodes, FN.PRE.get_dollars_node()) end
|
||||
@@ -42,6 +27,16 @@ function G.FUNCS.calculate_score_button()
|
||||
FN.PRE.start_new_coroutine()
|
||||
end
|
||||
|
||||
function FN.PRE.get_calculate_score_button()
|
||||
|
||||
return {n=G.UIT.C, config={id = "calculate_score_button", button = "calculate_score_button", align = "cm", minh = 0.42, padding = 0.05, r = 0.02, colour = G.C.RED, hover = true, shadow = true}, nodes={
|
||||
{n=G.UIT.R, config={align = "cm"}, nodes={
|
||||
{n=G.UIT.T, config={text = " Calculate Score ", colour = G.C.UI.TEXT_LIGHT, shadow = true, scale = 0.36}}
|
||||
}}
|
||||
}}
|
||||
end
|
||||
|
||||
|
||||
function FN.PRE.get_score_node()
|
||||
local text_scale = nil
|
||||
if true then text_scale = 0.5
|
||||
|
||||
@@ -805,26 +805,27 @@ FNSJ.simulate_seeing_double = function(joker_obj, context)
|
||||
-- Account for all 'real' suits:
|
||||
for _, card in ipairs(context.scoring_hand) do
|
||||
if card.ability.effect ~= "Wild Card" then
|
||||
if FN.SIM.is_suit(card, "Hearts") then inc_suit("Hearts") end
|
||||
if FN.SIM.is_suit(card, "Diamonds") then inc_suit("Diamonds") end
|
||||
if FN.SIM.is_suit(card, "Spades") then inc_suit("Spades") end
|
||||
if FN.SIM.is_suit(card, "Clubs") then inc_suit("Clubs") end
|
||||
if DV.SIM.is_suit(card, "Hearts") then inc_suit("Hearts") end
|
||||
if DV.SIM.is_suit(card, "Diamonds") then inc_suit("Diamonds") end
|
||||
if DV.SIM.is_suit(card, "Spades") then inc_suit("Spades") end
|
||||
if DV.SIM.is_suit(card, "Clubs") then inc_suit("Clubs") end
|
||||
end
|
||||
end
|
||||
|
||||
-- Let Wild Cards fill in the gaps:
|
||||
for _, card in ipairs(context.scoring_hand) do
|
||||
if card.ability.effect == "Wild Card" then
|
||||
if suit_count["Clubs"] == 0 then inc_suit("Clubs")
|
||||
elseif FN.SIM.is_suit(card, "Diamonds") and suit_count["Diamonds"] == 0 then inc_suit("Diamonds")
|
||||
elseif FN.SIM.is_suit(card, "Spades") and suit_count["Spades"] == 0 then inc_suit("Spades")
|
||||
elseif FN.SIM.is_suit(card, "Hearts") and suit_count["Hearts"] == 0 then inc_suit("Hearts")
|
||||
-- IMPORTANT: Clubs must come first here, because Clubs are required for xmult. This is in line with game's implementation.
|
||||
if DV.SIM.is_suit(card, "Clubs") and suit_count["Clubs"] == 0 then inc_suit("Clubs")
|
||||
elseif DV.SIM.is_suit(card, "Hearts") and suit_count["Hearts"] == 0 then inc_suit("Hearts")
|
||||
elseif DV.SIM.is_suit(card, "Diamonds") and suit_count["Diamonds"] == 0 then inc_suit("Diamonds")
|
||||
elseif DV.SIM.is_suit(card, "Spades") and suit_count["Spades"] == 0 then inc_suit("Spades")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if suit_count["Clubs"] > 0 and (suit_count["Hearts"] > 0 or suit_count["Diamonds"] > 0 or suit_count["Spades"] > 0) then
|
||||
FN.SIM.x_mult(joker_obj.ability.extra)
|
||||
DV.SIM.x_mult(joker_obj.ability.extra)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user