void EquipOffHand() { if (Gear[17].ID == "0" || (Sheathe && (Gear[17].Sheath == 0 || Gear[17].Sheath == 7))) { components[4].Initialize(); } else { int attachment = Sheathe ? WoWHelper.SheatheAttachment(Gear[17].Sheath, true) : Gear[17].Type == "Shield" ? 0 : 2; ModelBone bone = bones[FindAttachment(attachment).bone]; string type = Gear[17].Type == "Shield" ? @"Shield\" : @"Weapon\"; position = SetVector3D(position, bone.Position.x, bone.Position.y, bone.Position.z); rotation = SetQuaternion(rotation, bone.Rotation.x, bone.Rotation.y, bone.Rotation.z, bone.Rotation.w); rotation = Sheathe ? rotation * WoWHelper.SheatheRotation(Gear[17].Sheath, true) : rotation; scale = SetVector3D(scale, bone.Scale.x, bone.Scale.y, bone.Scale.z); if (Gear[17].ID != components[4].ID) { components[4].Initialize(Gear[17].ID, Gear[17].Models.Left.Replace(".mdx", ".xml"), Gear[17].Textures.Left, objectComponentsPath + type, position, rotation, scale); } else { components[4].Modify(position, rotation, scale); } } }
void EquipMainHand() { if (Gear[16].ID == "0" || (Sheathe && (Gear[16].Sheath == 0 || Gear[16].Sheath == 7))) { components[3].Initialize(); } else { int attachment = Sheathe ? WoWHelper.SheatheAttachment(Gear[16].Sheath, false) : 1; ModelBone bone = bones[FindAttachment(attachment).bone]; position = SetVector3D(position, bone.Position.x, bone.Position.y, bone.Position.z); rotation = SetQuaternion(rotation, bone.Rotation.x, bone.Rotation.y, bone.Rotation.z, bone.Rotation.w); rotation = Sheathe ? rotation * WoWHelper.SheatheRotation(Gear[16].Sheath, false) : rotation; scale = SetVector3D(scale, bone.Scale.x, bone.Scale.y, bone.Scale.z); if (Gear[16].ID != components[3].ID) { components[3].Initialize(Gear[16].ID, Gear[16].Models.Left.Replace(".mdx", ".xml"), Gear[16].Textures.Left, objectComponentsPath + @"Weapon\", position, rotation, scale); } else { components[3].Modify(position, rotation, scale); } } }