Improve localization and Venerable Visage
This commit is contained in:
parent
892c502c61
commit
51b094d198
6 changed files with 90 additions and 61 deletions
|
|
@ -7,4 +7,5 @@ return {
|
||||||
import_funky = false,
|
import_funky = false,
|
||||||
no_wild_debuff = true,
|
no_wild_debuff = true,
|
||||||
scribable_basket = false,
|
scribable_basket = false,
|
||||||
|
vitriol = true,
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ return {
|
||||||
text = {
|
text = {
|
||||||
"{C:attention}Small{} and {C:attention}Big Blinds{} are",
|
"{C:attention}Small{} and {C:attention}Big Blinds{} are",
|
||||||
"replaced with {C:attention}Boss Blinds",
|
"replaced with {C:attention}Boss Blinds",
|
||||||
"that are {C:dark_edition}debuffed #1# times",
|
"that are {C:dark_edition}debuffed twice",
|
||||||
"",
|
"",
|
||||||
"{C:Bakery_credit_fg_Roland_bakersdozenbagels,s:0.75}Art: BakersDozenBagels",
|
"{C:Bakery_credit_fg_Roland_bakersdozenbagels,s:0.75}Art: BakersDozenBagels",
|
||||||
},
|
},
|
||||||
|
|
@ -59,39 +59,47 @@ return {
|
||||||
Blind = {
|
Blind = {
|
||||||
bl_Roland_blizzard = {
|
bl_Roland_blizzard = {
|
||||||
name = "The Blizzard",
|
name = "The Blizzard",
|
||||||
text = {"All cards", "are Frozen"},
|
text = {"All cards", "are {C:dark_edition}Frozen"},
|
||||||
},
|
},
|
||||||
bl_Roland_divide = {
|
bl_Roland_divide = {
|
||||||
name = "The Great Divide",
|
name = "The Great Divide",
|
||||||
text = {"Half of the deck", "is discarded"},
|
text = {"Half of the deck", "is {C:red}discarded"},
|
||||||
},
|
},
|
||||||
bl_Roland_equinox = {
|
bl_Roland_equinox = {
|
||||||
name = "The Equinox",
|
name = "The Equinox",
|
||||||
text = {"No UI"},
|
text = {"{C:inactive}No UI"},
|
||||||
},
|
},
|
||||||
bl_Roland_falseshuffle = {
|
bl_Roland_falseshuffle = {
|
||||||
name = "The False Shuffle",
|
name = "The False Shuffle",
|
||||||
text = {"Enhanced cards", "are drawn last"},
|
text = {"{C:enhanced}Enhanced {}cards", "are drawn {C:attention}last"},
|
||||||
},
|
},
|
||||||
bl_Roland_improbable = {
|
bl_Roland_improbable = {
|
||||||
name = "The Improbable",
|
name = "The Improbable",
|
||||||
text = {"All probabilities", "cannot happen"},
|
text = {"All {C:green}probabilities", "cannot happen"},
|
||||||
},
|
},
|
||||||
bl_Roland_mitotic = {
|
bl_Roland_mitotic = {
|
||||||
name = "The Mitotic",
|
name = "The Mitotic",
|
||||||
text = {"Discarded cards", "are copied"},
|
text = {"{C:red}Discarded {}cards", "are {C:attention}copied"},
|
||||||
},
|
},
|
||||||
bl_Roland_nimble = {
|
bl_Roland_nimble = {
|
||||||
name = "The Nimble",
|
name = "The Nimble",
|
||||||
text = {"The first 5 cards", "drawn are played"},
|
text = {"The {C:attention}first 5 {}cards", "drawn are {C:blue}played"},
|
||||||
},
|
},
|
||||||
bl_Roland_tranquilizer = {
|
bl_Roland_tranquilizer = {
|
||||||
name = "The Tranquilizer",
|
name = "The Tranquilizer",
|
||||||
text = {"#1#s are debuffed", "Changes based on", "most common rank"},
|
text = {
|
||||||
|
"{C:attention}#1#s {}are {C:red}debuffed",
|
||||||
|
"Changes based on",
|
||||||
|
"most common rank",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
bl_Roland_venerable_visage = {
|
bl_Roland_venerable_visage = {
|
||||||
name = "Venerable Visage",
|
name = "Venerable Visage",
|
||||||
text = {"Infinite discards", "Lose if any card was", "not played or discarded"},
|
text = {
|
||||||
|
"Infinite {C:red}discards",
|
||||||
|
"Lose if {C:attention}any {}card was",
|
||||||
|
"not {C:blue}played {}or {C:red}discarded",
|
||||||
|
},
|
||||||
fail = {
|
fail = {
|
||||||
"Blasphemy.",
|
"Blasphemy.",
|
||||||
"Blunder.",
|
"Blunder.",
|
||||||
|
|
@ -330,7 +338,7 @@ return {
|
||||||
text = {
|
text = {
|
||||||
"Sell this Joker to",
|
"Sell this Joker to",
|
||||||
"{C:attention}draw{} the bottom",
|
"{C:attention}draw{} the bottom",
|
||||||
"card of the {C:hand}deck",
|
"card of the deck",
|
||||||
"{C:inactive}(Currently {V:1}#1#{C:inactive}#2#{V:2}#3#{C:inactive})",
|
"{C:inactive}(Currently {V:1}#1#{C:inactive}#2#{V:2}#3#{C:inactive})",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
@ -396,7 +404,7 @@ return {
|
||||||
text = {
|
text = {
|
||||||
"{C:attention}Small{} and {C:attention}Big Blinds{} are",
|
"{C:attention}Small{} and {C:attention}Big Blinds{} are",
|
||||||
"replaced with {C:attention}Boss Blinds",
|
"replaced with {C:attention}Boss Blinds",
|
||||||
"that are {C:dark_edition}debuffed #1# times",
|
"that are {C:dark_edition}debuffed twice",
|
||||||
"",
|
"",
|
||||||
"{C:Bakery_credit_fg_Roland_bakersdozenbagels,s:0.75}Art: BakersDozenBagels",
|
"{C:Bakery_credit_fg_Roland_bakersdozenbagels,s:0.75}Art: BakersDozenBagels",
|
||||||
},
|
},
|
||||||
|
|
@ -404,9 +412,8 @@ return {
|
||||||
sleeve_Roland_blossom_alt = {
|
sleeve_Roland_blossom_alt = {
|
||||||
name = "Efflorescent Sleeve",
|
name = "Efflorescent Sleeve",
|
||||||
text = {
|
text = {
|
||||||
"{C:attention}Blinds{} are {C:dark_edition}debuffed",
|
"{C:dark_edition}Debuff {X:dark_edition,C:white}#1#X<ante>{C:dark_edition} times",
|
||||||
"{C:dark_edition}({X:dark_edition,C:white}(ante * #2#){C:dark_edition}) times",
|
"{C:inactive}(Instead of twice)",
|
||||||
"{C:inactive}(Instead of #1#)",
|
|
||||||
"",
|
"",
|
||||||
"{C:Bakery_credit_fg_Roland_bakersdozenbagels,s:0.75}Art: BakersDozenBagels",
|
"{C:Bakery_credit_fg_Roland_bakersdozenbagels,s:0.75}Art: BakersDozenBagels",
|
||||||
},
|
},
|
||||||
|
|
@ -423,8 +430,7 @@ return {
|
||||||
sleeve_Roland_swapper_alt = {
|
sleeve_Roland_swapper_alt = {
|
||||||
name = "Sleeve Swapper",
|
name = "Sleeve Swapper",
|
||||||
text = {
|
text = {
|
||||||
"{C:attention}All {}consumable",
|
"Swap {C:attention}all {}consumables",
|
||||||
"types swap places",
|
|
||||||
"",
|
"",
|
||||||
"{C:Bakery_credit_fg_Roland_bakersdozenbagels,s:0.75}Art: BakersDozenBagels",
|
"{C:Bakery_credit_fg_Roland_bakersdozenbagels,s:0.75}Art: BakersDozenBagels",
|
||||||
},
|
},
|
||||||
|
|
@ -436,7 +442,7 @@ return {
|
||||||
text = {
|
text = {
|
||||||
"Add random seals",
|
"Add random seals",
|
||||||
"to {C:attention}#1#{} random",
|
"to {C:attention}#1#{} random",
|
||||||
"cards in {C:hands}hand",
|
"cards in hand",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
c_Roland_primal = {
|
c_Roland_primal = {
|
||||||
|
|
@ -452,7 +458,7 @@ return {
|
||||||
text = {
|
text = {
|
||||||
"Add a {C:dark_edition}Glass Seal",
|
"Add a {C:dark_edition}Glass Seal",
|
||||||
"to {C:attention}#1#{} selected",
|
"to {C:attention}#1#{} selected",
|
||||||
"cards in {C:hands}hand",
|
"cards in hand",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
c_Roland_void = {
|
c_Roland_void = {
|
||||||
|
|
@ -519,12 +525,13 @@ return {
|
||||||
b_Roland_harsh_ante_scaling = "Harsh ante scaling (Ante 40+)",
|
b_Roland_harsh_ante_scaling = "Harsh ante scaling (Ante 40+)",
|
||||||
b_Roland_illusion_seal = "Allow seals from Illusion voucher",
|
b_Roland_illusion_seal = "Allow seals from Illusion voucher",
|
||||||
b_Roland_import_funky = "Debug: Import funky.lua",
|
b_Roland_import_funky = "Debug: Import funky.lua",
|
||||||
b_Roland_most_common_card = "(Rank)",
|
b_Roland_most_common_card = "Rank",
|
||||||
b_Roland_no_wild_debuff = "No wild card debuffs",
|
b_Roland_no_wild_debuff = "No wild card debuffs",
|
||||||
b_Roland_na = "N/A",
|
b_Roland_na = "N/A",
|
||||||
b_Roland_of = " of ",
|
b_Roland_of = " of ",
|
||||||
b_Roland_toggle = "TOGGLE",
|
b_Roland_toggle = "TOGGLE",
|
||||||
b_Roland_unassigned = "(Unassigned)",
|
b_Roland_unassigned = "(Unassigned)",
|
||||||
|
b_Roland_vitriol = "Vitriol (Venerable Visage)",
|
||||||
},
|
},
|
||||||
labels = {
|
labels = {
|
||||||
Roland_frozen = "Frozen",
|
Roland_frozen = "Frozen",
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
"id": "Roland",
|
"id": "Roland",
|
||||||
"name": "Roland",
|
"name": "Roland",
|
||||||
"prefix": "Roland",
|
"prefix": "Roland",
|
||||||
"version": "2.9.4",
|
"version": "2.9.5",
|
||||||
"badge_colour": "8BE9FD",
|
"badge_colour": "8BE9FD",
|
||||||
"display_name": "Roland",
|
"display_name": "Roland",
|
||||||
"main_file": "src/main.lua",
|
"main_file": "src/main.lua",
|
||||||
|
|
|
||||||
|
|
@ -74,7 +74,7 @@ back {
|
||||||
config = {extra = {alt_times = 4, times = 2}},
|
config = {extra = {alt_times = 4, times = 2}},
|
||||||
attributes = {"boss_blind"},
|
attributes = {"boss_blind"},
|
||||||
loc_vars = function(self, _, _)
|
loc_vars = function(self, _, _)
|
||||||
return {vars = {self.config.extra.times, self.config.extra.alt_times}}
|
return {vars = {self.config.extra.alt_times}}
|
||||||
end,
|
end,
|
||||||
apply = function(_, _)
|
apply = function(_, _)
|
||||||
G.GAME.modifiers.Roland_blossom_deck = true
|
G.GAME.modifiers.Roland_blossom_deck = true
|
||||||
|
|
@ -94,12 +94,13 @@ back {
|
||||||
G.GAME.round_resets.ante * self.config.extra.alt_times or
|
G.GAME.round_resets.ante * self.config.extra.alt_times or
|
||||||
self.config.extra.times
|
self.config.extra.times
|
||||||
|
|
||||||
f(count):each(function()
|
f(count):each(function(i)
|
||||||
G.GAME.blind:disable()
|
local _ = i == 1 and G.GAME.blind:disable()
|
||||||
|
|
||||||
q {
|
q {
|
||||||
delay = 0.4,
|
delay = 0.4,
|
||||||
func = function()
|
func = function()
|
||||||
|
local _ = i ~= 1 and G.GAME.blind:disable()
|
||||||
SMODS.calculate_effect({message = localize "ph_boss_disabled"}, card)
|
SMODS.calculate_effect({message = localize "ph_boss_disabled"}, card)
|
||||||
G.GAME.blind:wiggle()
|
G.GAME.blind:wiggle()
|
||||||
play_sound "timpani"
|
play_sound "timpani"
|
||||||
|
|
|
||||||
|
|
@ -460,15 +460,31 @@ local venerable_visage = blind {
|
||||||
}
|
}
|
||||||
end,
|
end,
|
||||||
vitriol = function(b)
|
vitriol = function(b)
|
||||||
|
local vitriol = SMODS.Mods.Roland.config.vitriol
|
||||||
|
local resize_to_w, resize_to_h = 320, 200
|
||||||
|
local is_fullscreen = _G["love"].window.getFullscreen()
|
||||||
|
|
||||||
|
if vitriol then
|
||||||
|
_G["love"].window.setFullscreen(false)
|
||||||
|
delay(1.5)
|
||||||
|
end
|
||||||
|
|
||||||
|
local function jitter()
|
||||||
|
local x, y = _G["love"].window.getDesktopDimensions()
|
||||||
|
|
||||||
|
return pseudorandom(pseudoseed "RolandVenerableVisageX", 0, x) - x / 2,
|
||||||
|
pseudorandom(pseudoseed "RolandVenerableVisageY", 0, y) - y / 2
|
||||||
|
end
|
||||||
|
|
||||||
if type(b) == "table" and type(b.wiggle) == "function" then
|
if type(b) == "table" and type(b.wiggle) == "function" then
|
||||||
b:wiggle()
|
b:wiggle()
|
||||||
end
|
end
|
||||||
|
|
||||||
local fail = G.localization.descriptions.Blind.bl_Roland_venerable_visage.fail
|
f(G.playing_cards):each(function(v, k)
|
||||||
local speed = 0.1
|
return v.area ~= G.hand and draw_card(v.area, G.hand, k * 100 / #G.playing_cards, "up", true, v)
|
||||||
|
end)
|
||||||
|
|
||||||
SMODS.draw_cards(#G.deck.cards)
|
local fail = G.localization.descriptions.Blind.bl_Roland_venerable_visage.fail
|
||||||
play_sound("gong", 0.6)
|
|
||||||
|
|
||||||
attention_text {
|
attention_text {
|
||||||
text = pseudorandom_element(fail, pseudoseed "RolandVenerableVisage"),
|
text = pseudorandom_element(fail, pseudoseed "RolandVenerableVisage"),
|
||||||
|
|
@ -478,46 +494,49 @@ local venerable_visage = blind {
|
||||||
hold = 2,
|
hold = 2,
|
||||||
}
|
}
|
||||||
|
|
||||||
delay(1)
|
f {0.15, 0.3, 0.45, 0.6}:each(function(v)
|
||||||
|
play_sound("gong", v)
|
||||||
|
end)
|
||||||
|
|
||||||
f(G.playing_cards):each(function(v)
|
local len = #G.playing_cards
|
||||||
|
local w, h, flags = _G["love"].window.getMode()
|
||||||
|
|
||||||
|
if vitriol then
|
||||||
|
_G["love"].window.setMode(resize_to_w, resize_to_h)
|
||||||
|
_G["love"].resize(resize_to_w, resize_to_h)
|
||||||
|
end
|
||||||
|
|
||||||
|
local x, y = _G["love"].window.getPosition()
|
||||||
|
|
||||||
|
f(G.playing_cards):each(function(v, i)
|
||||||
q {
|
q {
|
||||||
trigger = "before",
|
trigger = "before",
|
||||||
delay = speed,
|
delay = 6 / len,
|
||||||
func = function()
|
func = function()
|
||||||
|
if vitriol then
|
||||||
|
local x_random, y_random = jitter()
|
||||||
|
_G["love"].window.setPosition(x + x_random * i / len, y + y_random * i / len)
|
||||||
|
end
|
||||||
|
|
||||||
v:start_dissolve()
|
v:start_dissolve()
|
||||||
v:shatter()
|
v:shatter()
|
||||||
|
b:wiggle()
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
end)
|
end)
|
||||||
|
|
||||||
delay(1)
|
local _ = vitriol and q {
|
||||||
|
trigger = "before",
|
||||||
|
delay = 1.5,
|
||||||
|
func = function()
|
||||||
|
_G["love"].window.setPosition(x, y)
|
||||||
|
_G["love"].window.setMode(w, h, flags)
|
||||||
|
_G["love"].resize(w, h)
|
||||||
|
_G["love"].window.setFullscreen(is_fullscreen)
|
||||||
|
end,
|
||||||
|
}
|
||||||
|
|
||||||
f(G.P_CARDS):each(function(v)
|
delay(1.5)
|
||||||
q {
|
|
||||||
delay = speed,
|
|
||||||
func = function()
|
|
||||||
G.playing_card = (G.playing_card and G.playing_card + 1) or 1
|
|
||||||
|
|
||||||
local card = Card(
|
|
||||||
b and b.T.x or 0,
|
|
||||||
b and b.T.y or 0,
|
|
||||||
G.CARD_W,
|
|
||||||
G.CARD_H,
|
|
||||||
v,
|
|
||||||
G.P_CENTERS.m_Bakery_Curse or G.P_CENTERS.c_base,
|
|
||||||
{playing_card = G.playing_card}
|
|
||||||
)
|
|
||||||
|
|
||||||
table.insert(G.playing_cards, card)
|
|
||||||
G.deck:emplace(card)
|
|
||||||
play_sound "card1"
|
|
||||||
card:add_to_deck()
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
end)
|
|
||||||
|
|
||||||
delay(1)
|
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -100,12 +100,13 @@ function SMODS.current_mod.config_tab()
|
||||||
nodes = {
|
nodes = {
|
||||||
toggle "animated_icon",
|
toggle "animated_icon",
|
||||||
toggle "faster_planets",
|
toggle "faster_planets",
|
||||||
_G["Talisman"] and toggle "harsh_ante_scaling",
|
-- toggle "illusion_seal",
|
||||||
toggle "illusion_seal",
|
-- toggle "no_wild_debuff",
|
||||||
SMODS.Mods.DebugPlus and toggle "import_funky",
|
toggle "vitriol",
|
||||||
toggle "no_wild_debuff",
|
|
||||||
toggle "equinox_assist",
|
toggle "equinox_assist",
|
||||||
|
SMODS.Mods.DebugPlus and toggle "import_funky",
|
||||||
G.P_CENTERS.c_Bakery_Scribe and toggle "scribable_basket",
|
G.P_CENTERS.c_Bakery_Scribe and toggle "scribable_basket",
|
||||||
|
_G["Talisman"] and toggle "harsh_ante_scaling",
|
||||||
},
|
},
|
||||||
}},
|
}},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue