Compare commits

...

1 Commits
1.0.1 ... main

5 changed files with 33 additions and 8 deletions

1
.gitignore vendored
View File

@ -3,6 +3,7 @@ project/References/EFT_Managed/*
# Allow these files, despite the rules above
!project/References/EFT_Managed/.keep
!project/References/SPT/.keep
# ---> VisualStudio
## Ignore Visual Studio temporary files, build results, and

View File

View File

@ -1,7 +1,8 @@
using System;
using System.Linq;
using System.Reflection;
using Aki.Reflection.Patching;
using Comfort.Common;
using SPT.Reflection.Patching;
using EFT;
using EFT.Communications;
using EFT.PrefabSettings;
@ -23,17 +24,25 @@ namespace Terkoiz.FlareEventNotifier
}
[PatchPrefix]
public static void PatchPrefix(FlareEventType flareType, EZoneEventTypeEnumClone eventType)
public static void PatchPrefix(FlareEventType flareType, EZoneEventTypeEnumClone eventType, string playerProfileID)
{
if (flareType != FlareEventType.ExitActivate)
{
return;
}
if (eventType == EZoneEventTypeEnumClone.FiredPlayerAddedInShotList || eventType == EZoneEventTypeEnumClone.PlayerByPartyAddedInShotList)
if (eventType != EZoneEventTypeEnumClone.FiredPlayerAddedInShotList && eventType != EZoneEventTypeEnumClone.PlayerByPartyAddedInShotList)
{
NotificationManagerClass.DisplayNotification(new ExfilFlareSuccessNotification());
return;
}
var localPlayer = GetLocalPlayerFromWorld();
if (localPlayer != null && localPlayer.ProfileId != playerProfileID)
{
return;
}
NotificationManagerClass.DisplayNotification(new ExfilFlareSuccessNotification());
}
/// <summary>
@ -47,9 +56,24 @@ namespace Terkoiz.FlareEventNotifier
FiredPlayerAddedInShotList,
PlayerByPartyAddedInShotList
}
/// <summary>
/// Gets the current <see cref="Player"/> instance if it's available
/// </summary>
/// <returns>Local <see cref="Player"/> instance; returns null if the game is not in raid</returns>
private static Player GetLocalPlayerFromWorld()
{
var gameWorld = Singleton<GameWorld>.Instance;
if (gameWorld == null || gameWorld.MainPlayer == null)
{
return null;
}
return gameWorld.MainPlayer;
}
}
public class ExfilFlareSuccessNotification : NotificationClass
public class ExfilFlareSuccessNotification : NotificationAbstractClass
{
public ExfilFlareSuccessNotification()
{

View File

@ -3,7 +3,7 @@ using JetBrains.Annotations;
namespace Terkoiz.FlareEventNotifier
{
[BepInPlugin("com.terkoiz.flareeventnotifier", "Terkoiz.FlareEventNotifier", "1.0.1")]
[BepInPlugin("com.terkoiz.flareeventnotifier", "Terkoiz.FlareEventNotifier", "1.0.2")]
public class FlareEventNotifierPlugin : BaseUnityPlugin
{
[UsedImplicitly]

View File

@ -2,7 +2,7 @@
<PropertyGroup>
<TargetFramework>net472</TargetFramework>
<Version>1.0.1</Version>
<Version>1.0.2</Version>
<Authors>Terkoiz</Authors>
<RepositoryUrl>https://dev.sp-tarkov.com/Terkoiz/FlareEventNotifier</RepositoryUrl>
<PackageLicenseExpression>NCSA</PackageLicenseExpression>
@ -16,7 +16,7 @@
<ItemGroup>
<Reference Include="Aki.Reflection">
<HintPath>..\References\EFT_Managed\Aki.Reflection.dll</HintPath>
<HintPath>..\References\SPT\spt-reflection.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Assembly-CSharp">