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:
parent
6af7304f9a
commit
7ecc0242a3
1 changed files with 46 additions and 152 deletions
|
@ -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
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue