ValveSoftware / Dota2-Gameplay

Public Bug Tracker for Dota2
1.48k stars 81 forks source link

Game-breaking bug in Ability Draft with Viper Strike ability #17417

Open green-sam opened 4 months ago

green-sam commented 4 months ago

Description

Viper Strike's Aghs ability Nose Dive can be exploited to produce an extremely impactful bug. With the right combination of inputs, the hero with this spell is able to cast spells into the ground, which remain there for the rest of the match. It means the enemy team's creeps can never reach the base as they are killed by permanent spells.

It works with spells that are AOE and produced from the body of the caster including lina's dragon slave, gush aghs, crypt swarm. Impale and Avalanche produce a stun effect, all permanently on the ground.

Screenshot 2024-05-04 211119 Screenshot 2024-05-04 212829 Screenshot 2024-05-04 213351 Screenshot 2024-05-04 213932 Screenshot 2024-05-04 214351

Hesitant to explain exactly how to do this bug in case anyone sees it here and ruins games with it. The basic idea is that if you cast nose dive in a certain way, it causes the hero to be facing the ground instead of the horizon. If somone from Valve responds I can explain how to do it fully to them.

Example Match ID (and possibly Timestamp)

7728077723

Bloppppppp commented 3 months ago

This one needs to be fixed asap. People are catching on to it & this bug makes the game literally unplayable.

DragNH3art commented 3 months ago

This bug is not only limited to AD but also can be replicated in normal games with Rubick or Morphling replicating Viper's Nosedive effect. The abusing hero only needs to perform the Nosedive bug once and will persist in a "faceplanted" position during which the exploit can be abused.

Hypothesis: Certain inputs on Nosedive will rotate the caster but does not correctly return to an upright position. While "faceplanted" compatible spells casted using same method will attempt to cast in the direction the hero model is facing. Since the hero is facing directly downwards the spell will attempt to propagate into the ground, however the ground blocks the propagation of the spell, resulting in the spell never reaching its max distance and therefore never expiring. Therefore this spell only works with forwards propagating spells that do not have a fixed duration and expire upon reaching max distance. Spells that can be casted at variable distances (such as Beastmaster Wild Axes) are not affected. Spells that have a fixed duration (such as Elder Titan Earth Splitter) will expire normally despite having an abnormal casting pattern.

This "faceplant" position can be reset by using Nosedive normally or casting other spells that affect the rotation of the hero, and while face planted any spell that makes the hero "jump" or move forward will cease to move the hero as the hero's movement is blocked by the ground. Note that any given unit can only be affected by each instance of the spell once, so this bug is of limited effect to heroes, but since creep waves spawn new units every wave a small amount of exploited casts can permanently disable enemy creep waves.

A list of spells that permanently linger on the ground:

A list of mobility spells that cease to work properly (moves in place unless stated otherwise):

Spells that theoretically should be affected but don't:

This list is based on testing by myself in Demo Mode via Rubick. I have made this list as exhaustive as possible but there is still a small likelihood I missed some spells that interact with this bug.

Proposal: Create a special case prevents model rotation for this specific input. Also, make spells that do not have a max duration have a maximum lifetime (maybe 60s) after which they expire to prevent similar interactions in the future.

Dagsss commented 3 months ago

Experienced the same thing in my AD game, with Doom with Viper Strike and Earth Spike.