ff_u_pc_desc

Remove description from PC after first login.

If description are handled via another system, or not used at all, then it may be useful to remove description from PC character sheet.

Variables

ENABLE__FF_U_PC_LVL1_DESCRIPTION: (string) (opt-in) Set to “Y” on module to enable.

Source code

// @code

#include "ff_i_core"

const string ENABLE__FF_U_PC_LVL1_DESCRIPTION = "ENABLE__FF_U_PC_LVL1_DESCRIPTION";

const string FF_U_PC_LVL1_DESCRIPTION = "FF_U_PC_LVL1_DESCRIPTION";


// -----------------------------------------------------------------------------

void OnClientEnter()
{
  object oPC = GetEnteringObject();
  if (!GetIsPC(oPC))
    return;

  if (NWNX_Object_GetInt(oPC, GetCacheVar(FF_U_PC_LVL1_DESCRIPTION)))
    return;
  NWNX_Object_SetInt(oPC, GetCacheVar(FF_U_PC_LVL1_DESCRIPTION), 1, TRUE);

  LogDebug(__FILE__ + ": " + GetPCInfo(oPC) + " description set to blank");
  SetDescription(oPC, "");
}


// -----------------------------------------------------------------------------

void main()
{
  if (GetModuleFlag(ENABLE__FF_U_PC_LVL1_DESCRIPTION, FALSE))
    return;

  string sEvent = GetCurrentEvent();
  if (sEvent == ON_REGISTER)
    SubscribeToEvent(ON_DEFAULT_CLIENT_ENTER, __FILE__);
  else if (sEvent == ON_DEFAULT_CLIENT_ENTER)
    OnClientEnter();
}