void Start() { HillockComum = gameObject.GetComponentInParent <Inimigo>(); player = GameObject.FindGameObjectWithTag(TagsUtils.PLAYER); _cdwAtaq = 0; podeAtacar = false; }
private void AtacarComShuriken(Inimigo alvo) { if (Input.GetKeyDown(KeyCode.Q)) { Spawnarshuriken(); } }
public void CalculateTotalEnemyDMG(BaseAction usedAction, Inimigo inim) { totalActionDMG = 0; inimigoAgindo = inim; enemyusedAction = usedAction; totalActionDMG = (int)CalculateEnemyActionDMG(); totalCriticalDMG = CalculateEnemyCriticalDMG(); totalEffectDMG = CalculateStatusEffectDMG(); totalEnemyDMG = totalActionDMG + totalCriticalDMG + totalEffectDMG; totalEnemyDMG = calculatePlayerResistance(); totalEnemyDMG += (int)(Random.Range(-(totalEnemyDMG * dmgVariator), totalEnemyDMG * dmgVariator)); if (DecidirEvasion()) //se Aila desviou... { totalEnemyDMG = 0; BattleHandler.turnLogText = "Aila desviou do ataque"; } else if (foicriticoInim) //se não desviou, e na verdade tomou um crítico.... { BattleHandler.turnLogText = "Ouch! um crítico inimigo! Causou " + totalEnemyDMG + " de dano!"; } else //se nenhum destes ocorreu, então foi dano normal { BattleHandler.turnLogText = "Causou " + totalEnemyDMG + " de dano"; } BattleHandler.waitActive = true; GameInformation.AilaPVatual -= (int)totalEnemyDMG; }
public void Ice_Block(Vector2 pos, Vector2 dir, float tempo, float dano) { RaycastHit2D r = Physics2D.Raycast(pos, dir); if (r.transform != null) { Quimica qui = r.transform.GetComponent <Quimica>(); if (qui != null) { qui.humidade = 1; } Inimigo i = r.transform.gameObject.GetComponent <Inimigo>(); if (i != null) { Rigidbody2D b = r.transform.gameObject.GetComponent <Rigidbody2D>(); b.constraints = RigidbodyConstraints2D.FreezeAll; b.velocity = Vector2.zero; b.angularVelocity = 0; Instantiate(Gelo, r.transform); i.descongelar(tempo); i.vida -= dano;//Causar Dano } } }
private float dmgVariator = 0.05f; // 5% public void CalculateTotalPlayerDMG(BaseAction usedAction, Inimigo inimAlvo) { totalActionDMG = 0; playerusedAction = usedAction; Debug.Log("Aila usou " + usedAction.ActionName); totalActionDMG = (int)CalculateActionDMG(); totalCriticalDMG = CalculateCriticalDMG(); totalEffectDMG = CalculateStatusEffectDMG(); totalPlayerDMG = totalActionDMG + totalCriticalDMG + totalEffectDMG; //Dano combinado do ataque em si, + o crítico, mais o status. totalPlayerDMG = calculateEnemyResistance(inimAlvo); totalPlayerDMG += (int)(Random.Range(-(totalPlayerDMG * dmgVariator), totalPlayerDMG * dmgVariator)); // adiciona uma variaçãod e 5% entre danos, afinal raramente um ataque de uma mesma pessoa causa exatamente o mesmo dano inimAlvo.TakeDamage((int)totalPlayerDMG, totalStunDMG); //Chama o método de tomar dano dentro do script do inimigo alvo BattleHandler.jogadorTerminouTurno = true; if (foicritico) { BattleHandler.turnLogText = "Uau! Um golpe crítico! Causou " + totalPlayerDMG + " de dano!"; } else { BattleHandler.turnLogText = "Causou " + totalPlayerDMG + " de dano"; } BattleHandler.waitActive = true; }
IEnumerator GeraInimigos() { yield return(new WaitForSeconds(espera)); while (true) { Vector3 posicaoInimigo = new Vector3(Random.Range(-limitesInimigo.x, limitesInimigo.x), limitesInimigo.y, 0); Inimigo inimigoObject = Instantiate(inimigo, posicaoInimigo, Quaternion.identity) as Inimigo; Rigidbody2D inimigoRB = inimigoObject.GetComponent <Rigidbody2D> (); if (gravidadeInimigo == 0) { gravidadeInimigo = inimigoRB.gravityScale; } inimigoRB.gravityScale = gravidadeInimigo; yield return(new WaitForSeconds(intervaloInimigo)); if (fimJogo) { yield return(new WaitForSeconds(espera)); textoFimJogo.text = "GAME OVER"; textoReinicio.text = "Aperte a tecla X para reiniciar"; reinicio = true; break; } } }
private void NovoInimigo() { int aleatorio = UnityEngine.Random.Range(1, 6); Inimigo slime = new Inimigo("Slime", "FOR", 2, 1, 2, 1, 1); Inimigo goblin = new Inimigo("Goblin", "FOR", 2, 1, 2, 1, 2); Inimigo orc = new Inimigo("Orc", "FOR", 3, 1, 2, 3, 1); Inimigo spellcaster = new Inimigo("Spellcaster", "INT", 1, 4, 1, 2, 2); Inimigo lich = new Inimigo("Lich", "INT", 1, 7, 1, 1, 3); switch (aleatorio) { case 1: inimigoAtual = slime; break; case 2: inimigoAtual = goblin; break; case 3: inimigoAtual = orc; break; case 4: inimigoAtual = spellcaster; break; case 5: inimigoAtual = lich; break; } }
private void OnCollisionEnter2D(Collision2D outro) { if (outro.gameObject.tag == "Inimigo") //Verifica se se chocou com um inimigo. { Inimigo inimigo = outro.gameObject.GetComponent <Inimigo>(); if (state == State.caindo) //Se ele se chocou enquanto pulava, então destroi o inimigo e pula novamente. { inimigo.TriggerMorte(); ForçaPulo += 5f; Pular(); ForçaPulo = 30f; } else //Se não, vai para o estado "ferido" e aciona a animação de ferida, além de perder uma vida { levoudano.Play(); state = State.ferido; vida -= 1; vidaText.text = vida.ToString(); if (outro.gameObject.transform.position.x > transform.position.x) //Empurra para a esquerda ou direita { rb.velocity = new Vector2(-ForçaDano, rb.velocity.y); } else { rb.velocity = new Vector2(ForçaDano, rb.velocity.y); } if (vida <= 0) //Se a vida chegar a 0, reinicia a fase { SceneManager.LoadScene(3); } } } }//Função que manipula a relação com os inimigos
/// <summary> /// Cria os inimigos e os posiciona na tela /// </summary> public void criarInimigos() { //Limpar inimigos atuais inimigos.Clear(); //Criar Inimigos XMLinimigos = new XmlDocument(); CustomText xml = principal.Content.Load <CustomText>(caminho + "_Inimigos"); XMLinimigos.LoadXml(xml.SourceCode); for (int i = 0; i < XMLinimigos.DocumentElement.ChildNodes.Count; i++) { String texturaItem = XMLinimigos.DocumentElement.ChildNodes[i].Attributes["sprite"].Value; int X = int.Parse(XMLinimigos.DocumentElement.ChildNodes[i].Attributes["x"].Value); int Y = int.Parse(XMLinimigos.DocumentElement.ChildNodes[i].Attributes["y"].Value); float velocidade = float.Parse(XMLinimigos.DocumentElement.ChildNodes[i].Attributes["velocidade"].Value); Inimigo novoInimigo = new Inimigo(principal, new Vector2(X * Tile.Dimensoes.X, Y * Tile.Dimensoes.Y) - new Vector2(0, 1), velocidade, texturaItem); novoInimigo.EsperaMax = float.Parse(XMLinimigos.DocumentElement.ChildNodes[i].Attributes["espera"].Value); novoInimigo.Initialize(); novoInimigo.LoadContent(principal.Content); inimigos.Add(novoInimigo); } }
static void Main() { Jogador.iniciar("Otávio"); // acessa-se pela própria classe. Só é possível um jogador? Jogador.Info(); Inimigo i1 = new Inimigo("Doido"); Inimigo i2 = new Inimigo("Maluco"); Inimigo i3 = new Inimigo("Pirado"); // i1.alerta = true; // dá certo quando alerta não é static Inimigo.alerta = true; // muda pela classe pois agora coloquei alerta como static i1.nome = "oi"; // pode pois nome não é estático i1.info(); i2.info(); i3.info(); }
IEnumerator Disparar() { RaycastHit2D hitInfo = Physics2D.Raycast(pontoLaser.position, pontoLaser.right); if (hitInfo) { Debug.Log(hitInfo.transform.name); Inimigo inimigo = hitInfo.transform.GetComponent <Inimigo>(); if (inimigo != null) { GameObject explode = Instantiate(explosao, hitInfo.point, Quaternion.identity) as GameObject; Destroy(explode, 1.0f); inimigo.TomaDano(dano); } linha.SetPosition(0, pontoLaser.position); linha.SetPosition(1, hitInfo.point); } else { linha.SetPosition(0, pontoLaser.position); linha.SetPosition(1, pontoLaser.position + pontoLaser.right * 100); } linha.enabled = true; yield return(0); linha.enabled = false; }
public float GetEnemyActionAffinity(StatType statAff, Inimigo inim) { float Affnitymodifier = 0.20f; if (statAff == StatType.PODER) { return(inim.poder * Affnitymodifier); } if (statAff == StatType.IMAGINACAO) { return(inim.imaginacao * Affnitymodifier); } if (statAff == StatType.RESISTENCIA) { return(inim.resistencia * Affnitymodifier); } if (statAff == StatType.DETERMINACAO) { return(inim.determinacao * Affnitymodifier); } if (statAff == StatType.SORTE) { return(inim.sorte * Affnitymodifier); } return(1); }
void OnTriggerEnter2D(Collider2D enemy) { e = enemy.GetComponent <Inimigo>(); if (e != null) { e.Kill(); } }
//Função chamada depois que foi gerado protected override void _GeradoConfig(Node2D gerado, Node2D refe) { //Realiza a conexão com o sinal de Morte Inimigo inimigo = (Inimigo)gerado; inimigo.Connect("SinalMorte", this, nameof(_Apaga)); inimigo.Ref = refe; }
private void _SensorPeCorpoSaiu(Node corpo) { if (corpo is Inimigo) { Inimigo inimigo = (Inimigo)corpo; inimigo.Fisica = true; } }
private void Awake() { player = jogador.GetComponent <Player>(); inimigoScript = inimigo.GetComponent <Inimigo>(); animacao = this.GetComponent <Animator>(); audio = this.GetComponent <AudioSource>(); }
void OnTriggerEnter(Collider elementoColidido) { if (elementoColidido.CompareTag("Inimigo")) { Destroy(this.gameObject); Inimigo inimigo = elementoColidido.GetComponent <Inimigo> (); inimigo.RecebeDano(pontosDeDano); } }
// public bool isAwake = false; //public bool isAwake = false; void Start() { Player = GameObject.FindGameObjectWithTag("Player"); script = GetComponent <EnemyController>(); //awakeListener = Player.GetComponent<SphereCast>().awakeEnemies; //awakeListener.AddListener(WakeUp); enemyAI_ref = GetComponent <EnemyAI>(); inimigo = GetComponent <Inimigo>(); }
//chama quando ocorre uma colisão void OnTriggerEnter(Collider itemColidico) { if (itemColidico.CompareTag("Inimigo")) { Destroy(this.gameObject); Inimigo inimigo = itemColidico.GetComponent <Inimigo> (); inimigo.RecebeDano(dano); } }
void Update() { Inimigo alvo = EscolheAlvo(); if (alvo != null) { Atira(alvo); } }
private void OnTriggerEnter(Collider other) { if (other.CompareTag("Inimigo")) { Destroy(this.gameObject); //Destroy(other.gameObject); Inimigo inimigo = other.GetComponent <Inimigo>(); inimigo.RecebeDano(pontosDeDano); } }
private void Awake() { uIController = GetComponent <UIController>(); baralhoController = GetComponent <BaralhoController>(); player1 = new Jogador("Jogador ", baralhoController); player2 = new Inimigo("Inimigo ", baralhoController); primeiroJogador = player1; segundoJogador = player2; }
void Start() { Time.timeScale = 0; panelPause.SetActive(true); buttonItem.interactable = true; VidasExtras(); //crias os icones da via scriptInimigo = FindObjectOfType(typeof(Inimigo)) as Inimigo; scriptPlayer = FindObjectOfType(typeof(Player)) as Player; }
private void _SensorPeCorpoEntrou(Node corpo) { if (corpo is Inimigo) { Inimigo inimigo = (Inimigo)corpo; inimigo.Fisica = false; inimigo.Dano(); _forcaPulo = true; } }
private void OnTriggerEnter2D(Collider2D collision) { if (collision is BoxCollider2D && collision.gameObject.GetComponent <Inimigo>() != null) { Inimigo inimigo = collision.gameObject.GetComponent <Inimigo>(); print(inimigo); StartCoroutine(inimigo.DanoCaractere(danoCausado, 0f)); gameObject.SetActive(false); } }
protected override void bugDoNivel1() { // print(nivelDeEncontrado); //if(encontraveis[indiceDoProx-1].nivelFixo>1) //{ inimigoUC.X = new cCriature(encontraveis[indiceDoProx - 1].nome, (uint)encontraveis[indiceDoProx - 1].nivelFixo).criature(); //inimigoUC.X.cAtributos[0].Corrente = 1; IA = Inimigo.AddComponent <IA_inimigo>(); IA.remendoDeBug(); //} }
public void ReStart() { initCombat = player.GetComponent <iniciaCombate>(); InimigoGO = initCombat.vilao; playervida = player.GetComponent <Inimigo>(); BattleText.text = "Inicio de combate"; inimigo = InimigoGO.GetComponent <Inimigo>(); PlayerTurn(); }
void Start() { PodeAndar = false; PodeAtacar = false; estaAtacando = false; Hillock = gameObject.GetComponent <Hillock>(); HillockComum = gameObject.GetComponent <Inimigo>(); atackCollider.SetActive(false); player = GameObject.FindGameObjectWithTag(TagsUtils.PLAYER); cdwPulo = 0; }
// Update is called once per frame void Update() { if (VatualPorc == 0) { mob = GameObject.FindGameObjectWithTag("Player").GetComponent <iniciaCombate>().vilao.GetComponent <Inimigo>(); barra.fillAmount = 1; } vmax = mob.Getvidamax(); vatual = mob.Getvida(); VatualPorc = vatual / vmax; }
void Atira(Inimigo inimigo) { float tempoAtual = Time.time; if (tempoAtual > momentoDoUltimoDisparo + tempoDeRecarga) { momentoDoUltimoDisparo = tempoAtual; GameObject pontoDeDisparo = this.transform.Find ("CanhaoDaTorre/PontoDeDisparo").gameObject; Vector3 posicaoDoPontoDeDisparo = pontoDeDisparo.transform.position; GameObject projetil = (GameObject) Instantiate (projetilPrefab, posicaoDoPontoDeDisparo, Quaternion.identity); Missel missel = projetil.GetComponent<Missel>(); missel.DefineAlvo(inimigo); } }
void OnCollisionEnter2D(Collision2D col) { enemy = col.gameObject; e = enemy.GetComponent <Inimigo>(); if (e != null) { e.Damage(damage); // Debug.Log("") e.Stun(stunTime); } }
public void DefineAlvo(Inimigo inimigo) { alvo = inimigo; }
void Start() { _inimigo = GetComponent<Inimigo>(); }