RiftMayhem/Assets/Scripts/Game/GameConstants.cs
Pedro Gomes 2773ef7d6e Player Death Update
- Players can now die (finally)
- Solo players have a single cheat death per scene (reviving automatically after the first death)
- group players have revive mechanic, where a player faints when his health gets to 0, creating a revive circle around him, other players can stand on it to revive him. if after x seconds they don't get revived they bleed out and stay perma death until scene changes or all players die
- Multiple VFX added using post processing for cheat death, fainting, reviving, and perma death events.
- stopped players from moving and pressing keys when dead
- enemies now change target if they try to attack a dead/fainted target.
2024-07-20 19:49:14 +01:00

108 lines
3.3 KiB
C#

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 class GameBalancing
{
public static int HealthIntoExperienceMultiplier = 1;
public static int MinimumNumberOfWavesPerRift = 3;
public static int MaximumNumberOfWavesPerRift = 5;
public static int MinimumQuantityIndex0 = 2;
public static int MaximumQuantityIndex0 = 5;
public static int MinimumQuantityIndex1 = 2;
public static int MaximumQuantityIndex1 = 5;
public static float RiftDelayBetweenSpawns = 1f;
public static float BossTargetLockInPhaseDuration = 6f;
public static float BossSearchForNewTargetLockInDuration = 6f;
public static float PermaDeathInfoTime = 2f;
}
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;
}
}