public override void SetupConfig() { foreach (CatalogBoilerplate bpl in ClassicItemsPlugin.masterItemList) { if (!(bpl is Equipment_V2)) { continue; } Equipment_V2 eqp = (Equipment_V2)bpl; subEnableInternal.Add(eqp, !eqp.isLunar); } foreach (EquipmentIndex e in Enum.GetValues(typeof(EquipmentIndex))) { if (!handledEqps.Contains(e)) { continue; } subEnable.Add(e, !dftDisableEqps.Contains(e)); } subEnableGet = new ReadOnlyDictionary <EquipmentIndex, bool>(subEnable); subEnableInternalGet = new ReadOnlyDictionary <Equipment_V2, bool>(subEnableInternal); base.SetupConfig(); }
public static bool CheckEmbryoProc(this Equipment_V2 eqp, CharacterBody body) { bool isIntExist = Embryo_V2.instance.subEnableInternalGet.TryGetValue(eqp, out bool isIntEnab); bool isExtEnab = Embryo_V2.instance.subEnableExt.Contains(eqp.catalogIndex); return(Embryo_V2.instance.enabled && ((isIntExist && isIntEnab) || isExtEnab) && Util.CheckRoll(Embryo_V2.instance.GetCount(body) * Embryo_V2.instance.procChance, body.master)); }