[Fix] Binary Resistance #4831

Closed
wants to merge 4 commits into
from

Conversation

Projects
None yet
@Retriman

Its a patch to implement binary resistances. So characters can fully resists spells like fear, purge, polymorph etc, those spells that dont have a "damage" part or have both, damage and effect.
http://www.wowwiki.com/Resistance and http://www.wowwiki.com/Talk:Resistance

Patch based in Dr.Temma Patchs.

Close #1478
Close #4116

Retriman
[Fix] Binary Resistance:
Its a patch to implement binary resistances. So characters can fully resists spells like fear, purge, polymorph etc, those spells that dont have a "damage" part or have both, damage and effect.
http://www.wowwiki.com/Resistance and http://www.wowwiki.com/Talk:Resistance

Patch based in Dr.Temma Patchs.
@PanDaemonAeon

This comment has been minimized.

Show comment
Hide comment
@PanDaemonAeon

PanDaemonAeon Jan 15, 2012

perfect work!

perfect work!

This comment has been minimized.

Show comment
Hide comment
@MilleTest

MilleTest Jan 20, 2012

BUG: Some self buff by Talent (ex: Clearcasting 12536) and npc spell buff on player (ex: Rune Of Power 64320) result full Resist.

BUG: Some self buff by Talent (ex: Clearcasting 12536) and npc spell buff on player (ex: Rune Of Power 64320) result full Resist.

This comment has been minimized.

Show comment
Hide comment
@zouzoul

zouzoul Feb 3, 2012

@MilleTest : caused by trigger level = 1

-- Rune Of Power
UPDATE creature_template SET minlevel = 83, maxlevel = 83 WHERE entry = 33705;

-- Rotface Ooze Puddle Dummy
UPDATE creature_template SET minlevel = 83, maxlevel = 83 WHERE entry = 37013;

@MilleTest : caused by trigger level = 1

-- Rune Of Power
UPDATE creature_template SET minlevel = 83, maxlevel = 83 WHERE entry = 33705;

-- Rotface Ooze Puddle Dummy
UPDATE creature_template SET minlevel = 83, maxlevel = 83 WHERE entry = 37013;

@PanDaemonAeon

This comment has been minimized.

Show comment
Hide comment
@PanDaemonAeon

PanDaemonAeon Jan 16, 2012

Retriman in your patch old identificators

Retriman in your patch old identificators

@Retriman

This comment has been minimized.

Show comment
Hide comment
@Retriman

Retriman Jan 16, 2012

@PanDaemonAeon what old identificators?, spellProto?. if so, I am now upgrading to the new system that SpellInfo.

@PanDaemonAeon what old identificators?, spellProto?. if so, I am now upgrading to the new system that SpellInfo.

@PanDaemonAeon

This comment has been minimized.

Show comment
Hide comment
@PanDaemonAeon

PanDaemonAeon Jan 16, 2012

SPELL_ATTR3_IGNORE_HIT_RESULT

SPELL_ATTR3_IGNORE_HIT_RESULT

@zouzoul

This comment has been minimized.

Show comment
Hide comment
@zouzoul

zouzoul Jan 16, 2012

Now possible to fully resist Frostfire Bolt. Normal ?

zouzoul commented Jan 16, 2012

Now possible to fully resist Frostfire Bolt. Normal ?

@Cepox

This comment has been minimized.

Show comment
Hide comment
@Cepox

Cepox Jan 16, 2012

Yes @zouzoul, since frostfire bolt is a spell that has a snare effect it should be fully resisted or not resisted at all. Frostbolt is the same.

Cepox commented Jan 16, 2012

Yes @zouzoul, since frostfire bolt is a spell that has a snare effect it should be fully resisted or not resisted at all. Frostbolt is the same.

@PanDaemonAeon

This comment has been minimized.

Show comment
Hide comment
@PanDaemonAeon

PanDaemonAeon Jan 16, 2012

if (!(spell->AttributesEx3 & SPELL_ATTR3_IGNORE_HIT_RESULT))

line not in kernel

if (!(spell->AttributesEx3 & SPELL_ATTR3_IGNORE_HIT_RESULT))

line not in kernel

@FilipLukac

This comment has been minimized.

Show comment
Hide comment
@FilipLukac

FilipLukac Jan 16, 2012

@PanDaemonAeon wtf?:DD

@Retriman

This comment has been minimized.

Show comment
Hide comment
@Retriman

Retriman Jan 16, 2012

@PanDaemonAeon you talking about? . I do not understand what you mean....

@PanDaemonAeon you talking about? . I do not understand what you mean....

@PanDaemonAeon

This comment has been minimized.

Show comment
Hide comment
@PanDaemonAeon

PanDaemonAeon Jan 17, 2012

Retriman in darkman1983 repo not line...

if (!(spell->AttributesEx3 & SPELL_ATTR3_IGNORE_HIT_RESULT))

Retriman in darkman1983 repo not line...

if (!(spell->AttributesEx3 & SPELL_ATTR3_IGNORE_HIT_RESULT))

@Amit86

This comment has been minimized.

Show comment
Hide comment
@Amit86

Amit86 Jan 17, 2012

Contributor

@PanDaemonAeon uh,
src/server/game/Miscellaneous/SharedDefines.h: SPELL_ATTR3_IGNORE_HIT_RESULT = 0x00040000, // 18 Spell should always hit its target

Contributor

Amit86 commented Jan 17, 2012

@PanDaemonAeon uh,
src/server/game/Miscellaneous/SharedDefines.h: SPELL_ATTR3_IGNORE_HIT_RESULT = 0x00040000, // 18 Spell should always hit its target

@SignFinder

This comment has been minimized.

Show comment
Hide comment
@SignFinder

SignFinder Jan 18, 2012

Contributor

Retriman - 10x for your work

This pull request close issues:
#1478
#4116

Contributor

SignFinder commented Jan 18, 2012

Retriman - 10x for your work

This pull request close issues:
#1478
#4116

@MilleTest

This comment has been minimized.

Show comment
Hide comment
@MilleTest

MilleTest Jan 18, 2012

Crash:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fa7d6fff700 (LWP 10836)]
0x00007fa803f224ac in Unit::CalcSpellResistance (this=0x7fa75a126000,
victim=0x7fa7b0dd5000, schoolMask=SPELL_SCHOOL_MASK_FIRE, binary=false,
spellProto=0x0)
.../src/server/game/Entities/Unit/Unit.cpp:1546
1546 if (spellProto->AttributesCu & SPELL_ATTR0_CU_BINARY)
<><>STACKTRACE><><>

Crash:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fa7d6fff700 (LWP 10836)]
0x00007fa803f224ac in Unit::CalcSpellResistance (this=0x7fa75a126000,
victim=0x7fa7b0dd5000, schoolMask=SPELL_SCHOOL_MASK_FIRE, binary=false,
spellProto=0x0)
.../src/server/game/Entities/Unit/Unit.cpp:1546
1546 if (spellProto->AttributesCu & SPELL_ATTR0_CU_BINARY)
<><>STACKTRACE><><>

@Subv

This comment has been minimized.

Show comment
Hide comment
@Subv

Subv Jan 18, 2012

Contributor

spellProto was NULL in that case, you should check for NULLness before accessing the attributes

Contributor

Subv commented Jan 18, 2012

spellProto was NULL in that case, you should check for NULLness before accessing the attributes

src/server/game/Entities/Unit/Unit.cpp
+ float r = float(rand_norm());
+ float probabilitySum = discreteResistProbability[0];
+
+ while ((r >= probabilitySum) && (resistance < 10))

This comment has been minimized.

@Subv

Subv Jan 18, 2012

Contributor

Why 10? magic numbers :/
why a while loop? if the max is always 10 then use a for loop

@Subv

Subv Jan 18, 2012

Contributor

Why 10? magic numbers :/
why a while loop? if the max is always 10 then use a for loop

This comment has been minimized.

@Faq

Faq Jul 15, 2012

Contributor

hmm

for (uint32 resistance = 1; resistance < 10, r>=probabilitySum; ++resistance)
    probabilitySum += discreteResistProbrability[resistance];
@Faq

Faq Jul 15, 2012

Contributor

hmm

for (uint32 resistance = 1; resistance < 10, r>=probabilitySum; ++resistance)
    probabilitySum += discreteResistProbrability[resistance];

This comment has been minimized.

@marvin-w

marvin-w Jul 18, 2012

why do you use uint32 in a for loop, when the counter can only be 10? this is senseless, isn't it?

@marvin-w

marvin-w Jul 18, 2012

why do you use uint32 in a for loop, when the counter can only be 10? this is senseless, isn't it?

This comment has been minimized.

@Faq

Faq Jul 19, 2012

Contributor

and u prefer what and why?

@Faq

Faq Jul 19, 2012

Contributor

and u prefer what and why?

This comment has been minimized.

@marvin-w

marvin-w Jul 19, 2012

maybe uint8?!
//EDIT
Sorry forgot the why, because you already know that the variable can only reach 10 and not more. So it it senseless if you use a data type, which range of values is much higher than you need. Programming Basics ;)
(Sorry for bad articulation)

@marvin-w

marvin-w Jul 19, 2012

maybe uint8?!
//EDIT
Sorry forgot the why, because you already know that the variable can only reach 10 and not more. So it it senseless if you use a data type, which range of values is much higher than you need. Programming Basics ;)
(Sorry for bad articulation)

This comment has been minimized.

@Moriquendu

Moriquendu Jul 20, 2012

With processors having 32- or 64-bit word length, performing arithmetic operations on all bits "at once", and disk memory aligned to the 32th / 64th bit, I can hardly see any difference, practical or theoretical. If you would be so kind to explain these basics...

@Moriquendu

Moriquendu Jul 20, 2012

With processors having 32- or 64-bit word length, performing arithmetic operations on all bits "at once", and disk memory aligned to the 32th / 64th bit, I can hardly see any difference, practical or theoretical. If you would be so kind to explain these basics...

This comment has been minimized.

@Subv

Subv Jul 20, 2012

Contributor

^What @Moriquendu said, the variable will be stored in a 32bits register anyways

@Subv

Subv Jul 20, 2012

Contributor

^What @Moriquendu said, the variable will be stored in a 32bits register anyways

@MilleTest

This comment has been minimized.

Show comment
Hide comment
@MilleTest

MilleTest Jan 18, 2012

The patch caused bug on dot, removet on resist

The patch caused bug on dot, removet on resist

@MilleTest

This comment has been minimized.

Show comment
Hide comment
@MilleTest

MilleTest Jan 20, 2012

Crash Fix

if (spellProto && spellProto->AttributesCu & SPELL_ATTR0_CU_BINARY)

Crash Fix

if (spellProto && spellProto->AttributesCu & SPELL_ATTR0_CU_BINARY)

This comment has been minimized.

Show comment
Hide comment
@MilleTest

MilleTest Feb 14, 2012

if (spellProto->AttributesCu & SPELL_ATTR0_CU_BINARY)
if (victim->GetTypeId() == TYPEID_PLAYER)
if(victim != this)
{
int32 tmp = int32(averageResist * 10000);
int32 rand = irand(0, 10000);
return rand < tmp ? 100 : 0;
}
return 0;

Possibile Fix problem for self cast

if (spellProto->AttributesCu & SPELL_ATTR0_CU_BINARY)
if (victim->GetTypeId() == TYPEID_PLAYER)
if(victim != this)
{
int32 tmp = int32(averageResist * 10000);
int32 rand = irand(0, 10000);
return rand < tmp ? 100 : 0;
}
return 0;

Possibile Fix problem for self cast

@zouzoul

This comment has been minimized.

Show comment
Hide comment
@zouzoul

zouzoul Jan 20, 2012

@MilleTest : Which DOT ?

DOT do only damage, so it's not binary and cannot be fully resisted (so can't be removed on resist)

Tested with affli warlock

zouzoul commented Jan 20, 2012

@MilleTest : Which DOT ?

DOT do only damage, so it's not binary and cannot be fully resisted (so can't be removed on resist)

Tested with affli warlock

@ghost ghost assigned QAston Jan 24, 2012

@Cepox

This comment has been minimized.

Show comment
Hide comment
@Cepox

Cepox Jan 24, 2012

You can resist the application of the Dot and can partialy resist every tick of the dot. I think thats the way it should work because putting a dot on somebody is binary and the damge isnt.

Cepox commented Jan 24, 2012

You can resist the application of the Dot and can partialy resist every tick of the dot. I think thats the way it should work because putting a dot on somebody is binary and the damge isnt.

@QAston

This comment has been minimized.

Show comment
Hide comment
@QAston

QAston Jan 29, 2012

Contributor

Please stick to the codestyle guidelines (Type* var not Type * var for example)
Also, existing reports with bugs with this patch must be fixed before this gets accepted.

Contributor

QAston commented Jan 29, 2012

Please stick to the codestyle guidelines (Type* var not Type * var for example)
Also, existing reports with bugs with this patch must be fixed before this gets accepted.

@Retriman

This comment has been minimized.

Show comment
Hide comment
@Retriman

Retriman Jan 31, 2012

Ok. @QAston update now :)! and This pull request close issues:
#1478
#4116

Ok. @QAston update now :)! and This pull request close issues:
#1478
#4116

@FilipLukac

This comment has been minimized.

Show comment
Hide comment
@FilipLukac

FilipLukac Jan 31, 2012

old codestyle :) Unit* victim :)

old codestyle :) Unit* victim :)

@FilipLukac

This comment has been minimized.

Show comment
Hide comment
@FilipLukac

FilipLukac Jan 31, 2012

I think spellInfo there

I think spellInfo there

This comment has been minimized.

Show comment
Hide comment
@Retriman

Retriman Jan 31, 2012

Collaborator

I know it's old, but if you see in the line below. is still used.

Collaborator

Retriman replied Jan 31, 2012

I know it's old, but if you see in the line below. is still used.

@FilipLukac

This comment has been minimized.

Show comment
Hide comment
@FilipLukac

FilipLukac Jan 31, 2012

spellInfo

@zouzoul

This comment has been minimized.

Show comment
Hide comment
@zouzoul

zouzoul Feb 3, 2012

Channeled spells start with caster as victim in Unit::CalcSpellResistance
In raid result a lot of Resist due to caster magic resistance buff :s

Tested with Mind Flay

Due to Spell.cpp
m_resist = m_caster->CalcSpellResistance(unit, m_spellSchoolMask , binary, m_spellInfo); ?????????
unit = m_caster when apply the aura but good for DOT

zouzoul commented Feb 3, 2012

Channeled spells start with caster as victim in Unit::CalcSpellResistance
In raid result a lot of Resist due to caster magic resistance buff :s

Tested with Mind Flay

Due to Spell.cpp
m_resist = m_caster->CalcSpellResistance(unit, m_spellSchoolMask , binary, m_spellInfo); ?????????
unit = m_caster when apply the aura but good for DOT

@Moriquendu

This comment has been minimized.

Show comment
Hide comment
@Moriquendu

Moriquendu Feb 3, 2012

m_caster calculates spell resistance AGAINST unit (To take into consideration spell penetration of the caster, for example).

m_caster calculates spell resistance AGAINST unit (To take into consideration spell penetration of the caster, for example).

@Aokromes

This comment has been minimized.

Show comment
Hide comment
@Aokromes

Aokromes Feb 4, 2012

Member

@Retriman even if it's still used new code must avoid adding more rows of old coding styles, the target is to remove old coding styles.

Member

Aokromes commented Feb 4, 2012

@Retriman even if it's still used new code must avoid adding more rows of old coding styles, the target is to remove old coding styles.

@Retriman

This comment has been minimized.

Show comment
Hide comment
@Retriman

Retriman Feb 4, 2012

Ok, @Aokromes update now ;)

Retriman commented Feb 4, 2012

Ok, @Aokromes update now ;)

@Dulumun

This comment has been minimized.

Show comment
Hide comment
@Dulumun

Dulumun Feb 5, 2012

Retriman why you don't Update your core ?

Dulumun commented on 055a78e Feb 5, 2012

Retriman why you don't Update your core ?

@QAston

This comment has been minimized.

Show comment
Hide comment
@QAston

QAston Feb 9, 2012

Contributor

Ok, are problems with this patch solved now? It affects a lot of spells so needs to be tested before applying.

Contributor

QAston commented Feb 9, 2012

Ok, are problems with this patch solved now? It affects a lot of spells so needs to be tested before applying.

@zouzoul

This comment has been minimized.

Show comment
Hide comment
@zouzoul

zouzoul Feb 9, 2012

@QAston :

/// Maybe disable binary resist in PVE ?

-if (spellProto && spellProto->AttributesCu & SPELL_ATTR0_CU_BINARY)
+if (spellProto && spellProto->AttributesCu & SPELL_ATTR0_CU_BINARY && victim->GetTypeId() == TYPEID_PLAYER)

/// Check if victim = caster then Return 0 (Self cast, Mind flay, Arcane blast debuff, etc.)

zouzoul commented Feb 9, 2012

@QAston :

/// Maybe disable binary resist in PVE ?

-if (spellProto && spellProto->AttributesCu & SPELL_ATTR0_CU_BINARY)
+if (spellProto && spellProto->AttributesCu & SPELL_ATTR0_CU_BINARY && victim->GetTypeId() == TYPEID_PLAYER)

/// Check if victim = caster then Return 0 (Self cast, Mind flay, Arcane blast debuff, etc.)

@MilleTest

This comment has been minimized.

Show comment
Hide comment
@MilleTest

MilleTest Feb 10, 2012

Patch create problem on GO apply buff exp: http://www.wowhead.com/spell=64320 buff result full resist

Patch create problem on GO apply buff exp: http://www.wowhead.com/spell=64320 buff result full resist

@@ -1629,6 +1629,7 @@ void GameObject::CastSpell(Unit* target, uint32 spellId)
if (Unit* owner = GetOwner())
{
trigger->setFaction(owner->getFaction());
+ trigger->SetLevel(owner->getLevel());

This comment has been minimized.

@Chaplain

Chaplain Feb 10, 2012

Contributor

How this related to binary spells?

@Chaplain

Chaplain Feb 10, 2012

Contributor

How this related to binary spells?

@MilleTest

This comment has been minimized.

Show comment
Hide comment
@MilleTest

MilleTest Feb 14, 2012

The Self Buff of channeling Mind Flay or Drain Life or Drain Mana, are resistibili, this is to be considered bugs?, or rightly so? self buff on caster not the debuff on the target.

The Self Buff of channeling Mind Flay or Drain Life or Drain Mana, are resistibili, this is to be considered bugs?, or rightly so? self buff on caster not the debuff on the target.

@MilleTest

This comment has been minimized.

Show comment
Hide comment
@MilleTest

MilleTest Feb 14, 2012

if (spellProto->AttributesCu & SPELL_ATTR0_CU_BINARY)
if (victim->GetTypeId() == TYPEID_PLAYER)
if(victim != this)
{
int32 tmp = int32(averageResist * 10000);
int32 rand = irand(0, 10000);
return rand < tmp ? 100 : 0;
}
return 0;

Possibile Fix problem for self cast

if (spellProto->AttributesCu & SPELL_ATTR0_CU_BINARY)
if (victim->GetTypeId() == TYPEID_PLAYER)
if(victim != this)
{
int32 tmp = int32(averageResist * 10000);
int32 rand = irand(0, 10000);
return rand < tmp ? 100 : 0;
}
return 0;

Possibile Fix problem for self cast

@QAston

This comment has been minimized.

Show comment
Hide comment
@QAston

QAston Feb 20, 2012

Contributor

Well, imo there should be no resist chance for all "assist" targets. @Retriman are you still working on this patch?

Contributor

QAston commented Feb 20, 2012

Well, imo there should be no resist chance for all "assist" targets. @Retriman are you still working on this patch?

@zouzoul

This comment has been minimized.

Show comment
Hide comment
@zouzoul

zouzoul Feb 22, 2012

// Magic damage, check for resists
if (uint32(schoolMask & (SPELL_SCHOOL_MASK_NORMAL | SPELL_SCHOOL_HOLY)) > 0)

SPELL_SCHOOL_HOLY should be --->>> SPELL_SCHOOL_MASK_HOLY

zouzoul commented Feb 22, 2012

// Magic damage, check for resists
if (uint32(schoolMask & (SPELL_SCHOOL_MASK_NORMAL | SPELL_SCHOOL_HOLY)) > 0)

SPELL_SCHOOL_HOLY should be --->>> SPELL_SCHOOL_MASK_HOLY

- if (Player* player = ToPlayer())
- victimResistance -= float(player->GetSpellPenetrationItemMod());
+ if (source)

This comment has been minimized.

@FilipLukac

FilipLukac Feb 22, 2012

wtf?:D

@Retriman

This comment has been minimized.

Show comment
Hide comment
@Retriman

Retriman Feb 23, 2012

@QAston, yes working in patch

@QAston, yes working in patch

@FilipLukac

This comment has been minimized.

Show comment
Hide comment
@FilipLukac

FilipLukac Mar 5, 2012

You was removed resistance for players in pve, players must resist too damage from bosses, and you have issue with full resist in pve... Boses cant full resist damage from players. I was fixed it, if u want ill make pull request

You was removed resistance for players in pve, players must resist too damage from bosses, and you have issue with full resist in pve... Boses cant full resist damage from players. I was fixed it, if u want ill make pull request

@Retriman

This comment has been minimized.

Show comment
Hide comment
@Retriman

Retriman Mar 12, 2012

we have completely "solved" the resistance binary. I expect soon we will have news of a new patch 100% optimal

we have completely "solved" the resistance binary. I expect soon we will have news of a new patch 100% optimal

@click

This comment has been minimized.

Show comment
Hide comment
@click

click Jul 15, 2012

Member

Cleaned up comments and reopened original issue, as it has not been resolved. Awaiting further information from @Retriman or other pullrequests handling the same issue.

Member

click commented Jul 15, 2012

Cleaned up comments and reopened original issue, as it has not been resolved. Awaiting further information from @Retriman or other pullrequests handling the same issue.

@Faq

This comment has been minimized.

Show comment
Hide comment
@Faq

Faq Jul 17, 2012

Contributor

made it all in 1 commit+cleanup
Faq/TrinityCore@e93bab2

Pls review and suggest any corrections.
Lets get this pats done together.

Contributor

Faq commented Jul 17, 2012

made it all in 1 commit+cleanup
Faq/TrinityCore@e93bab2

Pls review and suggest any corrections.
Lets get this pats done together.

@FilipLukac

This comment has been minimized.

Show comment
Hide comment
@FilipLukac

FilipLukac Jul 18, 2012

You still have removed resistances in PvE ;]

  • You have deleted method wich you can resist damage from bosses ^_^ its currently working
  • You CAN'T full resist dmg to bosses and bosses dmg to you
  • You must rewrite some variables, and make some corections in math
  • You will win this figt :>

You still have removed resistances in PvE ;]

  • You have deleted method wich you can resist damage from bosses ^_^ its currently working
  • You CAN'T full resist dmg to bosses and bosses dmg to you
  • You must rewrite some variables, and make some corections in math
  • You will win this figt :>
@Faq

This comment has been minimized.

Show comment
Hide comment
@Faq

Faq Jul 18, 2012

Contributor
  • i havnt deleted anything there, show where and what i deleted?
Contributor

Faq commented Jul 18, 2012

  • i havnt deleted anything there, show where and what i deleted?
@saqirmdev

This comment has been minimized.

Show comment
Hide comment
@saqirmdev

saqirmdev Jul 28, 2012

game/Entities/Unit/Unit.cpp:2451: error: no 'uint32 Unit::CalcMagicSpellHitChance(Unit_, SpellSchoolMask, const SpellInfo_)' member function declared in class 'Unit'
game/Entities/Unit/Unit.cpp: In member function 'SpellMissInfo Unit::MagicSpellHitResult(Unit_, const SpellInfo_)':
game/Entities/Unit/Unit.cpp:2576: error: 'CalcMagicSpellHitChance' was not declared in this scope
make[2]: *** [src/server/game/CMakeFiles/game.dir/Entities/Unit/Unit.cpp.o] Error 1

game/Entities/Unit/Unit.cpp:2451: error: no 'uint32 Unit::CalcMagicSpellHitChance(Unit_, SpellSchoolMask, const SpellInfo_)' member function declared in class 'Unit'
game/Entities/Unit/Unit.cpp: In member function 'SpellMissInfo Unit::MagicSpellHitResult(Unit_, const SpellInfo_)':
game/Entities/Unit/Unit.cpp:2576: error: 'CalcMagicSpellHitChance' was not declared in this scope
make[2]: *** [src/server/game/CMakeFiles/game.dir/Entities/Unit/Unit.cpp.o] Error 1

@Faq

This comment has been minimized.

Show comment
Hide comment
@Faq

Faq Jul 31, 2012

Contributor

in unit.h there is

uint32 CalcMagicSpellHitChance(Unit* victim, SpellSchoolMask schoolMask, SpellInfo const* spellProto);

I guess, u have bad merge?

Contributor

Faq commented Jul 31, 2012

in unit.h there is

uint32 CalcMagicSpellHitChance(Unit* victim, SpellSchoolMask schoolMask, SpellInfo const* spellProto);

I guess, u have bad merge?

@Aokromes

This comment has been minimized.

Show comment
Hide comment
@Aokromes

Aokromes Aug 1, 2012

Member

Plz create a new PR for this. #1478

Member

Aokromes commented Aug 1, 2012

Plz create a new PR for this. #1478

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment