using System;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.Versioning;
[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: AssemblyCompany("MaximumDifficultyMod")]
[assembly: AssemblyConfiguration("Release")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyInformationalVersion("1.0.0")]
[assembly: AssemblyProduct("MaximumDifficultyMod")]
[assembly: AssemblyTitle("MaximumDifficultyMod")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace MaximumDifficultyMod;
public class Plugin
{
public static void Load()
{
MaximumDifficultyCore.Start();
}
}
public static class MaximumDifficultyCore
{
public class DifficultyConfig
{
public float EnemyHealthMultiplier = 30f;
public float EnemyDamageMultiplier = 20f;
public float EnemySpeedMultiplier = 10.3f;
public float EnemyArmorMultiplier = 20f;
public float EliteSpawnMultiplier = 20f;
public int EarlySirenSpawn = 2;
}
public static DifficultyConfig Config = new DifficultyConfig();
public static void Start()
{
Console.WriteLine("==========================================");
Console.WriteLine("\ud83c\udfaf MAXIMUM DIFFICULTY MOD INITIALIZED!");
Console.WriteLine("==========================================");
PrintDifficultySettings();
Console.WriteLine("\ud83d\udd27 Configuration ready - apply manually in game");
Console.WriteLine("==========================================");
}
private static void PrintDifficultySettings()
{
Console.WriteLine("⚡ ПЛАНИРУЕМЫЕ НАСТРОЙКИ СЛОЖНОСТИ:");
Console.WriteLine(" Обычные враги:");
Console.WriteLine($" ❤\ufe0f Здоровье: x{Config.EnemyHealthMultiplier}");
Console.WriteLine($" ⚡ Урон: x{Config.EnemyDamageMultiplier}");
Console.WriteLine($" \ud83c\udfc3 Скорость: x{Config.EnemySpeedMultiplier}");
Console.WriteLine($" \ud83d\udee1\ufe0f Броня: x{Config.EnemyArmorMultiplier}");
Console.WriteLine(" Элитные враги:");
Console.WriteLine($" \ud83d\udd25 Шанс появления: x{Config.EliteSpawnMultiplier}");
Console.WriteLine(" Боссы (Сирены):");
Console.WriteLine($" \ud83d\udc79 Раннее появление: с {Config.EarlySirenSpawn} локации");
Console.WriteLine("");
Console.WriteLine("\ud83d\udca1 Для применения настроек нужен GKAPI мод");
}
public static float GetModifiedHealth(float baseHealth)
{
return baseHealth * Config.EnemyHealthMultiplier;
}
public static float GetModifiedDamage(float baseDamage)
{
return baseDamage * Config.EnemyDamageMultiplier;
}
public static float GetModifiedSpeed(float baseSpeed)
{
return baseSpeed * Config.EnemySpeedMultiplier;
}
public static float GetModifiedArmor(float baseArmor)
{
return baseArmor * Config.EnemyArmorMultiplier;
}
public static bool ShouldSpawnElite(float baseChance)
{
return baseChance * Config.EliteSpawnMultiplier > 0.3f;
}
}