Core/LFG: implement weekly reward counter to limit the first dungeon rewards

* all default random rewards can be rewarded 7 times per week
* raid finder first reward can be rewarded once per week
* if completionsPerWeek = 0 the currency caps will limit the first rewards otherwise first rewards can be always rewarded
* random Cataclysm normal dungeons will now reward 140 Justice points instead of 150
* second reward for random Cataclysm normal dungeons will now reward gold only (need to verify this)
This commit is contained in:
Ovahlord
2018-04-18 15:09:49 +02:00
parent 3abbefeaf5
commit d9b12217c4
12 changed files with 195 additions and 74 deletions

View File

@@ -0,0 +1,7 @@
DROP TABLE IF EXISTS `character_rewardstatus_lfg`;
CREATE TABLE `character_rewardstatus_lfg`(
`guid` INT(10) NOT NULL DEFAULT 0 COMMENT 'Global Unique Identifier',
`dungeonId` SMALLINT(3) NOT NULL DEFAULT 0 COMMENT 'Dungeon ID Identifier',
`rewardCount` TINYINT(3) UNSIGNED DEFAULT 0 COMMENT 'Dungeon First Reward Count Identifier',
PRIMARY KEY (`dungeonId`)
);

View File

@@ -0,0 +1,8 @@
ALTER TABLE `lfg_dungeon_rewards` ADD COLUMN `completionsPerWeek` TINYINT(3) UNSIGNED DEFAULT 0 NULL COMMENT 'Maximum amount that the first quest may be rewarded' AFTER `otherQuestId`;
UPDATE `quest_template` SET `RewardCurrencyId1`= 0, `RewardCurrencyCount1`= 0 WHERE `ID` = 28908;
UPDATE `quest_template` SET `RewardCurrencyCount1`= 14000 WHERE `ID` = 28907;
UPDATE `quest_template` SET `Flags`= 0 WHERE `ID`= 30110;
UPDATE `lfg_dungeon_rewards` SET `completionsPerWeek`= 7 WHERE `dungeonId` NOT IN (417, 416, 434, 301);
UPDATE `lfg_dungeon_rewards` SET `completionsPerWeek`= 1 WHERE `dungeonId` IN (417, 416);