Data/Actors/Action

Inherits from CActor<-CActorBase

### Description

The actor responsible for a large variety of effects involving attacks and abilities. The uses include giving sounds to the launch and impact of atacks and abilities, giving models to the launch and impact of effects, the location of the launch and impact of missiles, tentacles and beams and the successful application of movers from the Launch Missile effect.

In Events, usually created on the start of a Launch Missile effect or directly from a Damage effect with the impact effect triggering the Action Impact action

### Hint

* When duping action actors make sure that the **Art - Beam** and **Art - Missile** fields are not corrupted because that will mess up the visuals eg. spine crawler (https://www.sc2mapster.com/forums/development/data/16774-duplicated-spine-crawler-stares-at-the-ground-when/#p16)
* Another common bug with duping missile launching action actors is that the last field in the events is doubled resulting in an error message and the missile firing from the origin attachment point.
* When using the "Attack" Token, keep in mind that the action will be looking for a "Damage" effect in the child effects. Some exceptions can cause mistakes, Ex: A validator is blocking the damage effect (use the impact unit validator in that case, the effect will animate, but not cause the damage amount), using an "Apply Behavior" effect can work, and suppose you put the damage effects in the buff behavior's Initial, Periodic, Refrresh effect, it will work. However, a stubborn bug has that Expire Effect/Final Effect not being accounted for.

## Example Usage

### Marine Attack

The action actor used by the marine every time it fires the **Marine - C-14** Gauss Rifle weapon created by the **Marine - Gauss Rifle (Damage)** effect. The actor determines that the **Blood Target Impact** model is shown when the weapon hits units that are known as flesh (probably by the biological attribute), the flash type when hitting shields and the little **Marine Attack Launch** flare at the Weapon00 attachment point produced whenever the weapon is fired. The actor is also responsible for the launch and impact sounds of the weapon.

### Hellion Attack

The action actor used by the **Hellion - Infernal Flamethrower** weapon created by the **Hellion - Infernal Flame Thrower (Create Persistent)** effect. Projects the **Hellion Attack Beam** beam between the Weapon00 attachment point and the **Hellion Attack Damage Site** which is then overridden using a Reference Set actor event action on the beam actor and set the **HellionAttackBeamImpactSite** Site actor. Also determines the shield flash type and the impact and launch sounds for the attack.

### SpineCrawlerAttack

The action actor used by the **Spine Crawler - Impaler Tentacle** weapon created by the **Spine Cralwer - Spine Crawler (Launch Missile)** effect. Determines the launch site of the **SpineCralerAttackMissile**, the sounds and impact models of the attack and the orientation of the impact models using SOps. Even though the tentacle is actually attached by the missile this actor has several fields that if altered result in the movers for the tentacle not working properly. When duping this actor the **Art - Beam** and **Art - Missile** fields become corrupted so need to be corrected. Other Important fields of note for proper tentacle movements are **Attachment - Launch Attachment Query - Method**, **Target - Launch Site** and **Target - Launch Site Ops - Operations**.

### Battlecruiser Ground Attack

The action actor used by the **Battlecruiser AG - ATS Laser Battery** weapon created when the **Battlecruiser - ATS Laser Battery (Launch Missile)** effect is launched. Determines a random launch site using the **Filter WeaponSetA1** attach method, the impact visuals and the launch and impact sounds. A good example of a simple missile launching action actor

## Fields Description

#### Description

The actor alias configured here will be added to the actors that are created for the launch display. The alias allows you to easily reference whichever actor gets created without knowing what it was.

#### Description

Site Ops that will be used to position any actors created for the launch of the attack.

#### SiteOpsData

* Hold Position
* Hold Rotation
* Operations

#### Description

Site actor that will be used to position the launch of the attack when the 'Launch Attachment Query' can not be used or if the **Launch Force Site** actor flag is enabled

#### Description

Site actor that will be used as a fallback to position the launch of the missile when the launch site and launch assets can not be used as a site.

#### Notes

Used by the **VoidSeekerPhaseMineBlastSecondary** actor to get a hold of the launch site created by the death of the first missile and to set it to the launch site of the second batch of missiles

#### Description

Attach methods that are run on the caster unit to determine the attach point for the action's launch assets.

#### AttachQuery

* Fallback
* Methods

#### Description

The launch request allows you to specify an external actor that will be used as the 'Launch' for the action.

Commonly used to chain beam effects

#### ActorRequest

* Actor
* Fail If No Host
* Scope
* Effect
* Reach Across Effect Trees

#### Description

Configure launch assets for the action. Launch assets play on the caster that invokes the effects associated with this action, when the action is created.

#### ActorAVPair

* Animation Properties
* Model
* Scale
* Sound

#### Description

Actor model that is created for the launch art.

#### Description

Actor sound that is created for the launch sound.

#### Description

Configures the actor that will be used to display the model for missile launch physics.

#### Description

Configures the actor that will be used to play the sound for missile launch physics.

#### Description

Configures the models and sounds that will be created when this attack launches. These actors will only be created when launching on one of the physics materials specified, where the physics material is based on the terrain texture at the launch point.

#### ActionTerrainSquib

* Animation Properties
* Distance Max From Terrain To Create
* Model
* Scale
* Sound
* Terrain Physics Material

#### Description

Site Ops that will be used to position any actors created for the launch of the attack when the unit is inside of a transport.
(i.e Marines attacking from a bunker, this can be used to position the visuals to the bunker windows)

#### SiteOpsData

* Hold Position
* Hold Rotation
* Operations

#### Description

Site actor that will be used to position the launch of the attack when the 'Container Attachment Query' can not be used and the unit is inside of a transport.

#### Description

Attach methods that are run on the transport unit to determine the attach point for the action's launch assets.

#### AttachQuery

* Fallback
* Methods

#### Description

The assets this action will use if the unit is attacking from a transport, such as a Bunker.

#### ActorAVPair

* Animation Properties
* Model
* Scale
* Sound

#### Description

Actor model that is created for the launch art when the unit invoking this action is inside a transport, such as a Bunker.

#### Description

Actor sound that is created for the launch sound when the unit invoking this action is inside a transport, such as a Bunker.

#### Description

Configures the actor that will be used to display the squib model when attacking from a container like bunker.

#### Description

Configures the actor that will be used to play the squib sound when attacking from a container like bunker.

#### Description

Configures the models and sounds that will be created when attacking from a container like bunker. These actors will only be created when attacking from a bunker on one of the physics materials specified, where the physics material is based on the terrain texture at the location of the bunker.

#### ActionTerrainSquib

* Animation Properties
* Distance Max From Terrain To Create
* Model
* Scale
* Sound
* Terrain Physics Material

#### Description

The beam actor associated with this action.

#### Notes

* The Beam (Simple) actor or Beam (Standard) actor created by this action
* Must be set correctly for the beam to work
* (Not Sure) if both a beam and a missile can be used by the same action actor

#### Description

The scope the beam actor will be created in.

#### EffectScope

* **Caster:** 'Caster' of the effect that triggered this action
* **Caster Outer:** Similar to 'Caster' but specifies the containing scope (i.e. a Medivac or a Bunker's scope, as opposed to the Marines inside it), if it exists.
* **Effect:** (Unsure)creates the beam at the scope found at the effect that triggered this action?
* **Missile:** Same as 'Caster', but only creates in missile scopes.
* **Outer:** Same as 'Caster Outer' (Unknown what scope this refers to though, i guess it's like 'Implicit Outer'?)
* **Outer Container:** (Unsure) Similar to 'Caster Outer' but selects the Container instead of the units inside it?
* **Scope Target:** Same as 'Caster', but only creates in target scopes.
* **Source:** Same as 'Caster', but only creates in source scopes.
* **Source Inside:** (Unsure) Similar to 'Source' but specifies the units inside a container (i.e. units inside a Medivac or Bunker), if it/they exists.
* **Source Outside:** (Unsure) Same as 'Caster Outer', but only creates in source outer scopes.
* **Target Outer:** Same as 'Caster Outer', but only creates in target outer scopes.

#### Description

The missile actor associated with this action.

#### Description

(unsure)Allows to inhert impact location of another active Action actor

Used for 'Beams' that get stronger over time like VoidRay, MutatorLaserDrillAttack
Also used for 'PhoenixAirAttackRight' to ensure both Left & Right missile hits the same target location.

```
<CActorAction id="VoidRaySwarmEnhancedAttack">
    <HostImpactSource Subject="VoidRaySwarmAttack" ReachAcrossEffectTrees="1"/>
</CActorAction>
<CActorAction id="PhoenixAirAttackRight">
    <HostImpactSource Subject="PhoenixAirAttackLeft" ReachAcrossEffectTrees="1"/>
</CActorAction>

```

#### ActorRequest

* Actor
* Fail If No Host
* Scope
* Effect
* Reach Across Effect Trees

#### Description

The actor alias configured here will be added to the actors that are created for the impact display. The alias allows you to easily reference whichever actor gets created without knowing what it was.

#### Description

Site Ops that will be used to position any actors created for the impact of the action

#### SiteOpsData

* Hold Position
* Hold Rotation
* Operations

#### Description

Site Ops that will be used to position any actors created for the wounded effect display when the action hits the target unit.

#### SiteOpsData

* Hold Position
* Hold Rotation
* Operations

#### Description

Site actor that will be used to position the impact of the action when the 'Impact Attachment Query' can not be used as a site or **Impact Force Site** actor flag is enabled

#### Description

Site actor that will be used as a fallback to position the impact of the action when the 'Impact Site' and 'Impact Attachment Query' can not be used as a site.

#### Description

Attach methods that are run on the target unit to determine the attach point for the action's impact assets.

#### AttachQuery

* Fallback
* Methods

#### Description

Attach methods that are run to reestablish a actions impact attach point that is lost due to the unit morphing or swapping actor.

#### AttachQuery

* Fallback
* Methods

#### Description

Site Ops that will be used to position any actors created for the impact of the missile when the impact hits the terrain rather than a unit.

#### SiteOpsData

* Hold Position
* Hold Rotation
* Operations

#### Description

Site actor that will be used to position the impact of the action when the impact hits the terrain rather than a unit and the impact assets can not be used as a site.

#### Description

Configure impact assets for the action. Impact assets play on the target that is hit by the effects associated with this action, when an Action Impact message is sent.

Can define different reactions to units with different SquibTypeDefault Defined in their Models data

* None(default case)
* Dirt
* Flesh
* Light Armor
* Metal
* Miss (Unconfirmed) this also triggers with evasion behaviors, and Weapons that are Configured to Miss?
* Rock
* Sand
* Shield (from hitting Shields and not life points)
* Snow
* Water
* Wood

#### ActorAVCluster

* Model Reaction
* Sound
* Animation Properties
* Animation Properties Reaction
* Model
* Scale
* Scale Reaction

#### Description

Actor model that is created for the impact art.

#### Description

Actor that displays the wound effects that will be spawned when the missile impacts the target unit.

#### Description

Actor sound that is created for the impact sound.

#### Description

Configures the types of physics impulses when the missile impacts the target unit.

#### PhysicsData

* Flags
* Attack Anim Props
* Attack Model Variation
* Match Keys
* Name
* Physics

#### Description

Configures the actor that will be used to display the model for terrain physics impacts.

#### Description

Configures the actor that will be used to play the sound for terrain physics impacts.

#### Description

Configures the models and sounds that will be created when this attack impacts the terrain. These actors will only be created when impacting one of the physics materials specified, where the physics material is based on the terrain texture at the impact point.

#### ActionTerrainSquib

* Animation Properties
* Distance Max From Terrain To Create
* Model
* Scale
* Sound
* Terrain Physics Material

#### Description

Site Ops that will be used to position any actors created for the splash damage display for the attack.

#### SiteOpsData

* Hold Position
* Hold Rotation
* Operations

#### Description

Site Ops that will be used to position any actors created for the wounded effect display for the attack.

#### SiteOpsData

* Hold Position
* Hold Rotation
* Operations

#### Description

Site actor that will be used to position the splash damage display of the attack when the 'Damage Attach Query' can not be used as a site.

#### Description

Attach methods that are run on the target units of a splash attack to determine the attach point for the action's damage assets.

#### AttachQuery

* Fallback
* Methods

#### Description

Attach methods that are run to reestablish a splash damage attach point that is lost due to the unit morphing or swapping actor.

#### AttachQuery

* Fallback
* Methods

#### Description

Configure damage assets for the action. Damage assets play on targets that are hit by splash damage done by effects associated with this action, when an Action Damage message is sent.

Can define different reactions to units with different SquibTypeDefault Defined in their Models data

* None(default case)
* Dirt
* Flesh
* Light Armor
* Metal
* Miss (Unconfirmed) this also triggers with evasion behaviors, and Weapons that are Configured to Miss?
* Rock
* Sand
* Shield (from hitting Shields and not life points)
* Snow
* Water
* Wood

#### ActorAVCluster

* Model Reaction
* Sound
* Animation Properties
* Animation Properties Reaction
* Model
* Scale
* Scale Reaction

#### Description

Actor model that is created to display the cause of damage when the target unit takes splash or channeled damage.

#### Description

Actor that displays the wound effects that will be spawned when the target unit takes splash or channeled damage.

#### Description

Actor sound that is created for the damage sound.

#### Description

Configures the types of physics impulses that result from splash or channeled damage applied to the target unit.

#### PhysicsData

* Flags
* Attack Anim Props
* Attack Model Variation
* Match Keys
* Name
* Physics

#### Description

Configures the actor that will be used to display the model for damaged unit physics.

#### Description

Configures the actor that will be used to play the sound for damaged unit physics.

#### Description

Configures the models and sounds that will be created when the targeted unit takes splash damage. These actors will only be created when being damaged on one of the physics materials specified, where the physics material is based on the terrain texture at the location of the damaged unit.

#### ActionTerrainSquib

* Animation Properties
* Distance Max From Terrain To Create
* Model
* Scale
* Sound
* Terrain Physics Material

#### Description

Acquisition Arc controls how far the initial attack can stray horizontally from the center of the target. Half Arc specifies the degrees allowed from the center of the unit.

#### Description

Acquisition Arc controls how far the initial attack can stray vertically from the center of the target. Half Arc specifies the degrees allowed from the center of the unit.

#### Description

Accuracy is used to determine how far subsequent attacks can stray from the initial target. Half Arc means you specify the degrees allowed from the original attack vector.

#### Description

Determines the window of time between subsequent attacks that an attacking unit will be revealed.

#### Description

Facer shield impacts are localized on the point where the impact occurs. Full shield impacts display a shield that surrounds the unit. Header shield impacts are similar to Facer impacts, except they are angled more towards the sky.

#### ShieldFlashType

* **Facer:** The shield faces directly back towards the incoming attack vector. The is the most realistic option.

* **Full:** Creates a full shield flash around the entire target. Useful for when the attack does not have an obvious incoming direction, like when a Protoss unit is hit by an AoE spell such as Psi Storm. Also useful if directional shield impacts would be confusing, such as when a unit attacks a Colossus from inside its shields.

* **Header:** The shield impact faces horizontally toward the incoming attack. Functions like the Facer option, but causes the shield flash to always be oriented facing parallel to the XY plane. Useful when the Facer option is visually confusing, such as when a small unit like a Zergling attacks a large building from a very low position. This causes a Facer impact to be oriented in a way that is partially obscured by terrain and not easy to visually parse to begin with.

* **None:** Display no shield impact. Useful for game actions that pass through them, like mind control.

#### Description

Scales the size of any shield impacts specifically for this attack in order to make specific attacks more noticeable.

#### Description

Flags for customizing various details about how an attack's FX behave. These flags handle a number of specific (though sometimes consequential) edge cases and are therefore frequently unnecessary.

#### Flags

* **Align Impact And Damage:** Used for beam attacks to ensure that subsequent damage pulses produce FX at the beam's impact position, which is where the beam first struck the target.

* **Ignores Shields:** Causes attacks to bypass shields entirely. The Viper's Consume beam is an example, since it drains health from the core building, not it's shields.

* **Impact Force Site:** Forces the CActorAction to create a CActorSite at the impact position. This enables multiple FX to easily share a single bearings for as long as any of the FX exist.

* **Impact Monitors Teleports:** Forces the CActorAction to remain alive at least as long as any impact-related beams or impact model FX that it has spawned remain alive. This enables it to route ActionTargetTeleport messages to these actors, so they can be configured to kill themselves when a target has teleported far out of range.

* **Impact Suppress Unit:** Prevents the creation of the additional generic impact sound that is configured on the target CActorUnit.

* **Launch Force Site:** Forces the CActorAction to create a CActorSite at the launch position. This enables multiple FX to easily share a single bearings for as long as any of the FX exist.

* **Victim Reveals Attacker:** Marks the attack as temporarily revealing the attacker when a player can see the victim of the attack. Useful for tentacles. If a Viper that is under the fog of war Abducts a victim unit the player can see, it makes more sense visually for the victim unit's owner to be able to see the owner of the tentacle while this is happening.

#### Description

Attack physics data is determined by matching the animation properties that were played on the specified actor.

#### Description

Attack physics data is determined by matching the animation properties that were played using the specified attack animation name.

#### Description

If this field is configured, only ActionCommence messages from the specified effect are considered valid.

#### Description

Determines whether the attacking unit is revealed only once at the beginning of the attack (One Shot) or whether it lasts for the duration of the attack (Duration By Victim).

#### Description

Amount of time the action sticks around before destroying itself.

#### Notes

* Use -1.0 to not automatically destroy. (Need to destroy manually if used.)

## Related

requires links to SOps (actors)

* Launch Missile
* Sounds
* Models
* Missile
* Beam (Simple)
* Beam (Standard)
* Site
* Attach Methods