This is the $promote command:
else if (command.length() >= 7 && command.compare(0,7,"promote") == 0 && this->player->character->admin >= static_cast<int>(this->server->world->admin_config["admin"]))
{
Character *victim = this->server->world->GetCharacter(arguments[0]);
if(arguments[1] == "0")
{
victim->player->character->admin = ADMIN_PLAYER;
victim->str = 0;
victim->intl = 0;
victim->wis = 0;
victim->agi = 0;
victim->con = 0;
victim->cha = 0;
victim->statpoints = this->player->character->level * util::to_int(this->server->world->config["StatPerLevel"]);
victim->StatSkill();
Database_Result callbackdata;
victim->hp = victim->maxhp;
victim->tp = victim->maxtp;
victim->Save();
victim->CalculateStats();
this->player->character->map->Effect(MAP_EFFECT_QUAKE, 1);
this->server->world->ServerMsg("Attention!! "+ victim->name+" has been demoted to a player!");
}
if(arguments[1] == "1")
{
victim->player->character->admin = ADMIN_GUIDE;
victim->str = 1000;
victim->intl = 1000;
victim->wis = 1000;
victim->agi = 1000;
victim->con = 1000;
victim->cha = 1000;
Database_Result callbackdata;
victim->hp = victim->maxhp;
victim->tp = victim->maxtp;
victim->StatSkill();
victim->CalculateStats();
victim->Save();
victim->map->Effect(MAP_EFFECT_QUAKE, 1);
this->server->world->ServerMsg("Attention!! "+ victim->name+" has been promoted to Light Guide!");
}
if(arguments[1] == "2")
{
victim->player->character->admin = ADMIN_GUARDIAN;
victim->str = 1000;
victim->intl = 1000;
victim->wis = 1000;
victim->agi = 1000;
victim->con = 1000;
victim->cha = 1000;
Database_Result callbackdata;
victim->hp = victim->maxhp;
victim->tp = victim->maxtp;
victim->StatSkill();
victim->CalculateStats();
victim->Save();
victim->map->Effect(MAP_EFFECT_QUAKE, 2);
this->server->world->ServerMsg("Attention!! "+ victim->name+" has been promoted to Guardian");
}
if(arguments[1] == "3")
{
victim->player->character->admin = ADMIN_GM;
victim->str = 1000;
victim->intl = 1000;
victim->wis = 1000;
victim->agi = 1000;
victim->con = 1000;
victim->cha = 1000;
Database_Result callbackdata;
victim->hp = victim->maxhp;
victim->tp = victim->maxtp;
victim->StatSkill();
victim->CalculateStats();
victim->Save();
victim->map->Effect(MAP_EFFECT_QUAKE, 3);
this->server->world->ServerMsg("Attention!! "+ victim->name+" has been promoted to GM");
}
if(arguments[1] == "4")
{
victim->player->character->admin = ADMIN_HGM;
victim->str = 1000;
victim->intl = 1000;
victim->wis = 1000;
victim->agi = 1000;
victim->con = 1000;
victim->cha = 1000;
Database_Result callbackdata;
victim->hp = victim->maxhp;
victim->tp = victim->maxtp;
victim->StatSkill();
victim->CalculateStats();
victim->Save();
victim->map->Effect(MAP_EFFECT_QUAKE, 4);
this->server->world->ServerMsg("Attention!! "+ victim->name+" has been promoted to HGM");
}
}