1
Fork 0
mirror of https://github.com/Steffo99/patched-porobot.git synced 2024-12-22 17:44:22 +00:00

Add support for The Darkin Saga keywords

This commit is contained in:
Steffo 2022-09-03 19:50:46 +02:00
parent 6af7304f9a
commit 7ecc0242a3
Signed by: steffo
GPG key ID: 6965406171929D01

View file

@ -213,9 +213,10 @@ pub enum CardKeyword {
/// > Each round, the first time an allied card targets me, grant me +1|+1. /// > Each round, the first time an allied card targets me, grant me +1|+1.
Fated, Fated,
#[serde(alias = "BlocksElusive")]
/// ??? /// ???
/// ///
/// > Can block Elusives. /// > Can block Elusive units.
BlockElusive, BlockElusive,
/// Fury. /// Fury.
@ -240,7 +241,7 @@ pub enum CardKeyword {
/// Evolve. /// Evolve.
/// ///
/// > I have +2|+2 once you've given or summoned allies with 6+ other positive keywords this game. /// > I have +2|+2 once you've had Units with 6+ other positive keywords this game.
Evolve, Evolve,
/// Frostbite. /// Frostbite.
@ -331,6 +332,16 @@ pub enum CardKeyword {
/// Deep. /// Deep.
Deep, Deep,
/// Flow.
///
/// > A card activates its Flow on Round Start if you played 2+ spells or skills last round.
Flow,
/// Equipment.
///
/// > Equip to a unit to grant the listed bonuses. If the unit leaves play, the equipment will return to your hand. You may play each equipment at most once per round.
Equipment,
/// Unsupported card keyword. /// Unsupported card keyword.
#[serde(other)] #[serde(other)]
Unsupported, Unsupported,
@ -366,194 +377,77 @@ mod tests {
}; };
} }
test_deserialization!( test_deserialization!(deserialize_spelloverwhelm, r#""SpellOverwhelm""#, CardKeyword::SpellOverwhelm);
deserialize_spelloverwhelm,
r#""SpellOverwhelm""#,
CardKeyword::SpellOverwhelm
);
test_deserialization!(deserialize_burst, r#""Burst""#, CardKeyword::Burst); test_deserialization!(deserialize_burst, r#""Burst""#, CardKeyword::Burst);
test_deserialization!( test_deserialization!(deserialize_countdown, r#""Countdown""#, CardKeyword::Countdown);
deserialize_countdown, test_deserialization!(deserialize_onplay, r#""PlaySkillMark""#, CardKeyword::OnPlay);
r#""Countdown""#, test_deserialization!(deserialize_landmark, r#""LandmarkVisualOnly""#, CardKeyword::Landmark);
CardKeyword::Countdown
);
test_deserialization!(
deserialize_onplay,
r#""PlaySkillMark""#,
CardKeyword::OnPlay
);
test_deserialization!(
deserialize_landmark,
r#""LandmarkVisualOnly""#,
CardKeyword::Landmark
);
test_deserialization!(deserialize_shurima, r#""Shurima""#, CardKeyword::Shurima); test_deserialization!(deserialize_shurima, r#""Shurima""#, CardKeyword::Shurima);
test_deserialization!(deserialize_attach, r#""Attach""#, CardKeyword::Attach); test_deserialization!(deserialize_attach, r#""Attach""#, CardKeyword::Attach);
test_deserialization!(deserialize_noxus, r#""Noxus""#, CardKeyword::Noxus); test_deserialization!(deserialize_noxus, r#""Noxus""#, CardKeyword::Noxus);
test_deserialization!(deserialize_fleeting, r#""Fleeting""#, CardKeyword::Fleeting); test_deserialization!(deserialize_fleeting, r#""Fleeting""#, CardKeyword::Fleeting);
test_deserialization!( test_deserialization!(deserialize_clobbernoemptyslotrequirement, r#""ClobberNoEmptySlotRequirement""#, CardKeyword::ClobberNoEmptySlotRequirement);
deserialize_clobbernoemptyslotrequirement,
r#""ClobberNoEmptySlotRequirement""#,
CardKeyword::ClobberNoEmptySlotRequirement
);
test_deserialization!(deserialize_nab, r#""Nab""#, CardKeyword::Nab); test_deserialization!(deserialize_nab, r#""Nab""#, CardKeyword::Nab);
test_deserialization!(deserialize_focus, r#""Focus""#, CardKeyword::Focus); test_deserialization!(deserialize_focus, r#""Focus""#, CardKeyword::Focus);
test_deserialization!( test_deserialization!(deserialize_enlightened, r#""Enlightened""#, CardKeyword::Enlightened);
deserialize_enlightened,
r#""Enlightened""#,
CardKeyword::Enlightened
);
test_deserialization!(deserialize_invoke, r#""Invoke""#, CardKeyword::Invoke); test_deserialization!(deserialize_invoke, r#""Invoke""#, CardKeyword::Invoke);
test_deserialization!(deserialize_boon, r#""Boon""#, CardKeyword::Boon); test_deserialization!(deserialize_boon, r#""Boon""#, CardKeyword::Boon);
test_deserialization!(deserialize_trap, r#""Autoplay""#, CardKeyword::Trap); test_deserialization!(deserialize_trap, r#""Autoplay""#, CardKeyword::Trap);
test_deserialization!(deserialize_drain, r#""Drain""#, CardKeyword::Drain); test_deserialization!(deserialize_drain, r#""Drain""#, CardKeyword::Drain);
test_deserialization!( test_deserialization!(deserialize_lastbreath, r#""LastBreath""#, CardKeyword::LastBreath);
deserialize_lastbreath,
r#""LastBreath""#,
CardKeyword::LastBreath
);
test_deserialization!(deserialize_demacia, r#""Demacia""#, CardKeyword::Demacia); test_deserialization!(deserialize_demacia, r#""Demacia""#, CardKeyword::Demacia);
test_deserialization!( test_deserialization!(deserialize_bandlecity, r#""BandleCity""#, CardKeyword::BandleCity);
deserialize_bandlecity,
r#""BandleCity""#,
CardKeyword::BandleCity
);
test_deserialization!(deserialize_fast, r#""Fast""#, CardKeyword::Fast); test_deserialization!(deserialize_fast, r#""Fast""#, CardKeyword::Fast);
test_deserialization!( test_deserialization!(deserialize_bilgewater, r#""Bilgewater""#, CardKeyword::Bilgewater);
deserialize_bilgewater, test_deserialization!(deserialize_runeterra, r#""Runeterra""#, CardKeyword::Runeterra);
r#""Bilgewater""#,
CardKeyword::Bilgewater
);
test_deserialization!(
deserialize_runeterra,
r#""Runeterra""#,
CardKeyword::Runeterra
);
test_deserialization!(deserialize_recall, r#""Recall""#, CardKeyword::Recall); test_deserialization!(deserialize_recall, r#""Recall""#, CardKeyword::Recall);
test_deserialization!(deserialize_weakest, r#""Weakest""#, CardKeyword::Weakest); test_deserialization!(deserialize_weakest, r#""Weakest""#, CardKeyword::Weakest);
test_deserialization!(deserialize_support, r#""Support""#, CardKeyword::Support); test_deserialization!(deserialize_support, r#""Support""#, CardKeyword::Support);
test_deserialization!(deserialize_slow, r#""Slow""#, CardKeyword::Slow); test_deserialization!(deserialize_slow, r#""Slow""#, CardKeyword::Slow);
test_deserialization!( test_deserialization!(deserialize_obliterate, r#""Obliterate""#, CardKeyword::Obliterate);
deserialize_obliterate,
r#""Obliterate""#,
CardKeyword::Obliterate
);
test_deserialization!(deserialize_imbue, r#""Imbue""#, CardKeyword::Imbue); test_deserialization!(deserialize_imbue, r#""Imbue""#, CardKeyword::Imbue);
test_deserialization!(deserialize_targon, r#""MtTargon""#, CardKeyword::Targon); test_deserialization!(deserialize_targon, r#""MtTargon""#, CardKeyword::Targon);
test_deserialization!( test_deserialization!(deserialize_shadowisles, r#""ShadowIsles""#, CardKeyword::ShadowIsles);
deserialize_shadowisles, test_deserialization!(deserialize_auravisualfakekeyword, r#""AuraVisualFakeKeyword""#, CardKeyword::AuraVisualFakeKeyword);
r#""ShadowIsles""#,
CardKeyword::ShadowIsles
);
test_deserialization!(
deserialize_auravisualfakekeyword,
r#""AuraVisualFakeKeyword""#,
CardKeyword::AuraVisualFakeKeyword
);
test_deserialization!(deserialize_ionia, r#""Ionia""#, CardKeyword::Ionia); test_deserialization!(deserialize_ionia, r#""Ionia""#, CardKeyword::Ionia);
test_deserialization!( test_deserialization!(deserialize_nightfall, r#""Nightfall""#, CardKeyword::Nightfall);
deserialize_nightfall, test_deserialization!(deserialize_piltoverzaun, r#""PiltoverZaun""#, CardKeyword::PiltoverZaun);
r#""Nightfall""#,
CardKeyword::Nightfall
);
test_deserialization!(
deserialize_piltoverzaun,
r#""PiltoverZaun""#,
CardKeyword::PiltoverZaun
);
test_deserialization!(deserialize_attune, r#""Attune""#, CardKeyword::Attune); test_deserialization!(deserialize_attune, r#""Attune""#, CardKeyword::Attune);
test_deserialization!(deserialize_daybreak, r#""Daybreak""#, CardKeyword::Daybreak); test_deserialization!(deserialize_daybreak, r#""Daybreak""#, CardKeyword::Daybreak);
test_deserialization!( test_deserialization!(deserialize_silenceindividualkeyword, r#""SilenceIndividualKeyword""#, CardKeyword::SilenceIndividualKeyword);
deserialize_silenceindividualkeyword,
r#""SilenceIndividualKeyword""#,
CardKeyword::SilenceIndividualKeyword
);
test_deserialization!(deserialize_skill, r#""Skill""#, CardKeyword::Skill); test_deserialization!(deserialize_skill, r#""Skill""#, CardKeyword::Skill);
test_deserialization!(deserialize_plunder, r#""Plunder""#, CardKeyword::Plunder); test_deserialization!(deserialize_plunder, r#""Plunder""#, CardKeyword::Plunder);
test_deserialization!( test_deserialization!(deserialize_doubleattack, r#""DoubleAttack""#, CardKeyword::DoubleAttack);
deserialize_doubleattack, test_deserialization!(deserialize_vulnerable, r#""Vulnerable""#, CardKeyword::Vulnerable);
r#""DoubleAttack""#,
CardKeyword::DoubleAttack
);
test_deserialization!(
deserialize_vulnerable,
r#""Vulnerable""#,
CardKeyword::Vulnerable
);
test_deserialization!(deserialize_elusive, r#""Elusive""#, CardKeyword::Elusive); test_deserialization!(deserialize_elusive, r#""Elusive""#, CardKeyword::Elusive);
test_deserialization!(deserialize_stun, r#""Stun""#, CardKeyword::Stun); test_deserialization!(deserialize_stun, r#""Stun""#, CardKeyword::Stun);
test_deserialization!(deserialize_fated, r#""Fated""#, CardKeyword::Fated); test_deserialization!(deserialize_fated, r#""Fated""#, CardKeyword::Fated);
test_deserialization!( test_deserialization!(deserialize_blockelusive, r#""BlockElusive""#, CardKeyword::BlockElusive);
deserialize_blockelusive, test_deserialization!(deserialize_blockelusive2, r#""BlocksElusive""#, CardKeyword::BlockElusive);
r#""BlockElusive""#,
CardKeyword::BlockElusive
);
test_deserialization!(deserialize_fury, r#""Fury""#, CardKeyword::Fury); test_deserialization!(deserialize_fury, r#""Fury""#, CardKeyword::Fury);
test_deserialization!(deserialize_barrier, r#""Barrier""#, CardKeyword::Barrier); test_deserialization!(deserialize_barrier, r#""Barrier""#, CardKeyword::Barrier);
test_deserialization!(deserialize_immobile, r#""Immobile""#, CardKeyword::Immobile); test_deserialization!(deserialize_immobile, r#""Immobile""#, CardKeyword::Immobile);
test_deserialization!(deserialize_hallowed, r#""Hallowed""#, CardKeyword::Hallowed); test_deserialization!(deserialize_hallowed, r#""Hallowed""#, CardKeyword::Hallowed);
test_deserialization!(deserialize_evolve, r#""Evolve""#, CardKeyword::Evolve); test_deserialization!(deserialize_evolve, r#""Evolve""#, CardKeyword::Evolve);
test_deserialization!( test_deserialization!(deserialize_frostbite, r#""Frostbite""#, CardKeyword::Frostbite);
deserialize_frostbite, test_deserialization!(deserialize_overwhelm, r#""Overwhelm""#, CardKeyword::Overwhelm);
r#""Frostbite""#, test_deserialization!(deserialize_quickattack, r#""QuickStrike""#, CardKeyword::QuickAttack);
CardKeyword::Frostbite
);
test_deserialization!(
deserialize_overwhelm,
r#""Overwhelm""#,
CardKeyword::Overwhelm
);
test_deserialization!(
deserialize_quickattack,
r#""QuickStrike""#,
CardKeyword::QuickAttack
);
test_deserialization!(deserialize_tough, r#""Tough""#, CardKeyword::Tough); test_deserialization!(deserialize_tough, r#""Tough""#, CardKeyword::Tough);
test_deserialization!( test_deserialization!(deserialize_regeneration, r#""Regeneration""#, CardKeyword::Regeneration);
deserialize_regeneration,
r#""Regeneration""#,
CardKeyword::Regeneration
);
test_deserialization!(deserialize_silenced, r#""Silenced""#, CardKeyword::Silenced); test_deserialization!(deserialize_silenced, r#""Silenced""#, CardKeyword::Silenced);
test_deserialization!( test_deserialization!(deserialize_spellshield, r#""SpellShield""#, CardKeyword::SpellShield);
deserialize_spellshield, test_deserialization!(deserialize_lifesteal, r#""Lifesteal""#, CardKeyword::Lifesteal);
r#""SpellShield""#,
CardKeyword::SpellShield
);
test_deserialization!(
deserialize_lifesteal,
r#""Lifesteal""#,
CardKeyword::Lifesteal
);
test_deserialization!(deserialize_augment, r#""Augment""#, CardKeyword::Augment); test_deserialization!(deserialize_augment, r#""Augment""#, CardKeyword::Augment);
test_deserialization!(deserialize_impact, r#""Impact""#, CardKeyword::Impact); test_deserialization!(deserialize_impact, r#""Impact""#, CardKeyword::Impact);
test_deserialization!(deserialize_scout, r#""Scout""#, CardKeyword::Scout); test_deserialization!(deserialize_scout, r#""Scout""#, CardKeyword::Scout);
test_deserialization!( test_deserialization!(deserialize_ephemeral, r#""Ephemeral""#, CardKeyword::Ephemeral);
deserialize_ephemeral,
r#""Ephemeral""#,
CardKeyword::Ephemeral
);
test_deserialization!(deserialize_lurk, r#""Lurker""#, CardKeyword::Lurk); test_deserialization!(deserialize_lurk, r#""Lurker""#, CardKeyword::Lurk);
test_deserialization!( test_deserialization!(deserialize_formidable, r#""Formidable""#, CardKeyword::Formidable);
deserialize_formidable, test_deserialization!(deserialize_challenger, r#""Challenger""#, CardKeyword::Challenger);
r#""Formidable""#,
CardKeyword::Formidable
);
test_deserialization!(
deserialize_challenger,
r#""Challenger""#,
CardKeyword::Challenger
);
test_deserialization!(deserialize_fearsome, r#""Fearsome""#, CardKeyword::Fearsome); test_deserialization!(deserialize_fearsome, r#""Fearsome""#, CardKeyword::Fearsome);
test_deserialization!( test_deserialization!(deserialize_cantblock, r#""CantBlock""#, CardKeyword::CantBlock);
deserialize_cantblock,
r#""CantBlock""#,
CardKeyword::CantBlock
);
test_deserialization!(deserialize_deep, r#""Deep""#, CardKeyword::Deep); test_deserialization!(deserialize_deep, r#""Deep""#, CardKeyword::Deep);
test_deserialization!( test_deserialization!(deserialize_flow, r#""Flow""#, CardKeyword::Flow);
deserialize_unsupported, test_deserialization!(deserialize_equipment, r#""Equipment""#, CardKeyword::Equipment);
r#""Xyzzy""#, test_deserialization!(deserialize_unsupported, r#""Xyzzy""#, CardKeyword::Unsupported);
CardKeyword::Unsupported
);
} }