+Blood Fueled Added
This commit is contained in:
@@ -38,33 +38,41 @@ public sealed class CustomClasses : Plugin
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override string Name => "CustomClasses";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override string Author => "Code002Lover";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override Version Version { get; } = new(1, 0, 0);
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override string Description => "Adds custom classes to the game";
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override Version RequiredApiVersion { get; } = new(LabApiProperties.CompiledVersion);
|
||||
|
||||
|
||||
public const ushort BroadcastDuration = 10;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Configuration for the Janitor class.
|
||||
/// </summary>
|
||||
public JanitorConfig JanitorConfig { get; private set; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// Configuration for the Research Subject class.
|
||||
/// </summary>
|
||||
public ResearchSubjectConfig ResearchSubjectConfig { get; private set; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// Configuration for the Head Guard class.
|
||||
/// </summary>
|
||||
public HeadGuardConfig HeadGuardConfig { get; private set; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// Configuration for the Medic class.
|
||||
/// </summary>
|
||||
public MedicConfig MedicConfig { get; private set; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// Configuration for the Gambler class.
|
||||
/// </summary>
|
||||
@@ -74,7 +82,7 @@ public sealed class CustomClasses : Plugin
|
||||
/// Configuration for the ShadowStepper class.
|
||||
/// </summary>
|
||||
public ShadowStepperConfig ShadowStepperConfig { get; private set; } = new();
|
||||
|
||||
|
||||
public MtfDemolitionistConfig MtfDemolitionistConfig { get; private set; } = new();
|
||||
public ScoutConfig ScoutConfig { get; private set; } = new();
|
||||
public ExplosiveMasterConfig ExplosiveMasterConfig { get; private set; } = new();
|
||||
@@ -82,6 +90,7 @@ public sealed class CustomClasses : Plugin
|
||||
public SerpentsHandConfig SerpentsHandConfig { get; private set; } = new();
|
||||
public NegromancerConfig NegromancerConfig { get; private set; } = new();
|
||||
public NegromancerShadowConfig NegromancerShadowConfig { get; private set; } = new();
|
||||
public BloodFueledConfig BloodFueledConfig { get; private set; } = new();
|
||||
|
||||
internal readonly Dictionary<Player, Hint> Hints = new();
|
||||
|
||||
@@ -269,16 +278,17 @@ public sealed class CustomClasses : Plugin
|
||||
private void OnPlayerSpawned(PlayerSpawnedEventArgs ev)
|
||||
{
|
||||
ev.Player.CustomInfo = "";
|
||||
|
||||
|
||||
if (ClassManager.TryHandleSpawn(ev.Player, JanitorConfig, typeof(JanitorConfig), null)) return;
|
||||
if (ClassManager.TryHandleSpawn(ev.Player, ResearchSubjectConfig, typeof(ResearchSubjectConfig), null)) return;
|
||||
if (ClassManager.TryHandleSpawn(ev.Player, HeadGuardConfig, typeof(HeadGuardConfig), null)) return;
|
||||
if (ClassManager.TryHandleSpawn(ev.Player, MedicConfig, typeof(MedicConfig), null)) return;
|
||||
if (ClassManager.TryHandleSpawn(ev.Player, GamblerConfig, typeof(GamblerConfig), null)) return;
|
||||
if (ClassManager.TryHandleSpawn(ev.Player, ShadowStepperConfig, typeof(ShadowStepperConfig), null)) return;
|
||||
if (ClassManager.TryHandleSpawn(ev.Player, MtfDemolitionistConfig, typeof(MtfDemolitionistConfig), null)) return;
|
||||
if (ClassManager.TryHandleSpawn(ev.Player, MtfDemolitionistConfig, typeof(MtfDemolitionistConfig), null))
|
||||
return;
|
||||
if (ClassManager.TryHandleSpawn(ev.Player, ExplosiveMasterConfig, typeof(ExplosiveMasterConfig), null)) return;
|
||||
if (ClassManager.TryHandleSpawn(ev.Player, FlashMasterConfig, typeof(FlashMasterConfig), null)) return;
|
||||
if (ClassManager.TryHandleSpawn(ev.Player, BloodFueledConfig, typeof(BloodFueledConfig), null)) return;
|
||||
}
|
||||
|
||||
private static void OnScp914ProcessingPickup(Scp914ProcessingPickupEventArgs ev)
|
||||
@@ -338,6 +348,7 @@ public class CustomClassManager
|
||||
RegisterHandler<SerpentsHandConfig>(new SerpentsHandHandler(), new SerpentsHandState());
|
||||
RegisterHandler<NegromancerConfig>(new NegromancerHandler());
|
||||
RegisterHandler<NegromancerShadowConfig>(new NegromancerShadowHandler());
|
||||
RegisterHandler<BloodFueledConfig>(new BloodFueledHandler());
|
||||
}
|
||||
|
||||
public SpawnState GetSpawnState(Type configType)
|
||||
@@ -959,6 +970,14 @@ public sealed class NegromancerShadowConfig : CustomClassConfig
|
||||
public override ItemType[] Items { get; set; } = [];
|
||||
}
|
||||
|
||||
public sealed class BloodFueledConfig : CustomClassConfig
|
||||
{
|
||||
public override double ChancePerPlayer { get; set; } = 1.0;
|
||||
public override int MaxSpawns { get; set; } = int.MaxValue;
|
||||
public override RoleTypeId RequiredRole { get; set; } = RoleTypeId.Scp939;
|
||||
public override ItemType[] Items { get; set; } = [];
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Tracks the spawn state for a custom class.
|
||||
/// </summary>
|
||||
@@ -970,4 +989,4 @@ public record SpawnState
|
||||
{
|
||||
Spawns = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user