private IEnumerator Attack(Vector2 pointOnTarget)
            {
                base.aiActor.MovementSpeed = 0;
                isAttacking = true;
                base.aiAnimator.PlayUntilFinished("attack");

                yield return(new WaitForSeconds(0.33f));

                AkSoundEngine.PostEvent("Play_ENM_wizardred_shoot_01", base.gameObject);
                GameObject projobj = ProjSpawnHelper.SpawnProjectileTowardsPoint(DarkPrinceProjectile, base.sprite.WorldCenter, pointOnTarget);
                Projectile proj    = projobj.GetComponent <Projectile>();

                if (proj)
                {
                    proj.Owner   = Owner;
                    proj.Shooter = base.specRigidbody;

                    proj.baseData.damage      *= Owner.stats.GetStatValue(PlayerStats.StatType.Damage);
                    proj.baseData.speed       *= Owner.stats.GetStatValue(PlayerStats.StatType.ProjectileSpeed);
                    proj.baseData.range       *= Owner.stats.GetStatValue(PlayerStats.StatType.RangeMultiplier);
                    proj.baseData.force       *= Owner.stats.GetStatValue(PlayerStats.StatType.KnockbackMultiplier);
                    proj.BossDamageMultiplier *= Owner.stats.GetStatValue(PlayerStats.StatType.DamageToBosses);
                    proj.UpdateSpeed();
                    proj.ApplyCompanionModifierToBullet(Owner);
                    Owner.DoPostProcessProjectile(proj);
                }
                yield return(new WaitForSeconds(0.1f));

                base.aiActor.MovementSpeed = base.aiActor.BaseMovementSpeed;
                isAttacking = false;
                attackTimer = 2;
                yield break;
            }
        private IEnumerator GoodButterfingersEffect()
        {
            yield return(null);

            for (int i = 0; i < 6; i++)
            {
                GameObject ProjToSpawn = (PickupObjectDatabase.GetById(503) as Gun).DefaultModule.projectiles[0].gameObject;
                if (UnityEngine.Random.value <= 0.5f)
                {
                    ProjToSpawn = (PickupObjectDatabase.GetById(512) as Gun).DefaultModule.projectiles[0].gameObject;
                }
                GameObject spawnedShot = ProjSpawnHelper.SpawnProjectileTowardsPoint(ProjToSpawn, m_attachedPlayer.CenterPosition, m_attachedPlayer.unadjustedAimPoint, 0, 10, m_attachedPlayer);
                Projectile component   = spawnedShot.GetComponent <Projectile>();
                if (component != null)
                {
                    component.Owner            = m_attachedPlayer;
                    component.Shooter          = m_attachedPlayer.specRigidbody;
                    component.baseData.damage *= m_attachedPlayer.stats.GetStatValue(PlayerStats.StatType.Damage);
                    component.baseData.speed  *= m_attachedPlayer.stats.GetStatValue(PlayerStats.StatType.ProjectileSpeed);
                    component.baseData.force  *= m_attachedPlayer.stats.GetStatValue(PlayerStats.StatType.KnockbackMultiplier);
                    component.baseData.range  *= m_attachedPlayer.stats.GetStatValue(PlayerStats.StatType.RangeMultiplier);
                    m_attachedPlayer.DoPostProcessProjectile(component);
                }
                yield return(new WaitForSeconds(0.2f));
            }
            yield break;
        }
        protected override void DoEffect(PlayerController user)
        {
            int   amountOfBullets = storedProjectiles.Count();
            float direction       = UnityEngine.Random.insideUnitCircle.ToAngle();

            if (user.CurrentGun != null)
            {
                direction = user.CurrentGun.CurrentAngle;
            }

            for (int i = amountOfBullets - 1; i >= 0; i--)
            {
                float finaldir = ProjSpawnHelper.GetAccuracyAngled(direction, 25, user);

                GameObject prefab           = storedProjectiles[i].gameObject;
                GameObject spawnedBulletOBJ = SpawnManager.SpawnProjectile(prefab, user.sprite.WorldCenter, Quaternion.Euler(0f, 0f, finaldir), true);
                Projectile component        = spawnedBulletOBJ.GetComponent <Projectile>();
                if (component != null)
                {
                    component.Owner           = user;
                    component.Shooter         = user.specRigidbody;
                    component.baseData.speed *= UnityEngine.Random.Range(0.9f, 1.1f);
                }
                storedProjectiles.RemoveAt(i);
                Destroy(prefab);
            }
        }
Exemplo n.º 4
0
            private void TriggerShootBullet(float range, float speed, float overrideDamageMult = 1)
            {
                if (base.specRigidbody && Owner && Owner.CurrentGun)
                {
                    float      currentGunAngleVariance = Owner.CurrentGun.RawDefaultModule().angleVariance;
                    GameObject gameObject = ProjSpawnHelper.SpawnProjectileTowardsPoint(DroneCompanion.DroneCompanionProjectile.gameObject, base.specRigidbody.UnitBottomCenter, Owner.unadjustedAimPoint.XY(), 0, currentGunAngleVariance);
                    Projectile component  = gameObject.GetComponent <Projectile>();
                    if (component != null)
                    {
                        component.Owner   = Owner;
                        component.Shooter = base.specRigidbody;
                        //COMPANION SHIT
                        component.ApplyCompanionModifierToBullet(Owner);


                        component.TreatedAsNonProjectileForChallenge = true;
                        component.baseData.range             = range;
                        component.baseData.damage           *= overrideDamageMult;
                        component.baseData.damage           *= Owner.stats.GetStatValue(PlayerStats.StatType.Damage);
                        component.baseData.speed             = speed;
                        component.baseData.force            *= Owner.stats.GetStatValue(PlayerStats.StatType.KnockbackMultiplier);
                        component.AdditionalScaleMultiplier *= Owner.stats.GetStatValue(PlayerStats.StatType.PlayerBulletScale);
                        component.UpdateSpeed();
                        Owner.DoPostProcessProjectile(component);
                    }
                    if (Owner.PlayerHasActiveSynergy("Wrong Kind Of Drone") && UnityEngine.Random.value <= 0.2f)
                    {
                        FireBeeBullet();
                    }
                }
            }
Exemplo n.º 5
0
        private void DoProjectileSpawn()
        {
            Vector2 projectileSpawnPosition = this.m_basicBeam.GetPointOnBeam(UnityEngine.Random.value);
            Vector2 nearestEnemyPosition    = projectileSpawnPosition.GetPositionOfNearestEnemy(true, true);

            if (nearestEnemyPosition != Vector2.zero)
            {
                GameObject gameObject = ProjSpawnHelper.SpawnProjectileTowardsPoint(this.projectileToFire.gameObject, projectileSpawnPosition, nearestEnemyPosition, 0, 5);
                gameObject.AddComponent <BulletIsFromBeam>();
                Projectile component = gameObject.GetComponent <Projectile>();
                if (component != null)
                {
                    component.Owner = this.m_owner;
                    component.TreatedAsNonProjectileForChallenge = true;
                    component.Shooter            = this.m_owner.specRigidbody;
                    component.collidesWithPlayer = false;
                    if (this.addFromBulletWithGunComponent)
                    {
                        component.gameObject.GetOrAddComponent <BulletsWithGuns.BulletFromBulletWithGun>();
                    }
                    //Stats
                    if (this.doPostProcess)
                    {
                        component.baseData.damage           *= this.m_owner.stats.GetStatValue(PlayerStats.StatType.Damage);
                        component.baseData.speed            *= this.m_owner.stats.GetStatValue(PlayerStats.StatType.ProjectileSpeed);
                        component.baseData.range            *= this.m_owner.stats.GetStatValue(PlayerStats.StatType.RangeMultiplier);
                        component.AdditionalScaleMultiplier *= this.m_owner.stats.GetStatValue(PlayerStats.StatType.PlayerBulletScale);;
                        component.baseData.force            *= this.m_owner.stats.GetStatValue(PlayerStats.StatType.KnockbackMultiplier);
                        component.BossDamageMultiplier      *= this.m_owner.stats.GetStatValue(PlayerStats.StatType.DamageToBosses);
                        this.m_owner.DoPostProcessProjectile(component);
                    }
                }
            }
        }
Exemplo n.º 6
0
            private void FireBeeBullet()
            {
                Projectile projectile = ((Gun)ETGMod.Databases.Items[14]).DefaultModule.projectiles[0];
                GameObject gameObject = ProjSpawnHelper.SpawnProjectileTowardsPoint(projectile.gameObject, base.specRigidbody.UnitBottomCenter, Owner.unadjustedAimPoint.XY(), 0, 0);
                Projectile component  = gameObject.GetComponent <Projectile>();

                if (component != null)
                {
                    component.Owner   = Owner;
                    component.Shooter = base.specRigidbody;
                    Owner.DoPostProcessProjectile(component);
                }
            }
        private void Fire()
        {
            AkSoundEngine.PostEvent("Play_WPN_smileyrevolver_shot_01", gameObject);
            GameObject spawnedProj           = ProjSpawnHelper.SpawnProjectileTowardsPoint((PickupObjectDatabase.GetById(86) as Gun).DefaultModule.projectiles[0].gameObject, Owner.specRigidbody.UnitCenter, Owner.specRigidbody.UnitCenter.GetPositionOfNearestEnemy(true, true), 0, 20, Owner);
            Projectile spawnedProjectileComp = spawnedProj.GetComponent <Projectile>();

            spawnedProjectileComp.Owner            = Owner;
            spawnedProjectileComp.Shooter          = Owner.specRigidbody;
            spawnedProjectileComp.baseData.damage *= Owner.stats.GetStatValue(PlayerStats.StatType.Damage);
            spawnedProjectileComp.baseData.speed  *= Owner.stats.GetStatValue(PlayerStats.StatType.ProjectileSpeed);
            spawnedProjectileComp.baseData.range  *= Owner.stats.GetStatValue(PlayerStats.StatType.RangeMultiplier);
            spawnedProjectileComp.baseData.force  *= Owner.stats.GetStatValue(PlayerStats.StatType.KnockbackMultiplier);
            Owner.DoPostProcessProjectile(spawnedProjectileComp);
            spawnedProjectileComp.ApplyCompanionModifierToBullet(Owner);
        }
        private void FireBullet(PlayerController Owner, Vector2 startPos, Vector2 targetPos, float angleOffset, float anglevariance)
        {
            GameObject gameObject = ProjSpawnHelper.SpawnProjectileTowardsPoint(GlassShard.GlassShardProjectile.gameObject, startPos, targetPos, angleOffset, anglevariance);
            Projectile component  = gameObject.GetComponent <Projectile>();

            if (component != null)
            {
                component.Owner   = Owner;
                component.Shooter = Owner.specRigidbody;
                component.TreatedAsNonProjectileForChallenge = true;
                component.baseData.damage           *= Owner.stats.GetStatValue(PlayerStats.StatType.Damage);
                component.baseData.speed            *= Owner.stats.GetStatValue(PlayerStats.StatType.ProjectileSpeed);
                component.baseData.force            *= Owner.stats.GetStatValue(PlayerStats.StatType.KnockbackMultiplier);
                component.AdditionalScaleMultiplier *= Owner.stats.GetStatValue(PlayerStats.StatType.PlayerBulletScale);
                component.UpdateSpeed();
                Owner.DoPostProcessProjectile(component);
            }
        }
 private void OwnerPostProcess(Projectile proj, float something)
 {
     if (UnityEngine.Random.value <= 0.2f)
     {
         if (Owner.IsInCombat && base.aiActor.OverrideTarget && base.aiActor.OverrideTarget.sprite)
         {
             base.aiAnimator.PlayUntilFinished("attack");
             GameObject spawned     = ProjSpawnHelper.SpawnProjectileTowardsPoint(proj.gameObject, base.sprite.WorldCenter, base.aiActor.OverrideTarget.sprite.WorldCenter, 0, 5, Owner);
             Projectile spawnedProj = spawned.GetComponent <Projectile>();
             if (spawnedProj)
             {
                 spawnedProj.Owner   = Owner;
                 spawnedProj.Shooter = Owner.specRigidbody;
                 spawnedProj.ApplyCompanionModifierToBullet(Owner);
             }
         }
     }
 }
Exemplo n.º 10
0
        protected override void Update()
        {
            if (this.m_extantOrbital != null)
            {
                if (timer > 0)
                {
                    timer -= BraveTime.DeltaTime;
                }
                else if (timer <= 0)
                {
                    if (Owner.PlayerHasActiveSynergy("Ultravioleter Guon Stone"))
                    {
                        timer = UnityEngine.Random.Range(0.1f, 0.5f);
                        m_extantOrbital.GetComponent <PlayerOrbital>().orbitRadius = UnityEngine.Random.Range(1f, 5f);
                    }
                    else
                    {
                        timer = UnityEngine.Random.Range(0.1f, 1f);
                        m_extantOrbital.GetComponent <PlayerOrbital>().orbitRadius = UnityEngine.Random.Range(2f, 6f);
                    }
                    if (Owner.IsInCombat && Owner.PlayerHasActiveSynergy("Xenochrome"))
                    {
                        if (UnityEngine.Random.value <= 0.5f)
                        {
                            GameObject obj       = ProjSpawnHelper.SpawnProjectileTowardsPoint(xenochromePrefab.gameObject, m_extantOrbital.transform.position, Owner.transform.position);
                            Projectile component = obj.GetComponent <Projectile>();
                            if (component != null)
                            {
                                component.Owner              = Owner;
                                component.Shooter            = Owner.specRigidbody;
                                component.collidesWithPlayer = false;

                                component.baseData.damage *= Owner.stats.GetStatValue(PlayerStats.StatType.Damage);
                                component.baseData.range  *= Owner.stats.GetStatValue(PlayerStats.StatType.RangeMultiplier);
                                component.baseData.force  *= Owner.stats.GetStatValue(PlayerStats.StatType.KnockbackMultiplier);
                                component.baseData.speed  *= Owner.stats.GetStatValue(PlayerStats.StatType.ProjectileSpeed);
                                Owner.DoPostProcessProjectile(component);
                            }
                        }
                    }
                }
                base.Update();
            }
        }
 private void Update()
 {
     if (hasStarted && this.m_projectile && this.m_player && this.m_rigidBody)
     {
         if (timer > 0)
         {
             timer -= BraveTime.DeltaTime;
         }
         if (timer <= 0)
         {
             for (int i = 0; i < numToFire; i++)
             {
                 Vector2 projectileSpawnPosition = this.m_projectile.sprite.WorldCenter;
                 Vector2 nearestEnemyPosition    = projectileSpawnPosition.GetPositionOfNearestEnemy(true, true);
                 if (nearestEnemyPosition != Vector2.zero)
                 {
                     GameObject gameObject = ProjSpawnHelper.SpawnProjectileTowardsPoint(this.projectileToFire.gameObject, projectileSpawnPosition, nearestEnemyPosition, 0, AngleVariance);
                     Projectile component  = gameObject.GetComponent <Projectile>();
                     if (component != null)
                     {
                         component.Owner = this.m_player;
                         component.TreatedAsNonProjectileForChallenge = true;
                         component.Shooter                    = this.m_rigidBody;
                         component.collidesWithPlayer         = false;
                         component.baseData.damage           *= this.m_player.stats.GetStatValue(PlayerStats.StatType.Damage);
                         component.baseData.speed            *= this.m_player.stats.GetStatValue(PlayerStats.StatType.ProjectileSpeed);
                         component.baseData.range            *= this.m_player.stats.GetStatValue(PlayerStats.StatType.RangeMultiplier);
                         component.AdditionalScaleMultiplier *= this.m_player.stats.GetStatValue(PlayerStats.StatType.PlayerBulletScale);;
                         component.baseData.force            *= this.m_player.stats.GetStatValue(PlayerStats.StatType.KnockbackMultiplier);
                         component.BossDamageMultiplier      *= this.m_player.stats.GetStatValue(PlayerStats.StatType.DamageToBosses);
                         this.m_player.DoPostProcessProjectile(component);
                     }
                 }
             }
             timer = TimeBetweenAttacks;
         }
     }
 }
        private IEnumerator SpawnAdditionalProjectile(Projectile source, Projectile toSpawn, float variance = 0f, float FromAim = 0f, bool helix = false)
        {
            //ETGModConsole.Log("spawn additional ran");

            yield return(null);

            GameObject spawnBee = SpawnManager.SpawnProjectile(toSpawn.gameObject, source.specRigidbody.UnitCenter, Quaternion.Euler(0f, 0f, ProjSpawnHelper.GetAccuracyAngled(source.Direction.ToAngle() + FromAim, variance, source.ProjectilePlayerOwner())), true);

            if (spawnBee.GetComponent <Projectile>())
            {
                Projectile beeproj = spawnBee.GetComponent <Projectile>();
                beeproj.Owner                 = source.Owner;
                beeproj.Shooter               = source.Shooter;
                beeproj.baseData.damage      *= Owner.stats.GetStatValue(PlayerStats.StatType.Damage);
                beeproj.baseData.speed       *= Owner.stats.GetStatValue(PlayerStats.StatType.ProjectileSpeed);
                beeproj.baseData.range       *= Owner.stats.GetStatValue(PlayerStats.StatType.RangeMultiplier);
                beeproj.baseData.force       *= Owner.stats.GetStatValue(PlayerStats.StatType.KnockbackMultiplier);
                beeproj.BossDamageMultiplier *= Owner.stats.GetStatValue(PlayerStats.StatType.DamageToBosses);
                beeproj.UpdateSpeed();

                if (helix)
                {
                    beeproj.ConvertToHelixMotion(true);
                }

                beeproj.PossibleSourceGun = source.PossibleSourceGun;
                beeproj.gameObject.AddComponent <HasBeenBulletShuffled>();
                Owner.DoPostProcessProjectile(beeproj);
            }
            yield break;
        }
            private void Update()
            {
                if (timer >= 0)
                {
                    timer -= BraveTime.DeltaTime;
                }
                else
                {
                    if (owner && owner.IsInCombat)
                    {
                        if (shoots)
                        {
                            int numToFire = 1;
                            if (isGlass)
                            {
                                numToFire += owner.GetNumberOfItemInInventory(565);
                            }
                            for (int i = 0; i < numToFire; i++)
                            {
                                AIActor nearestEnemy = ((Vector2)base.transform.position).GetNearestEnemyToPosition();
                                if (nearestEnemy != null)
                                {
                                    Vector2 nearestEnemyPos = nearestEnemy.transform.position;
                                    if (nearestEnemy.specRigidbody)
                                    {
                                        nearestEnemyPos = nearestEnemy.specRigidbody.UnitCenter;
                                    }

                                    float angleVar = 5;
                                    if (i > 1 && isGlass)
                                    {
                                        angleVar = 10;
                                    }

                                    GameObject proj      = ProjSpawnHelper.SpawnProjectileTowardsPoint((PickupObjectDatabase.GetById(gunIDToShoot) as Gun).DefaultModule.projectiles[0].gameObject, sprite.WorldCenter, nearestEnemyPos, 0, angleVar, owner);
                                    Projectile component = proj.GetComponent <Projectile>();
                                    if (component)
                                    {
                                        component.Owner   = owner;
                                        component.Shooter = body;

                                        component.ApplyCompanionModifierToBullet(owner);
                                        component.baseData.damage *= owner.stats.GetStatValue(PlayerStats.StatType.Damage);
                                        component.baseData.range  *= owner.stats.GetStatValue(PlayerStats.StatType.RangeMultiplier);
                                        component.baseData.speed  *= owner.stats.GetStatValue(PlayerStats.StatType.ProjectileSpeed);
                                        component.baseData.force  *= owner.stats.GetStatValue(PlayerStats.StatType.KnockbackMultiplier);
                                        owner.DoPostProcessProjectile(component);

                                        if (curseShot)
                                        {
                                            component.AdjustPlayerProjectileTint(ExtendedColours.cursedBulletsPurple, 2);
                                            component.CurseSparks      = true;
                                            component.baseData.damage *= ((0.15f * owner.stats.GetStatValue(PlayerStats.StatType.Curse)) + 1);
                                        }
                                        if (isCyclops)
                                        {
                                            component.AdditionalScaleMultiplier *= 1.5f;
                                            component.baseData.damage           *= 3f;
                                            PierceProjModifier pierce = component.gameObject.AddComponent <PierceProjModifier>();
                                            pierce.penetration = 3;
                                        }
                                    }
                                }
                            }
                        }
                        else if (isBarrel)
                        {
                            Vector2  barrelPos = sprite.WorldCenter;
                            CellData cell      = GameManager.Instance.Dungeon.data.cellData[(int)barrelPos.x][(int)barrelPos.y];
                            if (cell.type == CellType.FLOOR)
                            {
                                GameObject barrel = UnityEngine.Object.Instantiate <GameObject>(EasyPlaceableObjects.GenericBarrel, barrelPos, Quaternion.identity);
                                barrel.GetComponentInChildren <MinorBreakable>().OnlyBrokenByCode = true;
                                barrel.GetComponentInChildren <SpeculativeRigidbody>().OnPreRigidbodyCollision            += HandlePreCollision;
                                barrel.GetComponentInChildren <SpeculativeRigidbody>().PrimaryPixelCollider.CollisionLayer = CollisionLayer.EnemyBulletBlocker;
                                barrel.GetComponentInChildren <tk2dSprite>().PlaceAtPositionByAnchor(barrelPos, tk2dSprite.Anchor.LowerCenter);
                                StartCoroutine(BreakBarrel(barrel.GetComponentInChildren <MinorBreakable>()));
                            }
                        }
                    }


                    timer = shootDelay;
                }
            }
Exemplo n.º 14
0
            public override void Update()
            {
                if (Owner && !Dungeon.IsGenerating && Owner.IsInCombat && base.transform.position.GetAbsoluteRoom() == Owner.CurrentRoom)
                {
                    if (timer > 0)
                    {
                        timer -= BraveTime.DeltaTime;
                    }
                    if (timer <= 0)
                    {
                        //do stuff
                        bool doAnim = false;
                        if ((GameManager.Instance.Dungeon.tileIndices.tilesetId == GlobalDungeonData.ValidTilesets.HELLGEON) || Owner.PlayerHasActiveSynergy("They Grow Inside"))
                        {
                            float chance = 0.25f;
                            if (Owner.PlayerHasActiveSynergy("They Grow Inside"))
                            {
                                chance = 0.50f;
                            }
                            if (UnityEngine.Random.value <= chance)
                            {
                                doAnim = true;
                                VolleyReplacementSynergyProcessor shotgrubProcessor = (PickupObjectDatabase.GetById(347) as Gun).GetComponent <VolleyReplacementSynergyProcessor>();
                                Projectile bullet      = shotgrubProcessor.SynergyVolley.projectiles[0].projectiles[0].projectile;
                                GameObject spawnedProj = ProjSpawnHelper.SpawnProjectileTowardsPoint(bullet.gameObject, base.sprite.WorldCenter, base.specRigidbody.UnitCenter.GetPositionOfNearestEnemy(false, true), 0, 15);
                                Projectile component   = spawnedProj.GetComponent <Projectile>();
                                if (component != null)
                                {
                                    component.Owner   = Owner;
                                    component.Shooter = Owner.specRigidbody;
                                    //COMPANION SHIT
                                    component.TreatedAsNonProjectileForChallenge = true;
                                    component.baseData.damage           *= Owner.stats.GetStatValue(PlayerStats.StatType.Damage);
                                    component.baseData.speed            *= Owner.stats.GetStatValue(PlayerStats.StatType.ProjectileSpeed);
                                    component.baseData.force            *= Owner.stats.GetStatValue(PlayerStats.StatType.KnockbackMultiplier);
                                    component.AdditionalScaleMultiplier *= Owner.stats.GetStatValue(PlayerStats.StatType.PlayerBulletScale);
                                    component.UpdateSpeed();
                                    base.HandleCompanionPostProcessProjectile(component);
                                }
                            }
                        }
                        if (UnityEngine.Random.value <= 0.02f)
                        {
                            doAnim = true;
                            bool shouldJam = false;
                            if (Owner.PlayerHasActiveSynergy("Cursed Ceramics"))
                            {
                                shouldJam = true;
                            }
                            AIActor fairy = CompanionisedEnemyUtility.SpawnCompanionisedEnemy(Owner, "c182a5cb704d460d9d099a47af49c913", base.specRigidbody.UnitCenter.ToIntVector2(), false, ExtendedColours.brown, 10, 2, shouldJam, true);
                            fairy.specRigidbody.CollideWithOthers = false;
                        }
                        if (UnityEngine.Random.value <= 0.05f && Owner.PlayerHasActiveSynergy("The Potter Boy"))
                        {
                            doAnim = true;
                            AIActor randomActiveEnemy = base.transform.position.GetAbsoluteRoom().GetRandomActiveEnemy(false);
                            if (randomActiveEnemy && randomActiveEnemy.IsNormalEnemy && randomActiveEnemy.healthHaver && !randomActiveEnemy.healthHaver.IsBoss)
                            {
                                randomActiveEnemy.Transmogrify(EnemyDatabase.GetOrLoadByGuid("76bc43539fc24648bff4568c75c686d1"), (GameObject)ResourceCache.Acquire("Global VFX/VFX_Item_Spawn_Poof"));
                            }
                        }
                        if (doAnim && this.aiAnimator)
                        {
                            this.aiAnimator.PlayUntilFinished("spawnobject", false, null, -1f, false);
                        }
                        timer = 2f;
                    }

                    if (RadialTimer > 0)
                    {
                        RadialTimer -= BraveTime.DeltaTime;
                    }
                    if (RadialTimer <= 0)
                    {
                        HandleRadialEffects();
                        RadialTimer = 0.05f;
                    }
                }
                base.Update();
            }