[All]
A lot of documentation has been updated.[Exiled.API]
Fixed a bug that would sometimes causeRoom.FlickerableLightController
to be null. [#975][Exiled.API]
Fixed a bug that would cause theRoom.Doors
property to not always contain all the doors connecting to the room. [#975][Exiled.API]
ThePlayer.Hurt
methods will now cause cassie to use theDamageHandlerBase.CassieDeathAnnouncement
property or thecassieAnnouncement
argument if the damage will kill a non-SCP player. [#989][Exiled.API]
ThePlayer.ArtificialHealth
andPlayer.MaxArtificialHealth
properties should now function properly. [#1008][Exiled.API]
TheMap.Lockers
property should no longer fail to contain all lockers on the map. [#1030][Exiled.API]
FixedRoom.TeslaGate
being null in rooms it shouldn't be null in. [#1122][Exiled.API]
Fixed theScript
property in SCP-relatedFeatures.Roles
classes sometimes being null. Added the peoperty to SCP classes it was missing from. [#1126][Exiled.API]
FixedAPI.Features.TeslaGate.Position
always beingVector3.zero
. [#1128][Exiled.API]
Room.Players
should no longer throw a nullref when a player is not in a room. [#1146][Exiled.API]
Player.Get(string)
documentation updated to reflect it can accept thestring
version of anint
to match with player IDs. [#1147][Exiled.CreditTags]
Changed the default value of theignore_dnt_flag
config value to reflect it's documentation. [#1116][Exiled.CustomRoles]
TheCustomRole.CustomAbilities
property is now checked for null before accessed. [#994][Exiled.CustomRoles]
TheCustomRole.CustomAbilities
property will now deserialize abilities inheriting theCustomAbility
class correctly using the default config deserializer. [#1018][Exiled.CustomRoles]
Fixed thePlayer.InfoArea.Role
value not being set back to visible when removing aCustomRole
. [#1117][Exiled.CustomItems]
+[Exiled.CustomRoles]
TheCustomItem
,CustomRole
andCustomAbility
types can now be registered from existing objects for the purpose of configs. [#1143][Exiled.CustomItems]
+[Exiled.CustomRoles]
TheCustomWeapon
,CustomGrenade
,ActiveAbility
andPassiveAbility
sub-types should now serialize as the correct types. [#1143 & 1142][Exiled.Example]
Fixed all null reference exceptions caused by the bad usage of ?. operator inside all the events. [#815][Exiled.Events]
TheWarhead.Starting
event will no longer fire twice when triggered by a player. [#1009][Exiled.Events]
TheWarhead.Starting
event will now correctly include the player causing it when triggered by a command. [#1009][Exiled.Events]
The Warhead commands that can start the warhead will now returnAction prevented by a plugin
when theWarhead.Starting
event is denied via a plugin. [#1009][Exiled.Events]
The server's max respawn wave settings will now be respected by theServer.RespawningTeam
event. [#1013][Exiled.Events]
TheRemovingHandcuffsEventArgs.Player
will now correctly be the player removing the handcuffs. [#1024][Exiled.Events]
Tesla gates will now exit the Idle animation properly. [#1026][Exiled.Events]
Pickups should no longer remain locked indefinitely whenPickingUpItemEventArgs.IsAllowed
is set to false. [#1029][Exiled.Events]
The EXILED Anti-Backdoor feature will no longer print messages about Exiled.Events changing values if those values were not actually changed by a plugin. [#1050][Exiled.Events]
Added a check to thePlayerHasHint
patch to prevent unnecessary nullrefs in the console. [#1055][Exiled.Events]
Fixed the logic check for theInteractingScp330EventArgs.ShouldSever
property's value. [#1066][Exiled.Events]
Fixed a player disconnection bug when shooting a Shooting Target in sync mode. [#1077][Exiled.Events]
Fixed improper documentation on several event methods. [#1118, #1120, #1123][Exiled.Events]
Fixed an issue with shotguns not firing thePlayer.Shot
event. [#1131][Exiled.Events]
Corrected an issue with RA command logs being spammed when someone has the RA panel open. [#1133][Exiled.Events]
Fixed an issue that would cause more than the configured max of players to respawn during NTF or CI waves. [#1140][Exiled.Loader]
Fixed the chance of seeing the 'sexiled' message upon server loading. [#1129]
[Exiled.API]
Added theAttachmentIdentifier
struct to avoid using theFirearmAttachment
class from the base-game API. [#815][Exiled.API]
Added theItemExtensions::GetAttachments(ItemType, uint)
method. [#815][Exiled.API]
Added theItemExtensions::TryGetAttachments(ItemType, uint, out IEnumerable<AttachmentIdentifier>)
method. [#815][Exiled.API]
Added theItemExtensions::GetAttachmentsCode(IEnumerable<AttachmentIdentifier>)
method. [#815][Exiled.API]
Added theItemExtensions::GetBaseCode(ItemType)
method. [#815][Exiled.API]
Added theFirearm::AttachmentIdentifiers
property. [#1025][Exiled.API]
Added theFirearm::AddAttachment
method. [#815][Exiled.API]
Added theFirearm::RemoveAttachment
method. [#815][Exiled.API]
Added theFirearm::ClearAttachments
method. [#815][Exiled.API]
Added theFirearm::GetAttachment
method. [#815][Exiled.API]
Added theFirearm::TryGetAttachment
method. [#815][Exiled.API]
Added theFirearm::AddPreference
method. [#815][Exiled.API]
Added theFirearm::RemovePreference
method. [#815][Exiled.API]
Added theFirearm::ClearPreferences
method. [#815][Exiled.API]
Added theFirearm::AvailableAttachments
static property. [#815][Exiled.API]
Added theFirearm::PlayerPreferences
static property. [#815][Exiled.API]
Added theFirearm::BaseCode
property. [#815][Exiled.API]
Added thePlayer::Preferences
property. [#815][Exiled.API]
Added an overload toItem::Spawn
method. [#815][Exiled.API]
Added an overload toPlayer::AddItem
method. [#815][Exiled.API]
Added theAmmo.AmmoLimit
property. [#979][Exiled.API]
Added theItem.Category
,Item.IsAmmo
,Item.IsArmor
,Item.IsKeycard
,Item.IsMedical
,Item.IsScp
,Item.IsThrowable
,Item.IsUtility
andItem.IsWeapon
properties. [#979][Exiled.API]
Added theCameraType.Lcz330Hall
,CameraType.Lcz330Chamber
,DoorType.Scp330
,DoorType.Scp330Chamber
andRoomType.Lcz330
enum values. [#982][Exiled.API]
Added thePlayer.TryAddCandy(CandyKindID)
method. [#986][Exiled.API]
Added thePlayer.GetCategoryLimit(ItemCategory)
property. [#979][Exiled.API]
Added theMap.GetCameraType(string)
method. [#991][Exiled.API]
Added the `Map.GetCameraByName(string) method. [#991][Exiled.API]
Added theDoor.Unlock(float, DoorLockType)
method. [#1001][Exiled.API]
Added theDoor.Lock(float, DoorLockType)
method. [#1001][Exiled.API]
Added theRoom.RoomIdentifier
property. [#1003][Exiled.API]
Added theRoom.TeslaGate
property. This can be null. [#1003][Exiled.API]
Added thePlayer.GetModule<T>
method. [#1003][Exiled.API]
Added theLog.DebugObject<T>(T, bool)
method. [#1003][Exiled.API]
Added thePlayer.IsInventoryFull
property. [#1004][Exiled.API]
Added thePlayer.AddAhp(float, float, float, float, float, bool)
method. [#1010][Exiled.API]
Added theDamageType.IsWeapon(bool)
,DamageType.IsScp(bool)
andDamageType.IsStatusEffect
extension methods. [#1011][Exiled.API]
Added theItem.Create(ItemType)
method, which always creates and returns the correct subclass type for the given item type. [#1012][Exiled.API]
Added thePlayer.MakeNoise
method. [#1019][Exiled.API]
Added theCassie.VoiceLines
property. [#1020][Exiled.API]
Added theCassie.IsValid(string)
method. [#1020][Exiled.API]
Added an API class for SCP-244, Lifts, Elevators, Tesla Gates, Cameras and Generators. [#1031 & 1038 & 1042 & 1045][Exiled.API]
Added thePlayer.Reconnect(ushort, float, bool, RoundRestartType)
method. [#1056][Exiled.API]
Added thePlayer.Role
property, which is an object unique to each player representing their class. [#1058][Exiled.API]
Added variousGameObject
properties to API classes, such asDoor
,Generator
,Armor
and more. [#1062][Exiled.API]
Added overloads toLog.Info
,Log.Warn
,Log.Error
andLog.Debug
that accept astring
instead of anobject
for efficiency. [#1070][Exiled.API]
Added theLog.Assert(bool, object)
method. This method can be used to assert that a certain condition MUST be met, and if it is not, it will print aLog.Error
message and throw an exception. [#1082][Exiled.API]
Added thePlayer.Teleport(Vector3)
,Player.Teleport(object)
,Player.RandomTeleport(IEnumerable<Type>)
andPlayer.RandomTeleport(Type)
methods. [#1125] Read more below[Exiled.API]
Added theAPI.Features.Intercom
class. [#1127][Exiled.API]
Added theServer.TPS
property. [#1130][Exiled.API]
Added theAPI.Features.Scp106Container
class. [#1135][Exiled.API]
Added theDoorLockType.Lockdown2176
enum,Ragdoll.CreationTime
property,Recontainer.BreakGlass()
method,Room.GameObject
property,Round.AliveSides
property,Scp914.GameObject
property,Server.LaterJoinEnabled
,Server.LaterJoinTime
andServer.SpawnProtectTime
properties. [#1141][Exiled.API]
Added thePlayer.Mute
,Player.IntercomMute
,Player.Unmute
andPlayer.IntercomUnmute
methods. ThePlayer.Muted
andPlayer.Unmuted
properties are no longer persistant through rounds. [#1144][Exiled.CustomItems]
Added theCustomItem.OnAcquired(Player)
method, which is called anytime a player gains the item via any means, which is more reliable than just usingCustomItem.OnPickup
. [#988][Exiled.CustomItems]
Added theCustomItem.RegisterItems
andCustomitem.UnregisterItems
methods. These will use the newExiledSerializableAttribute
to register/unregister all items in the calling plugin automatically. [#998][Exiled.CustomItems]
Added theCustomItem.Check(Player)
overload to check the given player's current item.[Exiled.CustomRoles]
Added theCustomRole.CustomInfo
property which will be used instead ofCustomRole.Name (Custom Role)
in the player's custom info. [#966][Exiled.CustomRoles]
Added theCustomRole.RegisterRoles
andCustomRole.UnregisterRoles
methods. These will use the newExiledSerializableAttribute
to register/unregister all roles in the calling plugin automatically. [#998][Exiled.CustomRoles]
Added theCustomRole.Scale
property that will be used to automatically change a player's size when they gain the role. [#1005][Exiled.Events]
Added theItem.ReceivingPreference
event. [#815][Exiled.Events]
Added theTriggeringTeslaEventArgs.Tesla
andTriggeringTeslaEventArgs.IsInIdleRange
properties. [#973][Exiled.Events]
Added theRagdoll
property to bothScp049.StartingRecall
andScp049.FinishingRecall
events. [#992][Exiled.Events]
Added thePlayer.Landing
event. [#997][Exiled.Events]
Added theDiedEventArgs.TargetOldRole
property. [#1039][Exiled.Events]
Added theMap.BreakingScp2176
event. [#1051][Exiled.Events]
Added theTogglingNoClipEventArgs.IsEnabled
property. [#1054][Exiled.Events]
Added theDamagingWindowEventArgs.IsAllowed
property. [#1055][Exiled.Events]
TheWarhead.ActivatingWarheadPanel
event will now fire regardless of the keycard being held by the player.IsAllowed
will default to false if they are not using a keycard that can normally activate the panel. [#1115][Exiled.Example]
Added theAttachments
property to configs. [#815][Exiled.Loader]
Added theAttachmentIdentifiersConverter
class to make theAttachmentIdentifier
struct serializable. [#815]
[Exiled.API]
Increased the efficiency of finding doors, cameras and the light controller of rooms when they are cached. [#975][Exiled.API]
TheRespawn.NtfTickets
andRespawn.ChaosTickets
values can now be changed. [#1067][Exiled.API]
Made several optimizations to the Attachments API to reduce server lag. [#1139][Exiled.Events]
ThePlayer.TriggeringTesla
event patch is now a transpiler. [#987][Exiled.Events]
ThePlayer.ActivatingWarheadPanel
event will now fire even when the player's current keycard does not have permission to unlock it. In this case, ev.IsAllowed will default to false, but can be changed to true to allow access. [#1115][Exiled.Events]
Made several improvements to patches that may help reduce server lag. [#1131]
[Exiled.API]
Removed thePlayer.ShotHitMarker
method in favor of usingPlayer.ShotHitMarker(float)
.[Exiled.API]
Removed theBarrelType
enum. [#815][Exiled.API]
Removed theSightType
enum. [#815][Exiled.API]
Removed theOtherType
enum. [#815][Exiled.API]
Removed theModifiers
struct. [#815][Exiled.API]
Removed thePlayer.AddItem(List<T>)
method in favor of usingPlayer.AddItem(IEnumerable<T>)
. [#815][Exiled.API]
Removed thePlayer.ResetInventory(List<T>)
method in favor of usingPlayer.ResetInventory(IEnumerable<T>)
. [#815][Exiled.API]
Changed theScp330.AddCandy(CandyKindID)
method toScp330.AddCandy(CandyKindID, out bool)
. [#979][Exiled.API]
Changed theScp330.RemoveCandy(CandyKindID, bool)
method toScp330.RemoveCandy(CandyKindID, out int, bool)
[#979][Exiled.API]
Changed the order of values and names of many values inEnums.CameraType
[#991][Exiled.API]
Removed allItem
subclass constructors in favor of using the newItem.Create(ItemType)
method. [#1012][Exiled.API]
ChangedCassie.CustomSCPTermination(string, DamageHandlerBase)
toCassie.CustomScpTermination(string, DamageHandler)
[#1020][Exiled.API]
Removed all extension classes related to Lifts, Elevators, Tesla Gates, Cameras and Generators. [#1031 & 1038 & 1042][Exiled.API]
Changed the return type ofItemExtensions.GetItemTypes()
from aList<ItemType>
toIEnumerable<ItemType>
. [#1062][Exiled.API]
Changed theCassie.Message
,Cassie.DelayedMessage
,MirrorExtensions.PlayCassieAnnouncement
methods to include aisSubtitles
value. [#1063][Exiled.API]
ChangedPlayer.GetAmmoLimit(ItemType)
toPlayer.GetAmmoLimit(AmmoType)
. [#1059][Exiled.API]
ManyPlayer
properties such asTeam
,RoleType
,Abilities
,Speaker
,SpectatedPlayer
and more have been moved to be contained inside thePlayer.Role
object. [#1058][Exiled.API]
TheRoom.LightsOff
property is nowRoom.LightsOn
and has a setter. [#1106][Exiled.API]
ThePlayer.IsDead
property will no longer return true if their role type isNone
instead ofSpectator
. [#1134][Exiled.API]
RenamedRound.ForceEnd()
toRound.EndRound(bool)
[#1136][Exiled.API]
RenamedRound.IsEnding
toRound.IsEnded
. [#1138][Exiled.API]
Player.Rotations
has been removed. The value type ofPlayer.Rotation
has been changed toVector2
. [#1165][Exiled.API]
All uses ofScp079Generator
in EXILED has been replaced withExiled.API.Features.Generator
.[Exiled.CustomItems]
Removed theModifiers
property in favor of using an array ofAttachmentNameTranslation
. [#815][Exiled.CustomItems]
Removed theCustomItem.TryRegister
andCustomItem.TryUnregister
methods. [#998][Exiled.CustomRole]
The following properties have been made public, instead of protected, so they can be used as config values: [#994]- CustomRole.Inventory
- CustomRole.SpawnProperties
- CustomRole.KeepInventoryOnSpawn
- CustomRole.RemovalKillsPlayer
- CustomRole.KeepRoleOnDeath
[Exiled.CustomRoles]
Removed theCustomRole.TryRegister
and `CustomRole.TryUnregister methods. [#998][Exiled.CustomRoles]
Renamed theCustomRole.UnSubscribeEvents
method toCustomRole.UnsubscribeEvents
. [#998][Exiled.Events]
Removed theHurtingEventArgs.DamageHandler
property.[Exiled.Events]
Removed theDiedEventArgs.DamageHandler
property.[Exiled.Events]
Removed theDyingEventArgs.DamageHandler
property.[Exiled.Events]
Removed theAnnouncingScpTerminationEventArgs.DamageHandler
property.[Exiled.Events]
Removed theExplodingGrenadeEventArgs.IsFrag
property.[Exiled.Events]
Removed theItem.ChangingAttributes
event. [#815][Exiled.Events]
Re-implemented theItem.ChangingDurability
event with new parameters. [#815][Exiled.Events]
Re-implemented theItem.ChangingAttachments
event with new parameters. [#815][Exiled.Events]
All events interacting with Lifts, Elevators, Tesla Gates, Cameras and Generators now use the Exiled.API objects in the event, instead of the base-game ones. [#1031 & 1038 & 1042][Exiled.Events]
Removed thePlayer.SyncingData
event. [#1054]