View Single Post
  #5  
Old 09-30-2015, 08:55 PM
AdrianD
Discordant
 
Join Date: Dec 2013
Posts: 297
Default

Ok.

I added a rule check <\zone\client_packet.cpp(1677)>
Code:
	if (RuleB(Pets, PetLogPersistence) == true)
	{
		database.LoadPetInfo(this);
		/*
		This was moved before the spawn packets are sent
		in hopes that it adds more consistency...
		Remake pet
		*/
		if (m_petinfo.SpellID > 1 && !GetPet() && m_petinfo.SpellID <= SPDAT_RECORDS) {
			MakePoweredPet(m_petinfo.SpellID, spells[m_petinfo.SpellID].teleport_zone, m_petinfo.petpower, m_petinfo.Name, m_petinfo.size);
			if (GetPet() && GetPet()->IsNPC()) {
				NPC *pet = GetPet()->CastToNPC();
				pet->SetPetState(m_petinfo.Buffs, m_petinfo.Items);
				pet->CalcBonuses();
				pet->SetHP(m_petinfo.HP);
				pet->SetMana(m_petinfo.Mana);
			}
			m_petinfo.SpellID = 0;
		}
	}
...and reverted this section <\zone\client_process.cpp(844)>
Code:
	bool deletenorent = database.NoRentExpired(GetName());
	if (deletenorent) { //client was offline for more than 30 minutes, delete no rent items
		if (RuleB(Inventory, TransformSummonedBags))
			DisenchantSummonedBags(false);
		RemoveNoRent(false);
// added 9/30/15 no rent check (this may need fixing when introducing suspended minion)
	if (RuleB(Pets, PetLogPersistence) == false)
		{
			SetPet(0);
		}
	}

As far as client crash from previous, I am uncertain what was causing it but, the wireless connection it had previous was not good. Getting to login server was difficult. I fixed that and logged a character with a pet (+30 minutes). I did not see the pet window but the pet was still an entry in the DB, like previous.

I will review what you said about this Uleat.

Thanks

EDIT: something isn't right with the norent check - I'll check back but, I've had enough for now
Reply With Quote