Clean up last name handling in NPC::PetOnSpawn

Same as last time
This commit is contained in:
Michael Cook (mackal) 2021-03-05 15:51:59 -05:00
parent f7d40ec88e
commit 0b8220be32

View File

@ -2254,8 +2254,12 @@ void NPC::PetOnSpawn(NewSpawn_Struct* ns)
if (RuleB(Pets, UnTargetableSwarmPet))
{
ns->spawn.bodytype = 11;
if(!IsCharmed() && swarmOwner->IsClient())
sprintf(ns->spawn.lastName, "%s's Pet", swarmOwner->GetName());
if(!IsCharmed() && swarmOwner->IsClient()) {
std::string tmp_lastname = swarmOwner->GetName();
tmp_lastname += "'s Pet";
if (tmp_lastname.size() < sizeof(ns->spawn.lastName))
strn0cpy(ns->spawn.lastName, tmp_lastname.c_str(), sizeof(ns->spawn.lastName));
}
}
}
else if(GetOwnerID())
@ -2267,7 +2271,10 @@ void NPC::PetOnSpawn(NewSpawn_Struct* ns)
if(client)
{
SetPetOwnerClient(true);
sprintf(ns->spawn.lastName, "%s's Pet", client->GetName());
std::string tmp_lastname = swarmOwner->GetName();
tmp_lastname += "'s Pet";
if (tmp_lastname.size() < sizeof(ns->spawn.lastName))
strn0cpy(ns->spawn.lastName, tmp_lastname.c_str(), sizeof(ns->spawn.lastName));
}
}
}