Skip to content

Update to SL 13.2

Compare
Choose a tag to compare
@joker-119 joker-119 released this 01 Sep 18:52
· 477 commits to master since this release
7363ce0

Bug Fixes

  • [Exiled.API] Server.RunCommand should no longer run commands with no permissions if there is no sender parameter defined, or it is null.
  • [Exiled.API] Damage done by SCP 049-2 is now DamageType.Scp0492.
  • [Exiled.API] Fixed an issue in Player.ChangeApperance that could cause a cast exception.
  • [Exiled.API] Fixed issues with MirrorExtensions SendFakeTargetRpc method and SyncVarDirtyBits keys.
  • [Exiled.API] Fixed Item.Create not throwing a cast exception with ItemType.Scp018.
  • [Exiled.API] Fixed CustomDamageHandler not assigning the correct DamageType value when an SCP kills someone with a firearm.
  • [Exiled.API] Fixed issues with Projectile.Create and Projectile.CreateAndSpawn not functioning properly.
  • [Exiled.API] The behavior of the PlacingTantrumEvent is now corrected.
  • [Exiled.API] Resolved a NullReferenceException in ChangingRoleAndSpawned.
  • [Exiled.API] Fixed Map.IsLczDecontaminated behavior.
  • [Exiled.API] Fixed Scp049.Attack behavior.
  • [Exiled.API] Fixed Player.Get(string) behavior.
  • [Exiled.Events] Fixed DroppingAmmo.AmmoType to use AmmoType instead of ItemType.
  • [Exiled.Events] Fixed an error in the DamagingShootingTarget 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 the LocalHost and DedicatedServer AuthenticationTypes.
  • [Exiled.API] Added the Hcz173Outside, Hcz173Stairs, Hcz173ContChamber, Hcz173Hallway and HczCurve CameraTypes.
  • [Exiled.API] Added the FRMG0 and A7 FirearmTypes.
  • [Exiled.API] Added a number of Features.Camera.TryGet() methods.
  • [Exiled.API] Added the Features.Doors.AirlockController class.
  • [Exiled.API] Added the Features.Doors.BasicDoor class.
  • [Exiled.API] Added the Features.Doors.BasicNonInteracableDoor class.
  • [Exiled.API] Added the Features.Doors.BreakableDoor class.
  • [Exiled.API] Added the Features.Doors.CheckpointDoor class.
  • [Exiled.API] Added the Features.Doors.ElevatorDoor class.
  • [Exiled.API] Added the Features.Doors.Gate class.
  • [Exiled.API] All doors in on the server should now be one of the above types, which all inherit from Features.Doors.Door.
  • [Exiled.API] Added Door.Rooms property.
  • [Exiled.API] Added the Door.IsAllowToInteract(Player) method.
  • [Exiled.API] Added the Features.Hazards.Hazard class, as well as subclasses for each of the various map hazards.
  • [Exiled.API] Added the Features.Items.Scp018 class.
  • [Exiled.API] Added the Map.Explode(Vector3 ProjectileType, Player) method.
  • [Exiled.API] Added the Map.ExplodeEffect(Vector3, ProjectileType) method.
  • [Exiled.API] Added the Pickups.BodyArmorPickup, Pickups.ExplosiveGrenadePickup, Pickups.FlashGrenadePickup` classes.
  • [Exiled.API] Added the GrenadePickup.FuseTime property.
  • [Exiled.API] Added the GrenadePickup.Explode(Footprint) overload.
  • [Exiled.API] Added the JailbirdPickup.MeleeDamage, ChargeDamage, FlashDuration and Radius properties.
  • [Exiled.API] Added the KeycardPickup.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 the Pickup.Clone() method.
  • [Exiled.API] Added the Scp018Projectile.PhysicsModule, MaxVelocity and VelocityperBounce properties.
  • [Exiled.API] Added the Features.Pickups.UsablePickup class.
  • [Exiled.API] Added various Player.Explode() method overloads.
  • [Exiled.API] Added the Player.ExplodeEffect(ProjectileType) method.
  • [Exiled.API] Ragdoll.DamageHandler property can now be changed.
  • [Exiled.API] Added the Ragdoll.Nickname and Ragdoll.ExistenceTime properties.
  • [Exiled.API] Added the Scp079Role.TurnedPlayers, ScannerTracker and ScannerZoneSelector properties.
  • [Exiled.API] Added the Scp106Role.VigorAbility property.
  • [Exiled.API] Added the Room.RoomLightControllers property.
  • [Exiled.API] Added the Room.WorldPosition(Vector3) method, which converts a local room offset position into a world position.
  • [Exiled.CustomRoles] Added the Player.GetActiveAbilities() extension method.
  • [Exiled.CustomRoles] Added the Player.GetSelectedAbility() extension method.
  • [Exiled.CustomRoles] Added the ActiveAbility.AllActiveAbilites property, which gives a Dictionary containing all players who have an active custom ability, and the abilities they have available.
  • [Exiled.CustomRoles] Added the ActiveAbility.SelectedPlayers property, which indicates what players have that specific ability selected.
  • [Exiled.CustomRoles] Added the ActiveAbility.SelectAbility(Player) method.
  • [Exiled.CustomRoles] Added the ActiveAility.UnSelectAbility(Player) method.
  • [Exiled.CustomRoles] Added the ActiveAbility.Check(Player, CheckType) overload.
  • [Exiled.CustomRoles] Added the ActiveAbility.Selected(Player) and ActiveAbility.Unselected(Player) methods.
  • [Exiled.CustomRoles] Added the CheckType, KeypressActivationType enums.
  • [Exiled.CustomRoles] Added the KeypressActivator 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 the abilities subcommand for customrole list command. This lists all custom abilities that have been registered on the server.
  • [Exiled.Events] Added the EventPatchAttribute 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 the IScp0492Event, IScp049Event, IScp079Event, IScp096Event, IScp106Event, IScp173Event, IScp939Event, IUsableEvent interfaces for the appropriate events.
  • [Exiled.Events] Added the Map.FillingLocker event.
  • [Exiled.Events] Added the FlippingCoinEventArgs.Item class.
  • [Exiled.Events] Added the Player.DamagingDoor event.
  • [Exiled.Events] Added the Map.PickupAdded and Map.PickupDestroyed events.
  • [Exiled.Events] Added the Scp106.Attacking event.
  • [Exiled.Events] Added the Scp939.Clawed event.
  • [Exiled.Events] Added the Server.ChoosingStartTeamQueue event.
  • [Exiled.Events] Added a setter for Scp079.GainingExperienceEventArgs.GainType.
  • [Exiled.Installer] Added the --target-port argument.

Changes (Breaking)

  • [Exiled.API] Removed the Patreon AuthenticationType.
  • [Exiled.API] Removed the Hcz049Armory and Hcz049Tunnel CameraTypes.
  • [Exiled.API] Removed the HotkeyButton enum.
  • [Exiled.API] Removed the Lcz012 RoomType.
  • [Exiled.API] Removed the Inside012, Inside012Bottom and Inside012Locker SpawnLocationTypes.
  • [Exiled.API] Removed the MirrorExtensions.ChangeApperance(Player, RoleTypeId) overload.
  • [Exiled.API] Removed the MirrorExtensions.ChangeApperance(Player, RoleTypeId, byte) overload.
  • [Exiled.API] Removed the MirrorExtensions.ChangeApperance(Player, RoleTypeId, IEnumerable<Player>, byte) overload.
  • [Exiled.API] Features.Camera has been changed to inherit IWrapper<Scp079Camera>, IWorldSpace instead of IWrapper<Scp079Camera>, IPosition.
  • [Exiled.API] Camera.List has been changed from an IEnumerable<Camera> to IReadOnlyCollection<Camera>.
  • [Exiled.API] Camera.Rotation has been changed from Vector3 to Quaternion.
  • [Exiled.API] Cassie.CalculateDuration(string, bool) has been removed.
  • [Exiled.API] Several properties and methods in the Door class have been moved to their appropriate subclasses.
  • [Exiled.API] Generator.List has been changed from an IEnumerable<Generator> to IReadOnlyCollection<Generator>.
  • [Exiled.API] Lift.List has changed from IEnumerable<Lift> to IReadOnlyCollection<Lift>.
  • [Exiled.API] Lift.Doors has been changed from using the basegame ElevatorDoor to using Features.Doors.ElevatorDoor.
  • [Exiled.API] Lift.CurrentDestination has been changed from using the basegame ElevatorDoor to using Features.Doors.ElevatorDoor.
  • [Exiled.API] Map.FindParentRoom has been removed in favor of Room.FindParentRoom.
  • [Exiled.API] The return value of Map.PlaceTantrum has been changed from GameObject to Features.Hazards.Tantrumhazard.
  • [Exiled.API] Player now inherits IEntity, IWorldSpace instead of IEntity, IPosition.
  • [Exiled.API] Player.List type has changed from IEnumerable<Player> to IReadOnlyCollection<Player>.
  • [Exiled.API] Player.Roation has changed from Vector3 to Quaternion.
  • [Exiled.API] Player.ReloadWeapon() will now return true/false indicating if it was successful.
  • [Exiled.API] Player.DropHeldItem() will now return the Pickup 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 from GameObject to Hazards.TantrumHazard.
  • [Exiled.API] Player.GetCooldownItem has been replaced with Player.SetCooldownItem.
  • [Exiled.API] Ragdoll.List type has changed from IEnumerable<Ragdoll> to IReadOnlyCollection<Ragdoll>.
  • [Exiled.API] Ragdoll Ragdoll.Create(RagdollData) has been replaced with bool Ragdoll.TryCreate(RagdollData, out Ragdoll).
  • [Exiled.API] Recontainer.IsContaimentZoneOpen has been renamed to Recontainer.IsContainmentZoneOpen.
  • [Exiled.API] Scp0492Role.AttackDamage no longer has a setter.
  • [Exiled.API] Scp049Role.DeadZombies has been changed from HashSet<uint> to IEnumerable<Player>.
  • [Exiled.API] Scp049Role.ResurrectedPlayers has been changed from Dictionary<uint, int> to Dictionary<Player, int>.
  • [Exiled.API] The return type of Scp096Role.AddTarget methods have been changed from void to bool.
  • [Exiled.API] The return type of Scp096Role.RemoveTarget(Player) has been changed from void to bool.
  • [Exiled.API] The return type of Scp173Role.PlaceTantrum has been changed from GameObject to Hazards.TantrumHazard.
  • [Exiled.API] Room.List has been changed from IEnumerable<Room> to IReadOnlyCollection<Room>.
  • [Exiled.API] Room.Doors has been changed from IEnumerable<Door> to IReadOnlyCollection<Door>.
  • [Exiled.API] Room.Windows has been changed from IEnumerable<Window> to IReadOnlyCollection<Window>.
  • [Exiled.API] Room.Speakers has been changed from IEnumerable<Speaker> to IReadOnlyCollection<Speaker>.
  • [Exiled.API] Room.Cameras has been changed from IEnumerable<Camera> to IReadOnlyCollection<Camera>.
  • [Exiled.API] Scp914.PlaySound(byte) has been replaced with Scp914.PlaySound(Scp914InteractCode).
  • [Exiled.API] Scp914.Start() has been replaced with Scp914.Start(Player, Scp914InteractCode).
  • [Exiled.API] Server.SpawnProtectTime has been removed in favor of Respawn.SpawnProtectTime.
  • [Exiled.API] TeslaGate.List has been changed from IEnumerable<TeslaGate> to IReadOnlyCollection<TeslaGate>.
  • [Exiled.API] TeslaGate.TantrumsToDestroy has been changed from List<TantrumEnviornmentalHazard to IEnumerable<TantrumHazard>.
  • [Exiled.API] Window.List has been changed from IEnumerable<Window> to IReadOnlyCollection<Window>.
  • [Exiled.CustomItems] CustomItem.TryGet(int, out CustomItem?) has been removed in favor of TryGet(uint, out CustomItem?).
  • [Exiled.CustomItems] CustomItem.TrySpawn(int, Vector3, out Pickup?) has been removed in favor of TrySpawn(uint, Vector3, out Pickup?).
  • [Exiled.CustomItems] CustomItem.TryGive(int, Player, bool) has been removed in favor of TryGive(uint, Player, bool).
  • [Exiled.CustomItems] CustomItem.OnAcquired(Player, bool) has been removed in favor or OnAcquired(Player, Item, bool).
  • [Exiled.CustomRoles] ActiveAbility.CanUseAbility(Player, out string) has been replaced with CanUseAbility(Player, out string, bool).
  • [Exiled.CustomRoles] CustomRole.Get(int) and CustomRole.TryGet(int, out CustomRole?) have been removed in favor of their uint counterparts.
  • [Exiled.CustomRoles] CustomRole.RegisterRoles(bool, object?, bool) has been replaced with RegisterRoles(bool, object?, bool, Assembly?)
  • [Exiled.Events] IHazardEvent.EnviornmentalHazard has been replaced with IHazardEvent.Hazard.
  • [Exiled.Events] The Map.GeneratorActivated event has been renamed to Map.GeneratorActivating, it's event args class has also been changed.
  • [Exiled.Events] The EventArgs.Map.PlacingBulletHole class has been renamed to EventArgs.Map.PlacingBulletHoleEventArgs.
  • [Exiled.Events] The AimingDownSightEventArgs 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] The ExitingEnvironmentalHazardEventArgs and EnteringEnviornmentalHazardEventArgs.EnviornmentalHazard has been replaced by Hazard.
  • [Exiled.Events] The Player.ProcessingHotkey event has been removed.
  • [Exiled.Events] The ConsumingCorpseEventArgs class has been moved from the Scp049 namespace to Scp0492.
  • [Exiled.Events] Many events with the new IScpxxxEvent interfaces have had ev.Player changed from the target, to the player initiating the event, with a new ev.Target made to define the target. ev.Scpxxx is now a ScpxxxRole value.
  • [Exiled.Events] CustomEventHandler<T> has been replaced with Event<T>.
  • [Exiled.Events] Events.DisabledPatchesHashSet and Events.ReloadDisabledPatches have been moved to the Patcher class.

Changes (Non-Breaking)

  • [Exiled.API] Scp244Pickup now inherits the UsablePickup class, instead of Pickup.
  • [Exiled.API] Scp330Pickup now inherits the UsablePickup class, instead of Pickup.
  • [Exiled.Events] The plugins command has been renamed to pluginmanager.
  • [Exiled.Events] IFirearmEvent now inherits IItemEvent instead of IExiledEvent.
  • [Exiled.Events]