View Single Post
  #10  
Old 02-25-2009, 10:55 PM
Theeper
Discordant
 
Join Date: May 2004
Posts: 290
Default

Good point. Here is a simple change to make them not auto equip.

In zone\inventory.cpp around line 381

Change

Code:
	// #1: Try to auto equip
	if (try_worn && inst.IsEquipable(GetBaseRace(), GetClass()) && inst.GetItem()->ReqLevel<=level)
to

Code:
	// #1: Try to auto equip
	if (try_worn && inst.IsEquipable(GetBaseRace(), GetClass()) && inst.GetItem()->ReqLevel<=level && !inst.GetItem()->Attuneable)

And this will set the instnodrop flag upon zoning if the item was equipped somehow (like with MQ) and bypasses the popup window.

in common\shareddb.cpp around line 483

Change
Code:
			if (item) {
				sint16 put_slot_id = SLOT_INVALID;
				
				ItemInst inst(item, charges);
				if (instnodrop)
						inst.SetInstNoDrop(true);
				if (color > 0)
					inst.SetColor(color);
				if(charges==255)
					inst.SetCharges(-1);
				else
to

Code:
			if (item) {
				sint16 put_slot_id = SLOT_INVALID;
				
				ItemInst inst(item, charges);
				if (instnodrop || (slot_id >= 0 && slot_id <= 21 && inst.GetItem()->Attuneable))
						inst.SetInstNoDrop(true);
				if (color > 0)
					inst.SetColor(color);
				if(charges==255)
					inst.SetCharges(-1);
				else
Reply With Quote