Added support for the stenographer role in case alerts.
This commit is contained in:
parent
de8badc9a6
commit
962289793d
@ -288,6 +288,9 @@ public:
|
|||||||
// Same for juror.
|
// Same for juror.
|
||||||
bool get_casing_juror_enabled();
|
bool get_casing_juror_enabled();
|
||||||
|
|
||||||
|
// Same for steno.
|
||||||
|
bool get_casing_steno_enabled();
|
||||||
|
|
||||||
// Same for CM.
|
// Same for CM.
|
||||||
bool get_casing_cm_enabled();
|
bool get_casing_cm_enabled();
|
||||||
|
|
||||||
|
@ -51,11 +51,14 @@ AOCaseAnnouncerDialog::AOCaseAnnouncerDialog(QWidget *parent, AOApplication *p_a
|
|||||||
JudgeNeeded->setText("Judge needed");
|
JudgeNeeded->setText("Judge needed");
|
||||||
JurorNeeded = new QCheckBox(this);
|
JurorNeeded = new QCheckBox(this);
|
||||||
JurorNeeded->setText("Jurors needed");
|
JurorNeeded->setText("Jurors needed");
|
||||||
|
StenographerNeeded = new QCheckBox(this);
|
||||||
|
StenographerNeeded->setText("Stenographer needed");
|
||||||
|
|
||||||
FormLayout->setWidget(1, QFormLayout::FieldRole, DefenceNeeded);
|
FormLayout->setWidget(1, QFormLayout::FieldRole, DefenceNeeded);
|
||||||
FormLayout->setWidget(2, QFormLayout::FieldRole, ProsecutorNeeded);
|
FormLayout->setWidget(2, QFormLayout::FieldRole, ProsecutorNeeded);
|
||||||
FormLayout->setWidget(3, QFormLayout::FieldRole, JudgeNeeded);
|
FormLayout->setWidget(3, QFormLayout::FieldRole, JudgeNeeded);
|
||||||
FormLayout->setWidget(4, QFormLayout::FieldRole, JurorNeeded);
|
FormLayout->setWidget(4, QFormLayout::FieldRole, JurorNeeded);
|
||||||
|
FormLayout->setWidget(5, QFormLayout::FieldRole, StenographerNeeded);
|
||||||
|
|
||||||
setUpdatesEnabled(true);
|
setUpdatesEnabled(true);
|
||||||
}
|
}
|
||||||
@ -66,7 +69,8 @@ void AOCaseAnnouncerDialog::ok_pressed()
|
|||||||
DefenceNeeded->isChecked(),
|
DefenceNeeded->isChecked(),
|
||||||
ProsecutorNeeded->isChecked(),
|
ProsecutorNeeded->isChecked(),
|
||||||
JudgeNeeded->isChecked(),
|
JudgeNeeded->isChecked(),
|
||||||
JurorNeeded->isChecked());
|
JurorNeeded->isChecked(),
|
||||||
|
StenographerNeeded->isChecked());
|
||||||
|
|
||||||
done(0);
|
done(0);
|
||||||
}
|
}
|
||||||
|
@ -35,6 +35,7 @@ private:
|
|||||||
QCheckBox *ProsecutorNeeded;
|
QCheckBox *ProsecutorNeeded;
|
||||||
QCheckBox *JudgeNeeded;
|
QCheckBox *JudgeNeeded;
|
||||||
QCheckBox *JurorNeeded;
|
QCheckBox *JurorNeeded;
|
||||||
|
QCheckBox *StenographerNeeded;
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void ok_pressed();
|
void ok_pressed();
|
||||||
|
@ -388,18 +388,31 @@ AOOptionsDialog::AOOptionsDialog(QWidget *parent, AOApplication *p_ao_app) : QDi
|
|||||||
|
|
||||||
CasingForm->setWidget(5, QFormLayout::FieldRole, JurorCheckbox);
|
CasingForm->setWidget(5, QFormLayout::FieldRole, JurorCheckbox);
|
||||||
|
|
||||||
|
// -- STENO ANNOUNCEMENTS
|
||||||
|
|
||||||
|
StenographerLabel = new QLabel(formLayoutWidget_3);
|
||||||
|
StenographerLabel->setText("Stenographer:");
|
||||||
|
StenographerLabel->setToolTip("If checked, you will get alerts about case announcements if a stenographer spot is open.");
|
||||||
|
|
||||||
|
CasingForm->setWidget(6, QFormLayout::LabelRole, StenographerLabel);
|
||||||
|
|
||||||
|
StenographerCheckbox = new QCheckBox(formLayoutWidget_3);
|
||||||
|
StenographerCheckbox->setChecked(ao_app->get_casing_steno_enabled());
|
||||||
|
|
||||||
|
CasingForm->setWidget(6, QFormLayout::FieldRole, StenographerCheckbox);
|
||||||
|
|
||||||
// -- CM ANNOUNCEMENTS
|
// -- CM ANNOUNCEMENTS
|
||||||
|
|
||||||
CMLabel = new QLabel(formLayoutWidget_3);
|
CMLabel = new QLabel(formLayoutWidget_3);
|
||||||
CMLabel->setText("CM:");
|
CMLabel->setText("CM:");
|
||||||
CMLabel->setToolTip("If checked, you will appear amongst the potential CMs on the server.");
|
CMLabel->setToolTip("If checked, you will appear amongst the potential CMs on the server.");
|
||||||
|
|
||||||
CasingForm->setWidget(6, QFormLayout::LabelRole, CMLabel);
|
CasingForm->setWidget(7, QFormLayout::LabelRole, CMLabel);
|
||||||
|
|
||||||
CMCheckbox = new QCheckBox(formLayoutWidget_3);
|
CMCheckbox = new QCheckBox(formLayoutWidget_3);
|
||||||
CMCheckbox->setChecked(ao_app->get_casing_cm_enabled());
|
CMCheckbox->setChecked(ao_app->get_casing_cm_enabled());
|
||||||
|
|
||||||
CasingForm->setWidget(6, QFormLayout::FieldRole, CMCheckbox);
|
CasingForm->setWidget(7, QFormLayout::FieldRole, CMCheckbox);
|
||||||
|
|
||||||
// -- CM CASES ANNOUNCEMENTS
|
// -- CM CASES ANNOUNCEMENTS
|
||||||
|
|
||||||
@ -407,12 +420,12 @@ AOOptionsDialog::AOOptionsDialog(QWidget *parent, AOApplication *p_ao_app) : QDi
|
|||||||
CMCasesLabel->setText("Hosting cases:");
|
CMCasesLabel->setText("Hosting cases:");
|
||||||
CMCasesLabel->setToolTip("If you're a CM, enter what cases are you willing to host.");
|
CMCasesLabel->setToolTip("If you're a CM, enter what cases are you willing to host.");
|
||||||
|
|
||||||
CasingForm->setWidget(7, QFormLayout::LabelRole, CMCasesLabel);
|
CasingForm->setWidget(8, QFormLayout::LabelRole, CMCasesLabel);
|
||||||
|
|
||||||
CMCasesLineEdit = new QLineEdit(formLayoutWidget_3);
|
CMCasesLineEdit = new QLineEdit(formLayoutWidget_3);
|
||||||
CMCasesLineEdit->setText(ao_app->get_casing_can_host_cases());
|
CMCasesLineEdit->setText(ao_app->get_casing_can_host_cases());
|
||||||
|
|
||||||
CasingForm->setWidget(7, QFormLayout::FieldRole, CMCasesLineEdit);
|
CasingForm->setWidget(8, QFormLayout::FieldRole, CMCasesLineEdit);
|
||||||
|
|
||||||
// When we're done, we should continue the updates!
|
// When we're done, we should continue the updates!
|
||||||
setUpdatesEnabled(true);
|
setUpdatesEnabled(true);
|
||||||
@ -456,6 +469,7 @@ void AOOptionsDialog::save_pressed()
|
|||||||
configini->setValue("casing_prosecution_enabled", ProsecutorCheckbox->isChecked());
|
configini->setValue("casing_prosecution_enabled", ProsecutorCheckbox->isChecked());
|
||||||
configini->setValue("casing_judge_enabled", JudgeCheckbox->isChecked());
|
configini->setValue("casing_judge_enabled", JudgeCheckbox->isChecked());
|
||||||
configini->setValue("casing_juror_enabled", JurorCheckbox->isChecked());
|
configini->setValue("casing_juror_enabled", JurorCheckbox->isChecked());
|
||||||
|
configini->setValue("casing_steno_enabled", StenographerCheckbox->isChecked());
|
||||||
configini->setValue("casing_cm_enabled", CMCheckbox->isChecked());
|
configini->setValue("casing_cm_enabled", CMCheckbox->isChecked());
|
||||||
configini->setValue("casing_can_host_casees", CMCasesLineEdit->text());
|
configini->setValue("casing_can_host_casees", CMCasesLineEdit->text());
|
||||||
|
|
||||||
|
@ -96,6 +96,8 @@ private:
|
|||||||
QCheckBox *JudgeCheckbox;
|
QCheckBox *JudgeCheckbox;
|
||||||
QLabel *JurorLabel;
|
QLabel *JurorLabel;
|
||||||
QCheckBox *JurorCheckbox;
|
QCheckBox *JurorCheckbox;
|
||||||
|
QLabel *StenographerLabel;
|
||||||
|
QCheckBox *StenographerCheckbox;
|
||||||
QLabel *CMLabel;
|
QLabel *CMLabel;
|
||||||
QCheckBox *CMCheckbox;
|
QCheckBox *CMCheckbox;
|
||||||
QLabel *CMCasesLabel;
|
QLabel *CMCasesLabel;
|
||||||
|
@ -2722,7 +2722,7 @@ void Courtroom::mod_called(QString p_ip)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Courtroom::case_called(QString msg, bool def, bool pro, bool jud, bool jur)
|
void Courtroom::case_called(QString msg, bool def, bool pro, bool jud, bool jur, bool steno)
|
||||||
{
|
{
|
||||||
if (ui_casing->isChecked())
|
if (ui_casing->isChecked())
|
||||||
{
|
{
|
||||||
@ -2730,7 +2730,8 @@ void Courtroom::case_called(QString msg, bool def, bool pro, bool jud, bool jur)
|
|||||||
if ((ao_app->get_casing_defence_enabled() && def) ||
|
if ((ao_app->get_casing_defence_enabled() && def) ||
|
||||||
(ao_app->get_casing_prosecution_enabled() && pro) ||
|
(ao_app->get_casing_prosecution_enabled() && pro) ||
|
||||||
(ao_app->get_casing_judge_enabled() && jud) ||
|
(ao_app->get_casing_judge_enabled() && jud) ||
|
||||||
(ao_app->get_casing_juror_enabled() && jur))
|
(ao_app->get_casing_juror_enabled() && jur) ||
|
||||||
|
(ao_app->get_casing_steno_enabled() && steno))
|
||||||
{
|
{
|
||||||
modcall_player->play(ao_app->get_sfx("case_call"));
|
modcall_player->play(ao_app->get_sfx("case_call"));
|
||||||
ao_app->alert(this);
|
ao_app->alert(this);
|
||||||
@ -3564,13 +3565,14 @@ void Courtroom::on_casing_clicked()
|
|||||||
+ " " + QString::number(ao_app->get_casing_prosecution_enabled())
|
+ " " + QString::number(ao_app->get_casing_prosecution_enabled())
|
||||||
+ " " + QString::number(ao_app->get_casing_judge_enabled())
|
+ " " + QString::number(ao_app->get_casing_judge_enabled())
|
||||||
+ " " + QString::number(ao_app->get_casing_juror_enabled())
|
+ " " + QString::number(ao_app->get_casing_juror_enabled())
|
||||||
|
+ " " + QString::number(ao_app->get_casing_steno_enabled())
|
||||||
+ "#%"));
|
+ "#%"));
|
||||||
else
|
else
|
||||||
ao_app->send_server_packet(new AOPacket("CT#" + ui_ooc_chat_name->text() + "#/setcase \"\" 0 0 0 0 0#%"));
|
ao_app->send_server_packet(new AOPacket("CT#" + ui_ooc_chat_name->text() + "#/setcase \"\" 0 0 0 0 0 0#%"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Courtroom::announce_case(QString title, bool def, bool pro, bool jud, bool jur)
|
void Courtroom::announce_case(QString title, bool def, bool pro, bool jud, bool jur, bool steno)
|
||||||
{
|
{
|
||||||
if (ao_app->casing_alerts_enabled)
|
if (ao_app->casing_alerts_enabled)
|
||||||
ao_app->send_server_packet(new AOPacket("CT#" + ui_ooc_chat_name->text() + "#/anncase \""
|
ao_app->send_server_packet(new AOPacket("CT#" + ui_ooc_chat_name->text() + "#/anncase \""
|
||||||
@ -3578,7 +3580,8 @@ void Courtroom::announce_case(QString title, bool def, bool pro, bool jud, bool
|
|||||||
+ QString::number(def) + " "
|
+ QString::number(def) + " "
|
||||||
+ QString::number(pro) + " "
|
+ QString::number(pro) + " "
|
||||||
+ QString::number(jud) + " "
|
+ QString::number(jud) + " "
|
||||||
+ QString::number(jur)
|
+ QString::number(jur) + " "
|
||||||
|
+ QString::number(steno)
|
||||||
+ "#%"));
|
+ "#%"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -198,7 +198,7 @@ public:
|
|||||||
//state is an number between 0 and 10 inclusive
|
//state is an number between 0 and 10 inclusive
|
||||||
void set_hp_bar(int p_bar, int p_state);
|
void set_hp_bar(int p_bar, int p_state);
|
||||||
|
|
||||||
void announce_case(QString title, bool def, bool pro, bool jud, bool jur);
|
void announce_case(QString title, bool def, bool pro, bool jud, bool jur, bool steno);
|
||||||
|
|
||||||
void check_connection_received();
|
void check_connection_received();
|
||||||
|
|
||||||
@ -551,7 +551,7 @@ public slots:
|
|||||||
|
|
||||||
void mod_called(QString p_ip);
|
void mod_called(QString p_ip);
|
||||||
|
|
||||||
void case_called(QString msg, bool def, bool pro, bool jud, bool jur);
|
void case_called(QString msg, bool def, bool pro, bool jud, bool jur, bool steno);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void start_chat_ticking();
|
void start_chat_ticking();
|
||||||
|
@ -662,10 +662,8 @@ void AOApplication::server_packet_received(AOPacket *p_packet)
|
|||||||
}
|
}
|
||||||
else if (header == "CASEA")
|
else if (header == "CASEA")
|
||||||
{
|
{
|
||||||
if (courtroom_constructed && f_contents.size() > 0)
|
if (courtroom_constructed && f_contents.size() > 6)
|
||||||
w_courtroom->case_called(f_contents.at(0), f_contents.at(1) == "1", f_contents.at(2) == "1", f_contents.at(3) == "1", f_contents.at(4) == "1");
|
w_courtroom->case_called(f_contents.at(0), f_contents.at(1) == "1", f_contents.at(2) == "1", f_contents.at(3) == "1", f_contents.at(4) == "1", f_contents.at(5) == "1");
|
||||||
qDebug() << f_contents;
|
|
||||||
qDebug() << (f_contents.at(1) == "1");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
end:
|
end:
|
||||||
|
@ -72,6 +72,7 @@ class ClientManager:
|
|||||||
self.casing_pro = False
|
self.casing_pro = False
|
||||||
self.casing_jud = False
|
self.casing_jud = False
|
||||||
self.casing_jur = False
|
self.casing_jur = False
|
||||||
|
self.casing_steno = False
|
||||||
self.case_call_time = 0
|
self.case_call_time = 0
|
||||||
|
|
||||||
#flood-guard stuff
|
#flood-guard stuff
|
||||||
|
@ -780,6 +780,7 @@ def ooc_cmd_setcase(client, arg):
|
|||||||
client.casing_pro = args[3] == "1"
|
client.casing_pro = args[3] == "1"
|
||||||
client.casing_jud = args[4] == "1"
|
client.casing_jud = args[4] == "1"
|
||||||
client.casing_jur = args[5] == "1"
|
client.casing_jur = args[5] == "1"
|
||||||
|
client.casing_steno = args[6] == "1"
|
||||||
|
|
||||||
def ooc_cmd_anncase(client, arg):
|
def ooc_cmd_anncase(client, arg):
|
||||||
if client in client.area.owners:
|
if client in client.area.owners:
|
||||||
@ -791,7 +792,7 @@ def ooc_cmd_anncase(client, arg):
|
|||||||
elif len(args) == 1:
|
elif len(args) == 1:
|
||||||
raise ArgumentError('You should probably announce the case to at least one person.')
|
raise ArgumentError('You should probably announce the case to at least one person.')
|
||||||
else:
|
else:
|
||||||
if not args[1] == "1" and not args[2] == "1" and not args[3] == "1" and not args[4] == "1":
|
if not args[1] == "1" and not args[2] == "1" and not args[3] == "1" and not args[4] == "1" and not args[5] == "1":
|
||||||
raise ArgumentError('You should probably announce the case to at least one person.')
|
raise ArgumentError('You should probably announce the case to at least one person.')
|
||||||
msg = '=== Case Announcement ===\r\n{} [{}] is hosting {}, looking for '.format(client.get_char_name(), client.id, args[0])
|
msg = '=== Case Announcement ===\r\n{} [{}] is hosting {}, looking for '.format(client.get_char_name(), client.id, args[0])
|
||||||
|
|
||||||
@ -805,14 +806,16 @@ def ooc_cmd_anncase(client, arg):
|
|||||||
lookingfor.append("judge")
|
lookingfor.append("judge")
|
||||||
if args[4] == "1":
|
if args[4] == "1":
|
||||||
lookingfor.append("juror")
|
lookingfor.append("juror")
|
||||||
|
if args[5] == "1":
|
||||||
|
lookingfor.append("stenographer")
|
||||||
|
|
||||||
msg = msg + ', '.join(lookingfor) + '.\r\n=================='
|
msg = msg + ', '.join(lookingfor) + '.\r\n=================='
|
||||||
|
|
||||||
client.server.send_all_cmd_pred('CASEA', msg, args[1], args[2], args[3], args[4], '1')
|
client.server.send_all_cmd_pred('CASEA', msg, args[1], args[2], args[3], args[4], args[5], '1')
|
||||||
|
|
||||||
client.set_case_call_delay()
|
client.set_case_call_delay()
|
||||||
|
|
||||||
logger.log_server('[{}][{}][CASE_ANNOUNCEMENT]{}, DEF: {}, PRO: {}, JUD: {}, JUR: {}.'.format(client.area.abbreviation, client.get_char_name(), args[0], args[1], args[2], args[3], args[4]), client)
|
logger.log_server('[{}][{}][CASE_ANNOUNCEMENT]{}, DEF: {}, PRO: {}, JUD: {}, JUR: {}, STENO: {}.'.format(client.area.abbreviation, client.get_char_name(), args[0], args[1], args[2], args[3], args[4], args[5]), client)
|
||||||
else:
|
else:
|
||||||
raise ClientError('You cannot announce a case in an area where you are not a CM!')
|
raise ClientError('You cannot announce a case in an area where you are not a CM!')
|
||||||
|
|
||||||
|
@ -548,6 +548,12 @@ bool AOApplication::get_casing_juror_enabled()
|
|||||||
return result.startsWith("true");
|
return result.startsWith("true");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool AOApplication::get_casing_steno_enabled()
|
||||||
|
{
|
||||||
|
QString result = configini->value("casing_steno_enabled", "false").value<QString>();
|
||||||
|
return result.startsWith("true");
|
||||||
|
}
|
||||||
|
|
||||||
bool AOApplication::get_casing_cm_enabled()
|
bool AOApplication::get_casing_cm_enabled()
|
||||||
{
|
{
|
||||||
QString result = configini->value("casing_cm_enabled", "false").value<QString>();
|
QString result = configini->value("casing_cm_enabled", "false").value<QString>();
|
||||||
|
Loading…
Reference in New Issue
Block a user