1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
//! ChainOfCommandPlugin - Organizational hierarchy and command structure
//!
//! Provides dynamic organizational hierarchy management with rank-based authority,
//! promotion/demotion mechanics, and order compliance systems based on loyalty and morale.
//!
//! # Core Concepts
//!
//! - **Hierarchy Structure**: Tree-like organization with superior-subordinate relationships
//! - **Rank System**: Defined levels with authority and subordinate capacity
//! - **Promotion/Demotion**: Dynamic rank changes based on tenure, loyalty, and custom conditions
//! - **Order System**: Commands issued through chain-of-command with compliance checks
//! - **Loyalty & Morale**: Dynamic values affecting order compliance and organizational stability
//!
//! # Example
//!
//! ```ignore
//! use issun::plugin::chain_of_command::*;
//!
//! let mut ranks = RankDefinitions::new();
//! ranks.add(RankDefinition::new(
//! "private",
//! "Private",
//! 0,
//! AuthorityLevel::Private,
//! ));
//! ranks.add(RankDefinition::new(
//! "sergeant",
//! "Sergeant",
//! 1,
//! AuthorityLevel::SquadLeader,
//! ));
//!
//! let game = GameBuilder::new()
//! .add_plugin(
//! ChainOfCommandPlugin::new()
//! .with_ranks(ranks)
//! .with_config(ChainOfCommandConfig::default()
//! .with_min_tenure(10))
//! .register_faction("faction_a")
//! .register_faction("faction_b")
//! )
//! .build()
//! .await?;
//! ```
// Module declarations
// Phase 4 ✅
// Phase 4 ✅ (minimal for system)
// Phase 5 ✅
// Phase 3 ✅
// Phase 2 ✅
// Phase 4 ✅
// Public re-exports
pub use ChainOfCommandConfig;
pub use *;
pub use ;
pub use ChainOfCommandPlugin;
pub use ;
pub use HierarchyService;
pub use ;
pub use HierarchySystem;
pub use ;