Skip to content

Commit 1393c2a

Browse files
committed
Use different method to reset FF
1 parent 9423839 commit 1393c2a

2 files changed

Lines changed: 19 additions & 9 deletions

File tree

RandomGamemode/EventHandlers.cs

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public class EventHandlers
3333
{
3434
private Plugin plugin;
3535
private Gamemode CurrentGamemode;
36-
private bool FriendlyFireDefault;
36+
private bool resetFriendlyFire;
3737
System.Random rand = new System.Random();
3838

3939
public EventHandlers( Plugin plugin ) => this.plugin = plugin;
@@ -65,8 +65,8 @@ private IEnumerator<float> DelayedRoundEnd( float delay )
6565
#region Gamemodes
6666
public IEnumerator<float> DodgeBall()
6767
{
68-
FriendlyFireDefault = ServerConsole.FriendlyFire;
69-
ServerConsole.FriendlyFire = true;
68+
resetFriendlyFire = Server.FriendlyFire;
69+
Server.FriendlyFire = true;
7070
yield return Timing.WaitForSeconds( 3f );
7171

7272
foreach ( Player ply in Player.List )
@@ -166,8 +166,8 @@ public IEnumerator<float> NightOfTheLivingNerd()
166166
public IEnumerator<float> Randomizer()
167167
{
168168
List<Player> PlyList = new List<Player>();
169-
FriendlyFireDefault = ServerConsole.FriendlyFire;
170-
ServerConsole.FriendlyFire = true;
169+
resetFriendlyFire = Server.FriendlyFire;
170+
Server.FriendlyFire = true;
171171
yield return Timing.WaitForSeconds( 3f );
172172

173173
RoleTypeId[] roles = new RoleTypeId[] {
@@ -303,7 +303,16 @@ public void OnRoundStart()
303303
Timing.RunCoroutine( DelayedRoundEnd( 900 ), "DelayedRoundEnd" );
304304
}
305305
}
306-
306+
307+
public void OnWaitingForPlayers()
308+
{
309+
if ( resetFriendlyFire )
310+
{
311+
Server.FriendlyFire = false;
312+
resetFriendlyFire = false;
313+
}
314+
}
315+
307316
public void OnRoundEnding( EndingRoundEventArgs ev )
308317
{
309318
// Prevents randomizer round from ending if everyone is on the same team
@@ -327,7 +336,6 @@ public void OnRoundEnd( RoundEndedEventArgs ev )
327336
{
328337
Map.Broadcast( 6, string.Format( plugin.Config.EndText, Plugin.GetGamemodeName( CurrentGamemode ) ) );
329338
CurrentGamemode = 0;
330-
ServerConsole.FriendlyFire = FriendlyFireDefault;
331339
Timing.KillCoroutines( "DelayedRoundEnd" );
332340
}
333341
}

RandomGamemode/Plugin.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ namespace RandomGamemode
99
public class Plugin : Plugin<Config>
1010
{
1111
private EventHandlers EventHandlers;
12-
public override Version Version { get; } = new Version( 2, 7, 1 );
13-
public override Version RequiredExiledVersion { get; } = new Version( 9, 8, 0 );
12+
public override Version Version { get; } = new Version( 2, 7, 2 );
13+
public override Version RequiredExiledVersion { get; } = new Version( 9, 9, 0 );
1414
public override string Author { get; } = "OPGman";
1515
public override PluginPriority Priority { get; } = PluginPriority.Medium;
1616

@@ -39,6 +39,7 @@ public override void OnEnabled()
3939
base.OnEnabled();
4040
EventHandlers = new EventHandlers( this );
4141
events.Server.RoundStarted += EventHandlers.OnRoundStart;
42+
events.Server.WaitingForPlayers += EventHandlers.OnWaitingForPlayers;
4243
events.Server.RoundEnded += EventHandlers.OnRoundEnd;
4344
events.Player.ThrownProjectile += EventHandlers.OnGrenadeThrown;
4445
events.Player.DroppingItem += EventHandlers.OnItemDropped;
@@ -74,6 +75,7 @@ public override void OnDisabled()
7475
{
7576
base.OnDisabled();
7677
events.Server.RoundStarted -= EventHandlers.OnRoundStart;
78+
events.Server.WaitingForPlayers -= EventHandlers.OnWaitingForPlayers;
7779
events.Server.RoundEnded -= EventHandlers.OnRoundEnd;
7880
events.Player.ThrownProjectile -= EventHandlers.OnGrenadeThrown;
7981
events.Player.DroppingItem -= EventHandlers.OnItemDropped;

0 commit comments

Comments
 (0)