예제 #1
0
 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));
 }
예제 #2
0
        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);
        }