Ejemplo n.º 1
0
        private void On_PickupCatalogInit(On.RoR2.PickupCatalog.orig_Init orig)
        {
            orig();

            foreach (CatalogBoilerplate bpl in allInstances)
            {
                PickupIndex pind;
                if (bpl is Equipment)
                {
                    pind = PickupCatalog.FindPickupIndex(((Equipment)bpl).catalogIndex);
                }
                else if (bpl is Item)
                {
                    pind = PickupCatalog.FindPickupIndex(((Item)bpl).catalogIndex);
                }
                else
                {
                    continue;
                }
                var pickup = PickupCatalog.GetPickupDef(pind);

                bpl.pickupDef   = pickup;
                bpl.pickupIndex = pind;
            }
        }
Ejemplo n.º 2
0
        private static void On_PickupCatalogInit(On.RoR2.PickupCatalog.orig_Init orig)
        {
            orig();

            foreach (ItemBoilerplate bpl in masterItemList)
            {
                PickupIndex pind;
                if (bpl is Equipment)
                {
                    pind = PickupCatalog.FindPickupIndex(((Equipment)bpl).regIndex);
                }
                else if (bpl is Item)
                {
                    pind = PickupCatalog.FindPickupIndex(((Item)bpl).regIndex);
                }
                else
                {
                    continue;
                }
                var pickup = PickupCatalog.GetPickupDef(pind);

                bpl.pickupDef   = pickup;
                bpl.pickupIndex = pind;
            }
        }
Ejemplo n.º 3
0
 private void PickupCatalog_Init(On.RoR2.PickupCatalog.orig_Init orig)
 {
     orig();
     //needs to setup late so the indicies can be setup
     //weightedSelection.AddChoice(Key.instance.pickupIndex, 0.15f); currently unused while i rework it
     weightedSelection.AddChoice(Blank.instance.pickupDef, ChanceBlank);
     weightedSelection.AddChoice(Armor.instance.pickupDef, ChanceArmor);
     weightedSelection.AddChoice(PickupAmmoSpread.instance.pickupDef, ChanceAmmo);
 }
Ejemplo n.º 4
0
        private void On_PickupCatalogInit(On.RoR2.PickupCatalog.orig_Init orig)
        {
            orig();

            Logger.LogDebug("Processing pickup models...");

            foreach (ItemBoilerplate bpl in masterItemList)
            {
                PickupIndex pind;
                if (bpl is Equipment equipment)
                {
                    pind = PickupCatalog.FindPickupIndex(equipment.regIndex);
                }
                else if (bpl is Item item)
                {
                    pind = PickupCatalog.FindPickupIndex(item.regIndex);
                }
                else
                {
                    continue;
                }
                var pickup = PickupCatalog.GetPickupDef(pind);
                pickup.displayPrefab = pickup.displayPrefab.InstantiateClone("CI" + bpl.itemCodeName + "PickupCardPrefab", false);
            }

            if (globalConfig.allCards)
            {
                var eqpCardPrefab    = Resources.Load <GameObject>("@ClassicItems:Assets/ClassicItems/models/VOvr/EqpCard.prefab");
                var lunarCardPrefab  = Resources.Load <GameObject>("@ClassicItems:Assets/ClassicItems/models/VOvr/LunarCard.prefab");
                var lunEqpCardPrefab = Resources.Load <GameObject>("@ClassicItems:Assets/ClassicItems/models/VOvr/LqpCard.prefab");
                var t1CardPrefab     = Resources.Load <GameObject>("@ClassicItems:Assets/ClassicItems/models/VOvr/CommonCard.prefab");
                var t2CardPrefab     = Resources.Load <GameObject>("@ClassicItems:Assets/ClassicItems/models/VOvr/UncommonCard.prefab");
                var t3CardPrefab     = Resources.Load <GameObject>("@ClassicItems:Assets/ClassicItems/models/VOvr/RareCard.prefab");
                var bossCardPrefab   = Resources.Load <GameObject>("@ClassicItems:Assets/ClassicItems/models/VOvr/BossCard.prefab");

                int replacedItems = 0;
                int replacedEqps  = 0;

                foreach (var pickup in PickupCatalog.allPickups)
                {
                    GameObject npfb;
                    if (pickup.interactContextToken == "EQUIPMENT_PICKUP_CONTEXT")
                    {
                        if (pickup.equipmentIndex >= EquipmentIndex.Count || pickup.equipmentIndex < 0)
                        {
                            continue;
                        }
                        var eqp = EquipmentCatalog.GetEquipmentDef(pickup.equipmentIndex);
                        if (!eqp.canDrop)
                        {
                            continue;
                        }
                        npfb = eqp.isLunar ? lunEqpCardPrefab : eqpCardPrefab;
                        replacedEqps++;
                    }
                    else if (pickup.interactContextToken == "ITEM_PICKUP_CONTEXT")
                    {
                        if (pickup.itemIndex >= ItemIndex.Count || pickup.itemIndex < 0)
                        {
                            continue;
                        }

                        var item = ItemCatalog.GetItemDef(pickup.itemIndex);
                        switch (item.tier)
                        {
                        case ItemTier.Tier1:
                            npfb = t1CardPrefab; break;

                        case ItemTier.Tier2:
                            npfb = t2CardPrefab; break;

                        case ItemTier.Tier3:
                            npfb = t3CardPrefab; break;

                        case ItemTier.Lunar:
                            npfb = lunarCardPrefab; break;

                        case ItemTier.Boss:
                            npfb = bossCardPrefab; break;

                        default:
                            continue;
                        }
                        replacedItems++;
                    }
                    else
                    {
                        continue;
                    }
                    pickup.displayPrefab = npfb.InstantiateClone(pickup.internalName + "CICardPrefab", false);
                }

                Logger.LogDebug("Replaced " + replacedItems + " item models and " + replacedEqps + " equipment models.");
            }

            int replacedDescs = 0;

            var tmpfont = Resources.Load <TMP_FontAsset>("tmpfonts/misc/tmpRiskOfRainFont Bold OutlineSDF");
            var tmpmtl  = Resources.Load <Material>("tmpfonts/misc/tmpRiskOfRainFont Bold OutlineSDF");

            foreach (var pickup in PickupCatalog.allPickups)
            {
                var ctsf = pickup.displayPrefab?.transform;
                if (!ctsf)
                {
                    continue;
                }
                var cfront = ctsf.Find("cardfront");
                if (cfront == null)
                {
                    continue;
                }
                var croot   = cfront.Find("carddesc");
                var cnroot  = cfront.Find("cardname");
                var csprite = ctsf.Find("ovrsprite");

                csprite.GetComponent <MeshRenderer>().material.mainTexture = pickup.iconTexture;

                if (globalConfig.spinMod)
                {
                    pickup.displayPrefab.AddComponent <SpinModFlag>();
                }

                string pname;
                string pdesc;
                Color  prar = new Color(1f, 0f, 1f);
                if (pickup.interactContextToken == "EQUIPMENT_PICKUP_CONTEXT")
                {
                    var eqp = EquipmentCatalog.GetEquipmentDef(pickup.equipmentIndex);
                    if (eqp == null)
                    {
                        continue;
                    }
                    pname = Language.GetString(eqp.nameToken);
                    pdesc = Language.GetString(globalConfig.longDesc ? eqp.descriptionToken : eqp.pickupToken);
                    prar  = new Color(1f, 0.7f, 0.4f);
                }
                else if (pickup.interactContextToken == "ITEM_PICKUP_CONTEXT")
                {
                    var item = ItemCatalog.GetItemDef(pickup.itemIndex);
                    if (item == null)
                    {
                        continue;
                    }
                    pname = Language.GetString(item.nameToken);
                    pdesc = Language.GetString(globalConfig.longDesc ? item.descriptionToken : item.pickupToken);
                    switch (item.tier)
                    {
                    case ItemTier.Boss: prar = new Color(1f, 1f, 0f); break;

                    case ItemTier.Lunar: prar = new Color(0f, 0.6f, 1f); break;

                    case ItemTier.Tier1: prar = new Color(0.8f, 0.8f, 0.8f); break;

                    case ItemTier.Tier2: prar = new Color(0.2f, 1f, 0.2f); break;

                    case ItemTier.Tier3: prar = new Color(1f, 0.2f, 0.2f); break;
                    }
                }
                else
                {
                    continue;
                }

                if (globalConfig.hideDesc)
                {
                    Destroy(croot.gameObject);
                    Destroy(cnroot.gameObject);
                }
                else
                {
                    var cdsc = croot.gameObject.AddComponent <TextMeshPro>();
                    cdsc.richText           = true;
                    cdsc.enableWordWrapping = true;
                    cdsc.alignment          = TextAlignmentOptions.Center;
                    cdsc.margin             = new Vector4(4f, 1.874178f, 4f, 1.015695f);
                    cdsc.enableAutoSizing   = true;
                    cdsc.overrideColorTags  = false;
                    cdsc.fontSizeMin        = 1;
                    cdsc.fontSizeMax        = 8;
                    _             = cdsc.renderer;
                    cdsc.font     = tmpfont;
                    cdsc.material = tmpmtl;
                    cdsc.color    = Color.black;
                    cdsc.text     = pdesc;

                    var cname = cnroot.gameObject.AddComponent <TextMeshPro>();
                    cname.richText           = true;
                    cname.enableWordWrapping = false;
                    cname.alignment          = TextAlignmentOptions.Center;
                    cname.margin             = new Vector4(6.0f, 1.2f, 6.0f, 1.4f);
                    cname.enableAutoSizing   = true;
                    cname.overrideColorTags  = true;
                    cname.fontSizeMin        = 1;
                    cname.fontSizeMax        = 10;
                    _                  = cname.renderer;
                    cname.font         = tmpfont;
                    cname.material     = tmpmtl;
                    cname.outlineColor = prar;
                    cname.outlineWidth = 0.15f;
                    cname.color        = Color.black;
                    cname.fontStyle    = FontStyles.Bold;
                    cname.text         = pname;
                }
                replacedDescs++;
            }
            Logger.LogDebug((globalConfig.hideDesc ? "Destroyed " : "Inserted ") + replacedDescs + " pickup model descriptions.");
        }
Ejemplo n.º 5
0
 private void PickupCatalog_Init(On.RoR2.PickupCatalog.orig_Init orig)
 {
     orig();
     HonoredItem = ItemCatalog.FindItemIndex(HonoredItemString.Value);
     Debug.Log("Index: " + HonoredItem);
 }
Ejemplo n.º 6
0
 private void PickupCatalog_Init(On.RoR2.PickupCatalog.orig_Init orig)
 {
     orig();
     UpdateStats();
 }