Skip to content

Commit e8108cc

Browse files
committed
add extra attributes in webhook
1 parent 9c4d769 commit e8108cc

File tree

1 file changed

+36
-12
lines changed

1 file changed

+36
-12
lines changed

GameStateHook.lua

+36-12
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,44 @@
11
-- Game hook mod injector
2+
function arrayToString(arrayOfStrings)
3+
res = ""
4+
for i = 1, table.maxn(arrayOfStrings) do
5+
res = res .. '"' .. arrayOfStrings[i] .. '",'
6+
end
7+
return '[' .. res:sub(1, -2) .. ']'
8+
end
9+
210
function listener()
311
local playerTurns = ""
412
for i,a in pairs(Players) do
513
if a:IsEverAlive() and a:IsHuman() then
14+
local allies = {}
15+
local enemies = {}
16+
for j,b in pairs(Players) do
17+
if (a:IsAllies(b)) then
18+
table.insert(allies, b:GetNickName())
19+
end
20+
if (Teams[a:GetTeam()]:IsAtWar(b:GetTeam())) then
21+
table.insert(enemies, tostring(b:GetID()))
22+
end
23+
end
624
playerTurns = playerTurns .. "{" ..
7-
'"id" : ' .. tostring(a:GetID()) .. "," ..
8-
'"nickName" : ' .. '"' .. a:GetNickName() .. '"' .. "," ..
9-
'"civilization" : ' .. '"' .. a:GetCivilizationShortDescription() .. '"' .. "," ..
10-
'"isTurnComplete" : ' .. tostring(a:HasReceivedNetTurnComplete()) .. "," ..
11-
'"isOnline" : ' .. tostring(Network.IsPlayerConnected(a:GetID())) .. "," ..
12-
'"isAlive" : ' .. tostring(a:IsAlive()) ..
13-
"},"
25+
'"id" : ' .. tostring(a:GetID()) .. "," ..
26+
'"nickName" : ' .. '"' .. a:GetNickName() .. '"' .. "," ..
27+
'"civilization" : ' .. '"' .. a:GetCivilizationShortDescription() .. '"' .. "," ..
28+
'"isTurnComplete" : ' .. tostring(a:HasReceivedNetTurnComplete()) .. "," ..
29+
'"isOnline" : ' .. tostring(Network.IsPlayerConnected(a:GetID())) .. "," ..
30+
'"isAlive" : ' .. tostring(a:IsAlive()) .. "," ..
31+
'"currentEra" : ' .. a:GetCurrentEra() .. "," ..
32+
'"numWonders" : ' .. a:GetNumWorldWonders() .. "," ..
33+
'"enemies" : ' .. arrayToString(enemies) .. "," ..
34+
'"allies" : ' .. arrayToString(allies) ..
35+
"},"
1436
end
1537
end
16-
17-
print("----JSON----{" ..
18-
'"gameTurn" : ' .. tostring(Game.GetGameTurn()) .."," ..
19-
'"players" : [' .. playerTurns:sub(1, -2) .. "]" ..
20-
"}----JSON----")
38+
local gameState = ""
39+
gameState = gameState .. "{" .. '"isUnitedNationActive" : ' .. tostring(Game.IsUnitedNationsActive()) .. "}"
40+
41+
print("----JSON----{" .. '"gameTurn" : ' .. tostring(Game.GetGameTurn()) .."," .. '"players" : [' .. playerTurns:sub(1, -2) .. "]," .. '"game": ' .. gameState .. "}----JSON----")
2142
end
2243

2344
print("----GameHook: GameHook listener initialized.")
@@ -29,3 +50,6 @@ Events.ActivePlayerTurnEnd.Add(listener)
2950
Events.MultiplayerGamePlayerDisconnected.Add(listener)
3051
Events.MultiplayerGamePlayerUpdated.Add(listener)
3152
Events.MultiplayerHotJoinCompleted.Add(listener)
53+
Events.WarStateChanged.Add(listener);
54+
Events.SerialEventEraChanged.Add(listener);
55+
Events.WonderStateChanged.Add(listener);

0 commit comments

Comments
 (0)