Compare commits

...

6 Commits

Author SHA1 Message Date
郑佩茹
b61a921c7b Use floats in ComputeVanillaAdjustment 2023-05-01 10:47:43 -06:00
郑佩茹
1fd631baab Fix vanilla adjustment formula 2023-05-01 10:45:32 -06:00
郑佩茹
c90613d4be Fix Clam Bait quest description 2023-04-20 22:00:30 -06:00
郑佩茹
63add43ec2 Fix Vanilla damage adjustment scaling 2023-04-20 16:59:04 -06:00
郑佩茹
1cf462d6ee Karazhan enchant drop rates 2023-04-19 09:47:26 -06:00
郑佩茹
d5b71d00fc Fix rep value for bulk Dark Iron Residue turn in 2023-04-18 09:19:56 -06:00
6 changed files with 23 additions and 7 deletions

View File

@@ -0,0 +1,2 @@
# Restore Enchanting formula drops to their pre-3.1 rates
UPDATE `creature_loot_template` SET `Chance` = 5 WHERE `Item` IN (22559, 22561, 22545, 22560);

View File

@@ -1015,8 +1015,8 @@ UPDATE `quest_template` SET `LogDescription` = "Recover 20 Plagued Flesh Samples
/* Clam Bait */ /* Clam Bait */
UPDATE `quest_template` SET `LogDescription` = "Find 110 pieces of Soft-shelled Clam Meat and bring it back to Mai'Lahii at Shadowprey Village." WHERE `ID` = 6142; UPDATE `quest_template` SET `LogDescription` = "Find 10 pieces of Soft-shelled Clam Meat and bring it back to Mai'Lahii at Shadowprey Village." WHERE `ID` = 6142;
UPDATE `quest_template` SET `QuestDescription` = "You have the look of a fisherman, $c! I love to fish - been fishing all my life. The best bait to use is soft-shelled clam meat; the fish just can't resist, you know what I mean?$B$BUp north you will find a wrecked ship off the coast. Soft-shelled clams are littered throughout the area. If you bring me back 110 pieces of soft-shelled clam meat, I will give you something in return." WHERE `ID` = 6142; UPDATE `quest_template` SET `QuestDescription` = "You have the look of a fisherman, $c! I love to fish - been fishing all my life. The best bait to use is soft-shelled clam meat; the fish just can't resist, you know what I mean?$B$BUp north you will find a wrecked ship off the coast. Soft-shelled clams are littered throughout the area. If you bring me back 10 pieces of soft-shelled clam meat, I will give you something in return." WHERE `ID` = 6142;
/* Twisted Evils */ /* Twisted Evils */

View File

@@ -2368,7 +2368,7 @@ UPDATE quest_template SET RewardFactionOverride1=5000, RewardFactionOverride2=0,
UPDATE quest_template SET RewardFactionOverride1=10000, RewardFactionOverride2=0,RewardFactionOverride3=0,RewardFactionOverride4=0,RewardFactionOverride5=0 WHERE ID=7733; UPDATE quest_template SET RewardFactionOverride1=10000, RewardFactionOverride2=0,RewardFactionOverride3=0,RewardFactionOverride4=0,RewardFactionOverride5=0 WHERE ID=7733;
UPDATE quest_template SET RewardFactionOverride1=10000, RewardFactionOverride2=0,RewardFactionOverride3=0,RewardFactionOverride4=0,RewardFactionOverride5=0 WHERE ID=7734; UPDATE quest_template SET RewardFactionOverride1=10000, RewardFactionOverride2=0,RewardFactionOverride3=0,RewardFactionOverride4=0,RewardFactionOverride5=0 WHERE ID=7734;
UPDATE quest_template SET RewardFactionOverride1=10000, RewardFactionOverride2=0,RewardFactionOverride3=0,RewardFactionOverride4=0,RewardFactionOverride5=0 WHERE ID=7735; UPDATE quest_template SET RewardFactionOverride1=10000, RewardFactionOverride2=0,RewardFactionOverride3=0,RewardFactionOverride4=0,RewardFactionOverride5=0 WHERE ID=7735;
UPDATE quest_template SET RewardFactionOverride1=2500, RewardFactionOverride2=0,RewardFactionOverride3=0,RewardFactionOverride4=0,RewardFactionOverride5=0 WHERE ID=7737; UPDATE quest_template SET RewardFactionOverride1=62500, RewardFactionOverride2=0,RewardFactionOverride3=0,RewardFactionOverride4=0,RewardFactionOverride5=0 WHERE ID=7737;
UPDATE quest_template SET RewardFactionOverride1=10000, RewardFactionOverride2=0,RewardFactionOverride3=0,RewardFactionOverride4=0,RewardFactionOverride5=0 WHERE ID=7738; UPDATE quest_template SET RewardFactionOverride1=10000, RewardFactionOverride2=0,RewardFactionOverride3=0,RewardFactionOverride4=0,RewardFactionOverride5=0 WHERE ID=7738;
UPDATE quest_template SET RewardFactionOverride1=20000, RewardFactionOverride2=20000,RewardFactionOverride3=20000,RewardFactionOverride4=20000,RewardFactionOverride5=0 WHERE ID=7783; UPDATE quest_template SET RewardFactionOverride1=20000, RewardFactionOverride2=20000,RewardFactionOverride3=20000,RewardFactionOverride4=20000,RewardFactionOverride5=0 WHERE ID=7783;
UPDATE quest_template SET RewardFactionOverride1=20000, RewardFactionOverride2=0,RewardFactionOverride3=0,RewardFactionOverride4=0,RewardFactionOverride5=0 WHERE ID=7784; UPDATE quest_template SET RewardFactionOverride1=20000, RewardFactionOverride2=0,RewardFactionOverride3=0,RewardFactionOverride4=0,RewardFactionOverride5=0 WHERE ID=7784;

View File

@@ -143,6 +143,12 @@ void IndividualProgression::AdjustStats(Player* player, float computedAdjustment
player->CastCustomSpell(player, ABSORB_SPELL, &bp1, nullptr, nullptr, false); player->CastCustomSpell(player, ABSORB_SPELL, &bp1, nullptr, nullptr, false);
} }
float IndividualProgression::ComputeVanillaAdjustment(Player *player, float configAdjustmentValue)
{
float adjustmentApplyPercent = (player->getLevel() - 10.0f) / 50.0f;
return player->getLevel() > 10 ? 1.0f - ((1.0f - configAdjustmentValue) * adjustmentApplyPercent) : 1;
}
/** /**
* Gets the highest progression level achieved by an account * Gets the highest progression level achieved by an account
* Note that this method makes a direct, non-sync DB call and should be used sparingly * Note that this method makes a direct, non-sync DB call and should be used sparingly

View File

@@ -44,6 +44,7 @@ enum BuffSpells
ABSORB_SPELL = 89505, ABSORB_SPELL = 89505,
RANGED_HASTE_SPELL = 89507, RANGED_HASTE_SPELL = 89507,
SPELL_RUNE_TAP = 48982, SPELL_RUNE_TAP = 48982,
SPELL_LIFE_STEAL = 20004,
IPP_PHASE = 89509 IPP_PHASE = 89509
}; };
@@ -161,6 +162,7 @@ public:
void checkKillProgression(Player* player, Creature* killed); void checkKillProgression(Player* player, Creature* killed);
static void LoadCustomProgressionEntries(const std::string& customProgressionString); static void LoadCustomProgressionEntries(const std::string& customProgressionString);
static void AdjustStats(Player* player, float computedAdjustment, float computedHealingAdjustment); static void AdjustStats(Player* player, float computedAdjustment, float computedHealingAdjustment);
static float ComputeVanillaAdjustment(Player* player, float configAdjustmentValue);
static uint8 GetAccountProgression(uint32 accountId); static uint8 GetAccountProgression(uint32 accountId);
}; };

View File

@@ -475,7 +475,13 @@ public:
void ModifyHealReceived(Unit* /*target*/, Unit *healer, uint32 &heal, SpellInfo const *spellInfo) override void ModifyHealReceived(Unit* /*target*/, Unit *healer, uint32 &heal, SpellInfo const *spellInfo) override
{ {
// Skip potions, bandages, percentage based heals like Rune Tap, etc. // Skip potions, bandages, percentage based heals like Rune Tap, etc.
if (!sIndividualProgression->enabled || spellInfo->HasAttribute(SPELL_ATTR0_NO_IMMUNITIES) || spellInfo->Mechanic == MECHANIC_BANDAGE || spellInfo->Id == SPELL_RUNE_TAP) if (!sIndividualProgression->enabled || spellInfo->HasAttribute(SPELL_ATTR0_NO_IMMUNITIES) || spellInfo->Mechanic == MECHANIC_BANDAGE)
{
return;
}
// Skip percentage based heals or spells already nerfed by damage reduction
if (spellInfo->Id == SPELL_RUNE_TAP || spellInfo->Id == SPELL_LIFE_STEAL)
{ {
return; return;
} }
@@ -493,7 +499,7 @@ public:
float gearAdjustment = computeTotalGearTuning(player); float gearAdjustment = computeTotalGearTuning(player);
if (!sIndividualProgression->hasPassedProgression(player, PROGRESSION_NAXX40)) if (!sIndividualProgression->hasPassedProgression(player, PROGRESSION_NAXX40))
{ {
heal *= (sIndividualProgression->vanillaHealingAdjustment - gearAdjustment); heal *= (sIndividualProgression->ComputeVanillaAdjustment(player, sIndividualProgression->vanillaHealingAdjustment) - gearAdjustment);
} }
else if (!sIndividualProgression->hasPassedProgression(player, PROGRESSION_TBC_TIER_5)) else if (!sIndividualProgression->hasPassedProgression(player, PROGRESSION_TBC_TIER_5))
{ {
@@ -519,7 +525,7 @@ public:
float gearAdjustment = computeTotalGearTuning(player); float gearAdjustment = computeTotalGearTuning(player);
if (!sIndividualProgression->hasPassedProgression(player, PROGRESSION_NAXX40)) if (!sIndividualProgression->hasPassedProgression(player, PROGRESSION_NAXX40))
{ {
damage *= (sIndividualProgression->vanillaPowerAdjustment - gearAdjustment); damage *= (sIndividualProgression->ComputeVanillaAdjustment(player, sIndividualProgression->vanillaPowerAdjustment) - gearAdjustment);
} }
else if (!sIndividualProgression->hasPassedProgression(player, PROGRESSION_TBC_TIER_5)) else if (!sIndividualProgression->hasPassedProgression(player, PROGRESSION_TBC_TIER_5))
{ {
@@ -545,7 +551,7 @@ public:
float gearAdjustment = computeTotalGearTuning(player); float gearAdjustment = computeTotalGearTuning(player);
if (!sIndividualProgression->hasPassedProgression(player, PROGRESSION_NAXX40)) if (!sIndividualProgression->hasPassedProgression(player, PROGRESSION_NAXX40))
{ {
damage *= (sIndividualProgression->vanillaPowerAdjustment - gearAdjustment); damage *= (sIndividualProgression->ComputeVanillaAdjustment(player, sIndividualProgression->vanillaPowerAdjustment) - gearAdjustment);
} }
else if (!sIndividualProgression->hasPassedProgression(player, PROGRESSION_TBC_TIER_5)) else if (!sIndividualProgression->hasPassedProgression(player, PROGRESSION_TBC_TIER_5))
{ {