Все официально исправленные баги (до р3302) + личный фикс от меня (который пока не вошёл в официальный соурс код, но думаю войдёт )
Кому интересны суть исправления:
Code
Index: Player.cpp =================================================================== --- Player.cpp (revision 3302) +++ Player.cpp (working copy) @@ -12045,20 +12045,23 @@ float fdmg = float(dmg); uint32 bonus; int32 perc; + int32 percP; + uint32 bonusP; Group * pGroup = GetGroup(); SubGroup * pSubGroup = (pGroup != NULL) ? pGroup->GetSubGroup(GetSubGroup()) : NULL; GroupMembersSet::iterator itr; - + if( ( !m_vampiricEmbrace && !m_vampiricTouch ) || getClass() != PRIEST ) return; - - if( m_vampiricEmbrace > 0 && pTarget->m_hasVampiricEmbrace > 0 && pTarget->HasAurasWithNameHash(SPELL_HASH_VAMPIRIC_EMBRACE) ) + + + if( m_vampiricEmbrace < 0 && this->m_hasVampiricEmbrace < 0 && this->HasAurasWithNameHash(SPELL_HASH_VAMPIRIC_EMBRACE) ) { perc = 15; + percP = 3; uint32 spellgroup[3] = {4, 0, 0}; SM_FIValue(SM_FMiscEffect, &perc, spellgroup); - bonus = float2int32(fdmg * (float(perc)/100.0f)); if( bonus > 0 ) { @@ -12070,7 +12073,9 @@ for( itr = pSubGroup->GetGroupMembersBegin(); itr != pSubGroup->GetGroupMembersEnd(); ++itr ) { if( (*itr)->m_loggedInPlayer != NULL && (*itr) != m_playerInfo && (*itr)->m_loggedInPlayer->isAlive() ) - Heal( (*itr)->m_loggedInPlayer, 15286, bonus ); + + bonusP = float2int32(fdmg * (float(percP)/100.0f)); + Heal( (*itr)->m_loggedInPlayer, 15286, bonusP ); } } } Index: SpellAuras.cpp =================================================================== --- SpellAuras.cpp (revision 3302) +++ SpellAuras.cpp (working copy) @@ -2169,21 +2169,21 @@ }break; case 15286://Vampiric Embrace { - if(apply) - { - SetNegative(); + /*if(apply){ + SetNegative(); // Wrong + //SetPositive(); Unit * caster =this->GetUnitCaster(); if(caster && caster->IsPlayer()) ((Player*)caster)->m_vampiricEmbrace++; ++m_target->m_hasVampiricEmbrace; } else - { + {*/ Unit * caster =this->GetUnitCaster(); if(caster && caster->IsPlayer()) ((Player*)caster)->m_vampiricEmbrace--; --m_target->m_hasVampiricEmbrace; - } + //} }break; case 34914://Vampiric Touch case 34916:
Багов конечно ещё много, на всех хватит... но.. я уже включился в работу )
ПС: Если не сложно, любителей тупо поорать, что всё баганое - просьба оставлять конкретные баги спелов этой r. ПСС: В архиве вы найдёте Всне дужные библиотеки для запуска, сами исполняемые файлы, дбц, 2 скрипта луа (хы), и несколько скомпилированных *срр скриптов.
Скачать: http://filebeam.com/49a85159f1390ac76320de78df23a4bb
офф соурс код вы всегда найдёте svn://arcemu.info/svn/trunk - тут. все найденные баги просьба отписать http://www.arcemu.info/trac/arcemu/newticket - тут. (зарегаться проще пареной репы)
Добавлено (25.05.2010, 12:55) --------------------------------------------- Ура граждане! http://arcemu.info/trac/arcemu/changeset/3349