static bool Prefix(MakeSystem __instance, int itemId, int makeTyp, int partId, int placeId, int buildingIndex, bool getDownValue, ref int __result) { if (!Main.enabled || !Main.settings.buildingAdvanced) { return(true); } if (itemId <= 0) { __result = 0; } else { BuildingEffect.makeType = makeTyp; int num = BuildingEffect.getBuildingEffectValue(BuildingEffect.BuildingType.ReduceFamilyLevel, partId, placeId, buildingIndex); if (getDownValue) { __result = num; } else { __result = Mathf.Max(int.Parse(DateFile.instance.GetItemDate(itemId, 43, true)) - num, 0); } } return(false); }
//实际扣除函数 private static void Postfix(MakeSystem __instance, int ___mianItemId, int ___secondItemId, int __state) { //主函数不能禁用,所以禁用没意义了 //if (!Main.enabled) //{ // return; //} //Main.Logger.Log(" __state get state: " + __state); int actorId = DateFile.instance.MianActorID(); if ((__state & 1) == 1) { if (0 == int.Parse(DateFile.instance.GetItemDate(___mianItemId, 901))) { DateFile.instance.LoseItem(-999, ___mianItemId, -1, true, true); } } if ((__state & 2) == 2) { DateFile.instance.LoseItem(-999, ___secondItemId, 1, true, true); } return; }
//检测是否有道具 private static void Prefix(MakeSystem __instance, int ___mianItemId, int[] ___thirdItemId) { //主工具 int actorId = DateFile.instance.MianActorID(); if (!DateFile.instance.actorItemsDate[actorId].ContainsKey(___mianItemId)) { DateFile.instance.ChangeItemHp(-999, ___mianItemId, -1, 0, true); //Main.Logger.Log(" poison use warehouse main item : "); } //毒液 for (int j = 0; j < ___thirdItemId.Length; j++) { if (___thirdItemId[j] > 0 && !DateFile.instance.actorItemsDate[actorId].ContainsKey(___thirdItemId[j])) { if (int.Parse(DateFile.instance.GetItemDate(___thirdItemId[j], 6, true)) > 0) { DateFile.instance.LoseItem(-999, ___thirdItemId[j], 1, true); //Main.Logger.Log(" poison use warehouse third item ,remove it"); } else { DateFile.instance.ChangeItemHp(-999, ___thirdItemId[j], -1, 0, true); // Main.Logger.Log(" poison use warehouse third item , dec hp "); } } } }
public static void Postfix(MakeSystem __instance, int ___baseMakeTyp) { if (!Main.Enabled || !Main.settings.MakeSystemAutoAccessories) { return; } StateManager.EquipAccessories(AptitudeTypeHelper.GetAptitudeTypeByBaseMakeType(___baseMakeTyp)); __instance.UpdateMakeWindow(); }
static void Postfix(MakeSystem __instance, int id, GameObject item, Transform holder, Image dragDes, bool showSize) { if (!Main.enabled || !Main.settings.showInMake) { return; } Text numberText = holder.transform.Find("Item," + id).Find("ItemNumberText").GetComponent <Text>(); Changer.ChangeItemName(numberText, id); }
private static void Postfix(MakeSystem __instance) { if (!Main.on) { return; } Refers component = __instance.GetComponent <Refers>(); Utils.ButtonConfirm(component.CGet <Button>("StartMakeButton"), (_) => !Checks.HasDialog() && !__instance.makeingImage.activeInHierarchy); Utils.ButtonConfirm(component.CGet <Button>("StartFixButton")); Utils.ButtonConfirm(component.CGet <Button>("GetItemButton")); }
private static void Postfix(MakeSystem __instance) { if (!Main.on) { return; } Refers component = __instance.GetComponent <Refers>(); Utils.ButtonConfirm(component.CGet <Button>("StartMakeButton")); Utils.ButtonConfirm(component.CGet <Button>("StartFixButton")); Utils.ButtonConfirm(component.CGet <Button>("GetItemButton")); }
//检测是否有道具 private static bool Prefix(MakeSystem __instance, int ___mianItemId, int[] ___thirdItemId, int ___secondItemId, ref int __state) { __state = -1; //主工具 int actorId = DateFile.instance.MianActorID(); //主工具 if (!DateFile.instance.actorItemsDate[actorId].ContainsKey(___mianItemId)) { //仅当hp为1时,移除mianitem, 其余情况不扣hp,否则会扣两次 if (int.Parse(DateFile.instance.GetItemDate(___mianItemId, 901)) == 1) { DateFile.instance.ChangeItemHp(-999, ___mianItemId, -1, 0, true); } // Main.Logger.Log(" StartChangeItem use warehouse main item : "); } //毒液 for (int j = 0; j < ___thirdItemId.Length; j++) { if (___thirdItemId[j] > 0 && !DateFile.instance.actorItemsDate[actorId].ContainsKey(___thirdItemId[j])) { if (int.Parse(DateFile.instance.GetItemDate(___thirdItemId[j], 6, true)) > 0) { DateFile.instance.LoseItem(-999, ___thirdItemId[j], 1, true, true); //Main.Logger.Log(" poison use warehouse third item ,remove it"); } else { DateFile.instance.ChangeItemHp(-999, ___thirdItemId[j], -1, 0, true); //Main.Logger.Log(" poison use warehouse third item , dec hp "); } } } //被强化物品 //被强化物品装备了 if (UseStorangeMaterialHelper.isActorEquip(actorId, ___secondItemId) == true) { //啥也不干 } else if (!DateFile.instance.actorItemsDate[actorId].ContainsKey(___secondItemId)) { //被强化物品在仓库,先挪 到背包里 __state = ___secondItemId; DateFile.instance.ChangeTwoActorItem(-999, DateFile.instance.MianActorID(), ___secondItemId, 1, -1, 0, 0); //Main.Logger.Log(" poison use warehouse second item : " + ___secondItemId + " move to bag"); } return(true); }
private static void Postfix(MakeSystem __instance) { if (!Main.enabled && Main.binding_key) { return; } EscClose newobj = __instance.gameObject.AddComponent(typeof(EscClose)) as EscClose; newobj.setparam(typeof(MakeSystem), "CloseMakeWindow", () => { return(MakeSystem.instance.makeWindowBack.gameObject.activeInHierarchy); }); }
//检测是否有道具 private static void Prefix(MakeSystem __instance, int ___mianItemId, int ___secondItemId, ref int __state) { //flag __state = 0; int actorId = DateFile.instance.MianActorID(); if (!DateFile.instance.actorItemsDate[actorId].ContainsKey(___mianItemId)) { __state = __state | 1; } if (!DateFile.instance.actorItemsDate[actorId].ContainsKey(___secondItemId)) { __state = __state | 2; } }
static void Prefix(MakeSystem __instance) { if (!Main.enabled) { return; } bool lastWish = Main.settings.IMBA && Main.settings.lastWish; if (lastWish) { DateFile.instance.makePower = true; } if (Main.settings.setDrug && Main.drugIds[0] == null) { Main.DrugSwitch(); } }
static bool Prefix(MakeSystem __instance, ref int typ, ref int ___makeTyp, ref int ___baseMakeTyp, ref int ___mianItemId, ref int ___secondItemId, ref int[] ___thirdItemId) { if (!Main.enabled || !Main.settings.simpleMake) { return(true); } //Main.Logger.Log("typ:" + typ); //Main.Logger.Log("___baseMakeTyp" + ___baseMakeTyp); if (makeType != ___baseMakeTyp) { makeType = ___baseMakeTyp; return(true); } ___makeTyp = typ; ___secondItemId = 0; ___thirdItemId[0] = 0; ___thirdItemId[1] = 0; ___thirdItemId[2] = 0; __instance.UpdateMakeWindow(); return(false); }