protected override bool CheckSlotFlags(Inventory.SlotFlags itemSlotFlags, Inventory.SlotFlags slotFlags) { bool flag; if (!base.CheckSlotFlags(itemSlotFlags, slotFlags)) { flag = false; } else { flag = ((slotFlags & Inventory.SlotFlags.Equip) != Inventory.SlotFlags.Equip ? true : (itemSlotFlags & slotFlags) == slotFlags); } return(flag); }
static LateLoaded() { PlayerInventory.LateLoaded.EveryPlayerInventory = new Inventory.SlotFlags[40]; for (int i = 0; i < 40; i++) { Inventory.SlotFlags slotFlag = (Inventory.SlotFlags) 0; if (PlayerInventory.IsBeltSlot(i)) { slotFlag = slotFlag | Inventory.SlotFlags.Belt; } if (i == 30) { slotFlag = slotFlag | Inventory.SlotFlags.Safe; } if (PlayerInventory.IsEquipmentSlot(i)) { slotFlag = slotFlag | Inventory.SlotFlags.Equip; switch (i) { case 36: { slotFlag = slotFlag | Inventory.SlotFlags.Head; break; } case 37: { slotFlag = slotFlag | Inventory.SlotFlags.Chest; break; } case 38: { slotFlag = slotFlag | Inventory.SlotFlags.Legs; break; } case 39: { slotFlag = slotFlag | Inventory.SlotFlags.Feet; break; } } } PlayerInventory.LateLoaded.EveryPlayerInventory[i] = slotFlag; } PlayerInventory.LateLoaded.SlotRanges[Inventory.Slot.Kind.Default] = new Inventory.Slot.Range(0, 30); PlayerInventory.LateLoaded.SlotRanges[Inventory.Slot.Kind.Belt] = new Inventory.Slot.Range(30, 6); PlayerInventory.LateLoaded.SlotRanges[Inventory.Slot.Kind.Armor] = new Inventory.Slot.Range(36, 4); }
protected override void ConfigureSlots(int totalCount, ref Inventory.Slot.KindDictionary<Inventory.Slot.Range> ranges, ref Inventory.SlotFlags[] flags) { Inventory.Slot.KindDictionary<Inventory.Slot.Range> range = new Inventory.Slot.KindDictionary<Inventory.Slot.Range>(); range[Inventory.Slot.Kind.Belt] = new Inventory.Slot.Range(0, 3); range[Inventory.Slot.Kind.Default] = new Inventory.Slot.Range(3, totalCount - 3); ranges = range; Inventory.SlotFlags[] slotFlagsArray = new Inventory.SlotFlags[totalCount]; for (int i = 0; i < 3; i++) { slotFlagsArray[i] = (Inventory.SlotFlags)((int)slotFlagsArray[i] | 1024); } for (int j = 3; j < 6; j++) { slotFlagsArray[j] = (Inventory.SlotFlags)((int)slotFlagsArray[j] | 512); } slotFlagsArray[6] = (Inventory.SlotFlags)((int)slotFlagsArray[6] | 128); slotFlagsArray[7] = (Inventory.SlotFlags)((int)slotFlagsArray[7] | 256); flags = slotFlagsArray; }
protected override unsafe void ConfigureSlots(int totalCount, ref Inventory.Slot.KindDictionary <Inventory.Slot.Range> ranges, ref Inventory.SlotFlags[] flags) { Inventory.Slot.KindDictionary <Inventory.Slot.Range> dictionary = new Inventory.Slot.KindDictionary <Inventory.Slot.Range>(); dictionary[Inventory.Slot.Kind.Belt] = new Inventory.Slot.Range(0, 3); dictionary[Inventory.Slot.Kind.Default] = new Inventory.Slot.Range(3, totalCount - 3); ranges = dictionary; Inventory.SlotFlags[] flagsArray = new Inventory.SlotFlags[totalCount]; for (int i = 0; i < 3; i++) { *((int *)&(flagsArray[i])) |= 0x400; } for (int j = 3; j < 6; j++) { *((int *)&(flagsArray[j])) |= 0x200; } *((int *)&(flagsArray[6])) |= 0x80; *((int *)&(flagsArray[7])) |= 0x100; flags = flagsArray; }
static LateLoaded() { for (int i = 0; i < 40; i++) { Inventory.SlotFlags flags = 0; if (PlayerInventory.IsBeltSlot(i)) { flags |= Inventory.SlotFlags.Belt; } if (i == 30) { flags |= Inventory.SlotFlags.Safe; } if (PlayerInventory.IsEquipmentSlot(i)) { flags |= Inventory.SlotFlags.Equip; switch (i) { case 0x24: flags |= Inventory.SlotFlags.Head; break; case 0x25: flags |= Inventory.SlotFlags.Chest; break; case 0x26: flags |= Inventory.SlotFlags.Legs; break; case 0x27: flags |= Inventory.SlotFlags.Feet; break; } } EveryPlayerInventory[i] = flags; } SlotRanges[Inventory.Slot.Kind.Default] = new Inventory.Slot.Range(0, 30); SlotRanges[Inventory.Slot.Kind.Belt] = new Inventory.Slot.Range(30, 6); SlotRanges[Inventory.Slot.Kind.Armor] = new Inventory.Slot.Range(0x24, 4); }
protected override bool CheckSlotFlags(Inventory.SlotFlags itemSlotFlags, Inventory.SlotFlags slotFlags) { return(base.CheckSlotFlags(itemSlotFlags, slotFlags) && (((slotFlags & Inventory.SlotFlags.Equip) != Inventory.SlotFlags.Equip) || ((itemSlotFlags & slotFlags) == slotFlags))); }
protected override bool CheckSlotFlags(Inventory.SlotFlags itemSlotFlags, Inventory.SlotFlags slotFlags) { return((itemSlotFlags & slotFlags) != 0); }