• Страница 1 из 1
  • 1
Модератор форума: Dimitro  
Oregon: визуализация конца дуэли
Acherus
Angel Keeper
Моей первой работой в сфере разработки Oregon был этот самый несложный патчик. Фактически он кастует визуальный спелл на победителя дуэли (включается в конфиге ядра).
Сообщение # 1 отредактировано Acherus - Вторник, 07.02.2012, 14:02
ледяная_скорбь
Скаут
парни, обьесните что такое орегон?

Добавлено (07.02.2012, 22:10)
---------------------------------------------
естественно за +

Сообщение # 2 написано 07.02.2012 в 22:10
The_Sun
Чемпион
Quote (ледяная_скорбь)
парни, обьесните что такое орегон?

Форк тринити, которая предназчена для 2.4.3.
Сообщение # 3 написано 07.02.2012 в 22:24
ледяная_скорбь
Скаут
перепишите кто за + патч под 3.3.5а
Сообщение # 4 написано 07.02.2012 в 22:32
Aleksrims
Рыцарь
любопытный патчик, скрин этого эффекта можно увидеть?)
2.4.3 - Кастомные квесты, нпс, эвенты. Писать в ЛС или aleksrims@gmail.com
Сообщение # 5 написано 08.02.2012 в 00:01
sandrey_de
Скаут
Зачем тебе скрин если в конфиге можно поставить любой спел который будет скастован
Сообщение # 6 отредактировано sandrey_de - Среда, 08.02.2012, 19:15
BaHaHaBoDka
TrinityCore He|L|peR
Спасиб за патч )) вот под 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
_RooT_
Скаут
BaHaHaBoDka, спасибо.
Сообщение # 8 написано 13.02.2012 в 14:22
Acherus
Angel Keeper
BaHaHaBoDka, не за что. Смотрите скайп...
Сообщение # 9 написано 13.02.2012 в 17:41
  • Страница 1 из 1
  • 1
Поиск: