Jump to content

[BUG] in Player::CorrectMetaGemEnchants


Auntie Mangos

Recommended Posts

  • 39 years later...

In

Player::EnchantmentFitsRequirements

there are very seriuos bug, that make possible do exploits with stacking metagems effects. Counting current equipped gem colors should't count gems from broken items.

I was try to add check like

 if(pItem2->IsBroken())
continue;

but i get crash when equip item with metagem :(

Anybody can to help with this check?

Link to comment
Share on other sites

try to change

       Item *pItem2 = GetItemByPos( INVENTORY_SLOT_BAG_0, i );
               iif(pItem2 && pItem2->GetProto()->Socket[0].Color)

to

       Item *pItem2 = GetItemByPos( INVENTORY_SLOT_BAG_0, i );
       if(pItem2 && !pItem2->IsBroken() && pItem2->GetProto()->Socket[0].Color)

No, crash again. :confused:

Main problem here that bonus from meta not removed if EnchantmentFitsRequirements return false (if requirements with count of gems not true) when unequip item with metagem.

Link to comment
Share on other sites

Work what? Bug? On clear core yes. My hack? -yes, it prevent stacking bonuses from meta. I also was try put IsBroken where it need, but i always get crash :(

So, main problem in Player::_ApplyItemMods (all or part subfunctions). We shoul't make checks for unequip item case and always remove all bonuses when item unequip.

Link to comment
Share on other sites

Ahmm, a really weird question, since im new to this and i havnt contributed to this forum but just wanted to ask you guys that where do we have to put these kinda commands: Item *pItem2 = GetItemByPos( INVENTORY_SLOT_BAG_0, i );

if(pItem2 && !pItem2->IsBroken() && pItem2->GetProto()->Socket[0].Color)

I play on Wowscape server

version 3.2.2a

Link to comment
Share on other sites

  • 3 weeks later...
  • 1 month later...

Is this hack fix still needed? Do I need to change:

    // not apply/remove mods for broken item
   if(item->IsBroken())

to

// not apply/remove mods for broken item
   if(item->IsBroken() && proto->Socket[0].Color)  //This need to remove bonuses from meta if item broken
     {
       CorrectMetaGemEnchants(slot, apply);
       return;
     }

Or is this wrong? Thanks.

Link to comment
Share on other sites

  • 3 weeks later...
Guest
This topic is now closed to further replies.
×
×
  • 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