Example #1
0
 private void Update()
 {
     if (Time.frameCount % 5 == 0)
     {
         DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(HelpfulLibrary.Ink);
         goopManagerForGoopType.AddGoopCircle(this.aiActor.specRigidbody.UnitCenter, 1.7f, -1, false, -1);
     }
     if (!base.aiActor.HasBeenEngaged)
     {
         CheckPlayerRoom();
     }
 }
Example #2
0
 private void Update()
 {
     if (Time.frameCount % 5 == 0)
     {
         DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(EasyGoopDefinitions.BlobulonGoopDef);
         goopManagerForGoopType.AddGoopCircle(this.aiActor.specRigidbody.UnitCenter, 1.5f, -1, false, -1);
     }
     if (!base.aiActor.HasBeenEngaged)
     {
         CheckPlayerRoom();
     }
 }
Example #3
0
 private void Start()
 {
     m_StartRoom = aiActor.GetAbsoluteParentRoom();
     //This line determines what happens when an enemy dies. For now it's something simple like playing a death sound.
     //A full list of all the sounds can be found in the SFX.txt document that comes with this github.
     base.aiActor.healthHaver.OnPreDeath += (obj) => { AkSoundEngine.PostEvent("SND_CHR_blobulin_death_01", base.aiActor.gameObject); };
     base.aiActor.healthHaver.OnPreDeath += (obj) =>
     {
         DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(EasyGoopDefinitions.CharmGoopDef);
         goopManagerForGoopType.AddGoopCircle(this.aiActor.specRigidbody.UnitCenter, 5f, -1, false, -1);
     };
 }
Example #4
0
 private void DoHoleSpawn(Projectile projectile)
 {
     if (projectile.Owner is PlayerController)
     {
         float radius = 7f;
         if ((projectile.Owner as PlayerController).PlayerHasActiveSynergy("Honey, I'm Home!"))
         {
             radius = 10f;
         }
         DeadlyDeadlyGoopManager goop = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(EasyGoopDefinitions.HoneyGoop);
         goop.TimedAddGoopCircle(projectile.specRigidbody.UnitCenter, radius, 0.75f, true);
     }
 }
 protected override void DoEffect(PlayerController user)
 {
     AkSoundEngine.PostEvent("Play_OBJ_lock_pick_01", base.gameObject);
     foreach (AIActor aiactor in user.CurrentRoom.GetActiveEnemies(RoomHandler.ActiveEnemyType.All))
     {
         bool flag = aiactor != null;
         if (flag)
         {
             float currentHealthPercentage = aiactor.healthHaver.GetCurrentHealthPercentage();
             bool  flaga3 = currentHealthPercentage <= 0.3f;
             bool  isBoss = aiactor.healthHaver.IsBoss;
             bool  flag4  = flaga3 && !isBoss;
             if (flag4)
             {
                 aiactor.healthHaver.ApplyDamage(100000f, Vector2.zero, "Telefrag", CoreDamageTypes.Void, DamageCategory.Normal, true, null, false);
                 bool synergy = user.PlayerHasActiveSynergy("Judge, Jury and...");
                 if (synergy)
                 {
                     AssetBundle    assetBundle = ResourceManager.LoadAssetBundle("shared_auto_001");
                     GoopDefinition goopDef     = assetBundle.LoadAsset <GoopDefinition>("assets/data/goops/napalmgoopquickignite.asset");
                     DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(goopDef).TimedAddGoopCircle(aiactor.sprite.WorldBottomCenter, 2.5f, 1.4f, false);
                 }
             }
             else
             {
                 aiactor.healthHaver.ApplyDamage(10f, Vector2.zero, "Telefrag", CoreDamageTypes.Void, DamageCategory.Normal, true, null, false);
                 bool synergy = user.PlayerHasActiveSynergy("Lost Humanity");
                 if (synergy)
                 {
                     Vector3    position   = aiactor.sprite.WorldCenter;
                     GameObject gameObject = SpawnManager.SpawnProjectile((PickupObjectDatabase.GetById(45) as Gun).DefaultModule.projectiles[0].gameObject, position, Quaternion.Euler(0f, 0f, BraveMathCollege.Atan2Degrees(user.sprite.WorldCenter - aiactor.sprite.WorldCenter)), true);
                     Projectile component  = gameObject.GetComponent <Projectile>();
                     bool       flag12     = component != null;
                     bool       flag2      = flag12;
                     if (flag2)
                     {
                         PierceProjModifier spook = component.gameObject.AddComponent <PierceProjModifier>();
                         spook.penetration = 10;
                         component.SpawnedFromOtherPlayerProjectile = true;
                         component.Shooter                   = user.specRigidbody;
                         component.Owner                     = user;
                         component.baseData.speed            = 4f;
                         component.baseData.damage           = 10f;
                         component.AdditionalScaleMultiplier = 0.7f;
                         component.ignoreDamageCaps          = true;
                     }
                 }
             }
         }
     }
 }
Example #6
0
        private void DoGoop()
        {
            float time = 0;

            if (time < .005f)
            {
                time += BraveTime.DeltaTime;
            }
            if (time > .005f)
            {
                DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(goopDefs[0]);
                goopManagerForGoopType.TimedAddGoopCircle(this.m_owner.specRigidbody.UnitCenter, 1, .2f);
            }
        }
Example #7
0
            public override void OnReloadPressed(PlayerController player, Gun gun, bool bSOMETHING)
            {
                bool flag = gun.IsReloading && this.HasReloaded;

                if (flag)
                {
                    if (this.hasSynergy)
                    {
                        DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(SynergyAlchemiser.goopDefs[0]).TimedAddGoopCircle(gun.sprite.WorldBottomCenter, 3.75f, 0.75f, false);
                    }
                }
                this.HasReloaded = false;
                base.OnReloadPressed(player, gun, bSOMETHING);
            }
Example #8
0
        private IEnumerator DoGoop(PlayerController player)
        {
            float elapsed = 0;

            while (elapsed < 8)
            {
                elapsed += BraveTime.DeltaTime;
                DeadlyDeadlyGoopManager ddgm = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(Library.goopDefs[5]);
                ddgm.TimedAddGoopCircle(player.sprite.WorldBottomCenter, 1.25f, .3f);
                ddgm.ElectrifyGoopCircle(player.sprite.WorldBottomCenter, 1.25f);
                yield return(new WaitForSeconds(0.005f));
            }
            yield break;
        }
Example #9
0
 private void OnHitEnemy(Projectile me, SpeculativeRigidbody enemy, bool fatal)
 {
     if (enemy && fatal)
     {
         if (enemy.healthHaver)
         {
             float bloodDPS = enemy.healthHaver.GetMaxHealth();
             bloodDPS *= 0.5f;
             GoopDefinition          Blood = EasyGoopDefinitions.GenerateBloodGoop(bloodDPS, Color.red, 10);
             DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(Blood);
             goopManagerForGoopType.TimedAddGoopCircle(enemy.UnitCenter, 3, 0.5f, false);
         }
     }
 }
 public void Update()
 {
     if (m_WasKicked)
     {
         FlippableCover m_Table = GetComponent <FlippableCover>();
         if (m_Table)
         {
             if (m_Table.IsBroken)
             {
                 m_WasKicked           = false;
                 willDefinitelyExplode = true;
                 SelfDestructOnKick();
             }
         }
     }
     if (m_shouldDisplayOutline)
     {
         int num;
         DungeonData.Direction inverseDirection = DungeonData.GetInverseDirection(DungeonData.GetDirectionFromIntVector2(GetFlipDirection(m_lastInteractingPlayer.specRigidbody, out num)));
         if (inverseDirection != m_lastOutlineDirection || sprite.spriteId != m_lastSpriteId)
         {
             SpriteOutlineManager.RemoveOutlineFromSprite(sprite, false);
             SpriteOutlineManager.AddSingleOutlineToSprite <tk2dSprite>(sprite, DungeonData.GetIntVector2FromDirection(inverseDirection), Color.white, 0.25f, 0f);
         }
         m_lastOutlineDirection = inverseDirection;
         m_lastSpriteId         = sprite.spriteId;
     }
     if (leavesGoopTrail && specRigidbody.Velocity.magnitude > 0.1f)
     {
         m_goopElapsed += BraveTime.DeltaTime;
         if (m_goopElapsed > goopFrequency)
         {
             m_goopElapsed -= BraveTime.DeltaTime;
             if (m_goopManager == null)
             {
                 m_goopManager = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(goopType);
             }
             m_goopManager.AddGoopCircle(sprite.WorldCenter, goopRadius + 0.1f, -1, false, -1);
         }
         if (AllowTopWallTraversal && GameManager.Instance.Dungeon.data.CheckInBoundsAndValid(sprite.WorldCenter.ToIntVector2(VectorConversions.Floor)) && GameManager.Instance.Dungeon.data[sprite.WorldCenter.ToIntVector2(VectorConversions.Floor)].IsFireplaceCell)
         {
             MinorBreakable component = GetComponent <MinorBreakable>();
             if (component && !component.IsBroken)
             {
                 component.Break(Vector2.zero);
                 GameStatsManager.Instance.SetFlag(GungeonFlags.FLAG_ROLLED_BARREL_INTO_FIREPLACE, true);
             }
         }
     }
 }
Example #11
0
 // Token: 0x06007295 RID: 29333 RVA: 0x002CA3A0 File Offset: 0x002C85A0
 private void Update()
 {
     if (goopType == 0 && needsToUseGreenFire)
     {
         GoopDefinition GreenFireDef = (PickupObjectDatabase.GetById(698) as Gun).DefaultModule.projectiles[0].GetComponent <GoopModifier>().goopDefinition;
         var            ddgm         = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(GreenFireDef);
         ddgm.AddGoopCircle(m_projectile.sprite.WorldCenter, goopRadius);
     }
     else
     {
         var ddgm = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(TrailFireModifier.goopDefs[goopType]);
         ddgm.AddGoopCircle(m_projectile.sprite.WorldCenter, goopRadius);
     }
 }
Example #12
0
 private void spawnCameraFirePool(bool needsToUseGreenFire)
 {
     if (needsToUseGreenFire)
     {
         GoopDefinition GreenFireDef = (PickupObjectDatabase.GetById(698) as Gun).DefaultModule.projectiles[0].GetComponent <GoopModifier>().goopDefinition;
         var            ddgm         = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(GreenFireDef);
         ddgm.AddGoopCircle(Owner.sprite.WorldCenter, 10);
     }
     else
     {
         TracerRound.goopDefs[0].UsesGreenFire = false;
         var ddgm = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(TracerRound.goopDefs[0]);
         ddgm.AddGoopCircle(Owner.sprite.WorldCenter, 10);
     }
 }
Example #13
0
        private void VenomPool(Projectile projectile)
        {
            GoopDefinition goopDefinition;

            goopDefinition = new GoopDefinition();
            goopDefinition.CanBeIgnited          = false;
            goopDefinition.damagesEnemies        = false;
            goopDefinition.damagesPlayers        = false;
            goopDefinition.baseColor32           = new Color32(78, 5, 120, 200);
            goopDefinition.goopTexture           = ResourceExtractor.GetTextureFromResource("Items/Resources/goop_standard_base_001.png");
            goopDefinition.AppliesDamageOverTime = true;
            goopDefinition.HealthModifierEffect  = venom;
            var ddgm = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(goopDefinition);

            ddgm.TimedAddGoopCircle(projectile.sprite.WorldCenter, 2.5f, .1f);
        }
Example #14
0
        public override void OnReloadPressed(PlayerController player, Gun gun, bool bSOMETHING)
        {
            if (gun.IsReloading && HasReloaded == true)
            {
                float num = 0.75f;

                if (gun.ClipShotsRemaining == 0)
                {
                    DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(Alchemiser.goopDefs[0]).TimedAddGoopCircle(gun.sprite.WorldBottomCenter, 3.75f, num, false);
                }

                else if (gun.ClipShotsRemaining == 1)
                {
                    DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(Alchemiser.goopDefs[0]).TimedAddGoopCircle(gun.sprite.WorldBottomCenter, 3.5f, num, false);
                }

                else if (gun.ClipShotsRemaining == 2)
                {
                    DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(Alchemiser.goopDefs[0]).TimedAddGoopCircle(gun.sprite.WorldBottomCenter, 3.25f, num, false);
                }

                else if (gun.ClipShotsRemaining == 3)
                {
                    DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(Alchemiser.goopDefs[0]).TimedAddGoopCircle(gun.sprite.WorldBottomCenter, 3f, num, false);
                }

                else if (gun.ClipShotsRemaining == 4)
                {
                    DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(Alchemiser.goopDefs[0]).TimedAddGoopCircle(gun.sprite.WorldBottomCenter, 2.5f, num, false);
                }

                else if (gun.ClipShotsRemaining == 5)
                {
                    DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(Alchemiser.goopDefs[0]).TimedAddGoopCircle(gun.sprite.WorldBottomCenter, 2.25f, num, false);
                }

                else if (gun.ClipShotsRemaining >= 6)
                {
                    DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(Alchemiser.goopDefs[0]).TimedAddGoopCircle(gun.sprite.WorldBottomCenter, 2f, num, false);
                }

                HasReloaded = false;
                AkSoundEngine.PostEvent("Stop_WPN_All", base.gameObject);
                base.OnReloadPressed(player, gun, bSOMETHING);
                AkSoundEngine.PostEvent("Play_OBJ_coolant_leak_01", base.gameObject);
            }
        }
Example #15
0
        private void SPEED(Gun oldGun, Gun newGun, bool arg3)
        {
            DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(EasyGoopDefinitions.FireDef);

            goopManagerForGoopType.AddGoopCircle(this.gun.CurrentOwner.specRigidbody.UnitCenter, 1f, -4, false, -4);

            PlayerController player = this.gun.CurrentOwner as PlayerController;

            if (newGun == this.gun)
            {
                this.GiveSpeed(player);
            }
            else
            {
                this.RemoveSpeed(player);
            }
        }
        private void OnEnemyKilled(PlayerController player, HealthHaver enemy)
        {
            bool flag = enemy.specRigidbody != null && enemy.aiActor != null && base.Owner != null;

            if (flag && UnityEngine.Random.value <= 0.66f)
            {
                PickupObject byId  = PickupObjectDatabase.GetById(310);
                bool         flag2 = byId == null;
                if (!flag2)
                {
                    WingsItem      component      = byId.GetComponent <WingsItem>();
                    GoopDefinition goopDefinition = (component != null) ? component.RollGoop : null;
                }
                float duration = 0.75f;
                DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(Bleaker.goopDefs[UnityEngine.Random.Range(0, 3)]).TimedAddGoopCircle(enemy.specRigidbody.UnitCenter, 4f, duration, false);
            }
        }
Example #17
0
 // Token: 0x0600028D RID: 653 RVA: 0x0001666C File Offset: 0x0001486C
 public override void PostProcessProjectile(Projectile projectile)
 {
     base.PostProcessProjectile(projectile);
     {
         base.PostProcessProjectile(projectile);
         PickupObject   byId = PickupObjectDatabase.GetById(310);
         GoopDefinition Goop;
         WingsItem      component = byId.GetComponent <WingsItem>();
         Goop = component.RollGoop;
         int goopRadius = 1;
         if (this.m_lastGoopPosition != null)
         {
             DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(Goop).AddGoopLine(this.m_lastGoopPosition.Value, projectile.sprite.WorldCenter, goopRadius);
         }
         this.m_lastGoopPosition = new Vector2?(projectile.sprite.WorldCenter);
     }
 }
        private IEnumerator HandleDelayedFireDamage()
        {
            Vector2 BottomOffset1 = new Vector3(5, 2);
            Vector2 TopOffset1    = new Vector3(9, 6);
            Vector2 BottomOffset2 = new Vector3(4, 1);
            Vector2 TopOffset2    = new Vector3(8, 6);

            GlobalSparksDoer.DoRandomParticleBurst(25, (sprite.WorldBottomLeft + BottomOffset2), (sprite.WorldBottomLeft + TopOffset2), Vector3.up, 70f, 0.5f, null, new float?(0.75f), new Color?(new Color(4f, 0.3f, 0f)), GlobalSparksDoer.SparksType.SOLID_SPARKLES);
            GlobalSparksDoer.DoRandomParticleBurst(25, (sprite.WorldBottomLeft + BottomOffset2), (sprite.WorldBottomLeft + TopOffset2), Vector3.up, 70f, 0.5f, null, new float?(1.5f), new Color?(new Color(4f, 0.3f, 0f)), GlobalSparksDoer.SparksType.SOLID_SPARKLES);
            GlobalSparksDoer.DoRandomParticleBurst(25, (sprite.WorldBottomLeft + BottomOffset2), (sprite.WorldBottomLeft + TopOffset2), Vector3.up, 70f, 0.5f, null, new float?(2.25f), new Color?(new Color(4f, 0.3f, 0f)), GlobalSparksDoer.SparksType.SOLID_SPARKLES);
            GlobalSparksDoer.DoRandomParticleBurst(25, (sprite.WorldBottomLeft + BottomOffset2), (sprite.WorldBottomLeft + TopOffset2), Vector3.up, 70f, 0.5f, null, new float?(3), new Color?(new Color(4f, 0.3f, 0f)), GlobalSparksDoer.SparksType.SOLID_SPARKLES);
            yield return(new WaitForSeconds(2f));

            GlobalSparksDoer.DoRandomParticleBurst(25, (sprite.WorldBottomLeft + BottomOffset2), (sprite.WorldBottomLeft + TopOffset2), Vector3.up, 70f, 0.5f, null, new float?(1.75f), new Color?(new Color(4f, 0.3f, 0f)), GlobalSparksDoer.SparksType.STRAIGHT_UP_FIRE);
            GlobalSparksDoer.DoRandomParticleBurst(25, (sprite.WorldBottomLeft + BottomOffset2), (sprite.WorldBottomLeft + TopOffset2), Vector3.up, 70f, 0.5f, null, new float?(2.5f), new Color?(new Color(4f, 0.3f, 0f)), GlobalSparksDoer.SparksType.STRAIGHT_UP_FIRE);
            GlobalSparksDoer.DoRandomParticleBurst(25, (sprite.WorldBottomLeft + BottomOffset2), (sprite.WorldBottomLeft + TopOffset2), Vector3.up, 70f, 0.5f, null, new float?(3.25f), new Color?(new Color(4f, 0.3f, 0f)), GlobalSparksDoer.SparksType.STRAIGHT_UP_FIRE);
            GlobalSparksDoer.DoRandomParticleBurst(25, (sprite.WorldBottomLeft + BottomOffset2), (sprite.WorldBottomLeft + TopOffset2), Vector3.up, 70f, 0.5f, null, new float?(4), new Color?(new Color(4f, 0.3f, 0f)), GlobalSparksDoer.SparksType.STRAIGHT_UP_FIRE);
            Exploder.DoDefaultExplosion((transform.position + PitOffset.ToVector3() + new Vector3(1, 0)), Vector2.zero, ignoreQueues: true);
            specRigidbody.PixelColliders[0].Enabled = false;
            specRigidbody.RecheckTriggers           = true;
            specRigidbody.RegenerateColliders       = true;

            IntVector2 basePosition = (transform.position.IntXY(VectorConversions.Floor) + PitOffset);
            IntVector2 cellPos      = basePosition;
            IntVector2 cellPos2     = (basePosition + new IntVector2(1, 0));

            DeadlyDeadlyGoopManager.ForceClearGoopsInCell(cellPos);
            DeadlyDeadlyGoopManager.ForceClearGoopsInCell(cellPos2);
            sprite.SetSprite("Jungle_Tree_Large_Open");
            yield return(new WaitForSeconds(0.4f));

            m_ParentRoom.ForcePitfallForFliers = true;
            CellData cellData  = GameManager.Instance.Dungeon.data[cellPos];
            CellData cellData2 = GameManager.Instance.Dungeon.data[cellPos2];

            cellData.fallingPrevented  = false;
            cellData2.fallingPrevented = false;
            GameObject JungleTreeFrame = Instantiate(JungleTreeTopFrame, transform.position, Quaternion.identity);

            if (m_ParentRoom != null)
            {
                JungleTreeFrame.transform.SetParent(m_ParentRoom.hierarchyParent, true);
            }
            yield break;
        }
Example #19
0
        private void HandleHit(Projectile arg1, SpeculativeRigidbody arg2, bool arg3)
        {
            if (arg2.aiActor != null && !arg2.healthHaver.IsBoss && !arg2.healthHaver.IsDead && arg2.aiActor.behaviorSpeculator && !arg2.aiActor.IsHarmlessEnemy && arg2.aiActor != null)
            {
                GameActorEffect poison = arg2.aiActor.GetEffect(DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(goopDefs[0]).goopDefinition.HealthModifierEffect.effectIdentifier);
                if (poison != null)
                {
                    AIActor orLoadByGuid = EnemyDatabase.GetOrLoadByGuid("8b43a5c59b854eb780f9ab669ec26b7a");
                    arg2.aiActor.EraseFromExistenceWithRewards(true);
                    AIActor aiactor = AIActor.Spawn(orLoadByGuid, arg2.aiActor.CenterPosition, arg2.transform.position.GetAbsoluteRoom(), true, AIActor.AwakenAnimationType.Awaken, true);
                    LootEngine.DoDefaultItemPoof(aiactor.CenterPosition, false, false);
                    aiactor.DiesOnCollison     = true;
                    aiactor.ImmuneToAllEffects = true;

                    //arg2.aiActor.Transmogrify(orLoadByGuid, (GameObject)ResourceCache.Acquire("Global VFX/VFX_Item_Spawn_Poof"));
                }
            }
        }
Example #20
0
        public RoomHandler AddRuntimeRoom()
        {
            IntVector2 dimensions = new IntVector2(15, 15);
            Dungeon    d          = GameManager.Instance.Dungeon;
            IntVector2 intVector  = new IntVector2(d.data.Width + 10, 10);
            int        newWidth   = d.data.Width + 10 + dimensions.x;
            int        newHeight  = Mathf.Max(d.data.Height, dimensions.y + 10);

            CellData[][] array    = BraveUtility.MultidimensionalArrayResize <CellData>(d.data.cellData, d.data.Width, d.data.Height, newWidth, newHeight);
            CellArea     cellArea = new CellArea(intVector, dimensions, 0);

            cellArea.IsProceduralRoom = true;
            d.data.cellData           = array;
            d.data.ClearCachedCellData();
            RoomHandler roomHandler = new RoomHandler(cellArea);

            for (int x = 0; x < dimensions.x; x++)
            {
                for (int y = 0; y < dimensions.y; y++)
                {
                    CellType   cellType = (x >= 4 && x <= 9 && y >= 4 && y <= 9) ? CellType.FLOOR : CellType.PIT;
                    IntVector2 p        = new IntVector2(x, y) + intVector;
                    CellData   cellData = new CellData(p, cellType);
                    cellData.parentArea  = cellArea;
                    cellData.parentRoom  = roomHandler;
                    cellData.nearestRoom = roomHandler;
                    array[p.x][p.y]      = cellData;
                    roomHandler.RuntimeStampCellComplex(p.x, p.y, cellType, DiagonalWallType.NONE);
                }
            }
            d.data.rooms.Add(roomHandler);
            GameObject obj = Instantiate(PlatformOfDeath, new Vector3((float)intVector.x + 5, (float)intVector.y + 3, 0f), Quaternion.identity);

            obj.GetComponent <tk2dBaseSprite>().HeightOffGround = -30f;
            obj.GetComponent <tk2dBaseSprite>().UpdateZDepth();
            GameObject obj2 = Instantiate(BigPlatformOfDeath, new Vector3((float)intVector.x, (float)intVector.y - 2f, 0f), Quaternion.identity);

            obj2.GetComponent <tk2dBaseSprite>().HeightOffGround = -30f;
            obj2.GetComponent <tk2dBaseSprite>().UpdateZDepth();
            this.m_currentPlatform = obj;
            DeadlyDeadlyGoopManager.ReinitializeData();
            roomHandler.PreventMinimapUpdates = true;
            return(roomHandler);
        }
        private void HandleHit(Projectile arg1, SpeculativeRigidbody arg2, bool arg3)
        {
            bool flag = arg2.aiActor != null && !arg2.healthHaver.IsBoss && !arg2.healthHaver.IsDead && arg2.aiActor.behaviorSpeculator && !arg2.aiActor.IsHarmlessEnemy && arg2.aiActor != null;

            if (flag)
            {
                GameActorEffect effect = arg2.aiActor.GetEffect(DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(SynergyAlchemiser.goopDefs[0]).goopDefinition.HealthModifierEffect.effectIdentifier);
                bool            flag2  = effect != null;
                if (flag2)
                {
                    AIActor orLoadByGuid = EnemyDatabase.GetOrLoadByGuid("8b43a5c59b854eb780f9ab669ec26b7a");
                    arg2.aiActor.EraseFromExistenceWithRewards(true);
                    AIActor aiactor = AIActor.Spawn(orLoadByGuid, arg2.aiActor.CenterPosition, arg2.transform.position.GetAbsoluteRoom(), true, AIActor.AwakenAnimationType.Awaken, true);
                    LootEngine.DoDefaultItemPoof(aiactor.CenterPosition, false, false);
                    aiactor.DiesOnCollison     = true;
                    aiactor.ImmuneToAllEffects = true;
                }
            }
        }
Example #22
0
 private void Update()
 {
     if (proj != null)
     {
         if (timer < .008f)
         {
             timer += BraveTime.DeltaTime;
         }
         if (timer >= .008f)
         {
             timer = 0;
             DeadlyDeadlyGoopManager ddgm = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(goopDefinition);
             ddgm.TimedAddGoopCircle(proj.sprite.WorldCenter, .6f, .3f);
             if (goopDefinition == Library.goopDefs[5])
             {
                 ddgm.ElectrifyGoopCircle(proj.sprite.WorldCenter, .6f);
             }
         }
     }
 }
Example #23
0
            private IEnumerator DoBurst()
            {
                this.aiActor.MovementSpeed = 0;
                this.aiAnimator.PlayUntilFinished("burst", false, null, -1f, false);
                yield return(new WaitForSeconds(0.25f));

                if (this.aiActor.OverrideTarget)
                {
                    DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(EasyGoopDefinitions.FireDef);
                    AkSoundEngine.PostEvent("Play_OBJ_glassbottle_shatter_01", this.gameObject);
                    Vector2 vector     = this.specRigidbody.UnitCenter;
                    Vector2 normalized = (this.aiActor.OverrideTarget.UnitCenter - vector).normalized;
                    goopManagerForGoopType.TimedAddGoopLine(this.specRigidbody.UnitCenter, this.specRigidbody.UnitCenter + normalized * 7, 1f, 0.5f);
                }
                yield return(new WaitForSeconds(0.25f));

                this.sprite.renderer.enabled = false;
                this.aiActor.EraseFromExistence();
                yield break;
            }
Example #24
0
        // Token: 0x06000046 RID: 70 RVA: 0x00003E98 File Offset: 0x00002098
        public void Start()
        {
            this.projectile = base.GetComponent <Projectile>();
            this.player     = (this.projectile.Owner as PlayerController);
            GameActor  owner     = this.projectile.Owner;
            Projectile component = base.gameObject.GetComponent <Projectile>();

            if (component != null)
            {
                if (this.goop == null)
                {
                    GoopDefinition goopDef = ResourceManager.LoadAssetBundle("shared_auto_001").LoadAsset <GoopDefinition>("assets/data/goops/water goop.asset");
                    this.goop = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(goopDef);
                }
                if (this.radius == 0f)
                {
                    this.radius = 0.75f;
                }
                GameManager.Instance.StartCoroutine(this.GoopTrail(component, this.goop));
            }
        }
Example #25
0
        private void GoopReload(PlayerController player, Gun gun)
        {
            if (gun.ClipShotsRemaining == 0)
            {
                int amount = UnityEngine.Random.Range(5, 12);

                for (int i = 0; i < amount; i++)
                {
                    float                   size     = UnityEngine.Random.Range(1.5f, 4);
                    float                   lifetime = UnityEngine.Random.Range(.2f, .4f);
                    Vector2                 location = player.sprite.WorldCenter + (UnityEngine.Random.insideUnitCircle * 7);
                    GoopDefinition          goop     = possibleGoops[UnityEngine.Random.Range(0, possibleGoops.Count)];
                    DeadlyDeadlyGoopManager ddgm     = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(goop);
                    ddgm.TimedAddGoopCircle(location, size, lifetime);
                    if (goop == Library.goopDefs[5])
                    {
                        ddgm.ElectrifyGoopCircle(player.sprite.WorldCenter, size);
                    }
                }
            }
        }
Example #26
0
 public void Start()
 {
     //base.aiActor.HasBeenEngaged = true;
     if (healthHaver.healthHaver.GetCurrentHealth() <= healthHaver.healthHaver.GetMaxHealth() / 2)
     {
         var bs = FlameChamber.prefab.GetComponent <BehaviorSpeculator>();
     }
     base.aiActor.healthHaver.OnPreDeath += (obj) =>
     {
         Exploder.DoDefaultExplosion(base.aiActor.CenterPosition, base.aiActor.CenterPosition.ToIntVector2().ToVector2());
         AkSoundEngine.PostEvent("Play_ENM_highpriest_blast_01", base.aiActor.gameObject);
         //Chest chest2 = GameManager.Instance.RewardManager.SpawnTotallyRandomChest(spawnspot);
         //chest2.IsLocked = false;
         DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(EasyGoopDefinitions.FireDef);
         goopManagerForGoopType.AddGoopCircle(this.aiActor.specRigidbody.UnitCenter, 3f, -1, false, -1);
     };
     base.healthHaver.healthHaver.OnDeath += (obj) =>
     {
     };;
     this.aiActor.knockbackDoer.SetImmobile(true, "fuckshitdeath");
 }
Example #27
0
        //Add the item's functionality down here! I stole most of this from the Stuffed Star active item code!

        protected override void DoEffect(PlayerController user)
        {
            float length = 13;
            float width  = 2.5f;

            if (user.PlayerHasActiveSynergy("Ooh Eee Ooh Ah Ah!"))
            {
                length = 20;
                width  = 4;
            }
            DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(EasyGoopDefinitions.CharmGoopDef);
            Vector2 vector     = user.CenterPosition;
            Vector2 normalized = (user.unadjustedAimPoint.XY() - vector).normalized;

            goopManagerForGoopType.TimedAddGoopLine(user.CenterPosition, user.CenterPosition + normalized * length, width, 0.5f);
            if (user.PlayerHasActiveSynergy("Number 9"))
            {
                goopManagerForGoopType.TimedAddGoopLine(user.CenterPosition, user.CenterPosition + (normalized * -1) * length, width, 0.5f);
            }
            //goopManagerForGoopType.gameObject.AddComponent<PurifiedWaterGoop>();
        }
Example #28
0
        private void BFN(Projectile projectile)
        {
            Vector2    worldCenter = projectile.sprite.WorldCenter;
            Vector3    position    = projectile.sprite.WorldCenter;
            Projectile projectile1 = ((Gun)ETGMod.Databases.Items[481]).DefaultModule.chargeProjectiles[0].Projectile;
            GameObject gameObject  = SpawnManager.SpawnProjectile(projectile.gameObject, projectile.sprite.WorldCenter, Quaternion.Euler(0f, 0f, 0f));
            bool       flag        = projectile1 != null;
            bool       flag2       = flag;

            if (flag2)
            {
                projectile1.baseData.damage           = 50f;
                projectile1.baseData.speed            = 0f;
                projectile1.AdditionalScaleMultiplier = 2.5f;
            }
            this.Boom(position);
            AssetBundle    assetBundle    = ResourceManager.LoadAssetBundle("shared_auto_001");
            GoopDefinition goopDefinition = assetBundle.LoadAsset <GoopDefinition>("assets/data/goops/napalmgoopquickignite.asset");

            goopDefinition.baseColor32   = new Color32(0, byte.MaxValue, byte.MaxValue, byte.MaxValue);
            goopDefinition.fireColor32   = new Color32(0, byte.MaxValue, byte.MaxValue, byte.MaxValue);
            goopDefinition.UsesGreenFire = false;
            DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(goopDefinition);

            goopManagerForGoopType.TimedAddGoopCircle(projectile.sprite.WorldCenter, 10f, 0.1f, false);
            this.Nuke = assetBundle.LoadAsset <GameObject>("assets/data/vfx prefabs/impact vfx/vfx_explosion_nuke.prefab");
            //this.Nuke = assetBundle.LoadAsset<GameObject>("assets/data/vfx prefabs/impact vfx/vfx_explosion_big_new.prefab");

            GameObject gameObject2 = UnityEngine.Object.Instantiate <GameObject>(this.Nuke);

            gameObject2.GetComponent <tk2dBaseSprite>().PlaceAtLocalPositionByAnchor(projectile.specRigidbody.UnitCenter, tk2dBaseSprite.Anchor.LowerCenter);
            gameObject2.transform.position = gameObject.transform.position.Quantize(0.0625f);
            gameObject2.GetComponent <tk2dBaseSprite>().UpdateZDepth();
            {
                this.FlashHoldtime = 0.1f;
                this.FlashFadetime = 0.5f;
                Pixelator.Instance.FadeToColor(this.FlashFadetime, Color.white, true, this.FlashHoldtime);
                StickyFrictionManager.Instance.RegisterCustomStickyFriction(0.15f, 1f, false, false); this.FlashHoldtime = 0.1f;
            }
        }
        private IEnumerator FireStorm()
        {
            yield return(new WaitForSeconds(1));

            var ddgm = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(EasyGoopDefinitions.FireDef);

            ddgm.AddGoopCircle(self.sprite.WorldCenter, 5);
            for (int i = 0; i < 40; i++)
            {
                yield return(new WaitForSeconds(0.1f));

                GameObject gameObject = SpawnManager.SpawnProjectile((PickupObjectDatabase.GetById(336) as Gun).DefaultModule.projectiles[0].gameObject, self.specRigidbody.UnitCenter, Quaternion.Euler(0, 0, UnityEngine.Random.Range(1, 360)), true);
                Projectile component  = gameObject.GetComponent <Projectile>();
                if (component != null)
                {
                    component.Owner   = self.Owner;
                    component.Shooter = self.Owner.specRigidbody;
                }
            }
            Die();
            yield break;
        }
Example #30
0
        private void HandleHit(Projectile arg1, SpeculativeRigidbody arg2, bool arg3)
        {
            float currentHealthPercentage1 = arg2.healthHaver.GetCurrentHealthPercentage();
            bool  flag3 = currentHealthPercentage1 <= 0.9f;

            if (flag3)
            {
                arg2.healthHaver.ApplyDamage(20f, Vector2.zero, "Telefrag", CoreDamageTypes.Void, DamageCategory.Normal, true, null, false);
            }
            float currentHealthPercentage = arg2.healthHaver.GetCurrentHealthPercentage();
            bool  flaga3 = currentHealthPercentage <= 0.3f;
            bool  isBoss = arg2.healthHaver.IsBoss;
            bool  flag4  = flaga3 && !isBoss;

            if (flag4)
            {
                AssetBundle    assetBundle = ResourceManager.LoadAssetBundle("shared_auto_001");
                GoopDefinition goopDef     = assetBundle.LoadAsset <GoopDefinition>("assets/data/goops/napalmgoopquickignite.asset");
                DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(goopDef).TimedAddGoopCircle(arg2.sprite.WorldBottomCenter, 1.5f, 1.4f, false);
                this.Execute(arg2);
            }
        }