Jump to content

[Fix][7523] Prevent use of Divine Shield/Ice Block while carrying BG Flags

Auntie Mangos

Recommended Posts

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

Prevents a player from holding a flag with Divine Shield and other effects that grant immunity:

-If the player is holding the flag, it will drop.

-The player will not be able to pick up the flag.

For which repository revision was the patch created?


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

There is a fix in the rejected section here

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


Patch: http://paste2.org/p/168327

Only Divine Shield, Hand of Protection, Ice Block have SPELL_AURA_SCHOOL_IMMUNITY effect coupled with MECHANIC_IMMUNE_SHIELD.

Didn't find any special definition for spells with EffectMiscValue[0] == 85 using MECHANIC_IMMUNE_SHIELD, so it might be a little hackish. But it seems like it's used for flag-like effects that should be dispelled when a player uses an invulnerability effect (not solely BGs). Here is a list of the spell ids that I found with these attributes:

21546 - Deprecated, used to be used in bg quest

23333 - WSG Flag Spell

23335 - WSG Flag Spell

32430 - Zangarmarsh PVP Battle Standard

32431 - Zangarmarsh PVP Battle Standard

34976 - EotS Flag

45450 - Unused WSG Flag?

29519 - Used in quest, this comment suggests it should also be dispelled on invulnerability.

48039 - Not sure what this is

53797 - Not sure what this is

Edit: Fixed the patch on paste2

Link to comment
Share on other sites

  • 39 years later...

Prevents a player from holding a flag with Divine Shield and other effects that grant immunity:

-The player will not be able to pick up the flag

It works for both WSG and EotS. What's the AB flag? :confused:

Edit: I see, I didn't test the EotS/AB base captures with DS yet.


bool Player::CanCaptureTowerPoint()


return ( !HasStealthAura() && // not stealthed

!HasInvisibilityAura() && // not invisible

!HasInvulnerabilityAura() && //player cannot use object when he is invulnerable (immune) - (ice block, divine shield, divine intervention ...)

isAlive() // live player



I'll change it on paste2 later, thanks.

Link to comment
Share on other sites

Feign Death should also drop flag, i have other patch that haves already fixed case with feign death.

Sorry, but that patch is old, and i've forget a first author name :/

http://paste2.org/p/168712 patch tested on many servers (because used in my compiled binaries :P) and don't have any bugs related...

That patch can be splitted on two parts:

first - implementation of aura flag_lost_selection (drops flag)

second - part, that don't allow to pick up the flag with immunity grant spells

Link to comment
Share on other sites

From what I interpret from leak's post above, immune players shouldn't be able to capture bases either. So shouldn't CanCaptureTowerPoint() also check !isTotalImmune() ?

its not about whether they capture or not, its about, "the flag is supposed to drop in place" when classes use their "immune" spells, like pally bubbles and iceblocks. As Triplex said, Immune players are allowed to capture bases in EOTS

Link to comment
Share on other sites

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