creature_onkill_reputation表

概述

creature_onkill_reputation表是AzerothCore中控制击杀生物时声望变化的表格。它定义了击杀特定生物时玩家获得或失去的声望值,以及影响哪些阵营的声望。

表格作用

表格结构

字段名 数据类型 默认值 说明
creature_id MEDIUMINT UNSIGNED 0 生物模板ID,对应creature_template.entry
详细说明:生物模板的ID,指定哪些生物在被击杀时会触发声望变化。这是复合主键的一部分。
取值范围:1 - 16777215
关联关系:
  • 必须对应creature_template表中存在的entry
  • 一个生物可以有多个声望奖励记录
  • 支持不同阵营的声望变化
RewOnKillRepFaction1 SMALLINT 0 第一个声望阵营ID
详细说明:击杀生物时影响的第一个声望阵营ID。对应Faction.dbc文件中的阵营定义。
取值范围:-32768 到 32767 (0表示不影响任何阵营)
常用阵营:
  • 72 - 暴风城
  • 76 - 铁炉堡
  • 69 - 达纳苏斯
  • 81 - 雷霆崖
  • 68 - 幽暗城
  • 76 - 奥格瑞玛
  • 529 - 阿根图斯之手
  • 942 - 塞纳里奥远征队
RewOnKillRepValue1 INT 0 第一个阵营声望值
详细说明:击杀生物时第一个阵营获得的声望值。正值表示声望增加,负值表示声望减少。
取值范围:-2147483648 到 2147483647
声望等级:
  • 仇恨 - 需要36000声望点
  • 敌对 - 需要3000声望点
  • 冷淡 - 需要3000声望点
  • 中立 - 起始点 (0)
  • 友善 - 需要3000声望点
  • 尊敬 - 需要6000声望点
  • 崇拜 - 需要12000声望点
  • 崇敬 - 需要21000声望点

典型数值:
  • 普通怪物: 5-25声望
  • 精英怪物: 15-50声望
  • 稀有怪物: 25-100声望
  • BOSS: 50-250声望
MaxStanding1 TINYINT 0 第一个阵营最大声望等级
详细说明:第一个阵营能够通过击杀此生物达到的最大声望等级。达到此等级后,击杀该生物将不再获得声望。
声望等级对应:
  • 0 - 仇恨
  • 1 - 敌对
  • 2 - 冷淡
  • 3 - 中立
  • 4 - 友善
  • 5 - 尊敬
  • 6 - 崇拜
  • 7 - 崇敬

设计考虑:
  • 防止玩家通过刷怪无限获得声望
  • 平衡不同获得声望的途径
  • 鼓励玩家进行多样化的活动
RewOnKillRepFaction2 SMALLINT 0 第二个声望阵营ID
详细说明:击杀生物时影响的第二个声望阵营ID。允许一次击杀影响多个阵营的声望。
应用场景:
  • 击杀敌对阵营生物,同时影响多个友方阵营
  • 某些中立组织与多个阵营有关联
  • 复杂的阵营关系网络
  • 特殊事件或活动期间的声望奖励
RewOnKillRepValue2 INT 0 第二个阵营声望值
详细说明:击杀生物时第二个阵营获得的声望值。可以与第一个阵营的声望值不同。
设计策略:
  • 主要阵营获得较多声望
  • 次要阵营获得较少声望
  • 敌对阵营可能失去声望
  • 平衡各阵营的声望获得速度
MaxStanding2 TINYINT 0 第二个阵营最大声望等级
详细说明:第二个阵营能够通过击杀此生物达到的最大声望等级。
平衡设计:可以为不同阵营设置不同的最大等级,实现更精细的声望控制。
TeamDependent TINYINT UNSIGNED 0 是否依赖团队 (0=否, 1=是)
详细说明:控制声望奖励是否依赖于玩家的阵营(联盟/部落)。
设置选项:
  • 0 - 不依赖团队,所有玩家获得相同声望
  • 1 - 依赖团队,联盟和部落玩家可能获得不同声望

应用场景:
  • 中立阵营怪物通常设置为0
  • 特定阵营的敌人设置为1
  • 跨阵营活动可能设置为0
  • PvP相关内容通常设置为1

使用示例

为生物添加声望奖励

INSERT INTO creature_onkill_reputation 
(creature_id, RewOnKillRepFaction1, RewOnKillRepValue1, MaxStanding1, TeamDependent)
VALUES (12345, 72, 25, 5, 0);

设置双阵营声望奖励

INSERT INTO creature_onkill_reputation 
(creature_id, RewOnKillRepFaction1, RewOnKillRepValue1, MaxStanding1, 
 RewOnKillRepFaction2, RewOnKillRepValue2, MaxStanding2, TeamDependent)
VALUES (12346, 72, 15, 4, 529, 10, 5, 1);

查询特定生物的声望设置

SELECT * FROM creature_onkill_reputation WHERE creature_id = 12345;

查找高声望奖励的生物

SELECT creature_id, RewOnKillRepValue1, RewOnKillRepValue2 
FROM creature_onkill_reputation 
WHERE RewOnKillRepValue1 > 50 OR RewOnKillRepValue2 > 50;

常见问题

如何设置合适的声望值?

参考生物的等级和稀有度:普通怪物5-25点,精英怪物15-50点,BOSS 50-250点。

MaxStanding的作用是什么?

防止玩家通过重复击杀同一类型怪物无限获得声望,达到指定等级后不再获得声望。

TeamDependent何时设置为1?

当声望奖励需要区分联盟和部落玩家时设置为1,如击杀对方阵营的NPC。

可以设置负声望值吗?

可以,负值表示声望减少,常用于击杀友方或中立NPC的惩罚。

相关表格