I used this query:
INSERT INTO `disables` (`sourceType`, `entry`, `flags`, `params_0`, `params_1`, `comment`) VALUES
(0, 61447, 32, '', '3698', "Disable mount in Nagrand arena");
To deny the use double mount on Nagrand Arena. But on arena you can still call this mount.
PS: Maybe in some other way you can prevent use of double mounts in the arenas?
Fredi
January 5, 2012, 11:22pm
3
You can’t just use flag 32 alone. This flag is checked after checking the unit type, so 33 should work fine. (disable the spell in this area for players)
INSERT INTO `disables` VALUES (0, 61447, (1+32), '', '3698', "Disable mount in Nagrand arena");
INSERT INTO disables
VALUES (0, 60424, (1+32), “”, “3698”, “Disable mount in arena”);
INSERT INTO disables
VALUES (0, 55531, (1+32), “”, “3968”, “Disable mount in arena”);
INSERT INTO disables
VALUES (0, 61425, (1+32), “”, “3702”, “Disable mount in arena”);
INSERT INTO disables
VALUES (0, 61447, (1+32), “”, “4406”, “Disable mount in arena”);
INSERT INTO disables
VALUES (0, 61469, (1+32), “”, “4378”, “Disable mount in arena”);
Still in the arena can use double mounts …
Tell me how to disable the use of spells in the arena through the core?
Fredi
January 11, 2012, 10:31am
6
You can hack Spell::CheckCast in Spell.cpp. Something like this:
[CODE]SpellCastResult Spell::CheckCast(bool strict)
{
if (MapEntry const* mapEntry = sMapStore.LookupEntry(m_caster->GetMapId()))
if (mapEntry->IsBattleArena())
if (m_spellInfo->Id == 60424 || m_spellInfo->Id == 55531 || m_spellInfo->Id == 61425
|| m_spellInfo->Id == 61447 || m_spellInfo->Id == 61469)
return SPELL_FAILED_NOT_IN_ARENA;
// check death state
[/CODE]
You can also use instance_template.allowMount column for the respective map Id (for now, might be deprecated and converted to a new disables type soon).
Fredi
January 11, 2012, 11:37am
8
He wants to disable just some mounts, like bikes.
Fredi, Thank you very much for your help
Fredi
January 11, 2012, 8:27pm
10
This should avoid hacking the core for this kind of change:
https://gist.github.com/1596502
Added flags:
64 - Spell disabled in all Arena maps
128 - Spell disabled in all Battleground maps
Example: INSERT INTO disables
VALUES (0, 60424, (1+64), “”, “”, “Mekgineer’s Chopper in Arenas”);
This will disable spell Mekgineer’s Chopper(60424) for players in all Arenas.
Example: INSERT INTO disables
VALUES (0, 60424, (1+128), “”, “”, “Mekgineer’s Chopper in Battlegrounds”);
This will disable spell Mekgineer’s Chopper(60424) for players in all Battlegrounds.
Example: INSERT INTO disables
VALUES (0, 60424, (1+64+128), “”, “”, “Mekgineer’s Chopper in Arenas and Battlegrounds”);
This will disable spell Mekgineer’s Chopper(60424) for players in all Arenas and Battlegrounds.
This should avoid hacking the core for this kind of change:
https://gist.github.com/1596502
Added flags:
64 - Spell disabled in all Arena maps
128 - Spell disabled in all Battleground maps
Example: INSERT INTO disables
VALUES (0, 60424, (1+64), “”, “”, “Mekgineer’s Chopper in Arenas”);
This will disable spell Mekgineer’s Chopper(60424) for players in all Arenas.
Example: INSERT INTO disables
VALUES (0, 60424, (1+128), “”, “”, “Mekgineer’s Chopper in Battlegrounds”);
This will disable spell Mekgineer’s Chopper(60424) for players in all Battlegrounds.
Example: INSERT INTO disables
VALUES (0, 60424, (1+64+128), “”, “”, “Mekgineer’s Chopper in Arenas and Battlegrounds”);
This will disable spell Mekgineer’s Chopper(60424) for players in all Arenas and Battlegrounds.
Can you create one pull request for this?
now this patch is part of core.