ModDota / BugTracker

Listing bugs for Dota 2 Custom Games
9 stars 1 forks source link

Forcing a specific hero through lua silences hero responses completely #119

Open Shushishtok opened 7 years ago

Shushishtok commented 7 years ago

This issue affects all mods since 7/15/2017 or so, where a bunch of patches came following the release of the current Battle Pass. (the Dark Reef themed patch).

Since then, all mods that use the SetCustomGameForceHero() function to force players a specific hero have their heroes silenced completely. They do not comment when issuing movement or attack orders, do not "thanks" players, killing or dying. They are just silent. Forcing sounds like a movement sound through the various EmitSound() functions works successfully, so my guess is that it isn't related to precaching sound files.

Weirdly enough, this also affects heroes created through -createhero. However, when heroes summoned in this form die and respawn, their lines are activated, and they can talk freely once again. However, this does not happen on player's assigned heroes.

Removing the forced hero function fixes the problem, but on some cases we simply cannot do that, as a player must own a hero when it enters a game.

A hero being silent feels very disturbing, as a large part of playing a hero is hearing him speak - we love the voicelines and regard them as important as the heroes' actual gameplay.

Thanks in advance, Shush

Shushishtok commented 7 years ago

After some research, I've reached a few more conclusions. The first, I was mistaken; it wasn't SetCustomGameForceHero() that was causing it, this is actually working fine. Usually modes that use it do so to skip the hero selection screen and apply their own, where the actual hero is chosen. (applies to Dota IMBA, Legends of Dota Redux, maybe even Crumbling Island Arena).

So, using any kind of hero through ReplaceHeroWith() or CreateHeroForPlayer(), which is to say, anything that adds a new hero unit for the player to control, makes it silent.