creature_onkill_reputation表是AzerothCore中控制击杀生物时声望变化的表格。它定义了击杀特定生物时玩家获得或失去的声望值,以及影响哪些阵营的声望。
字段名 | 数据类型 | 默认值 | 说明 |
---|---|---|---|
creature_id | MEDIUMINT UNSIGNED | 0 | 生物模板ID,对应creature_template.entry |
详细说明:生物模板的ID,指定哪些生物在被击杀时会触发声望变化。这是复合主键的一部分。
取值范围:1 - 16777215 关联关系:
|
|||
RewOnKillRepFaction1 | SMALLINT | 0 | 第一个声望阵营ID |
详细说明:击杀生物时影响的第一个声望阵营ID。对应Faction.dbc文件中的阵营定义。
取值范围:-32768 到 32767 (0表示不影响任何阵营) 常用阵营:
|
|||
RewOnKillRepValue1 | INT | 0 | 第一个阵营声望值 |
详细说明:击杀生物时第一个阵营获得的声望值。正值表示声望增加,负值表示声望减少。
取值范围:-2147483648 到 2147483647 声望等级:
典型数值:
|
|||
MaxStanding1 | TINYINT | 0 | 第一个阵营最大声望等级 |
详细说明:第一个阵营能够通过击杀此生物达到的最大声望等级。达到此等级后,击杀该生物将不再获得声望。
声望等级对应:
设计考虑:
|
|||
RewOnKillRepFaction2 | SMALLINT | 0 | 第二个声望阵营ID |
详细说明:击杀生物时影响的第二个声望阵营ID。允许一次击杀影响多个阵营的声望。
应用场景:
|
|||
RewOnKillRepValue2 | INT | 0 | 第二个阵营声望值 |
详细说明:击杀生物时第二个阵营获得的声望值。可以与第一个阵营的声望值不同。
设计策略:
|
|||
MaxStanding2 | TINYINT | 0 | 第二个阵营最大声望等级 |
详细说明:第二个阵营能够通过击杀此生物达到的最大声望等级。
平衡设计:可以为不同阵营设置不同的最大等级,实现更精细的声望控制。 |
|||
TeamDependent | TINYINT UNSIGNED | 0 | 是否依赖团队 (0=否, 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点。
防止玩家通过重复击杀同一类型怪物无限获得声望,达到指定等级后不再获得声望。
当声望奖励需要区分联盟和部落玩家时设置为1,如击杀对方阵营的NPC。
可以,负值表示声望减少,常用于击杀友方或中立NPC的惩罚。