[BACKLOG] Fix for Hallucination #22


Closed
  • wrace0 created this issue May 23, 2018

    Bug Map

    SCMRmod

    Bug Description

    Comparison with you version:
    1) instead of having set of validators and effects for each unit, this version creates full copy of the unit (i.e. if you create hallucination of the siege tank in siege mode, it will be created siege tank in siege mode; if unit is burrowed, its hallucination will also be burrowed);
    2) for the ability I excluded Heroes in the TargetFilters, though this version allows to create the copy of them + it removes from its copy the flag Hero (but I am not sure whether killing hallucination of hero will be compatible with your triggers on the maps, so I just excluded the possibility of creation of hallucination of Heroic Unit);
    3) I added additional flags for the behavior Hallucination:
    <StateFlags index="SuppressFoodMade" value="1"/> - hallucinations do not produce supply
    <StateFlags index="SuppressFoodUsed" value="1"/> - hallucinations do not use supply
    <StateFlags index="SuppressRequirements" value="1"/> - fix to available burrowing of units without having this upgrade
    4) one additional distinction - instead of 3 different sounds for 3 types of units (light, medium, heavy) it will be always played only one of them (for small units); of course, it is possible to have your original behavior.

    [Validators]
    <CValidatorUnitType id="IsNotInterceptorS">
    <Value value="SelendisInterceptor"/>
    <Find value="0"/>
    </CValidatorUnitType>


    <CValidatorUnitType id="IsNotLurkerEgg">
    <Value value="LurkerEgg"/>
    <Find value="0"/>
    </CValidatorUnitType>


    <CValidatorCombine id="IsGoodUnit">
    <Type value="And"/>
    <CombineArray value="IsNotEgg"/>
    <CombineArray value="NotLarva"/>
    <CombineArray value="NotBroodling"/>
    <CombineArray value="IsNotBroodLordCocoon"/>
    <CombineArray value="IsNotLurkerEgg"/>
    <CombineArray value="IsNotOverlordCocoon"/>
    <CombineArray value="IsNotInterceptor"/>
    <CombineArray value="IsNotInterceptorS"/>
    <CombineArray value="NotSpiderMine"/>
    <CombineArray value="NotSpiderMineBurrowed"/>
    <CombineArray value="NotWarpingIn"/>
    </CValidatorCombine>

     

    [Behaviors]
    <CBehaviorBuff id="Hallucination1" parent="Hallucination">
    <Modification>
    <StateFlags index="UnitAttrOffHeroic" value="1"/>
    <StateFlags index="SuppressFoodMade" value="1"/>
    <StateFlags index="SuppressFoodUsed" value="1"/>
    <StateFlags index="SuppressRequirements" value="1"/>
    </Modification>
    </CBehaviorBuff>

     

    [Actors]
    <CActorModel id="HallucinationBirth">
    <On Terms="Behavior.Hallucination1.On" Send="Create"/>
    </CActorModel>


    <CActorSimple id="HighTemplarHallucination">
    <On Terms="Behavior.Hallucination1.On" Send="Create"/>
    <On Terms="Behavior.Hallucination1.On; ViewerTreatsUnitAs Detected" Send="Signal HallucinationTintOn"/>
    <On Terms="Behavior.Hallucination1.Off" Send="Destroy"/>
    </CActorSimple>


    <CActorSound id="HallucinationBirthSound">
    <On index="1" Terms="Behavior.Hallucination1.On" Send="Create"/>
    <Sound value="Sentry_HallucinationLaunchSmall"/>
    </CActorSound>

     

    [Effects]
    <CEffectApplyBehavior id="HallucinationCreateUnitBHal">
    <Behavior value="Hallucination1"/>
    </CEffectApplyBehavior>


    <CEffectCreateUnit id="HallucinationCreateClones">
    <EditorCategories value="Race:Protoss"/>
    <CreateFlags index="Birth" value="0"/>
    <CreateFlags index="ProvideFood" value="0"/>
    <CreateFlags index="UseFood" value="0"/>
    <SpawnEffect value="HallucinationCreateUnitB"/>
    <SpawnCount value="2"/>
    <TypeFallbackUnit Value="Target"/>
    <ValidatorArray value="IsGoodUnit"/>
    </CEffectCreateUnit>


    <CEffectDamage id="KillHallucination">
    <Death value="Remove"/>
    <Flags index="NoKillCredit" value="1"/>
    </CEffectDamage>

     

    [Abilities]
    <CAbilEffectTarget id="Hallucination">
    <Effect index="0" value="HallucinationCreateClones"/>
    <AINotifyEffect value="HallucinationCreateClones"/>
    <TargetFilters index="0" value="Visible;Self,Structure,Heroic,Missile,Stasis,Dead,Hidden,Invulnerable"/>
    </CAbilEffectTarget>


    <CAbilEffectTarget id="Hallucination2">
    <Effect index="0" value="HallucinationCreateClones"/>
    <AINotifyEffect value="HallucinationCreateClones"/>
    <TargetFilters index="0" value="Visible;Self,Structure,Heroic,Missile,Stasis,Dead,Hidden,Invulnerable"/>
    </CAbilEffectTarget>

  • wrace0 edited description May 27, 2018
  • OmegaWeaponX posted a comment May 29, 2018

    Unsure of the necessity of this at the moment

  • OmegaWeaponX edited title Aug 16, 2019
  • OmegaWeaponX closed issue Sep 16, 2019

To post a comment, please login or register a new account.