Esempio n. 1
0
 public static PokemonAttackStats GetMoveData(PokemonMove move)
 {
     if (BasicMoves.ContainsKey(move))
     {
         return(BasicMoves[move]);
     }
     return(ChargedMoves.ContainsKey(move) ? ChargedMoves[move] : null);
 }
Esempio n. 2
0
    public void changeMoveStances(CombatStances newStance)
    {
        if (controlsScript.myInfo.currentCombatStance == newStance)
        {
            return;
        }
        foreach (MoveSetData moveSetData in controlsScript.myInfo.moves)
        {
            if (moveSetData.combatStance == newStance)
            {
                basicMoves  = moveSetData.basicMoves;
                attackMoves = moveSetData.attackMoves;
                //moves = moveSetData.attackMoves;

                GameObject opponent = GameObject.Find(gameObject.name);
                if (!opponent.Equals(gameObject) && opponent.name == gameObject.name)                  // Mirror Match Move cloning
                {
                    List <MoveInfo> moveList      = new List <MoveInfo>();
                    bool            alreadyCloned = false;
                    foreach (MoveInfo move in attackMoves)
                    {
                        if (move.name.IndexOf("(Clone)") != -1)
                        {
                            alreadyCloned = true;
                            break;
                        }
                        moveList.Add(Instantiate(move) as MoveInfo);
                    }
                    if (alreadyCloned)
                    {
                        moves = attackMoves;
                    }
                    else
                    {
                        moves = moveList.ToArray();
                    }
                }
                else
                {
                    moves = attackMoves;
                }

                fillMoves();

                if (moveSetData.cinematicIntro != null)
                {
                    intro = Instantiate(moveSetData.cinematicIntro) as MoveInfo;
                    attachAnimation(intro.animationClip, intro.name, intro.animationSpeed, intro.wrapMode);
                }
                if (moveSetData.cinematicOutro != null)
                {
                    outro = Instantiate(moveSetData.cinematicOutro) as MoveInfo;
                    attachAnimation(outro.animationClip, outro.name, outro.animationSpeed, outro.wrapMode);
                }

                controlsScript.myInfo.currentCombatStance = newStance;

                System.Array.Sort(moves, delegate(MoveInfo move1, MoveInfo move2) {
                    return(move1.buttonSequence.Length.CompareTo(move2.buttonSequence.Length));
                });
                System.Array.Reverse(moves);

                return;
            }
        }
    }