Esempio n. 1
0
        private void HellaPosion(Projectile arg1)
        {
            AssetBundle    assetBundle = ResourceManager.LoadAssetBundle("shared_auto_001");
            GoopDefinition goopDef     = assetBundle.LoadAsset <GoopDefinition>("assets/data/goops/poison goop.asset");

            DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(goopDef).TimedAddGoopCircle(arg1.sprite.WorldBottomCenter, 4f, 1f, false);
        }
 protected override void Update()
 {
     if (Owner)
     {
         if (!Owner.IsDodgeRolling && Challenges.CurrentChallenge != ChallengeType.KEEP_IT_COOL)
         {
             if (Owner.HasPickupID(Gungeon.Game.Items["nn:supersonic_shots"].PickupObjectId))
             {
                 GoopDefinition GreenFireDef = (PickupObjectDatabase.GetById(698) as Gun).DefaultModule.projectiles[0].GetComponent <GoopModifier>().goopDefinition;
                 var            ddgm         = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(GreenFireDef);
                 ddgm.AddGoopCircle(Owner.sprite.WorldBottomCenter, 1);
             }
             else
             {
                 var ddgm = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(MrFahrenheit.goopDefs[0]);
                 ddgm.AddGoopCircle(Owner.sprite.WorldBottomCenter, 1);
             }
         }
         currentItems = Owner.passiveItems.Count;
         if (currentItems != lastItems)
         {
             if (Owner.HasPickupID(Gungeon.Game.Items["nn:supersonic_shots"].PickupObjectId))
             {
                 handleSpeeds(true);
             }
             else
             {
                 handleSpeeds(false);
             }
             lastItems = currentItems;
         }
     }
 }
 private void OnHitEnemy(Projectile bullet, SpeculativeRigidbody enemy, bool fatal)
 {
     if (enemy && enemy.healthHaver && fatal)
     {
         float procChance = 0.1f;
         if (owner && owner.PlayerHasActiveSynergy("Blood For The Blood God"))
         {
             procChance = 0.2f;
         }
         if (UnityEngine.Random.value <= procChance)
         {
             UnityEngine.Object.Instantiate <GameObject>(EasyVFXDatabase.TeleporterPrototypeTelefragVFX, enemy.UnitCenter, Quaternion.identity);
             if (owner && owner.PlayerHasActiveSynergy("Blood For The Blood God"))
             {
                 GoopDefinition          Blood = EasyGoopDefinitions.GenerateBloodGoop(15, Color.red, 20);
                 DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(Blood);
                 goopManagerForGoopType.TimedAddGoopCircle(enemy.UnitCenter, 3, 0.5f, false);
             }
             if (owner && owner.PlayerHasActiveSynergy("BLOOD IS FUEL"))
             {
                 if (Vector2.Distance(owner.sprite.WorldCenter, enemy.sprite.WorldCenter) <= 4)
                 {
                     owner.healthHaver.ApplyHealing(0.5f);
                 }
             }
         }
     }
 }
Esempio n. 4
0
        private void FireBlob(Projectile projectile)
        {
            AssetBundle    assetBundle = ResourceManager.LoadAssetBundle("shared_auto_001");
            GoopDefinition goopDef     = assetBundle.LoadAsset <GoopDefinition>("assets/data/goops/napalmgoopquickignite.asset");

            DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(goopDef).TimedAddGoopCircle(projectile.sprite.WorldBottomCenter, 1.5f, 1.4f, false);
        }
Esempio n. 5
0
 private void NukeBlastOnHit(PlayerController player)
 {
     //I dont know how, but SOMEHOW using Cigarettes with RTG instantly kills you if i try to have this Nuke Code
     //this.random = UnityEngine.Random.Range(0.00f, 1.00f);
     //if (random <= 0.04f)
     {
         Vector3 position = player.sprite.WorldCenter;
         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");
         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;
         }
     }
 }
Esempio n. 6
0
 private void DoNapalmSynergy(Vector2 position)
 {
     if (!ddgm)
     {
         napalm = Tools.sharedAuto1.LoadAsset <GoopDefinition>("napalmgoopthatworks");
         ddgm   = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(napalm);
     }
     ddgm.AddGoopCircle(position, 3f);
 }
Esempio n. 7
0
        protected override void DoEffect(PlayerController user)
        {
            GoopDefinition def = EnemyDatabase.GetOrLoadByGuid("98ca70157c364750a60f5e0084f9d3e2").bulletBank.GetComponent <GoopDoer>().goopDefinition;

            ETGModConsole.Log(def.AppliesCharm.ToString());
            ETGModConsole.Log(def.AppliesCheese.ToString());
            ETGModConsole.Log(def.AppliesDamageOverTime.ToString());
            ETGModConsole.Log(def.AppliesSpeedModifier.ToString());
            ETGModConsole.Log(def.AppliesSpeedModifierContinuously.ToString());
        }
Esempio n. 8
0
        private IEnumerator Heatfuck(PlayerController user)
        {
            AssetBundle             assetBundle            = ResourceManager.LoadAssetBundle("shared_auto_001");
            GoopDefinition          goopDefinition         = assetBundle.LoadAsset <GoopDefinition>("assets/data/goops/napalmgoopquickignite.asset");
            DeadlyDeadlyGoopManager goopManagerForGoopType = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(goopDefinition);

            goopManagerForGoopType.TimedAddGoopCircle(base.Owner.sprite.WorldCenter, 18f, 0.8f, false);
            yield return(new WaitForSeconds(1f));

            DeadlyDeadlyGoopManager.DelayedClearGoopsInRadius(base.Owner.sprite.WorldCenter, 25f);
            yield break;
        }
 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;
                     }
                 }
             }
         }
     }
 }
Esempio n. 10
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);
     }
 }
Esempio n. 11
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);
         }
     }
 }
Esempio n. 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);
     }
 }
Esempio n. 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);
        }
Esempio n. 14
0
        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);
            }
        }
Esempio n. 15
0
        public static void Init()
        {
            goopDefinition = new GoopDefinition();

            goopDefinition.CanBeIgnited   = false;
            goopDefinition.damagesEnemies = false;
            goopDefinition.damagesPlayers = false;
            goopDefinition.baseColor32    = new Color32(237, 93, 239, 200);
            goopDefinition.CanBeFrozen    = false;


            goopDefinition.goopTexture = ResourceExtractor.GetTextureFromResource("LostItems/NuclearThrone/NuclearThroneSprite/water_standard_base_001.png");

            goopDefinition.SpeedModifierEffect              = item.SpeedModifierEffect;
            goopDefinition.AppliesSpeedModifier             = true;
            goopDefinition.AppliesSpeedModifierContinuously = true;
        }
Esempio n. 16
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);
                    }
                }
            }
        }
Esempio n. 17
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));
            }
        }
Esempio n. 18
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;
            }
        }
Esempio n. 19
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);
            }
        }
        public static GoopDefinition GenerateBloodGoop(float dps, Color Color, float lifeSpan = 20)
        {
            GoopDefinition Blood = ScriptableObject.CreateInstance <GoopDefinition>();

            Blood.CanBeIgnited                        = false;
            Blood.damagesEnemies                      = true;
            Blood.damagesPlayers                      = false;
            Blood.baseColor32                         = Color;
            Blood.goopTexture                         = PoisonDef.goopTexture;
            Blood.lifespan                            = lifeSpan;
            Blood.usesLifespan                        = true;
            Blood.damagePerSecondtoEnemies            = dps;
            Blood.CanBeElectrified                    = true;
            Blood.electrifiedTime                     = 1;
            Blood.electrifiedDamagePerSecondToEnemies = 20;
            Blood.electrifiedDamageToPlayer           = 0.5f;
            Blood.goopDamageTypeInteractions          = new List <GoopDefinition.GoopDamageTypeInteraction> {
                new GoopDefinition.GoopDamageTypeInteraction {
                    damageType = CoreDamageTypes.Electric, electrifiesGoop = true
                }
            };
            return(Blood);
        }
        private void DoFireAtPosition(IntVector2 position, float timeToLive)
        {
            if (!m_GoopDefinition)
            {
                m_GoopDefinition = ExpandAssets.LoadOfficialAsset <GoopDefinition>("NapalmGoopThatWorks", ExpandAssets.AssetSource.SharedAuto1);
            }
            GameObject newFireGoopObject = new GameObject("Jungle Fire Object" + UnityEngine.Random.Range(0, 99999));

            newFireGoopObject.transform.position = position.ToVector3(); // + new Vector3(0.5f, 0.5f);
            if (newFireGoopObject.transform.position.GetAbsoluteRoom() != null)
            {
                newFireGoopObject.transform.SetParent(newFireGoopObject.transform.position.GetAbsoluteRoom().hierarchyParent);
            }
            newFireGoopObject.SetActive(false);
            TimedObjectKiller objectKiller = newFireGoopObject.AddComponent <TimedObjectKiller>();

            objectKiller.lifeTime   = timeToLive;
            objectKiller.m_poolType = TimedObjectKiller.PoolType.NonPooled;
            ExpandUtility.GenerateOrAddToRigidBody(newFireGoopObject, CollisionLayer.Trap, PixelCollider.PixelColliderGeneration.Manual, IsTrigger: true, dimensions: new IntVector2(1, 1));
            SpeculativeRigidbody rigidBody = newFireGoopObject.GetComponent <SpeculativeRigidbody>();

            rigidBody.OnTriggerCollision = (SpeculativeRigidbody.OnTriggerDelegate)Delegate.Combine(rigidBody.OnTriggerCollision, new SpeculativeRigidbody.OnTriggerDelegate(HandleTriggerCollision));
            newFireGoopObject.SetActive(true);
        }
Esempio n. 22
0
        private void Update()
        {
            if (GameManager.Instance.Dungeon == null)
            {
                return;
            }
            RoomHandler absoluteRoomFromPosition     = self.GetAbsoluteRoom();
            List <DeadlyDeadlyGoopManager> roomGoops = absoluteRoomFromPosition.RoomGoops;

            if (roomGoops != null)
            {
                for (int i = 0; i < roomGoops.Count; i++)
                {
                    bool isOverGoop = roomGoops[i].IsPositionInGoop(self.specRigidbody.UnitCenter);
                    if (isOverGoop)
                    {
                        IntVector2 goopedCellVector = (self.specRigidbody.UnitCenter / DeadlyDeadlyGoopManager.GOOP_GRID_SIZE).ToIntVector2(VectorConversions.Floor);

                        DeadlyDeadlyGoopManager currentGoopManager = roomGoops[i];
                        GoopDefinition          currentGoopDef     = currentGoopManager.goopDefinition;
                        if (currentGoopDef.AppliesCharm && currentGoopDef.CharmModifierEffect != null)
                        {
                            self.statusEffectsToApply.Add(currentGoopDef.CharmModifierEffect);
                            if (currentGoopDef.CharmModifierEffect.AppliesTint)
                            {
                                self.AdjustPlayerProjectileTint(currentGoopDef.CharmModifierEffect.TintColor, 2);
                            }
                        }
                        if (currentGoopDef.AppliesCheese && currentGoopDef.CheeseModifierEffect != null)
                        {
                            self.statusEffectsToApply.Add(currentGoopDef.CheeseModifierEffect);
                            if (currentGoopDef.CheeseModifierEffect.AppliesTint)
                            {
                                self.AdjustPlayerProjectileTint(currentGoopDef.CheeseModifierEffect.TintColor, 2);
                            }
                        }
                        if (currentGoopDef.AppliesDamageOverTime && currentGoopDef.HealthModifierEffect != null)
                        {
                            self.statusEffectsToApply.Add(currentGoopDef.HealthModifierEffect);
                            if (currentGoopDef.HealthModifierEffect.AppliesTint)
                            {
                                self.AdjustPlayerProjectileTint(currentGoopDef.HealthModifierEffect.TintColor, 2);
                            }
                        }
                        if ((currentGoopDef.AppliesSpeedModifier || currentGoopDef.AppliesSpeedModifierContinuously) && currentGoopDef.SpeedModifierEffect != null)
                        {
                            self.statusEffectsToApply.Add(currentGoopDef.SpeedModifierEffect);
                            if (currentGoopDef.SpeedModifierEffect.AppliesTint)
                            {
                                self.AdjustPlayerProjectileTint(currentGoopDef.HealthModifierEffect.TintColor, 2);
                            }
                        }
                        if (currentGoopDef.damagesEnemies)
                        {
                            self.baseData.damage += currentGoopDef.damagePerSecondtoEnemies;
                            self.AdjustPlayerProjectileTint(currentGoopDef.baseColor32, 2);
                        }

                        if (currentGoopManager.IsPositionOnFire(self.specRigidbody.UnitCenter))
                        {
                            self.statusEffectsToApply.Add(currentGoopDef.fireEffect);
                            if (currentGoopDef.fireEffect.AppliesTint)
                            {
                                self.AdjustPlayerProjectileTint(currentGoopDef.fireEffect.TintColor, 2);
                            }
                        }
                        if (currentGoopManager.IsPositionFrozen(self.specRigidbody.UnitCenter))
                        {
                            self.statusEffectsToApply.Add(StaticStatusEffects.frostBulletsEffect);
                            self.AdjustPlayerProjectileTint(ExtendedColours.frostBulletsTint, 2);
                        }

                        AbsorbedGoops.Add(currentGoopDef);
                        for (int j = 0; j < StaticReferenceManager.AllGoops.Count; j++)
                        {
                            if (StaticReferenceManager.AllGoops[j])
                            {
                                StaticReferenceManager.AllGoops[j].RemoveGoopCircle(self.specRigidbody.UnitCenter, 0.5f);
                            }
                        }
                    }
                }
            }
        }
Esempio n. 23
0
 void SetGoopIndex(int index)
 {
     this.goopIndex = index;
     currentGoop    = goopDefs[index];
     tint           = tints[index];
 }
Esempio n. 24
0
        private void DoGoop(Vector2 pos, GoopDefinition def)
        {
            DeadlyDeadlyGoopManager goop = DeadlyDeadlyGoopManager.GetGoopManagerForGoopType(def);

            goop.TimedAddGoopCircle(pos, 7, 0.75f, true);
        }
        public static void BuildPrefab()
        {
            ExpandPrefabs.EXFriendlyForgeHammer = new GameObject("Friendly_Forge_Hammer")
            {
                layer = 22
            };

            GameObject m_HitEffectObject      = Instantiate(ExpandPrefabs.ForgeHammer.GetComponent <ForgeHammerController>().HitEffectAnimator.gameObject);
            GameObject m_TargetAnimatorObject = Instantiate(ExpandPrefabs.ForgeHammer.GetComponent <ForgeHammerController>().TargetAnimator.gameObject);
            GameObject m_ShadowObject         = Instantiate(ExpandPrefabs.ForgeHammer.GetComponent <ForgeHammerController>().ShadowAnimator.gameObject);
            GameObject m_ShootPointObject     = Instantiate(ExpandPrefabs.ForgeHammer.GetComponent <ForgeHammerController>().ShootPoint.gameObject);

            m_ShootPointObject.name = ExpandPrefabs.ForgeHammer.GetComponent <ForgeHammerController>().ShootPoint.gameObject.name;

            m_HitEffectObject.transform.parent      = ExpandPrefabs.EXFriendlyForgeHammer.transform;
            m_TargetAnimatorObject.transform.parent = ExpandPrefabs.EXFriendlyForgeHammer.transform;
            m_ShadowObject.transform.parent         = ExpandPrefabs.EXFriendlyForgeHammer.transform;
            m_ShootPointObject.transform.parent     = ExpandPrefabs.EXFriendlyForgeHammer.transform;

            ExpandPrefabs.EXFriendlyForgeHammer.SetActive(false);

            m_ShadowObject.GetComponent <tk2dSpriteAnimator>().playAutomatically = false;
            m_ShadowObject.GetComponent <tk2dSpriteAnimator>().DefaultClipId     = 28;

            tk2dSprite m_NewHammerSprite = ExpandPrefabs.EXFriendlyForgeHammer.AddComponent <tk2dSprite>();

            ExpandUtility.DuplicateSprite(m_NewHammerSprite, ExpandPrefabs.ForgeHammer.GetComponent <tk2dSprite>());

            tk2dSpriteAnimation m_SourceHammerAnimationLibrary = ExpandPrefabs.ForgeHammer.GetComponent <tk2dSpriteAnimator>().Library;
            tk2dSpriteAnimation m_HammerAnimationLibrary       = ExpandPrefabs.EXFriendlyForgeHammer.AddComponent <tk2dSpriteAnimation>();

            List <tk2dSpriteAnimationClip> m_Clips = new List <tk2dSpriteAnimationClip>();

            foreach (tk2dSpriteAnimationClip clip in m_SourceHammerAnimationLibrary.clips)
            {
                if (!string.IsNullOrEmpty(clip.name))
                {
                    if (clip.name.ToLower().StartsWith("hammer_right_out"))
                    {
                        m_Clips.Add(ExpandUtility.DuplicateAnimationClip(clip));
                    }
                    else if (clip.name.ToLower().StartsWith("hammer_left_out"))
                    {
                        m_Clips.Add(ExpandUtility.DuplicateAnimationClip(clip));
                    }
                    else if (clip.name.ToLower().StartsWith("hammer_right_slam"))
                    {
                        m_Clips.Add(ExpandUtility.DuplicateAnimationClip(clip));
                    }
                    else if (clip.name.ToLower().StartsWith("hammer_left_slam"))
                    {
                        m_Clips.Add(ExpandUtility.DuplicateAnimationClip(clip));
                    }
                }
            }

            if (m_Clips.Count > 0)
            {
                m_HammerAnimationLibrary.clips = m_Clips.ToArray();
            }

            ExpandUtility.GenerateSpriteAnimator(ExpandPrefabs.EXFriendlyForgeHammer, m_HammerAnimationLibrary, 0, 0, false, false, false, false, false, false, 0, 0, false, false, false);

            ExpandUtility.GenerateOrAddToRigidBody(ExpandPrefabs.EXFriendlyForgeHammer, CollisionLayer.HighObstacle, PixelCollider.PixelColliderGeneration.Manual, true, true, false, false, false, false, false, true, new IntVector2(30, 24), new IntVector2(16, 24));
            ExpandUtility.GenerateOrAddToRigidBody(ExpandPrefabs.EXFriendlyForgeHammer, CollisionLayer.LowObstacle, PixelCollider.PixelColliderGeneration.Manual, true, true, false, false, false, false, false, true, new IntVector2(30, 8), new IntVector2(16, 16));

            AIBulletBank m_HammerBulletBank = ExpandPrefabs.EXFriendlyForgeHammer.AddComponent <AIBulletBank>();

            m_HammerBulletBank.useDefaultBulletIfMissing = true;
            m_HammerBulletBank.transforms = new List <Transform>(0);
            m_HammerBulletBank.Bullets    = new List <AIBulletBank.Entry>()
            {
                new AIBulletBank.Entry()
                {
                    Name                             = "default",
                    BulletObject                     = ExpandPrefabs.EXFriendlyForgeHammerBullet,
                    OverrideProjectile               = false,
                    PlayAudio                        = false,
                    AudioSwitch                      = string.Empty,
                    AudioEvent                       = string.Empty,
                    AudioLimitOncePerFrame           = false,
                    AudioLimitOncePerAttack          = false,
                    MuzzleLimitOncePerFrame          = false,
                    MuzzleInheritsTransformDirection = false,
                    SpawnShells                      = false,
                    ShellForce                       = 1.75f,
                    ShellForceVariance               = 0.75f,
                    DontRotateShell                  = false,
                    ShellGroundOffset                = 0,
                    ShellsLimitOncePerFrame          = false,
                    rampBullets                      = false,
                    rampStartHeight                  = 0,
                    rampTime                         = 0,
                    conditionalMinDegFromNorth       = 0,
                    forceCanHitEnemies               = true,
                    suppressHitEffectsIfOffscreen    = false,
                    preloadCount                     = 0,
                    ProjectileData                   = new ProjectileData()
                    {
                        damage  = 0,
                        speed   = 0,
                        range   = 0,
                        damping = 0,
                        UsesCustomAccelerationCurve     = false,
                        AccelerationCurve               = new AnimationCurve(),
                        CustomAccelerationCurveDuration = 0,
                        onDestroyBulletScript           = new BulletScriptSelector()
                        {
                            scriptTypeName = string.Empty
                        }
                    },
                    MuzzleFlashEffects = new VFXPool()
                    {
                        type = VFXPoolType.None, effects = new VFXComplex[0]
                    }
                }
            };

            GoopDefinition m_HammerGoopDefinition = Instantiate(ExpandPrefabs.ForgeHammer.GetComponent <ForgeHammerController>().GoopToDo);

            ExpandForgeHammerComponent EXFriendlyHammerController = ExpandPrefabs.EXFriendlyForgeHammer.AddComponent <ExpandForgeHammerComponent>();

            EXFriendlyHammerController.HitEffectAnimator = m_HitEffectObject.GetComponent <tk2dSpriteAnimator>();
            EXFriendlyHammerController.TargetAnimator    = m_TargetAnimatorObject.GetComponent <tk2dSpriteAnimator>();
            EXFriendlyHammerController.ShadowAnimator    = m_ShadowObject.GetComponent <tk2dSpriteAnimator>();
            EXFriendlyHammerController.ShootPoint        = m_ShootPointObject.transform;
            EXFriendlyHammerController.GoopToDo          = m_HammerGoopDefinition;

            FakePrefab.MarkAsFakePrefab(ExpandPrefabs.EXFriendlyForgeHammer);
            DontDestroyOnLoad(ExpandPrefabs.EXFriendlyForgeHammer);
        }
Esempio n. 26
0
        private void fuckShitUp(Projectile projectile)
        {
            string header = "";
            string text   = "";
            int    num3   = UnityEngine.Random.Range(0, 19);
            bool   flag3  = num3 == 0;

            if (flag3)
            {
                header = "You got nothing!";
                text   = "Get dunked on!";
            }
            bool flag4 = num3 == 1;

            if (flag4)
            {
                AkSoundEngine.PostEvent("Play_OBJ_chaff_blast_01", base.gameObject);
                this.FlashHoldtime = 3f;
                this.FlashFadetime = 4f;
                Pixelator.Instance.FadeToColor(this.FlashFadetime, Color.white, true, this.FlashHoldtime);
                StickyFrictionManager.Instance.RegisterCustomStickyFriction(0.15f, 4f, false, false); this.FlashHoldtime = 3f;
            }
            bool flag5 = num3 == 2;

            if (flag5)
            {
                header = "Your bullets bounce!";
                text   = "";
                ApplyStat(base.LastOwner, PlayerStats.StatType.AdditionalShotBounces, 2f, StatModifier.ModifyMethod.ADDITIVE);
            }
            bool flag6 = num3 == 3;

            if (flag6)
            {
                header = "You turn to Glass.";
                text   = "";
                ApplyStat(base.LastOwner, PlayerStats.StatType.Damage, 2f, StatModifier.ModifyMethod.MULTIPLICATIVE);
                ApplyStat(base.LastOwner, PlayerStats.StatType.Health, -5f, StatModifier.ModifyMethod.ADDITIVE);
            }
            bool flag7 = num3 == 4;

            if (flag7)
            {
                header = "The Game.";
                text   = "You just lost it.";
            }
            bool flag9 = num3 == 5;

            if (flag9)
            {
                ApplyStat(base.LastOwner, PlayerStats.StatType.AdditionalItemCapacity, 1f, StatModifier.ModifyMethod.ADDITIVE);
                for (int counter = 0; counter < UnityEngine.Random.Range(1f, 9f); counter++)
                {
                    PickupObject var = Gungeon.Game.Items["bny:ancient_whisper"];
                    LootEngine.GivePrefabToPlayer(var.gameObject, base.LastOwner);
                }
            }
            bool flag10 = num3 == 6;

            if (flag10)
            {
                header = "You fool!";
                text   = "";
                ApplyStat(base.LastOwner, PlayerStats.StatType.Curse, 10f, StatModifier.ModifyMethod.ADDITIVE);
            }
            bool flag11 = num3 == 7;

            if (flag11)
            {
                header = "Try again!";
                text   = "";
                for (int counter = 0; counter < UnityEngine.Random.Range(2f, 4f); counter++)
                {
                    PickupObject var = Gungeon.Game.Items["bny:d-grenade"];
                    LootEngine.GivePrefabToPlayer(var.gameObject, base.LastOwner);
                }
            }
            bool flag12 = num3 == 8;

            if (flag12)
            {
                header = "mmm yees";
                text   = "junk";
                for (int counter = 0; counter < UnityEngine.Random.Range(1f, 7f); counter++)
                {
                    LootEngine.GivePrefabToPlayer(PickupObjectDatabase.GetById(127).gameObject, base.LastOwner);
                }
            }
            bool flag13 = num3 == 9;

            if (flag13)
            {
                header = "Unlocks!";
                text   = "";
                for (int counter = 0; counter < UnityEngine.Random.Range(1f, 3f); counter++)
                {
                    LootEngine.GivePrefabToPlayer(PickupObjectDatabase.GetById(67).gameObject, base.LastOwner);
                }
            }
            bool flag14 = num3 == 10;

            if (flag14)
            {
                GameManager.Instance.LoadCustomLevel("tt_bullethell");
            }
            bool flag15 = num3 == 11;

            if (flag15)
            {
                GameManager.Instance.LoadCustomLevel("tt_castle");
            }
            bool flag16 = num3 == 12;

            if (flag16)
            {
                IntVector2 randomVisibleClearSpot6 = base.LastOwner.CurrentRoom.GetRandomVisibleClearSpot(1, 1);
                GameManager.Instance.RewardManager.SpawnRewardChestAt(randomVisibleClearSpot6, -1f, PickupObject.ItemQuality.EXCLUDED);
            }
            bool flag17 = num3 == 13;

            if (flag17)
            {
                Vector3 position = projectile.sprite.WorldCenter;
                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");
                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;
                }
            }
            bool flag18 = num3 == 14;

            if (flag18)
            {
                header = "Oops! Inflation!";
                text   = "";
                ApplyStat(base.LastOwner, PlayerStats.StatType.MoneyMultiplierFromEnemies, 5f, StatModifier.ModifyMethod.MULTIPLICATIVE);
                ApplyStat(base.LastOwner, PlayerStats.StatType.GlobalPriceMultiplier, 5f, StatModifier.ModifyMethod.MULTIPLICATIVE);
            }
            bool flag19 = num3 == 15;

            if (flag19)
            {
                header = "Brrrap Papap Pop!";
                text   = "Pop! Brrrrrap!";
                ApplyStat(base.LastOwner, PlayerStats.StatType.ShadowBulletChance, 10f, StatModifier.ModifyMethod.ADDITIVE);
            }
            bool flag20 = num3 == 16;

            if (flag20)
            {
                header = "Money!";
                text   = "";
                for (int counter = 0; counter < UnityEngine.Random.Range(24f, 96f); counter++)
                {
                    LootEngine.GivePrefabToPlayer(PickupObjectDatabase.GetById(68).gameObject, base.LastOwner);
                }
            }
            bool flag21 = num3 == 17;

            if (flag21)
            {
                for (int counter = 0; counter < UnityEngine.Random.Range(1f, 5f); counter++)
                {
                    LootEngine.GivePrefabToPlayer(PickupObjectDatabase.GetById(224).gameObject, base.LastOwner);
                }
            }
            bool flag22 = num3 == 18;

            if (flag22)
            {
                header = "You can take your time...";
                text   = "";
                ApplyStat(base.LastOwner, PlayerStats.StatType.ProjectileSpeed, .3f, StatModifier.ModifyMethod.MULTIPLICATIVE);
                ApplyStat(base.LastOwner, PlayerStats.StatType.EnemyProjectileSpeedMultiplier, .3f, StatModifier.ModifyMethod.MULTIPLICATIVE);
            }
            bool flag23 = num3 == 19;

            if (flag23)
            {
                LootEngine.GivePrefabToPlayer(PickupObjectDatabase.GetById(137).gameObject, base.LastOwner);
            }
            this.Notify(header, text);
        }
        public static void DefineDefaultGoops()
        {
            //Sets up the goops that have to be extracted from asset bundles
            AssetBundle assetBundle = ResourceManager.LoadAssetBundle("shared_auto_001");

            EasyGoopDefinitions.goopDefs = new List <GoopDefinition>();
            foreach (string text in EasyGoopDefinitions.goops)
            {
                GoopDefinition goopDefinition;
                try
                {
                    GameObject gameObject = assetBundle.LoadAsset(text) as GameObject;
                    goopDefinition = gameObject.GetComponent <GoopDefinition>();
                }
                catch
                {
                    goopDefinition = (assetBundle.LoadAsset(text) as GoopDefinition);
                }
                goopDefinition.name = text.Replace("assets/data/goops/", "").Replace(".asset", "");
                EasyGoopDefinitions.goopDefs.Add(goopDefinition);
            }
            List <GoopDefinition> list = EasyGoopDefinitions.goopDefs;

            //Define the asset bundle goops
            FireDef         = EasyGoopDefinitions.goopDefs[0];
            OilDef          = EasyGoopDefinitions.goopDefs[1];
            PoisonDef       = EasyGoopDefinitions.goopDefs[2];
            BlobulonGoopDef = EasyGoopDefinitions.goopDefs[3];
            WebGoop         = EasyGoopDefinitions.goopDefs[4];
            WaterGoop       = EasyGoopDefinitions.goopDefs[5];

            //HONEY GOOP - An Amber Goop that slows enemies and players
            #region HoneyGoop
            HoneyGoop = new GoopDefinition();
            HoneyGoop.CanBeIgnited                     = false;
            HoneyGoop.damagesEnemies                   = false;
            HoneyGoop.damagesPlayers                   = false;
            HoneyGoop.baseColor32                      = ExtendedColours.honeyYellow;
            HoneyGoop.goopTexture                      = ResourceExtractor.GetTextureFromResource("NevernamedsItems/Resources/honey_standard_base_001.png");
            HoneyGoop.usesLifespan                     = false;
            HoneyGoop.playerStepsChangeLifetime        = true;
            HoneyGoop.playerStepsLifetime              = 2.5f;
            HoneyGoop.AppliesSpeedModifier             = true;
            HoneyGoop.AppliesSpeedModifierContinuously = true;
            HoneyGoop.SpeedModifierEffect              = StaticStatusEffects.HoneySpeedMod;

            PlayerFriendlyHoneyGoop = UnityEngine.Object.Instantiate <GoopDefinition>(HoneyGoop);
            PlayerFriendlyHoneyGoop.SpeedModifierEffect       = StaticStatusEffects.FriendlyHoneySpeedMod;
            PlayerFriendlyHoneyGoop.playerStepsChangeLifetime = false;
            #endregion

            //PROPULSION GOOP - An orange goop that speeds up enemies and players
            #region PropulsionGoop
            PropulsionGoop = new GoopDefinition();
            PropulsionGoop.CanBeIgnited                     = false;
            PropulsionGoop.damagesEnemies                   = false;
            PropulsionGoop.damagesPlayers                   = false;
            PropulsionGoop.baseColor32                      = ExtendedColours.vibrantOrange;
            PropulsionGoop.goopTexture                      = PoisonDef.goopTexture;
            PropulsionGoop.lifespan                         = 30f;
            PropulsionGoop.usesLifespan                     = true;
            PropulsionGoop.AppliesSpeedModifier             = true;
            PropulsionGoop.AppliesSpeedModifierContinuously = true;
            PropulsionGoop.SpeedModifierEffect              = StaticStatusEffects.PropulsionGoopSpeedMod;
            #endregion

            //PLAYER FRIENDLY WEB GOOP - A web-textured goop that slows down enemies, but not players.
            #region PlayerFriendlyWebGoop
            GoopDefinition midInitWeb = UnityEngine.Object.Instantiate <GoopDefinition>(WebGoop);
            midInitWeb.playerStepsChangeLifetime = false;
            midInitWeb.SpeedModifierEffect       = StaticStatusEffects.FriendlyWebGoopSpeedMod;
            PlayerFriendlyWebGoop = midInitWeb;
            #endregion

            //PIT GOOP - A black goop that sucks enemies down into itself
            #region PitGoop
            PitGoop = new GoopDefinition();
            PitGoop.CanBeIgnited   = false;
            PitGoop.damagesEnemies = false;
            PitGoop.damagesPlayers = false;
            PitGoop.baseColor32    = Color.black;
            PitGoop.goopTexture    = ResourceExtractor.GetTextureFromResource("NevernamedsItems/Resources/pitgooptex.png");
            PitGoop.usesLifespan   = true;
            PitGoop.lifespan       = 30f;
            #endregion

            //PLAGUE GOOP - A sickly purple goop that damages enemies over time, and makes them leave a trail that enplagues other enemies.
            #region PlagueGoop
            PlagueGoop = new GoopDefinition();
            PlagueGoop.CanBeIgnited          = false;
            PlagueGoop.damagesEnemies        = false;
            PlagueGoop.damagesPlayers        = false;
            PlagueGoop.baseColor32           = ExtendedColours.plaguePurple;
            PlagueGoop.goopTexture           = PoisonDef.goopTexture;
            PlagueGoop.lifespan              = 10;
            PlagueGoop.usesLifespan          = true;
            PlagueGoop.HealthModifierEffect  = StaticStatusEffects.StandardPlagueEffect;
            PlagueGoop.AppliesDamageOverTime = true;
            #endregion

            //ENEMYFRIENDLY POISON - Poison that doesnt hurt enemies
            #region EnemyFriendlyPoisonGoop
            GoopDefinition midInitPois = UnityEngine.Object.Instantiate <GoopDefinition>(PoisonDef);
            midInitPois.damagesEnemies       = false;
            midInitPois.HealthModifierEffect = StatusEffectHelper.GeneratePoison(3, false, 4);
            EnemyFriendlyPoisonGoop          = midInitPois;
            #endregion

            //ENEMYFRIENDLY FIRE - Fire that doesn't hurt enemies
            #region EnemyFriendlyFireGoop
            GoopDefinition midInitFire = UnityEngine.Object.Instantiate <GoopDefinition>(FireDef);
            midInitFire.damagesEnemies               = false;
            midInitFire.damagePerSecondtoEnemies     = 0;
            midInitFire.fireBurnsEnemies             = false;
            midInitFire.AppliesDamageOverTime        = false;
            midInitFire.fireDamagePerSecondToEnemies = 0;
            EnemyFriendlyFireGoop = midInitFire;
            #endregion

            //PLAYERFRIENDLY POISON - Poison that doesnt hurt the player
            #region PlayerFriendlyPoisonGoop
            GoopDefinition midInitFrenPois = UnityEngine.Object.Instantiate <GoopDefinition>(PoisonDef);
            midInitFrenPois.damagesEnemies       = true;
            midInitFrenPois.damagesPlayers       = false;
            midInitFrenPois.HealthModifierEffect = StatusEffectHelper.GeneratePoison(3, true, 4, false);
            PlayerFriendlyPoisonGoop             = midInitFrenPois;
            #endregion

            //ENEMYFRIENDLY FIRE - Fire that doesn't hurt enemies
            #region PlayerFriendlyFireGoop
            GoopDefinition midInitFrenFire = UnityEngine.Object.Instantiate <GoopDefinition>(FireDef);
            midInitFrenFire.damagesPlayers     = false;
            midInitFrenFire.fireDamageToPlayer = 0;
            PlayerFriendlyFireGoop             = midInitFrenFire;
            #endregion
        }