ValveSoftware / Dota2-Gameplay

Public Bug Tracker for Dota2
1.46k stars 77 forks source link

Ability bug (Counterspell, Antimage) #19601

Open Wuzihaogeorge opened 1 month ago

Wuzihaogeorge commented 1 month ago

Ability name

Counterspell (Antimage)

Description

In the game, visage casted lv1 soul assumption to antimage. The antimage had the facet "Magebane's mirror", which should enable him to reflect the soul assumption when he uses counterspell. However, the ability was ``absorbed", which means neither antimage and visage is damaged.

After some tests in training mode, I've found that: if the antimage casts counterspell before the visage casts soul assumption, the ability works well; however, if the antimage casts counterspell after visage (but before the animation arrives), the bug seems to happen. Besides, the possibly wrong interaction seems to happen only in counterspell vs soul assumption, the other interaction (e.g. Pudge's dismember) works fine with antimage's counterspell.

I've attached the match ID and timestamp below. Thanks for checking it.

Example Match ID (and possibly Timestamp)

7815137232 - 00:59 (server: south east Asia)

Aluerie commented 1 month ago

not really a bug, just some (sometimes) unintuitive design ;

Spells get blocked/reflected by linken/lotus/counterspell either on cast or on impact depending on how they coded. mostly related to invis projectiles

Other examples are poison touch, phantom embrace, sb charge, harpoon, death seeker

Wuzihaogeorge commented 1 month ago

Thanks for replying. I've tried to test, lotus vs soul assumption, seems the reflection works identically with counterspell. I guess the mechanism may work like following:

soul assumption requires to check the degree of damage (0/1/2/3/4/5, if applicable) to decide the damage dealt. If counterspell casts after the soul assumption, when the projectile actually arrives, the counterspell tries to counter casts a soul assumption, but fails to find a timestamp to check the degree of damage. Thus, the soul assumption is only blocked but not reflected.

It could be argued as a bug or feature, but still not consistent in my point of view. Imagine that gryo's missile is not reflected by lotus/counterspell if they are casted after the missile, it's kind of weird. The soul assumption is basically the same, except that the damage dealt depends on energy point.