[All]A lot of documentation has been updated.[Exiled.API]Fixed a bug that would sometimes causeRoom.FlickerableLightControllerto be null. [#975][Exiled.API]Fixed a bug that would cause theRoom.Doorsproperty to not always contain all the doors connecting to the room. [#975][Exiled.API]ThePlayer.Hurtmethods will now cause cassie to use theDamageHandlerBase.CassieDeathAnnouncementproperty or thecassieAnnouncementargument if the damage will kill a non-SCP player. [#989][Exiled.API]ThePlayer.ArtificialHealthandPlayer.MaxArtificialHealthproperties should now function properly. [#1008][Exiled.API]TheMap.Lockersproperty should no longer fail to contain all lockers on the map. [#1030][Exiled.API]FixedRoom.TeslaGatebeing null in rooms it shouldn't be null in. [#1122][Exiled.API]Fixed theScriptproperty in SCP-relatedFeatures.Rolesclasses sometimes being null. Added the peoperty to SCP classes it was missing from. [#1126][Exiled.API]FixedAPI.Features.TeslaGate.Positionalways beingVector3.zero. [#1128][Exiled.API]Room.Playersshould 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 thestringversion of anintto match with player IDs. [#1147][Exiled.CreditTags]Changed the default value of theignore_dnt_flagconfig value to reflect it's documentation. [#1116][Exiled.CustomRoles]TheCustomRole.CustomAbilitiesproperty is now checked for null before accessed. [#994][Exiled.CustomRoles]TheCustomRole.CustomAbilitiesproperty will now deserialize abilities inheriting theCustomAbilityclass correctly using the default config deserializer. [#1018][Exiled.CustomRoles]Fixed thePlayer.InfoArea.Rolevalue not being set back to visible when removing aCustomRole. [#1117][Exiled.CustomItems]+[Exiled.CustomRoles]TheCustomItem,CustomRoleandCustomAbilitytypes can now be registered from existing objects for the purpose of configs. [#1143][Exiled.CustomItems]+[Exiled.CustomRoles]TheCustomWeapon,CustomGrenade,ActiveAbilityandPassiveAbilitysub-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.Startingevent will no longer fire twice when triggered by a player. [#1009][Exiled.Events]TheWarhead.Startingevent 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 pluginwhen theWarhead.Startingevent is denied via a plugin. [#1009][Exiled.Events]The server's max respawn wave settings will now be respected by theServer.RespawningTeamevent. [#1013][Exiled.Events]TheRemovingHandcuffsEventArgs.Playerwill 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.IsAllowedis 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 thePlayerHasHintpatch to prevent unnecessary nullrefs in the console. [#1055][Exiled.Events]Fixed the logic check for theInteractingScp330EventArgs.ShouldSeverproperty'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.Shotevent. [#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 theAttachmentIdentifierstruct to avoid using theFirearmAttachmentclass 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::AttachmentIdentifiersproperty. [#1025][Exiled.API]Added theFirearm::AddAttachmentmethod. [#815][Exiled.API]Added theFirearm::RemoveAttachmentmethod. [#815][Exiled.API]Added theFirearm::ClearAttachmentsmethod. [#815][Exiled.API]Added theFirearm::GetAttachmentmethod. [#815][Exiled.API]Added theFirearm::TryGetAttachmentmethod. [#815][Exiled.API]Added theFirearm::AddPreferencemethod. [#815][Exiled.API]Added theFirearm::RemovePreferencemethod. [#815][Exiled.API]Added theFirearm::ClearPreferencesmethod. [#815][Exiled.API]Added theFirearm::AvailableAttachmentsstatic property. [#815][Exiled.API]Added theFirearm::PlayerPreferencesstatic property. [#815][Exiled.API]Added theFirearm::BaseCodeproperty. [#815][Exiled.API]Added thePlayer::Preferencesproperty. [#815][Exiled.API]Added an overload toItem::Spawnmethod. [#815][Exiled.API]Added an overload toPlayer::AddItemmethod. [#815][Exiled.API]Added theAmmo.AmmoLimitproperty. [#979][Exiled.API]Added theItem.Category,Item.IsAmmo,Item.IsArmor,Item.IsKeycard,Item.IsMedical,Item.IsScp,Item.IsThrowable,Item.IsUtilityandItem.IsWeaponproperties. [#979][Exiled.API]Added theCameraType.Lcz330Hall,CameraType.Lcz330Chamber,DoorType.Scp330,DoorType.Scp330ChamberandRoomType.Lcz330enum 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.RoomIdentifierproperty. [#1003][Exiled.API]Added theRoom.TeslaGateproperty. 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.IsInventoryFullproperty. [#1004][Exiled.API]Added thePlayer.AddAhp(float, float, float, float, float, bool)method. [#1010][Exiled.API]Added theDamageType.IsWeapon(bool),DamageType.IsScp(bool)andDamageType.IsStatusEffectextension 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.MakeNoisemethod. [#1019][Exiled.API]Added theCassie.VoiceLinesproperty. [#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.Roleproperty, which is an object unique to each player representing their class. [#1058][Exiled.API]Added variousGameObjectproperties to API classes, such asDoor,Generator,Armorand more. [#1062][Exiled.API]Added overloads toLog.Info,Log.Warn,Log.ErrorandLog.Debugthat accept astringinstead of anobjectfor 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.Errormessage 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.Intercomclass. [#1127][Exiled.API]Added theServer.TPSproperty. [#1130][Exiled.API]Added theAPI.Features.Scp106Containerclass. [#1135][Exiled.API]Added theDoorLockType.Lockdown2176enum,Ragdoll.CreationTimeproperty,Recontainer.BreakGlass()method,Room.GameObjectproperty,Round.AliveSidesproperty,Scp914.GameObjectproperty,Server.LaterJoinEnabled,Server.LaterJoinTimeandServer.SpawnProtectTimeproperties. [#1141][Exiled.API]Added thePlayer.Mute,Player.IntercomMute,Player.UnmuteandPlayer.IntercomUnmutemethods. ThePlayer.MutedandPlayer.Unmutedproperties 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.RegisterItemsandCustomitem.UnregisterItemsmethods. These will use the newExiledSerializableAttributeto 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.CustomInfoproperty which will be used instead ofCustomRole.Name (Custom Role)in the player's custom info. [#966][Exiled.CustomRoles]Added theCustomRole.RegisterRolesandCustomRole.UnregisterRolesmethods. These will use the newExiledSerializableAttributeto register/unregister all roles in the calling plugin automatically. [#998][Exiled.CustomRoles]Added theCustomRole.Scaleproperty that will be used to automatically change a player's size when they gain the role. [#1005][Exiled.Events]Added theItem.ReceivingPreferenceevent. [#815][Exiled.Events]Added theTriggeringTeslaEventArgs.TeslaandTriggeringTeslaEventArgs.IsInIdleRangeproperties. [#973][Exiled.Events]Added theRagdollproperty to bothScp049.StartingRecallandScp049.FinishingRecallevents. [#992][Exiled.Events]Added thePlayer.Landingevent. [#997][Exiled.Events]Added theDiedEventArgs.TargetOldRoleproperty. [#1039][Exiled.Events]Added theMap.BreakingScp2176event. [#1051][Exiled.Events]Added theTogglingNoClipEventArgs.IsEnabledproperty. [#1054][Exiled.Events]Added theDamagingWindowEventArgs.IsAllowedproperty. [#1055][Exiled.Events]TheWarhead.ActivatingWarheadPanelevent will now fire regardless of the keycard being held by the player.IsAllowedwill default to false if they are not using a keycard that can normally activate the panel. [#1115][Exiled.Example]Added theAttachmentsproperty to configs. [#815][Exiled.Loader]Added theAttachmentIdentifiersConverterclass to make theAttachmentIdentifierstruct 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.NtfTicketsandRespawn.ChaosTicketsvalues can now be changed. [#1067][Exiled.API]Made several optimizations to the Attachments API to reduce server lag. [#1139][Exiled.Events]ThePlayer.TriggeringTeslaevent patch is now a transpiler. [#987][Exiled.Events]ThePlayer.ActivatingWarheadPanelevent 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.ShotHitMarkermethod in favor of usingPlayer.ShotHitMarker(float).[Exiled.API]Removed theBarrelTypeenum. [#815][Exiled.API]Removed theSightTypeenum. [#815][Exiled.API]Removed theOtherTypeenum. [#815][Exiled.API]Removed theModifiersstruct. [#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 allItemsubclass 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.PlayCassieAnnouncementmethods to include aisSubtitlesvalue. [#1063][Exiled.API]ChangedPlayer.GetAmmoLimit(ItemType)toPlayer.GetAmmoLimit(AmmoType). [#1059][Exiled.API]ManyPlayerproperties such asTeam,RoleType,Abilities,Speaker,SpectatedPlayerand more have been moved to be contained inside thePlayer.Roleobject. [#1058][Exiled.API]TheRoom.LightsOffproperty is nowRoom.LightsOnand has a setter. [#1106][Exiled.API]ThePlayer.IsDeadproperty will no longer return true if their role type isNoneinstead ofSpectator. [#1134][Exiled.API]RenamedRound.ForceEnd()toRound.EndRound(bool)[#1136][Exiled.API]RenamedRound.IsEndingtoRound.IsEnded. [#1138][Exiled.API]Player.Rotationshas been removed. The value type ofPlayer.Rotationhas been changed toVector2. [#1165][Exiled.API]All uses ofScp079Generatorin EXILED has been replaced withExiled.API.Features.Generator.[Exiled.CustomItems]Removed theModifiersproperty in favor of using an array ofAttachmentNameTranslation. [#815][Exiled.CustomItems]Removed theCustomItem.TryRegisterandCustomItem.TryUnregistermethods. [#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.TryRegisterand `CustomRole.TryUnregister methods. [#998][Exiled.CustomRoles]Renamed theCustomRole.UnSubscribeEventsmethod toCustomRole.UnsubscribeEvents. [#998][Exiled.Events]Removed theHurtingEventArgs.DamageHandlerproperty.[Exiled.Events]Removed theDiedEventArgs.DamageHandlerproperty.[Exiled.Events]Removed theDyingEventArgs.DamageHandlerproperty.[Exiled.Events]Removed theAnnouncingScpTerminationEventArgs.DamageHandlerproperty.[Exiled.Events]Removed theExplodingGrenadeEventArgs.IsFragproperty.[Exiled.Events]Removed theItem.ChangingAttributesevent. [#815][Exiled.Events]Re-implemented theItem.ChangingDurabilityevent with new parameters. [#815][Exiled.Events]Re-implemented theItem.ChangingAttachmentsevent 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.SyncingDataevent. [#1054]