Data/Actors/Doodad

### Description

Doodad actors are used as static/semi-interactive elements which add artistic flair to the setting rather than a direct game-play element.

### Hint

* Doodad actors are recognized directly by the editor for placement on a map via the Doodads (D) button at the top of the Terrain Editor
* On placement in the editor the doodad actors are automatically created so no events leading to their creation are needed
* For attachments onto doodads you need to have create actions on the Doodad actor that specify which Model type actor to create
* Oddly, using Host Site Ops actions / setting it from data/triggers may prevent the doodad actor from being created.

## Example Usage

### Liberty Doodads

Any Doodad available from the Liberty and Liberty Multi Dependencies in the data editor.

## Fields Description

### Actor - Aliases

* An alternative name for the actor when responding to events or hosting. For instance \_Doodad for any events interacting with doodads and \_Selectable for any selectable unit.

### Actor - Doodad Flags

* Relating to flags extended for the doodad.
* **Pause Animation While Fogged:** Makes the doodad animation stand still when behind the Fog of War or Black Mask.
* **Footprint Only:** Indicates that the doodad only applies the pathing flags of its footprint, rather than being decorative like most doodads. Example: "Building Blocker 1x1."

### Actor - Filter

* Determines what players can see the actor depending on their aspect of alliance. The selected players are NOT able to see the actor.

### Not Saved

* (Unsure) Most likely associated to temporary Model actors.

### Scale To Host

* Uses Host to determine scaling (for instance when attaching models to units) and ignores scaling the actor has.

### Actor - Fog Visibility

* How the actor appears when under the fog of war.
* **Dimmed:** Actor is visible but dimmed by the fog of war (most doodads use this)
* **Hidden:** Actor is Hidden and not visible when covered by the fog of war. (Birds and small elements that wander usually use this)
* **Snapshot:** Actor's last seen state is visible but dimmed when covered by the fog of war. Changes to the actor are not visible through the fog. For example, if the doodad is destroyed while fogged, it will still appear to be intact until it is explored again.
* **Visible:** Actor is not obscured by the fog of war.

### Actor - Footprint

* The footprint from the Footprints data type used by the doodad for pathing.
* Even when the doodad actor is destroyed, the footprint remains.
* Used by bridges to allow them to be walked over.

### Actor - Proximity Position

* (Unknown)
* **Center Actor:** (Unknown)
* **Center Model Bounds:** (Unknown)

### Actor - Sharing

* Determines to what degree the same actor is shared by a unit if there are multiple functions referring to it
* **Always:** The actor is always shared
* **None:** means the actor is never shared
* **Per Effect Tree:** Effects within an effect tree share the actor but different effect trees can't. As doodads are unable to be affected by effects directly, this seems pointless

### Actor - Texture Sets

* Some models when made into doodads can automatically adjust their texture set to blend into the terrain texture sets specified.
* Change this field to alter how the doodad looks without needing the Texture Select By Id event action.

### Art - Auto Scale Factor

* The scaling factor for all three dimensions unless specified otherwise.

### Art - Facing

* Direction the doodad faces when placed in the editor unless the No Auto Rotate flag is enabled

### Art - Model

Model from the Models data type used for the doodad.

### Art - Model Flags

* **Allow Hit Test:** (Unknown)
* **Ignore Walkables:** (Unknown)
* **Needs Volume Monitor:** (Unknown)
* **Suppress Missing Attachment Errors:** (Unknown)Probably for messages sent to models that may not have the required attachments.
* **Suppress Player Decals:** (Unknown)Mostly likely just removes the decals for players that are earned through achievements. If a doodad was owned by a player.
* **Update Visibility:** (Unknown)
* **Use Synchronous Seed:** (Unknown)Probably something to do with a random number generator for synching animation among doodads.

### Art - Occlusion Height

* (Unsure) Determines the degree of fading the doodad has when units walk behind or under the model

### Art - Radius

* (Unknown) radius for determining the doodad is in the fog of war? (Most doodads seem to use 0.5)

### Art - Random Scale Range

* The range for a random offset of the scale among variations of the doodad when they are placed on the map.

### Art - Scale

* The scale of the doodad relative to the scale of model from the Models data type used.

### Editor - Editor Animation

* (Unsure) Animation the doodad plays when it's placed in the editor?

### Editor - Editor Categories

* Folder in the doodads pallete the doodad falls under.

### Editor - Editor Comment

* Comments about the doodad for other people looking at the map
* Warning putting too much here has been known to cause spontanteous deletions

### Editor - Editor Description

* Description of the doodad seen in the editor UI

### Editor - Editor Flags

* **Ambient Lighting Occlusion:** (Unsure) Allows the object to bounce light with advanced shading effects?
* **Block Structures:** (Unsure) Structures can't be built over this doodad?
* **Can Rotate:** Can be rotated in the editor from it's base orientation.
* **Default to Neutral Player:** When placed by the editor makes the owning player default to Neutral (0) which is pointless as doodads have no owning player
* **Hostile Default:** When placed by the editor makes the owning player default to Hostile (15) which is pointless as doodads have no owning player
* **No Auto Rotate:** Prevents the doodad choosing a random direction to face when placed in the editor
* **No Palettes:** (Unknown)
* **No Placement:** (Unknown)

### Editor - Editor Icon

* The icon displayed in the Doodad Palette

### Editor - Editor Model

* Placeholder for doodads that are hard to see such as sight blockers and weather effects.

### Event - Event Footprint - Actor

* (Unknown)(editor:Base class for event data footprint and event data sound)

### Event - Event Footprint - Model

* (Unknown)(editor:For using a different footprint model than default)

### Event - Event Sound - Sound

* (Unknown)(editor:For using a different sound actor sound than default)

### Event - Events +

* Series of minitriggers that determine the motions and visual effects of the actor.
* Doodad actors are automatically created but attachments need to be created from the host actor on actor creation of the host via the name field of the **Create** action
* More details about the actor Events.

### Event - Macros

* The Event Macro actors used to supplement the events.

### Hosting - Host - Actor

* How the actor determines its host?
* **Actor Find:** (Not Sure) means the actor has to be found using the scope.
* **Creation:** (Not Sure) Is the actor that creates this actor is given priority for hosting if there is a choice of several.
* **Implicit:** This is the default.

### Hosting - Host - Effect

* The effect whose scope is used in combination with the Hosting - Host - Scope field to determine valid subjects.
* Pointless for doodads

### Hosting - Host - Fail If No Host

* Causes the Actor to be automatically destroyed if no host.

### Hosting - Host - Scope

* **Implicit:** Is the default
* **Scope Caster:** (Unknown)
* **Scope Effect:** (Unknown)
* **Scope Missile:** (Unknown)
* **Scope Outer:** (Unknown)
* **Scope Source:** (Unknown)
* **Scope Target:** (Unknown)

### Hosting - Host - Subject

* The actor that this actor is hosted on
* Can use \_Unit or \_Selectable for undefined hosting
* As doodads are placed directly by the editor, they cannot be hosted on other actors

### Hosting - Host For Properties - Actor

* **Actor Find:** (Not Sure) means the actor has to be found using the scope.
* **Creation:** (Not Sure) is the actor that creates this actor is given priority for hosting if there is a choice of several.
* **Implicit:** Is the default.

### Hosting - Host For Properties - Fail If No Host

* Causes the model to be automatically destroyed if no host.

### Hosting - Host For Properties - Scope

* **Implicit:** is the default
* **Scope Caster:** (Unknown)
* **Scope Effect:** (Unknown)
* **Scope Missile:** (Unknown)
* **Scope Outer:** (Unknown)
* **Scope Source:** (Unknown)
* **Scope Target:** (Unknown)

### Hosting - Host For Properties - Subject

* Determines which actor this actor gets the properties for the Properties+ fields from
* If no actor is specified it defaults to the Hosting - Host - Subject actor

### Hosting - Host Site Operations - Hold Position

* Locks the model in position according to the global 2D grid system but still allows for rotation relative to the host

### Hosting - Host Site Operations - Hold Rotation

* Prevents the model turning relative to the host and locks it in the direction it was created in relative to the global 2D grid system while still allowing movement

### Hosting - Host Site Operations - Operations

* This field is for applying all SOps that affect this actor
* Determines where it is attached, the offset, the rotation and alot more
* The order in the list is important with SOps being applied from top to bottom so an offset, offset and rotation is not the same as an offset, rotation and an offset
* For more details about SOps please look at the individual pages for each SOp

### Hosting - Host Supporter - Actor

* **Actor Find:** (Not Sure) means the actor has to be found using the scope
* **Creation:** (Not Sure) is the actor that creates this actor is given priority for hosting if there is a choice of several
* **Implicit:** Is the default

### Hosting - Host Supporter - Effect

* The effect whose scope is used in combination with the Hosting - Host Supporter - Scope field to determine valid subjects
* As doodads are not directly involved with effects, this field is pointless

### Hosting - Host Supporter - Fail If No Host

* Causes the model to be automatically destroyed if no host

### Hosting - Host Supporter - Scope

* **Implicit:** Is the default
* **Scope Caster:** (Unknown)
* **Scope Effect:** (Unknown)
* **Scope Missile:** (Unknown)
* **Scope Outer:** (Unknown)
* **Scope Source:** (Unknown)
* **Scope Target:** (Unknown)

### Hosting - Host Supporter - Subject

* Actor referred to by the ::Supporter system reference for Events

### Hosting - Hosted Attachments - Attachment Query - Fallback

* (Unknown Function)
* Attachment point that is automatically selected if **Hosting - Hosted Attachments - Attachment Query - Methods** fails to find a valid attachment point
* Only actors that use these fields are tentacles

### Hosting - Hosted Attachments - Attachment Query - Methods

* (Unknown Function)
* Attachment methods used or direct attachment reference for attaching
* Please refer to Attach Methods data type for more details
* With direct reference to an attachment point make sure you use the right index number (able to be seen in the previewer under Attachment Points)
* Only actors that use these fields are tentacles

### Hosting - Hosted Attachments - Host - Actor

* (Unknown Function)
* **Actor Find:** (Not Sure) means the actor has to be found using the scope
* **Creation:** (Not Sure) The actor that creates this actor is given priority for hosting if there is a choice of several.
* **Implicit:** Is the default

### Hosting - Hosted Attachments - Host - Fail If No Host

* Causes the model to be automatically destroyed if no host

### Hosting - Hosted Attachments - Host - Scope

* **Implicit:** Is the default
* **Scope Caster:** (Unknown)
* **Scope Effect:** (Unknown)
* **Scope Missile:** (Unknown)
* **Scope Outer:** (Unknown)
* **Scope Source:** (Unknown)
* **Scope Target:** (Unknown)

### Hosting - Hosted Attachments - Host Site Operations - Operations

* (Unknown)
* What is known is that SOps in these fields can cause the actor to fall off the host actor and remain detached in the position where this happens

### Hosting - Hosted Attachments - Name

* (Unknown)
* Only actors that use these fields are tentacles

### Properties - Accepted Property Transfers

* When this actor is in the **Hosting - Host - Subject** field of another actor, this field determines what properties are able to be inherited from this actor
* **Cast Shadows:** Allows the attached actor to cast shadows
* **Cloak Effect:** Allows the attached actor to show the cloaking bluish effect
* **Decal:** Allows the attached actor to show the host unit decal
* **Local Tint Color:** (Unknown)
* **Model Scale:** makes the actor inherit the scale for the host model
* **Opacity:** Spreads the opacity set by the Set Opacity event to attached actors
* **Physics State:** (Unknown)
* **Scale:** Transfers the scale of the host actor to the attached actors
* **Team Color:** Makes the attached actor show the team colour if it can
* **Time Scale:** Means the animations of the attached actor are the same as the host actors timescale
* **Tint Color:** (Unknown)
* **Visibility:** Allows the attached actor to share the host actor's **Actor - Fog Visibility**
* **Warp Group:** (Unknown)

### Properties - Accepted Transfers

* **Animation Properties:** (Unknown)
* **Animator:** (Unknown)
* **Fog Of War Color:** (Unknown)
* **Fog Of War Shader:** (Unknown)
* **Model:** (Unknown)
* **Position:** (Unknown)
* **Rotation:** (Unknown)
* **Status:** (Unknown)
* **Textures:** (Unknown)

### Properties - Inherit Type

* Determines how often the host properties are inherited
* **Continuous:** means the properties are continuously inherited from the host
* **None:** means properties are not inherited from the host
* **Once:** means properties are only inherited on actor creation

### Properties - Inherited Properties

* This field determines what properties are able to be inherited from the actor in the **Hosting - Host - Subject** or **Hosting - Host For Properties - Subject** field
* **Cast Shadows:** Allows the attached actor to cast shadows
* **Cloak Effect:** Allows the attached actor to show the cloaking bluish effect
* **Decal:** Allows the attached actor to show the host unit decal
* **Local Tint Color:** (Unknown)
* **Model Scale:** Makes the actor inherit the scale for the host model
* **Opacity:** Spreads the opacity set by the Set Opacity event to attached actors
* **Physics State:** (Unknown)
* **Scale:** Transfers the scale of the host actor to the attached actors
* **Team Color:** makes the attached actor show the team colour if it can
* **Time Scale:** means the animations of the attached actor are the same as the host actors timescale
* **Tint Color:** (Unknown)
* **Visibility:** allows the attached actor to share the host actor's Actor - Fog Visibility
* **Warp Group:** (Unknown)

### UI - Minimap Icon

* The texture used for the doodad on the minimap
* Only use for doodads that are not in a very high number

## Related

* Events
* Doodads Layer