protected override void DoEffect(PlayerController user) { AkSoundEngine.PostEvent("Play_BOSS_bulletbros_anger_01", base.gameObject); GameManager.Instance.StartCoroutine(SpawnMimic(user)); GameManager.Instance.StartCoroutine(SpawnMimic(user)); if (LastOwner.HasMTGConsoleID("mimic_tooth_necklace")) //Extra mimic { GameManager.Instance.StartCoroutine(SpawnMimic(user)); } //StartCoroutine(ItemBuilder.HandleDuration(this, 2f, user, null)); }
private void DetonateDrone() { Vector2 position = extant_drone.GetComponent <tk2dSprite>().WorldCenter; var defaultExplosion = GameManager.Instance.Dungeon.sharedSettingsPrefab.DefaultExplosionData; explosionData.effect = defaultExplosion.effect; explosionData.ignoreList = defaultExplosion.ignoreList; if (LastOwner.HasMTGConsoleID("remote_bullets") || LastOwner.HasMTGConsoleID("3rd_party_controller")) //remote bullets = x2 damage { explosionData.damage = 100f; } else { explosionData.damage = 50f; } if (LastOwner.HasMTGConsoleID("air_strike")) //air strike = +4 'splosions { for (int i = -1; i <= 1; i++) { for (int j = -1; j <= 1; j++) { if (Mathf.Abs(i) + Mathf.Abs(j) == 1) { Exploder.Explode(position + new Vector2(i * 3f, j * 3f), explosionData, Vector2.zero); } } } } if (LastOwner.HasMTGConsoleID("napalm_strike")) //napalm strike = fire circle { DoNapalmSynergy(position); } Exploder.Explode(position, explosionData, Vector2.zero); GameObject.Destroy(extant_drone); }