public void HandleEnemyAttack(object sender, CombatEventArgs e) { int enemyType = e.CombatLvl; GameObject Attacker = sender as GameObject; npcCombat enemyAI = Attacker.GetComponent <npcCombat> (); if (isBlocking) { if (enemyType == 1) { //Blocks attack and returns KB BlkReceiver(this, new CombatEventArgs(BlkRecoil, Vector3.zero, 0, false, 0)); Debug.Log("Attack blocked"); } else if (enemyType == 2) { Debug.Log("Block negated"); varHealth -= e.Dmg; Debug.Log(varHealth); StartCoroutine(damageEffect()); kbForce = 1.5f * e.Force; dealKnockback = true; P1 = transform.position; P2 = P1 + kbForce; deltaP = Vector2.Distance(P2, P1); Debug.Log(kbForce); } } else if (!isBlocking) { varHealth -= e.Dmg; Debug.Log(varHealth); StartCoroutine(damageEffect()); kbForce = e.Force; dealKnockback = true; P1 = transform.position; P2 = P1 + kbForce; deltaP = Vector2.Distance(P2, P1); Debug.Log(kbForce); } //Ignites player if attacked by on fire enemy if (e.TorchMod) { Debug.Log("Player set on fire"); onFire = true; StartCoroutine(ignitePlayer(enemyAI)); } }
public void readyBoss() { //Readying Boss brawlComponent = BrawlerBoss.AddComponent <npcCombat> (); brawlComponent.DmgReceiver_NPCSide += PvERef.HandleEnemyAttack; brawlComponent.brawlTier = 2; brawlComponent.chaseSpeed = 3.2f; bossLog = BrawlerBoss.AddComponent <bossStatusLog> (); brawlComponent.statusRef = bossLog; Debug.Log("Boss Activated"); }
private IEnumerator ignitePlayer(npcCombat spriteHolder) { GameObject Flame = new GameObject(); Flame.transform.SetParent(transform); Flame.transform.localPosition = Vector3.zero; Flame.transform.localScale = new Vector3(1, 1, 0); Sprite flameSprite = spriteHolder.flameSprite; SpriteRenderer sRenderer = Flame.AddComponent <SpriteRenderer> (); sRenderer.sprite = flameSprite; sRenderer.sortingOrder = 1; Debug.Log("Player ignited"); yield return(new WaitForSeconds(burnTimeLimit)); Debug.Log("Player burned; burn time reached"); Messenger <int> .Broadcast("finalEventType", 2); yield break; }
public void newBrawler() { //Spawning new Brawlers brawlerIndex++; if (brawlerIndex < Brawlers.Length) { float zoomRatio = ((float)(brawlerIndex + 1) / (float)Brawlers.Length); Debug.Log(zoomRatio); playerView.orthographicSize = 4 - zoomRatio; activeBrawler = Brawlers [brawlerIndex].gameObject; brawlComponent = activeBrawler.AddComponent <npcCombat> (); brawlComponent.DmgReceiver_NPCSide += PvERef.HandleEnemyAttack; brawlComponent.isTracking = true; brawlComponent.Target = Player; brawlComponent.brawlTier = 1; Debug.Log("New Brawler Activated"); } else { Debug.Log("All Brawlers have been defeated"); } }