[svn] Enabled game events to change the honor and reputation gaining speed in battlegrounds. This is done by a new table in the world database, game_event_battleground_holiday. Structure is the following:

event - id of the game event
bgflag - bitmask, used to set which battleground(s) give extra honor/reputation when the event is active. To add extra honor on a battleground, use 2 ^ bgTypeId as mask. Multiple battlegrounds can be set by logical 'or' ('|') operation.
You will need database data for the table, please check trinitydatabase.org.

--HG--
branch : trunk
This commit is contained in:
w12x
2008-10-17 16:36:07 -05:00
parent 62409ac2a4
commit ab9eb277b4
10 changed files with 144 additions and 13 deletions
+10 -2
View File
@@ -95,8 +95,7 @@ enum BattleGroundTimeIntervals
START_DELAY3 = 15000, // ms used only in arena
RESPAWN_ONE_DAY = 86400, // secs
RESPAWN_IMMEDIATELY = 0, // secs
BUFF_RESPAWN_TIME = 180, // secs
BG_HONOR_SCORE_TICKS = 330 // points
BUFF_RESPAWN_TIME = 180 // secs
};
enum BattleGroundBuffObjects
@@ -239,6 +238,13 @@ class BattleGroundScore
uint32 HealingDone;
};
enum BGHonorMode
{
BG_NORMAL = 0,
BG_HOLIDAY,
BG_HONOR_MODE_NUM
};
/*
This class is used to:
1. Add player to battleground
@@ -432,6 +438,7 @@ class BattleGround
// can be extended in in BG subclass
void HandleTriggerBuff(uint64 const& go_guid);
void SetHoliday(bool is_holiday);
// TODO: make this protected:
typedef std::vector<uint64> BGObjects;
@@ -479,6 +486,7 @@ class BattleGround
bool m_BuffChange;
BGHonorMode m_HonorMode;
private:
/* Battleground */
uint32 m_TypeID; //Battleground type, defined in enum BattleGroundTypeId