|
Регистрация | Файлы | Правила | Альбомы | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
Патчи на рассмотрении Рассматриваемые к принятию патчи |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
23.03.2010, 15:13 | #1 |
Пользователь
Регистрация: 12.03.2010
Сообщений: 85
Сказал(а) спасибо: 5
Поблагодарили 42 раз(а) в 17 сообщениях
|
[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 .... }; также добавил sSkillLineAbilityStore с ключем skill_id для более удобного доступа к скилам вместо просмотра всего дбц. Последний раз редактировалось zhenya; 23.03.2010 в 15:30. |
23.03.2010, 17:20 | #2 |
MaNGOS Dev
Регистрация: 07.03.2010
Сообщений: 314
Сказал(а) спасибо: 30
Поблагодарили 153 раз(а) в 83 сообщениях
|
Если на вещи уже есть инчант, но скилла не хватает, при поднятии скилла до нужного уровня инчант должен заработать. В UpdateCraftSkill или UpdateSkillPro тоже надо добавить пару
Код:
_RemoveAllItemMods(); _ApplyAllItemMods(); |
23.03.2010, 19:14 | #3 | |
Пользователь
Регистрация: 12.03.2010
Сообщений: 85
Сказал(а) спасибо: 5
Поблагодарили 42 раз(а) в 17 сообщениях
|
Цитата:
мб лучше поменять SetUInt32Value(valueIndex,MAKE_SKILL_VALUE(new_val ue,MaxValue)); на SetSkill(SkillId,new_value,MaxValue);? |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[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 |