private void GetStatsBack(Pokemon pokemon, PlayerPokemonData data) { data.isCaptured = pokemon.isCaptured; data.nickName = pokemon.nickName; data.isFromTrade = pokemon.isFromTrade; data.level = pokemon.level; data.gender = pokemon.gender; data.nature = pokemon.nature; data.curHP = pokemon.maxHP; data.hpEV = pokemon.hpEV; data.atkEV = pokemon.atkEV; data.defEV = pokemon.defEV; data.spatkEV = pokemon.spatkEV; data.spdefEV = pokemon.spdefEV; data.spdEV = pokemon.spdEV; data.hpIV = pokemon.hpIV; data.atkIV = pokemon.atkIV; data.defIV = pokemon.defIV; data.spatkIV = pokemon.spatkIV; data.spdefIV = pokemon.spdefIV; data.spdIV = pokemon.spdIV; data.currentEXP = pokemon.currentEXP; data.MovesToLearnNames = pokemon.MovesToLearnNames; data.KnownMovesNames = pokemon.KnownMovesNames; //string equippedItem = data.equippedItem.name; data.origin = pokemon.origin; }
private IEnumerator TryToCatch(Collision col) { Pokemon thisPokemon = col.gameObject.GetComponent <Pokemon>(); audio.PlayOneShot(attemptingCapture); animation["Trying_To_Catch"].speed = 2; animation.Play("Trying_To_Catch"); yield return(new WaitForSeconds(attemptingCapture.length + 1)); bool tryToCapture = calculateCaptureScript.AttemptCapture(thisPokemon, thisPokeBallType); if (tryToCapture) { thisPokemon.isCaptured = true; thisPokemon.trainersName = thisPlayer.playersName; Pokemon temp = thisPokemon; PlayerPokemonData dataHolderPokemon = new PlayerPokemonData(temp.isCaptured, temp.pokemonName, temp.nickName, temp.isFromTrade, temp.level, temp.gender, temp.nature, temp.curHP, temp.hpEV, temp.atkEV, temp.defEV, temp.spatkEV, temp.spdefEV, temp.spdEV, temp.hpIV, temp.atkIV, temp.defIV, temp.spatkIV, temp.spdefIV, temp.spdIV, temp.currentEXP, temp.MovesToLearnNames, temp.KnownMovesNames, temp.equippedItem.name, temp.origin); if (thisPlayer.pokemonRoster.pokemonRoster.Count < 6) { thisPlayer.pokemonRoster.pokemonRoster.Add(dataHolderPokemon); } else { thisPlayer.pokemonInventory.pokemonInventory.Add(dataHolderPokemon); } thisPokemon.isCaptured = false; thisPokemon.SetDead(); audio.PlayOneShot(captureSuccess); yield return(new WaitForSeconds(captureSuccess.length)); } else { animation["Open_Top"].speed = 5; animation.Play("Open_Top"); audio.PlayOneShot(captureFail); yield return(new WaitForSeconds(animation["Open_Top"].length)); // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! // Code goes here to change the Pokemon back from red. col.gameObject.SetActive(true); col.gameObject.GetComponent <Animation>().enabled = true; animation["Close_Top"].speed = -5f; animation["Close_Top"].time = animation["Close_Top"].length; animation.Play("Close_Top"); yield return(new WaitForSeconds(captureFail.length)); } PhotonNetwork.Destroy(gameObject); yield return(null); }
private void HandOverStats(Pokemon pokemon, PlayerPokemonData data) { bool isCaptured = data.isCaptured; int trainerID = GetComponent <PhotonView>().viewID; string trainersName = GetComponent <PlayerCharacter>().playersName; string nickName = data.nickName; bool isFromTrade = data.isFromTrade; int level = data.level; int gender = (int)data.gender; int nature = (int)data.nature; int curHP = data.curHP; int hpEV = data.hpEV; int atkEV = data.atkEV; int defEV = data.defEV; int spatkEV = data.spatkEV; int spdefEV = data.spdefEV; int spdEV = data.spdEV; int hpIV = data.hpIV; int atkIV = data.atkIV; int defIV = data.defIV; int spatkIV = data.spatkIV; int spdefIV = data.spdefIV; int spdIV = data.spdIV; int curEXP = data.currentEXP; string[] MovesToLearnNames = new string[data.MovesToLearnNames.Count]; for (int i = 0; i < data.MovesToLearnNames.Count; i++) { MovesToLearnNames[i] = data.MovesToLearnNames[i]; } string[] KnownMovesNames = new string[data.KnownMovesNames.Count]; for (int i = 0; i < data.KnownMovesNames.Count; i++) { KnownMovesNames[i] = data.KnownMovesNames[i]; } //string equippedItem = data.equippedItem.name; int origin = data.origin; int pokemonID = pokemon.gameObject.GetComponent <PhotonView>().viewID; GetComponent <PhotonView>().RPC("NetworkStats", PhotonTargets.AllBuffered, isCaptured, trainerID, trainersName, nickName, isFromTrade, level, gender, nature, curHP, hpEV, atkEV, defEV, spatkEV, spdefEV, spdEV, hpIV, atkIV, defIV, spatkIV, spdefIV, spdIV, curEXP, MovesToLearnNames, KnownMovesNames, origin, pokemonID); }
public IEnumerator PokemonGo(PlayerPokemonData data) { anim.SetBool("ThrowPokemonBall", true); yield return(new WaitForSeconds(0.10f)); CreatePokemonBall(); while (Vector3.Distance(transform.position, pokemonBall.transform.position) < 5.0f) { yield return(null); } pokemonBall.rigidbody.velocity = Vector3.zero; pokemonBall.transform.LookAt(transform.forward); OpenBall(); pokemonBall.audio.PlayOneShot(pokemonOut); yield return(new WaitForSeconds(pokemonOut.length)); float current_terrain_height = Terrain.activeTerrain.SampleHeight(pokemonBall.transform.position); Vector3 here = new Vector3(pokemonBall.transform.position.x, current_terrain_height, pokemonBall.transform.position.z); GameObject pokemon = PhotonNetwork.Instantiate(data.pokemonName.ToString(), here, Quaternion.identity, 0) as GameObject; pokemon.GetComponent <WildPokemonAI>().enabled = false; CloseBall(); while (Vector3.Distance(pokemonBall.transform.position, grip.transform.position) > 1f) { pokemonBall.transform.position = Vector3.Lerp(pokemonBall.transform.position, grip.transform.position, 5f * Time.deltaTime); yield return(null); } pokemonBall.transform.parent = grip.transform; pokemonBall.transform.position = grip.transform.position; pokemonBall.transform.rotation = grip.transform.rotation; pokemonBall.SetActive(false); HandOverStats(pokemon.GetComponent <Pokemon>(), data); pokemon.GetComponent <Pokemon>().SetupSetupPokemon(); pokemon.GetComponent <PokemonInput>().myCamera = GetComponent <PlayerInput>().myCamera; int poke = pokemon.GetComponent <PhotonView>().viewID; GetComponent <PhotonView>().RPC("SetActivePokemon", PhotonTargets.AllBuffered, poke); input.throwingPokeBall = false; yield return(null); }