Ru-MaNGOS

Вернуться   Ru-MaNGOS > Ядро > Патчи > Патчи на рассмотрении

Важная информация

Патчи на рассмотрении Рассматриваемые к принятию патчи

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.03.2010, 15:13   #1
zhenya
Пользователь
 
Регистрация: 12.03.2010
Сообщений: 85
Сказал(а) спасибо: 5
Поблагодарили 42 раз(а) в 17 сообщениях
zhenya Скоро придёт к известности
По умолчанию [patch] Enchantments reqs

В общем в некоторых профессиях есть вещи, которые можно наложить на итем и получать бонусы, а потом просто отменить профессию и иметь бонус от этих вещей
Код:
void WorldSession::HandleUnlearnSkillOpcode(WorldPacket & recv_data)
{
    uint32 skill_id;
    recv_data >> skill_id;
    GetPlayer()->SetSkill(skill_id, 0, 0);
}
далее
Код:
...
            // clear skill fields
            SetUInt32Value(PLAYER_SKILL_INDEX(itr->second.pos),0);
            SetUInt32Value(PLAYER_SKILL_VALUE_INDEX(itr->second.pos),0);
            SetUInt32Value(PLAYER_SKILL_BONUS_INDEX(itr->second.pos),0);

            // mark as deleted or simply remove from map if not saved yet
            if(itr->second.uState != SKILL_NEW)
                itr->second.uState = SKILL_DELETED;
            else
                mSkillStatus.erase(itr);

            // remove all spells that related to this skill
            for (uint32 j=0; j<sSkillLineAbilityStore.GetNumRows(); ++j)
                if(SkillLineAbilityEntry const *pAbility = sSkillLineAbilityStore.LookupEntry(j))
                    if (pAbility->skillId==id)
                        removeSpell(sSpellMgr.GetFirstSpellInChain(pAbility->spellId));
...
считаю что необходимо при удалении профы делать
Код:
_RemoveAllItemMods();
_ApplyAllItemMods();
+ считаю необходимым сделать обработку
Код:
struct SpellItemEnchantmentEntry
{
.....
    //uint32      requiredSkill;                       // 35       m_requiredSkillID
    //uint32      requiredSkillValue;                // 36       m_requiredSkillRank
....
};
также сделал чтобы энчанты требовали Skill и Value и Level персонажа.
также добавил sSkillLineAbilityStore с ключем skill_id для более удобного доступа к скилам вместо просмотра всего дбц.
Вложения
Тип файла: patch ech.patch (12.6 Кб, 27 просмотров)

Последний раз редактировалось zhenya; 23.03.2010 в 15:30.
zhenya вне форума   Ответить с цитированием
8 пользователя(ей) сказали cпасибо:
ANTOMA (25.03.2010), CruncH (23.03.2010), Den (23.03.2010), PSZ (23.03.2010), unlucky (23.03.2010), zergtmn (23.03.2010), Кот ДаWINчи (23.03.2010)
Старый 23.03.2010, 17:20   #2
zergtmn
MaNGOS Dev
 
Аватар для zergtmn
 
Регистрация: 07.03.2010
Сообщений: 314
Сказал(а) спасибо: 30
Поблагодарили 153 раз(а) в 83 сообщениях
zergtmn Обладатель прекрасной аурыzergtmn Обладатель прекрасной ауры
По умолчанию

Если на вещи уже есть инчант, но скилла не хватает, при поднятии скилла до нужного уровня инчант должен заработать. В UpdateCraftSkill или UpdateSkillPro тоже надо добавить пару
Код:
_RemoveAllItemMods();
_ApplyAllItemMods();
zergtmn вне форума   Ответить с цитированием
Старый 23.03.2010, 19:14   #3
zhenya
Пользователь
 
Регистрация: 12.03.2010
Сообщений: 85
Сказал(а) спасибо: 5
Поблагодарили 42 раз(а) в 17 сообщениях
zhenya Скоро придёт к известности
По умолчанию

Цитата:
Сообщение от zergtmn Посмотреть сообщение
Если на вещи уже есть инчант, но скилла не хватает, при поднятии скилла до нужного уровня инчант должен заработать. В UpdateCraftSkill или UpdateSkillPro тоже надо добавить пару
Код:
_RemoveAllItemMods();
_ApplyAllItemMods();
очень странно почему там повышается скил не через SetSkill.
мб лучше поменять SetUInt32Value(valueIndex,MAKE_SKILL_VALUE(new_val ue,MaxValue));
на SetSkill(SkillId,new_value,MaxValue);?
zhenya вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[10838] Not report error for missing reqs for some quest timed achievements. newsbot CMaNGOS Commits 0 08.12.2010 05:50
[10035] Additinal reqs for spell 49219/51459 and ranks triggering. newsbot CMaNGOS Commits 0 06.06.2010 17:31


Текущее время: 20:31. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot