@quenty/deathreport 10.21.3 → 10.21.4-canary.11a5dcf.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/package.json +15 -15
- package/src/Client/DeathReportBindersClient.lua +2 -2
- package/src/Client/DeathReportServiceClient.lua +12 -13
- package/src/Client/Stats/PlayerDeathTrackerClient.lua +3 -3
- package/src/Client/Stats/PlayerKillTrackerClient.lua +3 -3
- package/src/Client/Stats/TeamKillTrackerClient.lua +1 -1
- package/src/Server/DeathReportBindersServer.lua +2 -2
- package/src/Server/DeathReportService.lua +15 -15
- package/src/Server/DeathTrackedHumanoid.lua +1 -1
- package/src/Server/Stats/PlayerDeathTracker.lua +3 -3
- package/src/Server/Stats/PlayerKillTracker.lua +3 -3
- package/src/Server/Stats/PlayerKillTrackerAssigner.lua +4 -5
- package/src/Server/Stats/TeamKillTracker.lua +1 -1
- package/src/Shared/DeathReportProcessor.lua +10 -11
- package/src/Shared/DeathReportServiceConstants.lua +2 -2
- package/src/Shared/Stats/PlayerKillTrackerUtils.lua +1 -1
- package/src/Shared/Stats/TeamKillTrackerUtils.lua +1 -1
- package/test/scripts/Client/ClientMain.client.lua +1 -1
- package/test/scripts/Server/ServerMain.server.lua +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [10.21.4-canary.11a5dcf.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/deathreport@10.21.3...@quenty/deathreport@10.21.4-canary.11a5dcf.0) (2025-05-10)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* Additional type checking updates ([05ba29a](https://github.com/Quenty/NevermoreEngine/commit/05ba29a03efc9f3feed74b34f1d9dfb237496214))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## [10.21.3](https://github.com/Quenty/NevermoreEngine/compare/@quenty/deathreport@10.21.2...@quenty/deathreport@10.21.3) (2025-04-10)
|
|
7
18
|
|
|
8
19
|
**Note:** Version bump only for package @quenty/deathreport
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quenty/deathreport",
|
|
3
|
-
"version": "10.21.
|
|
3
|
+
"version": "10.21.4-canary.11a5dcf.0",
|
|
4
4
|
"description": "Death report service which will track the deaths of players",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Roblox",
|
|
@@ -29,19 +29,19 @@
|
|
|
29
29
|
"access": "public"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@quenty/baseobject": "
|
|
33
|
-
"@quenty/binder": "
|
|
34
|
-
"@quenty/characterutils": "
|
|
35
|
-
"@quenty/humanoidkillerutils": "
|
|
36
|
-
"@quenty/loader": "
|
|
37
|
-
"@quenty/maid": "
|
|
38
|
-
"@quenty/playerhumanoidbinder": "
|
|
39
|
-
"@quenty/remoting": "
|
|
40
|
-
"@quenty/rx": "
|
|
41
|
-
"@quenty/rxbinderutils": "
|
|
42
|
-
"@quenty/servicebag": "
|
|
43
|
-
"@quenty/signal": "
|
|
44
|
-
"@quenty/table": "
|
|
32
|
+
"@quenty/baseobject": "10.8.4-canary.11a5dcf.0",
|
|
33
|
+
"@quenty/binder": "14.19.4-canary.11a5dcf.0",
|
|
34
|
+
"@quenty/characterutils": "12.18.4-canary.11a5dcf.0",
|
|
35
|
+
"@quenty/humanoidkillerutils": "2.3.3",
|
|
36
|
+
"@quenty/loader": "10.8.4-canary.11a5dcf.0",
|
|
37
|
+
"@quenty/maid": "3.4.4-canary.11a5dcf.0",
|
|
38
|
+
"@quenty/playerhumanoidbinder": "14.19.4-canary.11a5dcf.0",
|
|
39
|
+
"@quenty/remoting": "12.18.4-canary.11a5dcf.0",
|
|
40
|
+
"@quenty/rx": "13.17.4-canary.11a5dcf.0",
|
|
41
|
+
"@quenty/rxbinderutils": "14.19.4-canary.11a5dcf.0",
|
|
42
|
+
"@quenty/servicebag": "11.11.5-canary.11a5dcf.0",
|
|
43
|
+
"@quenty/signal": "7.10.4-canary.11a5dcf.0",
|
|
44
|
+
"@quenty/table": "3.7.5-canary.11a5dcf.0"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "11a5dcf7d4c7a0bfbf3337e97d30e8346ea09d3f"
|
|
47
47
|
}
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
|
|
5
5
|
local require = require(script.Parent.loader).load(script)
|
|
6
6
|
|
|
7
|
-
local BinderProvider = require("BinderProvider")
|
|
8
7
|
local Binder = require("Binder")
|
|
8
|
+
local BinderProvider = require("BinderProvider")
|
|
9
9
|
|
|
10
10
|
return BinderProvider.new(script.Name, function(self, serviceBag)
|
|
11
11
|
-- Stats
|
|
12
12
|
self:Add(Binder.new("TeamKillTracker", require("TeamKillTrackerClient"), serviceBag))
|
|
13
13
|
self:Add(Binder.new("PlayerKillTracker", require("PlayerKillTrackerClient"), serviceBag))
|
|
14
14
|
self:Add(Binder.new("PlayerDeathTracker", require("PlayerDeathTrackerClient"), serviceBag))
|
|
15
|
-
end)
|
|
15
|
+
end)
|
|
@@ -8,13 +8,13 @@
|
|
|
8
8
|
|
|
9
9
|
local require = require(script.Parent.loader).load(script)
|
|
10
10
|
|
|
11
|
-
local Signal = require("Signal")
|
|
12
|
-
local Maid = require("Maid")
|
|
13
|
-
local DeathReportServiceConstants = require("DeathReportServiceConstants")
|
|
14
|
-
local PromiseGetRemoteEvent = require("PromiseGetRemoteEvent")
|
|
15
11
|
local DeathReportProcessor = require("DeathReportProcessor")
|
|
12
|
+
local DeathReportServiceConstants = require("DeathReportServiceConstants")
|
|
16
13
|
local DeathReportUtils = require("DeathReportUtils")
|
|
17
|
-
local
|
|
14
|
+
local Maid = require("Maid")
|
|
15
|
+
local PromiseGetRemoteEvent = require("PromiseGetRemoteEvent")
|
|
16
|
+
local ServiceBag = require("ServiceBag")
|
|
17
|
+
local Signal = require("Signal")
|
|
18
18
|
|
|
19
19
|
-- Note: don't make this too big without upgrading the way we handle the queue
|
|
20
20
|
local MAX_DEATH_REPORTS = 5
|
|
@@ -28,7 +28,7 @@ DeathReportServiceClient.ServiceName = "DeathReportServiceClient"
|
|
|
28
28
|
|
|
29
29
|
@param serviceBag ServiceBag
|
|
30
30
|
]=]
|
|
31
|
-
function DeathReportServiceClient:Init(serviceBag:
|
|
31
|
+
function DeathReportServiceClient:Init(serviceBag: ServiceBag.ServiceBag)
|
|
32
32
|
assert(not self._serviceBag, "Already initialized")
|
|
33
33
|
self._serviceBag = assert(serviceBag, "No serviceBag")
|
|
34
34
|
self._maid = Maid.new()
|
|
@@ -43,12 +43,11 @@ function DeathReportServiceClient:Init(serviceBag: _ServiceBag.ServiceBag)
|
|
|
43
43
|
self._lastDeathReports = {}
|
|
44
44
|
|
|
45
45
|
-- Setup remote Event
|
|
46
|
-
self:_promiseRemoteEvent()
|
|
47
|
-
:
|
|
48
|
-
self
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
end)
|
|
46
|
+
self:_promiseRemoteEvent():Then(function(remoteEvent)
|
|
47
|
+
self._maid:GiveTask(remoteEvent.OnClientEvent:Connect(function(...)
|
|
48
|
+
self:_handleClientEvent(...)
|
|
49
|
+
end))
|
|
50
|
+
end)
|
|
52
51
|
end
|
|
53
52
|
|
|
54
53
|
--[=[
|
|
@@ -158,4 +157,4 @@ function DeathReportServiceClient:Destroy()
|
|
|
158
157
|
self._maid:DoCleaning()
|
|
159
158
|
end
|
|
160
159
|
|
|
161
|
-
return DeathReportServiceClient
|
|
160
|
+
return DeathReportServiceClient
|
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
local require = require(script.Parent.loader).load(script)
|
|
6
6
|
|
|
7
7
|
local BaseObject = require("BaseObject")
|
|
8
|
-
local
|
|
8
|
+
local ServiceBag = require("ServiceBag")
|
|
9
9
|
|
|
10
10
|
local PlayerDeathTrackerClient = setmetatable({}, BaseObject)
|
|
11
11
|
PlayerDeathTrackerClient.ClassName = "PlayerDeathTrackerClient"
|
|
12
12
|
PlayerDeathTrackerClient.__index = PlayerDeathTrackerClient
|
|
13
13
|
|
|
14
|
-
function PlayerDeathTrackerClient.new(tracker, serviceBag:
|
|
14
|
+
function PlayerDeathTrackerClient.new(tracker, serviceBag: ServiceBag.ServiceBag)
|
|
15
15
|
local self = setmetatable(BaseObject.new(tracker), PlayerDeathTrackerClient)
|
|
16
16
|
|
|
17
17
|
self._serviceBag = assert(serviceBag, "No serviceBag")
|
|
@@ -33,4 +33,4 @@ function PlayerDeathTrackerClient:GetKills()
|
|
|
33
33
|
return self._obj.Value
|
|
34
34
|
end
|
|
35
35
|
|
|
36
|
-
return PlayerDeathTrackerClient
|
|
36
|
+
return PlayerDeathTrackerClient
|
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
local require = require(script.Parent.loader).load(script)
|
|
6
6
|
|
|
7
7
|
local BaseObject = require("BaseObject")
|
|
8
|
-
local
|
|
8
|
+
local ServiceBag = require("ServiceBag")
|
|
9
9
|
|
|
10
10
|
local PlayerKillTrackerClient = setmetatable({}, BaseObject)
|
|
11
11
|
PlayerKillTrackerClient.ClassName = "PlayerKillTrackerClient"
|
|
12
12
|
PlayerKillTrackerClient.__index = PlayerKillTrackerClient
|
|
13
13
|
|
|
14
|
-
function PlayerKillTrackerClient.new(tracker, serviceBag:
|
|
14
|
+
function PlayerKillTrackerClient.new(tracker, serviceBag: ServiceBag.ServiceBag)
|
|
15
15
|
local self = setmetatable(BaseObject.new(tracker), PlayerKillTrackerClient)
|
|
16
16
|
|
|
17
17
|
self._serviceBag = assert(serviceBag, "No serviceBag")
|
|
@@ -33,4 +33,4 @@ function PlayerKillTrackerClient:GetKills()
|
|
|
33
33
|
return self._obj.Value
|
|
34
34
|
end
|
|
35
35
|
|
|
36
|
-
return PlayerKillTrackerClient
|
|
36
|
+
return PlayerKillTrackerClient
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
local require = require(script.Parent.loader).load(script)
|
|
6
6
|
|
|
7
|
+
local Binder = require("Binder")
|
|
7
8
|
local BinderProvider = require("BinderProvider")
|
|
8
9
|
local PlayerHumanoidBinder = require("PlayerHumanoidBinder")
|
|
9
|
-
local Binder = require("Binder")
|
|
10
10
|
|
|
11
11
|
return BinderProvider.new(script.Name, function(self, serviceBag)
|
|
12
12
|
-- Tracking
|
|
@@ -16,4 +16,4 @@ return BinderProvider.new(script.Name, function(self, serviceBag)
|
|
|
16
16
|
self:Add(Binder.new("TeamKillTracker", require("TeamKillTracker"), serviceBag))
|
|
17
17
|
self:Add(Binder.new("PlayerKillTracker", require("PlayerKillTracker"), serviceBag))
|
|
18
18
|
self:Add(Binder.new("PlayerDeathTracker", require("PlayerDeathTracker"), serviceBag))
|
|
19
|
-
end)
|
|
19
|
+
end)
|
|
@@ -9,21 +9,21 @@
|
|
|
9
9
|
|
|
10
10
|
local require = require(script.Parent.loader).load(script)
|
|
11
11
|
|
|
12
|
-
local
|
|
13
|
-
local GetRemoteEvent = require("GetRemoteEvent")
|
|
12
|
+
local DeathReportProcessor = require("DeathReportProcessor")
|
|
14
13
|
local DeathReportServiceConstants = require("DeathReportServiceConstants")
|
|
15
14
|
local DeathReportUtils = require("DeathReportUtils")
|
|
15
|
+
local GetRemoteEvent = require("GetRemoteEvent")
|
|
16
16
|
local Maid = require("Maid")
|
|
17
|
-
local
|
|
18
|
-
local
|
|
19
|
-
local
|
|
17
|
+
local Observable = require("Observable")
|
|
18
|
+
local ServiceBag = require("ServiceBag")
|
|
19
|
+
local Signal = require("Signal")
|
|
20
20
|
|
|
21
21
|
local DeathReportService = {}
|
|
22
22
|
DeathReportService.ServiceName = "DeathReportService"
|
|
23
23
|
|
|
24
24
|
export type DeathReportService = typeof(setmetatable(
|
|
25
25
|
{} :: {
|
|
26
|
-
_serviceBag:
|
|
26
|
+
_serviceBag: ServiceBag.ServiceBag,
|
|
27
27
|
_maid: Maid.Maid,
|
|
28
28
|
NewDeathReport: Signal.Signal<DeathReportUtils.DeathReport>,
|
|
29
29
|
_remoteEvent: RemoteEvent,
|
|
@@ -40,8 +40,8 @@ export type GetWeaponData = (humanoid: Humanoid) -> DeathReportUtils.WeaponData?
|
|
|
40
40
|
|
|
41
41
|
@param serviceBag ServiceBag
|
|
42
42
|
]=]
|
|
43
|
-
function DeathReportService.Init(self: DeathReportService, serviceBag:
|
|
44
|
-
assert(not self._serviceBag, "Already initialized")
|
|
43
|
+
function DeathReportService.Init(self: DeathReportService, serviceBag: ServiceBag.ServiceBag)
|
|
44
|
+
assert(not (self :: any)._serviceBag, "Already initialized")
|
|
45
45
|
self._serviceBag = assert(serviceBag, "No serviceBag")
|
|
46
46
|
self._maid = Maid.new()
|
|
47
47
|
|
|
@@ -93,7 +93,7 @@ end
|
|
|
93
93
|
function DeathReportService.ObservePlayerKillerReports(
|
|
94
94
|
self: DeathReportService,
|
|
95
95
|
player: Player
|
|
96
|
-
):
|
|
96
|
+
): Observable.Observable<DeathReportUtils.DeathReport>
|
|
97
97
|
assert(typeof(player) == "Instance" and player:IsA("Player"), "Bad player")
|
|
98
98
|
|
|
99
99
|
return self._reportProcessor:ObservePlayerKillerReports(player)
|
|
@@ -108,7 +108,7 @@ end
|
|
|
108
108
|
function DeathReportService.ObservePlayerDeathReports(
|
|
109
109
|
self: DeathReportService,
|
|
110
110
|
player: Player
|
|
111
|
-
):
|
|
111
|
+
): Observable.Observable<DeathReportUtils.DeathReport>
|
|
112
112
|
assert(typeof(player) == "Instance" and player:IsA("Player"), "Bad player")
|
|
113
113
|
|
|
114
114
|
return self._reportProcessor:ObservePlayerDeathReports(player)
|
|
@@ -123,7 +123,7 @@ end
|
|
|
123
123
|
function DeathReportService.ObserveHumanoidKillerReports(
|
|
124
124
|
self: DeathReportService,
|
|
125
125
|
humanoid: Humanoid
|
|
126
|
-
):
|
|
126
|
+
): Observable.Observable<DeathReportUtils.DeathReport>
|
|
127
127
|
assert(typeof(humanoid) == "Instance" and humanoid:IsA("Humanoid"), "Bad humanoid")
|
|
128
128
|
|
|
129
129
|
return self._reportProcessor:ObserveHumanoidKillerReports(humanoid)
|
|
@@ -138,7 +138,7 @@ end
|
|
|
138
138
|
function DeathReportService.ObserveHumanoidDeathReports(
|
|
139
139
|
self: DeathReportService,
|
|
140
140
|
humanoid: Humanoid
|
|
141
|
-
):
|
|
141
|
+
): Observable.Observable<DeathReportUtils.DeathReport>
|
|
142
142
|
assert(typeof(humanoid) == "Instance" and humanoid:IsA("Humanoid"), "Bad humanoid")
|
|
143
143
|
|
|
144
144
|
return self._reportProcessor:ObserveHumanoidDeathReports(humanoid)
|
|
@@ -153,7 +153,7 @@ end
|
|
|
153
153
|
function DeathReportService.ObserveCharacterKillerReports(
|
|
154
154
|
self: DeathReportService,
|
|
155
155
|
character: Model
|
|
156
|
-
):
|
|
156
|
+
): Observable.Observable<DeathReportUtils.DeathReport>
|
|
157
157
|
assert(typeof(character) == "Instance" and character:IsA("Model"), "Bad character")
|
|
158
158
|
|
|
159
159
|
return self._reportProcessor:ObserveCharacterKillerReports(character)
|
|
@@ -168,7 +168,7 @@ end
|
|
|
168
168
|
function DeathReportService.ObserveCharacterDeathReports(
|
|
169
169
|
self: DeathReportService,
|
|
170
170
|
character: Model
|
|
171
|
-
):
|
|
171
|
+
): Observable.Observable<DeathReportUtils.DeathReport>
|
|
172
172
|
assert(typeof(character) == "Instance" and character:IsA("Model"), "Bad character")
|
|
173
173
|
|
|
174
174
|
return self._reportProcessor:ObserveCharacterDeathReports(character)
|
|
@@ -209,4 +209,4 @@ function DeathReportService.Destroy(self: DeathReportService)
|
|
|
209
209
|
self._maid:DoCleaning()
|
|
210
210
|
end
|
|
211
211
|
|
|
212
|
-
return DeathReportService
|
|
212
|
+
return DeathReportService
|
|
@@ -6,13 +6,13 @@ local require = require(script.Parent.loader).load(script)
|
|
|
6
6
|
|
|
7
7
|
local BaseObject = require("BaseObject")
|
|
8
8
|
local DeathReportService = require("DeathReportService")
|
|
9
|
-
local
|
|
9
|
+
local ServiceBag = require("ServiceBag")
|
|
10
10
|
|
|
11
11
|
local PlayerDeathTracker = setmetatable({}, BaseObject)
|
|
12
12
|
PlayerDeathTracker.ClassName = "PlayerDeathTracker"
|
|
13
13
|
PlayerDeathTracker.__index = PlayerDeathTracker
|
|
14
14
|
|
|
15
|
-
function PlayerDeathTracker.new(scoreObject, serviceBag:
|
|
15
|
+
function PlayerDeathTracker.new(scoreObject, serviceBag: ServiceBag.ServiceBag)
|
|
16
16
|
local self = setmetatable(BaseObject.new(scoreObject), PlayerDeathTracker)
|
|
17
17
|
|
|
18
18
|
self._serviceBag = assert(serviceBag, "No serviceBag")
|
|
@@ -30,4 +30,4 @@ function PlayerDeathTracker.new(scoreObject, serviceBag: _ServiceBag.ServiceBag)
|
|
|
30
30
|
return self
|
|
31
31
|
end
|
|
32
32
|
|
|
33
|
-
return PlayerDeathTracker
|
|
33
|
+
return PlayerDeathTracker
|
|
@@ -6,13 +6,13 @@ local require = require(script.Parent.loader).load(script)
|
|
|
6
6
|
|
|
7
7
|
local BaseObject = require("BaseObject")
|
|
8
8
|
local DeathReportService = require("DeathReportService")
|
|
9
|
-
local
|
|
9
|
+
local ServiceBag = require("ServiceBag")
|
|
10
10
|
|
|
11
11
|
local PlayerKillTracker = setmetatable({}, BaseObject)
|
|
12
12
|
PlayerKillTracker.ClassName = "PlayerKillTracker"
|
|
13
13
|
PlayerKillTracker.__index = PlayerKillTracker
|
|
14
14
|
|
|
15
|
-
function PlayerKillTracker.new(scoreObject, serviceBag:
|
|
15
|
+
function PlayerKillTracker.new(scoreObject, serviceBag: ServiceBag.ServiceBag)
|
|
16
16
|
local self = setmetatable(BaseObject.new(scoreObject), PlayerKillTracker)
|
|
17
17
|
|
|
18
18
|
self._serviceBag = assert(serviceBag, "No serviceBag")
|
|
@@ -43,4 +43,4 @@ function PlayerKillTracker:GetKills(): number
|
|
|
43
43
|
return self._obj.Value
|
|
44
44
|
end
|
|
45
45
|
|
|
46
|
-
return PlayerKillTracker
|
|
46
|
+
return PlayerKillTracker
|
|
@@ -7,16 +7,16 @@ local require = require(script.Parent.loader).load(script)
|
|
|
7
7
|
local Players = game:GetService("Players")
|
|
8
8
|
|
|
9
9
|
local BaseObject = require("BaseObject")
|
|
10
|
+
local DeathReportBindersServer = require("DeathReportBindersServer")
|
|
10
11
|
local Maid = require("Maid")
|
|
11
12
|
local PlayerKillTrackerUtils = require("PlayerKillTrackerUtils")
|
|
12
|
-
local
|
|
13
|
-
local _ServiceBag = require("ServiceBag")
|
|
13
|
+
local ServiceBag = require("ServiceBag")
|
|
14
14
|
|
|
15
15
|
local PlayerKillTrackerAssigner = setmetatable({}, BaseObject)
|
|
16
16
|
PlayerKillTrackerAssigner.ClassName = "PlayerKillTrackerAssigner"
|
|
17
17
|
PlayerKillTrackerAssigner.__index = PlayerKillTrackerAssigner
|
|
18
18
|
|
|
19
|
-
function PlayerKillTrackerAssigner.new(serviceBag:
|
|
19
|
+
function PlayerKillTrackerAssigner.new(serviceBag: ServiceBag.ServiceBag)
|
|
20
20
|
local self = setmetatable(BaseObject.new(), PlayerKillTrackerAssigner)
|
|
21
21
|
|
|
22
22
|
self._serviceBag = assert(serviceBag, "No serviceBag")
|
|
@@ -78,5 +78,4 @@ function PlayerKillTrackerAssigner:_handlePlayerAdded(player)
|
|
|
78
78
|
self._maid[player] = maid
|
|
79
79
|
end
|
|
80
80
|
|
|
81
|
-
|
|
82
|
-
return PlayerKillTrackerAssigner
|
|
81
|
+
return PlayerKillTrackerAssigner
|
|
@@ -10,9 +10,9 @@ local require = require(script.Parent.loader).load(script)
|
|
|
10
10
|
local Players = game:GetService("Players")
|
|
11
11
|
|
|
12
12
|
local BaseObject = require("BaseObject")
|
|
13
|
-
local ObservableSubscriptionTable = require("ObservableSubscriptionTable")
|
|
14
13
|
local DeathReportUtils = require("DeathReportUtils")
|
|
15
|
-
local
|
|
14
|
+
local Observable = require("Observable")
|
|
15
|
+
local ObservableSubscriptionTable = require("ObservableSubscriptionTable")
|
|
16
16
|
|
|
17
17
|
local DeathReportProcessor = setmetatable({}, BaseObject)
|
|
18
18
|
DeathReportProcessor.ClassName = "DeathReportProcessor"
|
|
@@ -57,7 +57,7 @@ end
|
|
|
57
57
|
function DeathReportProcessor.ObservePlayerKillerReports(
|
|
58
58
|
self: DeathReportProcessor,
|
|
59
59
|
player: Player
|
|
60
|
-
):
|
|
60
|
+
): Observable.Observable<DeathReportUtils.DeathReport>
|
|
61
61
|
assert(typeof(player) == "Instance" and player:IsA("Player"), "Bad player")
|
|
62
62
|
|
|
63
63
|
return self._playerKillerSubTable:Observe(player)
|
|
@@ -72,7 +72,7 @@ end
|
|
|
72
72
|
function DeathReportProcessor.ObservePlayerDeathReports(
|
|
73
73
|
self: DeathReportProcessor,
|
|
74
74
|
player: Player
|
|
75
|
-
):
|
|
75
|
+
): Observable.Observable<DeathReportUtils.DeathReport>
|
|
76
76
|
assert(typeof(player) == "Instance" and player:IsA("Player"), "Bad player")
|
|
77
77
|
|
|
78
78
|
return self._playerDeathSubTable:Observe(player)
|
|
@@ -87,7 +87,7 @@ end
|
|
|
87
87
|
function DeathReportProcessor.ObserveHumanoidDeathReports(
|
|
88
88
|
self: DeathReportProcessor,
|
|
89
89
|
humanoid: Humanoid
|
|
90
|
-
):
|
|
90
|
+
): Observable.Observable<DeathReportUtils.DeathReport>
|
|
91
91
|
assert(typeof(humanoid) == "Instance" and humanoid:IsA("Humanoid"), "Bad humanoid")
|
|
92
92
|
|
|
93
93
|
return self._humanoidDeathSubTable:Observe(humanoid)
|
|
@@ -102,7 +102,7 @@ end
|
|
|
102
102
|
function DeathReportProcessor.ObserveHumanoidKillerReports(
|
|
103
103
|
self: DeathReportProcessor,
|
|
104
104
|
humanoid: Humanoid
|
|
105
|
-
):
|
|
105
|
+
): Observable.Observable<DeathReportUtils.DeathReport>
|
|
106
106
|
assert(typeof(humanoid) == "Instance" and humanoid:IsA("Humanoid"), "Bad humanoid")
|
|
107
107
|
|
|
108
108
|
return self._humanoidKillerSubTable:Observe(humanoid)
|
|
@@ -117,7 +117,7 @@ end
|
|
|
117
117
|
function DeathReportProcessor.ObserveCharacterKillerReports(
|
|
118
118
|
self: DeathReportProcessor,
|
|
119
119
|
character: Model
|
|
120
|
-
):
|
|
120
|
+
): Observable.Observable<DeathReportUtils.DeathReport>
|
|
121
121
|
assert(typeof(character) == "Instance" and character:IsA("Model"), "Bad character")
|
|
122
122
|
|
|
123
123
|
return self._characterKillerSubTable:Observe(character)
|
|
@@ -132,19 +132,18 @@ end
|
|
|
132
132
|
function DeathReportProcessor.ObserveCharacterDeathReports(
|
|
133
133
|
self: DeathReportProcessor,
|
|
134
134
|
character: Model
|
|
135
|
-
):
|
|
135
|
+
): Observable.Observable<DeathReportUtils.DeathReport>
|
|
136
136
|
assert(typeof(character) == "Instance" and character:IsA("Model"), "Bad character")
|
|
137
137
|
|
|
138
138
|
return self._characterDeathSubTable:Observe(character)
|
|
139
139
|
end
|
|
140
140
|
|
|
141
|
-
|
|
142
141
|
--[=[
|
|
143
142
|
Handles the death report
|
|
144
143
|
|
|
145
144
|
@param deathReport DeathReport
|
|
146
145
|
]=]
|
|
147
|
-
function DeathReportProcessor.HandleDeathReport(self: DeathReportProcessor,deathReport: DeathReportUtils.DeathReport)
|
|
146
|
+
function DeathReportProcessor.HandleDeathReport(self: DeathReportProcessor, deathReport: DeathReportUtils.DeathReport)
|
|
148
147
|
assert(DeathReportUtils.isDeathReport(deathReport), "Bad deathreport")
|
|
149
148
|
|
|
150
149
|
if deathReport.killerPlayer then
|
|
@@ -174,4 +173,4 @@ function DeathReportProcessor.HandleDeathReport(self: DeathReportProcessor,death
|
|
|
174
173
|
end
|
|
175
174
|
end
|
|
176
175
|
|
|
177
|
-
return DeathReportProcessor
|
|
176
|
+
return DeathReportProcessor
|