<commit_before>
#include "swganh/object/player/player.h"

#include "anh/logger.h"

#include "anh/crc.h"

#include "player_events.h"
#include "player_message_builder.h"
#include "swganh/object/creature/creature.h"
#include "swganh/object/waypoint/waypoint.h"
#include "swganh/messages/deltas_message.h"

using namespace std;
using namespace swganh::object;
using namespace swganh::object::player;
using namespace swganh::object::waypoint;
using namespace swganh::messages;
using namespace containers;

Player::Player()
: status_flags_(array<FlagBitmask, 4>())
, profile_flags_(array<FlagBitmask, 4>())
, profession_tag_("")
, born_date_(0)
, total_playtime_(0)
, admin_tag_(0)
, region_(0)
, experience_(NetworkMap<string, XpData>())
, waypoints_(NetworkMap<uint64_t, PlayerWaypointSerializer>())
, current_force_power_(0)
, max_force_power_(0)
, current_force_sensitive_quests_(0)
, completed_force_sensitive_quests_(0)
, quest_journal_(NetworkMap<uint32_t, QuestJournalData>())
, experimentation_flag_(0)
, crafting_stage_(0)
, nearest_crafting_station_(0)
, draft_schematics_(NetworkSortedList<DraftSchematicData>())
, experimentation_points_(0)
, accomplishment_counter_(0)
, friends_(NetworkSortedVector<Name>(25))
, ignored_players_(NetworkSortedVector<Name>(25))
, language_(0)
, current_stomach_(0)
, max_stomach_(0)
, current_drink_(0)
, max_drink_(0)
, jedi_state_(0)
, gender_(MALE)
{}
std::array<FlagBitmask, 4> Player::GetStatusFlags() 
{
    boost::lock_guard<boost::recursive_mutex> lock(mutex_);
    return status_flags_;
}
void Player::AddStatusFlag(StatusFlags flag, StatusIndex index)
{
    boost::lock_guard<boost::recursive_mutex> lock(mutex_);
    status_flags_[index] = FlagBitmask(status_flags_[index].bitmask | flag);
    PlayerMessageBuilder::BuildStatusBitmaskDelta(this);
}

void Player::RemoveStatusFlag(StatusFlags flag, StatusIndex index)
{
    boost::lock_guard<boost::recursive_mutex> lock(mutex_);
    status_flags_[index] = FlagBitmask(status_flags_[index].bitmask & ~flag);
    PlayerMessageBuilder::BuildStatusBitmaskDelta(this);
}

void Player::ClearStatusFlags()
{
    boost::lock_guard<boost::recursive_mutex> lock(mutex_);<commit_msg>fixes linux issue<commit_after>
#include "swganh/object/player/player.h"

#include "anh/logger.h"

#include "anh/crc.h"

#include "player_events.h"
#include "player_message_builder.h"
#include "swganh/object/creature/creature.h"
#include "swganh/object/waypoint/waypoint.h"
#include "swganh/messages/deltas_message.h"

using namespace std;
using namespace swganh::object;
using namespace swganh::object::player;
using namespace swganh::object::waypoint;
using namespace swganh::messages;
using namespace containers;

Player::Player()
: status_flags_(array<FlagBitmask, 4>())
, profile_flags_(array<FlagBitmask, 4>())
, profession_tag_("")
, born_date_(0)
, total_playtime_(0)
, admin_tag_(0)
, region_(0)
, experience_(NetworkMap<string, XpData>())
, waypoints_(NetworkMap<uint64_t, PlayerWaypointSerializer>())
, current_force_power_(0)
, max_force_power_(0)
, current_force_sensitive_quests_(0)
, completed_force_sensitive_quests_(0)
, quest_journal_(NetworkMap<uint32_t, QuestJournalData>())
, experimentation_flag_(0)
, crafting_stage_(0)
, nearest_crafting_station_(0)
, draft_schematics_(NetworkSortedList<DraftSchematicData>())
, experimentation_points_(0)
, friends_(NetworkSortedVector<Name>(25))
, ignored_players_(NetworkSortedVector<Name>(25))
, accomplishment_counter_(0)
, language_(0)
, current_stomach_(0)
, max_stomach_(0)
, current_drink_(0)
, max_drink_(0)
, jedi_state_(0)
, gender_(MALE)
{}
std::array<FlagBitmask, 4> Player::GetStatusFlags() 
{
    boost::lock_guard<boost::recursive_mutex> lock(mutex_);
    return status_flags_;
}
void Player::AddStatusFlag(StatusFlags flag, StatusIndex index)
{
    boost::lock_guard<boost::recursive_mutex> lock(mutex_);
    status_flags_[index] = FlagBitmask(status_flags_[index].bitmask | flag);
    PlayerMessageBuilder::BuildStatusBitmaskDelta(this);
}

void Player::RemoveStatusFlag(StatusFlags flag, StatusIndex index)
{
    boost::lock_guard<boost::recursive_mutex> lock(mutex_);
    status_flags_[index] = FlagBitmask(status_flags_[index].bitmask & ~flag);
    PlayerMessageBuilder::BuildStatusBitmaskDelta(this);
}

void Player::ClearStatusFlags()
{
    boost::lock_guard<boost::recursive_mutex> lock(mutex_);
{'fraction_non_alphanumeric': 0.13602941176470587, 'fraction_numerical': 0.013786764705882353, 'mean_word_length': 9.290780141843971, 'pattern_counts': {'":': 0, '<': 29, '<?xml version=': 0, '>': 29, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7039705', 'n_tokens_mistral': 1519, 'n_tokens_neox': 1481, 'n_words': 207}