Esempio n. 1
0
        private void onDestroyed(Projectile proj)
        {
            //plays the sound i made in my sound bank
            AkSoundEngine.PostEvent("Play_Wooden_Box_Break", GameManager.Instance.PrimaryPlayer.gameObject);

            var p = proj.Owner as PlayerController;

            //makes sure player doesnt have who needs money synergy.
            if (!p.PlayerHasActiveSynergy("who even needs money."))
            {
                //spawns 35 casings and 3 hegemony credit,
                //the manual gives it the effect of lootbag, where they disapear over time.
                LootEngine.SpawnCurrencyManual(proj.sprite.WorldCenter, 35);
                LootEngine.SpawnCurrency(proj.sprite.WorldCenter, 3, true);
            }
            else
            {
                //cause explosion
                var data = GameManager.Instance.Dungeon.sharedSettingsPrefab.DefaultExplosionData;
                data.damageToPlayer = 0;
                data.damage         = 5;
                Exploder.Explode(proj.sprite.WorldCenter, data, Vector2.zero, null, false, CoreDamageTypes.None, false);
            }

            //spawns random item at proj position if player has a certain synergy.

            if (p.PlayerHasActiveSynergy("oh you can open that!"))
            {
                var itemtopick = UnityEngine.Random.Range(0, Module.items.Count);
                LootEngine.SpawnItem(Game.Items[Module.items[itemtopick]].gameObject, proj.sprite.WorldCenter, Vector2.zero, 0);
            }
        }
Esempio n. 2
0
 private void GiveRobotLoadout(PlayerController user)
 {
     //Give Battery Bullets
     if (!user.HasPickupID(410))
     {
         PickupObject CharacterPassive = PickupObjectDatabase.GetById(410);
         LastOwner.AcquirePassiveItemPrefabDirectly(CharacterPassive as PassiveItem);
     }
     //Give Robots Right Hand
     if (!user.HasPickupID(88) && !user.HasPickupID(812))
     {
         Gun CharacterStarterGun = (PickupObjectDatabase.GetById(88) as Gun);
         LastOwner.inventory.AddGunToInventory(CharacterStarterGun, true);
     }
     //Give Coolant Leak
     if (!user.HasPickupID(411))
     {
         PickupObject CharacterActive = PickupObjectDatabase.GetById(411);
         LootEngine.SpawnItem(CharacterActive.gameObject, LastOwner.specRigidbody.UnitCenter, Vector2.left, 1f, false, true, false);
     }
     foreach (Gun gun in user.inventory.AllGuns)
     {
         if (gun.GetComponent <Paraglocks>() != null)
         {
             gun.GetComponent <Paraglocks>().idsBuffedByAssociatedDissasociationsSynergy.Add(88);
             gun.GetComponent <Paraglocks>().idsBuffedByAssociatedDissasociationsSynergy.Add(812);
         }
     }
 }
Esempio n. 3
0
 private void GiveMarineLoadout(PlayerController user)
 {
     //Give Military Training
     if (!user.HasPickupID(354))
     {
         PickupObject CharacterPassive = PickupObjectDatabase.GetById(354);
         LastOwner.AcquirePassiveItemPrefabDirectly(CharacterPassive as PassiveItem);
     }
     //Give Marine Sidearm
     if (!user.HasPickupID(86) && !user.HasPickupID(809))
     {
         Gun CharacterStarterGun = (PickupObjectDatabase.GetById(86) as Gun);
         LastOwner.inventory.AddGunToInventory(CharacterStarterGun, true);
     }
     //Give Supply Drop
     if (!user.HasPickupID(77))
     {
         PickupObject CharacterActive = PickupObjectDatabase.GetById(77);
         LootEngine.SpawnItem(CharacterActive.gameObject, LastOwner.specRigidbody.UnitCenter, Vector2.left, 1f, false, true, false);
     }
     //Give 1 Armour
     LootEngine.GivePrefabToPlayer(PickupObjectDatabase.GetById(120).gameObject, LastOwner);
     foreach (Gun gun in user.inventory.AllGuns)
     {
         if (gun.GetComponent <Paraglocks>() != null)
         {
             gun.GetComponent <Paraglocks>().idsBuffedByAssociatedDissasociationsSynergy.Add(86);
             gun.GetComponent <Paraglocks>().idsBuffedByAssociatedDissasociationsSynergy.Add(809);
         }
     }
 }
Esempio n. 4
0
 private void GivePilotLoadout(PlayerController user)
 {
     //Give Disarming Personality
     if (!user.HasPickupID(187))
     {
         PickupObject EnragingPhoto = PickupObjectDatabase.GetById(187);
         LastOwner.AcquirePassiveItemPrefabDirectly(EnragingPhoto as PassiveItem);
     }
     //Give Hidden Compartment
     if (!user.HasPickupID(473))
     {
         PickupObject EnragingPhoto = PickupObjectDatabase.GetById(473);
         LastOwner.AcquirePassiveItemPrefabDirectly(EnragingPhoto as PassiveItem);
     }
     //Give Rogue Special
     if (!user.HasPickupID(89) && !user.HasPickupID(651))
     {
         Gun RustySidearm = (PickupObjectDatabase.GetById(89) as Gun);
         LastOwner.inventory.AddGunToInventory(RustySidearm, true);
     }
     //Give Trusty Lockpicks
     if (!user.HasPickupID(356))
     {
         PickupObject Molotov = PickupObjectDatabase.GetById(356);
         LootEngine.SpawnItem(Molotov.gameObject, LastOwner.specRigidbody.UnitCenter, Vector2.left, 1f, false, true, false);
     }
     foreach (Gun gun in user.inventory.AllGuns)
     {
         if (gun.GetComponent <Paraglocks>() != null)
         {
             gun.GetComponent <Paraglocks>().idsBuffedByAssociatedDissasociationsSynergy.Add(89);
             gun.GetComponent <Paraglocks>().idsBuffedByAssociatedDissasociationsSynergy.Add(651);
         }
     }
 }
 private void GiveMastery()
 {
     if (GameManager.Instance.Dungeon.BossMasteryTokenItemId > 0)
     {
         LootEngine.SpawnItem((PickupObjectDatabase.GetById(GameManager.Instance.Dungeon.BossMasteryTokenItemId).gameObject), Owner.sprite.WorldCenter, Vector2.zero, 0);
     }
 }
Esempio n. 6
0
 public Action <Vector2> moneydebuff3Mark(GameActor actor)
 {
     LootEngine.SpawnItem(PickupObjectDatabase.GetById(68).gameObject, actor.specRigidbody.UnitCenter, actor.specRigidbody.UnitCenter, 1f, false, true, false);
     LootEngine.SpawnItem(PickupObjectDatabase.GetById(68).gameObject, actor.specRigidbody.UnitCenter, actor.specRigidbody.UnitCenter, 1f, false, true, false);
     LootEngine.SpawnItem(PickupObjectDatabase.GetById(68).gameObject, actor.specRigidbody.UnitCenter, actor.specRigidbody.UnitCenter, 1f, false, true, false);
     throw new NotImplementedException();
 }
            private void OnDamaged(PlayerController player)
            {
                float procChance;

                if (Owner.PlayerHasActiveSynergy("Good Lads"))
                {
                    procChance = 0.6f;
                }
                else
                {
                    procChance = 0.4f;
                }
                if (UnityEngine.Random.value < procChance)
                {
                    int amountOfStuffToSpawn = 1;
                    if (Owner.PlayerHasActiveSynergy("Worship"))
                    {
                        amountOfStuffToSpawn += 1;
                    }
                    for (int i = 0; i < amountOfStuffToSpawn; i++)
                    {
                        int lootID = BraveUtility.RandomElement(lootIDlist);
                        LootEngine.SpawnItem(PickupObjectDatabase.GetById(lootID).gameObject, base.aiActor.sprite.WorldCenter, Vector2.zero, 1f, false, true, false);
                    }
                }
            }
Esempio n. 8
0
 public void SliceHeart(Vector3 position, HealthHaver enemyHealth)
 {
     {
         LootEngine.SpawnItem(ETGMod.Databases.Items["Great Dragun Heart"].gameObject, base.Owner.specRigidbody.UnitCenter, Vector2.down, 1f, false, true, false);
     }
     base.Owner.DropPassiveItem(this);
 }
Esempio n. 9
0
 private void OnEnemyDamaged(float damage, bool fatal, HealthHaver enemy)
 {
     if (enemy.specRigidbody != null && enemy.aiActor != null && base.Owner != null && enemy != null)
     {
         if (fatal)
         {
             if (BoxOTools.BasicRandom(0.97f))
             {
                 if (BoxOTools.BasicRandom(0.99f) && !base.Owner.HasPickupID(580) && !base.Owner.HasPickupID(641))
                 {
                     if (BoxOTools.BasicRandom(0.05f) && !base.Owner.HasPickupID(580))
                     {
                         LootEngine.SpawnItem(PickupObjectDatabase.GetById(580).gameObject, enemy.specRigidbody.UnitCenter, Vector2.zero, 1f, false, true, false);
                     }
                     else if (!base.Owner.HasPickupID(641))
                     {
                         LootEngine.SpawnItem(PickupObjectDatabase.GetById(641).gameObject, enemy.specRigidbody.UnitCenter, Vector2.zero, 1f, false, true, false);
                     }
                 }
                 else
                 {
                     LootEngine.SpawnItem(PickupObjectDatabase.GetById(127).gameObject, enemy.specRigidbody.UnitCenter, Vector2.zero, 1f, false, true, false);
                 }
             }
         }
     }
 }
 private void HandleHitEnemy(Projectile sourceProjectile, SpeculativeRigidbody hitRigidbody, bool fatal)
 {
     if (fatal == true)
     {
         LootEngine.SpawnItem(PickupObjectDatabase.GetById(595).gameObject, sourceProjectile.specRigidbody.UnitCenter, new Vector2(0, 0), 1f, false, true, false);
     }
 }
Esempio n. 11
0
        private IEnumerator SpawnItem(int itemID)
        {
            GameObject ItemToSpawn     = PickupObjectDatabase.GetById(itemID).gameObject;
            Vector3?   SpawnPosition   = null;
            Vector3    ItemSpawnOffset = new Vector3(-0.5f, 0.5f, 0);
            Vector3    GunSpawnOffset  = new Vector3(0, 0.5f, 0);

            if (specRigidbody)
            {
                SpawnPosition = specRigidbody.GetPixelCollider(ColliderType.Any).UnitCenter;
            }
            else
            {
                SpawnPosition = sprite.WorldCenter.ToVector3ZUp();
            }
            yield return(null);

            if (ItemToSpawn.GetComponent <Gun>())
            {
                GameObject newGun = Instantiate(ItemToSpawn);
                newGun.GetComponent <tk2dBaseSprite>().PlaceAtPositionByAnchor((SpawnPosition.Value + GunSpawnOffset), tk2dBaseSprite.Anchor.MiddleCenter);
                Gun gunComponent = newGun.GetComponent <Gun>();
                gunComponent.Initialize(null);
                gunComponent.DropGun(0.5f);
            }
            else
            {
                LootEngine.SpawnItem(ItemToSpawn, (SpawnPosition.Value + ItemSpawnOffset), Vector2.zero, 0f, false, false, false);
            }
            spriteAnimator.PlayAndDestroyObject("bustopen");
            yield break;
        }
        private void RoomCleared(PlayerController obj)
        {
            float value = UnityEngine.Random.Range(0.0f, 1.0f);
            bool  flag  = value < 0.001;

            if (flag)
            {
                PickupObject byId = PickupObjectDatabase.GetById(641);
                LootEngine.SpawnItem(byId.gameObject, obj.specRigidbody.UnitCenter, Vector2.up, 1f, false, true, false);
            }
            else
            {
                bool flag2 = value < 0.002;
                if (flag2)
                {
                    PickupObject byId = PickupObjectDatabase.GetById(580);
                    LootEngine.SpawnItem(byId.gameObject, obj.specRigidbody.UnitCenter, Vector2.up, 1f, false, true, false);
                }
                else
                {
                    bool flag3 = value < 0.103;
                    if (flag3)
                    {
                        PickupObject byId = PickupObjectDatabase.GetById(127);
                        LootEngine.SpawnItem(byId.gameObject, obj.specRigidbody.UnitCenter, Vector2.up, 1f, false, true, false);
                    }
                    else
                    {
                        return;
                    }
                }
            }
        }
Esempio n. 13
0
        protected override void DoEffect(PlayerController user)
        {
            int  num3  = UnityEngine.Random.Range(0, 5);
            bool flag3 = num3 == 0;

            if (flag3)
            {
                LootEngine.SpawnItem(ETGMod.Databases.Items["Corrupt Sensor Module"].gameObject, user.specRigidbody.UnitCenter, Vector2.zero, 1f, false, true, false);
            }
            bool flag4 = num3 == 1;

            if (flag4)
            {
                LootEngine.SpawnItem(ETGMod.Databases.Items["Corrupt Accuracy Module"].gameObject, user.specRigidbody.UnitCenter, Vector2.zero, 1f, false, true, false);
            }
            bool flag5 = num3 == 2;

            if (flag5)
            {
                LootEngine.SpawnItem(ETGMod.Databases.Items["Corrupt Cooling Module"].gameObject, user.specRigidbody.UnitCenter, Vector2.zero, 1f, false, true, false);
            }
            bool flag6 = num3 == 3;

            if (flag6)
            {
                LootEngine.SpawnItem(ETGMod.Databases.Items["Corrupt Fitting Module"].gameObject, user.specRigidbody.UnitCenter, Vector2.zero, 1f, false, true, false);
            }
            bool flag7 = num3 == 4;

            if (flag7)
            {
                LootEngine.SpawnItem(ETGMod.Databases.Items["Corrupt Damage Module"].gameObject, user.specRigidbody.UnitCenter, Vector2.zero, 1f, false, true, false);
            }
        }
Esempio n. 14
0
        private void BreakEgg(float resultValue, float maxValue, CoreDamageTypes damageTypes, DamageCategory damageCategory, Vector2 damageDirection)
        {
            float value = UnityEngine.Random.Range(0.0f, 1.0f);
            bool  flag  = value < 0.15;

            if (flag && !Owner.HasPickupID(817))
            {
                PlayerController player    = this.Owner;
                float            curHealth = player.healthHaver.GetCurrentHealth();
                AkSoundEngine.PostEvent("Play_WPN_egg_impact_01", base.gameObject);

                player.PlayEffectOnActor(ResourceCache.Acquire("Global VFX/VFX_Healing_Sparkles_001") as GameObject, Vector3.zero, true, false, false);
                player.healthHaver.ForceSetCurrentHealth(curHealth + 0.5f);

                UnityEngine.Object.Destroy(base.gameObject, 1f);
                player.DropPassiveItem(this);

                PickupObject.ItemQuality itemQuality          = PickupObject.ItemQuality.D;
                PickupObject             itemOfTypeAndQuality = LootEngine.GetItemOfTypeAndQuality <PickupObject>(itemQuality, (UnityEngine.Random.value >= 0.5f) ? GameManager.Instance.RewardManager.GunsLootTable : GameManager.Instance.RewardManager.ItemsLootTable, false);
                if (itemOfTypeAndQuality)
                {
                    LootEngine.SpawnItem(itemOfTypeAndQuality.gameObject, base.transform.position, Vector2.up, 0.1f, true, false, false);
                }
            }

            else
            {
                return;
            }
        }
Esempio n. 15
0
        private void Start()
        {
            //base.aiActor.HasBeenEngaged = true;
            base.aiActor.healthHaver.OnPreDeath += (obj) =>
            {
                //AkSoundEngine.PostEvent("Play_ENM_beholster_death_01", base.aiActor.gameObject);
                //Chest chest2 = GameManager.Instance.RewardManager.SpawnTotallyRandomChest(spawnspot)rg;
                //chest2.IsLocked = false;
            };
            base.healthHaver.healthHaver.OnDeath += (obj) =>
            {
                float itemsToSpawn = UnityEngine.Random.Range(3, 6);
                float spewItemDir  = 360 / itemsToSpawn;
                // new Vector2(spewItemDir * itemsToSpawn, 0);

                for (int i = 0; i < itemsToSpawn; i++)
                {
                    int id = BraveUtility.RandomElement <int>(TheStranger.Lootdrops);
                    LootEngine.SpawnItem(PickupObjectDatabase.GetById(id).gameObject, base.aiActor.sprite.WorldCenter, new Vector2(spewItemDir * itemsToSpawn, spewItemDir * itemsToSpawn), 2.2f, false, true, false);
                }

                Chest chest2 = GameManager.Instance.RewardManager.SpawnTotallyRandomChest(GameManager.Instance.PrimaryPlayer.CurrentRoom.GetRandomVisibleClearSpot(1, 1));
                chest2.IsLocked = false;
            };;
            this.aiActor.knockbackDoer.SetImmobile(true, "nope.");
        }
Esempio n. 16
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)
 {
     if (ChallengeManager.Instance == false)
     {
         ChallengeManager.ChallengeModeType = ChallengeModeType.GunslingKingTemporary;
         challengeLevel += 3;
         RoomHandler absoluteRoom = base.transform.position.GetAbsoluteRoom();
         absoluteRoom.IsGunslingKingChallengeRoom = true;
         int rewards = UnityEngine.Random.Range(1, 9);
         if (rewards == 1)
         {
             LootEngine.SpawnItem(Gungeon.Game.Items["junk"].gameObject, user.specRigidbody.UnitCenter, Vector2.down, 0.5f, false, true, false);
         }
         if (rewards == 2)
         {
             LootEngine.SpawnItem(PickupObjectDatabase.GetById(68).gameObject, user.specRigidbody.UnitCenter, Vector2.left, 1f, false, true, false);
         }
         if (rewards == 3)
         {
             LootEngine.SpawnItem(PickupObjectDatabase.GetById(70).gameObject, user.specRigidbody.UnitCenter, Vector2.left, 1f, false, true, false);
         }
         if (rewards == 4)
         {
             LootEngine.SpawnItem(PickupObjectDatabase.GetById(297).gameObject, user.specRigidbody.UnitCenter, Vector2.left, 1f, false, true, false);
         }
         if (rewards == 5)
         {
             LootEngine.SpawnItem(PickupObjectDatabase.GetById(120).gameObject, user.specRigidbody.UnitCenter, Vector2.left, 1f, false, true, false);
         }
         if (rewards == 6)
         {
             LootEngine.SpawnItem(PickupObjectDatabase.GetById(73).gameObject, user.specRigidbody.UnitCenter, Vector2.left, 1f, false, true, false);
         }
         if (rewards == 7)
         {
             LootEngine.SpawnItem(PickupObjectDatabase.GetById(224).gameObject, user.specRigidbody.UnitCenter, Vector2.left, 1f, false, true, false);
         }
         if (rewards == 8)
         {
             LootEngine.SpawnItem(PickupObjectDatabase.GetById(137).gameObject, user.specRigidbody.UnitCenter, Vector2.left, 1f, false, true, false);
         }
         if (ChallengeManager.Instance == false)
         {
             this.Notify("Consolation Prize", "Good Luck.");
             int rewards2 = UnityEngine.Random.Range(1, 4);
             if (rewards2 == 1)
             {
                 LootEngine.SpawnItem(PickupObjectDatabase.GetById(70).gameObject, user.specRigidbody.UnitCenter, Vector2.left, 1f, false, true, false);
             }
             if (rewards2 == 2)
             {
                 LootEngine.SpawnItem(PickupObjectDatabase.GetById(68).gameObject, user.specRigidbody.UnitCenter, Vector2.left, 1f, false, true, false);
             }
             if (rewards2 == 3)
             {
                 LootEngine.SpawnItem(PickupObjectDatabase.GetById(70).gameObject, user.specRigidbody.UnitCenter, Vector2.left, 1f, false, true, false);
             }
         }
     }
 }
Esempio n. 17
0
 private void GiveConvictLoadout(PlayerController user)
 {
     //Give Enraging Photo
     if (!user.HasPickupID(353))
     {
         PickupObject EnragingPhoto = PickupObjectDatabase.GetById(353);
         LastOwner.AcquirePassiveItemPrefabDirectly(EnragingPhoto as PassiveItem);
     }
     //Give SawedOff
     if (!user.HasPickupID(202))
     {
         Gun SawedOff = (PickupObjectDatabase.GetById(202) as Gun);
         LastOwner.inventory.AddGunToInventory(SawedOff, true);
     }
     //Give Budget Revolver
     if (!user.HasPickupID(80) && !user.HasPickupID(652))
     {
         Gun RustySidearm = (PickupObjectDatabase.GetById(80) as Gun);
         LastOwner.inventory.AddGunToInventory(RustySidearm, true);
     }
     //Give Molotov
     if (!user.HasPickupID(366))
     {
         PickupObject Molotov = PickupObjectDatabase.GetById(366);
         LootEngine.SpawnItem(Molotov.gameObject, LastOwner.specRigidbody.UnitCenter, Vector2.left, 1f, false, true, false);
     }
     foreach (Gun gun in user.inventory.AllGuns)
     {
         if (gun.GetComponent <Paraglocks>() != null)
         {
             gun.GetComponent <Paraglocks>().idsBuffedByAssociatedDissasociationsSynergy.Add(80);
             gun.GetComponent <Paraglocks>().idsBuffedByAssociatedDissasociationsSynergy.Add(652);
         }
     }
 }
Esempio n. 18
0
        protected override void DoEffect(PlayerController user)
        {
            if (user.CurrentRoom == null)
            {
                return;
            }
            base.DoEffect(user);
            try
            {
                float curse = user.stats.GetStatValue(PlayerStats.StatType.Curse);
                LootEngine.DoDefaultPurplePoof(user.specRigidbody.UnitCenter);
                if (curse < 1)
                {
                    LootEngine.SpawnItem(PickupObjectDatabase.GetById(GlobalItemIds.Junk).gameObject, user.specRigidbody.UnitCenter, Vector2.zero, 1);
                    return;
                }
                if (curse < 2)
                {
                    Chest chest = GameManager.Instance.RewardManager.D_Chest;
                    SpawnJamChest(chest, user);
                    return;
                }
                if (curse < 3)
                {
                    Chest chest = GameManager.Instance.RewardManager.C_Chest;
                    SpawnJamChest(chest, user);
                    return;
                }
                if (curse < 5)
                {
                    Chest chest = GameManager.Instance.RewardManager.B_Chest;
                    SpawnJamChest(chest, user);
                    return;
                }
                if (curse < 7)
                {
                    Chest chest = GameManager.Instance.RewardManager.A_Chest;
                    SpawnJamChest(chest, user);
                    return;
                }
                if (curse < 9)
                {
                    Chest chest = GameManager.Instance.RewardManager.S_Chest;
                    SpawnJamChest(chest, user);
                    return;
                }

                Chest rainbowChest = GameManager.Instance.RewardManager.Rainbow_Chest;
                SpawnJamChest(rainbowChest, user);
                if (curse >= 15)
                {
                    LootEngine.SpawnItem(PickupObjectDatabase.GetById(GlobalItemIds.GoldJunk).gameObject, user.specRigidbody.UnitCenter, Vector2.zero, 1);
                    return;
                }
            } catch (Exception lerror)
            {
                ETGModConsole.Log(lerror.ToString());
            }
        }
Esempio n. 19
0
 protected override void DoEffect(PlayerController user)
 {
     if (user.CharacterUsesRandomGuns)
     {
         itemToGiveQuality = PickupObject.ItemQuality.D;
         spawnRecycledItem();
         itemToGiveQuality = PickupObject.ItemQuality.C;
         spawnRecycledItem();
         itemToGiveQuality = PickupObject.ItemQuality.B;
         spawnRecycledItem();
         itemToGiveQuality = PickupObject.ItemQuality.A;
         spawnRecycledItem();
         itemToGiveQuality = PickupObject.ItemQuality.S;
         spawnRecycledItem();
         user.RemoveActiveItem(this.PickupObjectId);
     }
     else
     {
         if (user.CurrentGun.CanActuallyBeDropped(user))
         {
             Gun currentGun = user.CurrentGun;
             PickupObject.ItemQuality itemQuality = currentGun.quality;
             user.inventory.DestroyCurrentGun();
             if (currentGun.quality == PickupObject.ItemQuality.D)
             {
                 itemToGiveQuality = PickupObject.ItemQuality.D;
                 spawnRecycledItem();
             }
             else if (currentGun.quality == PickupObject.ItemQuality.C)
             {
                 itemToGiveQuality = PickupObject.ItemQuality.C;
                 spawnRecycledItem();
             }
             else if (currentGun.quality == PickupObject.ItemQuality.B)
             {
                 itemToGiveQuality = PickupObject.ItemQuality.B;
                 spawnRecycledItem();
             }
             else if (currentGun.quality == PickupObject.ItemQuality.A)
             {
                 itemToGiveQuality = PickupObject.ItemQuality.A;
                 spawnRecycledItem();
             }
             else if (currentGun.quality == PickupObject.ItemQuality.S)
             {
                 itemToGiveQuality = PickupObject.ItemQuality.S;
                 spawnRecycledItem();
             }
             else
             {
                 LootEngine.SpawnItem(PickupObjectDatabase.GetById(127).gameObject, LastOwner.specRigidbody.UnitCenter, Vector2.zero, 1f, false, true, false);
             }
         }
         else
         {
             return;
         }
     }
 }
Esempio n. 20
0
        protected override void DoEffect(PlayerController user)
        {
            AkSoundEngine.PostEvent("Play_OBJ_power_up_01", base.gameObject);
            PlayerController player = this.LastOwner;

            LootEngine.SpawnItem(PickupObjectDatabase.GetById(541).gameObject, player.specRigidbody.UnitCenter, Vector2.left, 1f, false, true, false);
            LootEngine.SpawnItem(PickupObjectDatabase.GetById(580).gameObject, player.specRigidbody.UnitCenter, Vector2.right, 1f, false, true, false);
        }
Esempio n. 21
0
 private void OnHitEnemy(Projectile bullet, SpeculativeRigidbody enemy, bool fuckingsomethingidk)
 {
     if (bullet != null && bullet.specRigidbody != null)
     {
         LootEngine.SpawnItem(PickupObjectDatabase.GetById(68).gameObject, bullet.specRigidbody.UnitCenter, Vector2.zero, 1f, false, true, false);
         bullet.OnHitEnemy -= this.OnHitEnemy;
     }
 }
Esempio n. 22
0
        public override void Pickup(PlayerController player)
        {
            base.Pickup(player);
            player.healthHaver.FullHeal();
            PickupObject byId2 = PickupObjectDatabase.GetById(600);

            LootEngine.SpawnItem(byId2.gameObject, player.specRigidbody.UnitCenter, Vector2.up, 1f, false, true, false);
        }
 private void SpawnMundaneLoot()
 {
     if (base.aiActor && base.aiActor.healthHaver && base.aiActor.healthHaver.IsAlive)
     {
         int lootID = BraveUtility.RandomElement(lootIDlist);
         LootEngine.SpawnItem(PickupObjectDatabase.GetById(lootID).gameObject, base.aiActor.sprite.WorldCenter, Vector2.zero, 1f, false, true, false);
     }
 }
Esempio n. 24
0
        // Token: 0x060006D4 RID: 1748 RVA: 0x0003AD10 File Offset: 0x00038F10
        public static void Accept(PlayerController player, GameObject npc)
        {
            PickupObject.ItemQuality itemQuality          = ItemQuality.D;
            PickupObject             itemOfTypeAndQuality = LootEngine.GetItemOfTypeAndQuality <Gun>(itemQuality, GameManager.Instance.RewardManager.GunsLootTable, false);

            LootEngine.SpawnItem(itemOfTypeAndQuality.gameObject, player.specRigidbody.UnitCenter, Vector2.down, 1f, false, true, false);
            OldManBreach.storedPlayer = player;
        }
Esempio n. 25
0
 private void OnEnemyDamaged(float damage, bool fatal, HealthHaver enemyHealth)
 {
     if (enemyHealth.specRigidbody != null)
     {
         bool flag2 = enemyHealth.aiActor && fatal;
         if (flag2)
         {
             if (ItemChanceBoost == true)
             {
                 this.random = UnityEngine.Random.Range(0.00f, 1.00f);
                 if (random <= 0.08f)
                 {
                     this.RollRnG();
                     this.Spawnquality = (PickupObject.ItemQuality)(RnG);
                     this.target       = LootEngine.GetItemOfTypeAndQuality <PickupObject>(this.Spawnquality, GameManager.Instance.RewardManager.ItemsLootTable, false);
                     LootEngine.SpawnItem(this.target.gameObject, enemyHealth.specRigidbody.UnitCenter, Vector2.down, 0f, false, true, false);
                     ItemChanceBoost = false;
                 }
             }
             else //if (ItemChanceBoost == false)
             {
                 this.random = UnityEngine.Random.Range(0.00f, 1.00f);
                 if (random <= 0.025f)
                 {
                     this.RollRnG();
                     this.Spawnquality = (PickupObject.ItemQuality)(RnG);
                     this.target       = LootEngine.GetItemOfTypeAndQuality <PickupObject>(this.Spawnquality, GameManager.Instance.RewardManager.ItemsLootTable, false);
                     LootEngine.SpawnItem(this.target.gameObject, enemyHealth.specRigidbody.UnitCenter, Vector2.down, 0f, false, true, false);
                 }
             }
             {
                 if (GunChanceBoost == true)
                 {
                     this.random = UnityEngine.Random.Range(0.00f, 1.00f);
                     if (random <= 0.08f)
                     {
                         this.RollRnG();
                         this.Spawnquality = (PickupObject.ItemQuality)(RnG);
                         this.target1      = LootEngine.GetItemOfTypeAndQuality <PickupObject>(this.Spawnquality, GameManager.Instance.RewardManager.GunsLootTable, false);
                         LootEngine.SpawnItem(this.target1.gameObject, enemyHealth.specRigidbody.UnitCenter, Vector2.down, 0f, false, true, false);
                         GunChanceBoost = false;
                     }
                 }
                 else                        // if (GunChanceBoost == false)
                 {
                     this.random = UnityEngine.Random.Range(0.00f, 1.00f);
                     if (random <= 0.025f)
                     {
                         this.RollRnG();
                         this.Spawnquality = (PickupObject.ItemQuality)(RnG);
                         this.target1      = LootEngine.GetItemOfTypeAndQuality <PickupObject>(this.Spawnquality, GameManager.Instance.RewardManager.GunsLootTable, false);
                         LootEngine.SpawnItem(this.target1.gameObject, enemyHealth.specRigidbody.UnitCenter, Vector2.down, 0f, false, true, false);
                     }
                 }
             }
         }
     }
 }
Esempio n. 26
0
        private void DropRandomConsumable(Vector2 obj)
        {
            int bighead = UnityEngine.Random.Range(1, 14);

            if (bighead == 1)
            {
                LootEngine.SpawnItem(PickupObjectDatabase.GetById(73).gameObject, obj.ToVector3XUp(0), Vector2.down, 1f, false, true, false);
            }
            if (bighead == 2)
            {
                LootEngine.SpawnItem(PickupObjectDatabase.GetById(85).gameObject, obj.ToVector3XUp(0), Vector2.down, 1f, false, true, false);
            }
            if (bighead == 3)
            {
                LootEngine.SpawnItem(PickupObjectDatabase.GetById(68).gameObject, obj.ToVector3XUp(0), Vector2.down, 1f, false, true, false);
            }
            if (bighead == 4)
            {
                LootEngine.SpawnItem(PickupObjectDatabase.GetById(70).gameObject, obj.ToVector3XUp(0), Vector2.down, 1f, false, true, false);
            }
            if (bighead == 5)
            {
                LootEngine.SpawnItem(PickupObjectDatabase.GetById(120).gameObject, obj.ToVector3XUp(0), Vector2.down, 1f, false, true, false);
            }
            if (bighead == 6)
            {
                LootEngine.SpawnItem(PickupObjectDatabase.GetById(565).gameObject, obj.ToVector3XUp(0), Vector2.down, 1f, false, true, false);
            }
            if (bighead == 7)
            {
                LootEngine.SpawnItem(PickupObjectDatabase.GetById(600).gameObject, obj.ToVector3XUp(0), Vector2.down, 1f, false, true, false);

                if (bighead == 8)
                {
                    LootEngine.SpawnItem(PickupObjectDatabase.GetById(73).gameObject, obj.ToVector3XUp(0), Vector2.down, 1f, false, true, false);
                }
                if (bighead == 9)
                {
                    LootEngine.SpawnItem(PickupObjectDatabase.GetById(85).gameObject, obj.ToVector3XUp(0), Vector2.down, 1f, false, true, false);
                }
                if (bighead == 10)
                {
                    LootEngine.SpawnItem(PickupObjectDatabase.GetById(68).gameObject, obj.ToVector3XUp(0), Vector2.down, 1f, false, true, false);
                }
                if (bighead == 11)
                {
                    LootEngine.SpawnItem(PickupObjectDatabase.GetById(70).gameObject, obj.ToVector3XUp(0), Vector2.down, 1f, false, true, false);
                }
                if (bighead == 12)
                {
                    LootEngine.SpawnItem(PickupObjectDatabase.GetById(120).gameObject, obj.ToVector3XUp(0), Vector2.down, 1f, false, true, false);
                }
                if (bighead == 13)
                {
                    LootEngine.SpawnItem(PickupObjectDatabase.GetById(565).gameObject, obj.ToVector3XUp(0), Vector2.down, 1f, false, true, false);
                }
            }
        }
Esempio n. 27
0
        private void RerollItem(DebrisObject debris)
        {
            int          checkLimit   = 0;
            PickupObject targetedItem = debris.gameObject.GetComponent <PickupObject>();

            if (targetedItem != null)
            {
                ItemQuality  targetTier               = targetedItem.quality;
                int          chanceToDowngrade        = 10;
                int          chanceToUpgrade          = 80;
                ItemQuality  newItemQuality           = targetTier;
                PickupObject newItemObject            = PickupObjectDatabase.GetByName("cel:test_item");
                int          RollToCheckUpgradeStatus = UnityEngine.Random.Range(0, 101);
                if (RollToCheckUpgradeStatus <= chanceToDowngrade && targetTier != ItemQuality.D)
                {
                    newItemQuality = targetTier - 1;
                }
                else if (RollToCheckUpgradeStatus >= chanceToUpgrade && targetTier != ItemQuality.S)
                {
                    newItemQuality = targetTier + 1;
                }
                GenericLootTable lootTableItems = GameManager.Instance.RewardManager.ItemsLootTable;

                if (targetedItem is PassiveItem)
                {
                    do
                    {
                        newItemObject = LootEngine.GetItemOfTypeAndQuality <PassiveItem>(newItemQuality, lootTableItems);
                        checkLimit++;
                    } while (newItemObject.PickupObjectId == targetedItem.PickupObjectId && checkLimit < 10);
                }
                else if (targetedItem is PlayerItem)
                {
                    do
                    {
                        newItemObject = LootEngine.GetItemOfTypeAndQuality <PlayerItem>(newItemQuality, lootTableItems);
                        checkLimit++;
                    } while (newItemObject.PickupObjectId == targetedItem.PickupObjectId && checkLimit < 10);
                }

                if (UnityEngine.Random.Range(0, 101) <= 1)
                {
                    Chest rainbow_Chest = GameManager.Instance.RewardManager.Rainbow_Chest;
                    Chest chest2        = Chest.Spawn(rainbow_Chest, targetedItem.sprite.WorldCenter.ToIntVector2(VectorConversions.Round));
                    chest2.BecomeGlitchChest();
                    chest2.sprite.renderer.material.shader = ShaderCache.Acquire("Brave/Internal/RainbowChestShader");

                    chest2.RegisterChestOnMinimap(chest2.GetAbsoluteParentRoom());
                }
                else
                {
                    LootEngine.DoDefaultPurplePoof(targetedItem.sprite.WorldCenter);
                    LootEngine.SpawnItem(newItemObject.gameObject, targetedItem.sprite.WorldCenter, Vector2.zero, 0);
                }
                Destroy(targetedItem.gameObject);
            }
        }
 private void DoReroll()
 {
     foreach (DebrisObject debris in pickupsInRoom)
     {
         Vector2 pos = debris.transform.position;
         LootEngine.SpawnItem(PickupObjectDatabase.GetById(BraveUtility.RandomElement(validIDs)).gameObject, pos, Vector2.zero, 1f, false, true, false);
         Destroy(debris.gameObject);
     }
 }
Esempio n. 29
0
 private void OnHitEnemy(Projectile arg1, SpeculativeRigidbody arg2, bool arg3)
 {
     if (arg2 != null && arg2.aiActor != null && Owner != null && arg2.healthHaver && arg2.healthHaver.IsVulnerable)
     {
         if (BoxOTools.BasicRandom(0.97f))
         {
             LootEngine.SpawnItem(PickupObjectDatabase.GetById(68).gameObject, arg2.UnitCenter, Vector2.zero, 1f, false, true, true);
         }
     }
 }
 private void SpawnCasingSynergy(float damage, bool fatal, HealthHaver enemy)
 {
     if (enemy && enemy.aiActor && fatal)
     {
         if (Owner.HasPickupID(93) || Owner.HasPickupID(321) || Owner.HasPickupID(641) || Owner.HasPickupID(53) || Owner.HasPickupID(231) || Owner.HasPickupID(532) || Owner.HasPickupID(Gungeon.Game.Items["nn:golden_armour"].PickupObjectId) || Owner.HasPickupID(Gungeon.Game.Items["nn:gold_guon_stone"].PickupObjectId))
         {
             LootEngine.SpawnItem(PickupObjectDatabase.GetById(68).gameObject, enemy.specRigidbody.UnitCenter, Vector2.zero, 1f, false, true, false);
         }
     }
 }