public static class GameConstants { public static class PlayerPrefsKeys { #region PlayerPrefs Keys public static string PlayerAccountDataKey = "playerAccountData"; public static string CharacterDataKey = "characterData"; public static string CharacterInventoryDataKey = "characterInventoryData"; public static string CharacterEquipmentDataKey = "characterEquipmentData"; public static string PlayerCoinKey = "playerCoin"; public static string GetPlayerAccountDataKey(string playerName) { return PlayerAccountDataKey + "-" + playerName; } public static string GetCharacterDataKey(string playerName, string characterName) { return CharacterDataKey + "-" + playerName + "-" + characterName; } public static string GetCharacterInventoryDataKey(string playerName, string characterName) { return CharacterInventoryDataKey + "-" + playerName + "-" + characterName; } public static string GetCharacterEquipmentDataKey(string playerName, string characterName) { return CharacterEquipmentDataKey + "-" + playerName + "-" + characterName; } public static string GetPlayerCoinKey(string playerName) { return PlayerCoinKey + "-" + playerName; } #endregion } public static class CharacterBalancing { public static int StatPointsPerLevel = 1; public static float SoloCheatDeathHealthPercent = 0.5f; public static float SoloCheatDeathInvulnerabilityDuration = 3f; public static float GroupBleedOutDuration = 30f; public static float ReviveTriggerRadius = 3f; public static float ReviveSpeed = 1f; public static float ReviveTime = 5f; public static float ReviveHealthPercent = 0.5f; public static float PercentageStatScaleForMinions = 0.8f; } public static class GameBalancing { public static int HealthIntoExperienceMultiplier = 1; public static int MinimumNumberOfWavesPerRift = 3; public static int MaximumNumberOfWavesPerRift = 5; public static int MinimumQuantityAngrySkelly = 2; public static int MaximumQuantityAngrySkelly = 5; public static int MinimumQuantitySkellyMage = 2; public static int MaximumQuantitySkellyMage = 5; public static int MinimumQuantityVineGolem = 2; public static int MaximumQuantityVineGolem = 5; public static int MinimumQuantityPolygonGolem = 2; public static int MaximumQuantityPolygonGolem = 5; public static int MinimumQuantityLich = 2; public static int MaximumQuantityLich = 5; public static float RiftDelayBetweenSpawns = 1f; public static float BossTargetLockInPhaseDuration = 6f; public static float BossSearchForNewTargetLockInDuration = 6f; public static float PermaDeathInfoTime = 2f; } public static class EnemySpawning { public enum EnemyID { AngrySkelly = 0, SkellyMage = 1, VineGolem = 2, PolygonGolem = 3, Lich = 4, Count } } public static class ObjectSources { #region Object Sources (example stat increase source) public static object AllocatedSource = "Allocated"; public static object LevelSource = "Level"; #endregion } public static class NetworkEventCodes { #region Network Event Codes public static byte JobSelection = 112; public static byte CancelChangeLevelVoted = 114; public static byte ChangeLevelVoted = 115; public static byte LoadLevelStarting = 116; #endregion } public static class NetworkPropertyKeys { public static string AvailableJobsKey = "availableJobs"; } public static class Sizes { public static int TotalEquipmentSlots = 6; public static int TotalInventorySlots = 18; } public static class Scenes { public static string HuntersInn = "4-RiftHuntersInn"; public static string Skellyard = "4-Skellyard"; public static string Dayard = "4-Dayard"; public static string GetSceneNameByZoneName(string zoneName) { zoneName = zoneName.ToLower(); if (zoneName.Contains("huntersinn")) return HuntersInn; if (zoneName.Contains("skellyard")) return Skellyard; if (zoneName.Contains("dayard")) return Dayard; return HuntersInn; } } }