# Moose

## Mission Object Oriented Scripting Environment (MOOSE) for lua mission scripting design in DCS World

View on GitHub Download .zip Download .tar.gz

# Context

A development has been ongoing for a while now, which allows to create missions quickly using an Object Oriented Framework developed in lua. MOOSE is currently still in alpha version, but will evolve over time. Right now, it has been updated to work with DCS world 1.5.

MOOSE is a Mission Object Oriented Scripting Environment, and is meant for mission designers and mission hosters. It allows to quickly setup complex missions using pre-scripted scenarios using the available classes within the framework.

You can find the source of MOOSE here on GITHUB. It is free for download: https://github.com/FlightControl-Master/MOOSE/

# Goals

The goal of MOOSE is to allow mission designers to enhance their scripting with mission orchestration objects, which can be instantiated from defined classes within the framework. This will allow to write mission scripts with minimal code embedded. Of course, the richness of the framework will determine the richness of the misson scenarios. We can expect that MOOSE will evolve over time, as more missions will be designed within the framework.

# Classes

The following classes are currently embedded within MOOSE:

- BASE: The main class from which all MOOSE classes are derived from. The BASE class contains essential functions to support inheritance and MOOSE object execution tracing (logging within the DCS.log file in the saved games folder of the user).

- DATABASE: Create sets of units (and groups) upon defined filter criteria. These sets can be used to iterate the DATABASE calling a defined function for each unit (or group).

- SPAWN: Spawn new groups (and units) during mission execution.

- ESCORT: Makes groups consisting of helicopters, airplanes, ground troops or ships within a mission joining your flight. You can control these groups through the ratio menu during your flight. Available commands are around: Navigation, Position Hold, Reporting (Target Detection), Attacking, Assisted Attacks, ROE, Evasion, Mission Execution and more ...