Azteco

Boss_Announcer

May 17th, 2013
332
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 9.04 KB | None | 0 0
  1. # HG changeset patch
  2. # User aa@aa-HP
  3. # Date 1367859811 -10800
  4. # Node ID cfa885e9e6e4c4e37f6799a45918b946546830a4
  5. # Parent  0af922d0404643f4ebaac4d2b786c43aaf190967
  6. # Project: DoomCore
  7. Добавил систему анонс при убийстве босса
  8. Автор Dimitro(взято с его форка)
  9.  
  10. diff -r 0af922d04046 -r cfa885e9e6e4 src/server/game/Entities/Unit/Unit.cpp
  11. --- a/src/server/game/Entities/Unit/Unit.cpp    Mon May 06 19:16:04 2013 +0300
  12. +++ b/src/server/game/Entities/Unit/Unit.cpp    Mon May 06 20:03:31 2013 +0300
  13. @@ -15354,6 +15354,9 @@
  14.          // Call creature just died function
  15.          if (creature->IsAIEnabled)
  16.              creature->AI()->JustDied(this);
  17. +          
  18. +           if (creature)
  19. +            sScriptMgr->AllCreatureJustDied(creature);
  20.  
  21.          if (TempSummon* summon = creature->ToTempSummon())
  22.              if (Unit* summoner = summon->GetSummoner())
  23. diff -r 0af922d04046 -r cfa885e9e6e4 src/server/game/Miscellaneous/Language.h
  24. --- a/src/server/game/Miscellaneous/Language.h  Mon May 06 19:16:04 2013 +0300
  25. +++ b/src/server/game/Miscellaneous/Language.h  Mon May 06 20:03:31 2013 +0300
  26. @@ -1175,6 +1175,10 @@
  27.      // Use for custom patches             11000-11999
  28.      LANG_AUTO_BROADCAST                 = 11000,
  29.      LANG_INVALID_REALMID                = 11001,
  30. +  
  31. +   // Boss kill announce
  32. +    LANG_BOSS_KILL_HISTORY_NORMAL       = 11008,
  33. +    LANG_BOSS_KILL_HISTORY_HEROIC       = 11009,
  34.  
  35.      // NOT RESERVED IDS                   12000-1999999999
  36.      // `db_script_string` table index     2000000000-2000009999 (MIN_DB_SCRIPT_STRING_ID-MAX_DB_SCRIPT_STRING_ID)
  37. diff -r 0af922d04046 -r cfa885e9e6e4 src/server/game/Scripting/ScriptLoader.cpp
  38. --- a/src/server/game/Scripting/ScriptLoader.cpp    Mon May 06 19:16:04 2013 +0300
  39. +++ b/src/server/game/Scripting/ScriptLoader.cpp    Mon May 06 20:03:31 2013 +0300
  40. @@ -1315,6 +1315,8 @@
  41.  void AddSC_npc_title();
  42.  //Top 5 Class Killers
  43.  void AddSC_Top5_Killers();
  44. +//Boss Kill Announcer
  45. +void AddSC_boss_kill_history();
  46.  #endif
  47.  
  48.  void AddCustomScripts()
  49. @@ -1333,6 +1335,7 @@
  50.     AddSC_title_granter();
  51.     AddSC_npc_title();
  52.     AddSC_Top5_Killers();
  53. +   AddSC_boss_kill_history();
  54.    
  55.  #endif
  56.  }
  57. diff -r 0af922d04046 -r cfa885e9e6e4 src/server/game/Scripting/ScriptMgr.cpp
  58. --- a/src/server/game/Scripting/ScriptMgr.cpp   Mon May 06 19:16:04 2013 +0300
  59. +++ b/src/server/game/Scripting/ScriptMgr.cpp   Mon May 06 20:03:31 2013 +0300
  60. @@ -217,6 +217,7 @@
  61.      SCR_CLEAR(PlayerScript);
  62.      SCR_CLEAR(GuildScript);
  63.      SCR_CLEAR(GroupScript);
  64. +   SCR_CLEAR(AllCreatureScript);
  65.      SCR_CLEAR(UnitScript);
  66.  
  67.      #undef SCR_CLEAR
  68. @@ -796,6 +797,11 @@
  69.      tmpscript->OnUpdate(creature, diff);
  70.  }
  71.  
  72. +void ScriptMgr::AllCreatureJustDied(Creature* creature)
  73. +{
  74. +    FOREACH_SCRIPT(AllCreatureScript)->AllCreatureJustDied(creature);
  75. +}
  76. +
  77.  bool ScriptMgr::OnGossipHello(Player* player, GameObject* go)
  78.  {
  79.      ASSERT(player);
  80. @@ -1432,6 +1438,12 @@
  81.      ScriptRegistry<CreatureScript>::AddScript(this);
  82.  }
  83.  
  84. +AllCreatureScript::AllCreatureScript(const char* name)
  85. +    : ScriptObject(name)
  86. +{
  87. +    ScriptRegistry<AllCreatureScript>::AddScript(this);
  88. +}
  89. +
  90.  GameObjectScript::GameObjectScript(const char* name)
  91.      : ScriptObject(name)
  92.  {
  93. @@ -1536,6 +1548,7 @@
  94.  template class ScriptRegistry<BattlegroundMapScript>;
  95.  template class ScriptRegistry<ItemScript>;
  96.  template class ScriptRegistry<CreatureScript>;
  97. +template class ScriptRegistry<AllCreatureScript>;
  98.  template class ScriptRegistry<GameObjectScript>;
  99.  template class ScriptRegistry<AreaTriggerScript>;
  100.  template class ScriptRegistry<BattlegroundScript>;
  101. diff -r 0af922d04046 -r cfa885e9e6e4 src/server/game/Scripting/ScriptMgr.h
  102. --- a/src/server/game/Scripting/ScriptMgr.h Mon May 06 19:16:04 2013 +0300
  103. +++ b/src/server/game/Scripting/ScriptMgr.h Mon May 06 20:03:31 2013 +0300
  104. @@ -450,6 +450,18 @@
  105.          virtual CreatureAI* GetAI(Creature* /*creature*/) const { return NULL; }
  106.  };
  107.  
  108. +class AllCreatureScript : public ScriptObject
  109. +{
  110. +    protected:
  111. +
  112. +        AllCreatureScript(const char* name);
  113. +
  114. +    public:
  115. +              
  116. +        // Called when creature dying
  117. +        virtual void AllCreatureJustDied(Creature* /*creature*/) { }
  118. +};
  119. +
  120.  class GameObjectScript : public ScriptObject, public UpdatableScript<GameObject>
  121.  {
  122.      protected:
  123. @@ -928,6 +940,10 @@
  124.          uint32 GetDialogStatus(Player* player, Creature* creature);
  125.          CreatureAI* GetCreatureAI(Creature* creature);
  126.          void OnCreatureUpdate(Creature* creature, uint32 diff);
  127. +        
  128. +        public: /* AllCreatureScript */
  129. +
  130. +        void AllCreatureJustDied(Creature* creature);
  131.  
  132.      public: /* GameObjectScript */
  133.  
  134. diff -r 0af922d04046 -r cfa885e9e6e4 src/server/game/World/World.cpp
  135. --- a/src/server/game/World/World.cpp   Mon May 06 19:16:04 2013 +0300
  136. +++ b/src/server/game/World/World.cpp   Mon May 06 20:03:31 2013 +0300
  137. @@ -1197,6 +1197,14 @@
  138.    
  139.      // Management for LFG EveryWhere
  140.      m_bool_configs[CONFIG_ON_LFG_EVERY_WHERE]  = ConfigMgr::GetBoolDefault("LFG.Everywhere", true);
  141. +  
  142. +    //Boss kill history system
  143. +    m_bool_configs[CONFIG_BOSS_KILL_HISTORY_ENABLE] = ConfigMgr::GetBoolDefault("Boss.Kill.History.Enable", true);
  144. +    m_int_configs[CONFIG_BOSS_KILL_HISTORY_GUILD_GROUP_10_COUNT] = ConfigMgr::GetIntDefault("Boss.Kill.History.Guild.Group.10",8);
  145. +    m_int_configs[CONFIG_BOSS_KILL_HISTORY_GUILD_GROUP_25_COUNT] = ConfigMgr::GetIntDefault("Boss.Kill.History.Guild.Group.25",20);
  146. +    m_int_configs[CONFIG_BOSS_KILL_HISTORY_REWARD_ENABLE] = ConfigMgr::GetBoolDefault("Boss.Kill.History.Reward.Enable", false);
  147. +    m_int_configs[CONFIG_BOSS_KILL_HISTORY_REWARD_ITEM] = ConfigMgr::GetIntDefault("Boss.Kill.History.Reward.Item.Id",49426);
  148. +    m_int_configs[CONFIG_BOSS_KILL_HISTORY_REWARD_ITEM_COUNT] = ConfigMgr::GetIntDefault("Boss.Kill.History.Reward.Item.Count",10);
  149.  
  150.      // AutoBroadcast
  151.      m_bool_configs[CONFIG_AUTOBROADCAST] = ConfigMgr::GetBoolDefault("AutoBroadcast.On", false);
  152. diff -r 0af922d04046 -r cfa885e9e6e4 src/server/game/World/World.h
  153. --- a/src/server/game/World/World.h Mon May 06 19:16:04 2013 +0300
  154. +++ b/src/server/game/World/World.h Mon May 06 20:03:31 2013 +0300
  155. @@ -160,6 +160,8 @@
  156.      CONFIG_UI_QUESTLEVELS_IN_DIALOGS,     // Should we add quest levels to the title in the NPC dialogs?
  157.      CONFIG_EVENT_ANNOUNCE,
  158.     CONFIG_ON_LFG_EVERY_WHERE,
  159. +   CONFIG_BOSS_KILL_HISTORY_REWARD_ENABLE,
  160. +    CONFIG_BOSS_KILL_HISTORY_ENABLE,
  161.      BOOL_CONFIG_VALUE_COUNT
  162.  };
  163.  
  164. @@ -322,6 +324,10 @@
  165.      CONFIG_WINTERGRASP_BATTLETIME,
  166.      CONFIG_WINTERGRASP_NOBATTLETIME,
  167.      CONFIG_WINTERGRASP_RESTART_AFTER_CRASH,
  168. +   CONFIG_BOSS_KILL_HISTORY_GUILD_GROUP_10_COUNT,
  169. +    CONFIG_BOSS_KILL_HISTORY_GUILD_GROUP_25_COUNT,
  170. +    CONFIG_BOSS_KILL_HISTORY_REWARD_ITEM,
  171. +    CONFIG_BOSS_KILL_HISTORY_REWARD_ITEM_COUNT,
  172.      INT_CONFIG_VALUE_COUNT
  173.  };
  174.  
  175. diff -r 0af922d04046 -r cfa885e9e6e4 src/server/worldserver/worldserver.conf.dist
  176. --- a/src/server/worldserver/worldserver.conf.dist  Mon May 06 19:16:04 2013 +0300
  177. +++ b/src/server/worldserver/worldserver.conf.dist  Mon May 06 20:03:31 2013 +0300
  178. @@ -2778,4 +2778,65 @@
  179.  Channel.CityOnlyFlag = 1
  180.  
  181.  #
  182. +###################################################################################################
  183. +
  184. +###################################################################################################
  185. +# BOSS KILL HISTORY SYSTEM
  186. +#
  187. +#    Boss.Kill.History.Enable
  188. +#        Description: Enables the boss kill history system.
  189. +#        Important:   When you kiliing the boss, if you're in guild the world receive announcement,
  190. +#                     that your guild killed this boss, on whisch difficult and the count of kills.
  191. +#        Default:     1 - (Enabled)
  192. +#                     0 - (Disabled)
  193. +#
  194. +
  195. +Boss.Kill.History.Enable = 1
  196. +
  197. +#
  198. +#    Boss.Kill.History.Reward.Enable
  199. +#        Description: Enables or disables the reward system for BKH.
  200. +#        Default:     0 - (Disabled)
  201. +#                     1 - (Enabled)
  202. +#
  203. +
  204. +Boss.Kill.History.Reward.Enable = 0
  205. +
  206. +#
  207. +#    Boss.Kill.History.Reward.Item.Id
  208. +#        Description: ID of the item, which all of party members will be rewarded on guild kill.
  209. +#        Default:     1 - (Enabled)
  210. +#                     0 - (Disabled)
  211. +#
  212. +
  213. +Boss.Kill.History.Reward.Item.Id = 49426
  214. +
  215. +#
  216. +#    Boss.Kill.History.Reward.Item.Count
  217. +#        Description: Count of the items, which all of party members will be rewarded on guild kill.
  218. +#        Default:     1 - (Enabled)
  219. +#                     0 - (Disabled)
  220. +#
  221. +
  222. +Boss.Kill.History.Reward.Item.Count = 10
  223. +
  224. +#
  225. +#    Boss.Kill.History.Guild.Group.10
  226. +#        Description: How many liverymen have to be in group
  227. +#        Default:     8
  228. +#                    
  229. +#  
  230. +
  231. +Boss.Kill.History.Guild.Group.10 = 8
  232. +
  233. +#
  234. +#    Boss.Kill.History.Guild.Group.25
  235. +#        Description: How many liverymen have to be in group
  236. +#        Default:     20
  237. +#                    
  238. +#  
  239. +
  240. +Boss.Kill.History.Guild.Group.25 = 20
  241. +
  242. +#
  243.  ###################################################################################################
  244. \ No newline at end of file
Advertisement
Add Comment
Please, Sign In to add comment