view NPC.h @ 77:8b0c4d626477

Party movement
author Nomad
date Sun, 28 Oct 2012 18:51:52 +0200
parents f4450ff595fe
children
line wrap: on
line source

#pragma once


struct NPCTopic
{
  const char *pTopic;
  const char *pText;
};

extern NPCTopic pNPCTopics[789];





/*  136 */
#pragma pack(push, 1)
struct NPCData
{
  char *pName;
  unsigned int uPortraitID;
  unsigned int uFlags;
  int fame;
  int rep;
  int house;
  unsigned int uProfession;
  int greet;
  int joins;
  int field_24;
  unsigned int bDrawSomeAnim;
  int evtb;
  int evtc;
  int evtd;
  int evte;
  int evtf;
  int uSex;
  int bHasUsedTheAbility;
  int news_topic;
};
#pragma pack(pop)


/*  138 */
#pragma pack(push, 1)
struct NPCProfession
{
  unsigned int uHirePrice;
  char *pBenefits;
  char *pActionText;
  char *pJoinText;
  char *pDismissText;
};
#pragma pack(pop)


/*  139 */
#pragma pack(push, 1)
struct NPCStats_stru0
{
  int field_0;
  char field_4[60];
};
#pragma pack(pop)

/*  140 */
#pragma pack(push, 1)
struct NPCGreeting
{
  char *pGreeting1;
  char *pGreeting2;
};
#pragma pack(pop)



/*  137 */
#pragma pack(push, 1)
struct NPCStats
{
  inline NPCStats():
    pNPCTextTXT_Raw(nullptr), pNPCTopicTXT_Raw(nullptr), pNPCDistTXT_Raw(nullptr)
  {
    uNumNPCNames[0] = uNumNPCNames[1] = 0;
  }

  void Initialize2();
  void Initialize1();
  void Initialize();
  void Release();
  bool InitializeAdditionalNPCs(NPCData *a2, int a3, int a4, int a5);
  void _476C60();


  NPCData pNPCData[501];
  NPCData pNewNPCData[501];
  char *pNPCNames[540][2];
  int field_13A58;
  int field_13A5C;
  int field_13A60;
  int field_13A64;
  int field_13A68;
  NPCProfession pProfessions[58];
  NPCData array_13EF4[100];
  char *pCatchPhrases[52];
  char *pNPCNames2[500];
  NPCStats_stru0 array_16544[77];
  int field_17884;
  int field_17888;
  NPCGreeting pNPCGreetings[205];
  unsigned __int16 pGroups[51];
  unsigned __int16 pGroups_copy[51];
  int field_17FC0;
  unsigned int uNumNewNPCs;
  int field_17FC8;
  unsigned int uNumNPCProfessions;
  unsigned int uNumNPCNames[2];
  char *pNPCDataTXT_Raw;
  char *pNPCNamesTXT_Raw;
  char *pNPCProfTXT_Raw;
  char *pNPCNewsTXT_Raw;
  char *pNPCTopicTXT_Raw;
  char *pNPCTextTXT_Raw;
  char *pNPCDistTXT_Raw;
  char *pNPCGreetTXT_Raw;
  char *pNCPGroupTXT_Raw;
};
#pragma pack(pop)