Data/Actors/Event Macro

## Event Macro

### Description

Actor that is inserted into the Event - Macros field of other actors to supplement their Event - Events+ fields. Also allows easy referencing of additional actor groups via supporters. When the main actor that possess that macro is created, so is the macro which is why It's pointless to make a create event in the macro. In many cases, they are made as CActor type of actor (the most basic) that only requires events to be filled.

### Hints

* Commonly used for giving actors certain complex responses via several events that would be too time consuming to apply to each actor's events individually. Ex: When a unit unloads, it usually runs the Unload, Unload end animation. Putting this on every actor would be spam in the events. Since this animation is made of common animation proprieties, it is way simpler to just add the "Unload Drop Anim" on every units that can use it.

## Example Usage

### Unpowered Anim

The Event Macro actor used by most protoss structures when unpowered alter their animations and colour. Also reverses these changes when they are no longer unpowered. Contains a massive 33 different events in it (Imagine having to repeat those for each power using actor).

#### URL

As the Unpowered Anim Event Macro and all actors that use it are alrady in the editor, no URL is needed

### Carry Anim

The Event Macro actor used by the actors of all workers to determine what animations they play when they have a buff applied by the Behavior - Carry Resource Behavior field of resources.

#### URL

As the Carry Anim Event Macro and all actors that use it are alrady in the editor, no URL is needed

## Fields Description

### Actor - Aliases

* Aliases that refer to the actor in Events or in Hosting as a subject

### Actor - Filter

* Determines what players can see the actor depending on their diplomatic status eg. Nuke Target/Indicator
* Pointless as this actor has no visuals

### Actor - Flags

* **Add To External Finder:** (Unknown)
* **Not Saved:** (Unknown) used by all temporary Model actors
* **Scale To Host:** overides any scaling the actor has and sets it to the host Unit actor
* **Suppress Creation Errors:** (Unknown)

### Actor - Fog Visibility

* Determines how the actor appears under the fog of war
* Not sure how it interacts with the UI - Fog Visibility under the Units data type
* Pointless as this actor has no visuals

### Actor - Sharing

* Determines to what degree the same actor is shared by a unit if there are multiple functions referring to it
* **Always:** means the actor is always shared
* **None:** means the actor is never shared
* **Per Effect Tree:** means that effects within an effect tree share the actor but different effect trees can't

### Event - Events+

* Series of mini triggers that determine the motions and visual effects of the model
* Covered in detail in the Events section of the wiki

### Event - Macros

* The Event Macro actors used to supplement the events
* Why there is the option for event macros within event macros is beyond me

### 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

### 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 but gives an error message if using the scope of an effect
* **Scope Caster:** (Unsure) Uses the scope of the caster of the effect to choose the caster unit as the subject
* **Scope Effect:** (Unknown)
* **Scope Missile:** (Unknown)
* **Scope Outer:** (Unknown)
* **Scope Source:** (Unknown) Uses the scope of the source of the effect to choose the source unit as the subject
* **Scope Target:** (Unknown) Uses the scope of the target of the effect to choose the target unit as the subject

### Hosting - Host Supporter - Subject

* Actor, alias or reference referred to by the **::Supporter** system reference for Events+

### 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
* As this actor has no visuals this field is pointless
* **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

* As this actor has no visuals this field is pointless
* **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

* As this actor has no visuals this field is pointless
* 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)
* As this actor has no visuals this field is pointless