Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 7 additions & 8 deletions ArchipelagoRandomizer/DeathManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ internal class DeathManager : MonoBehaviour

private DeathLinkService deathLinkService;
private DamageablePlayer damageable;
private UIMenuPauseController pauseController;
private readonly List<string> deathMessages =
[
"{name}'s last feather has fallen...",
Expand Down Expand Up @@ -91,6 +90,11 @@ private void OnDeathReceived(DeathLink deathLink)
private IEnumerator DoDeathReceived(DeathLink deathLink)
{
Logger.Log("Received death! You will die when next possible...");
while (!PlayerGlobal.instance)
{
// if Player doesn't exist yet
yield return null;
}
PlayerGlobal player = PlayerGlobal.instance;
preventDeath = true;

Expand All @@ -99,11 +103,6 @@ private IEnumerator DoDeathReceived(DeathLink deathLink)
damageable = player.GetComponent<DamageablePlayer>();
}

if (pauseController == null)
{
pauseController = FindObjectOfType<UIMenuPauseController>();
}

while (!CanDie())
{
yield return null;
Expand All @@ -112,8 +111,8 @@ private IEnumerator DoDeathReceived(DeathLink deathLink)
diedFromDeathLink = true;

// Apply damage instead of calling Die method to avoid issues
damageable.SetHealth(1);
damageable.ReceiveDamage(1, 0, player.transform.position, player.transform.position, Damageable.DamageType.Hole, 1);
damageable.SetHealth(1f);
damageable.ReceiveDamage(10f, 0, player.transform.position, player.transform.position, Damageable.DamageType.Hole, 1);
StartCoroutine(DeathCooldownTimer());
}

Expand Down