// Els buffs dels monstres duraran 60 segons private IEnumerator EliminarBuff(float time, string monstre, string playerName) { Unidad jugadorUnidad = GameObject.Find(playerName).GetComponent <Unidad>(); if (jugadorUnidad != null) { yield return(new WaitForSeconds(60)); switch (monstre) { case "Blue1": jugadorUnidad.SetManaRegen(jugadorUnidad.GetManaRegen() - 10); jugadorUnidad.SetMaxMana(jugadorUnidad.GetMaxMana() - 100); //netManager.b_Blue.gameObject.SetActive(false); break; case "Blue2": jugadorUnidad.SetManaRegen(jugadorUnidad.GetManaRegen() - 10); jugadorUnidad.SetMaxMana(jugadorUnidad.GetMaxMana() - 100); //netManager.b_Blue.gameObject.SetActive(false); break; case "Red1": jugadorUnidad.SetAtackDamage(jugadorUnidad.GetAtackDamage() - 70); jugadorUnidad.SetHealthRegen(jugadorUnidad.GetHealthRegen() - 10); //netManager.b_Red.gameObject.SetActive(false); break; case "Red2": jugadorUnidad.SetAtackDamage(jugadorUnidad.GetAtackDamage() - 70); jugadorUnidad.SetHealthRegen(jugadorUnidad.GetHealthRegen() - 10); //netManager.b_Red.gameObject.SetActive(false); break; case "Dragon": jugadorUnidad.SetAtackDamage(jugadorUnidad.GetAtackDamage() - 100); jugadorUnidad.SetAbilityPower(jugadorUnidad.GetAbilityPower() - 100); jugadorUnidad.SetAtackSpeed(jugadorUnidad.GetAtackSpeed() - 10); jugadorUnidad.SetMovementSpeed(jugadorUnidad.GetMovementSpeed() - 5); //netManager.b_Dragon.gameObject.SetActive(false); break; case "Baron": jugadorUnidad.SetArmour(jugadorUnidad.GetArmour() - 100); jugadorUnidad.SetMagicArmour(jugadorUnidad.GetMagicArmour() - 100); jugadorUnidad.SetManaRegen(jugadorUnidad.GetManaRegen() - 5); jugadorUnidad.SetHealthRegen(jugadorUnidad.GetHealthRegen() - 5); //netManager.b_Baron.gameObject.SetActive(true); //netManager.b_Baron.gameObject.SetActive(false); break; } } }
public void SetBuffNet(string monstre, string nomJugador) { GameObject gameObj = GameObject.Find(nomJugador); Unidad jugadorUnidad = gameObj.GetComponent <Unidad>(); if (jugadorUnidad != null) { switch (monstre) { /*Si un campió mata a aquesta unitat guanyarà un buff que * aportarà una bonificació a la regeneració del manà i la reducció * de refredament. Es troba en el camp 1. Dóna 150 d’or i 150 * d’experiència.*/ case "Blue1": jugadorUnidad.SetManaRegen(jugadorUnidad.GetManaRegen() + 10); jugadorUnidad.SetMaxMana(jugadorUnidad.GetMaxMana() + 100); //netManager.b_Blue.gameObject.SetActive(true); StartCoroutine(EliminarBuff(2f, monstre, nomJugador)); break; case "Blue2": jugadorUnidad.SetManaRegen(jugadorUnidad.GetManaRegen() + 10); jugadorUnidad.SetMaxMana(jugadorUnidad.GetMaxMana() + 100); //netManager.b_Blue.gameObject.SetActive(true); StartCoroutine(EliminarBuff(2f, monstre, nomJugador)); break; /*Si un campió mata a aquesta unitat guanyarà un buff que * aportarà una bonificació d’atac i regeneració de la vida. Es troba * en el camp 2. Dóna 150 d’or i 150 d’experiència.*/ case "Red1": jugadorUnidad.SetAtackDamage(jugadorUnidad.GetAtackDamage() + 70); jugadorUnidad.SetHealthRegen(jugadorUnidad.GetHealthRegen() + 10); //netManager.b_Red.gameObject.SetActive(true); StartCoroutine(EliminarBuff(2f, monstre, nomJugador)); break; case "Red2": jugadorUnidad.SetAtackDamage(jugadorUnidad.GetAtackDamage() + 70); jugadorUnidad.SetHealthRegen(jugadorUnidad.GetHealthRegen() + 10); //netManager.b_Red.gameObject.SetActive(true); StartCoroutine(EliminarBuff(2f, monstre, nomJugador)); break; /*Quan un campió acabi amb aquesta unitat tot el seu equip rebrà * una millora de totes les seves estadístiques. Es troba en el camp * gran 2. Dóna 400 d’or a tot l’equip i 500 d’experiència.*/ case "Dragon": jugadorUnidad.SetAtackDamage(jugadorUnidad.GetAtackDamage() + 100); jugadorUnidad.SetAbilityPower(jugadorUnidad.GetAbilityPower() + 100); jugadorUnidad.SetAtackSpeed(jugadorUnidad.GetAtackSpeed() + 10); jugadorUnidad.SetMovementSpeed(jugadorUnidad.GetMovementSpeed() + 5); //netManager.b_Dragon.gameObject.SetActive(true); StartCoroutine(EliminarBuff(2f, monstre, nomJugador)); break; /*Quan un campió acabi amb aquesta unitat tots els súbdits del * seu equip rebran millores de totes les seves estadístiques. Es * troba en el camp gran 1.Dóna 600 d’or a tot l’equip i 500 * d’experiència.*/ case "Baron": jugadorUnidad.SetArmour(jugadorUnidad.GetArmour() + 100); jugadorUnidad.SetMagicArmour(jugadorUnidad.GetMagicArmour() + 100); jugadorUnidad.SetManaRegen(jugadorUnidad.GetManaRegen() + 5); jugadorUnidad.SetHealthRegen(jugadorUnidad.GetHealthRegen() + 5); //netManager.b_Baron.gameObject.SetActive(true); StartCoroutine(EliminarBuff(2f, monstre, nomJugador)); break; } } }
// Use this for initialization void Start() { this.pv = GetComponent <PhotonView>(); this.netManager = GameObject.FindGameObjectWithTag("NetManager").GetComponent <NetManager>(); torresTagBlau = GameObject.FindGameObjectsWithTag("StructureBlau"); torresTagVermell = GameObject.FindGameObjectsWithTag("StructureVermell"); pdcTorresBlau = GameObject.FindGameObjectsWithTag("PDCTorreBlau"); pdcTorresVermell = GameObject.FindGameObjectsWithTag("PDCTorreVermell"); torresBlau = new bool[6] { true, true, true, true, true, true }; torresVermell = new bool[6] { true, true, true, true, true, true }; dragon = GameObject.FindGameObjectWithTag("Dragon"); baron = GameObject.FindGameObjectWithTag("Baron"); blue1 = GameObject.FindGameObjectWithTag("Blue1"); blue2 = GameObject.FindGameObjectWithTag("Blue2"); red1 = GameObject.FindGameObjectWithTag("Red1"); red2 = GameObject.FindGameObjectWithTag("Red2"); if (pv.isMine && unidad != null) { this.initialPos = this.gameObject.transform.position; this.initialRotation = this.gameObject.transform.rotation; // Si és campió llavors guardem l'element de text on es mostra l'or if (this.isChampion) { this.netManager.playerHUD.imgChamp.sprite = unidad.GetImage(); this.goldText = GameObject.FindGameObjectWithTag("Gold").GetComponent <Text>(); } // Estadístiques unitat this.unidad.Initialize(); this.abilityPower = unidad.GetAbilityPower(); this.armour = unidad.GetArmour(); this.magicArmour = unidad.GetMagicArmour(); this.atackDamage = unidad.GetAtackDamage(); this.atackSpeed = unidad.GetAtackSpeed(); this.experience = unidad.GetExperience(); this.health = unidad.GetHealth(); this.healthRegen = unidad.GetHealthRegen(); this.mana = unidad.GetMana(); this.manaRegen = unidad.GetManaRegen(); this.maxExperience = unidad.GetMaxExperience(); this.maxHealth = unidad.GetMaxHealth(); this.maxMana = unidad.GetMaxMana(); this.movementSpeed = unidad.GetMovementSpeed(); this.time = 0; this.playerInTerritory = false; // Barres de vida i manà if (this.playerHealthBar != null) { this.playerHealthBar.maxValue = this.maxHealth; // Vida this.playerHealthBar.value = this.health; // Vida } if (this.isChampion) { this.playerManaBar.value = this.maxMana; // Manà this.playerManaBar.maxValue = this.maxMana; // Manà } } }
public void LevelGold(string mort, string jugador) { GameObject goJugador = GameObject.Find(jugador); Unidad unJugador = goJugador.GetComponent <Unidad>(); GameObject[] playersList = GameObject.FindGameObjectsWithTag("Player"); switch (mort) { case "Champion": unJugador.SetGold(unJugador.GetGold() + 200); unJugador.SetExperience(unJugador.GetExperience() + 300); break; case "Torre": foreach (GameObject player in playersList) { CombatSystem cmbtPlayer = player.GetComponent <CombatSystem>(); Unidad uPlayer = player.GetComponent <Unidad>(); if (cmbtPlayer.GetTeam() == unJugador.GetCombatSystem().GetTeam()) { uPlayer.SetGold(unJugador.GetGold() + 300); uPlayer.SetExperience(unJugador.GetExperience() + 500); } } break; case "Blue": unJugador.SetGold(unJugador.GetGold() + 150); unJugador.SetExperience(unJugador.GetExperience() + 150); break; case "Red": unJugador.SetGold(unJugador.GetGold() + 150); unJugador.SetExperience(unJugador.GetExperience() + 150); break; case "Dragon": foreach (GameObject player in playersList) { CombatSystem cmbtPlayer = player.GetComponent <CombatSystem>(); Unidad uPlayer = player.GetComponent <Unidad>(); if (cmbtPlayer.GetTeam() == unJugador.GetCombatSystem().GetTeam()) { unJugador.SetGold(unJugador.GetGold() + 400); unJugador.SetExperience(unJugador.GetExperience() + 500); } } break; case "Baron": foreach (GameObject player in playersList) { CombatSystem cmbtPlayer = player.GetComponent <CombatSystem>(); Unidad uPlayer = player.GetComponent <Unidad>(); if (cmbtPlayer.GetTeam() == unJugador.GetCombatSystem().GetTeam()) { unJugador.SetGold(unJugador.GetGold() + 600); unJugador.SetExperience(unJugador.GetExperience() + 500); } } break; } if (unJugador.GetExperience() >= 500) { unJugador.SetLevel(unJugador.GetLevel() + 1); unJugador.SetExperience(unJugador.GetExperience() - 500); unJugador.SetMaxHealth(unJugador.GetMaxHealth() + 50); unJugador.SetMaxMana(unJugador.GetMaxMana() + 50); unJugador.SetHealthRegen(unJugador.GetHealthRegen() + 2); unJugador.SetManaRegen(unJugador.GetManaRegen() + 2); unJugador.SetAtackDamage(unJugador.GetAtackDamage() + 7); unJugador.SetAtackSpeed(unJugador.GetAtackSpeed() + 7); unJugador.SetAbilityPower(unJugador.GetAbilityPower() + 7); unJugador.SetArmour(unJugador.GetArmour() + 1); unJugador.SetMagicArmour(unJugador.GetMagicArmour() + 1); //this.netManager.experiencia.value = unJugador.GetExperience(); //this.netManager.nivell.text = unJugador.GetLevel().ToString(); } }
void OnTriggerEnter(Collider other) { Action action = other.gameObject.GetComponent <Action>(); if (action != null) { jugadorEnemic = action.GetJugador(); } else { if (other.gameObject.tag == "Arma") { jugadorEnemic = other.transform.root.gameObject.GetComponent <Unidad>(); bool execSkill = jugadorEnemic.GetComponent <Skill>().execSkill; if (execSkill) { this.gameObject.GetComponent <PhotonView>().RPC("ModifyHealth", PhotonTargets.All, -1 * jugadorEnemic.GetAtackDamage(), true, 1, this.gameObject.name); } } } if (other.gameObject != null && jugadorEnemic != null) { if (other.gameObject == jugadorEnemic.gameObject) { playerInTerritory = true; } } Unidad otherUnidad = other.gameObject.GetComponent <Unidad>(); if (otherUnidad != null) { //torre if (this.isTorre) { if (otherUnidad.GetCombatSystem().GetTeam() != this.team) { jugadorEnemic = otherUnidad; playerInTower = true; } } } }
public override void Comprar(Unidad champion) { champion.SetAtackDamage(champion.GetAtackDamage() + this.atackDamage); champion.SetGold(champion.GetGold() - this.price); }