All pastes #943825 Raw Edit

DiSlord

public diff v1 · immutable
·published 2008-03-15 17:05 UTC
rendered paste body
Index: Player.cpp===================================================================--- Player.cpp	(revision 5433)+++ Player.cpp	(working copy)@@ -10614,7 +10614,29 @@                 if(enchant_spell_id)                 {                     if(apply)-                        CastSpell(this,enchant_spell_id,true,item);+                    {+                        ItemRandomSuffixEntry const *item_rand = sItemRandomSuffixStore.LookupEntry(abs(item->GetItemRandomPropertyId()));+                        if (item_rand)+                        {+                            // Search enchant_amount+                            if (!enchant_amount)+                            {+                                for (int k=0; k<3; k++)+                                {+                                    if(item_rand->enchant_id[k] == enchant_id)+                                    {+                                        enchant_amount = uint32((item_rand->prefix[k]*item->GetItemSuffixFactor()) / 10000 );+                                        break;+                                    }+                                }+                            }+                            // Cast custom spell vs all equal basepoints getted from enchant_amount+                            int32 basepoints = int32(enchant_amount);+                            CastCustomSpell(this,enchant_spell_id,&basepoints,&basepoints,&basepoints,true,item);+                        }+                        else+                            CastSpell(this,enchant_spell_id,true,item);+                    }                     else                         RemoveAurasDueToItem(item);                 }