Jump to content

Blacksmith sockets


Guest riname

Recommended Posts

What steps will reproduce the problem?

1. Level BS 400+

2. Use Socket Bracer (spell=55628) or Socket Gloves (spell=55641)

3. Delete profession Blacksmith

What is the expected output? What do you see instead?

Socket should be inactive, according to tooltip: "The added socket requires that you maintain 400 blacksmithing or it will become inactive."

What revision of the Core are you using? On what operating system?

10524 on Ubuntu

Link to comment
Share on other sites

Do you know if the bug appears only with blacksmithing and those spells?

I guess it bugs somewhere else...

SkillHandler.cpp

void WorldSession::HandleUnlearnSkillOpcode(WorldPacket & recv_data)
{
   uint32 skill_id;
   recv_data >> skill_id;
   GetPlayer()->SetSkill(skill_id, 0, 0);
}

Player.cpp

void Player::SetSkill(uint16 id, uint16 currVal, uint16 maxVal, uint16 step /*=0*/)
{
   if(!id)
       return;

   SkillStatusMap::iterator itr = mSkillStatus.find(id);

   // has skill
   if(itr != mSkillStatus.end() && itr->second.uState != SKILL_DELETED)
   {
       if(currVal)
       {
          ...
       }
       else                                                //remove
       {
           // clear skill fields
           ...

           // mark as deleted or simply remove from map if not saved yet
           ...

           // remove all spells that related to this skill
           ...

           //READ ME HERE

           //I guess we should add something there, like :
           _RemoveAllItemMods();
           _ApplyAllItemMods();
           //(there's probably a faster way to do that...)
       }
   }

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use