Example #1
0
        public override void SpecialHit(int oponId)
        {
            Util.Abstract.Soldier enemy = _player.GetOpponent().GetSoldiers().Where(s => s.Id == oponId).ElementAt(0);
            GridManager.instance.Special.onClick.RemoveAllListeners();
            photonView.RPC("MageSpecial", PhotonTargets.Others);

            if (IsAttacking || !SkillBar.DecSkillPoints(30))
            {
                return;
            }
            FloatingText.Show("Special!!!", "PlayerSpecialText",
                              new FromWorldPointTextPositioner(Camera.main, transform.position, 2f, 60f));

            int damage = CalHit();

            if (CheckIfCritical())
            {
                damage *= CriticalHit;
            }
            damage *= SpecialHitParameter;

            enemy.photonView.RPC("AtkDamage", PhotonTargets.All, damage);
            enemy.photonView.RPC("StopHitAni", PhotonTargets.All);
            photonView.RPC("EndAtkAni", PhotonTargets.All);
            if (!enemy.GetHealth().IsAlive())
            {
                enemy.photonView.RPC("Die", PhotonTargets.All);
            }
        }
Example #2
0
 public void MageSpecial()
 {
     if (IsAttacking || !SkillBar.DecSkillPoints(30))
     {
         return;
     }
     FloatingText.Show("Special!!!", "PlayerSpecialText",
                       new FromWorldPointTextPositioner(Camera.main, transform.position, 2f, 60f));
 }