private void OnTriggerEnter(Collider other) { CharacterStats playerStats = other.GetComponent <CharacterStats>(); if (playerStats != null) { playerStats.TakeDamage(damage); } }
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; } }
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); }