internal void HandleRoll(bool didSucceed, Game game) { if (actor != null) { if (didSucceed) { game.ExplodePosition(actor.gameObject.transform.position); Destroy(actor.gameObject); actor = null; game.canRun = false; RemoveRisk(); } else { if (game.armourHelp > 0) { game.armourHelp -= 1; } else { game.canRun = true; game.playerHealth -= 1; } } } if (pickup != null && !pickup.consumed && actor == null) { pickup.Consume(); game.ExplodePosition(pickup.gameObject.transform.position + new Vector3(0, 0.4f, 0.4f)); RemoveRisk(); if (pickup.isCurse) { if (!didSucceed) { pickup.ApplyPickupToPlayer(game); if (character != null) { character.SetFollow(game.player.transform); } } else { if (character != null) { Destroy(character.gameObject); character = null; } } } else { if (didSucceed) { pickup.ApplyPickupToPlayer(game); if (character != null) { character.SetFollow(game.player.transform); } game.PlayerCelebrate(); } else { if (character != null) { Destroy(character.gameObject); character = null; } } } if (character != null) { if ((didSucceed && !pickup.isCurse) || (!didSucceed && pickup.isCurse)) { character.SetFollow(game.player.transform); } else { Destroy(character.gameObject); character = null; } } } }