Moose Dynamic Ground Battle is a sophisticated DCS World mission script that creates an engaging,
dynamic ground warfare system between Red and Blue coalitions. The script uses the MOOSE framework
to simulate realistic battlefield conditions with zone capture mechanics, intelligent AI movement,
and warehouse-based reinforcement systems.
Features
🎯 Zone Capture System
Multiple Zone States: Captured, Guarded, Empty, Attacked, and Neutral
Visual Indicators:
Red Captured by Red forces
Blue Captured by Blue forces
Orange Contested zone
Green Empty/Neutral zone
Real-time Updates: Zone status changes trigger messages and visual updates
🚁 Intelligent AI Behavior
Automated Spawning: Infantry and armor groups spawn at random locations within friendly zones
Smart Pathfinding: Units automatically calculate and move to the nearest enemy zone
Periodic Task Assignment: Every configurable interval, units receive new orders based on zone states
CTLD Integration: Troops dropped via CTLD will automatically join the battle
Stuck Unit Recovery: Units that become stuck can be reset to receive new patrol orders
🏭 Warehouse System
Dynamic Reinforcement Rate: Spawn frequency adjusts based on warehouse survival
If not using another script for command centers, create these units:
BLUEHQ - Blue coalition HQ unit
REDHQ - Red coalition HQ unit
Configuration
Basic Settings
-- Infantry Movement
MOVING_INFANTRY_PATROLS = false -- Set true to enable infantry movement
-- Warehouse Markers
ENABLE_WAREHOUSE_MARKERS = true
UPDATE_MARK_POINTS_SCHED = 60 -- Update interval in seconds
MAX_WAREHOUSE_UNIT_LIST_DISTANCE = 5000 -- Search radius in meters
-- Task Assignment
ASSIGN_TASKS_SCHED = 600 -- Reassign tasks every 600 seconds
Spawn Configuration
Red Forces:
INIT_RED_INFANTRY = 5 -- Initial infantry groups
MAX_RED_INFANTRY = 100 -- Maximum infantry groups
SPAWN_SCHED_RED_INFANTRY = 1800 -- Spawn interval (seconds)
INIT_RED_ARMOR = 25 -- Initial armor groups
MAX_RED_ARMOR = 200 -- Maximum armor groups
SPAWN_SCHED_RED_ARMOR = 300 -- Spawn interval (seconds)
Blue Forces:
INIT_BLUE_INFANTRY = 5 -- Initial infantry groups
MAX_BLUE_INFANTRY = 100 -- Maximum infantry groups
SPAWN_SCHED_BLUE_INFANTRY = 1800 -- Spawn interval (seconds)
INIT_BLUE_ARMOR = 25 -- Initial armor groups
MAX_BLUE_ARMOR = 200 -- Maximum armor groups
SPAWN_SCHED_BLUE_ARMOR = 300 -- Spawn interval (seconds)
Zone Configuration
Zones can be arranged in any configuration - along a front line, following roads, or scattered across the map:
local redZones = {
ZONE:New("FrontLine1"),
ZONE:New("FrontLine2"),
-- Add more zones as needed
}
local blueZones = {
ZONE:New("FrontLine7"),
ZONE:New("FrontLine8"),
-- Add more zones as needed
}
Template Customization
Add variety by creating multiple unit templates:
local redInfantryTemplates = {
"RedInfantry1",
"RedInfantry2",
-- Add more templates for variety
}
local redArmorTemplates = {
"RedArmor1",
"RedArmor2",
-- Add more templates for variety
}
Gameplay Mechanics
Zone Capture
Zones change ownership based on unit presence
Zones transition through states: Empty → Attacked → Captured → Guarded
Players receive notifications when zones change status
Visual indicators (smoke and map colors) show current ownership
Unit Behavior
Spawn: Units spawn at random locations in friendly zones
Task Assignment: Units calculate the nearest enemy zone
Movement: Units patrol to and around enemy zones
Reassignment: Stationary units receive new orders periodically
Combat: Units engage enemies encountered during patrols
Warehouse Impact
Warehouse Status
Spawn Rate Impact
Example
100% Alive
Normal spawn rate
300 seconds
50% Alive
2x spawn delay
600 seconds
0% Alive
No more spawns
∞ (infinite)
Win Conditions
Mission ends when one coalition captures all zones
Periodic checks every 60 seconds
Victory message and sound plays for winning side
In-Game Menu
Access warehouse status via the F10 menu:
F10 → Warehouse Monitoring → Check Warehouse Status