*Implemented configurable flying mount use on maps - by Zor

--HG--
branch : trunk
This commit is contained in:
Blaymoira
2009-01-18 18:29:55 +01:00
parent 1f3e051d22
commit 85f171307f
4 changed files with 50 additions and 3 deletions
+22 -2
View File
@@ -4168,9 +4168,29 @@ uint8 Spell::CanCast(bool strict)
// not allow cast fly spells at old maps by players (all spells is self target)
if(m_caster->GetTypeId()==TYPEID_PLAYER)
{
if( !((Player*)m_caster)->isGameMaster() &&
GetVirtualMapForMapAndZone(m_caster->GetMapId(),m_caster->GetZoneId()) != 530)
if(!((Player*)m_caster)->isGameMaster())
{
uint32 v_map = GetVirtualMapForMapAndZone(m_caster->GetMapId(),m_caster->GetZoneId());
switch(v_map)
{
case 0:
case 1:
{
if (!sWorld.getConfig(CONFIG_FLYING_MOUNTS_AZEROTH))
return SPELL_FAILED_NOT_HERE;
} break;
case 530:
{
if (!sWorld.getConfig(CONFIG_FLYING_MOUNTS_OUTLAND))
return SPELL_FAILED_NOT_HERE;
} break;
default:
{
if (!sWorld.getConfig(CONFIG_FLYING_MOUNTS_OTHERS))
return SPELL_FAILED_NOT_HERE;
} break;
}
}
}
break;
+5
View File
@@ -526,6 +526,11 @@ void World::LoadConfigSettings(bool reload)
///- Read other configuration items from the config file
///- Do we allow flying mounts in Azeroth/Outland and others (others being instances, BGs, arenas)?
m_configs[CONFIG_FLYING_MOUNTS_AZEROTH] = sConfig.GetBoolDefault("FlyingMounts.Azeroth", false);
m_configs[CONFIG_FLYING_MOUNTS_OUTLAND] = sConfig.GetBoolDefault("FlyingMounts.Outland", true);
m_configs[CONFIG_FLYING_MOUNTS_OTHERS] = sConfig.GetBoolDefault("FlyingMounts.Others", false);
m_configs[CONFIG_COMPRESSION] = sConfig.GetIntDefault("Compression", 1);
if(m_configs[CONFIG_COMPRESSION] < 1 || m_configs[CONFIG_COMPRESSION] > 9)
{
+4
View File
@@ -184,6 +184,10 @@ enum WorldConfigs
CONFIG_ARENA_AUTO_DISTRIBUTE_INTERVAL_DAYS,
CONFIG_BATTLEGROUND_PREMATURE_FINISH_TIMER,
CONFIG_FLYING_MOUNTS_AZEROTH,
CONFIG_FLYING_MOUNTS_OUTLAND,
CONFIG_FLYING_MOUNTS_OTHERS,
CONFIG_MAX_WHO,
CONFIG_BG_START_MUSIC,
CONFIG_START_ALL_SPELLS,
+18
View File
@@ -502,6 +502,21 @@ LogColors = ""
# Default: 0 (false)
# 1 (true)
#
# FlyingMounts.Azeroth
# Enable/disable flying mounts in Azeroth (map 0 and 1).
# Default: 0 - off
# 1 - on (may be crashy)
#
# FlyingMounts.Outland
# Enable/disable flying mounts in Outland (map 530).
# Default: 1 - on
# 0 - off
#
# FlyingMounts.Others
# Enable/disable flying mounts in other maps (instances, arenas, BGs, etc).
# Default: 0 - off
# 1 - on (may be crashy)
#
# CastUnstuck
# Allow cast or not Unstuck spell at .start or client Help option use
# Default: 1 (true)
@@ -607,6 +622,9 @@ ActivateWeather = 1
Battleground.CastDeserter = 1
Battleground.QueueAnnouncer.Enable = 1
Battleground.QueueAnnouncer.PlayerOnly = 0
FlyingMounts.Azeroth = 0
FlyingMounts.Outland = 1
FlyingMounts.Others = 0
CastUnstuck = 1
Instance.IgnoreLevel = 0
Instance.IgnoreRaid = 0