protected override void OnTarget(Mobile from, object targeted) { RefinementComponent item = targeted as RefinementComponent; if (item == null) { from.SendLocalizedMessage(1154457); // This is not a refinement. } else if (!item.IsChildOf(from.Backpack)) { from.SendLocalizedMessage(1060640); // The item must be in your backpack to use it. } else { if (m_Amalgamator != null && !m_Amalgamator.Deleted) { m_Amalgamator.CheckCombine(from, item); } /*RefinementComponent comp = (RefinementComponent)targeted; * * if (ToCombine == null) * { * if (comp.ModType == ModType.Invulnerability) * { * from.SendLocalizedMessage(1154353); // You can't upgrade this refinement. * } * else * { * from.SendLocalizedMessage(1154351); // Target the refinement you wish to combine. * from.Target = new InternalTarget(from, comp); * } * } * else * { * if (m_First.RefinementType != comp.RefinementType || m_First.CraftType != comp.CraftType || m_First.SubCraftType != comp.SubCraftType || m_First.ModType != comp.ModType) || { || from.SendLocalizedMessage(1154354); // This refinement does not match the type currently being combined. || } || else || { || comp.Delete(); || m_First.ModType++; || || from.SendLocalizedMessage(1154352); // You've completed the amalgamation and received an upgraded version of your refinement. || } ||}*/ } }
private void ValidateList(Mobile m) { if (ToCombine == null) { return; } List <RefinementComponent> copy = new List <RefinementComponent>(ToCombine); for (var index = 0; index < copy.Count; index++) { RefinementComponent comp = copy[index]; if (comp == null || comp.Deleted || !comp.IsChildOf(m.Backpack)) { ToCombine.Remove(comp); } } ColUtility.Free(copy); }