Пример #1
0
        private void OnTriggerEnter(Collider other)
        {
            CharacterStats playerStats = other.GetComponent <CharacterStats>();

            if (playerStats != null)
            {
                playerStats.TakeDamage(damage);
            }
        }
Пример #2
0
        public void HandleAlchemicalSkill(CharacterStats targetStats, SkillAbstract skillScript)
        {
            switch (skillScript.skill.type)
            {
            case SkillType.Fire:
                int fireDamage = (int)skillScript.alchemicalDamage.Value - (int)targetStats.fireResistance.Value;
                targetStats.TakeDamage(fireDamage);
                break;

            case SkillType.Water:
                int WaterDamage = (int)skillScript.alchemicalDamage.Value - (int)targetStats.waterResistance.Value;
                targetStats.TakeDamage(WaterDamage);
                break;

            case SkillType.Chill:
                int ChillDamage = (int)skillScript.alchemicalDamage.Value - (int)targetStats.waterResistance.Value;
                targetStats.TakeDamage(ChillDamage);
                break;
            }
        }
Пример #3
0
        public void PhyiscalAttack(GameObject targetCharacter)
        {
            CharacterStats targetStats      = targetCharacter.GetComponent <CharacterStats>();
            DamageStruct   outputDamage     = ComputeDamage();
            int            damageDeltNormal = outputDamage.normal - (int)targetStats.armor.Value;
            int            damageDeltPierce = outputDamage.pierce;
            int            damageDeltFire   = outputDamage.fire - (int)targetStats.fireResistance.Value;
            int            damageDeltWater  = outputDamage.water - (int)targetStats.waterResistance.Value;
            int            damageDeltShock  = outputDamage.shock - (int)targetStats.shockResistance.Value;
            int            damageDeltPoison = outputDamage.poison - (int)targetStats.poisonResistance.Value;

            int totalDamage = damageDeltPierce + damageDeltPoison + damageDeltNormal + damageDeltWater + damageDeltFire + damageDeltShock;

            totalDamage = totalDamage > 0 ? totalDamage: 0;
            targetStats.TakeDamage(totalDamage);
        }