182 lines
7.4 KiB
C#
182 lines
7.4 KiB
C#
using CustomPlayerEffects;
|
|
|
|
namespace GamblingCoin
|
|
{
|
|
|
|
public class GamblingCoinChancesConfig
|
|
{
|
|
public int NukeChance { get; set; } = 20;
|
|
public int SpawnWaveChance { get; set; } = 150;
|
|
public int CommonItemChance { get; set; } = 600;
|
|
public int UncommonItemChance { get; set; } = 400;
|
|
public int RareItemChance { get; set; } = 250;
|
|
public int EpicItemChance { get; set; } = 100;
|
|
public int LegendaryItemChance { get; set; } = 30;
|
|
public int RandomTeleportChance { get; set; } = 200;
|
|
public int StealItemChance { get; set; } = 100;
|
|
public int ExplosionChance { get; set; } = 15;
|
|
public int AntiMicroChance { get; set; } = 10;
|
|
public int GrenadeChance { get; set; } = 50;
|
|
public int PocketDimensionChance { get; set; } = 75;
|
|
public int SwitchInventoryChance { get; set; } = 150;
|
|
public int PositiveEffectChance { get; set; } = 300;
|
|
public int NegativeEffectChance { get; set; } = 250;
|
|
public int AdvancedPositiveEffectChance { get; set; } = 150;
|
|
public int AdvancedNegativeEffectChance { get; set; } = 250;
|
|
}
|
|
|
|
public class GamblingCoinMessages
|
|
{
|
|
public string SpawnWaveMessage { get; set; } = "Did someone just enter the Site...?";
|
|
public string ItemSpawnMessage { get; set; } = "*plop*";
|
|
public string UncommonItemSpawnMessage { get; set; } = "*bump*";
|
|
public string RareItemSpawnMessage { get; set; } = "*badunk*";
|
|
public string EpicItemSpawnMessage { get; set; } = "*katong*";
|
|
public string LegendaryItemSpawnMessage { get; set; } = "*sounds of monetary loss*";
|
|
public string RandomTeleportMessage { get; set; } = "Where did you go?";
|
|
public string StealItemMessage { get; set; } = "Be careful, the coin is slippery!";
|
|
public string ExplosionMessage { get; set; } = "How did you even die '-'";
|
|
public string AntiMicroMessage { get; set; } = "Where did all the micros go...";
|
|
public string GrenadeMessage { get; set; } = "Watch out!";
|
|
public string PocketDimensionMessage { get; set; } = "I hear he likes to see people suffer...";
|
|
public string PositiveEffectMessage { get; set; } = "You feel slightly better";
|
|
public string AdvancedPositiveEffectMessage { get; set; } = "You feel better";
|
|
public string NegativeEffectMessage { get; set; } = "You feel worse";
|
|
public string AdvancedNegativeEffectMessage { get; set; } = "You feel like you could die any second";
|
|
public string SwitchInventoryMessage { get; set; } = "Whoops... looks like something happened to your items!";
|
|
}
|
|
|
|
public class GamblingCoinGameplayConfig
|
|
{
|
|
public float WarheadTimeIncrease { get; set; } = 20f;
|
|
public ushort BroadcastDuration { get; set; } = 3;
|
|
public float TeleportHeightOffset { get; set; } = 1f;
|
|
public int MaxMicrosToRemove { get; set; } = 8;
|
|
|
|
public ItemPoolConfig Items { get; set; } = new();
|
|
public EffectConfig Effects { get; set; } = new();
|
|
}
|
|
|
|
public class ItemPoolConfig
|
|
{
|
|
public ItemType[] CommonItems { get; set; } = {
|
|
ItemType.KeycardJanitor,
|
|
ItemType.KeycardScientist,
|
|
ItemType.Medkit,
|
|
ItemType.Painkillers,
|
|
ItemType.Radio,
|
|
ItemType.Flashlight
|
|
};
|
|
|
|
public ItemType[] UncommonItems { get; set; } = {
|
|
ItemType.KeycardZoneManager,
|
|
ItemType.KeycardGuard,
|
|
ItemType.KeycardResearchCoordinator,
|
|
ItemType.Adrenaline,
|
|
ItemType.ArmorLight,
|
|
ItemType.GrenadeFlash
|
|
};
|
|
|
|
public ItemType[] RareItems { get; set; } = {
|
|
ItemType.KeycardMTFPrivate,
|
|
ItemType.KeycardContainmentEngineer,
|
|
ItemType.KeycardMTFOperative,
|
|
ItemType.ArmorCombat,
|
|
ItemType.ArmorHeavy,
|
|
ItemType.SCP330,
|
|
ItemType.Lantern,
|
|
ItemType.GrenadeHE
|
|
};
|
|
|
|
public ItemType[] EpicItems { get; set; } = {
|
|
ItemType.KeycardFacilityManager,
|
|
ItemType.KeycardChaosInsurgency,
|
|
ItemType.KeycardMTFCaptain,
|
|
ItemType.SCP500
|
|
};
|
|
|
|
public ItemType[] LegendaryItems { get; set; } = {
|
|
ItemType.KeycardO5,
|
|
ItemType.MicroHID,
|
|
ItemType.Jailbird,
|
|
ItemType.ParticleDisruptor,
|
|
ItemType.GunCom45,
|
|
ItemType.Coin
|
|
};
|
|
}
|
|
|
|
public class EffectConfig
|
|
{
|
|
public AdvancedEffectSettings AdvancedPositive { get; set; } = new()
|
|
{
|
|
Effects = new[] { nameof(Invisible), nameof(DamageReduction), nameof(MovementBoost) },
|
|
Settings = new Dictionary<string, EffectSettings>
|
|
{
|
|
{ nameof(Invisible), new EffectSettings(1, 5f, true) },
|
|
{ nameof(DamageReduction), new EffectSettings(100, 8f, false) },
|
|
{ nameof(MovementBoost), new EffectSettings(40, 2f, false) }
|
|
}
|
|
};
|
|
|
|
public AdvancedEffectSettings Positive { get; set; } = new()
|
|
{
|
|
Effects = new[] { nameof(Invigorated), nameof(RainbowTaste), nameof(Vitality), nameof(BodyshotReduction) },
|
|
Settings = new Dictionary<string, EffectSettings>
|
|
{
|
|
{ nameof(Invigorated), new EffectSettings(1, 5f, true) },
|
|
{ nameof(RainbowTaste), new EffectSettings(2, 10f, true) },
|
|
{ nameof(Vitality), new EffectSettings(1, 10f, true) },
|
|
{ nameof(BodyshotReduction), new EffectSettings(4, 5f, true) }
|
|
}
|
|
};
|
|
|
|
public AdvancedEffectSettings Negative { get; set; } = new()
|
|
{
|
|
Effects = new[] { nameof(Asphyxiated), nameof(AmnesiaVision), nameof(Bleeding), nameof(Blurred),
|
|
nameof(Concussed), nameof(Deafened), nameof(Disabled) },
|
|
Settings = new Dictionary<string, EffectSettings>
|
|
{
|
|
{ nameof(Asphyxiated), new EffectSettings(1, 10f, true) },
|
|
{ nameof(AmnesiaVision), new EffectSettings(1, 5f, true) },
|
|
{ nameof(Bleeding), new EffectSettings(1, 5f, true) },
|
|
{ nameof(Blurred), new EffectSettings(1, 5f, true) },
|
|
{ nameof(Concussed), new EffectSettings(1, 5f, true) },
|
|
{ nameof(Deafened), new EffectSettings(1, 5f, true) },
|
|
{ nameof(Disabled), new EffectSettings(1, 5f, true) }
|
|
}
|
|
};
|
|
|
|
public AdvancedEffectSettings AdvancedNegative { get; set; } = new()
|
|
{
|
|
Effects = new[] { nameof(InsufficientLighting) },
|
|
Settings = new Dictionary<string, EffectSettings>
|
|
{
|
|
{ nameof(InsufficientLighting), new EffectSettings(1, 20f, true) }
|
|
}
|
|
};
|
|
}
|
|
|
|
public class AdvancedEffectSettings
|
|
{
|
|
public String[] Effects { get; set; }
|
|
public Dictionary<string, EffectSettings> Settings { get; set; }
|
|
|
|
public AdvancedEffectSettings(){}
|
|
}
|
|
|
|
public class EffectSettings
|
|
{
|
|
public byte Intensity { get; set; }
|
|
public float Duration { get; set; }
|
|
public bool AddDuration { get; set; }
|
|
|
|
public EffectSettings(byte intensity, float duration, bool addDuration)
|
|
{
|
|
Intensity = intensity;
|
|
Duration = duration;
|
|
AddDuration = addDuration;
|
|
}
|
|
|
|
public EffectSettings(){}
|
|
}
|
|
} |