aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoroldmud0 <oldmud0@users.noreply.github.com>2020-10-31 18:26:38 -0500
committerGitHub <noreply@github.com>2020-10-31 18:26:38 -0500
commit93f370b0623523d4b4ff03b53f18dc5046e36af8 (patch)
tree6756d53b59634a4f4d94b3d786110b46cab64d4e
parente0e28983933def4b88ab8045d4352ba8f28200bd (diff)
parent48f8d8aa27ee08697d0f186a0ff6df9f244f7c53 (diff)
Merge pull request #309 from AttorneyOnline/fix-272
When deciding to present evidence, check if we've already done so
-rw-r--r--include/courtroom.h4
-rw-r--r--src/courtroom.cpp6
2 files changed, 9 insertions, 1 deletions
diff --git a/include/courtroom.h b/include/courtroom.h
index 5b5ff6c..172b9f1 100644
--- a/include/courtroom.h
+++ b/include/courtroom.h
@@ -424,8 +424,12 @@ private:
// List of all currently available pos
QStringList pos_dropdown_list;
+ // is the message we're about to send supposed to present evidence?
bool is_presenting_evidence = false;
+ // have we already presented evidence for this message?
+ bool evidence_presented = false;
+
QString effect = "";
// Music effect flags we want to send to server when we play music
diff --git a/src/courtroom.cpp b/src/courtroom.cpp
index 521e429..a12c95a 100644
--- a/src/courtroom.cpp
+++ b/src/courtroom.cpp
@@ -1762,6 +1762,7 @@ void Courtroom::reset_ic()
ui_vp_chat_arrow->stop();
text_state = 0;
anim_state = 0;
+ evidence_presented = false;
ui_vp_objection->stop();
chat_tick_timer->stop();
ui_vp_evidence_display->reset();
@@ -2254,7 +2255,8 @@ void Courtroom::handle_chatmessage_3()
.isEmpty()) // Pure whitespace showname, get outta here.
f_showname = m_chatmessage[CHAR_NAME];
- if (f_evi_id > 0 && f_evi_id <= local_evidence_list.size()) {
+ if (f_evi_id > 0 && f_evi_id <= local_evidence_list.size() &&
+ !evidence_presented) {
// shifted by 1 because 0 is no evidence per legacy standards
QString f_image = local_evidence_list.at(f_evi_id - 1).image;
QString f_evi_name = local_evidence_list.at(f_evi_id - 1).name;
@@ -2268,6 +2270,8 @@ void Courtroom::handle_chatmessage_3()
tr("has presented evidence"),
m_chatmessage[TEXT_COLOR].toInt());
append_ic_text(f_evi_name, f_showname, tr("has presented evidence"));
+ evidence_presented = true; // we're done presenting evidence, and we
+ // don't want to do it twice
}
int emote_mod = m_chatmessage[EMOTE_MOD].toInt();