mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-19 08:55:32 +01:00
Core/BG fix .character changefaction pvpstats victories amount
This commit is contained in:
@@ -2413,6 +2413,7 @@ DROP TABLE IF EXISTS `pvpstats_players`;
|
||||
CREATE TABLE `pvpstats_players` (
|
||||
`battleground_id` bigint(20) unsigned NOT NULL,
|
||||
`character_guid` int(10) unsigned NOT NULL,
|
||||
`winner` bit(1) NOT NULL,
|
||||
`score_killing_blows` mediumint(8) unsigned NOT NULL,
|
||||
`score_deaths` mediumint(8) unsigned NOT NULL,
|
||||
`score_honorable_kills` mediumint(8) unsigned NOT NULL,
|
||||
@@ -2510,7 +2511,7 @@ CREATE TABLE `updates` (
|
||||
|
||||
LOCK TABLES `updates` WRITE;
|
||||
/*!40000 ALTER TABLE `updates` DISABLE KEYS */;
|
||||
INSERT INTO `updates` VALUES ('2015_03_20_00_characters.sql','B761760804EA73BD297F296C5C1919687DF7191C','ARCHIVED','2015-03-21 21:44:15',0),('2015_03_20_01_characters.sql','894F08B70449A5481FFAF394EE5571D7FC4D8A3A','ARCHIVED','2015-03-21 21:44:15',0),('2015_03_20_02_characters.sql','97D7BE0CAADC79F3F11B9FD296B8C6CD40FE593B','ARCHIVED','2015-03-21 21:44:51',0),('2015_06_26_00_characters_335.sql','C2CC6E50AFA1ACCBEBF77CC519AAEB09F3BBAEBC','ARCHIVED','2015-07-13 23:49:22',0),('2015_09_28_00_characters_335.sql','F8682A431D50E54BDC4AC0E7DBED21AE8AAB6AD4','ARCHIVED','2015-09-28 21:00:00',0),('2015_08_26_00_characters_335.sql','C7D6A3A00FECA3EBFF1E71744CA40D3076582374','ARCHIVED','2015-08-26 21:00:00',0),('2015_10_06_00_characters.sql', '16842FDD7E8547F2260D3312F53EFF8761EFAB35', 'ARCHIVED', '2015-10-06 16:06:38', 0),('2015_10_07_00_characters.sql','E15AB463CEBE321001D7BFDEA4B662FF618728FD','ARCHIVED','2015-10-07 23:32:00',0);
|
||||
INSERT INTO `updates` VALUES ('2015_03_20_00_characters.sql','B761760804EA73BD297F296C5C1919687DF7191C','ARCHIVED','2015-03-21 21:44:15',0),('2015_03_20_01_characters.sql','894F08B70449A5481FFAF394EE5571D7FC4D8A3A','ARCHIVED','2015-03-21 21:44:15',0),('2015_03_20_02_characters.sql','97D7BE0CAADC79F3F11B9FD296B8C6CD40FE593B','ARCHIVED','2015-03-21 21:44:51',0),('2015_06_26_00_characters_335.sql','C2CC6E50AFA1ACCBEBF77CC519AAEB09F3BBAEBC','ARCHIVED','2015-07-13 23:49:22',0),('2015_09_28_00_characters_335.sql','F8682A431D50E54BDC4AC0E7DBED21AE8AAB6AD4','ARCHIVED','2015-09-28 21:00:00',0),('2015_08_26_00_characters_335.sql','C7D6A3A00FECA3EBFF1E71744CA40D3076582374','ARCHIVED','2015-08-26 21:00:00',0),('2015_10_06_00_characters.sql', '16842FDD7E8547F2260D3312F53EFF8761EFAB35', 'ARCHIVED', '2015-10-06 16:06:38', 0),('2015_10_07_00_characters.sql','E15AB463CEBE321001D7BFDEA4B662FF618728FD','ARCHIVED','2015-10-07 23:32:00',0),('2015_10_12_00_characters.sql','D6F9927BDED72AD0A81D6EC2C6500CBC34A39FA2','ARCHIVED','2015-10-12 15:35:47',0);
|
||||
/*!40000 ALTER TABLE `updates` ENABLE KEYS */;
|
||||
UNLOCK TABLES;
|
||||
|
||||
|
||||
17
sql/updates/characters/2015_10_12_00_characters.sql
Normal file
17
sql/updates/characters/2015_10_12_00_characters.sql
Normal file
@@ -0,0 +1,17 @@
|
||||
-- Add new winner field, bound to player
|
||||
ALTER TABLE `pvpstats_players`
|
||||
ADD COLUMN `winner` BIT(1) NOT NULL AFTER `character_guid`;
|
||||
|
||||
-- Resolve horde players victories
|
||||
UPDATE `pvpstats_players` SET `winner` = 1 WHERE `battleground_id` IN (
|
||||
SELECT `id` FROM `pvpstats_battlegrounds` WHERE `winner_faction` = 0
|
||||
) AND `character_guid` IN (
|
||||
SELECT `guid` FROM `characters` WHERE `race` IN (2, 5, 6, 8, 9, 10)
|
||||
);
|
||||
|
||||
-- Resolve alliance players victories
|
||||
UPDATE `pvpstats_players` SET `winner` = 1 WHERE `battleground_id` IN (
|
||||
SELECT `id` FROM `pvpstats_battlegrounds` WHERE `winner_faction` = 1
|
||||
) AND `character_guid` IN (
|
||||
SELECT `guid` FROM `characters` WHERE `race` IN (1, 3, 4, 7, 11, 22)
|
||||
);
|
||||
@@ -603,7 +603,7 @@ void CharacterDatabaseConnection::DoPrepareStatements()
|
||||
// PvPstats
|
||||
PrepareStatement(CHAR_SEL_PVPSTATS_MAXID, "SELECT MAX(id) FROM pvpstats_battlegrounds", CONNECTION_SYNCH);
|
||||
PrepareStatement(CHAR_INS_PVPSTATS_BATTLEGROUND, "INSERT INTO pvpstats_battlegrounds (id, winner_faction, bracket_id, type, date) VALUES (?, ?, ?, ?, NOW())", CONNECTION_ASYNC);
|
||||
PrepareStatement(CHAR_INS_PVPSTATS_PLAYER, "INSERT INTO pvpstats_players (battleground_id, character_guid, score_killing_blows, score_deaths, score_honorable_kills, score_bonus_honor, score_damage_done, score_healing_done, attr_1, attr_2, attr_3, attr_4, attr_5) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", CONNECTION_ASYNC);
|
||||
PrepareStatement(CHAR_INS_PVPSTATS_PLAYER, "INSERT INTO pvpstats_players (battleground_id, character_guid, winner, score_killing_blows, score_deaths, score_honorable_kills, score_bonus_honor, score_damage_done, score_healing_done, attr_1, attr_2, attr_3, attr_4, attr_5) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", CONNECTION_ASYNC);
|
||||
PrepareStatement(CHAR_SEL_PVPSTATS_FACTIONS_OVERALL, "SELECT winner_faction, COUNT(*) AS count FROM pvpstats_battlegrounds WHERE DATEDIFF(NOW(), date) < 7 GROUP BY winner_faction ORDER BY winner_faction ASC", CONNECTION_SYNCH);
|
||||
|
||||
// QuestTracker
|
||||
|
||||
@@ -784,19 +784,20 @@ void Battleground::EndBattleground(uint32 winner)
|
||||
stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_PVPSTATS_PLAYER);
|
||||
BattlegroundScoreMap::const_iterator score = PlayerScores.find(player->GetGUID().GetCounter());
|
||||
|
||||
stmt->setUInt32(0, battlegroundId);
|
||||
stmt->setUInt32(1, player->GetGUID().GetCounter());
|
||||
stmt->setUInt32(2, score->second->GetKillingBlows());
|
||||
stmt->setUInt32(3, score->second->GetDeaths());
|
||||
stmt->setUInt32(4, score->second->GetHonorableKills());
|
||||
stmt->setUInt32(5, score->second->GetBonusHonor());
|
||||
stmt->setUInt32(6, score->second->GetDamageDone());
|
||||
stmt->setUInt32(7, score->second->GetHealingDone());
|
||||
stmt->setUInt32(8, score->second->GetAttr1());
|
||||
stmt->setUInt32(9, score->second->GetAttr2());
|
||||
stmt->setUInt32(10, score->second->GetAttr3());
|
||||
stmt->setUInt32(11, score->second->GetAttr4());
|
||||
stmt->setUInt32(12, score->second->GetAttr5());
|
||||
stmt->setUInt32(0, battlegroundId);
|
||||
stmt->setUInt32(1, player->GetGUID().GetCounter());
|
||||
stmt->setBool (2, team == winner);
|
||||
stmt->setUInt32(3, score->second->GetKillingBlows());
|
||||
stmt->setUInt32(4, score->second->GetDeaths());
|
||||
stmt->setUInt32(5, score->second->GetHonorableKills());
|
||||
stmt->setUInt32(6, score->second->GetBonusHonor());
|
||||
stmt->setUInt32(7, score->second->GetDamageDone());
|
||||
stmt->setUInt32(8, score->second->GetHealingDone());
|
||||
stmt->setUInt32(9, score->second->GetAttr1());
|
||||
stmt->setUInt32(10, score->second->GetAttr2());
|
||||
stmt->setUInt32(11, score->second->GetAttr3());
|
||||
stmt->setUInt32(12, score->second->GetAttr4());
|
||||
stmt->setUInt32(13, score->second->GetAttr5());
|
||||
|
||||
CharacterDatabase.Execute(stmt);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user