Index: binaries/data/config/default.cfg
===================================================================
--- binaries/data/config/default.cfg
+++ binaries/data/config/default.cfg
@@ -167,6 +167,7 @@
; > HOTKEYS ONLY
chat = Return ; Toggle chat window
teamchat = "T" ; Toggle chat window in team chat mode
+privatchat = "^" ; Toggle chat window with last spoken person
; > QUICKSAVE
quicksave = "Shift+F5"
Index: binaries/data/mods/public/gui/credits/texts/programming.json
===================================================================
--- binaries/data/mods/public/gui/credits/texts/programming.json
+++ binaries/data/mods/public/gui/credits/texts/programming.json
@@ -145,7 +145,8 @@
{"nick": "Offensive ePeen", "name": "Jared Ryan Bills"},
{"nick": "Ols", "name": "Oliver Whiteman"},
{"nick": "olsner", "name": "Simon Brenner"},
- {"nick": "otero"},
+ {"nick": "OptimusShepard", "name": "Pirmin Stanglmeier"},
+ {"nick": "otero"},
{"name": "Nick Owens"},
{"nick": "Palaxin", "name": "David A. Freitag"},
{"name": "Paul Withers"},
Index: binaries/data/mods/public/gui/session/hotkeys/misc.xml
===================================================================
--- binaries/data/mods/public/gui/session/hotkeys/misc.xml
+++ binaries/data/mods/public/gui/session/hotkeys/misc.xml
@@ -5,13 +5,17 @@
+
+
Index: binaries/data/mods/public/gui/session/menu.js
===================================================================
--- binaries/data/mods/public/gui/session/menu.js
+++ binaries/data/mods/public/gui/session/menu.js
@@ -34,6 +34,9 @@
var g_IsTradeOpen = false;
var g_IsObjectivesOpen = false;
+// Last person you have spoken
+var g_lastSpokenPlayer = 0;
+
// Redefined every time someone makes a tribute (so we can save some data in a closure). Called in input.js handleInputBeforeGui.
var g_FlushTributing = function() {};
@@ -203,7 +206,7 @@
});
}
-function openChat(teamChat = false)
+function openChat(teamChat = false , privatChat = false)
{
if (g_Disconnected)
return;
@@ -212,8 +215,8 @@
let chatAddressee = Engine.GetGUIObjectByName("chatAddressee");
let command = teamChat ? (g_IsObserver ? "/observers" : "/allies") : "";
- chatAddressee.selected = chatAddressee.list_data.indexOf(command);
-
+ chatAddressee.selected = privatChat ? g_lastSpokenPlayer : chatAddressee.list_data.indexOf(command);
+
Engine.GetGUIObjectByName("chatInput").focus();
Engine.GetGUIObjectByName("chatDialogPanel").hidden = false;
@@ -222,6 +225,12 @@
function closeChat()
{
+ let chatAddressee = Engine.GetGUIObjectByName("chatAddressee");
+
+ if (chatAddressee.selected > 3){
+ g_lastSpokenPlayer = chatAddressee.selected;
+ }
+
Engine.GetGUIObjectByName("chatInput").caption = "";
Engine.GetGUIObjectByName("chatInput").blur(); // Remove focus
Engine.GetGUIObjectByName("chatDialogPanel").hidden = true;