View difference between Paste ID: WvBxkfY4 and ST6yfK9q
SHOW: | | - or go back to the newest paste.
1
/*******************************************************************************************
2-
*              _   _                                      __   _                           *
2+
*          _____              ______        ___      _______        ____        ____       *
3-
*              | \ | |   ___    _ __ ___    ___    ___    / _| | |_                        *
3+
*         /     \            |      \      |   |     |      \       \    \     /   /       *
4-
*              |  \| |  / _ \  | '_ ` _ \  / __|  / _ \  | |_  | __|                       *
4+
*        /       \           |       \     |   |     |       \       \    \   /   /        *
5-
*              | |\  | | (_) | | | | | | | \__ \ | (_) | |  _| | |_                        *
5+
*       /   /\    \          |   |\   \    |   |     |   |\   \       \    \ /   /         * 
6-
*              |_| \_|  \___/  |_| |_| |_| |___/  \___/  |_|    \__|                       *
6+
*      /   /  \    \         |   |  \  \   |   |     |   | |   |       \        /          *
7-
*                               The policy of Nomsoftware states: Releasing our software   *
7+
*     /   /    \    \        |   |   \  \  |   |     |   |/    |        \      /           *
8-
*                               or any other files are protected. You cannot re-release    *
8+
*    /   / _____\    \       |   |    \  \ |   |     |        /          |    |            *
9-
*                               anywhere unless you were given permission.                 *
9+
*   /   __________    \      |   |     \  \|   |     |       /           |    |            *
10-
*                           (C) Nomsoftware 2011-2012. All rights reserved.                *
10+
*  /___/           \___\     |___|      \ _____|     |_____/             |____|            *
11
*                                  AndyProductions™                                        *
12
********************************************************************************************/
13
#include "ScriptPCH.h"
14
15
enum eRanks
16
{
17
  /* Alliance */
18
	PRIVATE = 1,
19
	CORPORAL = 2,
20
	SERGEANT = 3,
21
	MASTER_SERGEANT = 4,
22
	SERGEANT_MAJOR = 5,
23
	KNIGHT = 6,
24
	KNIGHT_LIEUTENANT = 7,
25
	KNIGHT_CAPTAIN = 8,
26
	KNIGHT_CHAMPION = 9,
27
	LIEUTENANT_COMMANDER = 10,
28
	COMMANDER = 11,
29
	MARSHAL = 12,
30
	FIELD_MARSHAL = 13,
31
	GRAND_MARSHAL = 14,
32
	OF_THE_ALLIANCE = 126,
33
  /* Horde */
34
    SCOUT = 15,
35
	GRUNT = 16,
36
	SERGEANT_H = 17,
37
	SENIOR_SERGEANT = 18,
38
	FIRST_SERGEANT = 19,
39
	STONE_GUARD = 20,
40
	BLOOD_GUARD = 21,
41
	LEGIONNAIRE = 22,
42
	CENTURION = 23,
43
	CHAMPION = 24,
44
	LIEUTENANT_GENERAL = 25,
45
	GENERAL = 26,
46
	WARLORD = 27,
47
	HIGH_WARLORD = 28,
48
	OF_THE_HORDE = 127
49
};
50
51
enum eKills
52
{
53
	KILLS_1 = 100,
54
	KILLS_2 = 500,
55
	KILLS_3 = 1000,
56
	KILLS_4 = 2000,
57
	KILLS_5 = 4000,
58
	KILLS_6 = 5000,
59
	KILLS_7 = 6000,
60
	KILLS_8 = 8000,
61
	KILLS_9 = 10000,
62
	KILLS_10 = 15000,
63
	KILLS_11 = 25000,
64
	KILLS_12 = 40000,
65
	KILLS_13 = 45000,
66
	KILLS_14 = 50000,
67
	KILLS_15 = 75000
68
};
69
70
class PvPTitles : public PlayerScript
71
{
72
     public:
73
		 PvPTitles()
74
			 : PlayerScript("PvPTitles")
75
		 {
76
		 }
77
78
		 void OnPVPKill(Player * killer, Player * killed)
79
		 {
80
			 if(killer == NULL)
81
				 return;
82
83
			 switch(killer->GetUInt32Value(PLAYER_FIELD_LIFETIME_HONORABLE_KILLS))
84
			 {
85
			      case KILLS_1:
86
					 if(killer->GetTeam() == ALLIANCE)
87
						killer->SetTitle(sCharTitlesStore.LookupEntry(PRIVATE));
88
					 else if(killer->GetTeam() == HORDE)
89
						killer->SetTitle(sCharTitlesStore.LookupEntry(SCOUT));
90
				  break;
91
				  
92
				  case KILLS_2:
93
						  if(killer->GetTeam() == ALLIANCE)
94
							  killer->SetTitle(sCharTitlesStore.LookupEntry(CORPORAL));
95
						   else if(killer->GetTeam() == HORDE)
96
							  killer->SetTitle(sCharTitlesStore.LookupEntry(GRUNT));
97
					  break;
98
99
				  case KILLS_3:
100
						  if(killer->GetTeam() == ALLIANCE)
101
							  killer->SetTitle(sCharTitlesStore.LookupEntry(SERGEANT));
102
						  else if(killer->GetTeam() == HORDE)
103
							  killer->SetTitle(sCharTitlesStore.LookupEntry(SERGEANT_H));
104
					  break;
105
106
				  case KILLS_4:
107
						  if(killer->GetTeam() == ALLIANCE)
108
							  killer->SetTitle(sCharTitlesStore.LookupEntry(MASTER_SERGEANT));
109
						  else if(killer->GetTeam() == HORDE)
110
							  killer->SetTitle(sCharTitlesStore.LookupEntry(SENIOR_SERGEANT));
111
					  break;
112
113
				  case KILLS_5:
114
						  if(killer->GetTeam() == ALLIANCE)
115
							  killer->SetTitle(sCharTitlesStore.LookupEntry(SERGEANT_MAJOR));
116
						  else if(killer->GetTeam() == HORDE)
117
							  killer->SetTitle(sCharTitlesStore.LookupEntry(FIRST_SERGEANT));
118
                      break;
119
120
				  case KILLS_6:
121
						  if(killer->GetTeam() == ALLIANCE)
122
						      killer->SetTitle(sCharTitlesStore.LookupEntry(KNIGHT));
123
						  else if(killer->GetTeam() == HORDE)
124
							  killer->SetTitle(sCharTitlesStore.LookupEntry(STONE_GUARD));
125
					  break;
126
127
				  case KILLS_7:
128
						  if(killer->GetTeam() == ALLIANCE)
129
						      killer->SetTitle(sCharTitlesStore.LookupEntry(KNIGHT_LIEUTENANT));
130
						  else if(killer->GetTeam() == HORDE)
131
							  killer->SetTitle(sCharTitlesStore.LookupEntry(BLOOD_GUARD));
132
					  break;
133
134
				  case KILLS_8:
135
						  if(killer->GetTeam() == ALLIANCE)
136
							  killer->SetTitle(sCharTitlesStore.LookupEntry(KNIGHT_CAPTAIN));
137
						  else if(killer->GetTeam() == HORDE)
138
                    		  killer->SetTitle(sCharTitlesStore.LookupEntry(LEGIONNAIRE));
139
					  break;
140
141
				  case KILLS_9:
142
						  if(killer->GetTeam() == ALLIANCE)
143
							  killer->SetTitle(sCharTitlesStore.LookupEntry(KNIGHT_CHAMPION));
144
						  else if(killer->GetTeam() == HORDE)
145
							  killer->SetTitle(sCharTitlesStore.LookupEntry(CENTURION));
146
					  break;
147
148
				  case KILLS_10:
149
						  if(killer->GetTeam() == ALLIANCE)
150
						      killer->SetTitle(sCharTitlesStore.LookupEntry(LIEUTENANT_COMMANDER));
151
						  else if(killer->GetTeam() == HORDE)
152
							  killer->SetTitle(sCharTitlesStore.LookupEntry(CHAMPION));
153
					  break;
154
155
				  case KILLS_11:
156
						  if(killer->GetTeam() == ALLIANCE)
157
							  killer->SetTitle(sCharTitlesStore.LookupEntry(COMMANDER));
158
						  else if(killer->GetTeam() == HORDE)
159
							  killer->SetTitle(sCharTitlesStore.LookupEntry(LIEUTENANT_GENERAL));
160
					  break;
161
162
				  case KILLS_12:
163
						  if(killer->GetTeam() == ALLIANCE)
164
						      killer->SetTitle(sCharTitlesStore.LookupEntry(MARSHAL));
165
						  else if(killer->GetTeam() == HORDE)
166
							  killer->SetTitle(sCharTitlesStore.LookupEntry(GENERAL));
167
					  break;
168
169
				  case KILLS_13:
170
						  if(killer->GetTeam() == ALLIANCE)
171
							  killer->SetTitle(sCharTitlesStore.LookupEntry(FIELD_MARSHAL));
172
						  else if(killer->GetTeam() == HORDE)
173
							  killer->SetTitle(sCharTitlesStore.LookupEntry(WARLORD));
174
					  break;
175
176
				  case KILLS_14:
177
						  if(killer->GetTeam() == ALLIANCE)
178
							  killer->SetTitle(sCharTitlesStore.LookupEntry(GRAND_MARSHAL));
179
						  else if(killer->GetTeam() == HORDE)
180
							  killer->SetTitle(sCharTitlesStore.LookupEntry(HIGH_WARLORD));
181
					  break;
182
183
				  case KILLS_15:
184
						  if(killer->GetTeam() == ALLIANCE)
185
						      killer->SetTitle(sCharTitlesStore.LookupEntry(OF_THE_ALLIANCE));
186
						  else if(killer->GetTeam() == HORDE)
187
							  killer->SetTitle(sCharTitlesStore.LookupEntry(OF_THE_HORDE));
188
					  break;
189
			 }
190
		 }
191
};
192
193
void AddSC_PvPTitles()
194
{
195
   new PvPTitles;
196
}