aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--courtroom.cpp54
-rw-r--r--courtroom.h9
-rw-r--r--packet_distribution.cpp5
3 files changed, 68 insertions, 0 deletions
diff --git a/courtroom.cpp b/courtroom.cpp
index def0741..9c4fa32 100644
--- a/courtroom.cpp
+++ b/courtroom.cpp
@@ -209,6 +209,11 @@ Courtroom::Courtroom(AOApplication *p_ao_app) : QMainWindow()
connect(ui_realization, SIGNAL(clicked()), this, SLOT(on_realization_clicked()));
+ connect(ui_defense_minus, SIGNAL(clicked()), this, SLOT(on_defense_minus_clicked()));
+ connect(ui_defense_plus, SIGNAL(clicked()), this, SLOT(on_defense_plus_clicked()));
+ connect(ui_prosecution_minus, SIGNAL(clicked()), this, SLOT(on_prosecution_minus_clicked()));
+ connect(ui_prosecution_plus, SIGNAL(clicked()), this, SLOT(on_prosecution_plus_clicked()));
+
connect(ui_ooc_toggle, SIGNAL(clicked()), this, SLOT(on_ooc_toggle_clicked()));
connect(ui_music_search, SIGNAL(textChanged(QString)), this, SLOT(on_music_search_edited(QString)));
@@ -1211,6 +1216,23 @@ void Courtroom::handle_wtce(QString p_wtce)
}
}
+void Courtroom::set_hp_bar(int p_bar, int p_state)
+{
+ if (p_state < 0 || p_state > 10)
+ return;
+
+ if (p_bar == 1)
+ {
+ ui_defense_bar->set_image("defensebar" + QString::number(p_state) + ".png");
+ defense_bar_state = p_state;
+ }
+ else if (p_bar == 2)
+ {
+ ui_prosecution_bar->set_image("prosecutionbar" + QString::number(p_state) + ".png");
+ prosecution_bar_state = p_state;
+ }
+}
+
void Courtroom::on_ooc_return_pressed()
{
if (ui_ooc_chat_message->text() == "" || ui_ooc_chat_name->text() == "")
@@ -1361,6 +1383,38 @@ void Courtroom::on_realization_clicked()
}
}
+void Courtroom::on_defense_minus_clicked()
+{
+ int f_state = defense_bar_state - 1;
+
+ if (f_state >= 0)
+ ao_app->send_server_packet(new AOPacket("HP#1#" + QString::number(f_state) + "#%"));
+}
+
+void Courtroom::on_defense_plus_clicked()
+{
+ int f_state = defense_bar_state + 1;
+
+ if (f_state <= 10)
+ ao_app->send_server_packet(new AOPacket("HP#1#" + QString::number(f_state) + "#%"));
+}
+
+void Courtroom::on_prosecution_minus_clicked()
+{
+ int f_state = prosecution_bar_state - 1;
+
+ if (f_state >= 0)
+ ao_app->send_server_packet(new AOPacket("HP#2#" + QString::number(f_state) + "#%"));
+}
+
+void Courtroom::on_prosecution_plus_clicked()
+{
+ int f_state = prosecution_bar_state + 1;
+
+ if (f_state <= 10)
+ ao_app->send_server_packet(new AOPacket("HP#2#" + QString::number(f_state) + "#%"));
+}
+
void Courtroom::on_witness_testimony_clicked()
{
ao_app->send_server_packet(new AOPacket("RT#testimony1#%"));
diff --git a/courtroom.h b/courtroom.h
index 4c4ba12..5bcd8bb 100644
--- a/courtroom.h
+++ b/courtroom.h
@@ -72,6 +72,7 @@ public:
void play_preanim();
void handle_wtce(QString p_wtce);
+ void set_hp_bar(int p_bar, int p_state);
~Courtroom();
@@ -134,6 +135,9 @@ private:
int realization_state = 0;
int text_color = 0;
+ int defense_bar_state = 0;
+ int prosecution_bar_state = 0;
+
int current_emote_page = 0;
int current_emote = 0;
const int max_emotes_on_page = 10;
@@ -276,6 +280,11 @@ private slots:
void on_realization_clicked();
+ void on_defense_minus_clicked();
+ void on_defense_plus_clicked();
+ void on_prosecution_minus_clicked();
+ void on_prosecution_plus_clicked();
+
void on_ooc_toggle_clicked();
void on_witness_testimony_clicked();
diff --git a/packet_distribution.cpp b/packet_distribution.cpp
index d8517f3..1829e06 100644
--- a/packet_distribution.cpp
+++ b/packet_distribution.cpp
@@ -317,6 +317,11 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
if (courtroom_constructed)
w_courtroom->handle_wtce(f_contents.at(0));
}
+ else if (header == "HP")
+ {
+ if (courtroom_constructed && f_contents.size() > 1)
+ w_courtroom->set_hp_bar(f_contents.at(0).toInt(), f_contents.at(1).toInt());
+ }
else if (header == "checkconnection")
{
send_server_packet(new AOPacket("CH#" + QString::number(w_courtroom->get_cid()) + "#%"));