Jump to content

[11954] No double calculation in FillTargetMap


Guest breakwater
 Share

Recommended Posts

What bug does the patch fix? What features does the patch add?

For preventing an double calculation for effects with same targets

For which repository revision was the patch created?

actual, but i think for all

Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread.

not know

Who has been writing this patch? Please include either forum user names or email addresses.

me

Patch:

http://paste2.org/p/1961898

new System with pointer

http://paste2.org/p/1975602

Most target calculation of area spells are unnecessary.

Spells with more then one spell effect with the same target mask and maybe an limitation works now right (limitation in function SetTargetMap(...))

Example Spells:

64218

63342

69674

Sry my english is bad, i hope you understand my idea.

Link to comment
Share on other sites

Spells this will need a check

Spells with are effected by this patch:

SELECT * FROM `dbc-spell` WHERE

(`dbc-spell`.EffectImplicitTargetA1 = `dbc-spell`.EffectImplicitTargetA2 and `dbc-spell`.EffectImplicitTargetB1 = `dbc-spell`.EffectImplicitTargetB2 and `dbc-spell`.EffectImplicitTargetA1 != 0) or

(`dbc-spell`.EffectImplicitTargetA1 = `dbc-spell`.EffectImplicitTargetA3 and `dbc-spell`.EffectImplicitTargetB1 = `dbc-spell`.EffectImplicitTargetB3 and `dbc-spell`.EffectImplicitTargetA3 != 0) or

(`dbc-spell`.EffectImplicitTargetA2 = `dbc-spell`.EffectImplicitTargetA3 and `dbc-spell`.EffectImplicitTargetB2 = `dbc-spell`.EffectImplicitTargetB3 and `dbc-spell`.EffectImplicitTargetA2 != 0)

Spells affected in Wotlk: 11728

Spells with are effected by this patch and with an different radius value:

Spells that can make problems because spell target mask is same, but radius value has an other value

SELECT * FROM `dbc-spell` WHERE

(`dbc-spell`.EffectImplicitTargetA1 = `dbc-spell`.EffectImplicitTargetA2 and `dbc-spell`.EffectImplicitTargetB1 = `dbc-spell`.EffectImplicitTargetB2 and (`dbc-spell`.Effect1 > 0 and `dbc-spell`.Effect2 > 0) and `dbc-spell`.EffectRadiusIndex1 != `dbc-spell`.EffectRadiusIndex2) or

(`dbc-spell`.EffectImplicitTargetA1 = `dbc-spell`.EffectImplicitTargetA3 and `dbc-spell`.EffectImplicitTargetB1 = `dbc-spell`.EffectImplicitTargetB3 and (`dbc-spell`.Effect1 > 0 and `dbc-spell`.Effect3 > 0) and `dbc-spell`.EffectRadiusIndex1 != `dbc-spell`.EffectRadiusIndex3) or

(`dbc-spell`.EffectImplicitTargetA2 = `dbc-spell`.EffectImplicitTargetA3 and `dbc-spell`.EffectImplicitTargetB2 = `dbc-spell`.EffectImplicitTargetB3 and (`dbc-spell`.Effect2 > 0 and `dbc-spell`.Effect3 > 0) and `dbc-spell`.EffectRadiusIndex2 != `dbc-spell`.EffectRadiusIndex3)SELECT * FROM `dbc-spell` WHERE

(`dbc-spell`.EffectImplicitTargetA1 = `dbc-spell`.EffectImplicitTargetA2 and `dbc-spell`.EffectImplicitTargetB1 = `dbc-spell`.EffectImplicitTargetB2 and (`dbc-spell`.Effect1 > 0 and `dbc-spell`.Effect2 > 0) and `dbc-spell`.EffectRadiusIndex1 != `dbc-spell`.EffectRadiusIndex2) or

(`dbc-spell`.EffectImplicitTargetA1 = `dbc-spell`.EffectImplicitTargetA3 and `dbc-spell`.EffectImplicitTargetB1 = `dbc-spell`.EffectImplicitTargetB3 and (`dbc-spell`.Effect1 > 0 and `dbc-spell`.Effect3 > 0) and `dbc-spell`.EffectRadiusIndex1 != `dbc-spell`.EffectRadiusIndex3) or

(`dbc-spell`.EffectImplicitTargetA2 = `dbc-spell`.EffectImplicitTargetA3 and `dbc-spell`.EffectImplicitTargetB2 = `dbc-spell`.EffectImplicitTargetB3 and (`dbc-spell`.Effect2 > 0 and `dbc-spell`.Effect3 > 0) and `dbc-spell`.EffectRadiusIndex2 != `dbc-spell`.EffectRadiusIndex3)

Spells affected in Wotlk: 216

EDIT:

A lot of Wotlk spells are fixed with this patch, because some effects has no radius (Example 72015, 72836)

Spells with makes problems:

often classic spells like:

6266,

3143,

8150,

10253

Link to comment
Share on other sites

  • 2 weeks later...
 Share

×
×
  • 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