mirror of
https://github.com/mangosfour/server.git
synced 2025-12-14 07:37:01 +00:00
[6862] Some additional mangosd.conf options for player startup and gameplay customizing.
Signed-off-by: dythzer <micke223@gmail.com> Some implementations rewrited. And suggested option names changed. Also now gm not allowed logout instant in case fight/duel to prevent unexpected death. Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
parent
8dfbcf7ee6
commit
7ea5f922ea
8 changed files with 166 additions and 30 deletions
|
|
@ -745,6 +745,9 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder * holder)
|
||||||
if(sWorld.IsShutdowning())
|
if(sWorld.IsShutdowning())
|
||||||
sWorld.ShutdownMsg(true,pCurrChar);
|
sWorld.ShutdownMsg(true,pCurrChar);
|
||||||
|
|
||||||
|
if(sWorld.getConfig(CONFIG_ALL_TAXI_PATHS))
|
||||||
|
pCurrChar->SetTaxiCheater(true);
|
||||||
|
|
||||||
if(pCurrChar->isGameMaster())
|
if(pCurrChar->isGameMaster())
|
||||||
SendNotification(LANG_GM_ON);
|
SendNotification(LANG_GM_ON);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -274,13 +274,6 @@ void WorldSession::HandleLogoutRequestOpcode( WorldPacket & /*recv_data*/ )
|
||||||
if (uint64 lguid = GetPlayer()->GetLootGUID())
|
if (uint64 lguid = GetPlayer()->GetLootGUID())
|
||||||
DoLootRelease(lguid);
|
DoLootRelease(lguid);
|
||||||
|
|
||||||
//instant logout for admins, gm's, mod's
|
|
||||||
if( GetSecurity() > SEC_PLAYER )
|
|
||||||
{
|
|
||||||
LogoutPlayer(true);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Can not logout if...
|
//Can not logout if...
|
||||||
if( GetPlayer()->isInCombat() || //...is in combat
|
if( GetPlayer()->isInCombat() || //...is in combat
|
||||||
GetPlayer()->duel || //...is in Duel
|
GetPlayer()->duel || //...is in Duel
|
||||||
|
|
@ -296,8 +289,9 @@ void WorldSession::HandleLogoutRequestOpcode( WorldPacket & /*recv_data*/ )
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
//instant logout in taverns/cities or on taxi
|
//instant logout in taverns/cities or on taxi or for admins, gm's, mod's if its enabled in mangosd.conf
|
||||||
if(GetPlayer()->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_RESTING) || GetPlayer()->isInFlight())
|
if (GetPlayer()->HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_RESTING) || GetPlayer()->isInFlight() ||
|
||||||
|
GetSecurity() >= sWorld.getConfig(CONFIG_INSTANT_LOGOUT))
|
||||||
{
|
{
|
||||||
LogoutPlayer(true);
|
LogoutPlayer(true);
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -580,8 +580,15 @@ bool Player::Create( uint32 guidlow, std::string name, uint8 race, uint8 class_,
|
||||||
SetUInt32Value( PLAYER_FIELD_YESTERDAY_CONTRIBUTION, 0 );
|
SetUInt32Value( PLAYER_FIELD_YESTERDAY_CONTRIBUTION, 0 );
|
||||||
|
|
||||||
// set starting level
|
// set starting level
|
||||||
|
if (GetSession()->GetSecurity() >= SEC_MODERATOR)
|
||||||
|
SetUInt32Value (UNIT_FIELD_LEVEL, sWorld.getConfig(CONFIG_START_GM_LEVEL));
|
||||||
|
else
|
||||||
SetUInt32Value (UNIT_FIELD_LEVEL, sWorld.getConfig(CONFIG_START_PLAYER_LEVEL));
|
SetUInt32Value (UNIT_FIELD_LEVEL, sWorld.getConfig(CONFIG_START_PLAYER_LEVEL));
|
||||||
|
|
||||||
|
SetUInt32Value (PLAYER_FIELD_COINAGE, sWorld.getConfig(CONFIG_START_PLAYER_MONEY));
|
||||||
|
SetUInt32Value (PLAYER_FIELD_HONOR_CURRENCY, sWorld.getConfig(CONFIG_START_HONOR_POINTS));
|
||||||
|
SetUInt32Value (PLAYER_FIELD_ARENA_CURRENCY, sWorld.getConfig(CONFIG_START_ARENA_POINTS));
|
||||||
|
|
||||||
// Played time
|
// Played time
|
||||||
m_Last_tick = time(NULL);
|
m_Last_tick = time(NULL);
|
||||||
m_Played_time[0] = 0;
|
m_Played_time[0] = 0;
|
||||||
|
|
@ -809,8 +816,8 @@ void Player::HandleDrowning()
|
||||||
if(!m_isunderwater)
|
if(!m_isunderwater)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
//if have water breath , then remove bar
|
//if player is GM, have waterbreath, is dead or if breathing is disabled then return
|
||||||
if(waterbreath || isGameMaster() || !isAlive())
|
if(waterbreath || isGameMaster() || !isAlive() || GetSession()->GetSecurity() >= sWorld.getConfig(CONFIG_DISABLE_BREATHING))
|
||||||
{
|
{
|
||||||
StopMirrorTimer(BREATH_TIMER);
|
StopMirrorTimer(BREATH_TIMER);
|
||||||
m_isunderwater = 0;
|
m_isunderwater = 0;
|
||||||
|
|
@ -2149,7 +2156,7 @@ void Player::GiveLevel(uint32 level)
|
||||||
if(getLevel()!= level)
|
if(getLevel()!= level)
|
||||||
m_Played_time[1] = 0; // Level Played Time reset
|
m_Played_time[1] = 0; // Level Played Time reset
|
||||||
SetLevel(level);
|
SetLevel(level);
|
||||||
UpdateMaxSkills();
|
UpdateSkillsForLevel ();
|
||||||
|
|
||||||
// save base values (bonuses already included in stored stats
|
// save base values (bonuses already included in stored stats
|
||||||
for(int i = STAT_STRENGTH; i < MAX_STATS; ++i)
|
for(int i = STAT_STRENGTH; i < MAX_STATS; ++i)
|
||||||
|
|
@ -2222,7 +2229,7 @@ void Player::InitStatsForLevel(bool reapplyMods)
|
||||||
SetUInt32Value(PLAYER_FIELD_MAX_LEVEL, sWorld.getConfig(CONFIG_MAX_PLAYER_LEVEL) );
|
SetUInt32Value(PLAYER_FIELD_MAX_LEVEL, sWorld.getConfig(CONFIG_MAX_PLAYER_LEVEL) );
|
||||||
SetUInt32Value(PLAYER_NEXT_LEVEL_XP, MaNGOS::XP::xp_to_level(getLevel()));
|
SetUInt32Value(PLAYER_NEXT_LEVEL_XP, MaNGOS::XP::xp_to_level(getLevel()));
|
||||||
|
|
||||||
UpdateMaxSkills ();
|
UpdateSkillsForLevel ();
|
||||||
|
|
||||||
// set default cast time multiplier
|
// set default cast time multiplier
|
||||||
SetFloatValue(UNIT_MOD_CAST_SPEED, 1.0f);
|
SetFloatValue(UNIT_MOD_CAST_SPEED, 1.0f);
|
||||||
|
|
@ -3729,7 +3736,7 @@ void Player::ResurrectPlayer(float restore_percent, bool applySickness)
|
||||||
// some items limited to specific map
|
// some items limited to specific map
|
||||||
DestroyZoneLimitedItem( true, GetZoneId());
|
DestroyZoneLimitedItem( true, GetZoneId());
|
||||||
|
|
||||||
if(!applySickness || getLevel() <= 10)
|
if(!applySickness)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
//Characters from level 1-10 are not affected by resurrection sickness.
|
//Characters from level 1-10 are not affected by resurrection sickness.
|
||||||
|
|
@ -4849,9 +4856,12 @@ void Player::ModifySkillBonus(uint32 skillid,int32 val, bool talent)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Player::UpdateMaxSkills()
|
void Player::UpdateSkillsForLevel()
|
||||||
{
|
{
|
||||||
uint16 maxconfskill = sWorld.GetConfigMaxSkillValue();
|
uint16 maxconfskill = sWorld.GetConfigMaxSkillValue();
|
||||||
|
uint32 maxSkill = GetMaxSkillValueForLevel();
|
||||||
|
|
||||||
|
bool alwaysMaxSkill = sWorld.getConfig(CONFIG_ALWAYS_MAX_SKILL_FOR_LEVEL);
|
||||||
|
|
||||||
for (uint16 i=0; i < PLAYER_MAX_SKILLS; i++)
|
for (uint16 i=0; i < PLAYER_MAX_SKILLS; i++)
|
||||||
if (GetUInt32Value(PLAYER_SKILL_INDEX(i)))
|
if (GetUInt32Value(PLAYER_SKILL_INDEX(i)))
|
||||||
|
|
@ -4869,11 +4879,15 @@ void Player::UpdateMaxSkills()
|
||||||
uint32 max = SKILL_MAX(data);
|
uint32 max = SKILL_MAX(data);
|
||||||
uint32 val = SKILL_VALUE(data);
|
uint32 val = SKILL_VALUE(data);
|
||||||
|
|
||||||
// update only level dependent max skill values
|
/// update only level dependent max skill values
|
||||||
if(max!=1 && max != maxconfskill)
|
if(max!=1)
|
||||||
{
|
{
|
||||||
uint32 max_Skill = GetMaxSkillValueForLevel();
|
/// miximize skill always
|
||||||
SetUInt32Value(PLAYER_SKILL_VALUE_INDEX(i),MAKE_SKILL_VALUE(val,max_Skill));
|
if(alwaysMaxSkill)
|
||||||
|
SetUInt32Value(PLAYER_SKILL_VALUE_INDEX(i),MAKE_SKILL_VALUE(maxSkill,maxSkill));
|
||||||
|
/// update max skill value if current max skill not maximized
|
||||||
|
else if(max != maxconfskill)
|
||||||
|
SetUInt32Value(PLAYER_SKILL_VALUE_INDEX(i),MAKE_SKILL_VALUE(val,maxSkill));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1713,7 +1713,7 @@ class MANGOS_DLL_SPEC Player : public Unit
|
||||||
void SetFactionVisible(FactionState* faction);
|
void SetFactionVisible(FactionState* faction);
|
||||||
void SetFactionVisibleForFactionTemplateId(uint32 FactionTemplateId);
|
void SetFactionVisibleForFactionTemplateId(uint32 FactionTemplateId);
|
||||||
void SetFactionVisibleForFactionId(uint32 FactionId);
|
void SetFactionVisibleForFactionId(uint32 FactionId);
|
||||||
void UpdateMaxSkills();
|
void UpdateSkillsForLevel();
|
||||||
void UpdateSkillsToMaxSkillsForLevel(); // for .levelup
|
void UpdateSkillsToMaxSkillsForLevel(); // for .levelup
|
||||||
void ModifySkillBonus(uint32 skillid,int32 val, bool talent);
|
void ModifySkillBonus(uint32 skillid,int32 val, bool talent);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -664,8 +664,63 @@ void World::LoadConfigSettings(bool reload)
|
||||||
sLog.outError("StartPlayerLevel (%i) must be in range 1..MaxPlayerLevel(%u). Set to %u.",m_configs[CONFIG_START_PLAYER_LEVEL],m_configs[CONFIG_MAX_PLAYER_LEVEL],m_configs[CONFIG_MAX_PLAYER_LEVEL]);
|
sLog.outError("StartPlayerLevel (%i) must be in range 1..MaxPlayerLevel(%u). Set to %u.",m_configs[CONFIG_START_PLAYER_LEVEL],m_configs[CONFIG_MAX_PLAYER_LEVEL],m_configs[CONFIG_MAX_PLAYER_LEVEL]);
|
||||||
m_configs[CONFIG_START_PLAYER_LEVEL] = m_configs[CONFIG_MAX_PLAYER_LEVEL];
|
m_configs[CONFIG_START_PLAYER_LEVEL] = m_configs[CONFIG_MAX_PLAYER_LEVEL];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_configs[CONFIG_START_PLAYER_MONEY] = sConfig.GetIntDefault("StartPlayerMoney", 0);
|
||||||
|
if(m_configs[CONFIG_START_PLAYER_MONEY] < 0)
|
||||||
|
{
|
||||||
|
sLog.outError("StartPlayerMoney (%i) must be in range 0..%u. Set to %u.",m_configs[CONFIG_START_PLAYER_MONEY],MAX_MONEY_AMOUNT,0);
|
||||||
|
m_configs[CONFIG_START_PLAYER_MONEY] = 0;
|
||||||
|
}
|
||||||
|
else if(m_configs[CONFIG_START_PLAYER_MONEY] > MAX_MONEY_AMOUNT)
|
||||||
|
{
|
||||||
|
sLog.outError("StartPlayerMoney (%i) must be in range 0..%u. Set to %u.",
|
||||||
|
m_configs[CONFIG_START_PLAYER_MONEY],MAX_MONEY_AMOUNT,MAX_MONEY_AMOUNT);
|
||||||
|
m_configs[CONFIG_START_PLAYER_MONEY] = MAX_MONEY_AMOUNT;
|
||||||
|
}
|
||||||
|
|
||||||
m_configs[CONFIG_MAX_HONOR_POINTS] = sConfig.GetIntDefault("MaxHonorPoints", 75000);
|
m_configs[CONFIG_MAX_HONOR_POINTS] = sConfig.GetIntDefault("MaxHonorPoints", 75000);
|
||||||
|
if(m_configs[CONFIG_MAX_HONOR_POINTS] < 0)
|
||||||
|
{
|
||||||
|
sLog.outError("MaxHonorPoints (%i) can't be negative. Set to 0.",m_configs[CONFIG_MAX_HONOR_POINTS]);
|
||||||
|
m_configs[CONFIG_MAX_HONOR_POINTS] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_configs[CONFIG_START_HONOR_POINTS] = sConfig.GetIntDefault("StartHonorPoints", 0);
|
||||||
|
if(m_configs[CONFIG_START_HONOR_POINTS] < 0)
|
||||||
|
{
|
||||||
|
sLog.outError("StartHonorPoints (%i) must be in range 0..MaxHonorPoints(%u). Set to %u.",
|
||||||
|
m_configs[CONFIG_START_HONOR_POINTS],m_configs[CONFIG_MAX_HONOR_POINTS],0);
|
||||||
|
m_configs[CONFIG_MAX_HONOR_POINTS] = 0;
|
||||||
|
}
|
||||||
|
else if(m_configs[CONFIG_START_HONOR_POINTS] > m_configs[CONFIG_MAX_HONOR_POINTS])
|
||||||
|
{
|
||||||
|
sLog.outError("StartHonorPoints (%i) must be in range 0..MaxHonorPoints(%u). Set to %u.",
|
||||||
|
m_configs[CONFIG_START_HONOR_POINTS],m_configs[CONFIG_MAX_HONOR_POINTS],m_configs[CONFIG_MAX_HONOR_POINTS]);
|
||||||
|
m_configs[CONFIG_START_HONOR_POINTS] = m_configs[CONFIG_MAX_HONOR_POINTS];
|
||||||
|
}
|
||||||
|
|
||||||
m_configs[CONFIG_MAX_ARENA_POINTS] = sConfig.GetIntDefault("MaxArenaPoints", 5000);
|
m_configs[CONFIG_MAX_ARENA_POINTS] = sConfig.GetIntDefault("MaxArenaPoints", 5000);
|
||||||
|
if(m_configs[CONFIG_MAX_ARENA_POINTS] < 0)
|
||||||
|
{
|
||||||
|
sLog.outError("MaxArenaPoints (%i) can't be negative. Set to 0.",m_configs[CONFIG_MAX_ARENA_POINTS]);
|
||||||
|
m_configs[CONFIG_MAX_ARENA_POINTS] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_configs[CONFIG_START_ARENA_POINTS] = sConfig.GetIntDefault("StartArenaPoints", 0);
|
||||||
|
if(m_configs[CONFIG_START_ARENA_POINTS] < 0)
|
||||||
|
{
|
||||||
|
sLog.outError("StartArenaPoints (%i) must be in range 0..MaxArenaPoints(%u). Set to %u.",
|
||||||
|
m_configs[CONFIG_START_ARENA_POINTS],m_configs[CONFIG_MAX_ARENA_POINTS],0);
|
||||||
|
m_configs[CONFIG_MAX_ARENA_POINTS] = 0;
|
||||||
|
}
|
||||||
|
else if(m_configs[CONFIG_START_ARENA_POINTS] > m_configs[CONFIG_MAX_ARENA_POINTS])
|
||||||
|
{
|
||||||
|
sLog.outError("StartArenaPoints (%i) must be in range 0..MaxArenaPoints(%u). Set to %u.",
|
||||||
|
m_configs[CONFIG_START_ARENA_POINTS],m_configs[CONFIG_MAX_ARENA_POINTS],m_configs[CONFIG_MAX_ARENA_POINTS]);
|
||||||
|
m_configs[CONFIG_START_ARENA_POINTS] = m_configs[CONFIG_MAX_ARENA_POINTS];
|
||||||
|
}
|
||||||
|
|
||||||
|
m_configs[CONFIG_ALL_TAXI_PATHS] = sConfig.GetBoolDefault("AllFlightPaths", false);
|
||||||
|
|
||||||
m_configs[CONFIG_INSTANCE_IGNORE_LEVEL] = sConfig.GetBoolDefault("Instance.IgnoreLevel", false);
|
m_configs[CONFIG_INSTANCE_IGNORE_LEVEL] = sConfig.GetBoolDefault("Instance.IgnoreLevel", false);
|
||||||
m_configs[CONFIG_INSTANCE_IGNORE_RAID] = sConfig.GetBoolDefault("Instance.IgnoreRaid", false);
|
m_configs[CONFIG_INSTANCE_IGNORE_RAID] = sConfig.GetBoolDefault("Instance.IgnoreRaid", false);
|
||||||
|
|
@ -695,6 +750,19 @@ void World::LoadConfigSettings(bool reload)
|
||||||
m_configs[CONFIG_GM_IN_WHO_LIST] = sConfig.GetBoolDefault("GM.InWhoList",false);
|
m_configs[CONFIG_GM_IN_WHO_LIST] = sConfig.GetBoolDefault("GM.InWhoList",false);
|
||||||
m_configs[CONFIG_GM_LOG_TRADE] = sConfig.GetBoolDefault("GM.LogTrade", false);
|
m_configs[CONFIG_GM_LOG_TRADE] = sConfig.GetBoolDefault("GM.LogTrade", false);
|
||||||
|
|
||||||
|
m_configs[CONFIG_START_GM_LEVEL] = sConfig.GetIntDefault("GM.StartLevel", 1);
|
||||||
|
if(m_configs[CONFIG_START_GM_LEVEL] < m_configs[CONFIG_START_PLAYER_LEVEL])
|
||||||
|
{
|
||||||
|
sLog.outError("GM.StartLevel (%i) must be in range StartPlayerLevel(%u)..255. Set to %u.",
|
||||||
|
m_configs[CONFIG_START_GM_LEVEL],m_configs[CONFIG_START_PLAYER_LEVEL],m_configs[CONFIG_START_PLAYER_LEVEL]);
|
||||||
|
m_configs[CONFIG_START_GM_LEVEL] = m_configs[CONFIG_START_PLAYER_LEVEL];
|
||||||
|
}
|
||||||
|
else if(m_configs[CONFIG_START_GM_LEVEL] > 255)
|
||||||
|
{
|
||||||
|
sLog.outError("GM.StartLevel (%i) must be in range 1..255. Set to %u.",m_configs[CONFIG_START_GM_LEVEL],255);
|
||||||
|
m_configs[CONFIG_START_GM_LEVEL] = 255;
|
||||||
|
}
|
||||||
|
|
||||||
m_configs[CONFIG_GROUP_VISIBILITY] = sConfig.GetIntDefault("Visibility.GroupMode",0);
|
m_configs[CONFIG_GROUP_VISIBILITY] = sConfig.GetIntDefault("Visibility.GroupMode",0);
|
||||||
|
|
||||||
m_configs[CONFIG_MAIL_DELIVERY_DELAY] = sConfig.GetIntDefault("MailDeliveryDelay",HOUR);
|
m_configs[CONFIG_MAIL_DELIVERY_DELAY] = sConfig.GetIntDefault("MailDeliveryDelay",HOUR);
|
||||||
|
|
@ -759,6 +827,10 @@ void World::LoadConfigSettings(bool reload)
|
||||||
m_configs[CONFIG_SAVE_RESPAWN_TIME_IMMEDIATLY] = sConfig.GetBoolDefault("SaveRespawnTimeImmediately",true);
|
m_configs[CONFIG_SAVE_RESPAWN_TIME_IMMEDIATLY] = sConfig.GetBoolDefault("SaveRespawnTimeImmediately",true);
|
||||||
m_configs[CONFIG_WEATHER] = sConfig.GetBoolDefault("ActivateWeather",true);
|
m_configs[CONFIG_WEATHER] = sConfig.GetBoolDefault("ActivateWeather",true);
|
||||||
|
|
||||||
|
m_configs[CONFIG_DISABLE_BREATHING] = sConfig.GetIntDefault("DisableWaterBreath", SEC_CONSOLE);
|
||||||
|
|
||||||
|
m_configs[CONFIG_ALWAYS_MAX_SKILL_FOR_LEVEL] = sConfig.GetBoolDefault("AlwaysMaxSkillForLevel", false);
|
||||||
|
|
||||||
if(reload)
|
if(reload)
|
||||||
{
|
{
|
||||||
uint32 val = sConfig.GetIntDefault("Expansion",1);
|
uint32 val = sConfig.GetIntDefault("Expansion",1);
|
||||||
|
|
@ -815,6 +887,8 @@ void World::LoadConfigSettings(bool reload)
|
||||||
m_configs[CONFIG_LISTEN_RANGE_TEXTEMOTE] = sConfig.GetIntDefault("ListenRange.TextEmote", 25);
|
m_configs[CONFIG_LISTEN_RANGE_TEXTEMOTE] = sConfig.GetIntDefault("ListenRange.TextEmote", 25);
|
||||||
m_configs[CONFIG_LISTEN_RANGE_YELL] = sConfig.GetIntDefault("ListenRange.Yell", 300);
|
m_configs[CONFIG_LISTEN_RANGE_YELL] = sConfig.GetIntDefault("ListenRange.Yell", 300);
|
||||||
|
|
||||||
|
m_configs[CONFIG_INSTANT_LOGOUT] = sConfig.GetIntDefault("InstantLogout", SEC_MODERATOR);
|
||||||
|
|
||||||
m_VisibleUnitGreyDistance = sConfig.GetFloatDefault("Visibility.Distance.Grey.Unit", 1);
|
m_VisibleUnitGreyDistance = sConfig.GetFloatDefault("Visibility.Distance.Grey.Unit", 1);
|
||||||
if(m_VisibleUnitGreyDistance > MAX_VISIBILITY_DISTANCE)
|
if(m_VisibleUnitGreyDistance > MAX_VISIBILITY_DISTANCE)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -103,8 +103,11 @@ enum WorldConfigs
|
||||||
CONFIG_SKIP_CINEMATICS,
|
CONFIG_SKIP_CINEMATICS,
|
||||||
CONFIG_MAX_PLAYER_LEVEL,
|
CONFIG_MAX_PLAYER_LEVEL,
|
||||||
CONFIG_START_PLAYER_LEVEL,
|
CONFIG_START_PLAYER_LEVEL,
|
||||||
|
CONFIG_START_PLAYER_MONEY,
|
||||||
CONFIG_MAX_HONOR_POINTS,
|
CONFIG_MAX_HONOR_POINTS,
|
||||||
|
CONFIG_START_HONOR_POINTS,
|
||||||
CONFIG_MAX_ARENA_POINTS,
|
CONFIG_MAX_ARENA_POINTS,
|
||||||
|
CONFIG_START_ARENA_POINTS,
|
||||||
CONFIG_INSTANCE_IGNORE_LEVEL,
|
CONFIG_INSTANCE_IGNORE_LEVEL,
|
||||||
CONFIG_INSTANCE_IGNORE_RAID,
|
CONFIG_INSTANCE_IGNORE_RAID,
|
||||||
CONFIG_BATTLEGROUND_CAST_DESERTER,
|
CONFIG_BATTLEGROUND_CAST_DESERTER,
|
||||||
|
|
@ -122,6 +125,7 @@ enum WorldConfigs
|
||||||
CONFIG_GM_IN_GM_LIST,
|
CONFIG_GM_IN_GM_LIST,
|
||||||
CONFIG_GM_IN_WHO_LIST,
|
CONFIG_GM_IN_WHO_LIST,
|
||||||
CONFIG_GM_LOG_TRADE,
|
CONFIG_GM_LOG_TRADE,
|
||||||
|
CONFIG_START_GM_LEVEL,
|
||||||
CONFIG_GROUP_VISIBILITY,
|
CONFIG_GROUP_VISIBILITY,
|
||||||
CONFIG_MAIL_DELIVERY_DELAY,
|
CONFIG_MAIL_DELIVERY_DELAY,
|
||||||
CONFIG_UPTIME_UPDATE,
|
CONFIG_UPTIME_UPDATE,
|
||||||
|
|
@ -138,6 +142,7 @@ enum WorldConfigs
|
||||||
CONFIG_SKILL_GAIN_WEAPON,
|
CONFIG_SKILL_GAIN_WEAPON,
|
||||||
CONFIG_MAX_OVERSPEED_PINGS,
|
CONFIG_MAX_OVERSPEED_PINGS,
|
||||||
CONFIG_SAVE_RESPAWN_TIME_IMMEDIATLY,
|
CONFIG_SAVE_RESPAWN_TIME_IMMEDIATLY,
|
||||||
|
CONFIG_ALWAYS_MAX_SKILL_FOR_LEVEL,
|
||||||
CONFIG_WEATHER,
|
CONFIG_WEATHER,
|
||||||
CONFIG_EXPANSION,
|
CONFIG_EXPANSION,
|
||||||
CONFIG_CHATFLOOD_MESSAGE_COUNT,
|
CONFIG_CHATFLOOD_MESSAGE_COUNT,
|
||||||
|
|
@ -164,6 +169,9 @@ enum WorldConfigs
|
||||||
CONFIG_DEATH_CORPSE_RECLAIM_DELAY_PVP,
|
CONFIG_DEATH_CORPSE_RECLAIM_DELAY_PVP,
|
||||||
CONFIG_DEATH_CORPSE_RECLAIM_DELAY_PVE,
|
CONFIG_DEATH_CORPSE_RECLAIM_DELAY_PVE,
|
||||||
CONFIG_THREAT_RADIUS,
|
CONFIG_THREAT_RADIUS,
|
||||||
|
CONFIG_INSTANT_LOGOUT,
|
||||||
|
CONFIG_DISABLE_BREATHING,
|
||||||
|
CONFIG_ALL_TAXI_PATHS,
|
||||||
CONFIG_DECLINED_NAMES_USED,
|
CONFIG_DECLINED_NAMES_USED,
|
||||||
CONFIG_LISTEN_RANGE_SAY,
|
CONFIG_LISTEN_RANGE_SAY,
|
||||||
CONFIG_LISTEN_RANGE_TEXTEMOTE,
|
CONFIG_LISTEN_RANGE_TEXTEMOTE,
|
||||||
|
|
|
||||||
|
|
@ -419,17 +419,48 @@ LogColors = ""
|
||||||
# Change not recommended
|
# Change not recommended
|
||||||
# Default: 70
|
# Default: 70
|
||||||
#
|
#
|
||||||
|
# StartPlayerLevel
|
||||||
|
# Staring level that have character at creating (in range 1 to MaxPlayerLevel)
|
||||||
|
# Default: 1
|
||||||
|
#
|
||||||
|
# StartPlayerMoney
|
||||||
|
# Amount of money that new players will start with.
|
||||||
|
# If you want to start with silver, use for example 100 (100 copper = 1 silver)
|
||||||
|
# Default: 0
|
||||||
|
#
|
||||||
# MaxHonorPoints
|
# MaxHonorPoints
|
||||||
# Max honor points that player can have.
|
# Max honor points that player can have.
|
||||||
# Default: 75000
|
# Default: 75000
|
||||||
#
|
#
|
||||||
|
# StartHonorPoints
|
||||||
|
# Amount of honor that new players will start with
|
||||||
|
# Default: 0
|
||||||
|
#
|
||||||
# MaxArenaPoints
|
# MaxArenaPoints
|
||||||
# Max arena points that player can have.
|
# Max arena points that player can have.
|
||||||
# Default: 5000
|
# Default: 5000
|
||||||
#
|
#
|
||||||
# StartPlayerLevel
|
# StartArenaPoints
|
||||||
# Staring level that have character at creating (in range 1 to MaxPlayerLevel)
|
# Amount of arena points that new players will start with
|
||||||
# Default: 1
|
# Default: 0
|
||||||
|
#
|
||||||
|
# InstantLogout
|
||||||
|
# Enable or disable instant logout for security level (0..4) or high (NOT in combat/while dueling/while falling)
|
||||||
|
# Default: 1 (Mods/GMs/Admins)
|
||||||
|
#
|
||||||
|
# DisableWaterBreath
|
||||||
|
# Disable/enable waterbreathing for security level (0..4) or high
|
||||||
|
# Default: 4 (None)
|
||||||
|
#
|
||||||
|
# AllFlightPaths
|
||||||
|
# Players will start with all flight paths (Note: ALL flight paths, not only player's team)
|
||||||
|
# Default: 0 (true)
|
||||||
|
# 1 (false)
|
||||||
|
#
|
||||||
|
# AlwaysMaxSkillForLevel
|
||||||
|
# Players will automatically gain max level dependent (weapon/defense) skill when logging in, leveling up etc.
|
||||||
|
# Default: 0 (true)
|
||||||
|
# 1 (false)
|
||||||
#
|
#
|
||||||
# ActivateWeather
|
# ActivateWeather
|
||||||
# Activate weather system
|
# Activate weather system
|
||||||
|
|
@ -536,9 +567,16 @@ CharactersPerAccount = 50
|
||||||
CharactersPerRealm = 10
|
CharactersPerRealm = 10
|
||||||
SkipCinematics = 0
|
SkipCinematics = 0
|
||||||
MaxPlayerLevel = 70
|
MaxPlayerLevel = 70
|
||||||
MaxHonorPoints = 75000
|
|
||||||
MaxArenaPoints = 5000
|
|
||||||
StartPlayerLevel = 1
|
StartPlayerLevel = 1
|
||||||
|
StartPlayerMoney = 0
|
||||||
|
MaxHonorPoints = 75000
|
||||||
|
StartHonorPoints = 0
|
||||||
|
MaxArenaPoints = 5000
|
||||||
|
StartArenaPoints = 0
|
||||||
|
InstantLogout = 1
|
||||||
|
DisableWaterBreath = 4
|
||||||
|
AllFlightPaths = 0
|
||||||
|
AlwaysMaxSkillForLevel = 0
|
||||||
ActivateWeather = 1
|
ActivateWeather = 1
|
||||||
Battleground.CastDeserter = 1
|
Battleground.CastDeserter = 1
|
||||||
Battleground.QueueAnnouncer.Enable = 1
|
Battleground.QueueAnnouncer.Enable = 1
|
||||||
|
|
@ -798,6 +836,10 @@ Channel.SilentlyGMJoin = 0
|
||||||
# Default: 1 (include)
|
# Default: 1 (include)
|
||||||
# 0 (not include)
|
# 0 (not include)
|
||||||
#
|
#
|
||||||
|
# GM.StartLevel
|
||||||
|
# GM starting level (1-255)
|
||||||
|
# Default: 1
|
||||||
|
#
|
||||||
###################################################################################################################
|
###################################################################################################################
|
||||||
|
|
||||||
GM.LoginState = 2
|
GM.LoginState = 2
|
||||||
|
|
@ -807,6 +849,7 @@ GM.WhisperingTo = 2
|
||||||
GM.InGMList = 0
|
GM.InGMList = 0
|
||||||
GM.InWhoList = 0
|
GM.InWhoList = 0
|
||||||
GM.LogTrade = 1
|
GM.LogTrade = 1
|
||||||
|
GM.StartLevel = 1
|
||||||
|
|
||||||
###################################################################################################################
|
###################################################################################################################
|
||||||
# VISIBILITY AND RADIUSES
|
# VISIBILITY AND RADIUSES
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "6861"
|
#define REVISION_NR "6862"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue