Skip to content

Commit

Permalink
2.14.0 full release (Exiled-Team#586)
Browse files Browse the repository at this point in the history
* Changes (#439)

* Changes
[Exiled.Events]
+Changed OnAddingTarget, OnUpgradingItems and OnGeneratorActivated into transpilers.
+Some clean up.
+Marked SendingConsoleCommandEventArgs::Allow as obsolete.

[Exiled.Example]
+Renamed Handlers folder into Events and its classes.
+Added some events.

* Changes
+ Used <remarks></remarks> block.
+ Changed Exception string.

* Using the RH instead of the GameObject

* Added \n to respect the format

* Changed a comment

* New event: Map.ChangingIntoGrenade (my first transpiler <3) (#440)

* New event: Map.ChangingIntoGrenade (my first transpiler <3)

* Back to for loop brrr

* And address the review stuff

* consistency go brr

* Added fuseTime to constructor. Removed unused default property values.

Co-authored-by: galaxy119 <[email protected]>

* Added new permission (#443)

Use customitems.spawn instead of customitems.list
Spawn isn't a List's command parent after all.

* Changes (#444)

[Exiled.Events]
+ Changed PreAuthenticating patch into a transpiler.

[Exiled.Example]
+ Added Player::OnPreAuthenticating event.

* New events (#447)

* Additions
+Added ChangingRadioPreset and UsingRadioBattery events.
+Some clean up.

* Fix for #441

* Reduces damage dealt to SCP-106 by 90%, same as the damage calculation applied to SCP-106 by base-game in CallCmdShoot.
Fixes #448

* Fix for SCP-096 being able to enter 'pre-windup' with no targets. (#449)

* Fix for SCP-096 being able to enter 'pre-windup' with no targets.

* I'm not tinybrain I promise.

* Fuck stylecop, these are both to do the exact same thing

* Ok, I AM tinybrain.

* this makes more sense namewise

* de-duplication is nice

* This is my final form

* Don't forget to send the kids home after school

* Update to remove unnecessary patch and use ChangingIntoGrenade Event instead. (#454)

* Sorting config keys alphabetically instead (#452)

* sorting config keys alphabetically instead

* backwards compatibility

* Changed four events into transpilers (#451)

* Additions
`[Exiled.Events]`
+ Changed Handcuffing, ActivatingWarheadPanel, StartingRecall and FinishingRecall to transpilers.

* Updated a comment

* Changed opcodes flow
+ Inverted the logic of the item check.
+ Used Call instead of Callvirt to call List<string>::Add.

* Changed a Brfalse_S to Brfalse

Since the BodyCmd_ByteAndGameObject is a very long method and the return label is 216 instructions below, this patch may break in future updates if they'll add more instructions in it.

* Adds TryingNotToCry, Charging, and ChargingPlayer events (#455)

* Adds TryingNotToCry and Charging events

Adds two new events which invoke before SCP-096 tries not to cry or charges respectively.

* Adds the ChargingPlayer event

Adds an event which fires before SCP-096 hits a player during its charge.

* Get the Player from the ReferenceHub

Removed .gameObject from a few methods to get the player directory from the RH.

* Turn the giant CallCmdShoot prefix patch into a transpiler. (#453)

* Turn the giant CallCmdShoot prefix patch into a transpiler.

* Re-position the first event so that it is triggered before removing ammo from the weapon.

* Changed offsets to be negative, with index using + offset for consistency with other patches.
Changed this.gameObject to this._hub
Changed ev1 and ev2 to shootingEv and shotEv respectively.
Changed callvirt calls on this.x to call

* Updated offset for ShotEvent

* I'm an egg

* I'm a monkey in disguise.

* Allows NW to be aware of custom items that may impact gameplay (#450)

* Allows NW to be aware of custom items that may impact gameplay in a way that could be considered hacking.

* This is NOT a config option, and can only be set by the plugin author.

* Version bump

* Fixes base-game enrage command.

* We don't need that

* This needs to be displayname not nickname

* remove debugging info lines

* Fixing escaping with custom items.
Fixes weapons being able to increase damage of other sources.

* Actual fix for that

* Fix for NullRef on CustomItems.PlayerHandler.OnChangingRole when a round first starts.

* Removed more debugging lines, oops

* Change ChargingPlayer and TryingNotToCry into transpilers (#456)

* Change ChargingPlayer and TryingNotToCry into transpilers, Fix ChargingPlayer

ChargingPlayer was calling the event once per frame, now it will call once per player.

* Remove unused warning disable

* Remove unused usings

* Comments and small changes

* use Exiled.API.Features

* Remove oldCount as it's no longer needed. Correct copied comment.

* Move RoleType.GetRandomSpawnPoint extension to Extensions.Role (#461)

* Move RoleType.GetRandomSpawnPoint to Extensions.Role

* Remove Map.GetRandomSpawnPoint because of ambiguity it creates.

* Readded Map.GetRandomSpawnPoint, Changed CustomItems to use it explicitly

* Add method name to obsolete description.

* Also throw an error if the old extension is used

Co-authored-by: Nick Rebbok <[email protected]>

* Fixed grenade chaining.

* Version bump

* Changed 5 events into transpilers (#458)

* Changed 5 events into transpilers
+ Added ElevatorTeleportEventArgs::AuxiliaryPowerCost and made obsolete ElevatorTeleportEventArgs::APCost.
+ Added InteractingDoorEventArgs::AuxiliaryPowerCost.
+ Added InteractingTeslaEventArgs::AuxiliaryPowerCost.
+ Added StartingSpeakerEventArgs::AuxiliaryPowerCost and made obsolete StartingSpeakerEventArgs::APDrain.
+ Added Scp079::TriggeringDoor.
+ Added Scp079::ElevatorTeleporting.
+ Made obsolete Scp079::InteractingDoor.
+ Made obsolete Scp079::ElevatorTeleport.
+ Made obsolete ChangingCameraEventArgs::APCost in favor of ChangingCameraEventArgs::AuxiliaryPowerCost.
+ ElevatorTeleportEventArgs now inherits ElevatorTeleportingEventArgs.

* Fix grenades fail to explode (#465)

* fix grenades fail to explode

* sure stylecop

* add some explanatory comments

* Converted ChangingCamera into a transpiler (#463)

* Converted ChangingCamera into a transpiler
+ Fixed the logic of IsAllowed for Interacting patch.

* CI.Spawn Pickup (#464)

* Updated Spawn methods

* Cleaning a little bit the example plugin (#466)

* Changed Example plugin method calls order

- Deleted the private constructor.
- Moved down ``base.OnEnabled()`` and ``base.OnDisabled()``.

Co-authored-by: Nick Rebbok <[email protected]>

* Fixes AFK system being 'disabled' by exiled.

* Update main.yml

* YamlDotNet version bump

* Anonymize userid's sent to credits API. (#467)

* Anonymize userid's sent to credits API.

* Plugin load logs (#469)

* add a plugin load log

* ignore rider options folder

* Add ChangedRole event (#468)

* Add ChangedRole event

* MirrorExtesnions::ChangeRunningSpeed & MirrorExtesnions:ChangeWalkingSpeed methods (#471)

* Add translations (#460)

* Add translations

* Don't make plugin translations if the plugin has no translations

* Move translations to a separate class and stop using SortedDictionary

* Create a separate "reload translations" command

* Add Plugin class overload with translations

* Move serializer/deserializer from config and translation managers to the same class and added ShouldReloadTranslationsAtRoundRestart config

* Add compatibility for old plugins

* Typo (#481)

Co-authored-by: Nao <[email protected]>

* Add a description for the ShouldReloadConfigsAtRoundRestart config & explicitly set to false (#479)


Co-authored-by: Nick Rebbok <[email protected]>

* Add Player.HasHint, Player.Zone and Player.ArtificialHealthDecay (#480)

* Fix overwatch issue and remove older patch (#483)

* remove older patch

* Add Player.UnitName (#485)

* Player UnitName

* Update Exiled.API/Features/Player.cs

Co-authored-by: Nick Rebbok <[email protected]>

* Allow Handcuffing event.IsAllowed to override team checks. (#484)

* Allow Handcuffing event.IsAllowed to override team checks.

Co-authored-by: Pietro <[email protected]>

* version bump

* Fix DoorExtensions.GetDoorType (String.GetBefore) (#487)

* Add PickingUpAmmo event (#489)

* Add PickingUpAmmo event

* disable warning SA1313

* Player.ResetInventory(List<string>) extension (#478)

* Player.ResetInventory(List<string>) extension

* Fix GetGroup (#470)

* Fix GetGroup

* Update Exiled.API/Extensions/UserGroupExtension.cs

Co-authored-by: iRebbok <[email protected]>

* fix: stop manipulating the local 'damage' after the Shoot event is fired

* fix: add a return statement to the AC 'R3' patch (#490)

* feat: anti cheat ignores custom colliders (#493)

* Fixed a typo (#494)

* Update Player::IsCuffed summary (#491)

* feat: add UserGroupExtension::GetKey(UseGroup) & Server::PermissionsHandler (#495)

* feat: let 'em get keys of usergroups

* rename: UserGroupExtension -> UserGroupExtensions

* Converted GainingExperience into a transpiler (#473)

* Converted GainingExperience, EnteringPocketDimension, ActivatingWorkstation, DeactivatingWorkstation into transpilers.

* Some clean up.

* Update Uniq when setting CurrentItem (#498)

* SessionVariables improvement (#503)

* Better SessionVariables access

* Update Exiled.API/Features/Player.cs

Co-authored-by: Pietro <[email protected]>

* Player.CountItem(ItemType) (#499)

* Player.CountItem(ItemType)

This is useful to count the items of a certain ItemType a player has in his inventory.

Co-authored-by: Pietro <[email protected]>

* Fixed Cassie not saying unit names, when their colors were changed (#496)

* Added patch

* Better name

* Removed unnecessary string

* Add Player:Ping (#501)

* Add Player:Ping

Co-authored-by: Pietro <[email protected]>

* Fix Build Errors (#506)

* Allow custom items to be given to all players at once (#510)

* feat: add giving all players a custom item using *

Co-authored-by: Pietro <[email protected]>

* Added NetworkforceStopInputs (#508)

* Added Player::CanSendInputs

* Exiled.Events - Cassie (#505)

* Added C.A.S.S.I.E. related events.

* ChangingMicroHIDState and UsingMicroHIDEnergy events (#507)

* Moved a Cassie folder to Patches/Events (#514)

* Add Player::ShowHitMarker (#504)

* Add Round::ProgressTime

* Add Player::ShowHitMarker

* Fix Typo

* Remove Round::ProgressTime

* Edit Player::ShowHitMarker

* Create Player.cs

Co-authored-by: green1052 <[email protected]>

* Adds Radio instance to Player::UsingRadioBattery (#520)

* graceful exceptions (#513)

* graceful exceptions

* namespace fail

* new line fail

* commit fixed build

* fix build script

* apple suggestion - avoid printing exception twice

Co-authored-by: Pietro <[email protected]>

* apple suggestion - avoid printing exception twice

Co-authored-by: Pietro <[email protected]>

* apple suggestion - avoid printing exception twice

Co-authored-by: Pietro <[email protected]>

* apple suggestion - avoid printing exception twice

Co-authored-by: Pietro <[email protected]>

* apple suggestion - avoid printing exception twice

Co-authored-by: Pietro <[email protected]>

* apple suggestion - avoid printing exception twice

Co-authored-by: Pietro <[email protected]>

* rolling back new line mess in Loader.cs, also removes an actual useless whitespace on 363 line

Co-authored-by: Pietro <[email protected]>

* This is a null check, so this should be Brfalse, otherwise we move to a "continue" whenever the player's object ISNT null, rather than when it is. (#521)

* Add FirstAvailable as an InfoSide for CreditTags (#517)

* feat: add FirstAvailable as an InfoSide for CreditTags

* Update Exiled.CreditTags/Enums/InfoSide.cs

Co-authored-by: Nick Rebbok <[email protected]>

Co-authored-by: Nick Rebbok <[email protected]>

* Vector2, Vector3 and Vector4 config converter (#519)

* Vector2, Vector3 and Vector4 config converter
+Unity Vector2, Vector3 and Vector4 can now be converted into configs and vice versa.
+Exiled.CustomItems.API.Features.Vector has been deprecated.

* Fixed build errors

Co-authored-by: joker-119 <[email protected]>

* Revert "graceful exceptions (#513)"

This reverts commit c873cb5e

* Reverting graceful exceptions

* funni update tiem

* lowercase because consistency

* Adding Exiled.API.Features.Map.Seed (#524)

* Adding Exiled.API.Features.Map.Seed.

* Making Map.Seed also seteable.

* Check if map is already generated.

* Fixed UsingMicroHIDEnergy being called each frame + added MicroHID instances to both events (#526)

* Fixed my shit

* CurrentHidState

* doc fix

* Converted DamagingWindow into a transpiler (#525)

* Adding Exiled.API.Features.Map.Seed

* Making Map.Seed also seteable.

* Oops, fixing build errors

* Converted DamagingWindow into a transpiler

* Reverting Map.Seed on damagingwindow-transpiler branch

* 2.11 rc (#529)

* Funni merge for rc.2 (#528)

* Adding Exiled.API.Features.Map.Seed (#524)

* Adding Exiled.API.Features.Map.Seed.

* Making Map.Seed also seteable.

* Check if map is already generated.

* Fixed UsingMicroHIDEnergy being called each frame + added MicroHID instances to both events (#526)

* Fixed my shit

* CurrentHidState

* doc fix

* Converted DamagingWindow into a transpiler (#525)

* Adding Exiled.API.Features.Map.Seed

* Making Map.Seed also seteable.

* Oops, fixing build errors

* Converted DamagingWindow into a transpiler

* Reverting Map.Seed on damagingwindow-transpiler branch

Co-authored-by: xRoier <[email protected]>
Co-authored-by: Michal78900 <[email protected]>

* Version bump & quick dirty patch to loader to make sure we aren't trying to load 2 CustomItem assemblies.

Co-authored-by: xRoier <[email protected]>
Co-authored-by: Michal78900 <[email protected]>

* Fixed Player.CanSendInputs being inverted (#530)

* Added ForceCuff check in Player.IsCuffed (#532)

Added the ForceCuff (RA) check in Player.IsCuffed bool

* Fix ChangedRole event (#535)

* Update ChangedRoleEventArgs.cs

* Update ChangingRole.cs

* Update ChangedRoleEventArgs.cs

* Update ChangedRoleEventArgs.cs

* Update ChangedRoleEventArgs.cs

* Update ChangedRoleEventArgs.cs

* Update ChangedRoleEventArgs.cs

* Fixed the Player.BadgeHidden (#540)

* Add LockingDown Event (#527)

* Add LockingDown Event

* Make the Banned event work with unsafe issuer nicknames (#549)

* Fixed description of Shot event (#538)

* Fixed serialization/deserialization of vector configs. (#546)

* Fixed serialization/deserialization of vector configs.

* Removed a useless using

* Added Map.SpawnGrenade() method (#544)

* First commit

* Removed comment

* Moved CollisionHandler to EXILED.API, changed the order of the arguments

* Added grenade check

* Add GetValue() to UserGroupExtensions (#550)

* Ima just do this to make these the same tree again (#536)

* Changes (#439)

* Changes
[Exiled.Events]
+Changed OnAddingTarget, OnUpgradingItems and OnGeneratorActivated into transpilers.
+Some clean up.
+Marked SendingConsoleCommandEventArgs::Allow as obsolete.

[Exiled.Example]
+Renamed Handlers folder into Events and its classes.
+Added some events.

* Changes
+ Used <remarks></remarks> block.
+ Changed Exception string.

* Using the RH instead of the GameObject

* Added \n to respect the format

* Changed a comment

* New event: Map.ChangingIntoGrenade (my first transpiler <3) (#440)

* New event: Map.ChangingIntoGrenade (my first transpiler <3)

* Back to for loop brrr

* And address the review stuff

* consistency go brr

* Added fuseTime to constructor. Removed unused default property values.

Co-authored-by: galaxy119 <[email protected]>

* Added new permission (#443)

Use customitems.spawn instead of customitems.list
Spawn isn't a List's command parent after all.

* Changes (#444)

[Exiled.Events]
+ Changed PreAuthenticating patch into a transpiler.

[Exiled.Example]
+ Added Player::OnPreAuthenticating event.

* New events (#447)

* Additions
+Added ChangingRadioPreset and UsingRadioBattery events.
+Some clean up.

* Fix for #441

* Reduces damage dealt to SCP-106 by 90%, same as the damage calculation applied to SCP-106 by base-game in CallCmdShoot.
Fixes #448

* Fix for SCP-096 being able to enter 'pre-windup' with no targets. (#449)

* Fix for SCP-096 being able to enter 'pre-windup' with no targets.

* I'm not tinybrain I promise.

* Fuck stylecop, these are both to do the exact same thing

* Ok, I AM tinybrain.

* this makes more sense namewise

* de-duplication is nice

* This is my final form

* Don't forget to send the kids home after school

* Update to remove unnecessary patch and use ChangingIntoGrenade Event instead. (#454)

* Sorting config keys alphabetically instead (#452)

* sorting config keys alphabetically instead

* backwards compatibility

* Changed four events into transpilers (#451)

* Additions
`[Exiled.Events]`
+ Changed Handcuffing, ActivatingWarheadPanel, StartingRecall and FinishingRecall to transpilers.

* Updated a comment

* Changed opcodes flow
+ Inverted the logic of the item check.
+ Used Call instead of Callvirt to call List<string>::Add.

* Changed a Brfalse_S to Brfalse

Since the BodyCmd_ByteAndGameObject is a very long method and the return label is 216 instructions below, this patch may break in future updates if they'll add more instructions in it.

* Adds TryingNotToCry, Charging, and ChargingPlayer events (#455)

* Adds TryingNotToCry and Charging events

Adds two new events which invoke before SCP-096 tries not to cry or charges respectively.

* Adds the ChargingPlayer event

Adds an event which fires before SCP-096 hits a player during its charge.

* Get the Player from the ReferenceHub

Removed .gameObject from a few methods to get the player directory from the RH.

* Turn the giant CallCmdShoot prefix patch into a transpiler. (#453)

* Turn the giant CallCmdShoot prefix patch into a transpiler.

* Re-position the first event so that it is triggered before removing ammo from the weapon.

* Changed offsets to be negative, with index using + offset for consistency with other patches.
Changed this.gameObject to this._hub
Changed ev1 and ev2 to shootingEv and shotEv respectively.
Changed callvirt calls on this.x to call

* Updated offset for ShotEvent

* I'm an egg

* I'm a monkey in disguise.

* Allows NW to be aware of custom items that may impact gameplay (#450)

* Allows NW to be aware of custom items that may impact gameplay in a way that could be considered hacking.

* This is NOT a config option, and can only be set by the plugin author.

* Version bump

* Fixes base-game enrage command.

* We don't need that

* This needs to be displayname not nickname

* remove debugging info lines

* Fixing escaping with custom items.
Fixes weapons being able to increase damage of other sources.

* Actual fix for that

* Fix for NullRef on CustomItems.PlayerHandler.OnChangingRole when a round first starts.

* Removed more debugging lines, oops

* Change ChargingPlayer and TryingNotToCry into transpilers (#456)

* Change ChargingPlayer and TryingNotToCry into transpilers, Fix ChargingPlayer

ChargingPlayer was calling the event once per frame, now it will call once per player.

* Remove unused warning disable

* Remove unused usings

* Comments and small changes

* use Exiled.API.Features

* Remove oldCount as it's no longer needed. Correct copied comment.

* Move RoleType.GetRandomSpawnPoint extension to Extensions.Role (#461)

* Move RoleType.GetRandomSpawnPoint to Extensions.Role

* Remove Map.GetRandomSpawnPoint because of ambiguity it creates.

* Readded Map.GetRandomSpawnPoint, Changed CustomItems to use it explicitly

* Add method name to obsolete description.

* Also throw an error if the old extension is used

Co-authored-by: Nick Rebbok <[email protected]>

* Fixed grenade chaining.

* Version bump

* Changed 5 events into transpilers (#458)

* Changed 5 events into transpilers
+ Added ElevatorTeleportEventArgs::AuxiliaryPowerCost and made obsolete ElevatorTeleportEventArgs::APCost.
+ Added InteractingDoorEventArgs::AuxiliaryPowerCost.
+ Added InteractingTeslaEventArgs::AuxiliaryPowerCost.
+ Added StartingSpeakerEventArgs::AuxiliaryPowerCost and made obsolete StartingSpeakerEventArgs::APDrain.
+ Added Scp079::TriggeringDoor.
+ Added Scp079::ElevatorTeleporting.
+ Made obsolete Scp079::InteractingDoor.
+ Made obsolete Scp079::ElevatorTeleport.
+ Made obsolete ChangingCameraEventArgs::APCost in favor of ChangingCameraEventArgs::AuxiliaryPowerCost.
+ ElevatorTeleportEventArgs now inherits ElevatorTeleportingEventArgs.

* Fix grenades fail to explode (#465)

* fix grenades fail to explode

* sure stylecop

* add some explanatory comments

* Converted ChangingCamera into a transpiler (#463)

* Converted ChangingCamera into a transpiler
+ Fixed the logic of IsAllowed for Interacting patch.

* CI.Spawn Pickup (#464)

* Updated Spawn methods

* Cleaning a little bit the example plugin (#466)

* Changed Example plugin method calls order

- Deleted the private constructor.
- Moved down ``base.OnEnabled()`` and ``base.OnDisabled()``.

Co-authored-by: Nick Rebbok <[email protected]>

* Fixes AFK system being 'disabled' by exiled.

* Update main.yml

* YamlDotNet version bump

* Anonymize userid's sent to credits API. (#467)

* Anonymize userid's sent to credits API.

* Plugin load logs (#469)

* add a plugin load log

* ignore rider options folder

* Add ChangedRole event (#468)

* Add ChangedRole event

* MirrorExtesnions::ChangeRunningSpeed & MirrorExtesnions:ChangeWalkingSpeed methods (#471)

* Add translations (#460)

* Add translations

* Don't make plugin translations if the plugin has no translations

* Move translations to a separate class and stop using SortedDictionary

* Create a separate "reload translations" command

* Add Plugin class overload with translations

* Move serializer/deserializer from config and translation managers to the same class and added ShouldReloadTranslationsAtRoundRestart config

* Add compatibility for old plugins

* Typo (#481)

Co-authored-by: Nao <[email protected]>

* Add a description for the ShouldReloadConfigsAtRoundRestart config & explicitly set to false (#479)


Co-authored-by: Nick Rebbok <[email protected]>

* Add Player.HasHint, Player.Zone and Player.ArtificialHealthDecay (#480)

* Fix overwatch issue and remove older patch (#483)

* remove older patch

* Add Player.UnitName (#485)

* Player UnitName

* Update Exiled.API/Features/Player.cs

Co-authored-by: Nick Rebbok <[email protected]>

* Allow Handcuffing event.IsAllowed to override team checks. (#484)

* Allow Handcuffing event.IsAllowed to override team checks.

Co-authored-by: Pietro <[email protected]>

* version bump

* Fix DoorExtensions.GetDoorType (String.GetBefore) (#487)

* Add PickingUpAmmo event (#489)

* Add PickingUpAmmo event

* disable warning SA1313

* Player.ResetInventory(List<string>) extension (#478)

* Player.ResetInventory(List<string>) extension

* Fix GetGroup (#470)

* Fix GetGroup

* Update Exiled.API/Extensions/UserGroupExtension.cs

Co-authored-by: iRebbok <[email protected]>

* fix: stop manipulating the local 'damage' after the Shoot event is fired

* fix: add a return statement to the AC 'R3' patch (#490)

* feat: anti cheat ignores custom colliders (#493)

* Fixed a typo (#494)

* Update Player::IsCuffed summary (#491)

* feat: add UserGroupExtension::GetKey(UseGroup) & Server::PermissionsHandler (#495)

* feat: let 'em get keys of usergroups

* rename: UserGroupExtension -> UserGroupExtensions

* Converted GainingExperience into a transpiler (#473)

* Converted GainingExperience, EnteringPocketDimension, ActivatingWorkstation, DeactivatingWorkstation into transpilers.

* Some clean up.

* Update Uniq when setting CurrentItem (#498)

* SessionVariables improvement (#503)

* Better SessionVariables access

* Update Exiled.API/Features/Player.cs

Co-authored-by: Pietro <[email protected]>

* Player.CountItem(ItemType) (#499)

* Player.CountItem(ItemType)

This is useful to count the items of a certain ItemType a player has in his inventory.

Co-authored-by: Pietro <[email protected]>

* Fixed Cassie not saying unit names, when their colors were changed (#496)

* Added patch

* Better name

* Removed unnecessary string

* Add Player:Ping (#501)

* Add Player:Ping

Co-authored-by: Pietro <[email protected]>

* Fix Build Errors (#506)

* Allow custom items to be given to all players at once (#510)

* feat: add giving all players a custom item using *

Co-authored-by: Pietro <[email protected]>

* Added NetworkforceStopInputs (#508)

* Added Player::CanSendInputs

* Exiled.Events - Cassie (#505)

* Added C.A.S.S.I.E. related events.

* ChangingMicroHIDState and UsingMicroHIDEnergy events (#507)

* Moved a Cassie folder to Patches/Events (#514)

* Add Player::ShowHitMarker (#504)

* Add Round::ProgressTime

* Add Player::ShowHitMarker

* Fix Typo

* Remove Round::ProgressTime

* Edit Player::ShowHitMarker

* Create Player.cs

Co-authored-by: green1052 <[email protected]>

* Adds Radio instance to Player::UsingRadioBattery (#520)

* graceful exceptions (#513)

* graceful exceptions

* namespace fail

* new line fail

* commit fixed build

* fix build script

* apple suggestion - avoid printing exception twice

Co-authored-by: Pietro <[email protected]>

* apple suggestion - avoid printing exception twice

Co-authored-by: Pietro <[email protected]>

* apple suggestion - avoid printing exception twice

Co-authored-by: Pietro <[email protected]>

* apple suggestion - avoid printing exception twice

Co-authored-by: Pietro <[email protected]>

* apple suggestion - avoid printing exception twice

Co-authored-by: Pietro <[email protected]>

* apple suggestion - avoid printing exception twice

Co-authored-by: Pietro <[email protected]>

* rolling back new line mess in Loader.cs, also removes an actual useless whitespace on 363 line

Co-authored-by: Pietro <[email protected]>

* This is a null check, so this should be Brfalse, otherwise we move to a "continue" whenever the player's object ISNT null, rather than when it is. (#521)

* Add FirstAvailable as an InfoSide for CreditTags (#517)

* feat: add FirstAvailable as an InfoSide for CreditTags

* Update Exiled.CreditTags/Enums/InfoSide.cs

Co-authored-by: Nick Rebbok <[email protected]>

Co-authored-by: Nick Rebbok <[email protected]>

* Vector2, Vector3 and Vector4 config converter (#519)

* Vector2, Vector3 and Vector4 config converter
+Unity Vector2, Vector3 and Vector4 can now be converted into configs and vice versa.
+Exiled.CustomItems.API.Features.Vector has been deprecated.

* Fixed build errors

Co-authored-by: joker-119 <[email protected]>

* Revert "graceful exceptions (#513)"

This reverts commit c873cb5e

* Reverting graceful exceptions

* funni update tiem

* lowercase because consistency

* Adding Exiled.API.Features.Map.Seed (#524)

* Adding Exiled.API.Features.Map.Seed.

* Making Map.Seed also seteable.

* Check if map is already generated.

* Fixed UsingMicroHIDEnergy being called each frame + added MicroHID instances to both events (#526)

* Fixed my shit

* CurrentHidState

* doc fix

* Converted DamagingWindow into a transpiler (#525)

* Adding Exiled.API.Features.Map.Seed

* Making Map.Seed also seteable.

* Oops, fixing build errors

* Converted DamagingWindow into a transpiler

* Reverting Map.Seed on damagingwindow-transpiler branch

* 2.11 rc (#529)

* Funni merge for rc.2 (#528)

* Adding Exiled.API.Features.Map.Seed (#524)

* Adding Exiled.API.Features.Map.Seed.

* Making Map.Seed also seteable.

* Check if map is already generated.

* Fixed UsingMicroHIDEnergy being called each frame + added MicroHID instances to both events (#526)

* Fixed my shit

* CurrentHidState

* doc fix

* Converted DamagingWindow into a transpiler (#525)

* Adding Exiled.API.Features.Map.Seed

* Making Map.Seed also seteable.

* Oops, fixing build errors

* Converted DamagingWindow into a transpiler

* Reverting Map.Seed on damagingwindow-transpiler branch

Co-authored-by: xRoier <[email protected]>
Co-authored-by: Michal78900 <[email protected]>

* Version bump & quick dirty patch to loader to make sure we aren't trying to load 2 CustomItem assemblies.

Co-authored-by: xRoier <[email protected]>
Co-authored-by: Michal78900 <[email protected]>

* Fixed Player.CanSendInputs being inverted (#530)

* Added ForceCuff check in Player.IsCuffed (#532)

Added the ForceCuff (RA) check in Player.IsCuffed bool

Co-authored-by: Pietro <[email protected]>
Co-authored-by: Tomorii <[email protected]>
Co-authored-by: Nick Rebbok <[email protected]>
Co-authored-by: BuildBoy12 <[email protected]>
Co-authored-by: Steven Webster <[email protected]>
Co-authored-by: SebasCapo <[email protected]>
Co-authored-by: xRoier <[email protected]>
Co-authored-by: PintTheDragon <[email protected]>
Co-authored-by: Michal78900 <[email protected]>
Co-authored-by: Nao <[email protected]>
Co-authored-by: sanyae2439 <[email protected]>
Co-authored-by: Raul125 <[email protected]>
Co-authored-by: Gaby <[email protected]>
Co-authored-by: Remuchi <[email protected]>
Co-authored-by: 4310V343k <[email protected]>
Co-authored-by: slid88 <[email protected]>
Co-authored-by: Wydział Wewnętrzny <[email protected]>
Co-authored-by: Jesús <[email protected]>
Co-authored-by: green1052 <[email protected]>
Co-authored-by: 0b10000 <[email protected]>
Co-authored-by: green1052 <[email protected]>
Co-authored-by: Lufou <[email protected]>

* big funni (#537)

* Changes (#439)

* Changes
[Exiled.Events]
+Changed OnAddingTarget, OnUpgradingItems and OnGeneratorActivated into transpilers.
+Some clean up.
+Marked SendingConsoleCommandEventArgs::Allow as obsolete.

[Exiled.Example]
+Renamed Handlers folder into Events and its classes.
+Added some events.

* Changes
+ Used <remarks></remarks> block.
+ Changed Exception string.

* Using the RH instead of the GameObject

* Added \n to respect the format

* Changed a comment

* New event: Map.ChangingIntoGrenade (my first transpiler <3) (#440)

* New event: Map.ChangingIntoGrenade (my first transpiler <3)

* Back to for loop brrr

* And address the review stuff

* consistency go brr

* Added fuseTime to constructor. Removed unused default property values.

Co-authored-by: galaxy119 <[email protected]>

* Added new permission (#443)

Use customitems.spawn instead of customitems.list
Spawn isn't a List's command parent after all.

* Changes (#444)

[Exiled.Events]
+ Changed PreAuthenticating patch into a transpiler.

[Exiled.Example]
+ Added Player::OnPreAuthenticating event.

* New events (#447)

* Additions
+Added ChangingRadioPreset and UsingRadioBattery events.
+Some clean up.

* Fix for #441

* Reduces damage dealt to SCP-106 by 90%, same as the damage calculation applied to SCP-106 by base-game in CallCmdShoot.
Fixes #448

* Fix for SCP-096 being able to enter 'pre-windup' with no targets. (#449)

* Fix for SCP-096 being able to enter 'pre-windup' with no targets.

* I'm not tinybrain I promise.

* Fuck stylecop, these are both to do the exact same thing

* Ok, I AM tinybrain.

* this makes more sense namewise

* de-duplication is nice

* This is my final form

* Don't forget to send the kids home after school

* Update to remove unnecessary patch and use ChangingIntoGrenade Event instead. (#454)

* Sorting config keys alphabetically instead (#452)

* sorting config keys alphabetically instead

* backwards compatibility

* Changed four events into transpilers (#451)

* Additions
`[Exiled.Events]`
+ Changed Handcuffing, ActivatingWarheadPanel, StartingRecall and FinishingRecall to transpilers.

* Updated a comment

* Changed opcodes flow
+ Inverted the logic of the item check.
+ Used Call instead of Callvirt to call List<string>::Add.

* Changed a Brfalse_S to Brfalse

Since the BodyCmd_ByteAndGameObject is a very long method and the return label is 216 instructions below, this patch may break in future updates if they'll add more instructions in it.

* Adds TryingNotToCry, Charging, and ChargingPlayer events (#455)

* Adds TryingNotToCry and Charging events

Adds two new events which invoke before SCP-096 tries not to cry or charges respectively.

* Adds the ChargingPlayer event

Adds an event which fires before SCP-096 hits a player during its charge.

* Get the Player from the ReferenceHub

Removed .gameObject from a few methods to get the player directory from the RH.

* Turn the giant CallCmdShoot prefix patch into a transpiler. (#453)

* Turn the giant CallCmdShoot prefix patch into a transpiler.

* Re-position the first event so that it is triggered before removing ammo from the weapon.

* Changed offsets to be negative, with index using + offset for consistency with other patches.
Changed this.gameObject to this._hub
Changed ev1 and ev2 to shootingEv and shotEv respectively.
Changed callvirt calls on this.x to call

* Updated offset for ShotEvent

* I'm an egg

* I'm a monkey in disguise.

* Allows NW to be aware of custom items that may impact gameplay (#450)

* Allows NW to be aware of custom items that may impact gameplay in a way that could be considered hacking.

* This is NOT a config option, and can only be set by the plugin author.

* Version bump

* Fixes base-game enrage command.

* We don't need that

* This needs to be displayname not nickname

* remove debugging info lines

* Fixing escaping with custom items.
Fixes weapons being able to increase damage of other sources.

* Actual fix for that

* Fix for NullRef on CustomItems.PlayerHandler.OnChangingRole when a round first starts.

* Removed more debugging lines, oops

* Change ChargingPlayer and TryingNotToCry into transpilers (#456)

* Change ChargingPlayer and TryingNotToCry into transpilers, Fix ChargingPlayer

ChargingPlayer was calling the event once per frame, now it will call once per player.

* Remove unused warning disable

* Remove unused usings

* Comments and small changes

* use Exiled.API.Features

* Remove oldCount as it's no longer needed. Correct copied comment.

* Move RoleType.GetRandomSpawnPoint extension to Extensions.Role (#461)

* Move RoleType.GetRandomSpawnPoint to Extensions.Role

* Remove Map.GetRandomSpawnPoint because of ambiguity it creates.

* Readded Map.GetRandomSpawnPoint, Changed CustomItems to use it explicitly

* Add method name to obsolete description.

* Also throw an error if the old extension is used

Co-authored-by: Nick Rebbok <[email protected]>

* Fixed grenade chaining.

* Version bump

* Changed 5 events into transpilers (#458)

* Changed 5 events into transpilers
+ Added ElevatorTeleportEventArgs::AuxiliaryPowerCost and made obsolete ElevatorTeleportEventArgs::APCost.
+ Added InteractingDoorEventArgs::AuxiliaryPowerCost.
+ Added InteractingTeslaEventArgs::AuxiliaryPowerCost.
+ Added StartingSpeakerEventArgs::AuxiliaryPowerCost and made obsolete StartingSpeakerEventArgs::APDrain.
+ Added Scp079::TriggeringDoor.
+ Added Scp079::ElevatorTeleporting.
+ Made obsolete Scp079::InteractingDoor.
+ Made obsolete Scp079::ElevatorTeleport.
+ Made obsolete ChangingCameraEventArgs::APCost in favor of ChangingCameraEventArgs::AuxiliaryPowerCost.
+ ElevatorTeleportEventArgs now inherits ElevatorTeleportingEventArgs.

* Fix grenades fail to explode (#465)

* fix grenades fail to explode

* sure stylecop

* add some explanatory comments

* Converted ChangingCamera into a transpiler (#463)

* Converted ChangingCamera into a transpiler
+ Fixed the logic of IsAllowed for Interacting patch.

* CI.Spawn Pickup (#464)

* Updated Spawn methods

* Cleaning a little bit the example plugin (#466)

* Changed Example plugin method calls order

- Deleted the private constructor.
- Moved down ``base.OnEnabled()`` and ``base.OnDisabled()``.

Co-authored-by: Nick Rebbok <[email protected]>

* Fixes AFK system being 'disabled' by exiled.

* Update main.yml

* YamlDotNet version bump

* Anonymize userid's sent to credits API. (#467)

* Anonymize userid's sent to credits API.

* Plugin load logs (#469)

* add a plugin load log

* ignore rider options folder

* Add ChangedRole event (#468)

* Add ChangedRole event

* MirrorExtesnions::ChangeRunningSpeed & MirrorExtesnions:ChangeWalkingSpeed methods (#471)

* Add translations (#460)

* Add translations

* Don't make plugin translations if the plugin has no translations

* Move translations to a separate class and stop using SortedDictionary

* Create a separate "reload translations" command

* Add Plugin class overload with translations

* Move serializer/deserializer from config and translation managers to the same class and added ShouldReloadTranslationsAtRoundRestart config

* Add compatibility for old plugins

* Typo (#481)

Co-authored-by: Nao <[email protected]>

* Add a description for the ShouldReloadConfigsAtRoundRestart config & explicitly set to false (#479)


Co-authored-by: Nick Rebbok <[email protected]>

* Add Player.HasHint, Player.Zone and Player.ArtificialHealthDecay (#480)

* Fix overwatch issue and remove older patch (#483)

* remove older patch

* Add Player.UnitName (#485)

* Player UnitName

* Update Exiled.API/Features/Player.cs

Co-authored-by: Nick Rebbok <[email protected]>

* Allow Handcuffing event.IsAllowed to override team checks. (#484)

* Allow Handcuffing event.IsAllowed to override team checks.

Co-authored-by: Pietro <[email protected]>

* version bump

* Fix DoorExtensions.GetDoorType (String.GetBefore) (#487)

* Add PickingUpAmmo event (#489)

* Add PickingUpAmmo event

* disable warning SA1313

* Player.ResetInventory(List<string>) extension (#478)

* Player.ResetInventory(List<string>) extension

* Fix GetGroup (#470)

* Fix GetGroup

* Update Exiled.API/Extensions/UserGroupExtension.cs

Co-authored-by: iRebbok <[email protected]>

* fix: stop manipulating the local 'damage' after the Shoot event is fired

* fix: add a return statement to the AC 'R3' patch (#490)

* feat: anti cheat ignores custom colliders (#493)

* Fixed a typo (#494)

* Update Player::IsCuffed summary (#491)

* feat: add UserGroupExtension::GetKey(UseGroup) & Server::PermissionsHandler (#495)

* feat: let 'em get keys of usergroups

* rename: UserGroupExtension -> UserGroupExtensions

* Converted GainingExperience into a transpiler (#473)

* Converted GainingExperience, EnteringPocketDimension, ActivatingWorkstation, DeactivatingWorkstation into transpilers.

* Some clean up.

* Update Uniq when setting CurrentItem (#498)

* SessionVariables improvement (#503)

* Better SessionVariables access

* Update Exiled.API/Features/Player.cs

Co-authored-by: Pietro <[email protected]>

* Player.CountItem(ItemType) (#499)

* Player.CountItem(ItemType)

This is useful to count the items of a certain ItemType a player has in his inventory.

Co-authored-by: Pietro <[email protected]>

* Fixed Cassie not saying unit names, when their colors were changed (#496)

* Added patch

* Better name

* Removed unnecessary string

* Add Player:Ping (#501)

* Add Player:Ping

Co-authored-by: Pietro <[email protected]>

* Fix Build Errors (#506)

* Allow custom items to be given to all players at once (#510)

* feat: add giving all players a custom item using *

Co-authored-by: Pietro <[email protected]>

* Added NetworkforceStopInputs (#508)

* Added Player::CanSendInputs

* Exiled.Events - Cassie (#505)

* Added C.A.S.S.I.E. related events.

* ChangingMicroHIDState and UsingMicroHIDEnergy events (#507)

* Moved a Cassie folder to Patches/Events (#514)

* Add Player::ShowHitMarker (#504)

* Add Round::ProgressTime

* Add Player::ShowHitMarker

* Fix Typo

* Remove Round::ProgressTime

* Edit Player::ShowHitMarker

* Create Player.cs

Co-authored-by: green1052 <[email protected]>

* Adds Radio instance to Player::UsingRadioBattery (#520)

* graceful exceptions (#513)

* graceful exceptions

* namespace fail

* new line fail

* commit fixed build

* fix build script

* apple suggestion - avoid printing exception twice

Co-authored-by: Pietro <[email protected]>

* apple suggestion - avoid printing exception twice

Co-authored-by: Pietro <[email protected]>

* apple suggestion - avoid printing exception twice

Co-authored-by: Pietro <[email protected]>

* apple suggestion - avoid printing exception twice

Co-authored-by: Pietro <[email protected]>

* apple suggestion - avoid printing exception twice

Co-authored-by: Pietro <[email protected]>

* apple suggestion - avoid printing exception twice

Co-authored-by: Pietro <[email protected]>

* rolling back new line mess in Loader.cs, also removes an actual useless whitespace on 363 line

Co-authored-by: Pietro <[email protected]>

* This is a null check, so this should be Brfalse, otherwise we move to a "continue" whenever the player's object ISNT null, rather than when it is. (#521)

* Add FirstAvailable as an InfoSide for CreditTags (#517)

* feat: add FirstAvailable as an InfoSide for CreditTags

* Update Exiled.CreditTags/Enums/InfoSide.cs

Co-authored-by: Nick Rebbok <[email protected]>

Co-authored-by: Nick Rebbok <[email protected]>

* Vector2, Vector3 and Vector4 config converter (#519)

* Vector2, Vector3 and Vector4 config converter
+Unity Vector2, Vector3 and Vector4 can now be converted into configs and vice versa.
+Exiled.CustomItems.API.Features.Vector has been deprecated.

* Fixed build errors

Co-authored-by: joker-119 <[email protected]>

* Revert "graceful exceptions (#513)"

This reverts commit c873cb5e

* Reverting graceful exceptions

* funni update tiem

* lowercase because consistency

* Adding Exiled.API.Features.Map.Seed (#524)

* Adding Exiled.API.Features.Map.Seed.

* Making Map.Seed also seteable.

* Check if map is already generated.

* Fixed UsingMicroHIDEnergy being called each frame + added MicroHID instances to both events (#526)

* Fixed my shit

* CurrentHidState

* doc fix

* Converted DamagingWindow into a transpiler (#525)

* Adding Exiled.API.Features.Map.Seed

* Making Map.Seed also seteable.

* Oops, fixing build errors

* Converted DamagingWindow into a transpiler

* Reverting Map.Seed on damagingwindow-transpiler branch

* 2.11 rc (#529)

* Funni merge for rc.2 (#528)

* Adding Exiled.API.Features.Map.Seed (#524)

* Adding Exiled.API.Features.Map.Seed.

* Making Map.Seed also seteable.

* Check if map is already generated.

* Fixed UsingMicroHIDEnergy being called each frame + added MicroHID instances to both events (#526)

* Fixed my shit

* CurrentHidState

* doc fix

* Converted DamagingWindow into a transpiler (#525)

* Adding Exiled.API.Features.Map.Seed

* Making Map.Seed also seteable.

* Oops, fixing build errors

* Converted DamagingWindow into a transpiler

* Reverting Map.Seed on damagingwindow-transpiler branch

Co-authored-by: xRoier <[email protected]>
Co-authored-by: Michal78900 <[email protected]>

* Version bump & quick dirty patch to loader to make sure we aren't trying to load 2 CustomItem assemblies.

Co-authored-by: xRoier <[email protected]>
Co-authored-by: Michal78900 <[email protected]>

* Fixed Player.CanSendInputs being inverted (#530)

* Added ForceCuff check in Player.IsCuffed (#532)

Added the ForceCuff (RA) check in Player.IsCuffed bool

* Fix ChangedRole event (#535)

* Update ChangedRoleEventArgs.cs

* Update ChangingRole.cs

* Update ChangedRoleEventArgs.cs

* Update ChangedRoleEventArgs.cs

* Update ChangedRoleEventArgs.cs

* Update ChangedRoleEventArgs.cs

* Update ChangedRoleEventArgs.cs

Co-authored-by: Pietro <[email protected]>
Co-authored-by: Tomorii <[email protected]>
Co-authored-by: Nick Rebbok <[email protected]>
Co-authored-by: BuildBoy12 <[email protected]>
Co-authored-by: Steven Webster <[email protected]>
Co-authored-by: SebasCapo <[email protected]>
Co-authored-by: xRoier <[email protected]>
Co-authored-by: PintTheDragon <[email protected]>
Co-authored-by: Michal78900 <[email protected]>
Co-authored-by: Nao <[email protected]>
Co-authored-by: sanyae2439 <[email protected]>
Co-authored-by: Raul125 <[email protected]>
Co-authored-by: Gaby <[email protected]>
Co-authored-by: Remuchi <[email protected]>
Co-authored-by: 4310V343k <[email protected]>
Co-authored-by: slid88 <[email protected]>
Co-authored-by: Wydział Wewnętrzny <[email protected]>
Co-authored-by: Jesús <[email protected]>
Co-authored-by: green1052 <[email protected]>
Co-authored-by: 0b10000 <[email protected]>
Co-authored-by: green1052 <[email protected]>
Co-authored-by: Lufou <[email protected]>
Co-authored-by: PintTheDragon <[email protected]>

* Fixing the Coroutine example (#545)

* WaitForSeconds not WaitForSecond

* Log.Info not Plugin.info

* Michal fixes

* Add GetValue()

* we do much trolling

* remove whitespace

* Update UserGroupExtensions.cs

Co-authored-by: joker-119 <[email protected]>
Co-authored-by: Pietro <[email protected]>
Co-authored-by: Tomorii <[email protected]>
Co-authored-by: Nick Rebbok <[email protected]>
Co-authored-by: BuildBoy12 <[email protected]>
Co-authored-by: Steven Webster <[email protected]>
Co-authored-by: SebasCapo <[email protected]>
Co-authored-by: xRoier <[email protected]>
Co-authored-by: PintTheDragon <[email protected]>
Co-authored-by: Michal78900 <[email protected]>
Co-authored-by: Nao <[email protected]>
Co-authored-by: sanyae2439 <[email protected]>
Co-authored-by: Raul125 <[email protected]>
Co-authored-by: Gaby <[email protected]>
Co-authored-by: Remuchi <[email protected]>
Co-authored-by: 4310V343k <[email protected]>
Co-authored-by: slid88 <[email protected]>
Co-authored-by: Wydział Wewnętrzny <[email protected]>
Co-authored-by: Jesús <[email protected]>
Co-authored-by: green1052 <[email protected]>
Co-authored-by: 0b10000 <[email protected]>
Co-authored-by: green1052 <[email protected]>
Co-authored-by: Lufou <[email protected]>
Co-authored-by: PintTheDragon <[email protected]>
Co-authored-by: babyboucher <[email protected]>

* Added some properties to Round class (#557)

* Edited Player::Level (#558)

* Ima just do this to make these the same tree again (#536)

* Changes (#439)

* Changes
[Exiled.Events]
+Changed OnAddingTarget, OnUpgradingItems and OnGeneratorActivated into transpilers.
+Some clean up.
+Marked SendingConsoleCommandEventArgs::Allow as obsolete.

[Exiled.Example]
+Renamed Handlers folder into Events and its classes.
+Added some events.

* Changes
+ Used <remarks></remarks> block.
+ Changed Exception string.

* Using the RH instead of the GameObject

* Added \n to respect the format

* Changed a comment

* New event: Map.ChangingIntoGrenade (my first transpiler <3) (#440)

* New event: Map.ChangingIntoGrenade (my first transpiler <3)

* Back to for loop brrr

* And address the review stuff

* consistency go brr

* Added fuseTime to constructor. Removed unused default property values.

Co-authored-by: galaxy119 <[email protected]>

* Added new permission (#443)

Use customitems.spawn instead of customitems.list
Spawn isn't a List's command parent after all.

* Changes (#444)

[Exiled.Events]
+ Changed PreAuthenticating patch into a transpiler.

[Exiled.Example]
+ Added Player::OnPreAuthenticating event.

* New events (#447)

* Additions
+Added ChangingRadioPreset and UsingRadioBattery events.
+Some clean up.

* Fix for #441

* Reduces damage dealt to SCP-106 by 90%, same as the damage calculation applied to SCP-106 by base-game in CallCmdShoot.
Fixes #448

* Fix for SCP-096 being able to enter 'pre-windup' with no targets. (#449)

* Fix for SCP-096 being able to enter 'pre-windup' with no targets.

* I'm not tinybrain I promise.

* Fuck stylecop, these are both to do the exact same thing

* Ok, I AM tinybrain.

* this makes more sense namewise

* de-duplication is nice

* This is my final form

* Don't forget to send the kids home after school

* Update to remove unnecessary patch and use ChangingIntoGrenade Event instead. (#454)

* Sorting config keys alphabetically instead (#452)

* sorting config keys alphabetically instead

* backwards compatibility

* Changed four events into transpilers (#451)

* Additions
`[Exiled.Events]`
+ Changed Handcuffing, ActivatingWarheadPanel, StartingRecall and FinishingRecall to transpilers.

* Updated a comment

* Changed opcodes flow
+ Inverted the logic of the item check.
+ Used Call instead of Callvirt to call List<string>::Add.

* Changed a Brfalse_S to Brfalse

Since the BodyCmd_ByteAndGameObject is a very long method and the return label is 216 instructions below, this patch may break in future updates if they'll add more instructions in it.

* Adds TryingNotToCry, Charging, and ChargingPlayer events (#455)

* Adds TryingNotToCry and Charging events

Adds two new events which invoke before SCP-096 tries not to cry or charges respectively.

* Adds the ChargingPlayer event

Adds an event which fires before SCP-096 hits a player during its charge.

* Get the Player from the ReferenceHub

Removed .gameObject from a few methods to get the player directory from the RH.

* Turn the giant CallCmdShoot prefix patch into a transpiler. (#453)

* Turn the giant CallCmdShoot prefix patch into a transpiler.

* Re-position the first event so that it is triggered before removing ammo from the weapon.

* Changed offsets to be negative, with index using + offset for consistency with other patches.
Changed this.gameObject to this._hub
Changed ev1 and ev2 to shootingEv and shotEv respectively.
Changed callvirt calls on this.x to call

* Updated offset for ShotEvent

* I'm an egg

* I'm a monkey in disguise.

* Allows NW to be aware of custom items that may impact gameplay (#450)

* Allows NW to be aware of custom items that may impact gameplay in a way that could be considered hacking.

* This is NOT a config option, and can only be set by the plugin author.

* Version bump

* Fixes base-game enrage command.

* We don't need that

* This needs to be displayname not nickname

* remove debugging info lines

* Fixing escaping with custom items.
Fixes weapons being able to increase damage of other sources.

* Actual fix for that

* Fix for NullRef on CustomItems.PlayerHandler.OnChangingRole when a round first starts.

* Removed more debugging lines, oops

* Change ChargingPlayer and TryingNotToCry into transpilers (#456)

* Change ChargingPlayer and TryingNotToCry into transpilers, Fix ChargingPlayer

ChargingPlayer was calling the event once per frame, now it will call once per player.

* Remove unused warning disable

* Remove unused usings

* Comments and small changes

* use Exiled.API.Features

* Remove oldCount as it's no longer needed. Correct copied comment.

* Move RoleType.GetRandomSpawnPoint extension to Extensions.Role (#461)

* Move RoleType.GetRandomSpawnPoint to Extensions.Role

* Remove Map.GetRandomSpawnPoint because of ambiguity it creates.

* Readded Map.GetRandomSpawnPoint, Changed CustomItems to use it explicitly

* Add method name to obsolete description.

* Also throw an error if the old extension is used

Co-authored-by: Nick Rebbok <[email protected]>

* Fixed grenade chaining.

* Version bump

* Changed 5 events into transpilers (#458)

* Changed 5 events into transpilers
+ Added ElevatorTeleportEventArgs::AuxiliaryPowerCost and made obsolete ElevatorTeleportEventArgs::APCost.
+ Added InteractingDoorEventArgs::AuxiliaryPowerCost.
+ Added InteractingTeslaEventArgs::AuxiliaryPowerCost.
+ Added StartingSpeakerEventArgs::AuxiliaryPowerCost and made obsolete StartingSpeakerEventArgs::APDrain.
+ Added Scp079::TriggeringDoor.
+ Added Scp079::ElevatorTeleporting.
+ Made obsolete Scp079::InteractingDoor.
+ Made obsolete Scp079::ElevatorTeleport.
+ Made obsolete ChangingCameraEventArgs::APCost in favor of ChangingCameraEventArgs::AuxiliaryPowerCost.
+ ElevatorTeleportEventArgs now inherits ElevatorTeleportingEventArgs.

* Fix grenades fail to explode (#465)

* fix grenades fail to explode

* sure stylecop

* add some explanatory comments

* Converted ChangingCamera into a transpiler (#463)

* Converted ChangingCamera into a transpiler
+ Fixed the logic of IsAllowed for Interacting patch.

* CI.Spawn Pickup (#464)

* Updated Spawn methods

* Cleaning a little bit the example plugin (#466)

* Changed Example plugin method calls order

- Deleted the private constructor.
- Moved down ``base.OnEnabled()`` and ``base.OnDisabled()``.

Co-authored-by: Nick Rebbok <[email protected]>

* Fixes AFK system being 'disabled' by exiled.

* Update main.yml

* YamlDotNet version bump

* Anonymize userid's sent to credits API. (#467)

* Anonymize userid's sent to credits API.

* Plugin load logs (#469)

* add a plugin load log

* ignore rider options folder

* Add ChangedRole event (#468)

* Add ChangedRole event

* MirrorExtesnions::ChangeRunningSpeed & MirrorExtesnions:ChangeWalkingSpeed methods (#471)

* Add translations (#460)

* Add translations

* Don't make plugin translations if the plugin has no translations

* Move translations to a separate class and stop using SortedDictionary

* Create a separate "reload translations" command

* Add Plugin class overload with translations

* Move serializer/deserializer from config and translation managers to the same class and added ShouldReloadTranslationsAtRoundRestart config

* Add compatibility for old plugins

* Typo (#481)

Co-authored-by: Nao <[email protected]>

* Add a description for the ShouldReloadConfigsAtRoundRestart config & explicitly set to false (#479)


Co-authored-by: Nick Rebbok <[email protected]>

* Add Player.HasHint, Player.Zone and Player.ArtificialHealthDecay (#480)

* Fix overwatch issue and remove older patch (#483)

* remove older patch

* Add Player.UnitName (#485)

* Player UnitName

* Update Exiled.API/Features/Player.cs

Co-authored-by: Nick Rebbok <[email protected]>

* Allow Handcuffing event.IsAllowed to override team checks. (#484)

* Allow Handcuffing event.IsAllowed to override team checks.

Co-authored-by: Pietro <[email protected]>

* version bump

* Fix DoorExtensions.GetDoorType (String.GetBefore) (#487)

* Add PickingUpAmmo event (#489)

* Add PickingUpAmmo event

* disable warning SA1313

* Player.ResetInventory(List<string>) extension (#478)

* Player.ResetInventory(List<string>) extension

* Fix GetGroup (#470)

* Fix GetGroup

* Update Exiled.API/Extensions/UserGroupExtension.cs

Co-authored-by: iRebbok <[email protected]>

* fix: stop manipulating the local 'damage' after the Shoot event is fired

* fix: add a return statement to the AC 'R3' patch (#490)

* feat: anti cheat ignores custom colliders (#493)

* Fixed a typo (#494)

* Update Player::IsCuffed summary (#491)

* feat: add UserGroupExtension::GetKey(UseGroup) & Server::PermissionsHandler (#495)

* feat: let 'em get keys of usergroups

* rename: UserGroupExtension -> UserGroupExtensions

* Converted GainingExperience into a transpiler (#473)

* Converted GainingExperience, EnteringPocketDimension, ActivatingWorkstation, DeactivatingWorkstation into transpilers.

* Some clean up.

* Update Uniq when setting CurrentItem (#498)

* SessionVariables improvement (#503)

* Better SessionVariables access

* Update Exiled.API/Features/Player.cs

Co-authored-by: Pietro <[email protected]>

* Player.CountItem(ItemType) (#499)

* Player.CountItem(ItemType)

This is useful to count the items of a certain ItemType a player has in his inventory.

Co-authored-by: Pietro <[email protected]>

* Fixed Cassie not saying unit names, when their colors were changed (#496)

* Added patch

* Better name

* Removed unnecessary string

* Add Player:Ping (#501)

* Add Player:Ping

Co-authored-by: Pietro <[email protected]>

* Fix Build Errors (#506)

* Allow custom items to be given to all players at once (#510)

* feat: add giving all players a custom item using *

Co-authored-by: Pietro <[email protected]>

* Added NetworkforceStopInputs (#508)

* Added Player::CanSendInputs

* Exiled.Events - Cassie (#505)

* Added C.A.S.S.I.E. related events.

* ChangingMicroHIDState and UsingMicroHIDEnergy events (#507)

* Moved a Cassie folder to Patches/Events (#514)

* Add Player::ShowHitMarker (#504)

* Add Round::ProgressTime

* Add Player::ShowHitMarker

* Fix Typo

* Remove Round::ProgressTime

* Edit Player::ShowHitMarker

* Create Player.cs

Co-authored-by: green1052 <[email protected]>

* Adds Radio instance to Player::UsingRadioBattery (#520)

* graceful exceptions (#513)

* graceful exceptions

* namespace fail

* new line fail

* commit fixed build

* fix build script

* apple suggestion - avoid printing exception twice

Co-authored-by: Pietro <[email protected]>

* apple suggestion - avoid printing exception twice

Co-authored-by: Pietro <[email protected]>

* apple suggestion - avoid printing exception twice

Co-authored-by: Pietro <[email protected]>

* apple suggestion - avoid printing exception twice

Co-authored-by: Pietro <[email protected]>

* apple suggestion - avoid printing exception twice

Co-authored-by: Pietro <[email protected]>

* apple suggestion - avoid printing exception twice

Co-authored-by: Pietro <[email protected]>

* rolling back new line mess in Loader.cs, also removes an actual useless whitespace on 363 line

Co-authored-by: Pietro <[email protected]>

* This is a null check, so this should be Brfalse, otherwise we move to a "continue" whenever the player's object ISNT null, rather than when it is. (#521)

* Add FirstAvailable as an InfoSide for CreditTags (#517)

* feat: add FirstAvailable as an InfoSide for CreditTags

* Update Exiled.CreditTags/Enums/InfoSide.cs

Co-authored-by: Nick Rebbok <[email protected]>

Co-authored-by: Nick Rebbok <[email protected]>

* Vector2, Vector3 and Vector4 config converter (#519)

* Vector2, Vector3 and Vector4 config converter
+Unity Vector2, Vector3 and Vector4 can now be converted into configs and vice versa.
+Exiled.CustomItems.API.Features.Vector has been deprecated.

* Fixed build errors

Co-authored-by: joker-119 <[email protected]>

* Revert "graceful exceptions (#513)"

This reverts commit c873cb5e

* Reverting graceful exceptions

* funni update tiem

* lowercase because consistency

* Adding Exiled.API.Features.Map.Seed (#524)

* Adding Exiled.API.Features.Map.Seed.

* Making Map.Seed also seteable.

* Check if map is already generated.

* Fixed UsingMicroHIDEnergy being called each frame + added MicroHID instances to both events (#526)

* Fixed my shit

* CurrentHidState

* doc fix

* Converted DamagingWindow into a transpiler (#525)

* Adding Exiled.API.Features.Map.Seed

* Making Map.Seed also seteable.

* Oops, fixing build errors

* Converted DamagingWindow into a transpiler

* Reverting Map.Seed on damagingwindow-transpiler branch

* 2.11 rc (#529)

* Funni merge for rc.2 (#528)

* Adding Exiled.API.Features.Map.Seed (#524)

* Adding Exiled.API.Features.Map.Seed.

* Making Map.Seed also seteable.

* Check if map is already generated.

* Fixed UsingMicroHIDEnergy being called each frame + added MicroHID instances to both events (#526)

* Fixed my shit

* CurrentHidState

* doc fix

* Converted DamagingWindow into a transpiler (#525)

* Adding Exiled.API.Features.Map.Seed

* Making Map.Seed also seteable.

* Oops, fixing build errors

* Converted DamagingWindow into a transpiler

* Reverting Map.Seed on damagingwindow-transpiler branch

Co-authored-by: xRoier <[email protected]>
Co-authored-by: Michal78900 <[email protected]>

* Version bump & quick dirty patch to loader to make sure we aren't trying to load 2 CustomItem assemblies.

Co-authored-by: xRoier <[email protected]>
Co-authored-by: Michal78900 <[email protected]>

* Fixed Player.CanSendInputs being inverted (#530)

* Added ForceCuff check in Player.IsCuffed (#532)

Added the ForceCuff (RA) check in Player.IsCuffed bool

Co-authored-by: Pietro <[email protected]>
Co-authored-by: Tomorii <[email protected]>
Co-authored-by: Nick Rebbok <[email protected]>
Co-authored-by: BuildBoy12 <[email protected]>
Co-authored-by: Steven Webster <[email protected]>
Co-authored-by: SebasCapo <[email protected]>
Co-authored-by: xRoier <[email protected]>
Co-authored-by: PintTheDragon <[email protected]>
Co-authored-by: Michal78900 <[email protected]>
Co-authored-by: Nao <[email protected]>
Co-authored-by: sanyae2439 <[email protected]>
Co-authored-by: Raul125 <[email protected]>
Co-authored-by: Gaby <[email protected]>
Co-authored-by: Remuchi <[email protected]>
Co-authored-by: 4310V343k <[email protected]>
Co-authored-by: slid88 <[email protected]>
Co-authored-by: Wydział Wewnętrzny <[email protected]>
Co-authored-by: Jesús <[email protected]>
Co-authored-by: green1052 <[email protected]>
Co-authored-by: 0b10000 <[email protected]>
Co-authored-by: green1052 <[email protected]>
Co-authored-by: Lufou <[email protected]>

* big funni (#537)

* Changes (#439)

* Changes
[Exiled.Events]
+Changed OnAddingTarget, OnUpgradingItems and OnGeneratorActivated into transpilers.
+Some clean up.
+Marked SendingConsoleCommandEventArgs::Allow as obsolete.

[Exiled.Example]
+Renamed Handlers folder into Events and its classes.
+Added some events.

* Changes
+ Used <remarks></remarks> block.
+ Changed Exception string.

* Using the RH instead of the GameObject

* Added \n to respect the format

* Changed a …
  • Loading branch information
1 parent c6956ea commit b9241a3
Show file tree
Hide file tree
Showing 39 changed files with 1,223 additions and 101 deletions.
56 changes: 56 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# Uses code from https://github.com/Exiled-Team/EXILED/blob/master/.github/workflows/main.yml
name: Build and Publish Docs

on:
push:
branches:
- master
pull_request:
branches:
- master

env:
EXILED_REFERENCES_URL: https://www.exiled.host/build_deps/References.zip
EXILED_REFERENCES_PATH: ${{ github.workspace }}/References

jobs:
build_and_publish_docs:
runs-on: windows-latest

steps:
- name: Checkout
uses: actions/[email protected]

- name: Setup .NET Core SDK
uses: actions/[email protected]

- name: Setup Nuget
uses: iRebbok/setup-nuget@master

- name: Get references
shell: pwsh
run: |
Invoke-WebRequest -Uri https://exiled.host/build_deps/References.zip -OutFile ${{ github.workspace }}/References.zip
Expand-Archive -Path References.zip -DestinationPath ${{ env.EXILED_REFERENCES_PATH }}
- name: Download DocFX
uses: crazy-max/ghaction-chocolatey@v1
with:
args: install docfx --pre

- name: Run DocFX
env:
EXILED_REFERENCES: ${{ env.EXILED_REFERENCES_PATH }}
run: docfx docfx.json

- name: Deploy to GitHub Pages
if: github.event_name == 'push' && success() #Only publishes on push to master to avoid docs mishaps
uses: crazy-max/ghaction-github-pages@v2
with:
target_branch: gh-pages
build_dir: _site
keep_history: true
jekyll: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -366,3 +366,6 @@ FodyWeavers.xsd

# NuGet
NuGet.config

# DocFX site
_site/
2 changes: 1 addition & 1 deletion EXILED.props
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

<PropertyGroup>
<!-- This is the global version and is used for all projects that don't have a version -->
<Version Condition="$(Version) == ''">2.11.1</Version>
<Version Condition="$(Version) == ''">2.14.0</Version>
<!-- Enables public beta warning via the PUBLIC_BETA constant -->
<PublicBeta>false</PublicBeta>

Expand Down
2 changes: 1 addition & 1 deletion Exiled.API/Extensions/MirrorExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ public static void ChangeAppearance(this Player player, RoleType type)
/// <param name="words">Announcement words.</param>
/// <param name="makeHold">Same on <see cref="Cassie.Message(string, bool, bool)"/>'s isHeld.</param>
/// <param name="makeNoise">Same on <see cref="Cassie.Message(string, bool, bool)"/>'s isNoisy.</param>
public static void PlayCassieAnnouncement(this Player player, string words, bool makeHold = false, bool makeNoise = true) => SendFakeTargetRpc(player, RespawnEffectsController.AllControllers.First().netIdentity, typeof(RespawnEffectsController), nameof(RespawnEffectsController.RpcCassieAnnouncement), words, makeHold, makeNoise);
public static void PlayCassieAnnouncement(this Player player, string words, bool makeHold = false, bool makeNoise = true) => SendFakeTargetRpc(player, RespawnEffectsController.AllControllers.Last().netIdentity, typeof(RespawnEffectsController), nameof(RespawnEffectsController.RpcCassieAnnouncement), words, makeHold, makeNoise);

/// <summary>
/// Changes the <see cref="Player"/>'s walking speed. Negative values will invert the player's controls.
Expand Down
18 changes: 9 additions & 9 deletions Exiled.API/Extensions/RagdollExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

namespace Exiled.API.Extensions
{
using System.Linq;
using System;

using Exiled.API.Features;

Expand All @@ -21,31 +21,31 @@ public static class RagdollExtensions
/// </summary>
/// <param name="ragdoll">The <see cref="Ragdoll"/> to check the room of.</param>
/// <returns>The <see cref="Room"/> the ragdoll is located in.</returns>
public static Room GetRoom(this Ragdoll ragdoll) =>
Map.FindParentRoom(ragdoll.gameObject);
[Obsolete("Use Ragdoll.Room property instead.")]
public static Room GetRoom(this Ragdoll ragdoll) => ragdoll.Room;

/// <summary>
/// Returns the <see cref="RoleType"/> of the ragdoll.
/// </summary>
/// <param name="ragdoll">The <see cref="Ragdoll"/> to check the role of.</param>
/// <returns>The <see cref="RoleType"/> of the ragdoll.</returns>
public static RoleType GetRole(this Ragdoll ragdoll) =>
CharacterClassManager._staticClasses.FirstOrDefault(role => role.fullName == ragdoll.owner.FullName).roleId;
[Obsolete("Use Ragdoll.Role property instead.")]
public static RoleType GetRole(this Ragdoll ragdoll) => ragdoll.Role;

/// <summary>
/// Returns the owner <see cref="Player"/>, or null if the ragdoll does not have an owner.
/// </summary>
/// <param name="ragdoll">The <see cref="Ragdoll"/> to get the owner of.</param>
/// <returns>The owner of the ragdoll, or null if the ragdoll does not have an owner.</returns>
public static Player GetOwner(this Ragdoll ragdoll) =>
Player.Get(ragdoll.owner.PlayerId);
[Obsolete("Use Ragdoll.Owner property instead.")]
public static Player GetOwner(this Ragdoll ragdoll) => ragdoll.Owner;

/// <summary>
/// Returns the killing <see cref="Player"/>, or null if the killer is not a player.
/// </summary>
/// <param name="ragdoll">The <see cref="Ragdoll"/> to get the killer of.</param>
/// <returns>The killing <see cref="Player"/>, or null if the killer is not a player.</returns>
public static Player GetKiller(this Ragdoll ragdoll) =>
ragdoll.owner.DeathCause.IsPlayer ? Player.Get(ragdoll.owner.DeathCause.RHub) : null;
[Obsolete("Use Ragdoll.Killer property instead.")]
public static Player GetKiller(this Ragdoll ragdoll) => ragdoll.Killer;
}
}
13 changes: 12 additions & 1 deletion Exiled.API/Extensions/UserGroupExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,22 @@ public static bool EqualsTo(this UserGroup @this, UserGroup other)
&& @this.RequiredKickPower == other.RequiredKickPower;

/// <summary>
/// Searches for a key of a group in the <see cref="PermissionsHandler">RemoveAdmin</see> config.
/// Searches for a key of a group in the <see cref="PermissionsHandler">RemoteAdmin</see> config.
/// </summary>
/// <param name="this">The <see cref="UserGroup"/>.</param>
/// <returns>The key of that group, or null if not found.</returns>
public static string GetKey(this UserGroup @this) => Server.PermissionsHandler._groups
.FirstOrDefault(pair => pair.Value.EqualsTo(@this)).Key;

/// <summary>
/// Searches for a value of a group in the <see cref="PermissionsHandler">RemoteAdmin</see> config.
/// </summary>
/// <param name="groupName">The <see cref="string"/>.</param>
/// <returns>The value of that group, or null if not found.</returns>
public static UserGroup GetValue(string groupName)
{
ServerStatic.GetPermissionsHandler().GetAllGroups().TryGetValue(groupName, out var userGroup);
return userGroup;
}
}
}
59 changes: 59 additions & 0 deletions Exiled.API/Features/Components/CollisionHandler.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
// -----------------------------------------------------------------------
// <copyright file="CollisionHandler.cs" company="Exiled Team">
// Copyright (c) Exiled Team. All rights reserved.
// Licensed under the CC BY-SA 3.0 license.
// </copyright>
// -----------------------------------------------------------------------

namespace Exiled.API.Features.Components
{
using System;

using Exiled.API.Features;

using Grenades;

using UnityEngine;

/// <summary>
/// Collision Handler for grenades.
/// </summary>
public class CollisionHandler : MonoBehaviour
{
/// <summary>
/// Gets the thrower of the grenade.
/// </summary>
public GameObject Owner { get; private set; }

/// <summary>
/// Gets the grenade itself.
/// </summary>
public Grenade Grenade { get; private set; }

/// <summary>
/// Inits the <see cref="CollisionHandler"/> object.
/// </summary>
/// <param name="owner">The grenade owner.</param>
/// <param name="grenade">The grenade component.</param>
public void Init(GameObject owner, Grenade grenade)
{
Owner = owner;
Grenade = grenade;
}

private void OnCollisionEnter(Collision collision)
{
try
{
if (collision.gameObject == Owner || collision.gameObject.TryGetComponent<Grenade>(out _))
return;

Grenade.NetworkfuseTime = 0.1f;
}
catch (Exception exception)
{
Log.Error($"{nameof(OnCollisionEnter)} error:\n{exception}");
}
}
}
}
Loading

0 comments on commit b9241a3

Please sign in to comment.