Prevent players from accessing GM Island

I don’t see why you guys are making this such a hard patch if you can do this with spells. Add spell_target_position for the triggered spell of this spell and make it add aura on zone enter…

http://www.wowhead.com/spell=42202

UPDATE

and add spell_area, voila.

Damn you’re right xD

One small problem with this spell thing, how you go to gm island with a gm without edit database? /emoticons/default_tongue.png

I guess it’s for the idea. Nonetheless, there are XYZ hacks. /emoticons/default_smile.png

error: ânewZoneâ was not declared in this scope

compilation terminated due to -Wfatal-errors.

I just wrote a patch based in Discover’s idea: https://gist.github.com/1423174

Can someone please test it? I’ll be able to test it next week, so, it would be great if someone can test before and give some feedback /emoticons/default_tongue.png

I think it should work, but I’m not that proficient with spell/aura scripts.

Basically, the player will get http://www.wowhead.com/spell=73954 (Persuaded) when summoned to GM Island (and removed if ‘recalled’).

If the player is “Persuaded” then he will not get the “No Man’s Land” aura, and therefore, will not be teleported out of the island.

The AuraScript will check if target is a GM, not applying the aura, otherwise it will teleport the target to home binding on the first tick.

Thanks!

Nice one, I must say. /emoticons/default_smile.png I am afraid big part of the script is not even needed because you can add spell_target_position to the periodically triggered spell. It will then teleport the player away to Shattrat/Dalaran/etc. on hit.

http://old01.wowhead.com/spell=42200

Not sure if the spell ignores game masters.

Hmm… Tested with a .cast 42202 and it affects game masters :confused:

I meant using spell_area. /emoticons/default_tongue.png

Hm… I think it will not work, cause if I enter ICC in gm mode I get the stats buff.

https://gist.github.com/1423174

Tested teleporting to GM Island with GM OFF (teleported to home binding) and GM ON (not teleported) /emoticons/default_biggrin.png

I just did not test summoning a player, but I think it’s gonna work.

Amazing. =)

Thanks to you! /emoticons/default_biggrin.png

Well… I did some tests and it seems the aura is beeing applied before we get GM mode ON when logging in, cause if I’m at GM Island, logout and login again I’m teleported out. Also, I was using a wrong function to check if the GM is in the island while summoning a player, not applying the “Persuaded” aura as needed. I’m fixing it now.

EDIT:

Working fine https://gist.github.com/1423174

Just one little problem now, http://www.wowhead.com/spell=73954 keeps active on login/logout and server restart. So if you don’t use “.recall” or “.unaura 73954” the player can still access the island. We have to find another one I guess /emoticons/default_tongue.png

You should use this instead, indeed:

if (player && AccountMgr::IsGMAccount(player->GetSession()->GetSecurity()))

Then moderators would not have access to the island. We could use:

return player && AccountMgr::IsModeratorAccount(player->GetSession()->GetSecurity());

Works for moderators and higher security level.

PS: Check my edit in the post above yours /emoticons/default_tongue.png

EDIT:

There’s no need to check the player pointer, cause the “if” casting the target to Player* will only continue if the unit is actually a Player. (the hook sends us a Unit*)