Форумы SDlive

Форумы SDlive (http://forum.sdlive.ru/index.php)
-   Сервер (http://forum.sdlive.ru/forumdisplay.php?f=8)
-   -   MaNGOS у себя дома (Windows) (http://forum.sdlive.ru/showthread.php?t=4471)

animagus 05.10.2010 08:34

Fix for Chimera Shot
SpellEffect.cpp
7298-- m_caster->CastCustomSpell(target, spellId, &basePoint, 0, 0, false);
7298++ m_caster->CastCustomSpell(target, spellId, &basePoint, 0, 0, true);

Правит доп функцию выстрела химеры в зависимости от стинга на цели. На данный момент доп эффект отсутсвует.
Так оформление пожалуй правильнее выглядит. Сет, ставить будешь?

animagus 05.10.2010 19:00

Хоть как-нибудь уже прокомментируйте.

SeT 05.10.2010 20:17

Там проблема в другом. Но как временное решение, пойдет. Спасибо, пиши исчо =)

animagus 06.10.2010 12:22

Fix for Glyph of Rune Tap
SpellEffect.cpp
3758void Spell::EffectHealPct(SpellEffectIndex /*eff_idx*/)
3759{
3760 if (unitTarget && unitTarget->isAlive() && damage >= 0)
3761 {
3762 // Try to get original caster
3763 Unit *caster = GetAffectiveCaster();
3764 if (!caster)
3765 return;
3766 ++ //Glyph of Rune Tap mustn`t heal deathknight for 10%
3768 ++ if(caster == unitTarget && m_spellInfo->Id == 59754)
3769 ++ return;

Glyph of Rune TapДолжен увеливать хил по самому ДК от заклинанияRune Tap на 10% и лечить членов группы(исключая ДК) на 10% от их общего хп. У нас лечит на дополнительныйе 10%хп всю группу включая ДК.

animagus 07.10.2010 12:21

Critical fix for Chimera Shot - Scorpid
7303-- spellId = 53359;
7303++{
const SpellCooldowns& cm = ((Player*)m_caster)->GetSpellCooldownMap();
SpellCooldowns::const_iterator itr = cm.find(53359);
if (itr == cm.end() || itr->second.end <= time(NULL))
spellId = 53359;
}

Проявился неожиданный баг, связанный с тем, что химера это единсвенный спел имеющий спелэффект с кд.

animagus 08.10.2010 14:03

Кто разбирается подскажите:
Если по теплейту создать просто моба, то скрипт для него работает как положенно. если же моб создается в качестве защитника игрока(речь идет про змей из ловушки)по томуже темплейту, скрипт отрубается. Где я что-то не так делаю?

Троль 09.10.2010 07:32

http://github.com/gc/mangos/commit/b...7bf6f6775d0a0c оно?

Троль 09.10.2010 07:44

Цитата:

Сообщение от animagus (Сообщение 103508)
Кто разбирается подскажите:
Если по теплейту создать просто моба, то скрипт для него работает как положенно. если же моб создается в качестве защитника игрока(речь идет про змей из ловушки)по томуже темплейту, скрипт отрубается. Где я что-то не так делаю?

не знаю что за темплейт(возможно ты про creature_template, таблицу в базе). В базе у каждого моба которого есть скрипт - вписан скрипт. Их два вида: EventAI и ScriptDev2. Первый через саму же базу, второй через С++ код. Если AI не вписан то скорее всего используется стандартный AI , то есть GuardianAI

UPD:
CreatureAI* selectAI(Creature *creature) в CreatureAISelector.cpp выбирает стандартные AI для петов и гвардов.
Код:

        if ((creature->isPet() && ((Pet*)creature)->isControlled() &&
            ((owner=creature->GetOwner()) && owner->GetTypeId()==TYPEID_PLAYER)) || creature->isCharmed())
            ai_factory = ai_registry.GetRegistryItem("PetAI");
        else if (creature->isTotem())
            ai_factory = ai_registry.GetRegistryItem("TotemAI");

        // select by script name
        if (!ai_factory && !ainame.empty())
            ai_factory = ai_registry.GetRegistryItem( ainame.c_str() );

        if (!ai_factory && creature->isGuard() )
            ai_factory = ai_registry.GetRegistryItem("GuardAI");

Покури код в том направлении. Кстати AI в Pet.cpp выбирается через AIM_Initalize() ктороая шлет в selectAI, то что вписано в базе для петов/гвардов/тотемов/минипетов там и не учитывается

Троль 09.10.2010 08:28

Цитата:

Сообщение от animagus (Сообщение 103454)
Fix for Glyph of Rune Tap
бла-бла-бла

осиль diff и выкладывай дифы, в TortuseGit diff вроде бы был. В крайнем случае скачай diff или patch. Совсем маленькие утилиты но имхо очень нужные. А еще код оформляй тегами [ code ][ /code ]

Троль 09.10.2010 16:52

http://github.com/gc/mangos/commit/4...673980fd03ffed возможно то что ты хочешь


Часовой пояс GMT +1, время: 13:24.