#include <psconfig.h>
#include "drmessage.h"

PSF_IMPLEMENT_MSG_FACTORY(psStatDRMessage,MSGTYPE_STATDRUPDATE);

csString psStatDRMessage::ToString(AccessPointers * /*access_ptrs*/)
{
    csString msgtext;

    msgtext.AppendFmt("Ent: %d",entityid);

    msgtext.AppendFmt(" Dirty: %d ",statsDirty);

    if (statsDirty & DIRTY_VITAL_HP)
    {
        msgtext.AppendFmt(" HP: %.2f",hp);
    }

    if (statsDirty & DIRTY_VITAL_HP_RATE)
    {
        msgtext.AppendFmt(" HP RATE: %.2f",hp_rate);
    }

    if (statsDirty & DIRTY_VITAL_MANA)
    {
        msgtext.AppendFmt(" MANA: %.2f",mana);
    }
            
    if (statsDirty & DIRTY_VITAL_MANA_RATE)
    {
        msgtext.AppendFmt(" MANA RATE: %.2f",mana_rate);
    }

    if (statsDirty & DIRTY_VITAL_PYSSTAMINA)
    {
        msgtext.AppendFmt(" PYSSTA: %.2f",pstam);
    }

    if (statsDirty & DIRTY_VITAL_PYSSTAMINA_RATE)
    {
        msgtext.AppendFmt(" PYSSTA RATE: %.2f",pstam_rate);
    }

    if (statsDirty & DIRTY_VITAL_MENSTAMINA)
    {
        msgtext.AppendFmt(" MENSTA: %.2f",mstam);
    }

    if (statsDirty & DIRTY_VITAL_MENSTAMINA_RATE)
    {
        msgtext.AppendFmt(" MENSTA RATE: %.2f",mstam_rate);
    }

    if (statsDirty & DIRTY_VITAL_EXPERIENCE)
    {
        msgtext.AppendFmt(" EXP: %.2f",exp);
    }
            
    if (statsDirty & DIRTY_VITAL_PROGRESSION)
    {
        msgtext.AppendFmt(" PP: %.2f",prog);
    }
        
    msgtext.AppendFmt(" C: %d",counter);

    return msgtext;
}
