61 lines
1.5 KiB
TOML
61 lines
1.5 KiB
TOML
[manifest]
|
|
version = "1.0.0"
|
|
dump_lua = true
|
|
priority = -5
|
|
|
|
### Poker Hand API
|
|
|
|
# evaluate_poker_hand()
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "functions/misc_functions.lua"
|
|
pattern = "local parts = {"
|
|
position = 'before'
|
|
payload = '''
|
|
for _,v in ipairs(SMODS.PokerHand.obj_buffer) do
|
|
results[v] = {}
|
|
end'''
|
|
match_indent = true
|
|
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "functions/misc_functions.lua"
|
|
pattern = "if next(parts._5) and next(parts._flush) then"
|
|
position = 'before'
|
|
payload = '''
|
|
for _,_hand in pairs(SMODS.PokerHands) do
|
|
if _hand.atomic_part and type(_hand.atomic_part) == 'function' then
|
|
parts[_hand.key] = _hand.atomic_part(hand)
|
|
end
|
|
end'''
|
|
match_indent = true
|
|
|
|
[[patches]]
|
|
[patches.pattern]
|
|
target = "functions/misc_functions.lua"
|
|
pattern = "return results"
|
|
position = 'before'
|
|
payload = '''
|
|
for _,_hand in pairs(SMODS.PokerHands) do
|
|
if _hand.composite and type(_hand.composite) == 'function' then
|
|
local other_hands
|
|
results[_hand.key], other_hands = _hand.composite(parts)
|
|
results[_hand.key] = results[_hand.key] or {}
|
|
if other_hands and type(other_hands) == 'table' then
|
|
for k, v in pairs(other_hands) do
|
|
results[k] = v
|
|
end
|
|
end
|
|
else
|
|
results[_hand.key] = parts[_hand.key]
|
|
end
|
|
end
|
|
results.top = nil
|
|
for _, v in ipairs(G.handlist) do
|
|
if not results.top and results[v] then
|
|
results.top = results[v]
|
|
break
|
|
end
|
|
end'''
|
|
match_indent = true
|