mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-03-15 13:35:08 +00:00
Core/Channels: allow to disable ownership of channels
This commit is contained in:
4
data/sql/updates/characters/2016_08_15_00.sql
Normal file
4
data/sql/updates/characters/2016_08_15_00.sql
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
ALTER TABLE characters_db_version CHANGE COLUMN 2016_08_12_00 2016_08_15_00 bit;
|
||||||
|
|
||||||
|
ALTER TABLE `channels`
|
||||||
|
ADD `ownership` tinyint(3) unsigned NOT NULL DEFAULT '1' AFTER `announce`;
|
||||||
@@ -25,9 +25,9 @@
|
|||||||
#include "AccountMgr.h"
|
#include "AccountMgr.h"
|
||||||
#include "Player.h"
|
#include "Player.h"
|
||||||
|
|
||||||
Channel::Channel(std::string const& name, uint32 channelId, uint32 channelDBId, TeamId teamId, bool announce):
|
Channel::Channel(std::string const& name, uint32 channelId, uint32 channelDBId, TeamId teamId, bool announce, bool ownership):
|
||||||
_announce(announce),
|
_announce(announce),
|
||||||
_ownership(true),
|
_ownership(ownership),
|
||||||
_IsSaved(false),
|
_IsSaved(false),
|
||||||
_flags(0),
|
_flags(0),
|
||||||
_channelId(channelId),
|
_channelId(channelId),
|
||||||
|
|||||||
@@ -187,7 +187,7 @@ class Channel
|
|||||||
};
|
};
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Channel(std::string const& name, uint32 channel_id, uint32 channelDBId, TeamId teamId = TEAM_NEUTRAL, bool announce = true);
|
Channel(std::string const& name, uint32 channel_id, uint32 channelDBId, TeamId teamId = TEAM_NEUTRAL, bool announce = true, bool ownership = true);
|
||||||
std::string const& GetName() const { return _name; }
|
std::string const& GetName() const { return _name; }
|
||||||
uint32 GetChannelId() const { return _channelId; }
|
uint32 GetChannelId() const { return _channelId; }
|
||||||
bool IsConstant() const { return _channelId != 0; }
|
bool IsConstant() const { return _channelId != 0; }
|
||||||
|
|||||||
@@ -48,7 +48,8 @@ void ChannelMgr::LoadChannels()
|
|||||||
uint32 oldMSTime = getMSTime();
|
uint32 oldMSTime = getMSTime();
|
||||||
uint32 count = 0;
|
uint32 count = 0;
|
||||||
|
|
||||||
QueryResult result = CharacterDatabase.PQuery("SELECT channelId, name, team, announce, password FROM channels WHERE team = %u ORDER BY channelId ASC", _teamId);
|
// 0 1 2 3 4 5
|
||||||
|
QueryResult result = CharacterDatabase.PQuery("SELECT channelId, name, team, announce, ownership, password FROM channels WHERE team = %u ORDER BY channelId ASC", _teamId);
|
||||||
if (!result)
|
if (!result)
|
||||||
{
|
{
|
||||||
sLog->outString(">> Loaded 0 channels for %s", _teamId == TEAM_ALLIANCE ? "Alliance" : "Horde");
|
sLog->outString(">> Loaded 0 channels for %s", _teamId == TEAM_ALLIANCE ? "Alliance" : "Horde");
|
||||||
@@ -64,11 +65,11 @@ void ChannelMgr::LoadChannels()
|
|||||||
|
|
||||||
uint32 channelDBId = fields[0].GetUInt32();
|
uint32 channelDBId = fields[0].GetUInt32();
|
||||||
std::string channelName = fields[1].GetString();
|
std::string channelName = fields[1].GetString();
|
||||||
std::string password = fields[4].GetString();
|
std::string password = fields[5].GetString();
|
||||||
std::wstring channelWName;
|
std::wstring channelWName;
|
||||||
Utf8toWStr(channelName, channelWName);
|
Utf8toWStr(channelName, channelWName);
|
||||||
|
|
||||||
Channel* newChannel = new Channel(channelName, 0, channelDBId, TeamId(fields[2].GetUInt32()), fields[3].GetUInt8());
|
Channel* newChannel = new Channel(channelName, 0, channelDBId, TeamId(fields[2].GetUInt32()), fields[3].GetUInt8(), fields[4].GetUInt8());
|
||||||
newChannel->SetPassword(password);
|
newChannel->SetPassword(password);
|
||||||
channels[channelWName] = newChannel;
|
channels[channelWName] = newChannel;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user