public bool RunUO_IsInside(Item item, Multi m, int px, int py, int pz) { int num; int num2; int num3; int num4; m.GetBounds(out num, out num2, out num3, out num4); int num5 = px - item.X; int num6 = py - item.Y; if (((num5 >= num) && (num5 <= num3)) && ((num6 >= num2) && (num6 <= num4))) { if ((item.Multi != m) && (num6 < num4)) { return(true); } int index = num5 - num; int num8 = num6 - num2; if (m.RunUO_Inside == null) { m.UpdateRadar(); } int num9 = m.RunUO_Inside[num8][index] + item.Z; if ((pz == num9) || ((pz + 0x10) > num9)) { return(true); } } return(false); }
public bool IsInMulti(Item item, Multi m, int px, int py, int pz) { int num; int num2; int num3; int num4; if ((((item.X >= 0x1400) && (item.X < 0x1800)) && ((item.Y >= 0x900) && (item.Y < 0x1000))) && ((Engine.m_World == 0) || (Engine.m_World == 1))) { return(true); } m.GetBounds(out num, out num2, out num3, out num4); int num5 = px - item.X; int num6 = py - item.Y; if (((num5 >= num) && (num5 <= num3)) && ((num6 >= num2) && (num6 <= num4))) { if ((item.Multi != m) && (num6 < num4)) { return(true); } int index = num5 - num; int num8 = num6 - num2; if (((m != item.Multi) && (index == 0)) && (num6 == num4)) { return(true); } if (m.Inside == null) { m.UpdateRadar(); } int num9 = m.Inside[num8][index] + item.Z; if ((pz == num9) || ((pz + 0x10) > num9)) { return(true); } } return(false); }
public bool RunUO_IsInside(Item item, Multi m, int px, int py, int pz) { int num; int num2; int num3; int num4; m.GetBounds(out num, out num2, out num3, out num4); int num5 = px - item.X; int num6 = py - item.Y; if (((num5 >= num) && (num5 <= num3)) && ((num6 >= num2) && (num6 <= num4))) { if ((item.Multi != m) && (num6 < num4)) { return true; } int index = num5 - num; int num8 = num6 - num2; if (m.RunUO_Inside == null) { m.UpdateRadar(); } int num9 = m.RunUO_Inside[num8][index] + item.Z; if ((pz == num9) || ((pz + 0x10) > num9)) { return true; } } return false; }
public bool IsInMulti(Item item, Multi m, int px, int py, int pz) { int num; int num2; int num3; int num4; if ((((item.X >= 0x1400) && (item.X < 0x1800)) && ((item.Y >= 0x900) && (item.Y < 0x1000))) && ((Engine.m_World == 0) || (Engine.m_World == 1))) { return true; } m.GetBounds(out num, out num2, out num3, out num4); int num5 = px - item.X; int num6 = py - item.Y; if (((num5 >= num) && (num5 <= num3)) && ((num6 >= num2) && (num6 <= num4))) { if ((item.Multi != m) && (num6 < num4)) { return true; } int index = num5 - num; int num8 = num6 - num2; if (((m != item.Multi) && (index == 0)) && (num6 == num4)) { return true; } if (m.Inside == null) { m.UpdateRadar(); } int num9 = m.Inside[num8][index] + item.Z; if ((pz == num9) || ((pz + 0x10) > num9)) { return true; } } return false; }