Реализация

Для данной способности нам потребуется:
  • 1 Способность типа Effect - Target # ID: ForceShield
  • 2 Актора
    • Актор типа Model # ID: ForceShield@Model
    • Актор типа Model # ID: ForceShield@ImpactShield
  • 1 Кнопка # ID: ForceShield
  • 5 эффектов
    • Эффект типа Apply Force # ID: ForceShield@AF
    • Эффект типа Create Persistent # ID: ForceShield@CP
    • Эффект типа Damage # ID: ForceShield@KillMissile
    • Эффект типа Search Area # ID: ForceShield@Search
    • Эффект типа Set # ID: ForceShield
  • 2 Модели
    • Модель типа Generic # ID: ForceShield@Model
    • Модель типа Generic # ID: ForceShield@ImpactShield
  • 1 Валидатор типа Unit Filters # ID: ForceShield@TargetIsMissile
  • 1 Коллекция данных (Data Collection) # ID: ForceShield

Данные

Способность
    <CAbilEffectTarget id="ForceShield">
        <EditorCategories value="Race:Protoss,AbilityorEffectType:Units"/>
        <Effect index="0" value="ForceShield@CP"/>
        <Range value="10"/>
        <CmdButtonArray index="Execute" DefaultButtonFace="ForceShield"/>
    </CAbilEffectTarget>
Кнопка
    <CButton id="ForceShield">
        <Icon value="Assets\Textures\btn-upgrade-stetmann-zerglinghardenedshield.dds"/>
        <AlertIcon value="Assets\Textures\btn-upgrade-stetmann-zerglinghardenedshield.dds"/>
        <EditorCategories value="Race:Protoss"/>
    </CButton>
Эффекты
    <CEffectApplyForce id="ForceShield@AF">
        <EditorCategories value="Race:Protoss"/>
        <WhichLocation Effect="ForceShield@Search" Value="TargetUnitOrPoint"/>
        <Amount value="300"/>
    </CEffectApplyForce>
    <CEffectCreatePersistent id="ForceShield@CP">
        <EditorCategories value="Race:Protoss"/>
        <PeriodCount value="450"/>
        <PeriodicEffectArray value="ForceShield@Search"/>
        <PeriodicPeriodArray value="0.0625"/>
    </CEffectCreatePersistent>
    <CEffectDamage id="ForceShield@KillMissile">
        <ValidatorArray value="ForceShield@TargetIsMissile"/>
        <EditorCategories value="Race:Protoss"/>
        <Flags index="Kill" value="1"/>
    </CEffectDamage>
    <CEffectEnumArea id="ForceShield@Search">
        <EditorCategories value="Race:Protoss"/>
        <SearchFilters value="-;Player,Ally,Neutral,Stasis,Dead,Hidden"/>
        <AreaArray Radius="6" Effect="ForceShield@Set"/>
    </CEffectEnumArea>
    <CEffectSet id="ForceShield@Set">
        <EditorCategories value="Race:Protoss"/>
        <EffectArray value="ForceShield@KillMissile"/>
        <EffectArray value="ForceShield@AF"/>
    </CEffectSet>
Валидатор
    <CValidatorUnitFilters id="ForceShield@TargetIsMissile">
        <Filters value="Missile;-"/>
    </CValidatorUnitFilters>
Акторы
    <CActorModel id="ForceShield@ImpactShield" parent="ModelAnimationStyleOneShot">
        <EditorCategories value=""/>
        <On Terms="Effect.ForceShield@KillMissile.Start" Send="Create"/>
        <HostSiteOps Ops="SOpTargetPoint" HoldPosition="1" HoldRotation="1"/>
    </CActorModel>
    <CActorModel id="ForceShield@Model" parent="ModelAnimationStyleContinuous">
        <EditorCategories value=""/>
        <On Terms="Effect.ForceShield@CP.Start" Send="Create"/>
        <On Terms="Effect.ForceShield@CP.Stop" Send="AnimBracketStop BSD"/>
    </CActorModel>
Модели
    <CModel id="ForceShield@ImpactShield">
        <Model value="Assets\Effects\Terran\ArchAngel_Xanthos_Experimentation_Railgun_Impact\ArchAngel_Xanthos_Experimentation_Railgun_Impact.m3"/>
        <EditorCategories value="Race:Protoss"/>
    </CModel>
    <CModel id="ForceShield@Model">
        <Model value="Assets\Effects\Zerg\PsionicShield\PsionicShield.m3"/>
        <EditorCategories value="Race:Protoss"/>
        <ScaleMax value="4.000000,4.000000,4.000000"/>
        <ScaleMin value="4.000000,4.000000,4.000000"/>
    </CModel>

Результат

`
ОЖИДАНИЕ РЕКЛАМЫ...