Beispiel #1
0
        //手斧だけのリストを作る.
        public static List <U.AddrResult> MakeItemListByHandAxs()
        {
            bool useWeaponLockArray = PatchUtil.SearchVennouWeaponLockArray();

            InputFormRef        InputFormRef = Init(null);
            List <U.AddrResult> src          = InputFormRef.MakeList();
            List <U.AddrResult> dest         = new List <U.AddrResult>();

            for (int i = 0; i < src.Count; i++)
            {
                uint b7 = Program.ROM.u8(src[i].addr + 7);
                if (b7 != 2)
                {//斧ではない
                    continue;
                }
                uint b25 = Program.ROM.u8(src[i].addr + 25);
                if (b25 <= 0x11)
                {//射程1
                    continue;
                }
                uint b28 = Program.ROM.u8(src[i].addr + 28);
                if (b28 <= 0x00)
                {//武器レベル 0だった場合専用武器の可能性が高い
                    continue;
                }
                uint b9 = Program.ROM.u8(src[i].addr + 9);
                if ((b9 & 0x1C) > 0)
                {             //専用武器 &0x04 or &0x8 or 0x10
                    continue; //専用武器のため判定不能
                }
                uint b10 = Program.ROM.u8(src[i].addr + 10);
                if ((b10 & 0x3C) > 0)
                {             //専用武器 &0x04 or &0x8 or 0x10 or 0x20
                    continue; //専用武器のため判定不能
                }
                if (useWeaponLockArray)
                {
                    uint b11 = Program.ROM.u8(src[i].addr + 11);
                    if (b11 > 0)
                    {//vennou's WeaponLockArray
                        continue;
                    }
                }

                //手斧
                src[i].tag = (uint)i; //IDを入れる 参照しやすいように.
                dest.Add(src[i]);
            }
            return(dest);
        }
Beispiel #2
0
        void VennouWeaponLockArray(List <Control> controls)
        {
            if (!PatchUtil.SearchVennouWeaponLockArray())
            {
                return;
            }
            L_11_BIT_01.Hide();
            L_11_BIT_02.Hide();
            L_11_BIT_04.Hide();
            L_11_BIT_08.Hide();
            L_11_BIT_10.Hide();
            L_11_BIT_20.Hide();
            L_11_BIT_40.Hide();
            L_11_BIT_80.Hide();
            VennouWeaponLockArray_Display.Enabled = true;
            VennouWeaponLockArray_Display.Show();
            J_11.Text = "WeaponLockArray";

            InputFormRef.makeLinkEventHandler("", controls, B11, VennouWeaponLockArray_Display, 11, "VENNOUWEAPONLOCK_INDEX", new string[] {});
        }