refactor
This commit is contained in:
+176
-170
@@ -1,184 +1,190 @@
|
||||
using CustomPlayerEffects;
|
||||
|
||||
namespace GamblingCoin
|
||||
namespace GamblingCoin;
|
||||
|
||||
public class GamblingCoinChancesConfig
|
||||
{
|
||||
|
||||
public class GamblingCoinChancesConfig
|
||||
public int NukeChance { get; set; } = 10;
|
||||
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; } = 40;
|
||||
public int AntiMicroChance { get; set; } = 10;
|
||||
public int GrenadeChance { get; set; } = 50;
|
||||
public int PocketDimensionChance { get; set; } = 30;
|
||||
public int SwitchInventoryChance { get; set; } = 150;
|
||||
public int PositiveEffectChance { get; set; } = 300;
|
||||
public int NegativeEffectChance { get; set; } = 350;
|
||||
public int AdvancedPositiveEffectChance { get; set; } = 150;
|
||||
public int AdvancedNegativeEffectChance { get; set; } = 250;
|
||||
public int RemoveCoinChance { get; set; } = 300;
|
||||
}
|
||||
|
||||
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; } =
|
||||
{
|
||||
public int NukeChance { get; set; } = 10;
|
||||
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; } = 40;
|
||||
public int AntiMicroChance { get; set; } = 10;
|
||||
public int GrenadeChance { get; set; } = 50;
|
||||
public int PocketDimensionChance { get; set; } = 30;
|
||||
public int SwitchInventoryChance { get; set; } = 150;
|
||||
public int PositiveEffectChance { get; set; } = 300;
|
||||
public int NegativeEffectChance { get; set; } = 350;
|
||||
public int AdvancedPositiveEffectChance { get; set; } = 150;
|
||||
public int AdvancedNegativeEffectChance { get; set; } = 250;
|
||||
public int RemoveCoinChance { get; set; } = 300;
|
||||
}
|
||||
|
||||
public class GamblingCoinMessages
|
||||
ItemType.KeycardJanitor,
|
||||
ItemType.KeycardScientist,
|
||||
ItemType.Medkit,
|
||||
ItemType.Painkillers,
|
||||
ItemType.Radio,
|
||||
ItemType.Flashlight
|
||||
};
|
||||
|
||||
public ItemType[] UncommonItems { get; set; } =
|
||||
{
|
||||
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!";
|
||||
}
|
||||
ItemType.KeycardZoneManager,
|
||||
ItemType.KeycardGuard,
|
||||
ItemType.KeycardResearchCoordinator,
|
||||
ItemType.Adrenaline,
|
||||
ItemType.ArmorLight,
|
||||
ItemType.GrenadeFlash
|
||||
};
|
||||
|
||||
public class GamblingCoinGameplayConfig
|
||||
public ItemType[] RareItems { get; set; } =
|
||||
{
|
||||
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
|
||||
ItemType.KeycardMTFPrivate,
|
||||
ItemType.KeycardContainmentEngineer,
|
||||
ItemType.KeycardMTFOperative,
|
||||
ItemType.ArmorCombat,
|
||||
ItemType.ArmorHeavy,
|
||||
ItemType.SCP330,
|
||||
ItemType.Lantern,
|
||||
ItemType.GrenadeHE
|
||||
};
|
||||
|
||||
public ItemType[] EpicItems { get; set; } =
|
||||
{
|
||||
public ItemType[] CommonItems { get; set; } = {
|
||||
ItemType.KeycardJanitor,
|
||||
ItemType.KeycardScientist,
|
||||
ItemType.Medkit,
|
||||
ItemType.Painkillers,
|
||||
ItemType.Radio,
|
||||
ItemType.Flashlight
|
||||
};
|
||||
ItemType.KeycardFacilityManager,
|
||||
ItemType.KeycardChaosInsurgency,
|
||||
ItemType.KeycardMTFCaptain,
|
||||
ItemType.SCP500
|
||||
};
|
||||
|
||||
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.GunCom45,
|
||||
ItemType.Coin
|
||||
};
|
||||
}
|
||||
|
||||
public class EffectConfig
|
||||
public ItemType[] LegendaryItems { get; set; } =
|
||||
{
|
||||
public AdvancedEffectSettings AdvancedPositive { get; set; } = new()
|
||||
ItemType.KeycardO5,
|
||||
ItemType.MicroHID,
|
||||
ItemType.Jailbird,
|
||||
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>
|
||||
{
|
||||
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), nameof(AmnesiaVision), nameof(Burned) },
|
||||
Settings = new Dictionary<string, EffectSettings>
|
||||
{
|
||||
{ nameof(InsufficientLighting), new EffectSettings(1, 30f, true) },
|
||||
{ nameof(AmnesiaVision), new EffectSettings(3, 30f, true) },
|
||||
{ nameof(Burned), new EffectSettings(3, 60f, 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;
|
||||
{ nameof(Invisible), new EffectSettings(1, 5f, true) },
|
||||
{ nameof(DamageReduction), new EffectSettings(100, 8f, false) },
|
||||
{ nameof(MovementBoost), new EffectSettings(40, 2f, false) }
|
||||
}
|
||||
|
||||
public EffectSettings(){}
|
||||
};
|
||||
|
||||
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), nameof(AmnesiaVision), nameof(Burned) },
|
||||
Settings = new Dictionary<string, EffectSettings>
|
||||
{
|
||||
{ nameof(InsufficientLighting), new EffectSettings(1, 30f, true) },
|
||||
{ nameof(AmnesiaVision), new EffectSettings(3, 30f, true) },
|
||||
{ nameof(Burned), new EffectSettings(3, 60f, true) }
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public class AdvancedEffectSettings
|
||||
{
|
||||
public string[] Effects { get; set; }
|
||||
public Dictionary<string, EffectSettings> Settings { get; set; }
|
||||
}
|
||||
|
||||
public class EffectSettings
|
||||
{
|
||||
public EffectSettings(byte intensity, float duration, bool addDuration)
|
||||
{
|
||||
Intensity = intensity;
|
||||
Duration = duration;
|
||||
AddDuration = addDuration;
|
||||
}
|
||||
|
||||
public EffectSettings()
|
||||
{
|
||||
}
|
||||
|
||||
public byte Intensity { get; set; }
|
||||
public float Duration { get; set; }
|
||||
public bool AddDuration { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user