public void ReadValueFromPersona(Persona _persona)
 {
     life    = _persona.baseLife;
     deck    = _persona.baseDeck;
     trinket = _persona.baseTrinket;
     ladder  = _persona.baseLadder;
 }
Ejemplo n.º 2
0
        partial void Merge(Trinket entity, ItemDTO dto, object state)
        {
            var details = dto.Details;

            if (details == null)
            {
                return;
            }

            var infusionSlots = details.InfusionSlots;

            if (infusionSlots != null)
            {
                entity.InfusionSlots = this.infusionSlotCollectionConverter.Convert(infusionSlots, dto);
            }

            var infixUpgrade = details.InfixUpgrade;

            if (infixUpgrade != null)
            {
                entity.InfixUpgrade = this.infixUpgradeConverter.Convert(infixUpgrade, dto);
            }

            details.SuffixItemId = details.SuffixItemId;

            int secondarySuffixItemId;

            if (int.TryParse(details.SecondarySuffixItemId, out secondarySuffixItemId))
            {
                entity.SecondarySuffixItemId = secondarySuffixItemId;
            }
        }
Ejemplo n.º 3
0
 public void SetSingle(ItemDefinition item)
 {
     Item = item;
     if (Item.Type == "journal_page")
     {
         rarityFrame.enabled = false;
         itemFrame.sprite    = DarkestDungeonManager.Data.Sprites["inv_journal_page"];
     }
     else if (Item.Type == "gold" || Item.Type == "provision")
     {
         rarityFrame.enabled = false;
         int thresholdIndex = Mathf.Clamp(Mathf.RoundToInt((float)Item.Amount /
                                                           DarkestDungeonManager.Data.Items[Item.Type][Item.Id].StackLimit / 0.25f), 0, 3);
         itemFrame.sprite = DarkestDungeonManager.Data.Sprites["inv_" + Item.Type + "+" + Item.Id + "_" + thresholdIndex];
     }
     else if (item.Type == "trinket")
     {
         rarityFrame.enabled = true;
         itemFrame.sprite    = DarkestDungeonManager.Data.Sprites["inv_" + item.Type + "+" + item.Id];
         Trinket trinket = DarkestDungeonManager.Data.Items[item.Type][item.Id] as Trinket;
         rarityFrame.sprite = DarkestDungeonManager.Data.Sprites["rarity_" + trinket.RarityId];
     }
     else
     {
         rarityFrame.enabled = false;
         itemFrame.sprite    = DarkestDungeonManager.Data.Sprites["inv_" + item.Type + "+" + item.Id];
     }
     amountText.text = "";
 }
Ejemplo n.º 4
0
    public void Equip(Trinket trinket, TrinketSlot slot)
    {
        switch (slot)
        {
        case TrinketSlot.Left:
            if (LeftTrinket != null)
            {
                Unequip(slot);
            }
            for (int i = 0; i < trinket.Buffs.Count; i++)
            {
                AddBuff(new BuffInfo(trinket.Buffs[i], BuffDurationType.Permanent, BuffSourceType.Trinket));
            }
            LeftTrinket = trinket;
            break;

        case TrinketSlot.Right:
            if (RightTrinket != null)
            {
                Unequip(slot);
            }
            for (int i = 0; i < trinket.Buffs.Count; i++)
            {
                AddBuff(new BuffInfo(trinket.Buffs[i], BuffDurationType.Permanent, BuffSourceType.Trinket));
            }
            RightTrinket = trinket;
            break;
        }
    }
Ejemplo n.º 5
0
        private async Task <long> CreateTrinket(CreateItemCommand request, CancellationToken cancellationToken)
        {
            var trinket = new Trinket
            {
                Name         = request.Name,
                Level        = request.Level,
                ClassType    = request.ClassType,
                Stamina      = request.Stamina,
                Strength     = request.Strength,
                Agility      = request.Agility,
                Intellect    = request.Intellect,
                Spirit       = request.Spirit,
                SellPrice    = request.SellPrice,
                BuyPrice     = request.BuyPrice,
                Slot         = request.Slot,
                IsCraftable  = false,
                ImagePath    = this.imagePath.Process(new string[] { "Item", request.Slot, request.Name }),
                MaterialType = request.MaterialType,
            };

            this.Context.Trinkets.Add(trinket);

            await this.Context.SaveChangesAsync(cancellationToken);

            return(trinket.Id);
        }
Ejemplo n.º 6
0
    public void AddTrinket(Trinket trinket)
    {
        if (CurrentCapacity < MaxCapacity)
        {
            var freeRow   = InventoryRows.Find(row => row.HasEmptySlot);
            var emptySlot = freeRow.InventorySlots.Find(slot => slot.HasItem == false);
            freeRow.ItemAdded();
            emptySlot.CreateItem(trinket);
            CurrentCapacity++;
            RealmInventory.Trinkets.Add(trinket);
        }
        else
        {
            var newRow = AddRow();
            newRow.InventorySlots[0].CreateItem(trinket);
            newRow.ItemAdded();
            CurrentCapacity++;
            RealmInventory.Trinkets.Add(trinket);
        }

        if (CurrentCapacity == MaxCapacity)
        {
            AddRow();
        }
        UpdateWindow();
    }
Ejemplo n.º 7
0
 public void SetTrinket(Trinket newTrinket, float discount)
 {
     Trinket           = newTrinket;
     itemIcon.sprite   = DarkestDungeonManager.Data.Sprites["inv_trinket+" + Trinket.Id];
     rarityIcon.sprite = rarityIcon.sprite = DarkestDungeonManager.Data.Sprites["rarity_" + newTrinket.RarityId];
     Cost          = Mathf.RoundToInt(Trinket.PurchasePrice * (1 - discount));
     costText.text = Cost.ToString();
 }
Ejemplo n.º 8
0
 public void EquipTrinket(Trinket toEquip)
 {
     if (Player.localPlayer != null)
     {
         Player.localPlayer.trinketSlot.EquipTrinket(toEquip);
         inventory.SetInfo();
     }
 }
 public void Create(Trinket trinket)
 {
     isEmpty     = false;
     Item.Type   = trinket.Type;
     Item.Id     = trinket.Id;
     Item.Amount = 1;
     LoadTrinket(trinket);
 }
Ejemplo n.º 10
0
 public void EquipTrinket(Trinket trinket)
 {
     int[] ids = Equip(trinket, trinketSpawn);
     currentTrinket = currentEquipment as Trinket;
     if (currentTrinket != null)
     {
         ParentEquipment(ids[0], ids[1]);
     }
 }
Ejemplo n.º 11
0
    public void AssignValues(Kit kit, Trinket trinket, int deathNum, int cost)
    {
        this.kit      = kit;
        this.trinket  = trinket;
        this.deathNum = deathNum;
        this.cost     = cost;

        Start();
    }
Ejemplo n.º 12
0
 public void CreateItem(Trinket trinket)
 {
     SlotItem.gameObject.SetActive(true);
     SlotItem.Create(trinket);
     if (Inventory != null && Inventory.Configuration == InventoryConfiguration.RaidInventory)
     {
         UpdateState();
     }
 }
Ejemplo n.º 13
0
 public bool AddTrinket(Trinket trin, int index)
 {
     if (index < trinkets.Length && trinkets[index] == null)
     {
         trinkets[index] = trin;
         return(true);
     }
     return(false);
 }
Ejemplo n.º 14
0
    public static List <ItemDefinition> GenerateLoot(List <LootDefinition> battleLoot, RaidInfo raid)
    {
        List <ItemDefinition> lootItems = new List <ItemDefinition>();

        for (int i = 0; i < battleLoot.Count; i++)
        {
            for (int j = 0; j < battleLoot[i].Count; j++)
            {
                LootEntry entry = GetLootEntry(battleLoot[i].Code, raid);
                switch (entry.Type)
                {
                case LootType.Item:
                    LootEntryItem  itemEntry = entry as LootEntryItem;
                    ItemDefinition data      = new ItemDefinition();
                    data.Type   = itemEntry.ItemType;
                    data.Id     = itemEntry.ItemId;
                    data.Amount = itemEntry.ItemAmount;
                    lootItems.Add(data);
                    break;

                case LootType.Journal:
                    LootEntryJournal journalEntry = entry as LootEntryJournal;
                    ItemDefinition   dataJournal  = new ItemDefinition();
                    dataJournal.Type = "journal_page";
                    if (journalEntry.SpecificId.HasValue)
                    {
                        dataJournal.Id = journalEntry.SpecificId.Value.ToString();
                    }
                    else
                    {
                        dataJournal.Id = RandomSolver.Next(journalEntry.MinIndex, journalEntry.MaxIndex + 1).ToString();
                    }
                    dataJournal.Amount = 1;
                    lootItems.Add(dataJournal);
                    break;

                case LootType.Trinket:
                    LootEntryTrinket trinketEntry = entry as LootEntryTrinket;
                    var trinketList = DarkestDungeonManager.Data.Items["trinket"].Values.ToList().
                                      FindAll(trinket => ((Trinket)trinket).RarityId == trinketEntry.Rarity);

                    Trinket        trinketItem = (Trinket)trinketList[RandomSolver.Next(trinketList.Count)];
                    ItemDefinition trinketDef  = new ItemDefinition();
                    trinketDef.Type   = trinketItem.Type;
                    trinketDef.Id     = trinketItem.Id;
                    trinketDef.Amount = trinketDef.Amount;
                    lootItems.Add(trinketDef);
                    break;

                case LootType.Nothing:
                    break;
                }
            }
        }
        return(lootItems);
    }
Ejemplo n.º 15
0
    public Trinket ReplaceTrinket(int index, Trinket trinket)
    {
        Trinket result = RemoveTrinket(index);

        if (result != null)
        {
            AddTrinket(trinket, index);
        }
        return(result);
    }
Ejemplo n.º 16
0
 public Trinket RemoveTrinket(int index)
 {
     if (index < trinkets.Length && index <= 0)
     {
         Trinket result = trinkets[index];
         trinkets[index] = null;
         return(result);
     }
     return(null);
 }
Ejemplo n.º 17
0
 public void OnPointerEnter(PointerEventData eventData)
 {
     rarityIcon.material = DarkestDungeonManager.HighlightMaterial;
     itemIcon.material   = DarkestDungeonManager.HighlightMaterial;
     if (Trinket != null)
     {
         ToolTipManager.Instanse.Show(Trinket.ToolTip(), eventData, RectTransform, ToolTipStyle.FromRight, ToolTipSize.Normal);
         hasGeneratedTooltip = true;
     }
 }
Ejemplo n.º 18
0
    protected override void OnDisable()
    {
        base.OnDisable();

        Trinket killersTrinket = gm.combatManager.CurrentActor.loadout.trinket;

        if (killersTrinket != null && killersTrinket is Nocimonollerom nocimonollerom)
        {
            nocimonollerom.Resurrect(this, point);
        }
    }
Ejemplo n.º 19
0
 public void AddTrinket(Trinket trinket)
 {
     if (TrinketAddAction != null)
     {
         TrinketAddAction(trinket);
     }
     else
     {
         Trinkets.Add(trinket);
     }
 }
    void LoadTrinket(Trinket trinket)
    {
        ItemData = trinket;

        itemIcon.sprite   = DarkestDungeonManager.Data.Sprites["inv_" + Item.Type + "+" + Item.Id];
        rarityIcon.sprite = DarkestDungeonManager.Data.Sprites["rarity_" + trinket.RarityId];

        UpdateAmount();

        gameObject.SetActive(true);
    }
Ejemplo n.º 21
0
    private Item LootTrinket(int currentItemLevel)
    {
        Item testItem = new Trinket();
        int  rarity   = Rarity();
        int  nIL      = NewItemLevel(rarity, currentItemLevel);

        //Item Creation XD
        testItem.StartUp(Database.hostInstance.GetTrinketName(), rarity, Database.hostInstance.GetTrinketSprite(), NewStats(nIL), Database.hostInstance.GetTrinketObject(), nIL);
        //end item creation
        return(testItem);
    }
Ejemplo n.º 22
0
 internal static void Trinket_prefix_and_stat_choices_are_mutually_exclusive(Trinket trinket)
 {
     if (trinket.Prefix is not null)
     {
         Assert.Null(trinket.StatChoices);
     }
     else if (trinket.StatChoices is not null)
     {
         Assert.Null(trinket.Prefix);
     }
 }
Ejemplo n.º 23
0
    public void EquipTrinket(Trinket newTrinket)
    {
        if (currentTrinket != null)
        {
            //Drop current Trinket
        }

        if (newTrinket != null)
        {
            //Equip new Trinket
        }
    }
Ejemplo n.º 24
0
 public bool AddTrinket(Trinket trin)
 {
     for (int x = 0; x < trinkets.Length; x++)
     {
         if (trinkets[x] == null)
         {
             trinkets[x] = trin;
             return(true);
         }
     }
     return(false);
 }
Ejemplo n.º 25
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="Initializer" /> class.
        /// </summary>
        public Initializer()
        {
            StaticObjects.ProjectLogger.WriteLog("Loading...");
            if (!Bootloader.ChampionBundled.ContainsKey(StaticObjects.Player.ChampionName))
            {
                return;
            }
            if (!Bootloader.ChampionBundled[StaticObjects.Player.ChampionName])
            {
                return;
            }

            StaticObjects.ProjectLogger.WriteLog("Load Delays...");
            Handler.Load(true);
            // ReSharper disable once UnusedVariable
            var initializerMenu = new SettingsMenuGenerater();

            StaticObjects.SettingsMenu.AddToMainMenu();

            var championSettings = new Settings();

            if (!StaticObjects.SettingsMenu.Item($"{Names.Menu.BaseItem}{StaticObjects.Player.ChampionName}.Enable").GetValue <bool>())
            {
                return;
            }

            var coreMenu = new Menu("Core Modules", "CoreModulesMenu");

            var drawingEnabled   = StaticObjects.SettingsMenu.Item($"{Names.Menu.BaseItem}{StaticObjects.Player.ChampionName}.DrawingMenu").GetValue <bool>();
            var manaEnabled      = StaticObjects.SettingsMenu.Item($"{Names.Menu.BaseItem}{StaticObjects.Player.ChampionName}.ManaMenu").GetValue <bool>();
            var itemEnabled      = StaticObjects.SettingsMenu.Item($"{Names.Menu.BaseItem}{StaticObjects.Player.ChampionName}.ItemMenu").GetValue <bool>();
            var autoLevelEnabled = StaticObjects.SettingsMenu.Item($"{Names.Menu.BaseItem}{StaticObjects.Player.ChampionName}.OnLevelMenu").GetValue <bool>();
            var trinketEnabled   = StaticObjects.SettingsMenu.Item($"{Names.Menu.BaseItem}{StaticObjects.Player.ChampionName}.TrinketMenu").GetValue <bool>();

            StaticObjects.ProjectLogger.WriteLog("Load Base Menu's...");
            var orbWalker = new Orbwalking.Orbwalker(StaticObjects.ProjectMenu.SubMenu(nameof(Orbwalking.Orbwalker)));
            // ReSharper disable once UnusedVariable
            var manaMenu = new ManaMenu(coreMenu, championSettings.ManaSettings, manaEnabled);
            // ReSharper disable once UnusedVariable
            var drawingMeun = new Module.Core.Drawing.Menus.Drawing(coreMenu, championSettings.DrawingSettings, drawingEnabled);
            // ReSharper disable once UnusedVariable
            var itemMenu = new Item(coreMenu, itemEnabled, orbWalker);
            // ReSharper disable once UnusedVariable
            var autoLevelMenu = new Abilities(coreMenu, championSettings.AbilitieSettings, autoLevelEnabled);
            // ReSharper disable once UnusedVariable
            var trinketMenu = new Trinket(coreMenu, trinketEnabled);

            StaticObjects.ProjectMenu.AddSubMenu(coreMenu);
            StaticObjects.ProjectMenu.AddToMainMenu();
            Bootloader.Load(manaEnabled, orbWalker);
        }
Ejemplo n.º 26
0
    public void Populate()
    {
        RealmInventory = DarkestDungeonManager.Campaign.RealmInventory;
        InventoryRows  = new List <InventoryRow>();

        int trinketCount   = RealmInventory.Trinkets.Count;
        int rowCount       = Mathf.Max(3, trinketCount / 7 + 1);
        int trinketsLoaded = 0;

        CurrentCapacity = trinketCount;
        MaxCapacity     = rowCount * 7;

        for (int i = 0; i < rowCount; i++)
        {
            InventoryRow newRow = Instantiate(rowTemplate);
            newRow.Initialize(this);
            newRow.onRowEmptied += RealmInventoryWindow_onRowEmptied;
            newRow.RectTransform.SetParent(trinketBox, false);
            InventoryRows.Add(newRow);
            InventorySlots.AddRange(newRow.InventorySlots);

            for (int j = 0; j < 7; j++)
            {
                if (trinketsLoaded != trinketCount)
                {
                    Trinket trinket = RealmInventory.Trinkets[trinketsLoaded];
                    newRow.InventorySlots[j].CreateItem(trinket);
                    newRow.ItemAdded();
                    trinketsLoaded++;
                }
                else
                {
                    break;
                }
            }
        }

        for (int i = 0; i < InventoryRows.Count; i++)
        {
            InventoryRows[i].RowNumber     = i + 1;
            InventoryRows[i].onRowEmptied += RealmInventoryWindow_onRowEmptied;
            for (int j = 0; j < InventoryRows[i].SlotCount; j++)
            {
                InventoryRows[i].InventorySlots[j].onDropIn  += RealmInventoryWindow_onDropIn;
                InventoryRows[i].InventorySlots[j].onDropOut += RealmInventoryWindow_onDropOut;
            }
        }
        UpdateWindow();
    }
Ejemplo n.º 27
0
        private void InitializeItems() //initializes items for the shop
        {
            Ammulet whiteTrashNecklace = new Ammulet("White trash necklace", random.Next(170, 250), 2);
            Ammulet leatherBracelet    = new Ammulet("Leather bracelet", random.Next(189, 250), 2);
            Ammulet sunglasses         = new Ammulet("Sunglasses", random.Next(209, 259), 2);
            Ammulet badassBoots        = new Ammulet("Badass boots", random.Next(199, 249), 2);
            Ring    fakeSilver         = new Ring("Fake silver ring", random.Next(250, 350), 2);
            Ring    tattoedRing        = new Ring("Tattoed ring", random.Next(280, 350), 2);
            Ring    oldFatGuyRing      = new Ring("Old fatguy goldring", random.Next(320, 350), 2);
            Trinket knife      = new Trinket("Knife", random.Next(320, 350), 3);
            Trinket bat        = new Trinket("Baseball bat", random.Next(350, 380), 3);
            Trinket beerBottle = new Trinket("Beer bottle", random.Next(400, 420), 3);
            Trinket wifeBeater = new Trinket("Wife beater", random.Next(280, 420), 3);

            List <Items> listOfItems = new List <Items>()
            {
                whiteTrashNecklace, leatherBracelet, sunglasses, badassBoots, fakeSilver, tattoedRing, oldFatGuyRing, knife, bat, beerBottle, wifeBeater
            };

            //loop to randomize what items will be available for purchase in the shop
            int i = listOfItems.Count;

            while (i > 0)
            {
                i--;
                int listIndex = random.Next(i + 1);

                if (listOfItems[listIndex] is Ammulet)
                {
                    listOfAmmulets.Add(listOfItems[listIndex]);
                }
                else if (listOfItems[listIndex] is Ring)
                {
                    listOfRings.Add(listOfItems[listIndex]);
                }
                else if (listOfItems[listIndex] is Trinket)
                {
                    listOfTrinkets.Add(listOfItems[listIndex]);
                }

                listOfItems.RemoveAt(listIndex);
            }
        }
Ejemplo n.º 28
0
    private void BuildTrinketButton(Trinket trinket, int stars, int buttonID)
    {
        Debug.LogFormat("Builidng trinket button {0} with {1} stars using {2} buttonID", trinket.sprite.name, stars, buttonID);

        // set GameObject properties
        GameObject newButton = Instantiate(trinketButtonPrefab);

        newButton.name = buttonID.ToString() + Database.delimiter + trinket.sprite.name + Database.delimiter + stars.ToString();
        TrinketButton button = newButton.GetComponentInChildren <TrinketButton>();
        RectTransform trans  = newButton.GetComponentInChildren <RectTransform>();

        // set position, scale
        trans.SetParent(viewportContent, false);
        trans.anchoredPosition = new Vector2(trinketListLeftPadding + ((buttonID % 4) * trinketButtonSpaceHorizontal), -trinketListTopPadding + ((buttonID / 4) * -trinketButtonSpaceVertical));
        trans.localScale       = Vector3.one;

        // set the appearance and name
        button.SetTrinket(trinket);
    }
Ejemplo n.º 29
0
    public override void OnInspectorGUI()
    {
        Trinket myTarget = (Trinket)target;


        EditorGUILayout.LabelField("Trinket Display Name:");
        myTarget.displayName = EditorGUILayout.TextField(myTarget.displayName);

        Object spriteObj = EditorGUILayout.ObjectField(myTarget.sprite, typeof(Sprite), false);

        myTarget.sprite = (Sprite)spriteObj;

        Texture2D myTexture = AssetPreview.GetAssetPreview(spriteObj);

        GUILayout.Label(myTexture);

        if (GUI.changed)
        {
            EditorUtility.SetDirty(myTarget);
        }
    }
Ejemplo n.º 30
0
        public Player()
        {
            myLevel        = 1;
            myEXP          = 0;
            myRequiredEXP  = 50;
            myStrength     = Utilities.Utility.GetRNG().Next(5, 11);
            myAgility      = Utilities.Utility.GetRNG().Next(5, 11);
            myMaxStamina   = Utilities.Utility.GetRNG().Next(100, 121);
            myIntelligence = Utilities.Utility.GetRNG().Next(5, 11);
            myWisdom       = Utilities.Utility.GetRNG().Next(5, 11);
            myLuck         = Utilities.Utility.GetRNG().Next(5, 11);

            myMaxHealth         = 100;
            myMaxMana           = 100;
            myMana              = myMaxMana;
            myDamage            = 15;
            mySpellDamage       = 20;
            myGold              = 50;
            myHPPotionAmount    = 1;
            myManaPotionAmount  = 1;
            myInventoryCapacity = 50;

            myInventory       = new List <Loot.Item>();
            myAppliedScrolls  = new List <Loot.Scroll>();
            myEquippedTrinket = new Loot.Trinket(Localisation.Language.GetBasicness());
            myEquippedTrinket.ApplyBuff(this);
            myEquippedHelmet     = new Loot.Armour(Loot.ItemType.HELMET, Localisation.Language.GetBasicness(), 2);
            myEquippedChestplate = new Loot.Armour(Loot.ItemType.CHESTPLATE, Localisation.Language.GetBasicness(), 4);
            myEquippedTrousers   = new Loot.Armour(Loot.ItemType.TROUSERS, Localisation.Language.GetBasicness(), 3);
            myEquippedBoots      = new Loot.Armour(Loot.ItemType.BOOTS, Localisation.Language.GetBasicness(), 1);
            myEquippedWeapon     = new Loot.Weapon(Localisation.Language.GetBasicness(), 15);
            myEquippedShield     = new Loot.Armour(Loot.ItemType.SHIELD, Localisation.Language.GetBasicness(), 5);
            myArmourRating       = myEquippedBoots.GetRating() + myEquippedTrousers.GetRating() + myEquippedChestplate.GetRating() + myEquippedHelmet.GetRating() + myEquippedShield.GetRating() + myArmourBuff;
            myInventory.Add(Factories.LootFactory.CreateScroll());
            myStamina     = myMaxStamina;
            myHealth      = myMaxHealth * myStamina / 100;
            myIsDefending = false;
        }