aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNay <dnpd.dd@gmail.com>2012-08-13 17:00:34 -0700
committerNay <dnpd.dd@gmail.com>2012-08-13 17:00:34 -0700
commit2c4de60a66b0af8dd02e645f4ea694b71c1ac8d2 (patch)
tree7dacf96a770b304e9d9430a658a2f5d211bac112
parent6dabeb0b31367a5ef11a7a7040b24ad18156d4b6 (diff)
parent0b157c90662b03a9cc25f03f326accb6bda350eb (diff)
Merge pull request #7389 from Kiperr/4.3.4
Core/Globals: Add 5th field in reputation_spillover_template for Bilgewa...
-rw-r--r--sql/updates/world/2012_08_12_03_world_misc_434.sql (renamed from sql/updates/world/2012_08_17_00_world_misc_434.sql)0
-rw-r--r--sql/updates/world/2012_08_14_00_reputation_spillover_template.sql12
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp13
-rwxr-xr-xsrc/server/game/Miscellaneous/SharedDefines.h2
4 files changed, 24 insertions, 3 deletions
diff --git a/sql/updates/world/2012_08_17_00_world_misc_434.sql b/sql/updates/world/2012_08_12_03_world_misc_434.sql
index aa6c11ee1f8..aa6c11ee1f8 100644
--- a/sql/updates/world/2012_08_17_00_world_misc_434.sql
+++ b/sql/updates/world/2012_08_12_03_world_misc_434.sql
diff --git a/sql/updates/world/2012_08_14_00_reputation_spillover_template.sql b/sql/updates/world/2012_08_14_00_reputation_spillover_template.sql
new file mode 100644
index 00000000000..cc7e011ca43
--- /dev/null
+++ b/sql/updates/world/2012_08_14_00_reputation_spillover_template.sql
@@ -0,0 +1,12 @@
+ALTER TABLE `reputation_spillover_template`
+ADD COLUMN `faction5` SMALLINT(6) UNSIGNED DEFAULT '0' NOT NULL AFTER `rank_4`,
+ADD COLUMN `rate_5` FLOAT DEFAULT '0' NOT NULL AFTER `faction5`,
+ADD COLUMN `rank_5` TINYINT(3) UNSIGNED DEFAULT '0' NOT NULL AFTER `rate_5`;
+
+UPDATE `reputation_spillover_template` SET `faction5`=1134,`rate_5`=0.25,`rank_5`=7 WHERE `faction` IN (72,47,54,930,69);
+UPDATE `reputation_spillover_template` SET `faction5`=1133,`rate_5`=0.25,`rank_5`=7 WHERE `faction` IN (76,530,911,81,68);
+
+DELETE FROM `reputation_spillover_template` WHERE `faction` IN (1134,1133);
+INSERT INTO `reputation_spillover_template`(`faction`,`faction1`,`rate_1`,`rank_1`,`faction2`,`rate_2`,`rank_2`,`faction3`,`rate_3`,`rank_3`,`faction4`,`rate_4`,`rank_4`,`faction5`,`rate_5`,`rank_5`) VALUES
+(1134,72,0.25,7,47,0.27,7,54,0.25,7,930,0.25,7,69,0.25,7),
+(1133,76,0.25,7,530,0.27,7,911,0.25,7,81,0.25,7,68,0.25,7), \ No newline at end of file
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index 897446a73f9..c63f599cd45 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -6804,8 +6804,8 @@ void ObjectMgr::LoadReputationSpilloverTemplate()
_repSpilloverTemplateStore.clear(); // for reload case
- uint32 count = 0; // 0 1 2 3 4 5 6 7 8 9 10 11 12
- QueryResult result = WorldDatabase.Query("SELECT faction, faction1, rate_1, rank_1, faction2, rate_2, rank_2, faction3, rate_3, rank_3, faction4, rate_4, rank_4 FROM reputation_spillover_template");
+ uint32 count = 0; // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ QueryResult result = WorldDatabase.Query("SELECT faction, faction1, rate_1, rank_1, faction2, rate_2, rank_2, faction3, rate_3, rank_3, faction4, rate_4, rank_4, faction5, rate_5, rank_5 FROM reputation_spillover_template");
if (!result)
{
@@ -6834,6 +6834,9 @@ void ObjectMgr::LoadReputationSpilloverTemplate()
repTemplate.faction[3] = fields[10].GetUInt16();
repTemplate.faction_rate[3] = fields[11].GetFloat();
repTemplate.faction_rank[3] = fields[12].GetUInt8();
+ repTemplate.faction[4] = fields[13].GetUInt16();
+ repTemplate.faction_rate[4] = fields[14].GetFloat();
+ repTemplate.faction_rank[4] = fields[15].GetUInt16();
FactionEntry const* factionEntry = sFactionStore.LookupEntry(factionId);
@@ -6899,6 +6902,12 @@ void ObjectMgr::LoadReputationSpilloverTemplate()
sLog->outError(LOG_FILTER_SQL, "Faction (faction.dbc) %u does not exist but is used in `reputation_spillover_template`", repTemplate.faction[3]);
continue;
}
+ FactionEntry const* factionEntry4 = sFactionStore.LookupEntry(repTemplate.faction[4]);
+ if (repTemplate.faction[4] && !factionEntry4)
+ {
+ sLog->outError(LOG_FILTER_SQL, "Faction (faction.dbc) %u does not exist but is used in `reputation_spillover_template`", repTemplate.faction[4]);
+ continue;
+ }
_repSpilloverTemplateStore[factionId] = repTemplate;
diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h
index cd44c362258..1774facf874 100755
--- a/src/server/game/Miscellaneous/SharedDefines.h
+++ b/src/server/game/Miscellaneous/SharedDefines.h
@@ -153,7 +153,7 @@ enum ReputationRank
#define MIN_REPUTATION_RANK (REP_HATED)
#define MAX_REPUTATION_RANK 8
-#define MAX_SPILLOVER_FACTIONS 4
+#define MAX_SPILLOVER_FACTIONS 5
enum MoneyConstants
{