aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/scripts')
-rw-r--r--src/server/scripts/Commands/cs_character.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/server/scripts/Commands/cs_character.cpp b/src/server/scripts/Commands/cs_character.cpp
index b8c175f0fa1..2633b8313a2 100644
--- a/src/server/scripts/Commands/cs_character.cpp
+++ b/src/server/scripts/Commands/cs_character.cpp
@@ -422,6 +422,24 @@ public:
if (!player)
return false;
+ CharacterCacheEntry const* characterInfo = sCharacterCache->GetCharacterCacheByGuid(player->GetGUID());
+ if (!characterInfo)
+ return false;
+
+ if (characterInfo->Level < 10)
+ {
+ handler->PSendSysMessage(LANG_CHANGEFACTION_NOT_ELIGIBLE_10);
+ handler->SetSentErrorMessage(true);
+ return false;
+ }
+
+ if (characterInfo->Class == CLASS_DEATH_KNIGHT && characterInfo->Level < 60)
+ {
+ handler->PSendSysMessage(LANG_CHANGEFACTION_NOT_ELIGIBLE_60);
+ handler->SetSentErrorMessage(true);
+ return false;
+ }
+
if (Player* target = player->GetConnectedPlayer())
{
handler->PSendSysMessage(LANG_CUSTOMIZE_PLAYER, handler->GetNameLink(target).c_str());