Beispiel #1
0
 private void Update()
 {
     if (Time.frameCount % 5 == 0)
     {
         DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(EasyGoopDefinitions.CharmGoopDef);
         goopManagerForGoopType.AddGoopCircle(this.aiActor.specRigidbody.UnitCenter, 1.5f, -1, false, -1);
     }
 }
Beispiel #2
0
 private void DoNapalmSynergy(Vector2 position)
 {
     if (!ddgm)
     {
         napalm = Tools.sharedAuto1.LoadAsset <GoopDefinition>("napalmgoopthatworks");
         ddgm   = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(napalm);
     }
     ddgm.AddGoopCircle(position, 3f);
 }
Beispiel #3
0
 public void Update()
 {
     if (m_WasKicked)
     {
         if (GetAbsoluteParentRoom() == null)
         {
             m_WasKicked           = false;
             willDefinitelyExplode = true;
             SelfDestructOnKick();
         }
         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);
             }
         }
     }
 }
Beispiel #4
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("m_BOSS_blobulord_burst_01", base.aiActor.gameObject); };
     base.aiActor.healthHaver.OnPreDeath += (obj) => {
         DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(goopDefs[0]);
         goopManagerForGoopType.AddGoopCircle(this.aiActor.specRigidbody.UnitCenter, 5f, -1, false, -1);
     };
 }
Beispiel #5
0
 public void DoBigPoison(PlayerController player)
 {
     if (player.healthHaver.Armor > 0)
     {
         DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(EasyGoopDefinitions.PoisonDef);
         goopManagerForGoopType.AddGoopCircle(this.m_owner.specRigidbody.UnitCenter, 1f, -4, false, -4);
         RoomHandler absoluteRoom      = base.transform.position.GetAbsoluteRoom();
         AIActor     randomActiveEnemy = absoluteRoom.GetRandomActiveEnemy(false);
         randomActiveEnemy.ApplyEffect(Gungeon.Game.Items["irradiated_lead"].GetComponent <BulletStatusEffectItem>().HealthModifierEffect);
     }
 }
            private void FixedUpdate()
            {
                bool flag = Time.time - this.lastSwitch > 10f;

                if (flag)
                {
                    this.SetGoopIndex(UnityEngine.Random.Range(1, BabyGoodLovebulon.goopDefs.Count));
                    this.lastSwitch = Time.time;
                    AIActor              aiActor = base.aiActor;
                    PlayerController     owner   = this.m_owner;
                    SpeculativeRigidbody overrideTarget;
                    if (owner == null)
                    {
                        overrideTarget = null;
                    }
                    else
                    {
                        RoomHandler currentRoom = owner.CurrentRoom;
                        if (currentRoom == null)
                        {
                            overrideTarget = null;
                        }
                        else
                        {
                            AIActor randomActiveEnemy = currentRoom.GetRandomActiveEnemy(false);
                            overrideTarget = ((randomActiveEnemy != null) ? randomActiveEnemy.specRigidbody : null);
                        }
                    }
                    aiActor.OverrideTarget = overrideTarget;
                }
                bool flag2 = !this.m_owner.IsInCombat;

                if (flag2)
                {
                    this.SetGoopIndex(0);
                }

                float num   = 1.2f;
                bool  flag3 = PassiveItem.IsFlagSetForCharacter(this.m_owner, typeof(BattleStandardItem));

                if (flag3)
                {
                    num *= 2f;
                }
                if (this.m_owner.PlayerHasActiveSynergy("Bubble Love"))

                {
                    num *= 2f;
                }
                base.aiActor.ApplyEffect(charmEffect, 0.1f, null);
                DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(EasyGoopDefinitions.CharmGoopDef);

                goopManagerForGoopType.AddGoopCircle(base.sprite.WorldCenter, num, -1, false, -1);
            }
Beispiel #7
0
 private void Update()
 {
     if (Time.frameCount % 5 == 0)
     {
         DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(goopDefs[0]);
         goopManagerForGoopType.AddGoopCircle(this.aiActor.specRigidbody.UnitCenter, 1.5f, -1, false, -1);
     }
     if (!base.aiActor.HasBeenEngaged)
     {
         CheckPlayerRoom();
     }
 }
Beispiel #8
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);
            }
        }
Beispiel #9
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");
 }
Beispiel #10
0
        public void DoBigGoop(Projectile bullet)
        {
            DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(EasyGoopDefinitions.FireDef);

            goopManagerForGoopType.AddGoopCircle(this.m_owner.specRigidbody.UnitCenter, 1f, -4, false, -4);
        }
Beispiel #11
0
        private void RemoveSpeed(PlayerController player)
        {
            DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(EasyGoopDefinitions.FireDef);

            goopManagerForGoopType.AddGoopCircle(this.gun.CurrentOwner.specRigidbody.UnitCenter, 1f, -4, false, -4);
        }
Beispiel #12
0
        public void DoBigGoop(PlayerController user)
        {
            DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(goopDefs[0]);

            goopManagerForGoopType.AddGoopCircle(this.m_owner.specRigidbody.UnitCenter, 4f, -4, false, -4);
        }