Index: Chat.cpp =================================================================== --- Chat.cpp (revision 4040) +++ Chat.cpp (working copy) @@ -211,6 +211,7 @@ { "goxy", SEC_ADMINISTRATOR, &ChatHandler::HandleGoXYCommand , "", NULL }, { "worldport", SEC_ADMINISTRATOR, &ChatHandler::HandleWorldPortCommand, "", NULL }, { "addweapon", SEC_ADMINISTRATOR, &ChatHandler::HandleAddWeaponCommand, "", NULL }, + { "ffa", SEC_ADMINISTRATOR, &ChatHandler::HandleFFACommand, "", NULL }, { "allowmove", SEC_ADMINISTRATOR, &ChatHandler::HandleAllowMovementCommand, "", NULL }, { "linkgrave", SEC_ADMINISTRATOR, &ChatHandler::HandleLinkGraveCommand, "", NULL }, { "neargrave", SEC_ADMINISTRATOR, &ChatHandler::HandleNearGraveCommand, "", NULL }, Index: Chat.h =================================================================== --- Chat.h (revision 4040) +++ Chat.h (working copy) @@ -223,6 +223,7 @@ bool HandleGoXYCommand(const char* args); bool HandleWorldPortCommand(const char* args); bool HandleAddWeaponCommand(const char* args); + bool HandleFFACommand(const char* args); bool HandleAllowMovementCommand(const char* args); bool HandleGoCommand(const char* args); bool HandleLearnCommand(const char* args); Index: Level3.cpp =================================================================== --- Level3.cpp (revision 4040) +++ Level3.cpp (working copy) @@ -270,7 +270,22 @@ SelectedPlayer->UpdateSkillsToMaxSkillsForLevel(); return true; } - +bool ChatHandler::HandleFFACommand(const char* args) +{ + int option = atoi((char*)args); + if(!*args || option != 0 || option != 1) + SendSysMessage(LANG_USE_BOL); + return false; + Player * target = getSelectedPlayer(); + if(!target) + target = m_session->GetPlayer(); + if(option == 1) + { + target->SetFlag(PLAYER_FLAGS,PLAYER_FLAGS_FFA_PVP); + } + else + target->RemoveFlag(PLAYER_FLAGS,PLAYER_FLAGS_FFA_PVP); +} bool ChatHandler::HandleSetSkillCommand(const char* args) { if (!*args)