全站通知:
模块:GiftTastesNPC/data
刷
历
编
跳到导航
跳到搜索
当前页面的数据通过以下 Python 代码生成,后续如果游戏版本更新,可重新执行脚本,导出最新的数据。
本 Python 脚本部分内容与 MediaWiki 解析发生冲突,原脚本:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
星露谷物语 NPCGiftTastes.zh-CN.json 转 Lua 数据转换器
此脚本将 NPCGiftTastes.zh-CN.json 文件转换为 Lua 数据格式。
NPCGiftTastes数据格式说明:
1. Universal_* 键: 通用喜好,对所有村民有效
- 值为用空格分隔的ID数组
- 正数表示物品ID,负数表示类别ID
2. NPC名称键: 个人喜好,格式为用"/"分隔的字符串
结构: 最爱对话/最爱物品ID/喜欢对话/喜欢物品ID/不喜欢对话/不喜欢物品ID/讨厌对话/讨厌物品ID/一般对话/一般物品ID
"""
import json
import os
import re
from typing import Dict, List, Any, Union
class NPCGiftTastesConverter:
def __init__(self, input_file: str, output_file: str = None):
"""
初始化转换器
Args:
input_file (str): 输入的JSON文件路径
output_file (str): 输出的Lua文件路径,如果为None则自动生成
"""
self.input_file = input_file
self.output_file = output_file or self._generate_output_filename()
# 通用喜好级别映射
self.universal_levels = [
'Universal_Love',
'Universal_Like',
'Universal_Neutral',
'Universal_Dislike',
'Universal_Hate'
]
# 个人喜好级别映射(索引对应NPC数据中的位置)
self.personal_levels = [
'love', # 0,1 最爱
'like', # 2,3 喜欢
'dislike', # 4,5 不喜欢
'hate', # 6,7 讨厌
'neutral' # 8,9 一般
]
def _generate_output_filename(self) -> str:
"""生成输出文件名"""
base_name = os.path.splitext(self.input_file)[0]
return f"{base_name}.lua"
def _escape_lua_string(self, text: str) -> str:
"""转义Lua字符串中的特殊字符"""
if not text:
return '""'
# 转义特殊字符
text = text.replace('\\', '\\\\')
text = text.replace('"', '\\"')
text = text.replace('\n', '\\n')
text = text.replace('\r', '\\r')
text = text.replace('\t', '\\t')
return f'"{text}"'
def _parse_id_list(self, id_string: str) -> List[Union[int, str]]:
"""解析空格分隔的ID列表,可以是数字或字符串"""
if not id_string or id_string.strip() == '':
return []
ids = []
for id_str in id_string.strip().split():
try:
# 尝试将ID转换为整数
ids.append(int(id_str))
except ValueError:
# 如果不是数字,可能是特殊标识符 (例如物品的英文名),作为字符串保留
ids.append(id_str)
return ids
def _parse_npc_data(self, npc_data: str) -> Dict[str, Any]:
"""
解析NPC个人喜好数据
格式: 最爱对话/最爱物品/喜欢对话/喜欢物品/不喜欢对话/不喜欢物品/讨厌对话/讨厌物品/一般对话/一般物品
"""
parts = npc_data.split('/')
# 确保有足够的部分(至少10个部分)
while len(parts) < 10:
parts.append('')
result = {}
for i, level in enumerate(self.personal_levels):
dialogue_index = i * 2
items_index = i * 2 + 1
dialogue = parts[dialogue_index] if dialogue_index < len(parts) else ''
items_str = parts[items_index] if items_index < len(parts) else ''
result[level] = {
'dialogue': dialogue.strip(),
'items': self._parse_id_list(items_str)
}
return result
def _convert_to_lua_table(self, data: Any, indent: int = 0) -> str:
"""将数据转换为Lua表格式"""
indent_str = ' ' * indent
if isinstance(data, dict):
if not data:
return '{}'
lines = ['{']
for key, value in data.items():
# 确保键名是有效的Lua标识符或使用方括号语法
if isinstance(key, str) and re.match(r'^[a-zA-Z_][a-zA-Z0-9_]*$', key):
key_str = key
else:
key_str = f'[{self._escape_lua_string(str(key))}]'
value_str = self._convert_to_lua_table(value, indent + 1)
lines.append(f'{indent_str} {key_str} = {value_str},')
lines.append(f'{indent_str}}}')
return '\n'.join(lines)
elif isinstance(data, list):
if not data:
return '{}'
# 如果是纯数字数组,使用紧凑格式
if all(isinstance(x, (int, float)) for x in data):
return '{' + ', '.join(str(x) for x in data) + '}'
# 否则,使用多行格式以提高可读性
else:
lines = ['{']
for item in data:
item_str = self._convert_to_lua_table(item, indent + 1)
lines.append(f'{indent_str} {item_str},')
lines.append(f'{indent_str}}}')
return '\n'.join(lines)
elif isinstance(data, str):
return self._escape_lua_string(data)
elif isinstance(data, (int, float)):
return str(data)
elif isinstance(data, bool):
return 'true' if data else 'false'
elif data is None:
return 'nil'
else:
return self._escape_lua_string(str(data))
def convert(self) -> None:
"""执行转换"""
print(f"开始转换: {self.input_file}")
# 读取JSON文件
try:
with open(self.input_file, 'r', encoding='utf-8') as f:
json_data = json.load(f)
except FileNotFoundError:
print(f"错误: 找不到文件 {self.input_file}")
return
except json.JSONDecodeError as e:
print(f"错误: JSON解析失败 - {e}")
return
except Exception as e:
print(f"错误: 读取文件失败 - {e}")
return
# 准备Lua数据结构
lua_data = {
'universal': {},
'npcs': {}
}
# 处理通用喜好
for level in self.universal_levels:
if level in json_data:
level_name = level.replace('Universal_', '').lower()
lua_data['universal'][level_name] = self._parse_id_list(json_data[level])
# 处理NPC个人喜好
for key, value in json_data.items():
if not key.startswith('Universal_'):
lua_data['npcs'][key] = self._parse_npc_data(value)
# 生成Lua文件内容
lua_content = self._generate_lua_file(lua_data)
# 写入Lua文件
try:
with open(self.output_file, 'w', encoding='utf-8') as f:
f.write(lua_content)
print(f"转换完成: {self.output_file}")
print(f"- 通用喜好级别: {len(lua_data['universal'])}")
print(f"- NPC数量: {len(lua_data['npcs'])}")
except Exception as e:
print(f"错误: 写入文件失败 - {e}")
def _generate_lua_file(self, data: Dict[str, Any]) -> str:
"""生成完整的Lua文件内容"""
header = '''--[[
星露谷物语 NPC礼物喜好数据 (中文版)
由脚本自动生成
数据结构说明:
- universal: 通用喜好,对所有NPC有效
- love/like/neutral/dislike/hate: 各级别喜好的物品/类别ID数组
- npcs: 各NPC的个人喜好
- [NPC名称]: NPC的个人喜好数据
- love/like/neutral/dislike/hate: 各级别的对话和物品数据
- dialogue: 对应级别的对话文本
- items: 对应级别的物品/类别ID数组
注意:
- 正数ID表示物品ID,负数ID表示类别ID
- 物品ID也可能是字符串形式(例如英文原名)
- 个人喜好会覆盖通用喜好
--]]
'''
lua_table = self._convert_to_lua_table(data)
return f'{header}local NPCGiftTastes = {lua_table}\n\nreturn NPCGiftTastes\n'
def main():
"""主函数"""
# 请确保此路径是您系统中正确的路径
input_file = r"C:\Program Files (x86)\Steam\steamapps\common\Stardew Valley\Content (unpacked)\Data\NPCGiftTastes.zh-CN.json"
# 检查输入文件是否存在
if not os.path.exists(input_file):
print(f"错误: 输入文件不存在: {input_file}")
print("请检查 main() 函数中的 input_file 路径是否正确。")
return
# 创建转换器并执行转换
converter = NPCGiftTastesConverter(input_file)
converter.convert()
print("\n脚本执行完毕!")
if __name__ == '__main__':
main()
[ 查看 | 编辑 | 历史 | 刷新 ]上述文档的内容来自模块:GiftTastesNPC/data/doc。
local NPCGiftTastes = {
universal = {
love = { 74, 446, 797, 373, 279 },
like = { -2, -7, -26, -75, -80, 72, 395, 613, 634, 635, 636, 637, 638, 724, 459, 873, 394, 166 },
neutral = { 194, 216, 262, 304, 815, "book_item" },
dislike = {
-4,
-8,
-12,
-15,
-16,
-19,
-22,
-24,
-25,
-28,
-74,
78,
169,
246,
247,
305,
309,
310,
311,
403,
419,
423,
535,
536,
537,
725,
726,
749,
271,
"Book_PriceCatalogue",
"category_trinket",
},
hate = {
0,
-20,
-21,
92,
110,
111,
112,
142,
152,
153,
157,
178,
105,
168,
170,
171,
172,
374,
376,
378,
380,
397,
420,
684,
721,
766,
767,
772,
203,
308,
265,
909,
910,
},
},
npcs = {
Robin = {
love = {
dialogue = "这是给我的吗?哇哦,我爱死它了!!",
items = { 224, 426, 636, "Book_Woodcutting" },
},
like = { dialogue = "谢谢!我很喜欢!", items = { -6, -79, 424, 709, "SkillBook_2" } },
dislike = { dialogue = "呃……为什么给我这个?", items = { 16, 330 } },
hate = { dialogue = "怎么回事……?这礼物太糟糕了!", items = {} },
neutral = { dialogue = "谢谢。这个我也许用得着。", items = {} },
},
Demetrius = {
love = { dialogue = "你把这个送给我?太棒了!", items = { 207, 232, 233, 400 } },
like = { dialogue = "非常感谢!这个标本很有意思。", items = { -5, -79, 422, 107 } },
dislike = { dialogue = "……这是什么?", items = { 80, 330 } },
hate = { dialogue = "这个真恶心。", items = {} },
neutral = { dialogue = "你想得真周到。", items = { -4 } },
},
Maru = {
love = {
dialogue = "那个是……?哇哦,@!太棒了!",
items = { 72, 197, 190, 215, 222, 243, 336, 337, 400, 787, 910, 122 },
},
like = {
dialogue = "真是份大礼!非常感谢!",
items = { -260, 62, 64, 66, 68, 70, 334, 335, 725, 726, 909, "edible_mushroom" },
},
dislike = {
dialogue = "噢!这是给我的?我要把它放在哪儿呢……",
items = { -4, 330, 414, 410, 404, 724 },
},
hate = { dialogue = "呸!你觉得我会喜欢这个?", items = { 340, 342, 430, 416 } },
neutral = { dialogue = "麻烦你了。", items = {} },
},
Sebastian = {
love = {
dialogue = "我真的很喜欢这东西。你怎么会知道的?",
items = { 84, 227, 236, 575, 305, "FrogEgg" },
},
like = { dialogue = "谢谢,我喜欢这个。", items = { 267, 614, 276, "Book_Void", "SkillBook_4" } },
dislike = { dialogue = "……?", items = { -81, -80 } },
hate = { dialogue = "……我讨厌这个。", items = { -5, 459, 195, 201, 240, 330, -26, 873 } },
neutral = { dialogue = "……谢谢。", items = { -4 } },
},
Linus = {
love = {
dialogue = "这份礼物真是太棒了!我这一天因为你变得格外特别。",
items = { 88, 90, 234, 242, 280, "Book_Trash" },
},
like = { dialogue = "这礼物真不错。非常感谢!", items = { -5, -6, -79, -81 } },
dislike = { dialogue = "唔……这个对我来说没什么用。", items = { -2, 330, 166 } },
hate = {
dialogue = "你为什么要给我这个?我住在帐篷里所以你觉得我喜欢垃圾吗?真差劲。",
items = {},
},
neutral = { dialogue = "礼物?真好啊。", items = { 774, -4, 142 } },
},
Pierre = {
love = { dialogue = "我最喜欢这个了!非常感谢!", items = { 202, "Book_PriceCatalogue" } },
like = {
dialogue = "你人真好。我喜欢这个。",
items = { -5, -6, -7, 18, 22, 402, 418, 259, 227 },
},
dislike = { dialogue = "这可不是我的最爱……", items = { -2, -81, 330 } },
hate = { dialogue = "拜托,再也别把这个带给我了。", items = { 167, -4, 199, 270, 229, 248 } },
neutral = { dialogue = "礼物?谢谢!", items = {} },
},
Caroline = {
love = {
dialogue = "你把这个送给我?我开心得不知道说什么了。",
items = { 213, 614, 593, 907 },
},
like = { dialogue = "噢,天哪!你真的送给我?", items = { -7, 18, 815, 402, 418, 16 } },
dislike = { dialogue = "不,不,不……", items = { -81, 330, 300, 306, 307 } },
hate = { dialogue = "这完全是垃圾。我感觉被侮辱了。", items = { 80, 296 } },
neutral = { dialogue = "噢,这个不错。谢谢。", items = {} },
},
Abigail = {
love = {
dialogue = "我真的很喜欢这个!你是最棒的,@!",
items = { 66, 128, 220, 226, 276, 611, 904, "Book_Void" },
},
like = {
dialogue = "嘿,你怎么知道我饿了的?这个看起来好好吃!",
items = { 119, 109, "SkillBook_4", "BasiliskPaw" },
},
dislike = { dialogue = "我能用这个干嘛?", items = { -5, -75, -79, 16, 245, 246 } },
hate = { dialogue = "你在想什么?真差劲!", items = { 330 } },
neutral = { dialogue = "你给我带了礼物?谢谢你啊。", items = {} },
},
Alex = {
love = { dialogue = "嘿,真棒!我超爱这个!", items = { 201, 212, "Book_Defense" } },
like = { dialogue = "这东西好酷!谢谢你啊。", items = { -5, 403, 107, "ParrotEgg" } },
dislike = { dialogue = "呃……好的。谢谢你了。", items = { 16, 330, "book_item" } },
hate = { dialogue = "你认真的吗?这是垃圾。", items = { 80 } },
neutral = { dialogue = "谢谢!", items = { "FrogEgg" } },
},
George = {
love = { dialogue = "这是我最喜欢的东西!谢谢。", items = { 20, 205 } },
like = { dialogue = "谢谢你啊。", items = { 18, 195, 199, 200, 214, 219, 223, 231, 233 } },
dislike = { dialogue = "真是个糟糕的礼物。", items = { -80, 16 } },
hate = { dialogue = "这是我见过最烂的礼物了。多谢。", items = { 22, 80, 330 } },
neutral = { dialogue = "礼物?唔……#$e#你想要什么回礼吗?", items = {} },
},
Evelyn = {
love = {
dialogue = "*喘气*……这真是了不起的礼物!$u#$e#你可真会逗老太太开心。",
items = { 72, 220, 239, 284, 591, 595, "Raisins" },
},
like = {
dialogue = "哎呀,它看上去棒极了!你人真好。",
items = { -6, 18, 402, 418, 170, "forage_item_beach" },
},
dislike = { dialogue = "呃,我该把它放在哪儿呢?", items = { 16, 80 } },
hate = {
dialogue = "……它的味道好难闻。",
items = { 225, 226, 227, 228, 219, 396, 248, 296, -4, 330 },
},
neutral = { dialogue = "真好啊。谢谢你,亲爱的。", items = {} },
},
Lewis = {
love = { dialogue = "哇哦,这是我的最爱!非常感谢!", items = { 200, 208, 235, 614, 260 } },
like = {
dialogue = "谢谢,这个好棒!",
items = { -80, 24, 88, 90, 192, 258, 264, 272, 274, 278, 258 },
},
dislike = { dialogue = "好吧,我想心意到了就行了……", items = { -6, 16, 330 } },
hate = { dialogue = "这让我觉得恶心。多可怕的礼物啊。", items = { 80 } },
neutral = { dialogue = "你真是太好了。感谢啊。", items = {} },
},
Clint = {
love = {
dialogue = "没错!我一直在找的就是这个!",
items = { 60, 62, 64, 66, 68, 70, 336, 337, 605, 649, 749 },
},
like = { dialogue = "有趣的礼物。谢谢!", items = { 334, 335, "SkillBook_3" } },
dislike = { dialogue = "*唉*……", items = { -80, 16, 80 } },
hate = { dialogue = "这让我很失望。", items = {} },
neutral = { dialogue = "谢谢你啊。", items = { -15 } },
},
Penny = {
love = {
dialogue = "非常感谢!我太喜欢这个了!",
items = { 60, 376, 651, 72, 164, 218, 230, 244, 254, "book_item" },
},
like = { dialogue = "非常感谢!这看起来很特别。", items = { -6, 20, 22, "ancient_item" } },
dislike = {
dialogue = "呃,给我的?……谢谢。",
items = { -4, 80, 330, 456, 457, 444, 440, 422, 420 },
},
hate = {
dialogue = "啊……抱歉,但是我真的很讨厌这个。",
items = { 446, 346, 348, 303, 304, 398, 459, 873 },
},
neutral = { dialogue = "谢谢,这看起来不错。", items = {} },
},
Pam = {
love = {
dialogue = "嘿,嘿!真是太棒了!万分感谢,孩子。",
items = { 24, 90, 199, 208, 303, 346, 459, 873 },
},
like = {
dialogue = "这次你做的很好,孩子。谢谢!",
items = { -6, -75, -79, 18, 227, 228, 231, 232, 233, 234, 235, 236, 238, 402, 418 },
},
dislike = { dialogue = "这不是我想要的。", items = { -5, 16, 80, 330 } },
hate = {
dialogue = "这样真的很恶劣。$u#$e#(这是什么恶作剧吗?)",
items = { 149, 151 },
},
neutral = { dialogue = "谢谢,孩子。", items = { -4, 167 } },
},
Emily = {
love = {
dialogue = "这礼物妙极了!太感谢你了。",
items = { 60, 62, 64, 66, 68, 70, 241, 428, 440, "ParrotEgg" },
},
like = {
dialogue = "非常感谢!这礼物让我感受到了正能量。",
items = { 18, 82, 84, 86, 196, 200, 207, 230, 235, 402, 418 },
},
dislike = { dialogue = "……抱歉,@。我不喜欢这个。", items = { 78, 232, 233, 225, 226 } },
hate = { dialogue = "这礼物有着强烈的负能量。我受不了。", items = { 212, 213, 227, 228 } },
neutral = { dialogue = "谢谢!", items = {} },
},
Haley = {
love = { dialogue = "天哪,这是我的最爱!!", items = { 221, 421, 610, 88 } },
like = {
dialogue = "*喘气*……给我的?非常感谢!",
items = { 18, 60, 62, 64, 70, 88, 222, 223, 232, 233, 234, 402, 418 },
},
dislike = { dialogue = "呃……真是件蠢礼物。", items = { -5, -6, -75, -79, -81, 80, -27 } },
hate = { dialogue = "恶心!", items = { -4, 16, 330, 74 } },
neutral = { dialogue = "谢谢。我喜欢礼物。", items = {} },
},
Jas = {
love = {
dialogue = "*惊喜*……哇哦!非常感谢!$h",
items = { 221, 595, 604, "doll_item", "toy_item", "FairyBox" },
},
like = {
dialogue = "我爱礼物!非常感谢!",
items = { 18, 60, 64, 70, 88, 232, 233, 234, 222, 223, 340, 344, 402, 418, 903, -6 },
},
dislike = { dialogue = "这是礼物吗?噢!$s", items = { -5, -81, -75, -79, 80 } },
hate = { dialogue = "呕。好恶心。$s", items = { 253, 395, 459, -26, 16, 330, 873 } },
neutral = { dialogue = "非常感谢!", items = {} },
},
Vincent = {
love = {
dialogue = "哇哦,太感谢你了!好极了!",
items = { 221, 398, 612, 721, 903, "FrogEgg" },
},
like = {
dialogue = "给我的?哇哦,谢谢!",
items = { 18, 60, 64, 70, 88, 232, 233, 234, 222, 223, 340, 344, 402, 418, -6 },
},
dislike = { dialogue = "这个没什么意思……$s", items = { -5, -75, -79, -81, 80 } },
hate = { dialogue = "呃,这是什么?$s", items = { 253, 395, 459, -26, 16, 330, 873 } },
neutral = { dialogue = "谢谢!", items = {} },
},
Jodi = {
love = {
dialogue = "噢,你真是个甜心!我太喜欢这个了!",
items = { 72, 200, 211, 214, 220, 222, 225, 231 },
},
like = {
dialogue = "非常感谢!我的一天都因为它变得特别了。",
items = { -5, -6, -79, 18, 402, 418 },
},
dislike = { dialogue = "嗯,我想我可以用它做堆肥……", items = { -81, 80, 248, 330 } },
hate = { dialogue = "*呸*……我讨厌这个……", items = { 18, 22, 396 } },
neutral = { dialogue = "你真是太好了!谢谢你啊。", items = {} },
},
Kent = {
love = {
dialogue = "噢……!我小时候妈妈经常给我这个。这让我回想起那段美好的时光。谢谢。",
items = { 607, 649 },
},
like = {
dialogue = "嘿,这真是个不错的礼物。谢谢你啊。",
items = { -5, -79, 18, 402, 418, "Book_Bombs" },
},
dislike = {
dialogue = "啊……啊……这是个……这到底是什么?嗯……唔……",
items = { 80, 330, 416, 873 },
},
hate = {
dialogue = "这个……在戈特洛集中营他们给过我这个。我一直试图忘了这件事。*发抖*",
items = { -6, 227, 229, 456 },
},
neutral = { dialogue = "你人真好。家里人会喜欢的。", items = {} },
},
Sam = {
love = { dialogue = "噢,太好了!这绝对是我的最爱!", items = { 90, 206, 562, 731 } },
like = {
dialogue = "谢谢!我真的很喜欢。",
items = { 167, 210, 213, 220, 223, 224, 228, 232, 233, 239, -5 },
},
dislike = { dialogue = "嗯……这……有点意思。", items = { -81, 80, 152, 330, -75 } },
hate = { dialogue = "你是故意的,对吗?", items = { 306, 307, 342, -15 } },
neutral = { dialogue = "你给我带了这个?谢谢!", items = {} },
},
Leah = {
love = {
dialogue = "噢!这正是我想要的!非常感谢!",
items = { 196, 200, 348, 606, 651, 426, 430 },
},
like = {
dialogue = "这礼物真不错!非常感谢!",
items = { -5, -6, -79, -81, 18, 402, 169, 406, 408, 418, 86 },
},
dislike = {
dialogue = "唔……我想每个人口味不一样。",
items = { -2, 152, 330, 221, 223, 229, 232, 233, 241, 209, 194 },
},
hate = { dialogue = "真是个糟糕的礼物,对吧?", items = { 305, 211, 210, 206, 216 } },
neutral = { dialogue = "谢谢。", items = {} },
},
Shane = {
love = {
dialogue = "哇哦,@!你怎么知道我最喜欢这个的?",
items = { 206, 215, 260, 346 },
},
like = { dialogue = "真是太棒了!谢谢!", items = { -5, -79, 303 } },
dislike = { dialogue = "我才不喜欢这个。", items = { -81, 152, 330 } },
hate = { dialogue = "我才不喜欢这个。", items = { 80, 342 } },
neutral = { dialogue = "噢,你给我带了东西?谢谢!", items = { 203 } },
},
Marnie = {
love = {
dialogue = "真是一份好到令人难以置信的礼物!谢谢。",
items = { 72, 221, 240, 608 },
},
like = { dialogue = "非常感谢!", items = { -5, -6, 402, 418, "SkillBook_0" } },
dislike = { dialogue = "噢。我想我会收下它的。", items = { 16, 152 } },
hate = { dialogue = "这东西一文不值。我搞不懂你怎么想的。", items = { 330 } },
neutral = { dialogue = "非常感谢!这看起来不错。", items = {} },
},
Elliott = {
love = { dialogue = "@,好漂亮的礼物!非常感谢!", items = { 715, 732, 218, 444, 637, 814 } },
like = {
dialogue = "这是给我的吗?棒呆了!",
items = { 727, 728, -79, 60, 80, 82, 84, 149, 151, 346, 348, 728, "book_item" },
},
dislike = { dialogue = "唔……我不太喜欢这个。", items = { 16, 206, 330, -79, -81, -6 } },
hate = {
dialogue = "这东西让我感觉很糟糕。我只能扔掉它了。",
items = { 80, 154, 300, 296, 155 },
},
neutral = { dialogue = "噢,礼物!非常感谢!", items = { -4, "forage_item_beach" } },
},
Gus = {
love = {
dialogue = "你把这个送给我?我开心得不知道说什么了。",
items = { 72, 213, 635, 729, 907 },
},
like = { dialogue = "噢,天哪!你真的送给我?", items = { 348, 303, -7, 18, 430 } },
dislike = { dialogue = "不,不,不……", items = { 16, 330 } },
hate = { dialogue = "这完全是垃圾。你冒犯到我了。", items = { 80, 167, 648 } },
neutral = { dialogue = "噢,这个不错。谢谢。", items = {} },
},
Dwarf = {
love = {
dialogue = "嘿,我太喜欢这个了。你可以在矿洞里找到好东西。",
items = { 554, 60, 62, 64, 66, 68, 70, 749, 162 },
},
like = {
dialogue = "啊,这让我想起了家。",
items = { 78, 82, 84, 86, 96, 97, 98, 99, 121, 122 },
},
dislike = { dialogue = "唔……这就是人类喜欢的东西吗?", items = { -5, 16, -81, 330 } },
hate = { dialogue = "我才不在乎你是什么物种。这就是一文不值的垃圾。", items = {} },
neutral = { dialogue = "礼物!谢谢。", items = { -6, -28 } },
},
Wizard = {
love = {
dialogue = "啊,这里面充满了强大的奥术能量。这会给我的研究带来巨大的帮助。非常感谢!",
items = { 155, 422, 769, 768, "Book_Mystery" },
},
like = {
dialogue = "非常感谢。这东西有一些很有趣的属性。",
items = { -12, 72, 82, 84, 337, "category_trinket" },
},
dislike = {
dialogue = "这个?……我想我可以把它投入火里,然后看看会发生什么。",
items = { -5, -6, -81, 16, 330, 766 },
},
hate = {
dialogue = "呃……这些东西很普通。请你以后不要再用它们打扰我。",
items = {},
},
neutral = { dialogue = "谢谢。我想这会很有用的。", items = {} },
},
Harvey = {
love = {
dialogue = "这是为我准备的吗?这是我最喜欢的东西!就好像你和我有心灵感应一样。",
items = { 348, 237, 432, 395, 342 },
},
like = {
dialogue = "真是个不错的礼物。非常感谢!",
items = { -81, -79, -7, 402, 614, 418, 422, 436, 438, 442, 444, 422 },
},
dislike = {
dialogue = "唔……你确定这个健康?",
items = { -4, 424, 426, 330, 233, 232, 238, 234, 223, 222, 221, 220, 216, 211, 210, 208, 206, 205 },
},
hate = { dialogue = "……我想我对它过敏。", items = { 296, 245, 397, 396, 394, 393, 392 } },
neutral = { dialogue = "谢谢你啊。你人真好。", items = {} },
},
Sandy = {
love = {
dialogue = "噢!我真的超喜欢收到来自镇里的礼物。我太开心了!~",
items = { 18, 402, 418, 905 },
},
like = { dialogue = "看起来很棒。太谢谢啦!", items = { -75, -79, 88, 428, 436, 438, 440 } },
dislike = { dialogue = "噢!嗯。谢谢你了。", items = { -4, 330 } },
hate = { dialogue = "*吸气*……这是什么?", items = {} },
neutral = { dialogue = "这是给我的吗?非常感谢!", items = {} },
},
Willy = {
love = {
dialogue = "真是太棒了!如果我的老爹还活着,看到这个他会抓狂的。",
items = { 72, 143, 149, 154, 276, 337, 698, 459, 336, "Book_Crabbing", "Book_Roe" },
},
like = {
dialogue = "这看起来很不错。非常感谢!",
items = {
66,
340,
699,
707,
198,
202,
209,
212,
213,
214,
219,
225,
727,
730,
728,
732,
265,
395,
729,
"SkillBook_1",
},
},
dislike = { dialogue = "嗯……你喜欢这种东西?哈", items = { -7, -81, 330 } },
hate = { dialogue = "……*吸气*……我想我可以把它扔到鱼饵桶里。", items = {} },
neutral = { dialogue = "一个礼物!谢谢你啊。", items = { -4, 227, 228, 242 } },
},
Krobus = {
love = {
dialogue = "这真是份惊艳的礼物。收到这个东西,在我的族里可以说是很荣幸的事情。",
items = { 72, 16, 276, 337, 305, 308, 879, "Book_Void" },
},
like = { dialogue = "非常感谢你。", items = { 66, 265, 336, 340, 203 } },
dislike = { dialogue = "人类的口味……还真是有趣。", items = { -7, -81, 330 } },
hate = { dialogue = "噢!嗯。我会收下的。", items = {} },
neutral = { dialogue = "谢谢。", items = {} },
},
Leo = {
love = {
dialogue = "我超喜欢的。我要把它放进窝里。",
items = { 444, 289, 834, 906, "ParrotEgg" },
},
like = { dialogue = "真的是给我的吗?太棒了……", items = { 852, 396, 392, 394, 397, 905 } },
dislike = {
dialogue = "啊……不知道这个我能不能消化……",
items = { -7, -81, 330, 303, 459, 342, 346, 348 },
},
hate = {
dialogue = "(嗅嗅)……为什么要给我这个?你想让我帮你把它埋起来吗?",
items = { 257, 253, 247, 271, 283, 304, 303, 346, 873, 348, 459, 167 },
},
neutral = { dialogue = "我接受你的礼物。", items = { -4, 395 } },
},
},
}
return NPCGiftTastes