public static PokemonAttackStats GetMoveData(PokemonMove move) { if (BasicMoves.ContainsKey(move)) { return(BasicMoves[move]); } return(ChargedMoves.ContainsKey(move) ? ChargedMoves[move] : null); }
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; } } }