Esempio n. 1
0
        public static void TheftItems_OnLootSpawned(object sender, ContainerLootSpawnedEventArgs e)
        {
            if (e.ContainerType == LootContainerTypes.HouseContainers)
            {
                int liveLuck   = playerEntity.Stats.LiveLuck;
                int itemNumber = (liveLuck / 10) - UnityEngine.Random.Range(1, 40);
                while (itemNumber > 0)
                {
                    DaggerfallUnityItem item = BurglaryLoot();
                    e.Loot.AddItem(item);
                    itemNumber--;
                    itemNumber--;
                }

                if (Dice100.SuccessRoll(liveLuck / 10))
                {
                    DaggerfallUnityItem item = ItemBuilder.CreateItem(ItemGroups.Currency, (int)Currency.Gold_pieces);
                    item.stackCount = UnityEngine.Random.Range(Mathf.Max(1, liveLuck / 10), liveLuck * 10);
                    e.Loot.AddItem(item);
                }

                if (Dice100.SuccessRoll(liveLuck / 10))
                {
                    DaggerfallUnityItem map = ItemBuilder.CreateItem(ItemGroups.MiscItems, (int)MiscItems.Map);
                }

                if (Dice100.SuccessRoll(liveLuck / 10))
                {
                    int typeRoll = UnityEngine.Random.Range(0, 100);
                    DaggerfallUnityItem itemWpnArm;
                    int level = UnityEngine.Random.Range(1, playerEnterExit.Interior.BuildingData.Quality);
                    if (typeRoll > 50)
                    {
                        itemWpnArm = ItemBuilder.CreateRandomWeapon(level);
                    }
                    else
                    {
                        itemWpnArm = ItemBuilder.CreateRandomArmor(level, playerEntity.Gender, playerEntity.Race);
                    }
                    itemWpnArm.currentCondition = (int)(UnityEngine.Random.Range(0.3f, 0.75f) * itemWpnArm.maxCondition);
                    e.Loot.AddItem(itemWpnArm);
                }
            }
        }
Esempio n. 2
0
        //Modified, base from here: https://github.com/Ralzar81/SkillBooks/blob/cf024383284c12fbf4f27e6611ba2384c96508b9/SkillBooks/SkillBooks.cs.
        public static void AddBestiary_OnLootSpawned(object sender, ContainerLootSpawnedEventArgs e)
        {
            if (!SettingSpawnItem)
            {
                return;
            }

            DaggerfallInterior interior = GameManager.Instance.PlayerEnterExit.Interior;

            if (interior != null &&
                e.ContainerType == LootContainerTypes.ShopShelves &&
                interior.BuildingData.BuildingType == DFLocation.BuildingTypes.Bookseller)
            {
                int numBooks = UnityEngine.Random.Range(0, interior.BuildingData.Quality / 5);

                if (UnityEngine.Random.Range(1, 4) > 2)
                {
                    DaggerfallUnityItem bestiaryItem = ItemBuilder.CreateItem(ItemGroups.UselessItems2, BestiaryItem.templateIndex);
                    e.Loot.AddItem(bestiaryItem);
                }
            }
        }