示例#1
0
        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;
        }
示例#3
0
        //检测是否有道具
        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 ");
                    }
                }
            }
        }
示例#4
0
 public static void Postfix(MakeSystem __instance, int ___baseMakeTyp)
 {
     if (!Main.Enabled || !Main.settings.MakeSystemAutoAccessories)
     {
         return;
     }
     StateManager.EquipAccessories(AptitudeTypeHelper.GetAptitudeTypeByBaseMakeType(___baseMakeTyp));
     __instance.UpdateMakeWindow();
 }
示例#5
0
        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);
        }
示例#6
0
        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"));
        }
示例#7
0
        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);
            });
        }
示例#10
0
        //检测是否有道具
        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;
            }
        }
示例#11
0
        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();
            }
        }
示例#12
0
 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);
 }