Update to SL 13.2
Bug Fixes
[Exiled.API]
Server.RunCommand
should no longer run commands with no permissions if there is nosender
parameter defined, or it is null.[Exiled.API]
Damage done by SCP 049-2 is nowDamageType.Scp0492
.[Exiled.API]
Fixed an issue inPlayer.ChangeApperance
that could cause a cast exception.[Exiled.API]
Fixed issues withMirrorExtensions
SendFakeTargetRpc
method andSyncVarDirtyBits
keys.[Exiled.API]
FixedItem.Create
not throwing a cast exception with ItemType.Scp018.[Exiled.API]
FixedCustomDamageHandler
not assigning the correctDamageType
value when an SCP kills someone with a firearm.[Exiled.API]
Fixed issues withProjectile.Create
andProjectile.CreateAndSpawn
not functioning properly.[Exiled.API]
The behavior of thePlacingTantrumEvent
is now corrected.[Exiled.API]
Resolved a NullReferenceException inChangingRoleAndSpawned
.[Exiled.API]
FixedMap.IsLczDecontaminated
behavior.[Exiled.API]
FixedScp049.Attack
behavior.[Exiled.API]
FixedPlayer.Get(string)
behavior.[Exiled.Events]
FixedDroppingAmmo.AmmoType
to useAmmoType
instead ofItemType
.[Exiled.Events]
Fixed an error in theDamagingShootingTarget
event.[Exiled.Loader]
Config aliases have been disabled. This isn't really a 'bug' per say, but it makes configs confusing to read sometimes.
Additions
[Exiled.API]
Added theLocalHost
andDedicatedServer
AuthenticationType
s.[Exiled.API]
Added theHcz173Outside
,Hcz173Stairs
,Hcz173ContChamber
,Hcz173Hallway
andHczCurve
CameraType
s.[Exiled.API]
Added theFRMG0
andA7
FirearmType
s.[Exiled.API]
Added a number ofFeatures.Camera.TryGet()
methods.[Exiled.API]
Added theFeatures.Doors.AirlockController
class.[Exiled.API]
Added theFeatures.Doors.BasicDoor
class.[Exiled.API]
Added theFeatures.Doors.BasicNonInteracableDoor
class.[Exiled.API]
Added theFeatures.Doors.BreakableDoor
class.[Exiled.API]
Added theFeatures.Doors.CheckpointDoor
class.[Exiled.API]
Added theFeatures.Doors.ElevatorDoor
class.[Exiled.API]
Added theFeatures.Doors.Gate
class.[Exiled.API]
All doors in on the server should now be one of the above types, which all inherit fromFeatures.Doors.Door
.[Exiled.API]
AddedDoor.Rooms
property.[Exiled.API]
Added theDoor.IsAllowToInteract(Player)
method.[Exiled.API]
Added theFeatures.Hazards.Hazard
class, as well as subclasses for each of the various map hazards.[Exiled.API]
Added theFeatures.Items.Scp018
class.[Exiled.API]
Added theMap.Explode(Vector3 ProjectileType, Player)
method.[Exiled.API]
Added theMap.ExplodeEffect(Vector3, ProjectileType)
method.[Exiled.API]
Added thePickups.BodyArmorPickup
,Pickups.ExplosiveGrenadePickup
, Pickups.FlashGrenadePickup` classes.[Exiled.API]
Added theGrenadePickup.FuseTime
property.[Exiled.API]
Added theGrenadePickup.Explode(Footprint)
overload.[Exiled.API]
Added theJailbirdPickup.MeleeDamage
,ChargeDamage
,FlashDuration
andRadius
properties.[Exiled.API]
Added theKeycardPickup.Permissions
property.[Exiled.API]
All pickups on the server should now be property types to their appropriate pickup type (Like FirearmPickup for firearms).[Exiled.API]
Added thePickup.Clone()
method.[Exiled.API]
Added theScp018Projectile.PhysicsModule
,MaxVelocity
andVelocityperBounce
properties.[Exiled.API]
Added theFeatures.Pickups.UsablePickup
class.[Exiled.API]
Added variousPlayer.Explode()
method overloads.[Exiled.API]
Added thePlayer.ExplodeEffect(ProjectileType)
method.[Exiled.API]
Ragdoll.DamageHandler
property can now be changed.[Exiled.API]
Added theRagdoll.Nickname
andRagdoll.ExistenceTime
properties.[Exiled.API]
Added theScp079Role.TurnedPlayers
,ScannerTracker
andScannerZoneSelector
properties.[Exiled.API]
Added theScp106Role.VigorAbility
property.[Exiled.API]
Added theRoom.RoomLightControllers
property.[Exiled.API]
Added theRoom.WorldPosition(Vector3)
method, which converts a local room offset position into a world position.[Exiled.CustomRoles]
Added thePlayer.GetActiveAbilities()
extension method.[Exiled.CustomRoles]
Added thePlayer.GetSelectedAbility()
extension method.[Exiled.CustomRoles]
Added theActiveAbility.AllActiveAbilites
property, which gives a Dictionary containing all players who have an active custom ability, and the abilities they have available.[Exiled.CustomRoles]
Added theActiveAbility.SelectedPlayers
property, which indicates what players have that specific ability selected.[Exiled.CustomRoles]
Added theActiveAbility.SelectAbility(Player)
method.[Exiled.CustomRoles]
Added theActiveAility.UnSelectAbility(Player)
method.[Exiled.CustomRoles]
Added theActiveAbility.Check(Player, CheckType)
overload.[Exiled.CustomRoles]
Added theActiveAbility.Selected(Player)
andActiveAbility.Unselected(Player)
methods.[Exiled.CustomRoles]
Added theCheckType
,KeypressActivationType
enums.[Exiled.CustomRoles]
Added theKeypressActivator
feature. This allows players to use various functions (Using active abilities, switching abilities, etc) by using their keybound no-clip key while they do not have noclip enabled.[Exiled.CustomRoles]
Added theabilities
subcommand forcustomrole list
command. This lists all custom abilities that have been registered on the server.[Exiled.Events]
Added theEventPatchAttribute
attribute. This is used for event related patches, to determine which event the patch is for. This allows us to only patch events as they are subscribed, so that unused patches are never patched.[Exiled.Events]
Added theIScp0492Event
,IScp049Event
,IScp079Event
,IScp096Event
,IScp106Event
,IScp173Event
,IScp939Event
,IUsableEvent
interfaces for the appropriate events.[Exiled.Events]
Added theMap.FillingLocker
event.[Exiled.Events]
Added theFlippingCoinEventArgs.Item
class.[Exiled.Events]
Added thePlayer.DamagingDoor
event.[Exiled.Events]
Added theMap.PickupAdded
andMap.PickupDestroyed
events.[Exiled.Events]
Added theScp106.Attacking
event.[Exiled.Events]
Added theScp939.Clawed
event.[Exiled.Events]
Added theServer.ChoosingStartTeamQueue
event.[Exiled.Events]
Added a setter forScp079.GainingExperienceEventArgs.GainType
.[Exiled.Installer]
Added the--target-port
argument.
Changes (Breaking)
[Exiled.API]
Removed thePatreon
AuthenticationType
.[Exiled.API]
Removed theHcz049Armory
andHcz049Tunnel
CameraType
s.[Exiled.API]
Removed theHotkeyButton
enum.[Exiled.API]
Removed theLcz012
RoomType
.[Exiled.API]
Removed theInside012
,Inside012Bottom
andInside012Locker
SpawnLocationType
s.[Exiled.API]
Removed theMirrorExtensions.ChangeApperance(Player, RoleTypeId)
overload.[Exiled.API]
Removed theMirrorExtensions.ChangeApperance(Player, RoleTypeId, byte)
overload.[Exiled.API]
Removed theMirrorExtensions.ChangeApperance(Player, RoleTypeId, IEnumerable<Player>, byte)
overload.[Exiled.API]
Features.Camera
has been changed to inheritIWrapper<Scp079Camera>, IWorldSpace
instead ofIWrapper<Scp079Camera>, IPosition
.[Exiled.API]
Camera.List
has been changed from anIEnumerable<Camera>
toIReadOnlyCollection<Camera>
.[Exiled.API]
Camera.Rotation
has been changed fromVector3
toQuaternion
.[Exiled.API]
Cassie.CalculateDuration(string, bool)
has been removed.[Exiled.API]
Several properties and methods in theDoor
class have been moved to their appropriate subclasses.[Exiled.API]
Generator.List
has been changed from anIEnumerable<Generator>
toIReadOnlyCollection<Generator>
.[Exiled.API]
Lift.List
has changed fromIEnumerable<Lift>
toIReadOnlyCollection<Lift>
.[Exiled.API]
Lift.Doors
has been changed from using the basegameElevatorDoor
to usingFeatures.Doors.ElevatorDoor
.[Exiled.API]
Lift.CurrentDestination
has been changed from using the basegameElevatorDoor
to usingFeatures.Doors.ElevatorDoor
.[Exiled.API]
Map.FindParentRoom
has been removed in favor ofRoom.FindParentRoom
.[Exiled.API]
The return value ofMap.PlaceTantrum
has been changed fromGameObject
toFeatures.Hazards.Tantrumhazard
.[Exiled.API]
Player
now inheritsIEntity, IWorldSpace
instead ofIEntity, IPosition
.[Exiled.API]
Player.List
type has changed fromIEnumerable<Player>
toIReadOnlyCollection<Player>
.[Exiled.API]
Player.Roation
has changed fromVector3
toQuaternion
.[Exiled.API]
Player.ReloadWeapon()
will now return true/false indicating if it was successful.[Exiled.API]
Player.DropHeldItem()
will now return thePickup
for the item it dropped, or null if it dropped nothing.[Exiled.API]
Player.UseItem()
will now return true/false indicating if it was successful.[Exiled.API]
Player.PlaceTantrum
return type has changed fromGameObject
toHazards.TantrumHazard
.[Exiled.API]
Player.GetCooldownItem
has been replaced withPlayer.SetCooldownItem
.[Exiled.API]
Ragdoll.List
type has changed fromIEnumerable<Ragdoll>
toIReadOnlyCollection<Ragdoll>
.[Exiled.API]
Ragdoll Ragdoll.Create(RagdollData)
has been replaced withbool Ragdoll.TryCreate(RagdollData, out Ragdoll)
.[Exiled.API]
Recontainer.IsContaimentZoneOpen
has been renamed toRecontainer.IsContainmentZoneOpen
.[Exiled.API]
Scp0492Role.AttackDamage
no longer has a setter.[Exiled.API]
Scp049Role.DeadZombies
has been changed fromHashSet<uint>
toIEnumerable<Player>
.[Exiled.API]
Scp049Role.ResurrectedPlayers
has been changed fromDictionary<uint, int>
toDictionary<Player, int>
.[Exiled.API]
The return type ofScp096Role.AddTarget
methods have been changed fromvoid
tobool
.[Exiled.API]
The return type ofScp096Role.RemoveTarget(Player)
has been changed fromvoid
tobool
.[Exiled.API]
The return type ofScp173Role.PlaceTantrum
has been changed fromGameObject
toHazards.TantrumHazard
.[Exiled.API]
Room.List
has been changed fromIEnumerable<Room>
toIReadOnlyCollection<Room>
.[Exiled.API]
Room.Doors
has been changed fromIEnumerable<Door>
toIReadOnlyCollection<Door>
.[Exiled.API]
Room.Windows
has been changed fromIEnumerable<Window>
toIReadOnlyCollection<Window>
.[Exiled.API]
Room.Speakers
has been changed fromIEnumerable<Speaker>
toIReadOnlyCollection<Speaker>
.[Exiled.API]
Room.Cameras
has been changed fromIEnumerable<Camera>
toIReadOnlyCollection<Camera>
.[Exiled.API]
Scp914.PlaySound(byte)
has been replaced withScp914.PlaySound(Scp914InteractCode)
.[Exiled.API]
Scp914.Start()
has been replaced withScp914.Start(Player, Scp914InteractCode)
.[Exiled.API]
Server.SpawnProtectTime
has been removed in favor ofRespawn.SpawnProtectTime
.[Exiled.API]
TeslaGate.List
has been changed fromIEnumerable<TeslaGate>
toIReadOnlyCollection<TeslaGate>
.[Exiled.API]
TeslaGate.TantrumsToDestroy
has been changed fromList<TantrumEnviornmentalHazard
toIEnumerable<TantrumHazard>
.[Exiled.API]
Window.List
has been changed fromIEnumerable<Window>
toIReadOnlyCollection<Window>
.[Exiled.CustomItems]
CustomItem.TryGet(int, out CustomItem?)
has been removed in favor ofTryGet(uint, out CustomItem?)
.[Exiled.CustomItems]
CustomItem.TrySpawn(int, Vector3, out Pickup?)
has been removed in favor ofTrySpawn(uint, Vector3, out Pickup?)
.[Exiled.CustomItems]
CustomItem.TryGive(int, Player, bool)
has been removed in favor ofTryGive(uint, Player, bool)
.[Exiled.CustomItems]
CustomItem.OnAcquired(Player, bool)
has been removed in favor orOnAcquired(Player, Item, bool)
.[Exiled.CustomRoles]
ActiveAbility.CanUseAbility(Player, out string)
has been replaced withCanUseAbility(Player, out string, bool)
.[Exiled.CustomRoles]
CustomRole.Get(int)
andCustomRole.TryGet(int, out CustomRole?)
have been removed in favor of theiruint
counterparts.[Exiled.CustomRoles]
CustomRole.RegisterRoles(bool, object?, bool)
has been replaced withRegisterRoles(bool, object?, bool, Assembly?)
[Exiled.Events]
IHazardEvent.EnviornmentalHazard
has been replaced withIHazardEvent.Hazard
.[Exiled.Events]
TheMap.GeneratorActivated
event has been renamed toMap.GeneratorActivating
, it's event args class has also been changed.[Exiled.Events]
TheEventArgs.Map.PlacingBulletHole
class has been renamed toEventArgs.Map.PlacingBulletHoleEventArgs
.[Exiled.Events]
TheAimingDownSightEventArgs
ctor has been changed to(Player, Firearm, bool, bool)
.[Exiled.Events]
Several events that used to inherit eachother for event args no longer do.[Exiled.Events]
TheExitingEnvironmentalHazardEventArgs
andEnteringEnviornmentalHazardEventArgs.EnviornmentalHazard
has been replaced byHazard
.[Exiled.Events]
ThePlayer.ProcessingHotkey
event has been removed.[Exiled.Events]
TheConsumingCorpseEventArgs
class has been moved from theScp049
namespace toScp0492
.[Exiled.Events]
Many events with the newIScpxxxEvent
interfaces have hadev.Player
changed from the target, to the player initiating the event, with a newev.Target
made to define the target.ev.Scpxxx
is now aScpxxxRole
value.[Exiled.Events]
CustomEventHandler<T>
has been replaced withEvent<T>
.[Exiled.Events]
Events.DisabledPatchesHashSet
andEvents.ReloadDisabledPatches
have been moved to thePatcher
class.
Changes (Non-Breaking)
[Exiled.API]
Scp244Pickup
now inherits theUsablePickup
class, instead ofPickup
.[Exiled.API]
Scp330Pickup
now inherits theUsablePickup
class, instead ofPickup
.[Exiled.Events]
Theplugins
command has been renamed topluginmanager
.[Exiled.Events]
IFirearmEvent
now inheritsIItemEvent
instead ofIExiledEvent
.[Exiled.Events]