manabrew_engine/lib.rs
1// Engine functions mirror Java's method signatures, which are frequently 7+
2// args by design (gameState, sourceCard, sourceAbility, target, etc). Refactoring
3// each into a context struct would diverge from the Java reference, so we suppress
4// the clippy lint at the crate level.
5#![allow(clippy::too_many_arguments)]
6// Several types in the port intentionally mirror Java collections that nest
7// generics deeply. Replacing them with `type` aliases would obscure the parity.
8#![allow(clippy::type_complexity)]
9// Several modules use ordered list-style doc comments ("1.", "2.", "Plus") that
10// rustdoc renders correctly but trigger clippy's lazy-continuation lint.
11#![allow(clippy::doc_lazy_continuation)]
12// Many if/else chains mirror Java's verbose conditionals where multiple
13// branches deliberately reach the same outcome for separate logical predicates.
14// Collapsing them would obscure the parity with the source.
15#![allow(clippy::if_same_then_else)]
16// `match` blocks inside `if let` mirror Java's pattern of nested `if (x instanceof Y)` checks.
17#![allow(clippy::collapsible_match)]
18
19pub mod ability;
20pub mod action;
21pub mod agent;
22pub mod card;
23pub mod card_trait_base;
24pub mod combat;
25pub mod core;
26pub mod cost;
27pub mod event;
28pub mod game;
29pub mod game_log;
30pub mod game_log_entry;
31pub mod game_log_entry_type;
32pub mod game_log_formatter;
33pub mod game_loop;
34pub mod game_object;
35pub mod game_rng;
36pub mod game_runtime;
37pub mod game_snapshot;
38pub mod ids;
39pub mod keyword;
40pub mod lki;
41pub mod mana;
42pub mod mulligan;
43pub mod parsing;
44pub mod perf;
45pub mod phase;
46pub mod player;
47pub mod replacement;
48pub mod spellability;
49pub mod staticability;
50pub mod svar;
51pub mod trigger;
52pub mod util;
53pub mod zone;