mirror of
https://github.com/mangosfour/server.git
synced 2025-12-17 07:37:03 +00:00
[7026] Current arena season id and state send and setting in mangosd.conf.
Also classes and DB data for new batlegrounds/arena. Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
parent
d65458b0de
commit
5332b4496d
21 changed files with 490 additions and 17 deletions
|
|
@ -22,7 +22,7 @@
|
||||||
DROP TABLE IF EXISTS `db_version`;
|
DROP TABLE IF EXISTS `db_version`;
|
||||||
CREATE TABLE `db_version` (
|
CREATE TABLE `db_version` (
|
||||||
`version` varchar(120) default NULL,
|
`version` varchar(120) default NULL,
|
||||||
`required_7024_01_mangos_spell_chain` bit(1) default NULL
|
`required_7026_01_mangos_battleground_template` bit(1) default NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes';
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Used DB version notes';
|
||||||
|
|
||||||
--
|
--
|
||||||
|
|
@ -160,7 +160,10 @@ INSERT INTO `battleground_template` VALUES
|
||||||
(5,0,2,10,70,939,0,940,3.14159),
|
(5,0,2,10,70,939,0,940,3.14159),
|
||||||
(6,0,2,10,70,0,0,0,0),
|
(6,0,2,10,70,0,0,0,0),
|
||||||
(7,0,0,0,0,1103,3.40156,1104,0.263892),
|
(7,0,0,0,0,1103,3.40156,1104,0.263892),
|
||||||
(8,0,2,10,70,1258,0,1259,3.14159);
|
(8,0,2,10,70,1258,0,1259,3.14159),
|
||||||
|
(9,0,0,0,0,1367,0,1368,0),
|
||||||
|
(10,5,5,10,80,1362,0,1363,0),
|
||||||
|
(11,5,5,10,80,1364,0,1365,0);
|
||||||
/*!40000 ALTER TABLE `battleground_template` ENABLE KEYS */;
|
/*!40000 ALTER TABLE `battleground_template` ENABLE KEYS */;
|
||||||
UNLOCK TABLES;
|
UNLOCK TABLES;
|
||||||
|
|
||||||
|
|
|
||||||
7
sql/updates/7026_01_mangos_battleground_template.sql
Normal file
7
sql/updates/7026_01_mangos_battleground_template.sql
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
ALTER TABLE db_version CHANGE COLUMN required_7024_01_mangos_spell_chain required_7026_01_mangos_battleground_template bit;
|
||||||
|
|
||||||
|
DELETE FROM battleground_template WHERE id IN (9,10,11);
|
||||||
|
INSERT INTO battleground_template VALUES
|
||||||
|
(9,0,0,0,0,1367,0,1368,0),
|
||||||
|
(10,5,5,10,80,1362,0,1363,0),
|
||||||
|
(11,5,5,10,80,1364,0,1365,0);
|
||||||
|
|
@ -110,6 +110,7 @@ pkgdata_DATA = \
|
||||||
7002_01_mangos_spell_chain.sql \
|
7002_01_mangos_spell_chain.sql \
|
||||||
7015_01_mangos_item_template.sql \
|
7015_01_mangos_item_template.sql \
|
||||||
7024_01_mangos_spell_chain.sql \
|
7024_01_mangos_spell_chain.sql \
|
||||||
|
7026_01_mangos_battleground_template.sql \
|
||||||
README
|
README
|
||||||
|
|
||||||
## Additional files to include when running 'make dist'
|
## Additional files to include when running 'make dist'
|
||||||
|
|
@ -200,4 +201,5 @@ EXTRA_DIST = \
|
||||||
7002_01_mangos_spell_chain.sql \
|
7002_01_mangos_spell_chain.sql \
|
||||||
7015_01_mangos_item_template.sql \
|
7015_01_mangos_item_template.sql \
|
||||||
7024_01_mangos_spell_chain.sql \
|
7024_01_mangos_spell_chain.sql \
|
||||||
|
7026_01_mangos_battleground_template.sql \
|
||||||
README
|
README
|
||||||
|
|
|
||||||
|
|
@ -151,9 +151,10 @@ enum BattleGroundQueueTypeId
|
||||||
BATTLEGROUND_QUEUE_WS = 2,
|
BATTLEGROUND_QUEUE_WS = 2,
|
||||||
BATTLEGROUND_QUEUE_AB = 3,
|
BATTLEGROUND_QUEUE_AB = 3,
|
||||||
BATTLEGROUND_QUEUE_EY = 4,
|
BATTLEGROUND_QUEUE_EY = 4,
|
||||||
BATTLEGROUND_QUEUE_2v2 = 5,
|
BATTLEGROUND_QUEUE_SA = 5,
|
||||||
BATTLEGROUND_QUEUE_3v3 = 6,
|
BATTLEGROUND_QUEUE_2v2 = 6,
|
||||||
BATTLEGROUND_QUEUE_5v5 = 7,
|
BATTLEGROUND_QUEUE_3v3 = 7,
|
||||||
|
BATTLEGROUND_QUEUE_5v5 = 8,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum ScoreType
|
enum ScoreType
|
||||||
|
|
|
||||||
63
src/game/BattleGroundDS.cpp
Normal file
63
src/game/BattleGroundDS.cpp
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "Player.h"
|
||||||
|
#include "BattleGround.h"
|
||||||
|
#include "BattleGroundDS.h"
|
||||||
|
|
||||||
|
BattleGroundDS::BattleGroundDS()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
BattleGroundDS::~BattleGroundDS()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void BattleGroundDS::Update(time_t diff)
|
||||||
|
{
|
||||||
|
BattleGround::Update(diff);
|
||||||
|
}
|
||||||
|
|
||||||
|
void BattleGroundDS::AddPlayer(Player *plr)
|
||||||
|
{
|
||||||
|
BattleGround::AddPlayer(plr);
|
||||||
|
//create score and add it to map, default values are set in constructor
|
||||||
|
BattleGroundDSScore* sc = new BattleGroundDSScore;
|
||||||
|
|
||||||
|
m_PlayerScores[plr->GetGUID()] = sc;
|
||||||
|
}
|
||||||
|
|
||||||
|
void BattleGroundDS::RemovePlayer(Player * /*plr*/, uint64 /*guid*/)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void BattleGroundDS::HandleKillPlayer(Player* player, Player* killer)
|
||||||
|
{
|
||||||
|
BattleGround::HandleKillPlayer(player, killer);
|
||||||
|
}
|
||||||
|
|
||||||
|
void BattleGroundDS::HandleAreaTrigger(Player * /*Source*/, uint32 /*Trigger*/)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
bool BattleGroundDS::SetupBattleGround()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
47
src/game/BattleGroundDS.h
Normal file
47
src/game/BattleGroundDS.h
Normal file
|
|
@ -0,0 +1,47 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
#ifndef __BATTLEGROUNDDS_H
|
||||||
|
#define __BATTLEGROUNDDS_H
|
||||||
|
|
||||||
|
class BattleGround;
|
||||||
|
|
||||||
|
class BattleGroundDSScore : public BattleGroundScore
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
BattleGroundDSScore() {};
|
||||||
|
virtual ~BattleGroundDSScore() {};
|
||||||
|
//TODO fix me
|
||||||
|
};
|
||||||
|
|
||||||
|
class BattleGroundDS : public BattleGround
|
||||||
|
{
|
||||||
|
friend class BattleGroundMgr;
|
||||||
|
|
||||||
|
public:
|
||||||
|
BattleGroundDS();
|
||||||
|
~BattleGroundDS();
|
||||||
|
void Update(time_t diff);
|
||||||
|
|
||||||
|
/* inherited from BattlegroundClass */
|
||||||
|
virtual void AddPlayer(Player *plr);
|
||||||
|
void RemovePlayer(Player *plr, uint64 guid);
|
||||||
|
void HandleAreaTrigger(Player *Source, uint32 Trigger);
|
||||||
|
bool SetupBattleGround();
|
||||||
|
void HandleKillPlayer(Player* player, Player *killer);
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
@ -27,6 +27,9 @@
|
||||||
#include "BattleGroundBE.h"
|
#include "BattleGroundBE.h"
|
||||||
#include "BattleGroundAA.h"
|
#include "BattleGroundAA.h"
|
||||||
#include "BattleGroundRL.h"
|
#include "BattleGroundRL.h"
|
||||||
|
#include "BattleGroundSA.h"
|
||||||
|
#include "BattleGroundDS.h"
|
||||||
|
#include "BattleGroundRV.h"
|
||||||
#include "SharedDefines.h"
|
#include "SharedDefines.h"
|
||||||
#include "Policies/SingletonImp.h"
|
#include "Policies/SingletonImp.h"
|
||||||
#include "MapManager.h"
|
#include "MapManager.h"
|
||||||
|
|
@ -1193,6 +1196,15 @@ void BattleGroundMgr::BuildBattleGroundStatusPacket(WorldPacket *data, BattleGro
|
||||||
case BATTLEGROUND_RL:
|
case BATTLEGROUND_RL:
|
||||||
*data << uint8(8);
|
*data << uint8(8);
|
||||||
break;
|
break;
|
||||||
|
case BATTLEGROUND_SA:
|
||||||
|
*data << uint8(9);
|
||||||
|
break;
|
||||||
|
case BATTLEGROUND_DS:
|
||||||
|
*data << uint8(10);
|
||||||
|
break;
|
||||||
|
case BATTLEGROUND_RV:
|
||||||
|
*data << uint8(11);
|
||||||
|
break;
|
||||||
default: // unknown
|
default: // unknown
|
||||||
*data << uint8(0);
|
*data << uint8(0);
|
||||||
break;
|
break;
|
||||||
|
|
@ -1469,6 +1481,15 @@ BattleGround * BattleGroundMgr::CreateNewBattleGround(uint32 bgTypeId)
|
||||||
case BATTLEGROUND_RL:
|
case BATTLEGROUND_RL:
|
||||||
bg = new BattleGroundRL(*(BattleGroundRL*)bg_template);
|
bg = new BattleGroundRL(*(BattleGroundRL*)bg_template);
|
||||||
break;
|
break;
|
||||||
|
case BATTLEGROUND_SA:
|
||||||
|
bg = new BattleGroundSA(*(BattleGroundSA*)bg_template);
|
||||||
|
break;
|
||||||
|
case BATTLEGROUND_DS:
|
||||||
|
bg = new BattleGroundDS(*(BattleGroundDS*)bg_template);
|
||||||
|
break;
|
||||||
|
case BATTLEGROUND_RV:
|
||||||
|
bg = new BattleGroundRV(*(BattleGroundRV*)bg_template);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
//bg = new BattleGround;
|
//bg = new BattleGround;
|
||||||
return 0;
|
return 0;
|
||||||
|
|
@ -1515,6 +1536,9 @@ uint32 BattleGroundMgr::CreateBattleGround(uint32 bgTypeId, uint32 MinPlayersPer
|
||||||
case BATTLEGROUND_AA: bg = new BattleGroundAA; break;
|
case BATTLEGROUND_AA: bg = new BattleGroundAA; break;
|
||||||
case BATTLEGROUND_EY: bg = new BattleGroundEY; break;
|
case BATTLEGROUND_EY: bg = new BattleGroundEY; break;
|
||||||
case BATTLEGROUND_RL: bg = new BattleGroundRL; break;
|
case BATTLEGROUND_RL: bg = new BattleGroundRL; break;
|
||||||
|
case BATTLEGROUND_SA: bg = new BattleGroundSA; break;
|
||||||
|
case BATTLEGROUND_DS: bg = new BattleGroundDS; break;
|
||||||
|
case BATTLEGROUND_RV: bg = new BattleGroundRV; break;
|
||||||
default:bg = new BattleGround; break; // placeholder for non implemented BG
|
default:bg = new BattleGround; break; // placeholder for non implemented BG
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1835,10 +1859,14 @@ uint32 BattleGroundMgr::BGQueueTypeId(uint32 bgTypeId, uint8 arenaType) const
|
||||||
return BATTLEGROUND_QUEUE_AV;
|
return BATTLEGROUND_QUEUE_AV;
|
||||||
case BATTLEGROUND_EY:
|
case BATTLEGROUND_EY:
|
||||||
return BATTLEGROUND_QUEUE_EY;
|
return BATTLEGROUND_QUEUE_EY;
|
||||||
|
case BATTLEGROUND_SA:
|
||||||
|
return BATTLEGROUND_QUEUE_SA;
|
||||||
case BATTLEGROUND_AA:
|
case BATTLEGROUND_AA:
|
||||||
case BATTLEGROUND_NA:
|
case BATTLEGROUND_NA:
|
||||||
case BATTLEGROUND_RL:
|
case BATTLEGROUND_RL:
|
||||||
case BATTLEGROUND_BE:
|
case BATTLEGROUND_BE:
|
||||||
|
case BATTLEGROUND_DS:
|
||||||
|
case BATTLEGROUND_RV:
|
||||||
switch(arenaType)
|
switch(arenaType)
|
||||||
{
|
{
|
||||||
case ARENA_TYPE_2v2:
|
case ARENA_TYPE_2v2:
|
||||||
|
|
@ -1867,6 +1895,8 @@ uint32 BattleGroundMgr::BGTemplateId(uint32 bgQueueTypeId) const
|
||||||
return BATTLEGROUND_AV;
|
return BATTLEGROUND_AV;
|
||||||
case BATTLEGROUND_QUEUE_EY:
|
case BATTLEGROUND_QUEUE_EY:
|
||||||
return BATTLEGROUND_EY;
|
return BATTLEGROUND_EY;
|
||||||
|
case BATTLEGROUND_QUEUE_SA:
|
||||||
|
return BATTLEGROUND_SA;
|
||||||
case BATTLEGROUND_QUEUE_2v2:
|
case BATTLEGROUND_QUEUE_2v2:
|
||||||
case BATTLEGROUND_QUEUE_3v3:
|
case BATTLEGROUND_QUEUE_3v3:
|
||||||
case BATTLEGROUND_QUEUE_5v5:
|
case BATTLEGROUND_QUEUE_5v5:
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ typedef std::deque<BattleGround*> BGFreeSlotQueueType;
|
||||||
|
|
||||||
#define MAX_BATTLEGROUND_TYPES 12 // each BG type will be in array
|
#define MAX_BATTLEGROUND_TYPES 12 // each BG type will be in array
|
||||||
|
|
||||||
#define MAX_BATTLEGROUND_QUEUE_TYPES 8
|
#define MAX_BATTLEGROUND_QUEUE_TYPES 9
|
||||||
|
|
||||||
#define BATTLEGROUND_ARENA_POINT_DISTRIBUTION_DAY 86400 // seconds in a day
|
#define BATTLEGROUND_ARENA_POINT_DISTRIBUTION_DAY 86400 // seconds in a day
|
||||||
|
|
||||||
|
|
|
||||||
63
src/game/BattleGroundRV.cpp
Normal file
63
src/game/BattleGroundRV.cpp
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "Player.h"
|
||||||
|
#include "BattleGround.h"
|
||||||
|
#include "BattleGroundRV.h"
|
||||||
|
|
||||||
|
BattleGroundRV::BattleGroundRV()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
BattleGroundRV::~BattleGroundRV()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void BattleGroundRV::Update(time_t diff)
|
||||||
|
{
|
||||||
|
BattleGround::Update(diff);
|
||||||
|
}
|
||||||
|
|
||||||
|
void BattleGroundRV::AddPlayer(Player *plr)
|
||||||
|
{
|
||||||
|
BattleGround::AddPlayer(plr);
|
||||||
|
//create score and add it to map, default values are set in constructor
|
||||||
|
BattleGroundRVScore* sc = new BattleGroundRVScore;
|
||||||
|
|
||||||
|
m_PlayerScores[plr->GetGUID()] = sc;
|
||||||
|
}
|
||||||
|
|
||||||
|
void BattleGroundRV::RemovePlayer(Player * /*plr*/, uint64 /*guid*/)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void BattleGroundRV::HandleKillPlayer(Player* player, Player* killer)
|
||||||
|
{
|
||||||
|
BattleGround::HandleKillPlayer(player, killer);
|
||||||
|
}
|
||||||
|
|
||||||
|
void BattleGroundRV::HandleAreaTrigger(Player * /*Source*/, uint32 /*Trigger*/)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
bool BattleGroundRV::SetupBattleGround()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
47
src/game/BattleGroundRV.h
Normal file
47
src/game/BattleGroundRV.h
Normal file
|
|
@ -0,0 +1,47 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
#ifndef __BATTLEGROUNDRV_H
|
||||||
|
#define __BATTLEGROUNDRV_H
|
||||||
|
|
||||||
|
class BattleGround;
|
||||||
|
|
||||||
|
class BattleGroundRVScore : public BattleGroundScore
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
BattleGroundRVScore() {};
|
||||||
|
virtual ~BattleGroundRVScore() {};
|
||||||
|
//TODO fix me
|
||||||
|
};
|
||||||
|
|
||||||
|
class BattleGroundRV : public BattleGround
|
||||||
|
{
|
||||||
|
friend class BattleGroundMgr;
|
||||||
|
|
||||||
|
public:
|
||||||
|
BattleGroundRV();
|
||||||
|
~BattleGroundRV();
|
||||||
|
void Update(time_t diff);
|
||||||
|
|
||||||
|
/* inherited from BattlegroundClass */
|
||||||
|
virtual void AddPlayer(Player *plr);
|
||||||
|
void RemovePlayer(Player *plr, uint64 guid);
|
||||||
|
void HandleAreaTrigger(Player *Source, uint32 Trigger);
|
||||||
|
bool SetupBattleGround();
|
||||||
|
void HandleKillPlayer(Player* player, Player *killer);
|
||||||
|
};
|
||||||
|
#endif
|
||||||
67
src/game/BattleGroundSA.cpp
Normal file
67
src/game/BattleGroundSA.cpp
Normal file
|
|
@ -0,0 +1,67 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "BattleGround.h"
|
||||||
|
#include "BattleGroundSA.h"
|
||||||
|
|
||||||
|
BattleGroundSA::BattleGroundSA()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
BattleGroundSA::~BattleGroundSA()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void BattleGroundSA::Update(time_t diff)
|
||||||
|
{
|
||||||
|
BattleGround::Update(diff);
|
||||||
|
}
|
||||||
|
|
||||||
|
void BattleGroundSA::AddPlayer(Player *plr)
|
||||||
|
{
|
||||||
|
BattleGround::AddPlayer(plr);
|
||||||
|
//create score and add it to map, default values are set in constructor
|
||||||
|
BattleGroundSAScore* sc = new BattleGroundSAScore;
|
||||||
|
|
||||||
|
m_PlayerScores[plr->GetGUID()] = sc;
|
||||||
|
}
|
||||||
|
|
||||||
|
void BattleGroundSA::RemovePlayer(Player* /*plr*/,uint64 /*guid*/)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void BattleGroundSA::HandleAreaTrigger(Player *Source, uint32 Trigger)
|
||||||
|
{
|
||||||
|
// this is wrong way to implement these things. On official it done by gameobject spell cast.
|
||||||
|
if(GetStatus() != STATUS_IN_PROGRESS)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
void BattleGroundSA::UpdatePlayerScore(Player* Source, uint32 type, uint32 value)
|
||||||
|
{
|
||||||
|
|
||||||
|
std::map<uint64, BattleGroundScore*>::iterator itr = m_PlayerScores.find(Source->GetGUID());
|
||||||
|
|
||||||
|
if(itr == m_PlayerScores.end()) // player not found...
|
||||||
|
return;
|
||||||
|
|
||||||
|
BattleGround::UpdatePlayerScore(Source,type,value);
|
||||||
|
}
|
||||||
52
src/game/BattleGroundSA.h
Normal file
52
src/game/BattleGroundSA.h
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __BATTLEGROUNDSA_H
|
||||||
|
#define __BATTLEGROUNDSA_H
|
||||||
|
|
||||||
|
class BattleGround;
|
||||||
|
|
||||||
|
class BattleGroundSAScore : public BattleGroundScore
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
BattleGroundSAScore() {};
|
||||||
|
virtual ~BattleGroundSAScore() {};
|
||||||
|
};
|
||||||
|
|
||||||
|
class BattleGroundSA : public BattleGround
|
||||||
|
{
|
||||||
|
friend class BattleGroundMgr;
|
||||||
|
|
||||||
|
public:
|
||||||
|
BattleGroundSA();
|
||||||
|
~BattleGroundSA();
|
||||||
|
void Update(time_t diff);
|
||||||
|
|
||||||
|
/* inherited from BattlegroundClass */
|
||||||
|
virtual void AddPlayer(Player *plr);
|
||||||
|
|
||||||
|
void RemovePlayer(Player *plr,uint64 guid);
|
||||||
|
void HandleAreaTrigger(Player *Source, uint32 Trigger);
|
||||||
|
//bool SetupBattleGround();
|
||||||
|
|
||||||
|
/* Scorekeeping */
|
||||||
|
void UpdatePlayerScore(Player *Source, uint32 type, uint32 value);
|
||||||
|
|
||||||
|
private:
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
@ -49,18 +49,24 @@ libmangosgame_a_SOURCES = \
|
||||||
BattleGroundAB.cpp \
|
BattleGroundAB.cpp \
|
||||||
BattleGroundAV.cpp \
|
BattleGroundAV.cpp \
|
||||||
BattleGroundBE.cpp \
|
BattleGroundBE.cpp \
|
||||||
|
BattleGroundDS.cpp \
|
||||||
BattleGroundEY.cpp \
|
BattleGroundEY.cpp \
|
||||||
BattleGroundNA.cpp \
|
BattleGroundNA.cpp \
|
||||||
BattleGroundRL.cpp \
|
BattleGroundRL.cpp \
|
||||||
|
BattleGroundRV.cpp \
|
||||||
|
BattleGroundSA.cpp \
|
||||||
BattleGroundWS.cpp \
|
BattleGroundWS.cpp \
|
||||||
BattleGround.h \
|
BattleGround.h \
|
||||||
BattleGroundAA.h \
|
BattleGroundAA.h \
|
||||||
BattleGroundAB.h \
|
BattleGroundAB.h \
|
||||||
BattleGroundAV.h \
|
BattleGroundAV.h \
|
||||||
BattleGroundBE.h \
|
BattleGroundBE.h \
|
||||||
|
BattleGroundDS.h \
|
||||||
BattleGroundEY.h \
|
BattleGroundEY.h \
|
||||||
BattleGroundNA.h \
|
BattleGroundNA.h \
|
||||||
BattleGroundRL.h \
|
BattleGroundRL.h \
|
||||||
|
BattleGroundRV.h \
|
||||||
|
BattleGroundSA.h \
|
||||||
BattleGroundWS.h \
|
BattleGroundWS.h \
|
||||||
BattleGroundHandler.cpp \
|
BattleGroundHandler.cpp \
|
||||||
BattleGroundMgr.cpp \
|
BattleGroundMgr.cpp \
|
||||||
|
|
|
||||||
|
|
@ -7513,37 +7513,46 @@ void Player::SendInitWorldStates()
|
||||||
case 1537:
|
case 1537:
|
||||||
case 2257:
|
case 2257:
|
||||||
case 2918:
|
case 2918:
|
||||||
NumberOfFields = 6;
|
NumberOfFields = 8;
|
||||||
|
break;
|
||||||
|
case 139:
|
||||||
|
NumberOfFields = 41;
|
||||||
|
break;
|
||||||
|
case 1377:
|
||||||
|
NumberOfFields = 15;
|
||||||
break;
|
break;
|
||||||
case 2597:
|
case 2597:
|
||||||
NumberOfFields = 81;
|
NumberOfFields = 83;
|
||||||
break;
|
break;
|
||||||
case 3277:
|
case 3277:
|
||||||
NumberOfFields = 14;
|
NumberOfFields = 16;
|
||||||
break;
|
break;
|
||||||
case 3358:
|
case 3358:
|
||||||
case 3820:
|
case 3820:
|
||||||
NumberOfFields = 38;
|
NumberOfFields = 40;
|
||||||
break;
|
break;
|
||||||
case 3483:
|
case 3483:
|
||||||
NumberOfFields = 22;
|
NumberOfFields = 27;
|
||||||
|
break;
|
||||||
|
case 3518:
|
||||||
|
NumberOfFields = 39;
|
||||||
break;
|
break;
|
||||||
case 3519:
|
case 3519:
|
||||||
NumberOfFields = 36;
|
NumberOfFields = 38;
|
||||||
break;
|
break;
|
||||||
case 3521:
|
case 3521:
|
||||||
NumberOfFields = 35;
|
NumberOfFields = 37;
|
||||||
break;
|
break;
|
||||||
case 3698:
|
case 3698:
|
||||||
case 3702:
|
case 3702:
|
||||||
case 3968:
|
case 3968:
|
||||||
NumberOfFields = 9;
|
NumberOfFields = 11;
|
||||||
break;
|
break;
|
||||||
case 3703:
|
case 3703:
|
||||||
NumberOfFields = 9;
|
NumberOfFields = 11;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
NumberOfFields = 10;
|
NumberOfFields = 12;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -7558,6 +7567,10 @@ void Player::SendInitWorldStates()
|
||||||
data << uint32(0x8d5) << uint32(0x0); // 4
|
data << uint32(0x8d5) << uint32(0x0); // 4
|
||||||
data << uint32(0x8d4) << uint32(0x0); // 5
|
data << uint32(0x8d4) << uint32(0x0); // 5
|
||||||
data << uint32(0x8d3) << uint32(0x0); // 6
|
data << uint32(0x8d3) << uint32(0x0); // 6
|
||||||
|
// 7 1 - Arena season in progress, 0 - end of season
|
||||||
|
data << uint32(0xC77) << uint32(sWorld.getConfig(CONFIG_ARENA_SEASON_IN_PROGRESS));
|
||||||
|
// 8 Arena season id
|
||||||
|
data << uint32(0xF3D) << uint32(sWorld.getConfig(CONFIG_ARENA_SEASON_ID));
|
||||||
if(mapid == 530) // Outland
|
if(mapid == 530) // Outland
|
||||||
{
|
{
|
||||||
data << uint32(0x9bf) << uint32(0x0); // 7
|
data << uint32(0x9bf) << uint32(0x0); // 7
|
||||||
|
|
|
||||||
|
|
@ -762,6 +762,8 @@ void World::LoadConfigSettings(bool reload)
|
||||||
m_configs[CONFIG_BATTLEGROUND_QUEUE_ANNOUNCER_ENABLE] = sConfig.GetBoolDefault("Battleground.QueueAnnouncer.Enable", false);
|
m_configs[CONFIG_BATTLEGROUND_QUEUE_ANNOUNCER_ENABLE] = sConfig.GetBoolDefault("Battleground.QueueAnnouncer.Enable", false);
|
||||||
m_configs[CONFIG_BATTLEGROUND_QUEUE_ANNOUNCER_PLAYERONLY] = sConfig.GetBoolDefault("Battleground.QueueAnnouncer.PlayerOnly", false);
|
m_configs[CONFIG_BATTLEGROUND_QUEUE_ANNOUNCER_PLAYERONLY] = sConfig.GetBoolDefault("Battleground.QueueAnnouncer.PlayerOnly", false);
|
||||||
m_configs[CONFIG_ARENA_QUEUE_ANNOUNCER_ENABLE] = sConfig.GetBoolDefault("Arena.QueueAnnouncer.Enable", false);
|
m_configs[CONFIG_ARENA_QUEUE_ANNOUNCER_ENABLE] = sConfig.GetBoolDefault("Arena.QueueAnnouncer.Enable", false);
|
||||||
|
m_configs[CONFIG_ARENA_SEASON_ID] = sConfig.GetIntDefault ("Arena.ArenaSeason.ID", 1);
|
||||||
|
m_configs[CONFIG_ARENA_SEASON_IN_PROGRESS] = sConfig.GetBoolDefault("Arena.ArenaSeason.InProgress", true);
|
||||||
|
|
||||||
m_configs[CONFIG_CAST_UNSTUCK] = sConfig.GetBoolDefault("CastUnstuck", true);
|
m_configs[CONFIG_CAST_UNSTUCK] = sConfig.GetBoolDefault("CastUnstuck", true);
|
||||||
m_configs[CONFIG_INSTANCE_RESET_TIME_HOUR] = sConfig.GetIntDefault("Instance.ResetTimeHour", 4);
|
m_configs[CONFIG_INSTANCE_RESET_TIME_HOUR] = sConfig.GetIntDefault("Instance.ResetTimeHour", 4);
|
||||||
|
|
|
||||||
|
|
@ -185,6 +185,8 @@ enum WorldConfigs
|
||||||
CONFIG_ARENA_AUTO_DISTRIBUTE_POINTS,
|
CONFIG_ARENA_AUTO_DISTRIBUTE_POINTS,
|
||||||
CONFIG_ARENA_AUTO_DISTRIBUTE_INTERVAL_DAYS,
|
CONFIG_ARENA_AUTO_DISTRIBUTE_INTERVAL_DAYS,
|
||||||
CONFIG_ARENA_QUEUE_ANNOUNCER_ENABLE,
|
CONFIG_ARENA_QUEUE_ANNOUNCER_ENABLE,
|
||||||
|
CONFIG_ARENA_SEASON_ID,
|
||||||
|
CONFIG_ARENA_SEASON_IN_PROGRESS,
|
||||||
CONFIG_BATTLEGROUND_PREMATURE_FINISH_TIMER,
|
CONFIG_BATTLEGROUND_PREMATURE_FINISH_TIMER,
|
||||||
CONFIG_SKILL_MILLING,
|
CONFIG_SKILL_MILLING,
|
||||||
CONFIG_VALUE_COUNT
|
CONFIG_VALUE_COUNT
|
||||||
|
|
|
||||||
|
|
@ -1139,6 +1139,8 @@ Arena.MaxRatingDifference = 0
|
||||||
Arena.RatingDiscardTimer = 60000
|
Arena.RatingDiscardTimer = 60000
|
||||||
Arena.AutoDistributePoints = 0
|
Arena.AutoDistributePoints = 0
|
||||||
Arena.AutoDistributeInterval = 7
|
Arena.AutoDistributeInterval = 7
|
||||||
|
Arena.ArenaSeason.ID = 1
|
||||||
|
Arena.ArenaSeason.InProgress = 1
|
||||||
|
|
||||||
###################################################################################################################
|
###################################################################################################################
|
||||||
#
|
#
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#ifndef __REVISION_NR_H__
|
#ifndef __REVISION_NR_H__
|
||||||
#define __REVISION_NR_H__
|
#define __REVISION_NR_H__
|
||||||
#define REVISION_NR "7025"
|
#define REVISION_NR "7026"
|
||||||
#endif // __REVISION_NR_H__
|
#endif // __REVISION_NR_H__
|
||||||
|
|
|
||||||
|
|
@ -185,6 +185,12 @@
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\src\game\BattleGroundBE.h">
|
RelativePath="..\..\src\game\BattleGroundBE.h">
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\src\game\BattleGroundDS.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\src\game\BattleGroundDS.h">
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\src\game\BattleGroundEY.cpp">
|
RelativePath="..\..\src\game\BattleGroundEY.cpp">
|
||||||
</File>
|
</File>
|
||||||
|
|
@ -212,6 +218,18 @@
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\src\game\BattleGroundRL.h">
|
RelativePath="..\..\src\game\BattleGroundRL.h">
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\src\game\BattleGroundRV.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\src\game\BattleGroundRV.h">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\src\game\BattleGroundSA.cpp">
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\src\game\BattleGroundSA.h">
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\src\game\BattleGroundWS.cpp">
|
RelativePath="..\..\src\game\BattleGroundWS.cpp">
|
||||||
</File>
|
</File>
|
||||||
|
|
|
||||||
|
|
@ -418,6 +418,14 @@
|
||||||
RelativePath="..\..\src\game\BattleGroundBE.h"
|
RelativePath="..\..\src\game\BattleGroundBE.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\src\game\BattleGroundDS.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\src\game\BattleGroundDS.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\src\game\BattleGroundEY.cpp"
|
RelativePath="..\..\src\game\BattleGroundEY.cpp"
|
||||||
>
|
>
|
||||||
|
|
@ -454,6 +462,22 @@
|
||||||
RelativePath="..\..\src\game\BattleGroundRL.h"
|
RelativePath="..\..\src\game\BattleGroundRL.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\src\game\BattleGroundRV.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\src\game\BattleGroundRV.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\src\game\BattleGroundSA.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\src\game\BattleGroundSA.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\src\game\BattleGroundWS.cpp"
|
RelativePath="..\..\src\game\BattleGroundWS.cpp"
|
||||||
>
|
>
|
||||||
|
|
|
||||||
|
|
@ -420,6 +420,14 @@
|
||||||
RelativePath="..\..\src\game\BattleGroundBE.h"
|
RelativePath="..\..\src\game\BattleGroundBE.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\src\game\BattleGroundDS.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\src\game\BattleGroundDS.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\src\game\BattleGroundEY.cpp"
|
RelativePath="..\..\src\game\BattleGroundEY.cpp"
|
||||||
>
|
>
|
||||||
|
|
@ -456,6 +464,22 @@
|
||||||
RelativePath="..\..\src\game\BattleGroundRL.h"
|
RelativePath="..\..\src\game\BattleGroundRL.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\src\game\BattleGroundRV.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\src\game\BattleGroundRV.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\src\game\BattleGroundSA.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath="..\..\src\game\BattleGroundSA.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="..\..\src\game\BattleGroundWS.cpp"
|
RelativePath="..\..\src\game\BattleGroundWS.cpp"
|
||||||
>
|
>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue