annotate NPC.h @ 455:4c4584219da3

m
author Ritor1
date Sun, 24 Feb 2013 13:52:57 +0600
parents 243418228760
children 0a1ea44b4a0a
rev   line source
0
Ritor1
parents:
diff changeset
1 #pragma once
Ritor1
parents:
diff changeset
2
374
Gloval
parents: 353
diff changeset
3 /*
Gloval
parents: 353
diff changeset
4 enum NPCProffession
Gloval
parents: 353
diff changeset
5 {
Gloval
parents: 353
diff changeset
6 Smith 1
Gloval
parents: 353
diff changeset
7 Armorer 2
Gloval
parents: 353
diff changeset
8 Alchemist 3
Gloval
parents: 353
diff changeset
9 Scholar 4
Gloval
parents: 353
diff changeset
10 Guide 5
Gloval
parents: 353
diff changeset
11 Tracker 6
Gloval
parents: 353
diff changeset
12 Pathfinder 7
Gloval
parents: 353
diff changeset
13 Sailor 8
Gloval
parents: 353
diff changeset
14 Navigator 9
Gloval
parents: 353
diff changeset
15 Healer 10
Gloval
parents: 353
diff changeset
16 Expert Healer 11
Gloval
parents: 353
diff changeset
17 Master Healer 12
Gloval
parents: 353
diff changeset
18 Teacher 13
Gloval
parents: 353
diff changeset
19 Instructor 14
Gloval
parents: 353
diff changeset
20 Arms Master 15
Gloval
parents: 353
diff changeset
21 Weapons Master 16
Gloval
parents: 353
diff changeset
22 Apprentice 17
Gloval
parents: 353
diff changeset
23 Mystic 18
Gloval
parents: 353
diff changeset
24 Spell Master 19
Gloval
parents: 353
diff changeset
25 Trader 20
Gloval
parents: 353
diff changeset
26 Merchant 21
Gloval
parents: 353
diff changeset
27 Scout 22
Gloval
parents: 353
diff changeset
28 Herbalist 23
Gloval
parents: 353
diff changeset
29 Apothecary 24
Gloval
parents: 353
diff changeset
30 Tinker 25
Gloval
parents: 353
diff changeset
31 Locksmith 26
Gloval
parents: 353
diff changeset
32 Fool 27
Gloval
parents: 353
diff changeset
33 Chimney Sweep 28
Gloval
parents: 353
diff changeset
34 Porter 29
Gloval
parents: 353
diff changeset
35 Quarter Master 30
Gloval
parents: 353
diff changeset
36 Factor 31
Gloval
parents: 353
diff changeset
37 Banker 32
Gloval
parents: 353
diff changeset
38 Cook 33
Gloval
parents: 353
diff changeset
39 Chef 34
Gloval
parents: 353
diff changeset
40 Horseman 35
Gloval
parents: 353
diff changeset
41 Bard 36
Gloval
parents: 353
diff changeset
42 Enchanter 37
Gloval
parents: 353
diff changeset
43 Cartographer 38
Gloval
parents: 353
diff changeset
44 Wind Master 39
Gloval
parents: 353
diff changeset
45 Water Master 40
Gloval
parents: 353
diff changeset
46 Gate Master 41
Gloval
parents: 353
diff changeset
47 Acolyte 42
Gloval
parents: 353
diff changeset
48 Piper 43
Gloval
parents: 353
diff changeset
49 Explorer 44
Gloval
parents: 353
diff changeset
50 Pirate 45
Gloval
parents: 353
diff changeset
51 Squire 46
Gloval
parents: 353
diff changeset
52 Psychic 47
Gloval
parents: 353
diff changeset
53 Gypsy 48
Gloval
parents: 353
diff changeset
54 Diplomat 49
Gloval
parents: 353
diff changeset
55 Duper 50
Gloval
parents: 353
diff changeset
56 Burglar 51
Gloval
parents: 353
diff changeset
57 Fallen Wizard 52
Gloval
parents: 353
diff changeset
58 Acolyte 53
Gloval
parents: 353
diff changeset
59 Initiate 54
Gloval
parents: 353
diff changeset
60 Prelate 55
Gloval
parents: 353
diff changeset
61 Monk 56
Gloval
parents: 353
diff changeset
62 Sage 57
Gloval
parents: 353
diff changeset
63 Hunter 58
Gloval
parents: 353
diff changeset
64
Gloval
parents: 353
diff changeset
65
Gloval
parents: 353
diff changeset
66 };
Gloval
parents: 353
diff changeset
67 */
Gloval
parents: 353
diff changeset
68
0
Ritor1
parents:
diff changeset
69
Ritor1
parents:
diff changeset
70 struct NPCTopic
Ritor1
parents:
diff changeset
71 {
Ritor1
parents:
diff changeset
72 const char *pTopic;
Ritor1
parents:
diff changeset
73 const char *pText;
Ritor1
parents:
diff changeset
74 };
Ritor1
parents:
diff changeset
75
Ritor1
parents:
diff changeset
76 extern NPCTopic pNPCTopics[789];
Ritor1
parents:
diff changeset
77
Ritor1
parents:
diff changeset
78
Ritor1
parents:
diff changeset
79 /* 136 */
Ritor1
parents:
diff changeset
80 #pragma pack(push, 1)
291
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
81 struct NPCData //4Ch
0
Ritor1
parents:
diff changeset
82 {
248
37dcbe8f3cca Dialogue stuff
Nomad
parents: 237
diff changeset
83 inline bool Hired() {return uFlags & 0x80;}
37dcbe8f3cca Dialogue stuff
Nomad
parents: 237
diff changeset
84
291
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
85 char *pName; //0
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
86 unsigned int uPortraitID; //4
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
87 unsigned int uFlags; //8 // & 0x80 no greeting on dialogue start; looks like hired
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
88 int fame; //c
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
89 int rep; //10
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
90 unsigned int Location2D; //14
353
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
91 unsigned int uProfession; //18 CheckHiredNPCSpeciality(uProfession)
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
92 /*
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
93
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
94 case PLAYER_SKILL_MONSTER_ID:
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
95 if ( CheckHiredNPCSpeciality(58) )
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
96 skill += 6;
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
97 if ( CheckHiredNPCSpeciality(57) )
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
98 skill += 6;
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
99
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
100 case PLAYER_SKILL_ARMSMASTER:
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
101 if ( CheckHiredNPCSpeciality(15) )
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
102 skill += 2;
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
103 if ( CheckHiredNPCSpeciality(16) )
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
104 skill += 3;
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
105
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
106 case PLAYER_SKILL_STEALING:
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
107 if (CheckHiredNPCSpeciality(51))
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
108 skill +=
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
109
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
110 case PLAYER_SKILL_ALCHEMY:
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
111 if ( CheckHiredNPCSpeciality(23) )
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
112 skill += 4;
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
113 if ( CheckHiredNPCSpeciality(24) )
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
114 skill += 8
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
115
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
116 case PLAYER_SKILL_LEARNING:
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
117 if ( CheckHiredNPCSpeciality(13) )
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
118 skill += 10;
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
119 if ( CheckHiredNPCSpeciality(14) )
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
120 skill += 15;
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
121 if ( CheckHiredNPCSpeciality(4) )
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
122 skill += 5;
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
123
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
124 case PLAYER_SKILL_UNARMED:
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
125 if (CheckHiredNPCSpeciality(56) )
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
126 skill +
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
127
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
128 case PLAYER_SKILL_DODGE:
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
129 if ( CheckHiredNPCSpeciality(56) )
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
130 skill+
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
131
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
132 case PLAYER_SKILL_MERCHANT:
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
133 if ( CheckHiredNPCSpeciality(20) )
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
134 skill += 4;
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
135 if ( CheckHiredNPCSpeciality(21) )
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
136 skill += 6;
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
137 if ( CheckHiredNPCSpeciality(48) )
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
138 skill += 3;
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
139 if ( CheckHiredNPCSpeciality(50) )
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
140 skill += 8;
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
141
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
142 case PLAYER_SKILL_PERCEPTION:
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
143 if ( CheckHiredNPCSpeciality(22) )
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
144 v2 = 6;
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
145 if ( CheckHiredNPCSpeciality(47) )
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
146 v2 += 5;
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
147
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
148 case PLAYER_SKILL_TRAP_DISARM:
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
149 if ( CheckHiredNPCSpeciality(25) )
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
150 v2 = 4;
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
151 if ( CheckHiredNPCSpeciality(26) )
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
152 v2 += 6;
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
153 if ( CheckHiredNPCSpeciality(51) )
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
154 v2 += 8;
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
155
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
156 FIRE WATER EARTH AIR
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
157 if ( CheckHiredNPCSpeciality(17) )
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
158 v2 = 2;
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
159 if ( CheckHiredNPCSpeciality(18) )
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
160 v2 += 3;
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
161 if ( CheckHiredNPCSpeciality(19) )
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
162 v2 += 4;
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
163 if ( classType == PLAYER_CLASS_WARLOCK && PartyHasDragon() )
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
164 v2 += 3;
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
165
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
166 SPIRIT MIND BODY
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
167 if ( CheckHiredNPCSpeciality(53) )
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
168 v2 = 2;
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
169 if ( CheckHiredNPCSpeciality(54) )
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
170 v2 += 3;
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
171 if ( CheckHiredNPCSpeciality(55) )
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
172 v2 += 4;
95be2dcecadf Partial refactor for Player::GetActualSkillLevel
Nomad
parents: 291
diff changeset
173 */
291
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
174 int greet; //1c
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
175 int joins; //20
0
Ritor1
parents:
diff changeset
176 int field_24;
291
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
177 unsigned int evt_A; //28
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
178 unsigned int evt_B; //2c evtb
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
179 unsigned int evt_C; // 30 evtc
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
180 unsigned int evt_D; //34
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
181 unsigned int evt_E; //38
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
182 unsigned int evt_F; //3c
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
183 unsigned int uSex; //40
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
184 int bHasUsedTheAbility; //44
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
185 int news_topic; //48
0
Ritor1
parents:
diff changeset
186 };
Ritor1
parents:
diff changeset
187 #pragma pack(pop)
Ritor1
parents:
diff changeset
188
Ritor1
parents:
diff changeset
189
Ritor1
parents:
diff changeset
190 /* 138 */
Ritor1
parents:
diff changeset
191 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
192 struct NPCProfession
Ritor1
parents:
diff changeset
193 {
Ritor1
parents:
diff changeset
194 unsigned int uHirePrice;
Ritor1
parents:
diff changeset
195 char *pBenefits;
Ritor1
parents:
diff changeset
196 char *pActionText;
Ritor1
parents:
diff changeset
197 char *pJoinText;
Ritor1
parents:
diff changeset
198 char *pDismissText;
Ritor1
parents:
diff changeset
199 };
Ritor1
parents:
diff changeset
200 #pragma pack(pop)
Ritor1
parents:
diff changeset
201
Ritor1
parents:
diff changeset
202
Ritor1
parents:
diff changeset
203 /* 139 */
Ritor1
parents:
diff changeset
204 #pragma pack(push, 1)
291
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
205 struct NPCProfessionChance
0
Ritor1
parents:
diff changeset
206 {
291
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
207 unsigned int uTotalprofChance; //summ
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
208 char professionChancePerArea[60]; //prof position
0
Ritor1
parents:
diff changeset
209 };
Ritor1
parents:
diff changeset
210 #pragma pack(pop)
Ritor1
parents:
diff changeset
211
Ritor1
parents:
diff changeset
212 /* 140 */
Ritor1
parents:
diff changeset
213 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
214 struct NPCGreeting
Ritor1
parents:
diff changeset
215 {
377
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
216 char *pGreeting1; //at first meet
243418228760 GetIdentifiedName
Gloval
parents: 374
diff changeset
217 char *pGreeting2; // at latest meets
0
Ritor1
parents:
diff changeset
218 };
Ritor1
parents:
diff changeset
219 #pragma pack(pop)
Ritor1
parents:
diff changeset
220
Ritor1
parents:
diff changeset
221
Ritor1
parents:
diff changeset
222 /* 137 */
Ritor1
parents:
diff changeset
223 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
224 struct NPCStats
Ritor1
parents:
diff changeset
225 {
Ritor1
parents:
diff changeset
226 inline NPCStats():
Ritor1
parents:
diff changeset
227 pNPCTextTXT_Raw(nullptr), pNPCTopicTXT_Raw(nullptr), pNPCDistTXT_Raw(nullptr)
Ritor1
parents:
diff changeset
228 {
Ritor1
parents:
diff changeset
229 uNumNPCNames[0] = uNumNPCNames[1] = 0;
Ritor1
parents:
diff changeset
230 }
Ritor1
parents:
diff changeset
231
291
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
232 void InitializeNPCText();
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
233 void InitializeNPCData();
0
Ritor1
parents:
diff changeset
234 void Initialize();
Ritor1
parents:
diff changeset
235 void Release();
291
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
236 void InitializeAdditionalNPCs(NPCData *pNPCDataBuff, int npc_uid, int uLocation2D, int uMapId);
0
Ritor1
parents:
diff changeset
237 void _476C60();
Ritor1
parents:
diff changeset
238
237
2799737f8a74 more text parsers refactor
Gloval
parents: 188
diff changeset
239
291
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
240 NPCData pNPCData[501]; //0 - 94BCh count from 1
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
241 NPCData pNewNPCData[501]; //94BCh- 12978h count from 1
0
Ritor1
parents:
diff changeset
242 char *pNPCNames[540][2];
291
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
243 NPCProfession pProfessions[59]; //count from 1
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
244 NPCData pAdditionalNPC[100];
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
245 char *pCatchPhrases[52]; //15CA4h
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
246 char *pNPCUnicNames[500]; //from first batch
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
247 NPCProfessionChance pProfessionChance[77]; //16544h profession chance in each area
0
Ritor1
parents:
diff changeset
248 int field_17884;
Ritor1
parents:
diff changeset
249 int field_17888;
Ritor1
parents:
diff changeset
250 NPCGreeting pNPCGreetings[205];
Ritor1
parents:
diff changeset
251 unsigned __int16 pGroups[51];
Ritor1
parents:
diff changeset
252 unsigned __int16 pGroups_copy[51];
291
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
253 unsigned int uNewlNPCBufPos;
0
Ritor1
parents:
diff changeset
254 unsigned int uNumNewNPCs;
Ritor1
parents:
diff changeset
255 int field_17FC8;
Ritor1
parents:
diff changeset
256 unsigned int uNumNPCProfessions;
291
0ea5fbd16edb NPC mostly done
Gloval
parents: 253
diff changeset
257 unsigned int uNumNPCNames[2]; //0 male 1 female
0
Ritor1
parents:
diff changeset
258 char *pNPCDataTXT_Raw;
Ritor1
parents:
diff changeset
259 char *pNPCNamesTXT_Raw;
Ritor1
parents:
diff changeset
260 char *pNPCProfTXT_Raw;
Ritor1
parents:
diff changeset
261 char *pNPCNewsTXT_Raw;
Ritor1
parents:
diff changeset
262 char *pNPCTopicTXT_Raw;
Ritor1
parents:
diff changeset
263 char *pNPCTextTXT_Raw;
Ritor1
parents:
diff changeset
264 char *pNPCDistTXT_Raw;
Ritor1
parents:
diff changeset
265 char *pNPCGreetTXT_Raw;
Ritor1
parents:
diff changeset
266 char *pNCPGroupTXT_Raw;
Ritor1
parents:
diff changeset
267 };
Ritor1
parents:
diff changeset
268 #pragma pack(pop)
Ritor1
parents:
diff changeset
269
253
Gloval
parents: 252
diff changeset
270 bool PartyHasDragon();
251
48f21f569328 Npc related stuff separated
Gloval
parents: 237
diff changeset
271 bool CheckHiredNPCSpeciality(unsigned int uProfession);