Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
Shushishtok opened this issue May 15, 2017 · 1 comment

Comments

@Shushishtok
Copy link

Shushishtok commented May 15, 2017

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
Copy link
Author

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.

@Perryvw Perryvw changed the title Forcing a specific hero at game start through SetCustomGameForceHero() silences heroes completely Forcing a specific hero through lua silences hero responses completely May 16, 2017
animedad420 added a commit to animedad420/Enfos that referenced this issue Sep 24, 2017
LIST OF CHANGES:
-Added a new hero selection screen made in Panorama to replace the base hero pick screen(which caused a multitude of problems for Enfo's)
-Because the hero selection's precache process is being skipped, heroes must now be precached in lua on initialization
-All players now start as io, to serve as a dummy hero for the picking process
-Pregame time increased to 40 seconds to give ample time for players to pick their heroes
-Added "hero_data" NetTable to send hero data to javascript and the pick UI, more custom event listeners tied to when the player presses UI buttons, and a repick testing console command (can only be used when cheats are enabled)
-Added chat message on wave 4 to inform players that repick can no longer be used
-Added failsafes to the damage table that stopped repicking from working correctly
-Added missing attribute to Weaponsmith's hero data
-Tied Moon Mage's starlight sphere to the hero itself via table to assist in removal on repick
-Tweaked attack/armor type descriptions to display better in Panorama

TO DO:
-UI stats and descriptions aren't fully fleshed out yet
-Team composition section of the UI
-Minimap for team placement, like the one the base game has
-Chat message upon player randoming/repicking

MISSING FEATURES:
-Typing "-repick" to bring the player back to the pick UI to repick their hero
-A chat box, because working with Panorama's DOTAChat was a living nightmare so I need to write a new one from scratch
-Randomed players must recieve +10% gold per wave and a free health potion on class random, and +50% gold per wave and two free potions on full random

KNOWN ISSUES:
-Picked heroes are replaced where they stand, need to be returned to the spawn point
-Starting hero (io) needs to be moved somewhere out of the way and made invisible when picked/repicked
-Items cannot be dropped from the players inventory when the game is paused
-Picked heroes with this UI have no voice lines. This happens with all heroes replaced thru lua commands. This will probably never be fixed. ModDota/BugTracker#119
-Repicking causes the gold per wave amounts to be incorrect, possibly because the game is trying to give gold to a hero that no longer exists(this issue has a hacky workaround in place to fix it until I can figure out what is causing it)
-Spellbringer can no longer be cycled to via cycle units button after repick
-Attack/armor modifier tooltips no longer display entire damage table
animedad420 added a commit to animedad420/Enfos that referenced this issue Sep 24, 2017
LIST OF CHANGES:
-Added a new hero selection screen made in Panorama to replace the base hero pick screen(which caused a multitude of problems for Enfo's)
-Because the hero selection's precache process is being skipped, heroes must now be precached in lua on initialization
-All players now start as io, to serve as a dummy hero for the picking process
-Pregame time increased to 40 seconds to give ample time for players to pick their heroes
-Added "hero_data" NetTable to send hero data to javascript and the pick UI, more custom event listeners tied to when the player presses UI buttons, and a repick testing console command (can only be used when cheats are enabled)
-Added chat message on wave 4 to inform players that repick can no longer be used
-Added failsafes to the damage table that stopped repicking from working correctly
-Added missing attribute to Weaponsmith's hero data
-Tied Moon Mage's starlight sphere to the hero itself via table to assist in removal on repick
-Tweaked attack/armor type descriptions to display better in Panorama

TO DO:
-UI stats and descriptions aren't fully fleshed out yet
-Team composition section of the UI
-Minimap for team placement, like the one the base game has
-Chat message upon player randoming/repicking

MISSING FEATURES:
-Typing "-repick" to bring the player back to the pick UI to repick their hero
-A chat box, because working with Panorama's DOTAChat was a living nightmare so I need to write a new one from scratch
-Randomed players must recieve +10% gold per wave and a free health potion on class random, and +50% gold per wave and two free potions on full random

KNOWN ISSUES:
-Picked heroes are replaced where they stand, need to be returned to the spawn point
-Starting hero (io) needs to be moved somewhere out of the way and made invisible when picked/repicked
-Items cannot be dropped from the players inventory when the game is paused
-Picked heroes with this UI have no voice lines. This happens with all heroes replaced thru lua commands. This will probably never be fixed. ModDota/BugTracker#119
-Repicking causes the gold per wave amounts to be incorrect, possibly because the game is trying to give gold to a hero that no longer exists(this issue has a hacky workaround in place to fix it until I can figure out what is causing it)
-Spellbringer can no longer be cycled to via cycle units button after repick
-Attack/armor modifier tooltips no longer display entire damage table
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants