Compare commits
3 commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 57344e1f00 | |||
| 13257d91b3 | |||
| e1e0ce0661 |
4 changed files with 45 additions and 24 deletions
|
|
@ -14,7 +14,7 @@ return {
|
|||
j_Roland_escapey = {
|
||||
name = "Escapey",
|
||||
text = {
|
||||
"Destroy {C:attention}tags{} and {C:attention}non-selected",
|
||||
"Destroy {C:attention}tags{} or {C:attention}non-selected",
|
||||
"{C:attention}consumables{} on use. Level up",
|
||||
"the {C:planet}most played hand{} by {C:planet}#1#{}",
|
||||
"for each destroyed object",
|
||||
|
|
@ -23,7 +23,7 @@ return {
|
|||
"#3#{C:inactive,s:0.75,E:1}#4#{C:red,s:1.5,E:1}#5#",
|
||||
"#6#{C:blue,E:1}#7#{}#8#{C:inactive,s:0.75,E:1}#9#{C:red,s:1.5,E:1}#10#",
|
||||
},
|
||||
merge = {"Since no objects apply, merge", "with other ", " jokers"},
|
||||
merge = {"Since no objects apply, fuse", "with other ", " jokers"},
|
||||
quotes = {
|
||||
marble = {{"there is no escape..."}},
|
||||
normal = {
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
"author": [
|
||||
"Emik"
|
||||
],
|
||||
"version": "1.4.2",
|
||||
"version": "1.4.5",
|
||||
"badge_colour": "8BE9FD",
|
||||
"main_file": "src/main.lua",
|
||||
"badge_text_colour": "44475A",
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 5954713389e218b093dafd6121828de978af1dc2
|
||||
Subproject commit 4f3eae046476664b720a96f91b0e04f388709bbb
|
||||
|
|
@ -87,6 +87,7 @@ SMODS.Joker {
|
|||
G.escapey_debugger(F.reduce(context, "", function(acc, _, next) return acc .. ", " .. next end, pairs):sub(2))
|
||||
end
|
||||
end,
|
||||
---@param card Card
|
||||
Bakery_can_use = function(_, card)
|
||||
return not card.debuff and can_use() and (
|
||||
#G.GAME.tags ~= 0 or
|
||||
|
|
@ -94,27 +95,40 @@ SMODS.Joker {
|
|||
F.any(F.filter(G.jokers.cards, is_mergeable_with(card)))
|
||||
)
|
||||
end,
|
||||
---@param card Card
|
||||
Bakery_use_button_text = function(_, card)
|
||||
return card.debuff and "DEBUFFED" or
|
||||
((#G.GAME.tags == 0 and not
|
||||
F.any(G.consumeables.cards, destructible) and
|
||||
F.any(F.filter(G.jokers.cards, is_mergeable_with(card)))) and "MERGE" or "ESCAPE")
|
||||
if card.debuff then
|
||||
return "DEBUFFED"
|
||||
end
|
||||
|
||||
return #G.GAME.tags == 0 and F.count(G.consumeables.cards, destructible) == 0 and
|
||||
F.any(F.filter(G.jokers.cards, is_mergeable_with(card))) and "FUSE" or "ESCAPE"
|
||||
end,
|
||||
---@param card Card
|
||||
Bakery_use_joker = function(_, card)
|
||||
local hand, object_count = common_hand(), F.count(F.filter(G.consumeables.cards, destructible)) + #G.GAME.tags
|
||||
if card.debuff then
|
||||
return
|
||||
end
|
||||
|
||||
local consumables = F.filter(G.consumeables.cards, destructible)
|
||||
local consumable_count = F.count(consumables)
|
||||
local object_count = consumable_count + #G.GAME.tags
|
||||
|
||||
if object_count == 0 then
|
||||
local sum = 0
|
||||
local level_sum, sell_sum = 0, 0
|
||||
|
||||
F.foreach(
|
||||
F.filter(G.jokers.cards, is_mergeable_with(card)),
|
||||
function(v)
|
||||
sum = sum + v.ability.extra.level_up_by * (v.getEvalQty and v:getEvalQty() or 1)
|
||||
level_sum = level_sum + v.ability.extra.level_up_by * (v.getEvalQty and v:getEvalQty() or 1)
|
||||
sell_sum = sell_sum + v.sell_cost * (v.getEvalQty and v:getEvalQty() or 1)
|
||||
v:start_dissolve({HEX("57ecab")}, nil, 1.6)
|
||||
end
|
||||
)
|
||||
|
||||
card.ability.extra.level_up_by = card.ability.extra.level_up_by + sum
|
||||
card.ability.extra.level_up_by = card.ability.extra.level_up_by + level_sum
|
||||
card.sell_cost = card.sell_cost + sell_sum
|
||||
return
|
||||
end
|
||||
|
||||
local function update(name, chip, mul, lv, notif, snd, vol, pit, de)
|
||||
|
|
@ -151,6 +165,8 @@ SMODS.Joker {
|
|||
end
|
||||
end
|
||||
|
||||
local hand = common_hand()
|
||||
|
||||
if hand == "all" or hand == "allhands" or hand == "all_hands" then
|
||||
update(localize("k_all_hands"), "...", "...", "")
|
||||
elseif G.GAME.hands[hand or "NO_HAND_SPECIFIED"] then
|
||||
|
|
@ -162,19 +178,24 @@ SMODS.Joker {
|
|||
)
|
||||
end
|
||||
|
||||
F.foreach(
|
||||
F.filter(G.consumeables.cards, destructible),
|
||||
function(v)
|
||||
v:start_dissolve({HEX("57ecab")}, nil, 1.6)
|
||||
end
|
||||
)
|
||||
if consumable_count == 0 then
|
||||
local trigger = #G.GAME.tags >= 30 and "immediate" or "before"
|
||||
local delay = #G.GAME.tags >= 30 and 0 or 1 / #G.GAME.tags
|
||||
|
||||
F.foreach(
|
||||
G.GAME.tags,
|
||||
function(v)
|
||||
G.E_MANAGER:add_event(Event({trigger = "immediate", func = fast_delete(v)}))
|
||||
end
|
||||
)
|
||||
F.foreach(
|
||||
G.GAME.tags,
|
||||
function(v)
|
||||
G.E_MANAGER:add_event(Event {trigger = trigger, blocking = #G.GAME.tags < 30, delay = delay, func = fast_delete(v)})
|
||||
end
|
||||
)
|
||||
else
|
||||
F.foreach(
|
||||
consumables,
|
||||
function(v)
|
||||
v:start_dissolve({HEX("57ecab")}, nil, 1.6)
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
level_up_hand(card, hand, nil, object_count * card.ability.extra.level_up_by)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue