Mercurial > mm7
view NPC.h @ 272:6e585f21a01e
Merge
author | Nomad |
---|---|
date | Mon, 18 Feb 2013 13:09:08 +0200 |
parents | f1218b9d67f1 |
children | 0ea5fbd16edb |
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 { inline bool Hired() {return uFlags & 0x80;} char *pName; unsigned int uPortraitID; unsigned int uFlags; // & 0x80 no greeting on dialogue start; looks like hired int fame; int rep; int house; unsigned int uProfession; int greet; int joins; int field_24; unsigned int bDrawSomeAnim; int _anim_current_time; //evtb int _anim_end_time; //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; //summ char field_4[60]; //prof position }; #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]; //16544h proffesion position in area 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) bool PartyHasDragon(); bool CheckHiredNPCSpeciality(unsigned int uProfession);