private void HitOpponent(Collider2D otherPlayer, string rival) { if (otherPlayer.tag == rival) { rivalCharacter = otherPlayer.gameObject.GetComponent <CharacterFeatures>(); float attackValue = currentCharacter.DoDamage() * CurrentFightStats.GetDamage(); ///Moves hit character rivalCharacter.HitDone(); switch (currentCharacter.GetIsFlipped()) { case true: otherPlayer.gameObject.GetComponent <Rigidbody2D>().velocity = Vector2.left * 40f; break; case false: otherPlayer.gameObject.GetComponent <Rigidbody2D>().velocity = Vector2.right * 40f; break; } if (rivalCharacter.GetIsBlocking()) { rivalSoundEffect.PlayCharacterSoundEffect("Block"); rivalCharacter.TakeDamage(attackValue / 4); PlayBlockAnimation(); blockSprite.GetComponent <BlockBehaviour>().ActivateBlockSprite(otherPlayer.gameObject.GetComponent <BoxCollider2D>(), rivalCharacter.GetIsFlipped()); } else { rivalSoundEffect.PlayCharacterSoundEffect("Hit"); rivalCharacter.TakeDamage(attackValue); PlayHitAnimation(); hitSparks.GetComponent <SparksBehaviour>().ActivateHitSparks(gameObject.GetComponent <BoxCollider2D>().bounds.center); } } }