improve bloodfueled & serpents

This commit is contained in:
2025-07-14 03:35:11 +02:00
parent f839619464
commit d53d71c6d9
5 changed files with 144 additions and 54 deletions
+4 -7
View File
@@ -17,7 +17,6 @@ using LabApi.Loader.Features.Plugins;
using MapGeneration;
using MEC;
using PlayerRoles;
using PlayerRoles.PlayableScps.Scp106;
using Scp914.Processors;
using UnityEngine;
using Logger = LabApi.Features.Console.Logger;
@@ -35,7 +34,7 @@ public sealed class CustomClasses : Plugin
public readonly CustomClassManager ClassManager = new();
public SerpentsHandManager SerpentsHandManager;
public NegromancerManager NegromancerManager;
public BloodFueledManager BloodFueledManager;
public BloodFueledManager BloodFueledManager = new();
/// <inheritdoc/>
public override string Name => "CustomClasses";
@@ -160,7 +159,6 @@ public sealed class CustomClasses : Plugin
}
NegromancerManager = new NegromancerManager(this);
BloodFueledManager = new BloodFueledManager(this);
Instance = this;
}
@@ -223,8 +221,7 @@ public sealed class CustomClasses : Plugin
{
if (random.Next(0, 100) > SerpentsHandConfig.BaseChance + state.ExtraChance)
{
state.SetSpawned();
state.SetWillSpawn();
SerpentsHandManager.SpawnSerpentWave();
ClassManager.TryHandleSpawn(spectator, ScoutConfig, typeof(ScoutConfig), () =>
{
@@ -252,7 +249,7 @@ public sealed class CustomClasses : Plugin
{
if (ev.Wave != RespawnWaves.MiniChaosWave) return;
if (ClassManager.GetSpawnState(typeof(SerpentsHandConfig)) is not SerpentsHandState state) return;
if (!state.WillSpawn) return;
Cassie.Message("pitch_0.23 .G4 yield_03 .G4 pitch_1 Space yield_0.65 time breach detected near site yield_0.45 entrance yield_1.5 Security yield_0.8 pitch_0.95 Personnel pitch_1 proceed jam_01_2 .G6 with yield_0.4 pitch_0.45 jam_02_3 .G3 yield_0.15 pitch_0.35 .G2 jam_01_5 yield_0.15 pitch_0.2 .G1 pitch_0.9 yield_0.8 protocol", true, false, customSubtitles: "Space-time breach detected near site entrance. Security Personnel proceed with {DATA-EXPUNGED} protocol.");
@@ -370,7 +367,7 @@ public class CustomClassManager
/// <param name="position">The base position.</param>
public void TeleportPlayerToAround(Player player, Vector3 position)
{
player.Position = position + new Vector3(0, 1, 0) + new Vector3((float)(_random.NextDouble() * 2 - 1), 0, (float)(_random.NextDouble() * 2 - 1));
player.Position = position + new Vector3(0, 0.5f, 0) + new Vector3((float)(_random.NextDouble() * 2 - 1), 0, (float)(_random.NextDouble() * 2 - 1));
}
/// <summary>