void world_boost(void *world_void)
{
World *world = static_cast<World *>(world_void);
UTIL_PTR_VECTOR_FOREACH(world->characters, Character, character)
{
if (character->boost >= 1 && character->tick > 0)
{
character->tick -= 1;
}
else if (character->boost >=1 && character->tick == 0)
{
EIF_Data *item = world->eif->Get(character->boost);
int bstr = item->str;
int bintl = item->intl;
int bwis = item->wis;
int bagi = item->agi;
int bcon = item->con;
int bcha = item->cha;
character->str -= bstr;
character->intl -= bintl;
character->agi -= bagi;
character->wis -= bwis;
character->con -= bcon;
character->cha -= bcha;
character->boost = 0;
character->tick = -1;
PacketBuilder builder(PACKET_STATSKILL, PACKET_PLAYER);
builder.AddShort(character->statpoints);
builder.AddShort(character->str);
builder.AddShort(character->intl);
builder.AddShort(character->wis);
builder.AddShort(character->agi);
builder.AddShort(character->con);
builder.AddShort(character->cha);
builder.AddShort(character->maxhp);
builder.AddShort(character->maxtp);
builder.AddShort(character->maxsp);
builder.AddShort(character->maxweight);
builder.AddShort(character->mindam);
builder.AddShort(character->maxdam);
builder.AddShort(character->accuracy);
builder.AddShort(character->evade);
builder.AddShort(character->armor);
character->player->client->SendBuilder(builder);
character->ServerMsg("You feel the strength leave you.");
}
}
}