1 | /* Copyright (C) 2008 Trinity <http://www.trinitycore.org/> |
---|
2 | * |
---|
3 | * Thanks to the original authors: ScriptDev2 <https://scriptdev2.svn.sourceforge.net/> |
---|
4 | * |
---|
5 | * This program is free software licensed under GPL version 2 |
---|
6 | * Please see the included DOCS/LICENSE.TXT for more information */ |
---|
7 | |
---|
8 | #ifndef SC_PLAYER_H |
---|
9 | #define SC_PLAYER_H |
---|
10 | |
---|
11 | #include "Player.h" |
---|
12 | #include "GossipDef.h" |
---|
13 | #include "QuestDef.h" |
---|
14 | |
---|
15 | // Gossip Item Text |
---|
16 | #define GOSSIP_TEXT_BROWSE_GOODS "I'd like to browse your goods." |
---|
17 | #define GOSSIP_TEXT_TRAIN "Train me!" |
---|
18 | |
---|
19 | #define GOSSIP_TEXT_BANK "The Bank" |
---|
20 | #define GOSSIP_TEXT_WINDRIDER "Wind rider master" |
---|
21 | #define GOSSIP_TEXT_GRYPHON "Gryphon Master" |
---|
22 | #define GOSSIP_TEXT_BATHANDLER "Bat Handler" |
---|
23 | #define GOSSIP_TEXT_HIPPOGRYPH "Hippogryph Master" |
---|
24 | #define GOSSIP_TEXT_FLIGHTMASTER "Flight Master" |
---|
25 | #define GOSSIP_TEXT_AUCTIONHOUSE "Auction House" |
---|
26 | #define GOSSIP_TEXT_GUILDMASTER "Guild Master" |
---|
27 | #define GOSSIP_TEXT_INN "The Inn" |
---|
28 | #define GOSSIP_TEXT_MAILBOX "Mailbox" |
---|
29 | #define GOSSIP_TEXT_STABLEMASTER "Stable Master" |
---|
30 | #define GOSSIP_TEXT_WEAPONMASTER "Weapons Trainer" |
---|
31 | #define GOSSIP_TEXT_BATTLEMASTER "Battlemaster" |
---|
32 | #define GOSSIP_TEXT_CLASSTRAINER "Class Trainer" |
---|
33 | #define GOSSIP_TEXT_PROFTRAINER "Profession Trainer" |
---|
34 | #define GOSSIP_TEXT_OFFICERS "The officers` lounge" |
---|
35 | |
---|
36 | #define GOSSIP_TEXT_ALTERACVALLEY "Alterac Valley" |
---|
37 | #define GOSSIP_TEXT_ARATHIBASIN "Arathi Basin" |
---|
38 | #define GOSSIP_TEXT_WARSONGULCH "Warsong Gulch" |
---|
39 | #define GOSSIP_TEXT_ARENA "Arena" |
---|
40 | #define GOSSIP_TEXT_EYEOFTHESTORM "Eye of The Storm" |
---|
41 | |
---|
42 | #define GOSSIP_TEXT_DRUID "Druid" |
---|
43 | #define GOSSIP_TEXT_HUNTER "Hunter" |
---|
44 | #define GOSSIP_TEXT_PRIEST "Priest" |
---|
45 | #define GOSSIP_TEXT_ROGUE "Rogue" |
---|
46 | #define GOSSIP_TEXT_WARRIOR "Warrior" |
---|
47 | #define GOSSIP_TEXT_PALADIN "Paladin" |
---|
48 | #define GOSSIP_TEXT_SHAMAN "Shaman" |
---|
49 | #define GOSSIP_TEXT_MAGE "Mage" |
---|
50 | #define GOSSIP_TEXT_WARLOCK "Warlock" |
---|
51 | |
---|
52 | #define GOSSIP_TEXT_ALCHEMY "Alchemy" |
---|
53 | #define GOSSIP_TEXT_BLACKSMITHING "Blacksmithing" |
---|
54 | #define GOSSIP_TEXT_COOKING "Cooking" |
---|
55 | #define GOSSIP_TEXT_ENCHANTING "Enchanting" |
---|
56 | #define GOSSIP_TEXT_ENGINEERING "Engineering" |
---|
57 | #define GOSSIP_TEXT_FIRSTAID "First Aid" |
---|
58 | #define GOSSIP_TEXT_HERBALISM "Herbalism" |
---|
59 | #define GOSSIP_TEXT_LEATHERWORKING "Leatherworking" |
---|
60 | #define GOSSIP_TEXT_POISONS "Poisons" |
---|
61 | #define GOSSIP_TEXT_TAILORING "Tailoring" |
---|
62 | #define GOSSIP_TEXT_MINING "Mining" |
---|
63 | #define GOSSIP_TEXT_FISHING "Fishing" |
---|
64 | #define GOSSIP_TEXT_SKINNING "Skinning" |
---|
65 | #define GOSSIP_TEXT_JEWELCRAFTING "Jewelcrafting" |
---|
66 | |
---|
67 | #define GOSSIP_TEXT_IRONFORGE_BANK "Bank of Ironforge" |
---|
68 | #define GOSSIP_TEXT_STORMWIND_BANK "Bank of Stormwind" |
---|
69 | #define GOSSIP_TEXT_DEEPRUNTRAM "Deeprun Tram" |
---|
70 | #define GOSSIP_TEXT_ZEPPLINMASTER "Zeppelin master" |
---|
71 | #define GOSSIP_TEXT_FERRY "Rut'theran Ferry" |
---|
72 | |
---|
73 | // Skill defines |
---|
74 | |
---|
75 | #define TRADESKILL_ALCHEMY 1 |
---|
76 | #define TRADESKILL_BLACKSMITHING 2 |
---|
77 | #define TRADESKILL_COOKING 3 |
---|
78 | #define TRADESKILL_ENCHANTING 4 |
---|
79 | #define TRADESKILL_ENGINEERING 5 |
---|
80 | #define TRADESKILL_FIRSTAID 6 |
---|
81 | #define TRADESKILL_HERBALISM 7 |
---|
82 | #define TRADESKILL_LEATHERWORKING 8 |
---|
83 | #define TRADESKILL_POISONS 9 |
---|
84 | #define TRADESKILL_TAILORING 10 |
---|
85 | #define TRADESKILL_MINING 11 |
---|
86 | #define TRADESKILL_FISHING 12 |
---|
87 | #define TRADESKILL_SKINNING 13 |
---|
88 | #define TRADESKILL_JEWLCRAFTING 14 |
---|
89 | |
---|
90 | #define TRADESKILL_LEVEL_NONE 0 |
---|
91 | #define TRADESKILL_LEVEL_APPRENTICE 1 |
---|
92 | #define TRADESKILL_LEVEL_JOURNEYMAN 2 |
---|
93 | #define TRADESKILL_LEVEL_EXPERT 3 |
---|
94 | #define TRADESKILL_LEVEL_ARTISAN 4 |
---|
95 | #define TRADESKILL_LEVEL_MASTER 5 |
---|
96 | |
---|
97 | // Gossip defines |
---|
98 | |
---|
99 | #define GOSSIP_ACTION_TRADE 1 |
---|
100 | #define GOSSIP_ACTION_TRAIN 2 |
---|
101 | #define GOSSIP_ACTION_TAXI 3 |
---|
102 | #define GOSSIP_ACTION_GUILD 4 |
---|
103 | #define GOSSIP_ACTION_BATTLE 5 |
---|
104 | #define GOSSIP_ACTION_BANK 6 |
---|
105 | #define GOSSIP_ACTION_INN 7 |
---|
106 | #define GOSSIP_ACTION_HEAL 8 |
---|
107 | #define GOSSIP_ACTION_TABARD 9 |
---|
108 | #define GOSSIP_ACTION_AUCTION 10 |
---|
109 | #define GOSSIP_ACTION_INN_INFO 11 |
---|
110 | #define GOSSIP_ACTION_UNLEARN 12 |
---|
111 | #define GOSSIP_ACTION_INFO_DEF 1000 |
---|
112 | |
---|
113 | #define GOSSIP_SENDER_MAIN 1 |
---|
114 | #define GOSSIP_SENDER_INN_INFO 2 |
---|
115 | #define GOSSIP_SENDER_INFO 3 |
---|
116 | #define GOSSIP_SENDER_SEC_PROFTRAIN 4 |
---|
117 | #define GOSSIP_SENDER_SEC_CLASSTRAIN 5 |
---|
118 | #define GOSSIP_SENDER_SEC_BATTLEINFO 6 |
---|
119 | #define GOSSIP_SENDER_SEC_BANK 7 |
---|
120 | #define GOSSIP_SENDER_SEC_INN 8 |
---|
121 | #define GOSSIP_SENDER_SEC_MAILBOX 9 |
---|
122 | #define GOSSIP_SENDER_SEC_STABLEMASTER 10 |
---|
123 | |
---|
124 | #define DEFAULT_GOSSIP_MESSAGE 0xffffff |
---|
125 | |
---|
126 | extern uint32 GetSkillLevel(Player *player,uint32 skill); |
---|
127 | |
---|
128 | // Defined fuctions to use with player. |
---|
129 | |
---|
130 | // This fuction add's a menu item, |
---|
131 | // a - Icon Id |
---|
132 | // b - Text |
---|
133 | // c - Sender(this is to identify the current Menu with this item) |
---|
134 | // d - Action (identifys this Menu Item) |
---|
135 | // e - Text to be displayed in pop up box |
---|
136 | // f - Money value in pop up box |
---|
137 | #define ADD_GOSSIP_ITEM(a,b,c,d) PlayerTalkClass->GetGossipMenu().AddMenuItem(a,b,c,d,"",0) |
---|
138 | #define ADD_GOSSIP_ITEM_EXTENDED(a,b,c,d,e,f,g) PlayerTalkClass->GetGossipMenu().AddMenuItem(a,b,c,d,e,f,g) |
---|
139 | |
---|
140 | // This fuction Sends the current menu to show to client, a - NPCTEXTID(uint32) , b - npc guid(uint64) |
---|
141 | #define SEND_GOSSIP_MENU(a,b) PlayerTalkClass->SendGossipMenu(a,b) |
---|
142 | |
---|
143 | // This fuction shows POI(point of interest) to client. |
---|
144 | // a - position X |
---|
145 | // b - position Y |
---|
146 | // c - Icon Id |
---|
147 | // d - Flags |
---|
148 | // e - Data |
---|
149 | // f - Location Name |
---|
150 | #define SEND_POI(a,b,c,d,e,f) PlayerTalkClass->SendPointOfInterest(a,b,c,d,e,f) |
---|
151 | |
---|
152 | // Closes the Menu |
---|
153 | #define CLOSE_GOSSIP_MENU() PlayerTalkClass->CloseGossip() |
---|
154 | |
---|
155 | // Fuction to tell to client the details |
---|
156 | // a - quest object |
---|
157 | // b - npc guid(uint64) |
---|
158 | // c - Activate accept(bool) |
---|
159 | #define SEND_QUEST_DETAILS(a,b,c) PlayerTalkClass->SendQuestDetails(a,b,c) |
---|
160 | |
---|
161 | // Fuction to tell to client the requested items to complete quest |
---|
162 | // a - quest object |
---|
163 | // b - npc guid(uint64) |
---|
164 | // c - Iscompletable(bool) |
---|
165 | // d - close at cancel(bool) - in case single incomplite ques |
---|
166 | #define SEND_REQUESTEDITEMS(a,b,c,d) PlayerTalkClass->SendRequestedItems(a,b,c,d) |
---|
167 | |
---|
168 | // Fuctions to send NPC lists, a - is always the npc guid(uint64) |
---|
169 | #define SEND_VENDORLIST(a) GetSession()->SendListInventory(a) |
---|
170 | #define SEND_TRAINERLIST(a) GetSession()->SendTrainerList(a) |
---|
171 | #define SEND_BANKERLIST(a) GetSession()->SendShowBank(a) |
---|
172 | #define SEND_TABARDLIST(a) GetSession()->SendTabardVendorActivate(a) |
---|
173 | #define SEND_AUCTIONLIST(a) GetSession()->SendAuctionHello(a) |
---|
174 | #define SEND_TAXILIST(a) GetSession()->SendTaxiStatus(a) |
---|
175 | |
---|
176 | // Ressurect's the player if is dead. |
---|
177 | #define SEND_SPRESURRECT() GetSession()->SendSpiritResurrect() |
---|
178 | |
---|
179 | // Get the player's honor rank. |
---|
180 | #define GET_HONORRANK() GetHonorRank() |
---|
181 | // ----------------------------------- |
---|
182 | |
---|
183 | // defined fuctions to use with Creature |
---|
184 | |
---|
185 | #define QUEST_DIALOG_STATUS(a,b,c) GetSession()->getDialogStatus(a,b,c) |
---|
186 | #endif |
---|