comparison NPC.h @ 661:2535151505da

Слияние
author Ritor1
date Tue, 12 Mar 2013 09:43:50 +0600
parents 1ff57450f090
children 39eaa6b00141
comparison
equal deleted inserted replaced
660:94fab082f146 661:2535151505da
1 #pragma once 1 #pragma once
2 2
3 /* 3 enum NPCProf
4 enum NPCProffession 4 {
5 { 5 Smith = 1, // GM Weapon Repair;
6 Smith 1 6 Armorer = 2, // GM Armor Repair;
7 Armorer 2 7 Alchemist = 3, // GM Potion Repair;
8 Alchemist 3 8 Scholar = 4, // GM Item ID; Learning: +5
9 Scholar 4 9 Guide = 5, // Travel by foot: -1 day;
10 Guide 5 10 Tracker = 6, // Travel by foot: -2 days;
11 Tracker 6 11 Pathfinder = 7, // Travel by foot: -3 days;
12 Pathfinder 7 12 Sailor = 8, // Travel by sea: -2 days;
13 Sailor 8 13 Navigator = 9, // Travel by sea: -3 days;
14 Navigator 9 14 Healer = 10,
15 Healer 10 15 ExpertHealer = 11,
16 Expert Healer 11 16 MasterHealer = 12,
17 Master Healer 12 17 Teacher = 13, // Learning: +10;
18 Teacher 13 18 Instructor = 14, // Learning: +15;
19 Instructor 14 19 Armsmaster = 15, // Armsmaster: +2;
20 Arms Master 15 20 Weaponsmaster = 16, // Armsmaster: +3;
21 Weapons Master 16 21 Apprentice = 17, // Fire: +2; Air: +2; Water: +2; Earth: +2;
22 Apprentice 17 22 Mystic = 18, // Fire: +3; Air: +3; Water: +3; Earth: +3;
23 Mystic 18 23 Spellmaster = 19, // Fire: +4; Air: +4; Water: +4; Earth: +4;
24 Spell Master 19 24 Trader = 20, // Merchant: +4;
25 Trader 20 25 Merchant = 21, // Merchant: +6;
26 Merchant 21 26 Scout = 22, // Perception: +6;
27 Scout 22 27 Herbalist = 23, // Alchemy: +4;
28 Herbalist 23 28 Apothecary = 24, // Alchemy: +8;
29 Apothecary 24 29 Tinker = 25, // Traps: +4;
30 Tinker 25 30 Locksmith = 26, // Traps: +6;
31 Locksmith 26 31 Fool = 27, // Luck: +5;
32 Fool 27 32 ChimneySweep = 28, // Luck: +20;
33 Chimney Sweep 28 33 Porter = 29, // Food for rest: -1;
34 Porter 29 34 QuarterMaster = 30, // Food for rest: -2;
35 Quarter Master 30 35 Factor = 31, // Gold finds: +10%;
36 Factor 31 36 Banker = 32, // Gold finds: +20%;
37 Banker 32 37 Cook = 33,
38 Cook 33 38 Chef = 34,
39 Chef 34 39 Horseman = 35, // Travel by foot: -2 days;
40 Horseman 35 40 Bard = 36,
41 Bard 36 41 Enchanter = 37, // Resist All: +20;
42 Enchanter 37 42 Cartographer = 38, // Wizard Eye level 2;
43 Cartographer 38 43 WindMaster = 39,
44 Wind Master 39 44 WaterMaster = 40,
45 Water Master 40 45 GateMaster = 41,
46 Gate Master 41 46 Acolyte = 42,
47 Acolyte 42 47 Piper = 43,
48 Piper 43 48 Explorer = 44, // Travel by foot -1 day; Travel by sea: -1 day;
49 Explorer 44 49 Pirate = 45, // Travel by sea: -2 days; Gold finds: +10%; Reputation: +5;
50 Pirate 45 50 Squire = 46,
51 Squire 46 51 Psychic = 47, // Perception: +5; Luck: +10;
52 Psychic 47 52 Gypsy = 48, // Food for rest: -1; Merchant: +3; Reputation: +5;
53 Gypsy 48 53 Diplomat = 49,
54 Diplomat 49 54 Duper = 50, // Merchant: +8; Reputation: +5;
55 Duper 50 55 Burglar = 51, // Traps: +8; Stealing: +8; Reputation: +5;
56 Burglar 51 56 FallenWizard = 52, // Reputation: +5;
57 Fallen Wizard 52 57 Acolyte2 = 53, // Spirit: +2; Mind: +2; Body: +2;
58 Acolyte 53 58 Initiate = 54, // Spirit: +3; Mind: +3; Body: +3;
59 Initiate 54 59 Prelate = 55, // Spirit: +4; Mind: +4; Body: +4;
60 Prelate 55 60 Monk = 56, // Unarmed: +2; Dodge: +2;
61 Monk 56 61 Sage = 57, // Monster ID: +6
62 Sage 57 62 Hunter = 58 // Monster ID: +6
63 Hunter 58 63 };
64 64
65
66 };
67 */
68 65
69 66
70 struct NPCTopic 67 struct NPCTopic
71 { 68 {
72 const char *pTopic; 69 const char *pTopic;
86 unsigned int uPortraitID; //4 83 unsigned int uPortraitID; //4
87 unsigned int uFlags; //8 // & 0x80 no greeting on dialogue start; looks like hired 84 unsigned int uFlags; //8 // & 0x80 no greeting on dialogue start; looks like hired
88 int fame; //c 85 int fame; //c
89 int rep; //10 86 int rep; //10
90 unsigned int Location2D; //14 87 unsigned int Location2D; //14
91 unsigned int uProfession; //18 CheckHiredNPCSpeciality(uProfession) 88 unsigned int uProfession; //18
92 /*
93
94 v0 = uDefaultTravelTime_ByFoot;
95 if ( CheckHiredNPCSpeciality(5u) )
96 --v0;
97 if ( CheckHiredNPCSpeciality(6u) )
98 v0 -= 2;
99 if ( CheckHiredNPCSpeciality(7u) )
100 v0 -= 3;
101 if ( CheckHiredNPCSpeciality(0x2Cu) )
102 --v0;
103
104
105 case PLAYER_SKILL_MONSTER_ID:
106 if ( CheckHiredNPCSpeciality(58) )
107 skill += 6;
108 if ( CheckHiredNPCSpeciality(57) )
109 skill += 6;
110
111 case PLAYER_SKILL_ARMSMASTER:
112 if ( CheckHiredNPCSpeciality(15) )
113 skill += 2;
114 if ( CheckHiredNPCSpeciality(16) )
115 skill += 3;
116
117 case PLAYER_SKILL_STEALING:
118 if (CheckHiredNPCSpeciality(51))
119 skill +=
120
121 case PLAYER_SKILL_ALCHEMY:
122 if ( CheckHiredNPCSpeciality(23) )
123 skill += 4;
124 if ( CheckHiredNPCSpeciality(24) )
125 skill += 8
126
127 case PLAYER_SKILL_LEARNING:
128 if ( CheckHiredNPCSpeciality(13) )
129 skill += 10;
130 if ( CheckHiredNPCSpeciality(14) )
131 skill += 15;
132 if ( CheckHiredNPCSpeciality(4) )
133 skill += 5;
134
135 case PLAYER_SKILL_UNARMED:
136 if (CheckHiredNPCSpeciality(56) )
137 skill +
138
139 case PLAYER_SKILL_DODGE:
140 if ( CheckHiredNPCSpeciality(56) )
141 skill+
142
143 case PLAYER_SKILL_MERCHANT:
144 if ( CheckHiredNPCSpeciality(20) )
145 skill += 4;
146 if ( CheckHiredNPCSpeciality(21) )
147 skill += 6;
148 if ( CheckHiredNPCSpeciality(48) )
149 skill += 3;
150 if ( CheckHiredNPCSpeciality(50) )
151 skill += 8;
152
153 case PLAYER_SKILL_PERCEPTION:
154 if ( CheckHiredNPCSpeciality(22) )
155 v2 = 6;
156 if ( CheckHiredNPCSpeciality(47) )
157 v2 += 5;
158
159 case PLAYER_SKILL_TRAP_DISARM:
160 if ( CheckHiredNPCSpeciality(25) )
161 v2 = 4;
162 if ( CheckHiredNPCSpeciality(26) )
163 v2 += 6;
164 if ( CheckHiredNPCSpeciality(51) )
165 v2 += 8;
166
167 FIRE WATER EARTH AIR
168 if ( CheckHiredNPCSpeciality(17) )
169 v2 = 2;
170 if ( CheckHiredNPCSpeciality(18) )
171 v2 += 3;
172 if ( CheckHiredNPCSpeciality(19) )
173 v2 += 4;
174 if ( classType == PLAYER_CLASS_WARLOCK && PartyHasDragon() )
175 v2 += 3;
176
177 SPIRIT MIND BODY
178 if ( CheckHiredNPCSpeciality(53) )
179 v2 = 2;
180 if ( CheckHiredNPCSpeciality(54) )
181 v2 += 3;
182 if ( CheckHiredNPCSpeciality(55) )
183 v2 += 4;
184 */
185 int greet; //1c 89 int greet; //1c
186 int joins; //20 90 int joins; //20
187 int field_24; 91 int field_24;
188 unsigned int evt_A; //28 92 unsigned int evt_A; //28
189 unsigned int evt_B; //2c evtb 93 unsigned int evt_B; //2c evtb