View Single Post
  #40  
Old 10-20-2009, 02:57 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

I'm pretty sure this kills some tribute functionality which isn't acceptable but based on what's here we can rewrite this to be more consistent with our codebase:

Code:
void Client::DoTributeUpdate() 
{
	const Item_Struct* myitem = database.GetItem(1001);
	Item_Struct* item = new Item_Struct(*myitem);

	if(GetLevel() >= 76 && this->GetClientVersion() == EQClientSoF)
	{
		item->HP += (CalcBaseHP() - 5);
		item->Mana += (CalcMaxMana() - 5);
		item->Endur += (this->max_end - 5);
	}

	ItemInst* myinst = database.CreateBaseItem((const Item_Struct*)item);
	SendItemPacket(400, myinst, ItemPacketTributeItem);
	safe_delete(item);
        safe_delete(myinst);
}
And there isn't a point in making a SendFakeItem() when it copies SendItemPacket word for word. All that said I think it's an acceptable proof of concept and I think we can put it into action. =p
Reply With Quote