示例#1
0
    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);
        }
    }
示例#2
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;
        }
    }