private void OnBloodKill() { var chance = messageBaseChance * FindObjectOfType <BloodTracker>().GetMessageChanceAdjustment(); if (Random.value > chance) { return; } var message = new SwordMessage { Message = messages[Random.Range(0, messages.Count)], Duration = duration }; GameObject.FindWithTag("SwordSpeech").SendMessage("OnSwordMessage", message); }
public void OnDeath() { if (animator != null) { animator.SetTrigger("Die"); } if (src != null) { src.PlayOneShot(deathScream); } if (dead != null) { StartCoroutine(spawnDeadPrefab()); } if (!gameObject.CompareTag("Player")) { var parent = transform.parent; //TODO play anim death Destroy(parent != null ? parent.gameObject : gameObject, 0.25f); } else { var message = new SwordMessage { Message = "You have failed me.", Duration = 1f }; GameObject.FindWithTag("SwordSpeech").SendMessage("OnSwordMessage", message); playerMovement.canMove = false; playerPistol.canFire = false; playerMelee.canAttack = false; playerAbilities.canUseAbilites = false; FindObjectOfType <InGameCanvas>().PlayerHasDied(); } }