Advertisement
Guest User

Untitled

a guest
Nov 3rd, 2010
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 5.56 KB | None | 0 0
  1. diff -r 11eae74f2a01 src/game/Player.h
  2. --- a/src/game/Player.h Tue Mar 02 21:49:23 2010 -0600
  3. +++ b/src/game/Player.h Sun May 02 05:26:06 2010 +0300
  4. @@ -2292,7 +2292,7 @@
  5.  
  6.          AchievementMgr& GetAchievementMgr() { return m_achievementMgr; }
  7.          void UpdateAchievementCriteria(AchievementCriteriaTypes type, uint32 miscvalue1 = 0, uint32 miscvalue2 = 0, Unit *unit = NULL, uint32 time = 0);
  8. -        void CompletedAchievement(AchievementEntry const* entry);
  9. +        void CompletedAchievement(AchievementEntry const* entry, bool Override_GM_Allow_Achieve_config = false);
  10.  
  11.          bool HasTitle(uint32 bitIndex);
  12.          bool HasTitle(CharTitlesEntry const* title) { return HasTitle(title->bit_index); }
  13. diff -r 11eae74f2a01 src/game/Player.cpp
  14. --- a/src/game/Player.cpp   Tue Mar 02 21:49:23 2010 -0600
  15. +++ b/src/game/Player.cpp   Sun May 02 05:26:13 2010 +0300
  16. @@ -22277,9 +22328,9 @@
  17.      GetAchievementMgr().UpdateAchievementCriteria(type, miscvalue1, miscvalue2, unit, time);
  18.  }
  19.  
  20. -void Player::CompletedAchievement(AchievementEntry const* entry)
  21. -{
  22. -    GetAchievementMgr().CompletedAchievement(entry);
  23. +void Player::CompletedAchievement(AchievementEntry const* entry, bool Override_GM_Allow_Achieve_config)
  24. +{
  25. +    GetAchievementMgr().CompletedAchievement(entry, Override_GM_Allow_Achieve_config);
  26.  }
  27.  
  28.  void Player::LearnTalent(uint32 talentId, uint32 talentRank)
  29. diff -r 11eae74f2a01 src/game/AchievementMgr.h
  30. --- a/src/game/AchievementMgr.h Tue Mar 02 21:49:23 2010 -0600
  31. +++ b/src/game/AchievementMgr.h Sun May 02 05:26:40 2010 +0300
  32. @@ -236,7 +236,7 @@
  33.          void SaveToDB();
  34.          void ResetAchievementCriteria(AchievementCriteriaTypes type, uint32 miscvalue1=0, uint32 miscvalue2=0);
  35.          void UpdateAchievementCriteria(AchievementCriteriaTypes type, uint32 miscvalue1=0, uint32 miscvalue2=0, Unit *unit=NULL, uint32 time=0);
  36. -        void CompletedAchievement(AchievementEntry const* entry);
  37. +        void CompletedAchievement(AchievementEntry const* entry, bool Override_GM_Allow_Achieve_config = false);
  38.          void CheckAllAchievementCriteria();
  39.          void SendAllAchievementData();
  40.          void SendRespondInspectAchievements(Player* player);
  41. diff -r 11eae74f2a01 src/game/AchievementMgr.cpp
  42. --- a/src/game/AchievementMgr.cpp   Tue Mar 02 21:49:23 2010 -0600
  43. +++ b/src/game/AchievementMgr.cpp   Sun May 02 05:26:48 2010 +0300
  44. @@ -1728,11 +1728,10 @@
  45.      SendCriteriaUpdate(entry->ID,progress);
  46.  }
  47.  
  48. -void AchievementMgr::CompletedAchievement(AchievementEntry const* achievement)
  49. +void AchievementMgr::CompletedAchievement(AchievementEntry const* achievement, bool Override_GM_Allow_Achieve_config)
  50.  {
  51.      sLog.outDetail("AchievementMgr::CompletedAchievement(%u)", achievement->ID);
  52. -
  53. -    if (!sWorld.getConfig(CONFIG_GM_ALLOW_ACHIEVEMENT_GAINS) && m_player->GetSession()->GetSecurity() > SEC_PLAYER)
  54. +    if (!sWorld.getConfig(CONFIG_GM_ALLOW_ACHIEVEMENT_GAINS) && m_player->GetSession()->GetSecurity() > SEC_PLAYER && !Override_GM_Allow_Achieve_config)
  55.          return;
  56.  
  57.      if (achievement->flags & ACHIEVEMENT_FLAG_COUNTER || m_completedAchievements.find(achievement->ID)!=m_completedAchievements.end())
  58. diff -r 11eae74f2a01 src/game/Chat.cpp
  59. --- a/src/game/Chat.cpp Tue Mar 02 21:49:23 2010 -0600
  60. +++ b/src/game/Chat.cpp Sun May 02 05:27:08 2010 +0300
  61. @@ -708,6 +718,7 @@
  62.          { "itemmove",       SEC_GAMEMASTER,     false, &ChatHandler::HandleItemMoveCommand,            "", NULL },
  63.          { "cooldown",       SEC_ADMINISTRATOR,  false, &ChatHandler::HandleCooldownCommand,            "", NULL },
  64.          { "unlearn",        SEC_ADMINISTRATOR,  false, &ChatHandler::HandleUnLearnCommand,             "", NULL },
  65. +       { "achievementadd", SEC_ADMINISTRATOR,  false, &ChatHandler::HandleAddAchieveCommand,             "", NULL },
  66.          { "distance",       SEC_ADMINISTRATOR,  false, &ChatHandler::HandleGetDistanceCommand,         "", NULL },
  67.          { "recall",         SEC_MODERATOR,      false, &ChatHandler::HandleRecallCommand,              "", NULL },
  68.          { "save",           SEC_PLAYER,         false, &ChatHandler::HandleSaveCommand,                "", NULL },
  69. diff -r 11eae74f2a01 src/game/Chat.h
  70. --- a/src/game/Chat.h   Tue Mar 02 21:49:23 2010 -0600
  71. +++ b/src/game/Chat.h   Sun May 02 05:27:29 2010 +0300
  72. @@ -510,6 +518,7 @@
  73.          bool HandleListFreezeCommand(const char* args);
  74.  
  75.          bool HandleCooldownCommand(const char* args);
  76. +       bool HandleAddAchieveCommand(const char* args);
  77.          bool HandleUnLearnCommand(const char* args);
  78.          bool HandleGetDistanceCommand(const char* args);
  79.          bool HandleModifyStandStateCommand(const char* args);
  80. diff -r 11eae74f2a01 src/game/Level3.cpp
  81. --- a/src/game/Level3.cpp   Tue Mar 02 21:49:23 2010 -0600
  82. +++ b/src/game/Level3.cpp   Sun May 02 05:27:43 2010 +0300
  83. @@ -1635,6 +1635,36 @@
  84.      return true;
  85.  }
  86.  
  87. +bool ChatHandler::HandleAddAchieveCommand(const char *args)
  88. +{
  89. +    if (!*args)
  90. +        return false;
  91. +
  92. +   uint32 achieve_id = atoi((char*)args);
  93. +   if (!achieve_id)
  94. +   {
  95. +       char* cId = extractKeyFromLink((char*)args,"Hachievement");
  96. +       if (!cId)
  97. +           return false;
  98. +       achieve_id = atoi(cId);
  99. +       if (!achieve_id)
  100. +           return false;
  101. +   }
  102. +
  103. +    Player* target = getSelectedPlayer();
  104. +    if (!target)
  105. +    {
  106. +        SendSysMessage(LANG_NO_CHAR_SELECTED);
  107. +        SetSentErrorMessage(true);
  108. +        return false;
  109. +    }
  110. +
  111. +   if (AchievementEntry const* AE = GetAchievementStore()->LookupEntry(achieve_id))
  112. +       target->CompletedAchievement(AE, true);
  113. +
  114. +   return true;
  115. +}
  116. +
  117.  bool ChatHandler::HandleUnLearnCommand(const char *args)
  118.  {
  119.      if (!*args)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement