reputation_spillover_template表

概述

reputation_spillover_template表是AzerothCore中声望溢出系统的核心表格,用于定义当玩家获得某个阵营的声望时,如何将部分声望"溢出"到其他相关阵营。这个机制模拟了现实中阵营之间的关系和影响。

表格作用

表格结构

字段名 数据类型 默认值 说明
faction SMALLINT UNSIGNED 0 源阵营ID
faction1 SMALLINT UNSIGNED 0 溢出目标阵营1
rate_1 FLOAT 0 溢出比率1
rank_1 TINYINT UNSIGNED 0 溢出等级限制1
faction2 SMALLINT UNSIGNED 0 溢出目标阵营2
rate_2 FLOAT 0 溢出比率2
rank_2 TINYINT UNSIGNED 0 溢出等级限制2
faction3 SMALLINT UNSIGNED 0 溢出目标阵营3
rate_3 FLOAT 0 溢出比率3
rank_3 TINYINT UNSIGNED 0 溢出等级限制3
faction4 SMALLINT UNSIGNED 0 溢出目标阵营4
rate_4 FLOAT 0 溢出比率4
rank_4 TINYINT UNSIGNED 0 溢出等级限制4

字段详细说明

faction (源阵营ID)

触发声望溢出的源阵营ID。当玩家获得这个阵营的声望时,会按照配置将部分声望溢出到其他阵营。

faction1-4 (溢出目标阵营)

声望溢出的目标阵营ID。一个源阵营最多可以向4个不同的目标阵营溢出声望。如果设置为0,则表示该溢出槽位未使用。

rate_1-4 (溢出比率)

声望溢出的比率,表示源阵营获得的声望有多少比例会溢出到目标阵营:

rank_1-4 (溢出等级限制)

声望溢出的等级限制,只有当目标阵营的声望等级低于此值时才会发生溢出:

等级值 声望等级 说明
0 仇恨 只在仇恨等级时溢出
1 敌对 在敌对及以下等级时溢出
2 冷淡 在冷淡及以下等级时溢出
3 中立 在中立及以下等级时溢出
4 友善 在友善及以下等级时溢出
5 尊敬 在尊敬及以下等级时溢出
6 崇敬 在崇敬及以下等级时溢出
7 崇拜 在所有等级时都溢出

使用示例

示例1:联盟主城声望溢出

场景:暴风城声望溢出到其他联盟主城

INSERT INTO reputation_spillover_template (faction, faction1, rate_1, rank_1, faction2, rate_2, rank_2) VALUES
(72, 69, 0.25, 4, 54, 0.25, 4);

说明:暴风城(72)声望的25%溢出到达纳苏斯(69)和格诺姆雷根(54),直到友善等级

示例2:敌对阵营声望损失

场景:提升联盟声望时降低部落声望

INSERT INTO reputation_spillover_template (faction, faction1, rate_1, rank_1, faction2, rate_2, rank_2) VALUES
(72, 76, -0.5, 2, 68, -0.3, 2);

说明:获得暴风城(72)声望时,奥格瑞玛(76)损失50%,幽暗城(68)损失30%,直到中立等级

示例3:中立阵营声望溢出

场景:塞纳里奥议会声望溢出到自然相关阵营

INSERT INTO reputation_spillover_template (faction, faction1, rate_1, rank_1, faction2, rate_2, rank_2) VALUES
(609, 576, 0.5, 5, 942, 0.3, 4);

说明:塞纳里奥议会(609)声望的50%溢出到塞纳里奥远征队(576),30%溢出到银色黎明(942)

溢出机制详解

溢出计算公式

声望溢出的计算遵循以下公式:

溢出声望 = 源阵营获得声望 × 溢出比率

条件:目标阵营当前等级 ≤ 等级限制

溢出条件

条件 说明 示例
等级限制 只有当目标阵营等级不超过限制时才溢出 rank_1=4时,只在友善及以下等级溢出
阵营有效性 目标阵营ID必须存在且有效 faction1不能为0或无效ID
比率有效性 溢出比率不能为0 rate_1=0时不会发生溢出
玩家状态 玩家必须能够获得目标阵营声望 不能向敌对阵营溢出正声望

溢出类型

正向溢出 (rate > 0)

增加目标阵营的声望值,常用于友好阵营之间:

负向溢出 (rate < 0)

减少目标阵营的声望值,常用于敌对阵营之间:

常见配置模式

联盟主城溢出配置

-- 暴风城向其他联盟主城溢出
INSERT INTO reputation_spillover_template VALUES
(72, 69, 0.25, 4, 54, 0.25, 4, 47, 0.25, 4, 0, 0, 0);

-- 达纳苏斯向其他联盟主城溢出
INSERT INTO reputation_spillover_template VALUES
(69, 72, 0.25, 4, 54, 0.25, 4, 47, 0.25, 4, 0, 0, 0);

-- 格诺姆雷根向其他联盟主城溢出
INSERT INTO reputation_spillover_template VALUES
(54, 72, 0.25, 4, 69, 0.25, 4, 47, 0.25, 4, 0, 0, 0);

部落主城溢出配置

-- 奥格瑞玛向其他部落主城溢出
INSERT INTO reputation_spillover_template VALUES
(76, 81, 0.25, 4, 68, 0.25, 4, 530, 0.25, 4, 0, 0, 0);

-- 雷霆崖向其他部落主城溢出
INSERT INTO reputation_spillover_template VALUES
(81, 76, 0.25, 4, 68, 0.25, 4, 530, 0.25, 4, 0, 0, 0);

-- 幽暗城向其他部落主城溢出
INSERT INTO reputation_spillover_template VALUES
(68, 76, 0.25, 4, 81, 0.25, 4, 530, 0.25, 4, 0, 0, 0);

阵营对立配置

-- 联盟声望导致部落声望损失
INSERT INTO reputation_spillover_template VALUES
(72, 76, -0.5, 2, 81, -0.3, 2, 68, -0.3, 2, 0, 0, 0);

-- 部落声望导致联盟声望损失
INSERT INTO reputation_spillover_template VALUES
(76, 72, -0.5, 2, 69, -0.3, 2, 54, -0.3, 2, 0, 0, 0);

管理和维护

查询现有配置

-- 查看所有溢出配置
SELECT * FROM reputation_spillover_template;

-- 查看特定阵营的溢出配置
SELECT * FROM reputation_spillover_template WHERE faction = 72;

-- 查看负向溢出配置
SELECT * FROM reputation_spillover_template WHERE rate_1 < 0 OR rate_2 < 0 OR rate_3 < 0 OR rate_4 < 0;

修改配置

-- 修改溢出比率
UPDATE reputation_spillover_template SET rate_1 = 0.5 WHERE faction = 72;

-- 修改等级限制
UPDATE reputation_spillover_template SET rank_1 = 5 WHERE faction = 72;

-- 删除溢出配置
DELETE FROM reputation_spillover_template WHERE faction = 76;

重载配置

修改配置后需要重载数据:

.reload reputation_spillover_template

注意事项

⚠️ 重要提醒

相关表格

reputation_spillover_template表经常与以下表格配合使用: