Fixed the fullstop-silence bug.

Made it so that characters correctly switch to-and-fro idle / talking
anims during full stops, and don't interrupt non-interrupting pres.
This commit is contained in:
Cerapter 2018-10-23 09:51:53 +02:00
parent 546d3c8970
commit 3f41ed1341

View File

@ -2297,7 +2297,7 @@ void Courtroom::chat_tick()
// Silencing the character during long times of ellipses. // Silencing the character during long times of ellipses.
else if (f_character == "." and !next_character_is_not_special and !previous_character_is_fullstop) else if (f_character == "." and !next_character_is_not_special and !previous_character_is_fullstop)
{ {
if (!previous_character_is_fullstop && inline_blue_depth == 0 && !entire_message_is_blue) if (!previous_character_is_fullstop && inline_blue_depth == 0 && !entire_message_is_blue && anim_state != 4)
{ {
QString f_char = m_chatmessage[CHAR_NAME]; QString f_char = m_chatmessage[CHAR_NAME];
QString f_emote = m_chatmessage[EMOTE]; QString f_emote = m_chatmessage[EMOTE];
@ -2352,8 +2352,9 @@ void Courtroom::chat_tick()
// - But the previous character was // - But the previous character was
// - And we're out of inline blues // - And we're out of inline blues
// - And the entire messages isn't blue // - And the entire messages isn't blue
// - And we aren't still in a non-interrupting pre
// - And this isn't the last character. // - And this isn't the last character.
if (f_character != "." && previous_character_is_fullstop && inline_blue_depth == 0 && !entire_message_is_blue && tick_pos+1 >= f_message.size()) if (f_character != "." && previous_character_is_fullstop && inline_blue_depth == 0 && !entire_message_is_blue && anim_state != 4 && tick_pos+1 <= f_message.size())
{ {
QString f_char = m_chatmessage[CHAR_NAME]; QString f_char = m_chatmessage[CHAR_NAME];
QString f_emote = m_chatmessage[EMOTE]; QString f_emote = m_chatmessage[EMOTE];