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; } }
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; } }
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); }
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."); }
private void PickupCatalog_Init(On.RoR2.PickupCatalog.orig_Init orig) { orig(); HonoredItem = ItemCatalog.FindItemIndex(HonoredItemString.Value); Debug.Log("Index: " + HonoredItem); }
private void PickupCatalog_Init(On.RoR2.PickupCatalog.orig_Init orig) { orig(); UpdateStats(); }