[10252] Implement reputation_reward_rate for quests and creatures

* In addition, implement "flat" reputation for quests, where a value in RewRepValueN is given. Human diplomacy will not affect the total. The rate however will be applied, where a faction is defined with a rate for quests. Value in database are expected to be *100 of the actual value given (before rate are applied).
* New database storage can contain rates for quest/creature/spell reputation and will affect the base value given as reward. When for example the quest reward for a faction should receive 30% more reputation points, the rate can be set to 1.3.
* This will fix issues with certain quests that are using the expected RewRepValueId but where the outcome has been lower than expected.
* Note that if the rate is set to 0.0 it will disable reputation gain for the faction and type.
* Reputation rate for spells (spell effect) is not yet implemented

Signed-off-by: NoFantasy <nofantasy@nf.no>
This commit is contained in:
NoFantasy 2010-07-23 17:49:13 +02:00
parent 50c2e8eca2
commit 61990de6dd
13 changed files with 159 additions and 9 deletions

View file

@ -512,6 +512,14 @@ bool ChatHandler::HandleReloadReservedNameCommand(const char*)
return true;
}
bool ChatHandler::HandleReloadReputationRewardRateCommand(const char*)
{
sLog.outString( "Re-Loading `reputation_reward_rate` Table!" );
sObjectMgr.LoadReputationRewardRate();
SendGlobalSysMessage("DB table `reputation_reward_rate` reloaded.");
return true;
}
bool ChatHandler::HandleReloadSkillDiscoveryTemplateCommand(const char* /*args*/)
{
sLog.outString( "Re-Loading Skill Discovery Table..." );