else if (command.length() >= 2 && command.compare(0,2,"ph") == 0 && this->player->character->has_pet)
{
PacketBuilder builder;
UTIL_PTR_LIST_FOREACH(this->player->character->map->characters, Character, character)
{
int hpgain = this->player->character->maxhp - this->player->character->hp;
if(this->player->character->tp > 0)
{
this->player->character->tp -= 50;
if (this->player->character->tp <= 0)
{
this->player->character->tp = 0;
}
this->player->character->hp += hpgain;
reply.AddInt(hpgain);
reply.AddShort(this->player->character->hp);
{
PacketBuilder builder;
builder.SetID(PACKET_RECOVER, PACKET_AGREE);
builder.AddShort(this->player->id);
builder.AddInt(hpgain);
builder.AddChar(int(double(this->player->character->hp) / double(this->player->character->maxhp) * 100.0));
UTIL_PTR_VECTOR_FOREACH(this->server->world->characters, Character, character)
{
character->player->client->SendBuilder(builder);
}
}
PacketBuilder builder;
builder.SetID(PACKET_RECOVER, PACKET_PLAYER);
builder.AddShort(this->player->character->hp);
builder.AddShort(this->player->character->tp);
UTIL_PTR_VECTOR_FOREACH(this->server->world->characters, Character, character)
{
character->player->client->SendBuilder(builder);
}
}
PacketBuilder builder;
builder.SetID(PACKET_EFFECT, PACKET_PLAYER);
builder.AddShort(this->player->id);
builder.AddShort(21);
builder.AddChar(0);
UTIL_PTR_VECTOR_FOREACH(this->server->world->characters, Character, character)
{
character->player->client->SendBuilder(builder);
}
}
}