Fix blankposting not respecting character ID's in the equation (#282)

Fixes an issue where if you blankpost on top of another character's blankpost, your message won't show up on the ic log clientside.
This commit is contained in:
Crystalwarrior 2020-12-28 10:19:15 +03:00 committed by GitHub
parent 39a8ab8ab2
commit 570bad6d47
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1810,6 +1810,7 @@ void Courtroom::handle_chatmessage(QStringList *p_contents)
if (p_contents->size() < MS_MINIMUM) if (p_contents->size() < MS_MINIMUM)
return; return;
int prev_char_id = m_chatmessage[CHAR_ID].toInt();
for (int n_string = 0; n_string < MS_MAXIMUM; ++n_string) { for (int n_string = 0; n_string < MS_MAXIMUM; ++n_string) {
// Note that we have added stuff that vanilla clients and servers simply // Note that we have added stuff that vanilla clients and servers simply
// won't send. So now, we have to check if the thing we want even exists // won't send. So now, we have to check if the thing we want even exists
@ -1878,8 +1879,8 @@ void Courtroom::handle_chatmessage(QStringList *p_contents)
m_chatmessage[MESSAGE] = ""; // Turn it into true blankpost m_chatmessage[MESSAGE] = ""; // Turn it into true blankpost
} }
if (!m_chatmessage[MESSAGE].isEmpty() || ic_chatlog_history.isEmpty() || if (prev_char_id != f_char_id || !m_chatmessage[MESSAGE].isEmpty() ||
ic_chatlog_history.last().get_message() != "") { ic_chatlog_history.isEmpty() || ic_chatlog_history.last().get_message() != "") {
log_ic_text(f_charname, f_displayname, m_chatmessage[MESSAGE], "", log_ic_text(f_charname, f_displayname, m_chatmessage[MESSAGE], "",
m_chatmessage[TEXT_COLOR].toInt()); m_chatmessage[TEXT_COLOR].toInt());
append_ic_text(m_chatmessage[MESSAGE], f_displayname, "", append_ic_text(m_chatmessage[MESSAGE], f_displayname, "",