читы для wow, баги wow, аддоны для wow
Главная | Регистрация | Вход Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]   
  • Страница 1 из 1
  • 1
Модератор форума: apostl  
Летающие(флай) маунты в Азероте.
Blizzard (Offline)Дата: Суббота, 06.02.2010, 18:39 | Сообщение # 1

Бывший Модератор


Пол: мужчина


Должность:


Ранг/Титул:


Репутация: 3 ±




Вопрос уже многократно подымался, но реального результата не было. Все, кто хоть чуть-чуть шарит в ядре, давайте поставим в этой "загадке" точку.

Начну:
Когда-то, бывшим модератор Атом, писал патч, чтобы флай маунты были доступны в Азероте:

Code
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index f94b221..2b97e43 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -4210,7 +4210,7 @@ uint8 Spell::CanCast(bool strict)
if(m_caster->GetTypeId()==TYPEID_PLAYER)
{
uint32 v_map = GetVirtualMapForMapAndZone(m_caster->GetMapId(), m_caster->GetZoneId());
- if( !((Player*)m_caster)->isGameMaster() && v_map != 530 && !(v_map == 571 && ((Player*)m_caster)->HasSpell(54197)))
+ if( !((Player*)m_caster)->isGameMaster() && v_map != 530 && v_map != 580 && v_map != 571)
return SPELL_FAILED_NOT_HERE;
}

Суть заключается в том, чтобы при проверке зоны 530(Азерот) можно было использовать спел 54197. Работоспособность патча я не проверял, возможно работает.
Также, можно просто попробовать вставить в src/game/Spell.cpp строчку:

Code
GetVirtualMapForMapAndZone(m_caster->GetMapId(),m_caster->GetZoneId()) != 530)

Вот выписки из spell.cpp, связанные с маунтом.

Code
case SPELL_AURA_MOD_INCREASE_FLIGHT_SPEED:
case SPELL_AURA_FLY:
{
// not allow cast fly spells at old maps by players (all spells is self target)
if(m_caster->GetTypeId()==TYPEID_PLAYER)
{
if( !((Player*)m_caster)->IsAllowUseFlyMountsHere() )
return SPELL_FAILED_NOT_HERE;
}

- - - - - - -

Code
case SPELL_AURA_MOUNTED:
{
if (m_caster->IsInWater())
return SPELL_FAILED_ONLY_ABOVEWATER;

if (m_caster->GetTypeId()==TYPEID_PLAYER && ((Player*)m_caster)->GetTransport())
return SPELL_FAILED_NO_MOUNTS_ALLOWED;

// Ignore map check if spell have AreaId. AreaId already checked and this prevent special mount spells
if (m_caster->GetTypeId()==TYPEID_PLAYER && !sMapStore.LookupEntry(m_caster->GetMapId())->IsMountAllowed() && !m_IsTriggeredSpell && !m_spellInfo->AreaGroupId)
return SPELL_FAILED_NO_MOUNTS_ALLOWED;

- - - - - - - -

Code
// zone check
if(uint8 res= GetSpellAllowedInLocationError(m_spellInfo,m_caster->GetMapId(),m_caster->GetZoneId(),m_caster->GetAreaId()))
return res;

// not let players cast spells at mount (and let do it to creatures)
if( m_caster->IsMounted() && m_caster->GetTypeId()==TYPEID_PLAYER && !m_IsTriggeredSpell &&
!IsPassiveSpell(m_spellInfo->Id) && !(m_spellInfo->Attributes & SPELL_ATTR_CASTABLE_WHILE_MOUNTED) )
{
if(m_caster->isInFlight())
return SPELL_FAILED_NOT_FLYING;
else
return SPELL_FAILED_NOT_MOUNTED;
}



www.WOW-SGP.RU приглашай друзей знакомых и будет лучше!


Сообщение отредактировал groza - Суббота, 06.02.2010, 18:40
 
Реклама
  • Страница 1 из 1
  • 1
Поиск:

Администратор Cezar | sitemap sitemap forum | Хостинг от uCoz | ICQ: ICQ 6652242 | E-Mail: e-mail roman.sarvarov[@]gmail.com | русский фан сайт про игру state of decay
Читы для wow скачать бесплатно без регистрации, аддоны для wow скачать бесплатно с быстрой скоростью, баги wow без хайда, боты wow скачать, гайды wow мануалы,
макросы wow паладину ханту магу присту чернокнижнику разбойнику воину друиду, 2.4.3, 3.3.5, вов, wotlk, 4.0.3, 4.0, катаклизм, cataclysm, скачать бесплатно читы,
читы для wow cataclysm, читы для wow 3.3.5, боты 3.3.5