Esempio n. 1
0
 public virtual float rankThreat(ChessPieceBehaviour threat)
 {
     if (threat.containsModifier(Modifier.ModifierType.MUMMIES_CURSE))
     {
         return(.1f);
     }
     if (threat._name == "Medusa" && threat.suseptableToEffect(this.gameObject))
     {
         return(threat._attackMultiplier * 3f);
     }
     if (threat.suseptableToEffect(this.gameObject))
     {
         return(threat._attackMultiplier * 1.5f);
     }
     return(threat._attackMultiplier);
 }
Esempio n. 2
0
 public virtual void takeDamage(int damage, ChessPieceBehaviour attacker)
 {
     Cursor.SetCursor(GameState.Instance.GUI.GetComponent <GameplayGUI> ()._pickTexture, Vector2.zero, CursorMode.Auto);
     _currentHP -= damage;
     if (_currentHP < 1)
     {           //AIs piece was killed in an attack
         if (_owner == GameState.Instance.AIPlayer && GameState.Instance.CurrentPlayer == GameState.Instance.AIPlayer)
         {
             _AI_impaled = true;
         }
         death();
         if (!attacker._name.Equals("Hydra"))           //hydra makes multiple attacks and calls a victory check only once after all of them
         {
             GameState.Instance.checkForVictory();
             //if an AIs attacking piece is killed it should still do a second action if available.
             if (GameState.Instance.GUI.GetComponent <GameplayGUI>().CurrentState == GameplayGUI.PickingStates.PICK_MODE && _AI_impaled == true)
             {
                 _AI_impaled = false;
                 GameState.Instance.AIPlayer.doSecondAction();
             }
         }
     }
     else
     {
         anim.Play("Damaged");
         _soundEffect.PlayOneShot(_DamagedSound, .75f);
         _currentBehavior = behaviorStates.THREATENED;
         anim.SetBool(_threatHash, true);
         //hydra makes multiple attacks and the calls a victory check which sets the gui state, and kings in duel mode should stay in that mode
         if (!attacker._name.Equals("Hydra") &&
             GameState.Instance.GUI.GetComponent <GameplayGUI>().CurrentState != GameplayGUI.PickingStates.DUEL_MODE)
         {
             GameState.Instance.GUI.GetComponent <GameplayGUI>().CurrentState = GameplayGUI.PickingStates.PICK_MODE;
         }
     }
 }