aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCerapter <cerap@protonmail.com>2018-09-04 22:45:07 +0200
committerCerapter <cerap@protonmail.com>2018-09-04 22:45:07 +0200
commitadfe21afd6e5f4efc9c60b45590f4c086b9e0e52 (patch)
treed431cf3d7a6ad16e4a44421fe997d32cc9fa8463
parentd0a6e081de9df220a1575bcd81056a04d79e9b42 (diff)
Added `jur` and `sea` positions.
-rw-r--r--courtroom.cpp14
-rw-r--r--server/aoprotocol.py2
-rw-r--r--server/client_manager.py4
-rw-r--r--server/evidence.py11
4 files changed, 26 insertions, 5 deletions
diff --git a/courtroom.cpp b/courtroom.cpp
index c4d90748..6df5f9fb 100644
--- a/courtroom.cpp
+++ b/courtroom.cpp
@@ -137,6 +137,8 @@ Courtroom::Courtroom(AOApplication *p_ao_app) : QMainWindow()
ui_pos_dropdown->addItem("jud");
ui_pos_dropdown->addItem("hld");
ui_pos_dropdown->addItem("hlp");
+ ui_pos_dropdown->addItem("jur");
+ ui_pos_dropdown->addItem("sea");
ui_defense_bar = new AOImage(this, ao_app);
ui_prosecution_bar = new AOImage(this, ao_app);
@@ -1482,7 +1484,7 @@ void Courtroom::handle_chatmessage_3()
//shifted by 1 because 0 is no evidence per legacy standards
QString f_image = local_evidence_list.at(f_evi_id - 1).image;
//def jud and hlp should display the evidence icon on the RIGHT side
- bool is_left_side = !(f_side == "def" || f_side == "hlp" || f_side == "jud");
+ bool is_left_side = !(f_side == "def" || f_side == "hlp" || f_side == "jud" || f_side == "jur");
ui_vp_evidence_display->show_evidence(f_image, is_left_side, ui_sfx_slider->value());
}
@@ -2321,6 +2323,16 @@ void Courtroom::set_scene()
f_background = "prohelperstand";
f_desk_image = "prohelperdesk";
}
+ else if (f_side == "jur")
+ {
+ f_background = "jurystand";
+ f_desk_image = "jurydesk";
+ }
+ else if (f_side == "sea")
+ {
+ f_background = "seancestand";
+ f_desk_image = "seancedesk";
+ }
else
{
if (is_ao2_bg)
diff --git a/server/aoprotocol.py b/server/aoprotocol.py
index 4e725d05..d7a2c6c3 100644
--- a/server/aoprotocol.py
+++ b/server/aoprotocol.py
@@ -427,7 +427,7 @@ class AOProtocol(asyncio.Protocol):
if self.client.pos:
pos = self.client.pos
else:
- if pos not in ('def', 'pro', 'hld', 'hlp', 'jud', 'wit'):
+ if pos not in ('def', 'pro', 'hld', 'hlp', 'jud', 'wit', 'jur', 'sea'):
return
msg = text[:256]
if self.client.shaken:
diff --git a/server/client_manager.py b/server/client_manager.py
index 23102986..5e6825bb 100644
--- a/server/client_manager.py
+++ b/server/client_manager.py
@@ -345,8 +345,8 @@ class ClientManager:
return self.server.char_list[self.char_id]
def change_position(self, pos=''):
- if pos not in ('', 'def', 'pro', 'hld', 'hlp', 'jud', 'wit'):
- raise ClientError('Invalid position. Possible values: def, pro, hld, hlp, jud, wit.')
+ if pos not in ('', 'def', 'pro', 'hld', 'hlp', 'jud', 'wit', 'jur', 'sea'):
+ raise ClientError('Invalid position. Possible values: def, pro, hld, hlp, jud, wit, jur, sea.')
self.pos = pos
def set_mod_call_delay(self):
diff --git a/server/evidence.py b/server/evidence.py
index ddd9ba30..efa2e254 100644
--- a/server/evidence.py
+++ b/server/evidence.py
@@ -24,7 +24,16 @@ class EvidenceList:
def __init__(self):
self.evidences = []
- self.poses = {'def':['def', 'hld'], 'pro':['pro', 'hlp'], 'wit':['wit'], 'hlp':['hlp', 'pro'], 'hld':['hld', 'def'], 'jud':['jud'], 'all':['hlp', 'hld', 'wit', 'jud', 'pro', 'def', ''], 'pos':[]}
+ self.poses = {'def':['def', 'hld'],
+ 'pro':['pro', 'hlp'],
+ 'wit':['wit', 'sea'],
+ 'sea':['sea', 'wit'],
+ 'hlp':['hlp', 'pro'],
+ 'hld':['hld', 'def'],
+ 'jud':['jud', 'jur'],
+ 'jur':['jur', 'jud'],
+ 'all':['hlp', 'hld', 'wit', 'jud', 'pro', 'def', 'jur', 'sea', ''],
+ 'pos':[]}
def login(self, client):
if client.area.evidence_mod == 'FFA':