Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # HG changeset patch
- # User aa@aa-HP
- # Date 1367859811 -10800
- # Node ID cfa885e9e6e4c4e37f6799a45918b946546830a4
- # Parent 0af922d0404643f4ebaac4d2b786c43aaf190967
- # Project: DoomCore
- Добавил систему анонс при убийстве босса
- Автор Dimitro(взято с его форка)
- diff -r 0af922d04046 -r cfa885e9e6e4 src/server/game/Entities/Unit/Unit.cpp
- --- a/src/server/game/Entities/Unit/Unit.cpp Mon May 06 19:16:04 2013 +0300
- +++ b/src/server/game/Entities/Unit/Unit.cpp Mon May 06 20:03:31 2013 +0300
- @@ -15354,6 +15354,9 @@
- // Call creature just died function
- if (creature->IsAIEnabled)
- creature->AI()->JustDied(this);
- +
- + if (creature)
- + sScriptMgr->AllCreatureJustDied(creature);
- if (TempSummon* summon = creature->ToTempSummon())
- if (Unit* summoner = summon->GetSummoner())
- diff -r 0af922d04046 -r cfa885e9e6e4 src/server/game/Miscellaneous/Language.h
- --- a/src/server/game/Miscellaneous/Language.h Mon May 06 19:16:04 2013 +0300
- +++ b/src/server/game/Miscellaneous/Language.h Mon May 06 20:03:31 2013 +0300
- @@ -1175,6 +1175,10 @@
- // Use for custom patches 11000-11999
- LANG_AUTO_BROADCAST = 11000,
- LANG_INVALID_REALMID = 11001,
- +
- + // Boss kill announce
- + LANG_BOSS_KILL_HISTORY_NORMAL = 11008,
- + LANG_BOSS_KILL_HISTORY_HEROIC = 11009,
- // NOT RESERVED IDS 12000-1999999999
- // `db_script_string` table index 2000000000-2000009999 (MIN_DB_SCRIPT_STRING_ID-MAX_DB_SCRIPT_STRING_ID)
- diff -r 0af922d04046 -r cfa885e9e6e4 src/server/game/Scripting/ScriptLoader.cpp
- --- a/src/server/game/Scripting/ScriptLoader.cpp Mon May 06 19:16:04 2013 +0300
- +++ b/src/server/game/Scripting/ScriptLoader.cpp Mon May 06 20:03:31 2013 +0300
- @@ -1315,6 +1315,8 @@
- void AddSC_npc_title();
- //Top 5 Class Killers
- void AddSC_Top5_Killers();
- +//Boss Kill Announcer
- +void AddSC_boss_kill_history();
- #endif
- void AddCustomScripts()
- @@ -1333,6 +1335,7 @@
- AddSC_title_granter();
- AddSC_npc_title();
- AddSC_Top5_Killers();
- + AddSC_boss_kill_history();
- #endif
- }
- diff -r 0af922d04046 -r cfa885e9e6e4 src/server/game/Scripting/ScriptMgr.cpp
- --- a/src/server/game/Scripting/ScriptMgr.cpp Mon May 06 19:16:04 2013 +0300
- +++ b/src/server/game/Scripting/ScriptMgr.cpp Mon May 06 20:03:31 2013 +0300
- @@ -217,6 +217,7 @@
- SCR_CLEAR(PlayerScript);
- SCR_CLEAR(GuildScript);
- SCR_CLEAR(GroupScript);
- + SCR_CLEAR(AllCreatureScript);
- SCR_CLEAR(UnitScript);
- #undef SCR_CLEAR
- @@ -796,6 +797,11 @@
- tmpscript->OnUpdate(creature, diff);
- }
- +void ScriptMgr::AllCreatureJustDied(Creature* creature)
- +{
- + FOREACH_SCRIPT(AllCreatureScript)->AllCreatureJustDied(creature);
- +}
- +
- bool ScriptMgr::OnGossipHello(Player* player, GameObject* go)
- {
- ASSERT(player);
- @@ -1432,6 +1438,12 @@
- ScriptRegistry<CreatureScript>::AddScript(this);
- }
- +AllCreatureScript::AllCreatureScript(const char* name)
- + : ScriptObject(name)
- +{
- + ScriptRegistry<AllCreatureScript>::AddScript(this);
- +}
- +
- GameObjectScript::GameObjectScript(const char* name)
- : ScriptObject(name)
- {
- @@ -1536,6 +1548,7 @@
- template class ScriptRegistry<BattlegroundMapScript>;
- template class ScriptRegistry<ItemScript>;
- template class ScriptRegistry<CreatureScript>;
- +template class ScriptRegistry<AllCreatureScript>;
- template class ScriptRegistry<GameObjectScript>;
- template class ScriptRegistry<AreaTriggerScript>;
- template class ScriptRegistry<BattlegroundScript>;
- diff -r 0af922d04046 -r cfa885e9e6e4 src/server/game/Scripting/ScriptMgr.h
- --- a/src/server/game/Scripting/ScriptMgr.h Mon May 06 19:16:04 2013 +0300
- +++ b/src/server/game/Scripting/ScriptMgr.h Mon May 06 20:03:31 2013 +0300
- @@ -450,6 +450,18 @@
- virtual CreatureAI* GetAI(Creature* /*creature*/) const { return NULL; }
- };
- +class AllCreatureScript : public ScriptObject
- +{
- + protected:
- +
- + AllCreatureScript(const char* name);
- +
- + public:
- +
- + // Called when creature dying
- + virtual void AllCreatureJustDied(Creature* /*creature*/) { }
- +};
- +
- class GameObjectScript : public ScriptObject, public UpdatableScript<GameObject>
- {
- protected:
- @@ -928,6 +940,10 @@
- uint32 GetDialogStatus(Player* player, Creature* creature);
- CreatureAI* GetCreatureAI(Creature* creature);
- void OnCreatureUpdate(Creature* creature, uint32 diff);
- +
- + public: /* AllCreatureScript */
- +
- + void AllCreatureJustDied(Creature* creature);
- public: /* GameObjectScript */
- diff -r 0af922d04046 -r cfa885e9e6e4 src/server/game/World/World.cpp
- --- a/src/server/game/World/World.cpp Mon May 06 19:16:04 2013 +0300
- +++ b/src/server/game/World/World.cpp Mon May 06 20:03:31 2013 +0300
- @@ -1197,6 +1197,14 @@
- // Management for LFG EveryWhere
- m_bool_configs[CONFIG_ON_LFG_EVERY_WHERE] = ConfigMgr::GetBoolDefault("LFG.Everywhere", true);
- +
- + //Boss kill history system
- + m_bool_configs[CONFIG_BOSS_KILL_HISTORY_ENABLE] = ConfigMgr::GetBoolDefault("Boss.Kill.History.Enable", true);
- + m_int_configs[CONFIG_BOSS_KILL_HISTORY_GUILD_GROUP_10_COUNT] = ConfigMgr::GetIntDefault("Boss.Kill.History.Guild.Group.10",8);
- + m_int_configs[CONFIG_BOSS_KILL_HISTORY_GUILD_GROUP_25_COUNT] = ConfigMgr::GetIntDefault("Boss.Kill.History.Guild.Group.25",20);
- + m_int_configs[CONFIG_BOSS_KILL_HISTORY_REWARD_ENABLE] = ConfigMgr::GetBoolDefault("Boss.Kill.History.Reward.Enable", false);
- + m_int_configs[CONFIG_BOSS_KILL_HISTORY_REWARD_ITEM] = ConfigMgr::GetIntDefault("Boss.Kill.History.Reward.Item.Id",49426);
- + m_int_configs[CONFIG_BOSS_KILL_HISTORY_REWARD_ITEM_COUNT] = ConfigMgr::GetIntDefault("Boss.Kill.History.Reward.Item.Count",10);
- // AutoBroadcast
- m_bool_configs[CONFIG_AUTOBROADCAST] = ConfigMgr::GetBoolDefault("AutoBroadcast.On", false);
- diff -r 0af922d04046 -r cfa885e9e6e4 src/server/game/World/World.h
- --- a/src/server/game/World/World.h Mon May 06 19:16:04 2013 +0300
- +++ b/src/server/game/World/World.h Mon May 06 20:03:31 2013 +0300
- @@ -160,6 +160,8 @@
- CONFIG_UI_QUESTLEVELS_IN_DIALOGS, // Should we add quest levels to the title in the NPC dialogs?
- CONFIG_EVENT_ANNOUNCE,
- CONFIG_ON_LFG_EVERY_WHERE,
- + CONFIG_BOSS_KILL_HISTORY_REWARD_ENABLE,
- + CONFIG_BOSS_KILL_HISTORY_ENABLE,
- BOOL_CONFIG_VALUE_COUNT
- };
- @@ -322,6 +324,10 @@
- CONFIG_WINTERGRASP_BATTLETIME,
- CONFIG_WINTERGRASP_NOBATTLETIME,
- CONFIG_WINTERGRASP_RESTART_AFTER_CRASH,
- + CONFIG_BOSS_KILL_HISTORY_GUILD_GROUP_10_COUNT,
- + CONFIG_BOSS_KILL_HISTORY_GUILD_GROUP_25_COUNT,
- + CONFIG_BOSS_KILL_HISTORY_REWARD_ITEM,
- + CONFIG_BOSS_KILL_HISTORY_REWARD_ITEM_COUNT,
- INT_CONFIG_VALUE_COUNT
- };
- diff -r 0af922d04046 -r cfa885e9e6e4 src/server/worldserver/worldserver.conf.dist
- --- a/src/server/worldserver/worldserver.conf.dist Mon May 06 19:16:04 2013 +0300
- +++ b/src/server/worldserver/worldserver.conf.dist Mon May 06 20:03:31 2013 +0300
- @@ -2778,4 +2778,65 @@
- Channel.CityOnlyFlag = 1
- #
- +###################################################################################################
- +
- +###################################################################################################
- +# BOSS KILL HISTORY SYSTEM
- +#
- +# Boss.Kill.History.Enable
- +# Description: Enables the boss kill history system.
- +# Important: When you kiliing the boss, if you're in guild the world receive announcement,
- +# that your guild killed this boss, on whisch difficult and the count of kills.
- +# Default: 1 - (Enabled)
- +# 0 - (Disabled)
- +#
- +
- +Boss.Kill.History.Enable = 1
- +
- +#
- +# Boss.Kill.History.Reward.Enable
- +# Description: Enables or disables the reward system for BKH.
- +# Default: 0 - (Disabled)
- +# 1 - (Enabled)
- +#
- +
- +Boss.Kill.History.Reward.Enable = 0
- +
- +#
- +# Boss.Kill.History.Reward.Item.Id
- +# Description: ID of the item, which all of party members will be rewarded on guild kill.
- +# Default: 1 - (Enabled)
- +# 0 - (Disabled)
- +#
- +
- +Boss.Kill.History.Reward.Item.Id = 49426
- +
- +#
- +# Boss.Kill.History.Reward.Item.Count
- +# Description: Count of the items, which all of party members will be rewarded on guild kill.
- +# Default: 1 - (Enabled)
- +# 0 - (Disabled)
- +#
- +
- +Boss.Kill.History.Reward.Item.Count = 10
- +
- +#
- +# Boss.Kill.History.Guild.Group.10
- +# Description: How many liverymen have to be in group
- +# Default: 8
- +#
- +#
- +
- +Boss.Kill.History.Guild.Group.10 = 8
- +
- +#
- +# Boss.Kill.History.Guild.Group.25
- +# Description: How many liverymen have to be in group
- +# Default: 20
- +#
- +#
- +
- +Boss.Kill.History.Guild.Group.25 = 20
- +
- +#
- ###################################################################################################
- \ No newline at end of file
Advertisement
Add Comment
Please, Sign In to add comment