using static GameConstants.EnemySpawning; 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 const int StatPointsPerLevel = 1; public const float SoloCheatDeathHealthPercent = 0.5f; public const float SoloCheatDeathInvulnerabilityDuration = 3f; public const float GroupBleedOutDuration = 30f; public const float ReviveTriggerRadius = 3f; public const float ReviveSpeed = 1f; public const float ReviveTime = 5f; public const float ReviveHealthPercent = 0.5f; public const float PercentageStatScaleForMinions = 0.8f; } public static class GameBalancing { public const int HealthIntoExperienceMultiplier = 1; public const int MinimumNumberOfWavesPerRift = 3; public const int MaximumNumberOfWavesPerRift = 5; public const int MinimumQuantityAngrySkelly = 2; public const int MaximumQuantityAngrySkelly = 5; public const int MinimumQuantitySkellyMage = 2; public const int MaximumQuantitySkellyMage = 5; public const int MinimumQuantityVineGolem = 2; public const int MaximumQuantityVineGolem = 5; public const int MinimumQuantityPolygonGolem = 2; public const int MaximumQuantityPolygonGolem = 5; public const int MinimumQuantityLich = 2; public const int MaximumQuantityLich = 5; public const float RiftStartSpawningDelay = 1.5f; public const float RiftDelayBetweenSpawns = 1f; public const float BossTargetLockInPhaseDuration = 6f; public const float BossSearchForNewTargetLockInDuration = 6f; public const float PermaDeathInfoTime = 2f; public static int GetMinimumQuantityByEnemyID(EnemyID id) { switch (id) { case EnemyID.AngrySkelly: return MinimumQuantityAngrySkelly; case EnemyID.SkellyMage: return MinimumQuantitySkellyMage; case EnemyID.VineGolem: return MinimumQuantityVineGolem; case EnemyID.PolygonGolem: return MinimumQuantityPolygonGolem; case EnemyID.Lich: return MinimumQuantityLich; case EnemyID.Count: return 0; default: return 0; } } public static int GetMaximumQuantityByEnemyID(EnemyID id) { switch (id) { case EnemyID.AngrySkelly: return MaximumQuantityAngrySkelly; case EnemyID.SkellyMage: return MaximumQuantitySkellyMage; case EnemyID.VineGolem: return MaximumQuantityVineGolem; case EnemyID.PolygonGolem: return MaximumQuantityPolygonGolem; case EnemyID.Lich: return MaximumQuantityLich; case EnemyID.Count: return 0; default: return 0; } } } [System.Serializable] public static class EnemySpawning { [System.Serializable] 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 const byte JobSelection = 112; public const byte CancelChangeLevelVoted = 114; public const byte ChangeLevelVoted = 115; public const byte LoadLevelStarting = 116; #endregion } public static class NetworkPropertyKeys { public const string AvailableJobsKey = "availableJobs"; } public static class Sizes { public const int TotalEquipmentSlots = 6; public const int TotalInventorySlots = 18; } public static class Scenes { public const string HuntersInn = "4-RiftHuntersInn"; public const string Skellyard = "4-Skellyard"; public const 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; } } }