//手斧だけのリストを作る. 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); }
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[] {}); }