|
2 | 2 | using PluginAPI.Core;
|
3 | 3 | using PluginAPI.Core.Attributes;
|
4 | 4 | using PluginAPI.Enums;
|
| 5 | +using PluginAPI.Events; |
5 | 6 |
|
6 | 7 | namespace CuffUtilsNwAPI
|
7 | 8 | {
|
8 | 9 | public class EventHandler
|
9 | 10 | {
|
10 | 11 | private readonly Config _config = CuffUtils.Singleton.Config;
|
11 | 12 |
|
12 |
| - [PluginEvent(ServerEventType.PlayerHandcuff)] |
13 |
| - public void PlayerCuffingEvent(Player player, Player target, bool state) |
| 13 | + [PluginEvent] |
| 14 | + public void PlayerCuffingEvent(PlayerHandcuffEvent ev) |
14 | 15 | {
|
15 | 16 | if (_config.EnableCuffRemoveOnDistance)
|
16 | 17 | {
|
17 |
| - DistanceComponent distanceComponent = target.GameObject.AddComponent<DistanceComponent>(); |
18 |
| - distanceComponent.Target = target; |
| 18 | + DistanceComponent distanceComponent = ev.Target.GameObject.AddComponent<DistanceComponent>(); |
| 19 | + distanceComponent.Target = ev.Target; |
19 | 20 | }
|
20 | 21 | }
|
21 | 22 |
|
22 |
| - [PluginEvent(ServerEventType.PlayerRemoveHandcuffs)] |
23 |
| - public void PlayerUncuffingEvent(Player player, Player target, bool state) |
| 23 | + [PluginEvent] |
| 24 | + public void PlayerUncuffingEvent(PlayerRemoveHandcuffsEvent ev) |
24 | 25 | {
|
25 | 26 | }
|
26 | 27 |
|
27 |
| - [PluginEvent(ServerEventType.PlayerDamage)] |
28 |
| - public bool PlayerDamagingEvent(Player player, Player attacker, DamageHandlerBase damageHandler) |
| 28 | + [PluginEvent] |
| 29 | + public bool PlayerDamagingEvent(PlayerDamageEvent ev) |
29 | 30 | {
|
30 |
| - if (player == null) |
31 |
| - return false; |
32 | 31 |
|
33 |
| - if (attacker == null) |
34 |
| - return true; |
35 |
| - |
36 |
| - if (player.IsDisarmed) |
| 32 | + if (ev.Target.IsDisarmed) |
37 | 33 | {
|
38 |
| - if (_config.WhitelistCuffDamageRole.Contains(attacker.Role)) |
| 34 | + if (_config.WhitelistCuffDamageRole.Contains(ev.Player.Role)) |
39 | 35 | {
|
40 |
| - Log.Debug($"Attacker role is whitelisted {attacker.Role}"); |
| 36 | + Log.Debug($"Attacker role is whitelisted {ev.Player.Role}"); |
41 | 37 | return true;
|
42 |
| - } else if (_config.BlacklistDetainDamageRole.Contains(attacker.Role)) |
| 38 | + } else if (_config.BlacklistDetainDamageRole.Contains(ev.Player.Role)) |
43 | 39 | {
|
44 |
| - Log.Debug($"Attacker role is blacklisted {attacker.Role}"); |
| 40 | + Log.Debug($"Attacker role is blacklisted {ev.Player.Role}"); |
45 | 41 | return false;
|
46 | 42 | }
|
47 | 43 |
|
48 | 44 | if (_config.DetainPlayerTakeDmg == false)
|
49 |
| - player.DamageManager.CanReceiveDamageFromPlayers = false; |
| 45 | + ev.Target.DamageManager.CanReceiveDamageFromPlayers = false; |
50 | 46 | }
|
51 | 47 | return true;
|
52 | 48 | }
|
|
0 commit comments