Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions functions/debufffunctions.lua
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ SMODS.current_mod.set_debuff = function(card)

-- prevent debuffs
if card.ability.name == "gholdengo" then return 'prevent_debuff' end
if card.ability.name == "nacli" then return 'prevent_debuff' end
if card.ability.name == "naclstack" then return 'prevent_debuff' end
if card.ability.name == "garganacl" then return 'prevent_debuff' end
if SMODS.has_enhancement(card, 'm_wild') and next(find_joker("tangrowth")) then return 'prevent_debuff' end
if card:get_id() == 10 and next(find_joker("tentacruel")) then return 'prevent_debuff' end

Expand Down
1 change: 1 addition & 0 deletions functions/pokefamily.lua
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,7 @@ local default_family_list = {
{ "yamper", "boltund" },
{ "tarountula", "spidops" },
{ "fidough", "dachsbun" },
{ "nacli", "naclstack", "garganacl" },
{ "charcadet", "armarouge", "ceruledge" },
{ "bramblin", "brambleghast" },
{ "tinkatink", "tinkatuff", "tinkaton" },
Expand Down
35 changes: 35 additions & 0 deletions localization/en-us.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5450,6 +5450,40 @@ return {
"{C:inactive}(Currently {C:chips}+#1#{C:inactive} Chips)",
}
},
j_poke_nacli = {
name = 'Nacli',
text = {
"When {C:attention}Blind{} is selected, {C:green}#3# in #4#{} chance to",
"destroy rightmost {C:attention}Joker{} and gain {X:red,C:white}X#1#{}",
"{C:inactive}(Guaranteed if target is {}{X:water,C:white}Water{}{C:inactive} or {}{X:metal,C:white}Metal{}{C:inactive}){}",
"{br:4}text needs to be here to work",
"This Joker can't be debuffed",
"{C:inactive}(Evolves at {X:red,C:white}X#2#{}{C:inactive} / {}{X:red,C:white}X2{}{C:inactive}){}"
}
},
j_poke_naclstack = {
name = 'Naclstack',
text = {
"When {C:attention}Blind{} is selected, {C:green}#3# in #4#{} chance to",
"destroy rightmost {C:attention}Joker{} and gain {X:red,C:white}X#1#{}",
"{C:inactive}({C:green}#3# in #5#{}{C:inactive} if target is {}{X:water,C:white}Water{}{C:inactive} or {}{X:metal,C:white}Metal{}{C:inactive}){}",
"{br:4}text needs to be here to work",
"This Joker can't be debuffed",
"{C:inactive}(Evolves at {X:red,C:white}X#2#{}{C:inactive} / {}{X:red,C:white}X4{}{C:inactive}){}"
}
},
j_poke_garganacl = {
name = 'Garganacl',
text = {
"When {C:attention}Blind{} is selected, {C:green}#3# in #4#{} chance",
"to destroy rightmost {C:attention}Joker{} and",
"mulitply this Joker's {X:red,C:white}X{} Mult by {X:red,C:white}X#1#{}",
"{C:inactive}({C:green}#3# in #5#{}{C:inactive} if target is {}{X:water,C:white}Water{}{C:inactive} or {}{X:metal,C:white}Metal{}{C:inactive}){}",
"{br:4}text needs to be here to work",
"This Joker can't be debuffed",
"{C:inactive}(Currently {}{X:red,C:white}X#2#{}{C:inactive} Mult){}"
}
},
j_poke_charcadet = {
name = "Charcadet",
text = {
Expand Down Expand Up @@ -7423,6 +7457,7 @@ return {
poke_sticky_web_ex = "Sticky Web!",
poke_head_smash_ex = "Head Smash!",
poke_teeter_dance_ex = "Teeter Dance!",
poke_saltcure_ex = "Salt Cure!",

poke_attack_forme = "Attack",
poke_defense_forme = "Defense",
Expand Down
160 changes: 159 additions & 1 deletion pokemon/pokejokers_32.lua
Original file line number Diff line number Diff line change
@@ -1,7 +1,165 @@
-- Squawkabilly 931
-- Nacli 932
local nacli = {
name = "nacli",
config = {extra = {Xmult_mod = 0.2, Xmult = 1, numerator = 1, denominator = 2}, evo_rqmt = 2},
loc_vars = function(self, info_queue, card)
type_tooltip(self, info_queue, card)
local numerator, denominator = SMODS.get_probability_vars(card, card.ability.extra.numerator, card.ability.extra.denominator, 'nacli')
return {vars = {card.ability.extra.Xmult_mod, card.ability.extra.Xmult, numerator, denominator}}
end,
designer = "Sonfive",
rarity = 3,
cost = 6,
stage = "Basic",
ptype = "Earth",
gen = 9,
blueprint_compat = true,

calculate = function(self, card, context)
if context.setting_blind and not context.blueprint then
local abbr = card.ability.extra
local odds
local rightmost = G.jokers.cards[#G.jokers.cards]

if rightmost ~= card and not rightmost.ability.eternal then
if is_type(rightmost, "Metal") or is_type(rightmost, "Water") then
odds = SMODS.pseudorandom_probability(card, 'nacli', abbr.numerator, (abbr.denominator / 2), 'nacli')
else
odds = SMODS.pseudorandom_probability(card, 'nacli', abbr.numerator, abbr.denominator, 'nacli')
end
if odds then
abbr.Xmult = abbr.Xmult + abbr.Xmult_mod
G.E_MANAGER:add_event(Event({
remove(self, rightmost, context)
}))
return{
message = localize('poke_saltcure_ex'), colour = HEX('A8F2FF')
}
end
end
end


if context.cardarea == G.jokers and context.scoring_hand then
if context.joker_main then
return {
message = localize{type = 'variable', key = 'a_xmult', vars = {card.ability.extra.Xmult}},
colour = G.C.XMULT,
Xmult_mod = card.ability.extra.Xmult
}
end
end
return scaling_evo(self, card, context, "j_poke_naclstack", card.ability.extra.Xmult, self.config.evo_rqmt)
end
}
-- Naclstack 933
local naclstack = {
name = "naclstack",
config = {extra = {Xmult = 2, Xmult_mod = 0.5, numerator = 1, denominator = 4}, evo_rqmt = 4},
loc_vars = function(self, info_queue, card)
type_tooltip(self, info_queue, card)
local numerator, denominator = SMODS.get_probability_vars(card, card.ability.extra.numerator, card.ability.extra.denominator, 'nacli')
return {vars = {card.ability.extra.Xmult_mod, card.ability.extra.Xmult, numerator, denominator, (denominator/2)}}
end,
designer = "Sonfive",
rarity = "poke_safari",
cost = 6,
stage = "One",
ptype = "Earth",
gen = 9,
blueprint_compat = true,

calculate = function(self, card, context)
if context.setting_blind and not context.blueprint then
local abbr = card.ability.extra
local odds
local rightmost = G.jokers.cards[#G.jokers.cards]

if rightmost ~= card and not rightmost.ability.eternal then
if is_type(rightmost, "Metal") or is_type(rightmost, "Water") then
odds = SMODS.pseudorandom_probability(card, 'naclstack', abbr.numerator, (abbr.denominator / 2), 'naclstack')
else
odds = SMODS.pseudorandom_probability(card, 'naclstack', abbr.numerator, abbr.denominator, 'naclstack')
end
if odds then
abbr.Xmult = abbr.Xmult + abbr.Xmult_mod
G.E_MANAGER:add_event(Event({
remove(self, rightmost, context)
}))
return{
message = localize('poke_saltcure_ex'), colour = HEX('A8F2FF')
}
end
end
end


if context.cardarea == G.jokers and context.scoring_hand then
if context.joker_main then
return {
message = localize{type = 'variable', key = 'a_xmult', vars = {card.ability.extra.Xmult}},
colour = G.C.XMULT,
Xmult_mod = card.ability.extra.Xmult
}
end
end
return scaling_evo(self, card, context, "j_poke_garganacl", card.ability.extra.Xmult, self.config.evo_rqmt)
end
}
-- Garganacl 934
local garganacl = {
name = "garganacl",
config = {extra = {Xmult_multi = 1.1, Xmult = 4, numerator = 1, denominator = 8}},
loc_vars = function(self, info_queue, card)
type_tooltip(self, info_queue, card)
local numerator, denominator = SMODS.get_probability_vars(card, card.ability.extra.numerator, card.ability.extra.denominator, 'nacli')
return {vars = {card.ability.extra.Xmult_multi, card.ability.extra.Xmult, numerator, denominator, (denominator/2)}}
end,
designer = "Sonfive",
rarity = "poke_safari",
cost = 8,
stage = "Two",
ptype = "Earth",
gen = 9,
blueprint_compat = true,

calculate = function(self, card, context)
local abbr = card.ability.extra
if context.setting_blind and not context.blueprint then
local abbr = card.ability.extra
local odds
local rightmost = G.jokers.cards[#G.jokers.cards]

if rightmost ~= card and not rightmost.ability.eternal then
if is_type(rightmost, "Metal") or is_type(rightmost, "Water") then
odds = SMODS.pseudorandom_probability(card, 'garganacl', abbr.numerator, (abbr.denominator / 2), 'garganacl')
else
odds = SMODS.pseudorandom_probability(card, 'garganacl', abbr.numerator, abbr.denominator, 'garganacl')
end
if odds then
abbr.Xmult = abbr.Xmult * abbr.Xmult_multi
G.E_MANAGER:add_event(Event({
remove(self, rightmost, context)
}))
return{
message = localize('poke_saltcure_ex'), colour = HEX('A8F2FF')
}
end
end
end

if context.cardarea == G.jokers and context.scoring_hand then
if context.joker_main then
return {
message = localize{type = 'variable', key = 'a_xmult', vars = {card.ability.extra.Xmult}},
colour = G.C.XMULT,
Xmult_mod = card.ability.extra.Xmult
}
end
end
end
}
-- Charcadet 935
local charcadet={
name = "charcadet",
Expand Down Expand Up @@ -484,5 +642,5 @@ local wiglett={
attributes = {"mult", "chips", "hand_type", "rank", "five", "six", "seven", "round_evo"},
}
return {name = "Pokemon Jokers 931-960",
list = {charcadet, armarouge, ceruledge, bramblin, brambleghast, tinkatink, tinkatuff, tinkaton, wiglett},
list = {nacli, naclstack, garganacl, charcadet, armarouge, ceruledge, bramblin, brambleghast, tinkatink, tinkatuff, tinkaton, wiglett},
}