Hello, I’m a Korean user. I found some bugs should be fixed. I made video and image materials to explain the situations in detail, but I can’t use the link, so I’m looking for someone to help me.
I’m not good at English so I used a translator.
1. Burrow animation does not play properly if the ravager burrows immediately after using corrosive bile.
Solution: Clear the ravager’s spell animation when the ravager starts burrow.
2. If the unit affected by the anti-armor missile has a shield, hallucinations can cause damage to this unit.
Solution: Set the value of ‘not hallucination’ into the ‘impact unit validator’ of the weapon damage effects. (Probe, Zealot, Adept, Stalker, Immortal, High Templar, Archon, Void Ray, Phoenix, Colossus)
3. Lurker’s main target unit can be damaged by Lurker’s attack even though this unit is in the transport.
This is the most critical bug I think. It is a bug that must be fixed because it can affect professional gamers’ games.
Solution: Add ‘Not Hidden’ to the validators field of the Lurker MPDamage effect.
1 Like
Fix as xml:
<CActorUnit id="Ravager">
<On Terms="AbilMorph.*.Start; AbilKey BurrowDown" Send="AnimClear Spell"/>
</CActorUnit>
I failed to recreate it.
If this happens, that means that the search effect’s includes can bypass the filters. I am not sure why the search include exists there, though.
However, adding the validator to the damage effect can’t hurt, if this bug really exists:
<CEffectDamage id="LurkerMPDamage">
<ValidatorArray value="NotHidden"/>
</CEffectDamage>
냥파이어, does this bug happen in very close range? Can you recreate the bug in a test map or do you have a video of it happening?
This solution prevents the damage, but this also prevents hallucinations from creating shield impact models via their attacks. This is most noticeable with the Zealot.
A proper fix adds a switch and 2 damage effects (2nd one with amount 0 and armor reduction 0).
This would be the fix for the Zealot:
<CEffectDamage id="PsiBlades">
<ValidatorArray index="0" removed="1"/>
</CEffectDamage>
<CEffectDamage id="PsiBladesDamageHallucination" parent="PsiBlades">
<ArmorReduction value="0"/>
<Amount value="0"/>
</CEffectDamage>
<CEffectCreatePersistent id="PsiBladesBurst">
<PeriodicEffectArray index="0" value="ZealotPsiBladesHallucinationSwitch"/>
</CEffectCreatePersistent>
<CEffectSwitch id="ZealotPsiBladesHallucinationSwitch">
<ValidatorArray value="NotHidden"/>
<CaseArray Validator="NotHallucination" Effect="PsiBlades"/>
<CaseDefault value="PsiBladesDamageHallucination"/>
</CEffectSwitch>
<CActorAction id="ZealotAttack">
<On Terms="Effect.PsiBladesDamageHallucination.Stop; FromEffectTreeDescendant" Send="ActionImpactPhysics"/>
<On Terms="Effect.PsiBladesDamageHallucination.Start; At Caster" Send="Create"/>
</CActorAction>
FIX for all hallucinations + demo map:
I have fixed this for all units (and fixed Colossus not triggering shield impact models when attacking with friendly fire):
opened 05:33PM - 19 Dec 22 UTC
workaround available
impacts casual gamplay
Bug reported by [냥파이어 on Blizzard's forums](https://us.forums.blizzard.com/en/sc… 2/t/possible-bugs-in-ladder-games/25950)
[video from feardragon's 99% Useless Facts #20](https://youtu.be/7scbewteoik)
### Issue
Raven's Anti-armor Missile causes units with a shield to receive damage from hallucinations. The issue is that damage effects benefit from negative armor reduction when the damage hits a unit with shields. It's an engine bug at its core, but can be fixed without engine modifications.
### Workaround
The bug report proposes a fix via adding an Impact Unit Validator. That prevents the damage, but causes the shield impact model to not be created. This is very obvious when tested with the Zealot.
A better solution is it to add a switch effect before the damage effect that uses an alternative damage effect, if the caster is a hallucination. This second damage effect inherits from the first, but sets damage and armor reduction to 0.
This would be the fix for the Zealot:
``` xml
<CEffectDamage id="AdeptDamage">
<ValidatorArray index="0" removed="1"/>
</CEffectDamage>
<CEffectDamage id="AdeptDamageHallucination" parent="AdeptDamage">
<Name value="Effect/Name/AdeptDamageHallucination"/>
<ValidatorArray index="0" removed="1"/>
<AttributeBonus index="Light" value="0"/>
<ArmorReduction value="0"/>
<Amount value="0"/>
</CEffectDamage>
<CEffectLaunchMissile id="AdeptLM">
<ImpactEffect value="AdeptImpactEffectHallucinationSwitch"/>
</CEffectLaunchMissile>
<CEffectDamage id="ArchonPsionicShockwaveDamageHallucination" parent="PsionicShockwaveDamage">
<Name value="Effect/Name/ArchonPsionicShockwaveDamageHallucination"/>
<AttributeBonus index="Biological" value="0"/>
<ArmorReduction value="0"/>
<Amount value="0"/>
</CEffectDamage>
<CEffectCreatePersistent id="ThermalLancesDamageDelay">
<FinalEffect value="ColossusThermalLancesDamageHallucinationSwitch"/>
</CEffectCreatePersistent>
<CEffectCreatePersistent id="ThermalLancesFriendlyCP">
<PeriodicEffectArray index="0" value="ThermalLancesFriendlyDamageHallucinationSwitch"/>
<PeriodicEffectArray index="1" value="ThermalLancesFriendlyDamageHallucinationSwitch"/>
</CEffectCreatePersistent>
<CEffectDamage id="ThermalLancesFriendlyDamage">
<ValidatorArray index="0" removed="1"/>
<ValidatorArray index="1" removed="1"/>
<ValidatorArray index="2" removed="1"/>
<ValidatorArray index="3" removed="1"/>
</CEffectDamage>
<CEffectDamage id="ThermalLancesFriendlyDamageHallucination" parent="ThermalLancesFriendlyDamage">
<Name value="Effect/Name/ThermalLancesFriendlyDamageHallucination"/>
<AttributeBonus index="Light" value="0"/>
<ArmorReduction value="0"/>
<Amount value="0"/>
</CEffectDamage>
<CEffectSwitch id="ThermalLancesFriendlyDamageHallucinationSwitch">
<ValidatorArray value="ThermalLancesCliffLevel"/>
<ValidatorArray value="NotHidden"/>
<ValidatorArray value="noMarkers"/>
<ValidatorArray value="FriendlyTarget"/>
<CaseArray Validator="NotHallucination" Effect="ThermalLancesFriendlyDamage"/>
<CaseDefault value="ThermalLancesFriendlyDamageHallucination"/>
</CEffectSwitch>
<CEffectDamage id="ThermalLancesMU">
<ValidatorArray index="0" removed="1"/>
<ValidatorArray index="1" removed="1"/>
<ValidatorArray index="2" removed="1"/>
</CEffectDamage>
<CEffectDamage id="ColossusThermalLancesDamageHallucination" parent="ThermalLancesMU">
<Name value="Effect/Name/ColossusThermalLancesDamageHallucination"/>
<ValidatorArray index="0" removed="1"/>
<ValidatorArray index="1" removed="1"/>
<ValidatorArray index="2" removed="1"/>
<AttributeBonus index="Light" value="0"/>
<ArmorReduction value="0"/>
<Amount value="0"/>
</CEffectDamage>
<CEffectDamage id="HighTemplarWeaponDamageHallucination" parent="HighTemplarWeaponDamage">
<Name value="Effect/Name/HighTemplarWeaponDamageHallucination"/>
<ArmorReduction value="0"/>
<Amount value="0"/>
</CEffectDamage>
<CEffectLaunchMissile id="HighTemplarWeaponLM">
<ImpactEffect value="HighTemplarWeaponHallucinationSwitch"/>
</CEffectLaunchMissile>
<CEffectDamage id="ImmortalPhaseDisruptorsDamageHallucination" parent="PhaseDisruptors">
<Name value="Effect/Name/ImmortalPhaseDisruptorsDamageHallucination"/>
<AttributeBonus index="Armored" value="0"/>
<ArmorReduction value="0"/>
<Amount value="0"/>
</CEffectDamage>
<CEffectLaunchMissile id="IonCannonsLMLeft">
<ImpactEffect value="IonCannonsLeftHallucinationSwitch"/>
</CEffectLaunchMissile>
<CEffectLaunchMissile id="IonCannonsLMRight">
<ImpactEffect value="IonCannonsRightHallucinationSwitch"/>
</CEffectLaunchMissile>
<CEffectDamage id="IonCannonsRightHallucination" parent="IonCannonsURight">
<Name value="Effect/Name/IonCannonsURightHallucination"/>
<AttributeBonus index="Light" value="0"/>
<ArmorReduction value="0"/>
<Amount value="0"/>
</CEffectDamage>
<CEffectSwitch id="IonCannonsRightHallucinationSwitch">
<CaseArray Validator="NotHallucination" Effect="IonCannonsULeft"/>
<CaseDefault value="IonCannonsLeftHallucination"/>
</CEffectSwitch>
<CEffectDamage id="ParticleBeamDamageHallucination" parent="ParticleBeam">
<Name value="Effect/Name/ParticleBeamDamageHallucination"/>
<ArmorReduction value="0"/>
<Amount value="0"/>
</CEffectDamage>
<CEffectLaunchMissile id="ParticleDisruptors">
<ValidatorArray index="0" removed="1"/>
<ValidatorArray index="1" removed="1"/>
<ImpactEffect value="StalkerEntropyLanceHallucinationSwitch"/>
</CEffectLaunchMissile>
<CEffectDamage id="IonCannonsLeftHallucination" parent="IonCannonsULeft">
<Name value="Effect/Name/IonCannonsLeftHallucination"/>
<AttributeBonus index="Light" value="0"/>
<ArmorReduction value="0"/>
<Amount value="0"/>
</CEffectDamage>
<CEffectSwitch id="ProbeParticleBeamHallucinationSwitch">
<CaseArray Validator="NotHallucination" Effect="ParticleBeam"/>
<CaseDefault value="ParticleBeamDamageHallucination"/>
</CEffectSwitch>
<CEffectSwitch id="AdeptImpactEffectHallucinationSwitch">
<ValidatorArray value="noMarkers"/>
<CaseArray Validator="NotHallucination" Effect="AdeptDamage"/>
<CaseDefault value="AdeptDamageHallucination"/>
</CEffectSwitch>
<CEffectSwitch id="ImmortalPhaseDisruptorsHallucinationSwitch">
<CaseArray Validator="NotHallucination" Effect="PhaseDisruptors"/>
<CaseDefault value="ImmortalPhaseDisruptorsDamageHallucination"/>
</CEffectSwitch>
<CEffectSwitch id="HighTemplarWeaponHallucinationSwitch">
<CaseArray Validator="NotHallucination" Effect="HighTemplarWeaponDamage"/>
<CaseDefault value="HighTemplarWeaponDamageHallucination"/>
</CEffectSwitch>
<CEffectSwitch id="ArchonPsionicShockwaveDamageHallucinationSwitch">
<CaseArray Validator="NotHallucination" Effect="PsionicShockwaveDamage"/>
<CaseDefault value="ArchonPsionicShockwaveDamageHallucination"/>
</CEffectSwitch>
<CEffectSwitch id="IonCannonsLeftHallucinationSwitch">
<CaseArray Validator="NotHallucination" Effect="IonCannonsULeft"/>
<CaseDefault value="IonCannonsLeftHallucination"/>
</CEffectSwitch>
<CEffectSwitch id="ColossusThermalLancesDamageHallucinationSwitch">
<ValidatorArray value="ThermalLancesCliffLevel"/>
<ValidatorArray value="NotHidden"/>
<ValidatorArray value="noMarkers"/>
<CaseArray Validator="NotHallucination" Effect="ThermalLancesMU"/>
<CaseDefault value="ColossusThermalLancesDamageHallucination"/>
</CEffectSwitch>
<CEffectDamage id="VoidRaySwarmDamageHallucination" parent="VoidRaySwarmDamage">
<Name value="Effect/Name/VoidRaySwarmDamageHallucination"/>
<AttributeBonus index="Armored" value="0"/>
<ArmorReduction value="0"/>
<Amount value="0"/>
</CEffectDamage>
<CEffectSwitch id="VoidRaySwarmDamageHallucinationSwitch">
<CaseArray Validator="NotHallucination" Effect="VoidRaySwarmDamage"/>
<CaseDefault value="VoidRaySwarmDamageHallucination"/>
</CEffectSwitch>
<CEffectDamage id="StalkerEntropyLanceDamageHallucination" parent="ParticleDisruptorsU">
<Name value="Effect/Name/StalkerEntropyLanceDamageHallucination"/>
<AttributeBonus index="Armored" value="0"/>
<ArmorReduction value="0"/>
<Amount value="0"/>
</CEffectDamage>
<CEffectSwitch id="StalkerEntropyLanceHallucinationSwitch">
<CaseArray Validator="NotHallucination" Effect="ParticleDisruptorsU"/>
<CaseDefault value="StalkerEntropyLanceDamageHallucination"/>
</CEffectSwitch>
<CEffectDamage id="PsiBlades">
<ValidatorArray index="0" removed="1"/>
</CEffectDamage>
<CEffectDamage id="PsiBladesDamageHallucination" parent="PsiBlades">
<ArmorReduction value="0"/>
<Amount value="0"/>
<Name value="Effect/Name/PsiBladesDamageHallucination"/>
</CEffectDamage>
<CEffectCreatePersistent id="PsiBladesBurst">
<PeriodicEffectArray index="0" value="ZealotPsiBladesHallucinationSwitch"/>
</CEffectCreatePersistent>
<CEffectSet id="VoidRayWeaponPeriodicSet">
<EffectArray index="0" value="VoidRaySwarmDamageHallucinationSwitch"/>
</CEffectSet>
<CEffectSwitch id="ZealotPsiBladesHallucinationSwitch">
<ValidatorArray value="NotHidden"/>
<EditorCategories value=""/>
<CaseArray Validator="NotHallucination" Effect="PsiBlades"/>
<CaseDefault value="PsiBladesDamageHallucination"/>
</CEffectSwitch>
<CActorAction id="AdeptAttack">
<On index="1" Terms="Effect.AdeptImpactEffectHallucinationSwitch.Start; FromEffectTreeDescendant"/>
<On index="2" Terms="Effect.AdeptImpactEffectHallucinationSwitch.Stop; FromEffectTreeDescendant"/>
</CActorAction>
<CActorAction id="ArchonAttack">
<On Terms="Effect.ArchonPsionicShockwaveDamageHallucination.Stop; FromEffectTreeDescendant" Send="ActionImpactPhysics"/>
<On Terms="Effect.ArchonPsionicShockwaveDamageHallucination.Start; At Caster" Send="Create"/>
</CActorAction>
<CActorAction id="ColossusAttackShieldHitter">
<On Terms="Effect.ColossusThermalLancesDamageHallucination.Start" Send="Create"/>
<On Terms="Effect.ColossusThermalLancesDamageHallucination.Start" Send="ActionDamage"/>
<On Terms="Effect.ColossusThermalLancesDamageHallucination.Stop" Send="ActionDamagePhysics"/>
<On Terms="Effect.ColossusThermalLancesDamageHallucination.Stop" Send="Destroy"/>
<On Terms="Effect.ThermalLancesFriendlyDamage.Start" Send="Create"/>
<On Terms="Effect.ThermalLancesFriendlyDamage.Start" Send="ActionDamage"/>
<On Terms="Effect.ThermalLancesFriendlyDamage.Stop" Send="ActionDamagePhysics"/>
<On Terms="Effect.ThermalLancesFriendlyDamage.Stop" Send="Destroy"/>
<On Terms="Effect.ThermalLancesFriendlyDamageHallucination.Start" Send="Create"/>
<On Terms="Effect.ThermalLancesFriendlyDamageHallucination.Start" Send="ActionDamage"/>
<On Terms="Effect.ThermalLancesFriendlyDamageHallucination.Stop" Send="ActionDamagePhysics"/>
<On Terms="Effect.ThermalLancesFriendlyDamageHallucination.Stop" Send="Destroy"/>
</CActorAction>
<CActorAction id="HighTemplarAttack">
<On index="1" Terms="Effect.HighTemplarWeaponHallucinationSwitch.Start; FromEffectTreeDescendant"/>
<On index="2" Terms="Effect.HighTemplarWeaponHallucinationSwitch.Stop; FromEffectTreeDescendant"/>
</CActorAction>
<CActorAction id="ImmortalAttack">
<On Terms="Effect.ImmortalPhaseDisruptorsDamageHallucination.Stop; FromEffectTreeDescendant" Send="ActionImpactPhysics"/>
<On Terms="Effect.ImmortalPhaseDisruptorsDamageHallucination.Start; At Caster" Send="Create"/>
</CActorAction>
<CActorAction id="PhoenixAirAttackLeft">
<On index="1" Terms="Effect.IonCannonsLeftHallucinationSwitch.Start; FromEffectTreeDescendant"/>
<On index="2" Terms="Effect.IonCannonsRightHallucinationSwitch.Stop; FromEffectTreeDescendant"/>
</CActorAction>
<CActorAction id="PhoenixAirAttackRight">
<On index="1" Terms="Effect.IonCannonsRightHallucinationSwitch.Start; FromEffectTreeDescendant"/>
<On index="2" Terms="Effect.IonCannonsRightHallucinationSwitch.Stop; FromEffectTreeDescendant"/>
</CActorAction>
<CActorAction id="ProbeAttack">
<On Terms="Effect.ParticleBeamDamageHallucination.Stop; FromEffectTreeDescendant" Send="ActionImpactPhysics"/>
<On Terms="Effect.ParticleBeamDamageHallucination.Start; At Caster" Send="Create"/>
</CActorAction>
<CActorAction id="StalkerAttack">
<On index="1" Terms="Effect.StalkerEntropyLanceHallucinationSwitch.Start; FromEffectTreeDescendant"/>
<On index="2" Terms="Effect.StalkerEntropyLanceDamageHallucination.Start; FromEffectTreeDescendant"/>
</CActorAction>
<CActorAction id="VoidRaySwarmAttack">
<On Terms="Effect.VoidRaySwarmDamageHallucination.Start; FromEffectTreeDescendant" Send="ActionDamage"/>
</CActorAction>
<CActorAction id="ZealotAttack">
<On Terms="Effect.PsiBladesDamageHallucination.Stop; FromEffectTreeDescendant" Send="ActionImpactPhysics"/>
<On Terms="Effect.PsiBladesDamageHallucination.Start; At Caster" Send="Create"/>
</CActorAction>
</Catalog>
<CWeaponLegacy id="ParticleBeam">
<Effect value="ProbeParticleBeamHallucinationSwitch"/>
</CWeaponLegacy>
<CWeaponLegacy id="PhaseDisruptors">
<Effect value="ImmortalPhaseDisruptorsHallucinationSwitch"/>
</CWeaponLegacy>
<CWeaponLegacy id="PsionicShockwave">
<Effect value="ArchonPsionicShockwaveDamageHallucinationSwitch"/>
</CWeaponLegacy>
```
This also fixes that Colossus attacking friendly units did not create shield impacts as `ColossusAttackShieldHitter` only reacted to damage done to the enemy.
[Test Map with above Fixes including Colossus' friendly fire shield impact fix](https://www.dropbox.com/s/vtgpw8ww7dnzjfy/hallucinationDmgVsAntiArmorMissiledShieldsTest.SC2Map?dl=1)
system
(system)
Closed
January 18, 2023, 4:26pm
3
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.