diff --git a/sql/characters.sql b/sql/characters.sql index d476f2f03..e99717d6d 100644 --- a/sql/characters.sql +++ b/sql/characters.sql @@ -21,7 +21,7 @@ DROP TABLE IF EXISTS `character_db_version`; CREATE TABLE `character_db_version` ( - `required_10662_01_characters_item_loot` bit(1) default NULL + `required_10664_01_characters_arena_team_stats` bit(1) default NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='Last applied sql update to DB'; -- @@ -117,10 +117,10 @@ DROP TABLE IF EXISTS `arena_team_stats`; CREATE TABLE `arena_team_stats` ( `arenateamid` int(10) unsigned NOT NULL default '0', `rating` int(10) unsigned NOT NULL default '0', - `games` int(10) unsigned NOT NULL default '0', - `wins` int(10) unsigned NOT NULL default '0', - `played` int(10) unsigned NOT NULL default '0', - `wins2` int(10) unsigned NOT NULL default '0', + `games_week` int(10) unsigned NOT NULL default '0', + `wins_week` int(10) unsigned NOT NULL default '0', + `games_season` int(10) unsigned NOT NULL default '0', + `wins_season` int(10) unsigned NOT NULL default '0', `rank` int(10) unsigned NOT NULL default '0', PRIMARY KEY (`arenateamid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/sql/updates/10664_01_characters_arena_team_stats.sql b/sql/updates/10664_01_characters_arena_team_stats.sql new file mode 100644 index 000000000..24780472c --- /dev/null +++ b/sql/updates/10664_01_characters_arena_team_stats.sql @@ -0,0 +1,7 @@ +ALTER TABLE character_db_version CHANGE COLUMN required_10662_01_characters_item_loot required_10664_01_characters_arena_team_stats bit; + +ALTER TABLE arena_team_stats + CHANGE COLUMN games games_week int(10) unsigned NOT NULL default '0', + CHANGE COLUMN wins wins_week int(10) unsigned NOT NULL default '0', + CHANGE COLUMN played games_season int(10) unsigned NOT NULL default '0', + CHANGE COLUMN wins2 wins_season int(10) unsigned NOT NULL default '0'; diff --git a/sql/updates/Makefile.am b/sql/updates/Makefile.am index 970b84dfd..e1d629a85 100644 --- a/sql/updates/Makefile.am +++ b/sql/updates/Makefile.am @@ -113,6 +113,7 @@ pkgdata_DATA = \ 10655_01_characters_character_queststatus_monthly.sql \ 10660_01_mangos_game_event_quest.sql \ 10662_01_characters_item_loot.sql \ + 10664_01_characters_arena_team_stats.sql \ README ## Additional files to include when running 'make dist' @@ -206,4 +207,5 @@ EXTRA_DIST = \ 10655_01_characters_character_queststatus_monthly.sql \ 10660_01_mangos_game_event_quest.sql \ 10662_01_characters_item_loot.sql \ + 10664_01_characters_arena_team_stats.sql \ README diff --git a/src/game/ArenaTeam.cpp b/src/game/ArenaTeam.cpp index 694db3762..050b7fef6 100644 --- a/src/game/ArenaTeam.cpp +++ b/src/game/ArenaTeam.cpp @@ -90,7 +90,7 @@ bool ArenaTeam::Create(ObjectGuid captainGuid, uint32 type, std::string arenaTea CharacterDatabase.PExecute("INSERT INTO arena_team (arenateamid,name,captainguid,type,BackgroundColor,EmblemStyle,EmblemColor,BorderStyle,BorderColor) " "VALUES('%u','%s','%u','%u','%u','%u','%u','%u','%u')", m_TeamId, arenaTeamName.c_str(), m_CaptainGuid.GetCounter(), m_Type, m_BackgroundColor, m_EmblemStyle, m_EmblemColor, m_BorderStyle, m_BorderColor); - CharacterDatabase.PExecute("INSERT INTO arena_team_stats (arenateamid, rating, games, wins, played, wins2, rank) VALUES " + CharacterDatabase.PExecute("INSERT INTO arena_team_stats (arenateamid, rating, games_week, wins_week, games_season, wins_season, rank) VALUES " "('%u', '%u', '%u', '%u', '%u', '%u', '%u')", m_TeamId, m_stats.rating, m_stats.games_week, m_stats.wins_week, m_stats.games_season, m_stats.wins_season, m_stats.rank); CharacterDatabase.CommitTransaction(); @@ -453,19 +453,19 @@ void ArenaTeam::SetStats(uint32 stat_type, uint32 value) break; case STAT_TYPE_GAMES_WEEK: m_stats.games_week = value; - CharacterDatabase.PExecute("UPDATE arena_team_stats SET games = '%u' WHERE arenateamid = '%u'", value, GetId()); + CharacterDatabase.PExecute("UPDATE arena_team_stats SET games_week = '%u' WHERE arenateamid = '%u'", value, GetId()); break; case STAT_TYPE_WINS_WEEK: m_stats.wins_week = value; - CharacterDatabase.PExecute("UPDATE arena_team_stats SET wins = '%u' WHERE arenateamid = '%u'", value, GetId()); + CharacterDatabase.PExecute("UPDATE arena_team_stats SET wins_week = '%u' WHERE arenateamid = '%u'", value, GetId()); break; case STAT_TYPE_GAMES_SEASON: m_stats.games_season = value; - CharacterDatabase.PExecute("UPDATE arena_team_stats SET played = '%u' WHERE arenateamid = '%u'", value, GetId()); + CharacterDatabase.PExecute("UPDATE arena_team_stats SET games_season = '%u' WHERE arenateamid = '%u'", value, GetId()); break; case STAT_TYPE_WINS_SEASON: m_stats.wins_season = value; - CharacterDatabase.PExecute("UPDATE arena_team_stats SET wins2 = '%u' WHERE arenateamid = '%u'", value, GetId()); + CharacterDatabase.PExecute("UPDATE arena_team_stats SET wins_season = '%u' WHERE arenateamid = '%u'", value, GetId()); break; case STAT_TYPE_RANK: m_stats.rank = value; @@ -731,7 +731,7 @@ void ArenaTeam::SaveToDB() // save team and member stats to db // called after a match has ended, or when calculating arena_points CharacterDatabase.BeginTransaction(); - CharacterDatabase.PExecute("UPDATE arena_team_stats SET rating = '%u',games = '%u',played = '%u',rank = '%u',wins = '%u',wins2 = '%u' WHERE arenateamid = '%u'", m_stats.rating, m_stats.games_week, m_stats.games_season, m_stats.rank, m_stats.wins_week, m_stats.wins_season, GetId()); + CharacterDatabase.PExecute("UPDATE arena_team_stats SET rating = '%u',games_week = '%u',games_season = '%u',rank = '%u',wins_week = '%u',wins_season = '%u' WHERE arenateamid = '%u'", m_stats.rating, m_stats.games_week, m_stats.games_season, m_stats.rank, m_stats.wins_week, m_stats.wins_season, GetId()); for(MemberList::const_iterator itr = m_members.begin(); itr != m_members.end(); ++itr) { CharacterDatabase.PExecute("UPDATE arena_team_member SET played_week = '%u', wons_week = '%u', played_season = '%u', wons_season = '%u', personal_rating = '%u' WHERE arenateamid = '%u' AND guid = '%u'", itr->games_week, itr->wins_week, itr->games_season, itr->wins_season, itr->personal_rating, m_TeamId, itr->guid.GetCounter()); diff --git a/src/game/ObjectMgr.cpp b/src/game/ObjectMgr.cpp index 8ab5fb654..08107e603 100644 --- a/src/game/ObjectMgr.cpp +++ b/src/game/ObjectMgr.cpp @@ -3364,8 +3364,8 @@ void ObjectMgr::LoadArenaTeams() // 0 1 2 3 4 5 QueryResult *result = CharacterDatabase.Query( "SELECT arena_team.arenateamid,name,captainguid,type,BackgroundColor,EmblemStyle," - // 6 7 8 9 10 11 12 13 14 - "EmblemColor,BorderStyle,BorderColor, rating,games,wins,played,wins2,rank " + // 6 7 8 9 10 11 12 13 14 + "EmblemColor,BorderStyle,BorderColor, rating,games_week,wins_week,games_season,wins_season,rank " "FROM arena_team LEFT JOIN arena_team_stats ON arena_team.arenateamid = arena_team_stats.arenateamid ORDER BY arena_team.arenateamid ASC" ); if( !result ) diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 91375e54b..b0aeb483a 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "10663" + #define REVISION_NR "10664" #endif // __REVISION_NR_H__ diff --git a/src/shared/revision_sql.h b/src/shared/revision_sql.h index ebbfa8b0b..08fb96362 100644 --- a/src/shared/revision_sql.h +++ b/src/shared/revision_sql.h @@ -1,6 +1,6 @@ #ifndef __REVISION_SQL_H__ #define __REVISION_SQL_H__ - #define REVISION_DB_CHARACTERS "required_10662_01_characters_item_loot" + #define REVISION_DB_CHARACTERS "required_10664_01_characters_arena_team_stats" #define REVISION_DB_MANGOS "required_10660_01_mangos_game_event_quest" #define REVISION_DB_REALMD "required_10008_01_realmd_realmd_db_version" #endif // __REVISION_SQL_H__