DECORATE is a scripting and content definition language in ZDoom that is used to create new actors. The origin of the name stems from its initial use merely as a way to create new decorations without having to steal frames from other actors, as required by DeHackEd.
The original syntax, now deprecated, was very simple but did not allow for expansion. To allow modders to define new monsters, the language was redesigned with a more robust syntax. More and more features have been added and the language gradually expanded to cover all actor types, including monsters, weapons, powerups, player classes, and more.
Starting with ZDoom v.2.3.0, all actors from all games have been removed from the executable and exported to the DECORATE lump in zdoom.pk3. Their code can be browsed on the ZDoom wiki for reference, offering a large quantity of examples to someone wishing to learn the language.
Other than ZDoom and its up-to-date derivatives such as GZDoom and Zandronum, DECORATE is supported by Vavoom. Although not fully compatible, DelphiDoom features a dialect of DECORATE as its ACTORDEF scripts. The ACE Engine also implements a subset of DECORATE. The state syntax has also been borrowed by Eternity Engine for EDF.