public void TakeDamage(AiStatus aiStatus, SpellArchetype spellArchetype) { int finalDamage = 0; int resistance = 0; // switch (aiStatus) { case AiStatus.Physical: resistance = PhysicalResistance; finalDamage = spellArchetype.DamageToEnemy - PhysicalResistance; _aIPriest.healthAmount -= finalDamage; break; case AiStatus.Fear: finalDamage = 0; break; case AiStatus.MentalHealth: resistance = MentalHealthResistance; finalDamage = spellArchetype.DamageToEnemy - MentalHealthResistance; _aIPriest.MentalHealthAmount += finalDamage; break; case AiStatus.Lonelyness: finalDamage = 0; break; case AiStatus.IntestineStatus: finalDamage = 0; break; } CanvasDamage canvasDamage = Instantiate(_gameSettings.CanvasDamagePrefab, spawnPointCanvas.transform.position, new Quaternion()); canvasDamage.SetupCanvasDamage(aiStatus, finalDamage, resistance); UpdateLifeBars(); if (_aIPriest.healthAmount <= 0) { _aIPriest.Die(1); } else if (_aIPriest.MentalHealthAmount >= _aIPriest.MentalHealthMaxAmount) { _aIPriest.Die(0); } }
public void SetupCanvasDamage(AiStatus aiStatus, int DamageAmount, int resistance) { Sanity.SetActive(false); Physical.SetActive(false); resistanceText.text = ""; text.text = ""; if (aiStatus == AiStatus.MentalHealth) { Sanity.SetActive(true); text.text = "+" + DamageAmount; } else if (aiStatus == AiStatus.Physical) { Physical.SetActive(true); text.text = "-" + DamageAmount; } if (resistance > 0) { resistanceText.text = "Res " + resistance; } }