Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
6f51f3a
No error for build
louis1706 Jan 21, 2025
cf4c725
Fix Exiled
louis1706 Jan 21, 2025
187b229
Fix RoundEnding
louis1706 Jan 22, 2025
e20b517
Now is fucking separated by default
louis1706 Jan 22, 2025
1554ee4
CustomSubtitles
louis1706 Jan 22, 2025
b567d66
Missing IsCustomAnnouncement
louis1706 Jan 22, 2025
bd60c80
Fix 3 patch & removal of CustomHealthStat
louis1706 Jan 22, 2025
b9da17f
Fix UsingAndCancellingItemUse
louis1706 Jan 22, 2025
a4ba5f7
Fix TogglingFlashlight
louis1706 Jan 22, 2025
e5d1021
La Flemme ?
louis1706 Jan 22, 2025
8945d11
La flemme 2
louis1706 Jan 22, 2025
34d4fdd
Fix ReservedSlotPatch
louis1706 Jan 22, 2025
a7ae2cb
Fix PickingUpItem(PickingUpAmmo)
louis1706 Jan 22, 2025
0bf8480
Fix Hurt event
louis1706 Jan 22, 2025
488716a
Fix FlippingCoin & EscapingPocketDimension
louis1706 Jan 22, 2025
15703b1
Fix FailingEscapePocketDimension
louis1706 Jan 22, 2025
3c4ec86
EscapingAndEscaped fix patch
louis1706 Jan 22, 2025
d3d5f59
Fix UpgradingPlayer patch
louis1706 Jan 22, 2025
2399186
Fix BeingObserved
louis1706 Jan 22, 2025
d74aa3b
Fix PlacingTantrum
louis1706 Jan 22, 2025
df6bc6d
Fix FinishingRecall
louis1706 Jan 22, 2025
d768ee1
ChangingCamera (Not working)
louis1706 Jan 22, 2025
fa0fce3
putting again the event than i was lazzy to fix
louis1706 Jan 22, 2025
1fe7d02
Rework InteractingDoor Patch
louis1706 Jan 22, 2025
1eb9618
Remove useless using and warning disable
louis1706 Jan 22, 2025
de33705
OUPS
louis1706 Jan 22, 2025
14c4ea0
if stupidity was me it's here (i am stupid)
louis1706 Jan 22, 2025
880d52b
Fixing Noclip with breakingchange
louis1706 Jan 22, 2025
275c97c
CustomHumeShieldStat
louis1706 Jan 22, 2025
41a0994
Fix InteractingGenerator
louis1706 Jan 24, 2025
0638834
Fix ChangingCamera
louis1706 Jan 24, 2025
f539322
Not finish
louis1706 Jan 27, 2025
f7788a6
InteractingDoor swap CanInteract & IsAllowed back to normal
louis1706 Jan 27, 2025
3993cfe
Player::Gravity
louis1706 Jan 28, 2025
36d94b4
Gravity in wrong place
louis1706 Jan 28, 2025
88fa6af
IHumeShieldRole for Human
louis1706 Jan 28, 2025
d23c75f
Fix BlastDoors & add OpenBlastDoor
louis1706 Jan 28, 2025
b6f6ef7
Fix SpawningRagdoll Scale & missing argument when modify
louis1706 Jan 28, 2025
9d270a5
Now fix in LabAPI only
louis1706 Jan 28, 2025
c15bcc2
we will keep the funny Ragdoll scale
louis1706 Jan 28, 2025
6560885
Merge branch 'dev' into LabAPIUpdate
louis1706 Feb 10, 2025
ea240b8
Fix Merge & Split Command
louis1706 Feb 11, 2025
6a362ac
new workflow for LabAPI
louis1706 Feb 11, 2025
0ac24f6
NW_Documentation
louis1706 Feb 17, 2025
61c4c70
SCP:SL LabAPI 14.0.3
louis1706 Feb 17, 2025
9fc6334
Merge branch 'LabAPI' into LabAPIUpdate
louis1706 Feb 17, 2025
93340a8
Fix One IL Error Patch (2 remain from previous update)
louis1706 Feb 17, 2025
2ea8753
use Specific build for LabAPI
louis1706 Feb 18, 2025
19548a0
Miss updating this file
louis1706 Feb 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/labapi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ defaults:
env:
EXILED_REFERENCES_URL: https://exmod-team.github.io/SL-References/LabAPI.zip
EXILED_REFERENCES_PATH: ${{ github.workspace }}/EXILED/References
EXILED_DLL_ARCHIVER_URL: https://github.com/ExMod-Team/EXILED-DLL-Archiver/releases/latest/download/EXILED-DLL-Archiver.exe
EXILED_DLL_ARCHIVER_URL: https://github.com/ExMod-Team/EXILED-DLL-Archiver/releases/download/v1.8.0/EXILED-DLL-Archiver.exe

jobs:

Expand Down
20 changes: 10 additions & 10 deletions EXILED/Exiled.API/Features/Lockers/Chamber.cs
Original file line number Diff line number Diff line change
Expand Up @@ -77,13 +77,13 @@ public Chamber(LockerChamber chamber, Locker locker)
/// </summary>
public IEnumerable<Pickup> ToBeSpawned
{
get => Base._toBeSpawned.Select(Pickup.Get);
get => Base.ToBeSpawned.Select(Pickup.Get);
set
{
Base._toBeSpawned.Clear();
Base.ToBeSpawned.Clear();

foreach (Pickup pickup in value)
Base._toBeSpawned.Add(pickup.Base);
Base.ToBeSpawned.Add(pickup.Base);
}
}

Expand Down Expand Up @@ -137,26 +137,26 @@ public bool UseMultipleSpawnpoints
/// </remarks>
public Transform Spawnpoint
{
get => Base._spawnpoint;
set => Base._spawnpoint = value;
get => Base.Spawnpoint;
set => Base.Spawnpoint = value;
}

/// <summary>
/// Gets or sets a value indicating whether items should be spawned as soon as they one chamber is opened.
/// </summary>
public bool InitiallySpawn
{
get => Base._spawnOnFirstChamberOpening;
set => Base._spawnOnFirstChamberOpening = value;
get => Base.SpawnOnFirstChamberOpening;
set => Base.SpawnOnFirstChamberOpening = value;
}

/// <summary>
/// Gets or sets the amount of time before a player can interact with the chamber again.
/// </summary>
public float Cooldown
{
get => Base._targetCooldown;
set => Base._targetCooldown = value;
get => Base.TargetCooldown;
set => Base.TargetCooldown = value;
}

/// <summary>
Expand Down Expand Up @@ -219,7 +219,7 @@ public void AddItemToSpawn(ItemType itemType, int quantity = 1, bool spawnIfIsOp
continue;
}

Base._toBeSpawned.Add(pickup.Base);
Base.ToBeSpawned.Add(pickup.Base);
}
}

Expand Down
2 changes: 1 addition & 1 deletion EXILED/Exiled.API/Features/Lockers/Locker.cs
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ public void AddItem(Pickup item)
// If the chamber is configured to spawn items on the first opening, add the item to the list of items to be spawned.
// Otherwise, spawn the item immediately.
if (chamber.InitiallySpawn)
chamber.Base._toBeSpawned.Add(item.Base);
chamber.Base.ToBeSpawned.Add(item.Base);
else
ItemDistributor.SpawnPickup(item.Base);
}
Expand Down
2 changes: 1 addition & 1 deletion EXILED/Exiled.API/Features/Player.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3535,7 +3535,7 @@ public void Teleport(object obj, Vector3 offset)
Teleport(locker.transform.position + Vector3.up + offset);
break;
case LockerChamber chamber:
Teleport(chamber._spawnpoint.position + Vector3.up + offset);
Teleport(chamber.Spawnpoint.position + Vector3.up + offset);
break;
case ElevatorChamber elevator:
Teleport(elevator.transform.position + Vector3.up + offset);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,18 +21,27 @@ public class EscapingPocketDimensionEventArgs : IPlayerEvent, IDeniableEvent
/// <summary>
/// Initializes a new instance of the <see cref="EscapingPocketDimensionEventArgs" /> class.
/// </summary>
/// <param name="pocketDimensionTeleport">
/// <inheritdoc cref="Teleporter" />
/// </param>
/// <param name="player">
/// <inheritdoc cref="Player" />
/// </param>
/// <param name="position">
/// <inheritdoc cref="TeleportPosition" />
/// </param>
public EscapingPocketDimensionEventArgs(Player player, Vector3 position)
public EscapingPocketDimensionEventArgs(PocketDimensionTeleport pocketDimensionTeleport, Player player, Vector3 position)
{
Teleporter = pocketDimensionTeleport;
Player = player;
TeleportPosition = position;
}

/// <summary>
/// Gets the PocketDimensionTeleport the player walked into.
/// </summary>
public PocketDimensionTeleport Teleporter { get; }

/// <summary>
/// Gets the player who's escaping the pocket dimension.
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,22 +21,25 @@ public class FailingEscapePocketDimensionEventArgs : IPlayerEvent, IDeniableEven
/// <summary>
/// Initializes a new instance of the <see cref="FailingEscapePocketDimensionEventArgs" /> class.
/// </summary>
/// <param name="pocketDimensionTeleport">
/// <inheritdoc cref="Teleporter" />
/// </param>
/// <param name="player">
/// <inheritdoc cref="Player" />
/// </param>
/// <param name="isAllowed">
/// <inheritdoc cref="IsAllowed" />
/// </param>
public FailingEscapePocketDimensionEventArgs(Player player, bool isAllowed = true)
public FailingEscapePocketDimensionEventArgs(PocketDimensionTeleport pocketDimensionTeleport, Player player, bool isAllowed = true)
{
Teleporter = pocketDimensionTeleport;
Player = player;
IsAllowed = isAllowed;
}

/// <summary>
/// Gets the PocketDimensionTeleport the player walked into.
/// </summary>
[Obsolete("can't be used")]
public PocketDimensionTeleport Teleporter { get; }

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ namespace Exiled.Events.Patches.Events.Player
using static HarmonyLib.AccessTools;

/// <summary>
/// Patches the <see cref="PocketDimensionTeleport.Exit(ReferenceHub)"/> method.
/// Patches the <see cref="PocketDimensionTeleport.Exit(PocketDimensionTeleport, ReferenceHub)"/> method.
/// Adds the <see cref="Handlers.Player.EscapingPocketDimension"/> event.
/// </summary>
[EventPatch(typeof(Handlers.Player), nameof(Handlers.Player.EscapingPocketDimension))]
Expand All @@ -47,14 +47,17 @@ private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstructi
index,
new[]
{
// pocketDimensionTeleport
new CodeInstruction(OpCodes.Ldarg_0),

// referenceHub
new CodeInstruction(OpCodes.Ldarg_0).MoveLabelsFrom(newInstructions[index]),
new CodeInstruction(OpCodes.Ldarg_1).MoveLabelsFrom(newInstructions[index]),

// Scp106PocketExitFinder.GetBestExitPosition(fpcRole)
new(OpCodes.Ldloc_0),
new(OpCodes.Call, Method(typeof(Scp106PocketExitFinder), nameof(Scp106PocketExitFinder.GetBestExitPosition), new[] { typeof(IFpcRole) })),

// EscapingPocketDimensionEventArgs ev = new(Player, Vector3)
// EscapingPocketDimensionEventArgs ev = new(PocketDimensionTeleport, Player, Vector3)
new(OpCodes.Newobj, GetDeclaredConstructors(typeof(EscapingPocketDimensionEventArgs))[0]),
new(OpCodes.Dup),
new(OpCodes.Dup),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ namespace Exiled.Events.Patches.Events.Player
using static HarmonyLib.AccessTools;

/// <summary>
/// Patches <see cref="PocketDimensionTeleport.Kill(ReferenceHub)" />.
/// Patches <see cref="PocketDimensionTeleport.Kill(PocketDimensionTeleport, ReferenceHub)" />.
/// Adds the <see cref="Handlers.Player.FailingEscapePocketDimension" /> event.
/// </summary>
[EventPatch(typeof(Handlers.Player), nameof(Handlers.Player.FailingEscapePocketDimension))]
Expand All @@ -39,13 +39,16 @@ private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstructi
0,
new[]
{
// referenceHub
// pocketDimensionTeleport
new CodeInstruction(OpCodes.Ldarg_0),

// referenceHub
new CodeInstruction(OpCodes.Ldarg_1),

// true
new(OpCodes.Ldc_I4_1),

// FailingEscapePocketDimensionEventArgs ev = new(ReferenceHub, bool)
// FailingEscapePocketDimensionEventArgs ev = new(PocketDimensionTeleport, ReferenceHub, bool)
new(OpCodes.Newobj, GetDeclaredConstructors(typeof(FailingEscapePocketDimensionEventArgs))[0]),
new(OpCodes.Dup),

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstructi
Label notAllowed = generator.DefineLabel();
Label skip = generator.DefineLabel();
Label skip2 = generator.DefineLabel();
Label @break = newInstructions.FindLast(instruction => instruction.IsLdarg(0)).labels[0];
Label @break = (Label)newInstructions.FindLast(instruction => instruction.opcode == OpCodes.Br_S).operand;

int offset = 1;
int index = newInstructions.FindIndex(instruction => instruction.Calls(Method(typeof(Stopwatch), nameof(Stopwatch.Stop)))) + offset;
Expand Down
8 changes: 4 additions & 4 deletions EXILED/Exiled.Events/Patches/Fixes/LockerFixes.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstructi
List<CodeInstruction> newInstructions = ListPool<CodeInstruction>.Pool.Get(instructions);

int offset = -1;
int index = newInstructions.FindIndex(i => i.LoadsField(Field(typeof(LockerChamber), nameof(LockerChamber._spawnOnFirstChamberOpening)))) + offset;
int index = newInstructions.FindIndex(i => i.LoadsField(Field(typeof(LockerChamber), nameof(LockerChamber.SpawnOnFirstChamberOpening)))) + offset;

newInstructions.InsertRange(index, new[]
{
Expand All @@ -50,16 +50,16 @@ private static void Hepler(LockerChamber chamber)
{
chamber.Content.Clear();

if (!chamber._spawnOnFirstChamberOpening)
if (!chamber.SpawnOnFirstChamberOpening)
return;

foreach (ItemPickupBase ipb in chamber._toBeSpawned)
foreach (ItemPickupBase ipb in chamber.ToBeSpawned)
{
if (ipb != null)
ItemDistributor.SpawnPickup(ipb);
}

chamber._toBeSpawned.Clear();
chamber.ToBeSpawned.Clear();
}
}
}
2 changes: 1 addition & 1 deletion EXILED/Exiled.Loader/AutoUpdateFiles.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,6 @@ public static class AutoUpdateFiles
/// <summary>
/// Gets which SCP: SL version generated Exiled.
/// </summary>
public static readonly Version RequiredSCPSLVersion = new(14, 0, 0, 2);
public static readonly Version RequiredSCPSLVersion = new(14, 0, 0, 3);
}
}
2 changes: 1 addition & 1 deletion EXILED/Exiled/Exiled.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
<file src="..\References\Assembly-CSharp-Publicized.dll" target="lib\net48" />
<file src="..\References\CommandSystem.Core.dll" target="lib\net48" />
<file src="..\References\NorthwoodLib.dll" target="lib\net48" />
<file src="..\References\PluginAPI.dll" target="lib\net48" />
<file src="..\References\LabAPI.dll" target="lib\net48" />
<file src="..\References\YamlDotNet.dll" target="lib\net48" />
<file src="..\bin\Release\Exiled.API.dll" target="lib\net48" />
<file src="..\bin\Release\Exiled.API.xml" target="lib\net48" />
Expand Down
17 changes: 15 additions & 2 deletions EXILED/docs/articles/SCPSLRessources/NW_Documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
title: NW Documentation
---

Last Update (14.0.0.2)
Last Update (14.0.0.3)

### Index

Expand Down Expand Up @@ -290,6 +290,7 @@ Last Update (14.0.0.2)
- [SpectatorSpawnReason](#spectatorspawnreason)
- [State](#state)
- [States](#states)
- [StatMessageType](#statmessagetype)
- [StatusType](#statustype)
- [SteamLobbyPrivacy](#steamlobbyprivacy)
- [StorageLocation](#storagelocation)
Expand Down Expand Up @@ -1747,6 +1748,7 @@ Last Update (14.0.0.2)
[2] = CuffedClassD
[3] = Scientist
[4] = CuffedScientist
[5] = Custom
```

</details>
Expand Down Expand Up @@ -4636,6 +4638,17 @@ Last Update (14.0.0.2)

</details>

### StatMessageType

<details><summary><b>PlayerStatsSystem.SyncedStatMessages+StatMessageType</b></summary>

```
[0] = CurrentValue
[1] = MaxValue
```

</details>

### StatusType

<details><summary><b>InventorySystem.Items.Usables.StatusMessage+StatusType</b></summary>
Expand Down Expand Up @@ -5200,7 +5213,7 @@ Last Update (14.0.0.2)

<details><summary> <b>Damage Handlers</b></summary>

```md title="Latest Updated: 14.0.0.2"
```md title="Latest Updated: 14.0.0.3"
All available DamageHandlers

+ Symbol ':' literally means "inherits from"
Expand Down
Loading