How pmdcollab/pmdc works
PMDC is a RogueEssence game extension providing monster data, dungeon combat and AI, procedural floor generation, and developer-facing data editors. The principal workflow spans spawn configuration, floor generation and monster spawning, then tactical decision-making and battle effects during dungeon play. The README only documents running the game and server; it does not describe gameplay features, so major branches here are based on the supplied source index and excerpts. Links are limited to relationships evidenced in those materials; unsampled subsystems are represented without speculative call chains.
Main entry points: MobSpawnExtra.cs Spawn configuration · DevHelper.cs Developer utilities · Program.cs Game runtime · AIPlan.cs Tactical AI
Components 25
Monster data
- Monster forms
PMDC/Data/MonsterFormData.cs - Monster features
PMDC/Data/MonsterFeatureData.cs - Evolution rules
PMDC/Data/PromoteBranch.cs - Spawn rarity
PMDC/Data/RarityData.cs
Dungeon generation
- Spawn configuration
PMDC/LevelGen/Spawning/MobSpawn/MobSpawnExtra.cs - Spawn checks
PMDC/LevelGen/Spawning/MobSpawn/MobSpawnCheck.cs - Floor generation
PMDC/LevelGen/Floors/GenSteps - Room generation
PMDC/LevelGen/Floors/GenSteps/Rooms - Floor features
PMDC/LevelGen/Floors/GenSteps - Zone configuration
PMDC/LevelGen/Zones/ZoneSteps - Team spawners
PMDC/LevelGen/Spawning
Dungeon gameplay
- Game runtime
PMDC/Program.cs - Tactical AI
PMDC/Dungeon/AI/AIPlan.cs - Behavior plans
PMDC/Dungeon/AI - Battle effects
PMDC/Dungeon/GameEffects/BattleEvent/BattleEvent.cs - Status effects
PMDC/Dungeon/GameEffects/BattleEvent/StatusBattleEvent.cs - Battle context
PMDC/Dungeon/GameEffects/ContextState.cs - Character events
PMDC/Dungeon/GameEffects/SingleCharEvent.cs - Status state
PMDC/Dungeon/GameEffects/StatusState.cs
Developer tools
- Developer utilities
PMDC/Dev/DevHelper.cs - Spawn editor model
PMDC/Dev/ViewModels/TeamMemberSpawn/TeamMemberSpawnModel.cs - Spawn editor view
PMDC/Dev/Views/UserControls/TeamMemberSpawnView.axaml.cs - Strategy guide
PMDC/Dev/StrategyGuide.cs - Data editors
PMDC/Dev/Editors
Other components
- Game player
Connections 29
- Game player → Game runtime: starts
PMDC/Program.cs - Game runtime → Developer utilities: runs indexing
PMDC/Program.cs - Developer utilities → Evolution rules: reads
PMDC/Dev/DevHelper.cs - Developer utilities → Spawn configuration: scans
PMDC/Dev/DevHelper.cs - Developer utilities → Zone configuration: scans
PMDC/Dev/DevHelper.cs - Spawn configuration → Monster forms: uses form data
PMDC/LevelGen/Spawning/MobSpawn/MobSpawnExtra.cs - Spawn configuration → Spawn rarity: uses rarity
PMDC/LevelGen/Spawning/MobSpawn/MobSpawnExtra.cs - Spawn configuration → Monster features: uses features
PMDC/LevelGen/Spawning/MobSpawn/MobSpawnExtra.cs - Spawn configuration → Evolution rules: uses branches
PMDC/LevelGen/Spawning/MobSpawn/MobSpawnExtra.cs - Spawn configuration → Battle effects: configures events
PMDC/LevelGen/Spawning/MobSpawn/MobSpawnExtra.cs - Spawn configuration → Spawn checks: checks eligibility
- Floor generation → Room generation: uses room steps
- Floor generation → Floor features: configures tiles
- Zone configuration → Floor generation: configures floors
- Team spawners → Spawn configuration: uses spawn rules
PMDC/LevelGen/Spawning/MultiTeamSpawner/BossBandContextSpawner.cs - Game runtime → Tactical AI: runs dungeon AI
- Tactical AI → Behavior plans: uses plans
- Tactical AI → Battle effects: references effects
PMDC/Dungeon/AI/AIPlan.cs - Tactical AI → Status effects: references status events
PMDC/Dungeon/AI/AIPlan.cs - Battle effects → Status effects: specializes
PMDC/Dungeon/GameEffects/BattleEvent/BattleEvent.cs - Battle effects → Battle context: uses context
PMDC/Dungeon/GameEffects/BattleEvent/BattleEvent.cs - Status effects → Status state: reads status
PMDC/Dungeon/GameEffects/BattleEvent/StatusBattleEvent.cs - Status effects → Character events: applies to characters
PMDC/Dungeon/GameEffects/BattleEvent/StatusBattleEvent.cs - Spawn editor view → Spawn editor model: edits model
PMDC/Dev/Views/UserControls/TeamMemberSpawnView.axaml.cs - Spawn editor model → Monster forms: loads forms
PMDC/Dev/ViewModels/TeamMemberSpawn/TeamMemberSpawnModel.cs - Spawn editor model → Spawn configuration: edits spawn data
PMDC/Dev/ViewModels/TeamMemberSpawn/TeamMemberSpawnModel.cs - Game runtime → Data editors: registers editors
PMDC/Program.cs - Strategy guide → Developer utilities: uses utilities
PMDC/Dev/StrategyGuide.cs - Strategy guide → Monster forms: reads forms
PMDC/Dev/StrategyGuide.cs