-
Notifications
You must be signed in to change notification settings - Fork 70
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
Fix for overlapping voicelines when a squadmate dies and prevent incapacitated units from playing voicelines #1421
Fix for overlapping voicelines when a squadmate dies and prevent incapacitated units from playing voicelines #1421
Conversation
089b375
to
a930944
Compare
f96892e
to
7765a8f
Compare
Happy with the checks on X2Action_ApplyWeaponDamageToUnit is working properly but not happy with checking the visualizer state for the the delayed 'SquadMemberDead' line. If the visualizer progresses immediately onto something else (e.g. if alien unit 1 kills xcom unit 1 then alien unit 2 does something straight afterwards), then it can progress onto the next action seamlessly before playing the squadmemberdead line (which usually means waiting until the start of the next turn for the line to play) - ultimately, relying on idle state of the visualizer was not very effective. I had tried with static delays earlier in testing, which worked reasonably well, in any case much better than overlapping with the death screams, but with long visualization blocks it can still overlap a little with other stuff that's going on. I've tested this with several delay times and foun ~2.5 seconds to be around the sweet spot so I've set that directly in the PR for now. We could make it a configurable variable in CHHelpers if preferred. |
a1c22e8
to
d1bb889
Compare
c7fa5f4
to
34b6042
Compare
X2WOTCCommunityHighlander/Src/XComGame/Classes/X2Action_ApplyWeaponDamageToUnit.uc
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is mostly good to go, just needs minor docs / styling changes.
Tested, works great. |
Pushed a new version with your requests - Just need to test it after making that function private before finalising. |
5e906a1
to
70992c9
Compare
@@ -264,6 +264,9 @@ var config bool bDisableAimAssist; | |||
var config bool bForce24hClock; | |||
var config bool bForce24hclockLeadingZero; | |||
|
|||
// Variable for Issue #1398 - Number of seconds to wait after a unit is killed before playing the 'OnSquadMemberDead' voiceline | |||
var config int fSquadMemberDeadVoicelineDelay; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is int
now? Was this always int? It should be float.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Think it was, changed now
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs just a bit more hair-licking.
… voicelines playing when unit is killed. Added a delay to the SquadMemberDead voiceline in XGUnit so it doesn't overlap the death voicelines & other visualization.
70992c9
to
9e012b2
Compare
Should be good to go - did a quick test and making the function private and changing the variable to float type hasn't effected anything functionally that I could notice. |
Fixes #1398