character_pet_declinedname 宠物名词变格表
基于 AzerothCore 官方数据库 · Characters 库 · 存储宠物名称的语法变格(俄语/德语等)
表概述
character_pet_declinedname 表存储宠物名称在不同语法格下的变体。用于特定语言的语法变化(如俄语的名词变格),使NPC对话中的宠物名称更自然。
核心概念:某些语言(如俄语)中名词根据语法用途有不同的形式。此表存储5种变格形式,类似于 character_declinedname 但用于宠物。
表结构
| 字段名 | 数据类型 | 默认值 | 说明 |
|---|---|---|---|
| id | INT UNSIGNED | 0 | 宠物ID(主键),关联 → character_pet.id |
| owner | INT UNSIGNED | 0 | 主人GUID,关联 → characters.guid |
| genitive | VARCHAR(12) | '' | 属格(所有格)形式:"谁的" |
| dative | VARCHAR(12) | '' | 与格(间接宾语)形式:"给谁" |
| accusative | VARCHAR(12) | '' | 宾格(直接宾语)形式:"看到谁" |
| instrumental | VARCHAR(12) | '' | 工具格形式:"用谁/和谁" |
| prepositional | VARCHAR(12) | '' | 前置格形式:"关于谁" |
重要字段详解
五种语法变格
详细说明:每种变格对应不同的语法作用场景。语法格
- genitive (属格):"Fred的爪子" → 使用属格形式
- dative (与格):"给Fred食物" → 使用与格形式
- accusative (宾格):"看见Fred" → 使用宾格形式
- instrumental (工具格):"和Fred一起" → 使用工具格形式
- prepositional (前置格):"关于Fred" → 使用前置格形式
适用语言
详细说明:主要针对俄语客户端,中文和英文客户端不使用变格。
- 英语/中文:名词不变格,这些字段通常为空或与原名相同
- 俄语:必需,否则NPC对宠物名称的引用会出现语法错误
- 德语:部分使用变格
SQL示例:查看宠物变格 →
SELECT * FROM character_pet_declinedname WHERE owner=1;SQL查询示例
-- 查看角色所有宠物的变格数据
SELECT cpd.id, cp.name AS pet_name,
cpd.genitive, cpd.dative, cpd.accusative
FROM character_pet_declinedname cpd
JOIN character_pet cp ON cpd.id = cp.id
WHERE cpd.owner = 1;-- 清理孤儿变格数据(宠物已删除但变格还在)
DELETE FROM character_pet_declinedname
WHERE id NOT IN (SELECT id FROM character_pet);常见问题
Q: 中文服务器需要此表吗?
不需要。中文没有名词变格,表中的变格字段会保持为空或与宠物原名相同,不影响游戏功能。
Q: 宠物改名后变格数据会更新吗?
会。当玩家给宠物改名时,服务端会根据新名称重新生成所有变格形式,更新此表中的记录。