|
|
Модератор форума: Dimitro |
Форум TrinityCore Патчи / Моды / Фиксы для Trinity Oregon: визуализация конца дуэли (Простейший патч) |
Oregon: визуализация конца дуэли |
Моей первой работой в сфере разработки Oregon был этот самый несложный патчик. Фактически он кастует визуальный спелл на победителя дуэли (включается в конфиге ядра).
|
Спасиб за патч )) вот под 3.3.5)
Code diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 299e837..7f4d148 100755 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -812,6 +812,8 @@ uint32 Unit::DealDamage(Unit* victim, uint32 damage, CleanDamage const* cleanDam he->SetHealth(1); he->duel->opponent->CombatStopWithPets(true); + if (sWorld->getBoolConfig(CONFIG_DUEL_REWARD_SPELL_ENABLED)) + he->duel->opponent->CastSpell(he, sWorld->getIntConfig(CONFIG_DUEL_REWARD_SPELL_CAST), true); he->CombatStopWithPets(true); he->CastSpell(he, 7267, true); // beg diff --git a/src/server/game/Handlers/DuelHandler.cpp b/src/server/game/Handlers/DuelHandler.cpp index 8afd9f3..10710c9 100644 --- a/src/server/game/Handlers/DuelHandler.cpp +++ b/src/server/game/Handlers/DuelHandler.cpp @@ -69,6 +69,9 @@ void WorldSession::HandleDuelCancelledOpcode(WorldPacket& recvPacket) GetPlayer()->CombatStopWithPets(true); if (GetPlayer()->duel->opponent) GetPlayer()->duel->opponent->CombatStopWithPets(true); + + if (sWorld->getBoolConfig(CONFIG_DUEL_REWARD_SPELL_ENABLED)) + GetPlayer()->duel->opponent->CastSpell(GetPlayer(), sWorld->getIntConfig(CONFIG_DUEL_REWARD_SPELL_CAST), true); GetPlayer()->CastSpell(GetPlayer(), 7267, true); // beg GetPlayer()->DuelComplete(DUEL_WON); diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 6de5feb..d728d60 100755 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -1276,7 +1276,12 @@ void World::LoadConfigSettings(bool reload) m_bool_configs[CONFIG_LFG_LOCATION_ALL] = ConfigMgr::GetBoolDefault("LFG.Location.All", true); - m_bool_configs[CONFIG_ARENA_SPECTATORS_ENABLE] = ConfigMgr::GetBoolDefault("Arena.Spectators.Enable", false); + m_bool_configs[CONFIG_ARENA_SPECTATORS_ENABLE] = ConfigMgr::GetBoolDefault("Arena.Spectators.Enable", false);\ + + m_bool_configs[CONFIG_DUEL_REWARD_SPELL_ENABLED] = ConfigMgr::GetBoolDefault("DuelRewardSpell.Enabled", 0); + m_int_configs[CONFIG_DUEL_REWARD_SPELL_CAST] = ConfigMgr::GetIntDefault("DuelRewardSpell.Cast", 0); + if(m_int_configs[CONFIG_DUEL_REWARD_SPELL_CAST] < 0) + m_int_configs[CONFIG_DUEL_REWARD_SPELL_CAST] = 41232; sScriptMgr->OnConfigLoad(reload); } diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h index b05b3d2..d3d7ce8 100755 --- a/src/server/game/World/World.h +++ b/src/server/game/World/World.h @@ -182,6 +182,7 @@ enum WorldBoolConfigs CONFIG_PVPRANK_ENABLE, CONFIG_LFG_LOCATION_ALL, CONFIG_ARENA_SPECTATORS_ENABLE, + CONFIG_DUEL_REWARD_SPELL_ENABLED, BOOL_CONFIG_VALUE_COUNT }; @@ -350,6 +351,7 @@ enum WorldIntConfigs CONFIG_OUTDOORPVP_WINTERGRASP_ANTIFARM_DEF, CONFIG_BG_WINNER_TOKEN_VAL, CONFIG_BG_LOSER_TOKEN_VAL, + CONFIG_DUEL_REWARD_SPELL_CAST, INT_CONFIG_VALUE_COUNT }; diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist index bf1db5a..0f8a2aa 100644 --- a/src/server/worldserver/worldserver.conf.dist +++ b/src/server/worldserver/worldserver.conf.dist @@ -3056,5 +3056,17 @@ LFG.Location.All = 0 Arena.Spectators.Enable = 0 # +# DuelRewardSpell.Enabled +# DuelRewardSpell.Cast +# Description: At the end of the duel cast include. +# Description: You can insert any spell. +# Default: 0 - (Disabled) +# 1 - (Enabled) +# Default: (41232) + +DuelRewardSpell.Enabled = 0 +DuelRewardSpell.Cast = 41232 + +# ###################################################################################################
Сообщение # 7 написано 13.02.2012 в 14:18
|
BaHaHaBoDka, не за что. Смотрите скайп...
Сообщение # 9 написано 13.02.2012 в 17:41
|
| |||
| |||