diff options
author | Shauren <shauren.trinity@gmail.com> | 2011-01-24 16:12:02 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2011-01-24 16:12:02 +0100 |
commit | 867bc197efbdcf24bf063e842c91c12bba8b0c4c (patch) | |
tree | 141e42e14e72ae5306dc992e23b1c95ed7160de1 /src | |
parent | 820f87f365489607dfb7a0e87d7e86c44557518f (diff) |
Core/Instances: Made the max amount of instances player can enter within hour configurable and fixed typo in instance packing/cleaning query
Diffstat (limited to 'src')
-rwxr-xr-x | src/server/game/Entities/Player/Player.h | 4 | ||||
-rwxr-xr-x | src/server/game/Instances/InstanceSaveMgr.cpp | 2 | ||||
-rwxr-xr-x | src/server/game/World/World.cpp | 3 | ||||
-rwxr-xr-x | src/server/game/World/World.h | 1 | ||||
-rw-r--r-- | src/server/worldserver/worldserver.conf.dist | 7 |
5 files changed, 13 insertions, 4 deletions
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 1e736fee32d..11e7cbd3e98 100755 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -132,8 +132,6 @@ struct SpellCooldown }; typedef std::map<uint32, SpellCooldown> SpellCooldowns; - -#define MAX_INSTANCES_PER_HOUR 5 typedef UNORDERED_MAP<uint32 /*instanceId*/, time_t/*releaseTime*/> InstanceTimeMap; enum TrainerSpellState @@ -2312,7 +2310,7 @@ class Player : public Unit, public GridObject<Player> bool CheckInstanceLoginValid(); bool CheckInstanceCount(uint32 instanceId) const { - if (_instanceResetTimes.size() < MAX_INSTANCES_PER_HOUR) + if (_instanceResetTimes.size() < sWorld->getIntConfig(CONFIG_MAX_INSTANCES_PER_HOUR)) return true; return _instanceResetTimes.find(instanceId) != _instanceResetTimes.end(); } diff --git a/src/server/game/Instances/InstanceSaveMgr.cpp b/src/server/game/Instances/InstanceSaveMgr.cpp index 30fc849cf6a..b4605cd288a 100755 --- a/src/server/game/Instances/InstanceSaveMgr.cpp +++ b/src/server/game/Instances/InstanceSaveMgr.cpp @@ -278,7 +278,7 @@ void InstanceSaveManager::CleanupAndPackInstances() CharacterDatabase.DirectExecute("ALTER TABLE instance ADD newid INT UNSIGNED AUTO_INCREMENT, ADD INDEX(newid)"); // Update old ids - CharacterDatabase.DirectExecute("UPDATE account_instance_times AS tmp LEFT JOIN instance ON tmp.instanceId = instance.id SET tmp.instance = instance.newid WHERE tmp.instanceId > 0"); + CharacterDatabase.DirectExecute("UPDATE account_instance_times AS tmp LEFT JOIN instance ON tmp.instanceId = instance.id SET tmp.instanceId = instance.newid WHERE tmp.instanceId > 0"); CharacterDatabase.DirectExecute("UPDATE corpse AS tmp LEFT JOIN instance ON tmp.instance = instance.id SET tmp.instance = instance.newid WHERE tmp.instance > 0"); CharacterDatabase.DirectExecute("UPDATE character_instance AS tmp LEFT JOIN instance ON tmp.instance = instance.id SET tmp.instance = instance.newid WHERE tmp.instance > 0"); CharacterDatabase.DirectExecute("UPDATE group_instance AS tmp LEFT JOIN instance ON tmp.instance = instance.id SET tmp.instance = instance.newid WHERE tmp.instance > 0"); diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 58d71f7046c..08193860413 100755 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -1171,6 +1171,9 @@ void World::LoadConfigSettings(bool reload) // DBC_ItemAttributes m_bool_configs[CONFIG_DBC_ENFORCE_ITEM_ATTRIBUTES] = sConfig->GetBoolDefault("DBC.EnforceItemAttributes", true); + // Max instances per hour + m_int_configs[CONFIG_MAX_INSTANCES_PER_HOUR] = sConfig->GetIntDefault("AccountInstancesPerHour", 5); + // AutoBroadcast m_bool_configs[CONFIG_AUTOBROADCAST] = sConfig->GetBoolDefault("AutoBroadcast.On", false); m_int_configs[CONFIG_AUTOBROADCAST_CENTER] = sConfig->GetIntDefault("AutoBroadcast.Center", 0); diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h index 87c37b0c12c..7e052ed2dae 100755 --- a/src/server/game/World/World.h +++ b/src/server/game/World/World.h @@ -309,6 +309,7 @@ enum WorldIntConfigs CONFIG_DB_PING_INTERVAL, CONFIG_PRESERVE_CUSTOM_CHANNEL_DURATION, CONFIG_PERSISTENT_CHARACTER_CLEAN_FLAGS, + CONFIG_MAX_INSTANCES_PER_HOUR, INT_CONFIG_VALUE_COUNT }; diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist index 188d6d800a6..d0ccc619985 100644 --- a/src/server/worldserver/worldserver.conf.dist +++ b/src/server/worldserver/worldserver.conf.dist @@ -1373,6 +1373,13 @@ DungeonFinder.Enable = 0 DBC.EnforceItemAttributes = 1 # +# AccountInstancesPerHour +# Description: Controls the max amount of different instances player can enter within hour +# Default: 5 + +AccountInstancesPerHour = 5 + +# ################################################################################################### ################################################################################################### |