修改实时便签样式

This commit is contained in:
CMHopeSunshine 2022-05-12 21:45:27 +08:00
parent 398f3fe52b
commit b66c7a96ae
8 changed files with 252 additions and 989 deletions

View File

@ -3,6 +3,7 @@ import datetime
from io import BytesIO from io import BytesIO
import os import os
from PIL import Image, ImageDraw, ImageFont from PIL import Image, ImageDraw, ImageFont
import matplotlib.pyplot as plt
from aiohttp import ClientSession from aiohttp import ClientSession
from nonebot.adapters.onebot.v11 import MessageSegment from nonebot.adapters.onebot.v11 import MessageSegment
from ..utils.util import pil2b64 from ..utils.util import pil2b64
@ -10,25 +11,173 @@ from ..utils.util import pil2b64
res_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'res') res_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'res')
def get_font(size): # def get_font(size):
return ImageFont.truetype(os.path.join(res_path, 'msyhbd.ttc'), size) # return ImageFont.truetype(os.path.join(res_path, 'msyhbd.ttc'), size)
#
#
# def get_odd_time(seconds):
# m, s = divmod(int(seconds), 60)
# h, m = divmod(m, 60)
# return "剩余%02d时%02d分%02d秒" % (h, m, s)
#
#
# async def get_avater_pic(avater_url):
# async with ClientSession() as session:
# res = await session.get(avater_url)
# res = await res.read()
# avater = Image.open(BytesIO(res)).convert("RGBA").resize((60, 60))
# return avater
#
#
# bg_card_color = {'1': '#C3B8A4', '2': '#C3B8A4', '3': '#4C74A7', '4': '#D7B599'}
#
#
# async def draw_daily_note_card(data, uid):
# if not data:
# return '数据出错'
# if data['retcode'] == 10102:
# return '这uid没有在米游社公开信息哦,请到 个人主页-管理 中打开'
# elif data['retcode'] == 10104:
# return 'uid有误哦检查一下或再手动输入一次uid吧'
# elif data['retcode'] != 0:
# return f'派蒙获取数据失败了,获取状态:\n{data["message"]},{data["retcode"]}'
# data = data['data']
# # 载入所需素材图标
# bg_color = random.choice(list(bg_card_color.items()))
# bg_img = Image.open(os.path.join(res_path, 'daily_note', f'便签背景{bg_color[0]}.png')).convert("RGBA")
# enemy = Image.open(os.path.join(res_path, 'daily_note', '周本.png')).convert("RGBA")
# task = Image.open(os.path.join(res_path, 'daily_note', '委托.png')).convert("RGBA")
# power = Image.open(os.path.join(res_path, 'daily_note', '树脂.png')).convert("RGBA")
# money = Image.open(os.path.join(res_path, 'daily_note', '洞天宝钱.png')).convert("RGBA")
# send_icon = Image.open(os.path.join(res_path, 'daily_note', '派遣背景.png')).convert("RGBA").resize((110, 55))
# send_finish_icon = Image.open(os.path.join(res_path, 'daily_note', '派遣完成.png')).convert("RGBA").resize((55, 55))
# abyss = Image.open(os.path.join(res_path, 'daily_note', '深渊.png')).convert('RGBA').resize((160, 160))
# tran = Image.open(os.path.join(res_path, 'daily_note', '参量.png')).convert('RGBA').resize((40, 40))
# bg_draw = ImageDraw.Draw(bg_img)
#
# bg_draw.text((23, 20), '实时便笺', font=get_font(30), fill='white')
# bg_draw.text((255, 20), 'UID' + uid, font=get_font(30), fill='white')
# # 树脂
# bg_img.alpha_composite(power, (120, 150))
# bg_draw.text((170, 145), f'{data["current_resin"]}/160', font=get_font(30), fill=bg_color[1])
# if data["current_resin"] == 160:
# bg_draw.text((310, 144), '已回满', font=get_font(30), fill=bg_color[1])
# else:
# recover_time = datetime.datetime.now() + datetime.timedelta(seconds=int(data['resin_recovery_time']))
# # recover_time_day = recover_time.day > datetime.datetime.now().day and '明天' or '今天'
# recover_time_day = '今天' if recover_time.day == datetime.datetime.now().day else '明天'
# recover_time_str = f'将于{recover_time_day}{recover_time.strftime("%H:%M")}回满'
# bg_draw.text((320, 147), recover_time_str, font=get_font(25), fill=bg_color[1])
# # 洞天宝钱
# bg_img.alpha_composite(money, (120, 220))
# bg_draw.text((170, 220), f'{data["current_home_coin"]}/2400', font=get_font(30), fill=bg_color[1])
# if data["current_home_coin"] == 2400:
# bg_draw.text((350, 219), '已存满', font=get_font(30), fill=bg_color[1])
# else:
# recover_time = datetime.datetime.now() + datetime.timedelta(seconds=int(data['home_coin_recovery_time']))
# recover_time_day = recover_time.day - datetime.datetime.now().day
# if recover_time_day == 1:
# recover_time_day_str = '明天'
# elif recover_time_day == 0:
# recover_time_day_str = '今天'
# else:
# recover_time_day_str = str(recover_time.day) + '日'
# recover_time_str = f'将于{recover_time_day_str}{recover_time.strftime("%H:%M")}攒满'
# # recover_time_str = f'将于{recover_time.strftime("%d日%H:%M")}攒满'
# bg_draw.text((360, 222), recover_time_str, font=get_font(25), fill=bg_color[1])
# # 委托
# bg_img.alpha_composite(task, (120, 295))
# bg_draw.text((170, 297), f'{data["finished_task_num"]}/4', font=get_font(30), fill=bg_color[1])
# if data["finished_task_num"] == 4:
# bg_draw.text((247, 297), '已完成', font=get_font(30), fill=bg_color[1])
# else:
# bg_draw.text((245, 298), '未完成', font=get_font(25), fill=bg_color[1])
# # 周本
# bg_img.alpha_composite(enemy, (120, 370))
# bg_draw.text((170, 370), f'{data["remain_resin_discount_num"]}/3', font=get_font(30), fill=bg_color[1])
# if data["remain_resin_discount_num"] == 0:
# bg_draw.text((247, 369), '已完成', font=get_font(30), fill=bg_color[1])
# else:
# bg_draw.text((245, 372), '未完成', font=get_font(25), fill=bg_color[1])
# # 参量质变仪
# bg_img.alpha_composite(tran, (360, 297))
# if not data['transformer']['obtained']:
# bg_draw.text((413, 298), '未获得', font=get_font(25), fill=bg_color[1])
# else:
# if data['transformer']['recovery_time']['reached']:
# bg_draw.text((415, 297), '已可用', font=get_font(30), fill=bg_color[1])
# else:
# bg_draw.text((413, 298), f"{data['transformer']['recovery_time']['Day']}天后", font=get_font(25),
# fill=bg_color[1])
# # 深渊
# abyss_new_month = datetime.datetime.now().month if datetime.datetime.now().day < 16 else datetime.datetime.now().month + 1
# abyss_new_day = 16 if datetime.datetime.now().day < 16 else 1
# abyss_new = datetime.datetime.strptime('2022.' + str(abyss_new_month) + '.' + str(abyss_new_day) + '.04:00',
# '%Y.%m.%d.%H:%M') - datetime.datetime.now()
# abyss_new_str = f'{abyss_new.days + 1}天后刷新' if abyss_new.days <= 8 else '已刷新'
# bg_img.alpha_composite(abyss, (520, 264))
# bg_draw.text((568, 300), '深渊', font=get_font(30), fill=bg_color[1])
# if abyss_new_str == '已刷新':
# bg_draw.text((561, 350), abyss_new_str, font=get_font(25), fill=bg_color[1])
# else:
# bg_draw.text((540, 350), abyss_new_str, font=get_font(25), fill=bg_color[1])
# # 派遣
# h = 430
# if not data['expeditions']:
# bg_draw.text((300, h + 140), '没有派遣信息', font=get_font(30), fill=bg_color[1])
# else:
# for send in data['expeditions']:
# send_avatar = await get_avater_pic(send['avatar_side_icon'])
# send_status = '派遣已完成!' if send['status'] == 'Finished' else get_odd_time(send['remained_time'])
# bg_draw.rectangle((145, h, 645, h + 55), fill=None, outline=bg_color[1], width=3)
# if send['status'] == 'Finished':
# bg_img.alpha_composite(send_finish_icon, (590, h))
# bg_img.alpha_composite(send_icon, (150, h))
# bg_img.alpha_composite(send_avatar, (150, h - 10))
# if send_status == '派遣已完成!':
# bg_draw.text((329, h + 10), send_status, font=get_font(25), fill=bg_color[1])
# else:
# bg_draw.text((300, h + 10), send_status, font=get_font(25), fill=bg_color[1])
# h += 57
# last_finish_second = int(max([s['remained_time'] for s in data['expeditions']]))
# if last_finish_second != 0:
# last_finish_time = datetime.datetime.now() + datetime.timedelta(seconds=last_finish_second)
# last_finish_day = last_finish_time.day > datetime.datetime.now().day and '明天' or '今天'
# last_finish_str = f'将于{last_finish_day}{last_finish_time.strftime("%H:%M")}完成全部派遣'
# bg_draw.text((211, h + 3.5), last_finish_str, font=get_font(30), fill=bg_color[1])
# else:
# bg_draw.text((290, h + 3.5), '派遣已全部完成', font=get_font(30), fill=bg_color[1])
# bg_draw.text((274, 797), 'Created by 惜月の小派蒙', font=get_font(20), fill=bg_color[1])
#
# bg_img = pil2b64(bg_img, 70)
# bg_img = MessageSegment.image(bg_img)
# return bg_img
def get_font(size, font='msyhbd.ttc'):
return ImageFont.truetype(os.path.join(res_path, font), size)
def get_odd_time(seconds): async def get_avatar_pic(avatar_url):
m, s = divmod(int(seconds), 60)
h, m = divmod(m, 60)
return "剩余%02d%02d%02d" % (h, m, s)
async def get_avater_pic(avater_url):
async with ClientSession() as session: async with ClientSession() as session:
res = await session.get(avater_url) res = await session.get(avatar_url)
res = await res.read() res = await res.read()
avater = Image.open(BytesIO(res)).convert("RGBA").resize((60, 60)) avatar = Image.open(BytesIO(res)).convert("RGBA").resize((135, 135))
return avater return avatar
bg_card_color = {'1': '#C3B8A4', '2': '#C3B8A4', '3': '#4C74A7', '4': '#D7B599'} async def draw_ring(per):
per_list = [per, 1 - per]
colors = ['#507bd0', '#FFFFFF']
plt.pie(per_list, startangle=90, colors=colors)
fig, ax = plt.subplots(figsize=(6, 6))
ax.pie(per_list,
wedgeprops={'width': 0.18},
startangle=90,
colors=colors)
plt.savefig('temp.png', transparent=True)
img = Image.open('temp.png').resize((266, 266)).convert('RGBA')
os.remove('temp.png')
return img
async def draw_daily_note_card(data, uid): async def draw_daily_note_card(data, uid):
@ -41,37 +190,27 @@ async def draw_daily_note_card(data, uid):
elif data['retcode'] != 0: elif data['retcode'] != 0:
return f'派蒙获取数据失败了,获取状态:\n{data["message"]},{data["retcode"]}' return f'派蒙获取数据失败了,获取状态:\n{data["message"]},{data["retcode"]}'
data = data['data'] data = data['data']
# 载入所需素材图标 circle_img = Image.open(os.path.join(res_path, 'daily_note', '透明圆.png'))
bg_color = random.choice(list(bg_card_color.items())) finished_icon = Image.open(os.path.join(res_path, 'daily_note', 'finished.png'))
bg_img = Image.open(os.path.join(res_path, 'daily_note', f'便签背景{bg_color[0]}.png')).convert("RGBA") bg_img = Image.open(os.path.join(res_path, 'daily_note', 'ssbq.png')).convert("RGBA")
enemy = Image.open(os.path.join(res_path, 'daily_note', '周本.png')).convert("RGBA")
task = Image.open(os.path.join(res_path, 'daily_note', '委托.png')).convert("RGBA")
power = Image.open(os.path.join(res_path, 'daily_note', '树脂.png')).convert("RGBA")
money = Image.open(os.path.join(res_path, 'daily_note', '洞天宝钱.png')).convert("RGBA")
send_icon = Image.open(os.path.join(res_path, 'daily_note', '派遣背景.png')).convert("RGBA").resize((110, 55))
send_finish_icon = Image.open(os.path.join(res_path, 'daily_note', '派遣完成.png')).convert("RGBA").resize((55, 55))
abyss = Image.open(os.path.join(res_path, 'daily_note', '深渊.png')).convert('RGBA').resize((160, 160))
tran = Image.open(os.path.join(res_path, 'daily_note', '参量.png')).convert('RGBA').resize((40, 40))
bg_draw = ImageDraw.Draw(bg_img) bg_draw = ImageDraw.Draw(bg_img)
# uid文字
bg_draw.text((23, 20), '实时便笺', font=get_font(30), fill='white') bg_draw.text((152, 251), f"uid{uid}", fill='#5680d2', font=get_font(60, 'number.ttf'))
bg_draw.text((255, 20), 'UID' + uid, font=get_font(30), fill='white') # 树脂文字
# 树脂 bg_draw.text((337, 480), f"{data['current_resin']}/160", fill='white', font=get_font(48, 'number.ttf'))
bg_img.alpha_composite(power, (120, 150)) bg_img.alpha_composite(await draw_ring(data['current_resin'] / 160), (98, 369))
bg_draw.text((170, 145), f'{data["current_resin"]}/160', font=get_font(30), fill=bg_color[1]) if data['current_resin'] == 160:
if data["current_resin"] == 160: bg_draw.text((892, 480), f"树脂满了哦~", fill='white', font=get_font(40, '优设标题黑.ttf'))
bg_draw.text((310, 144), '已回满', font=get_font(30), fill=bg_color[1])
else: else:
recover_time = datetime.datetime.now() + datetime.timedelta(seconds=int(data['resin_recovery_time'])) recover_time = datetime.datetime.now() + datetime.timedelta(seconds=int(data['resin_recovery_time']))
# recover_time_day = recover_time.day > datetime.datetime.now().day and '明天' or '今天'
recover_time_day = '今天' if recover_time.day == datetime.datetime.now().day else '明天' recover_time_day = '今天' if recover_time.day == datetime.datetime.now().day else '明天'
recover_time_str = f'将于{recover_time_day}{recover_time.strftime("%H:%M")}回满' recover_time_str = f'将于{recover_time_day}{recover_time.strftime("%H:%M")}回满'
bg_draw.text((320, 147), recover_time_str, font=get_font(25), fill=bg_color[1]) bg_draw.text((780, 480), recover_time_str, fill='white', font=get_font(40, '优设标题黑.ttf'))
# 洞天宝钱 # 宝钱文字
bg_img.alpha_composite(money, (120, 220)) bg_draw.text((337, 701), f"{data['current_home_coin']}/2400", fill='white', font=get_font(48, 'number.ttf'))
bg_draw.text((170, 220), f'{data["current_home_coin"]}/2400', font=get_font(30), fill=bg_color[1]) bg_img.alpha_composite(await draw_ring(data['current_home_coin'] / 2400), (98, 593))
if data["current_home_coin"] == 2400: if data['current_home_coin'] == 2400:
bg_draw.text((350, 219), '已存满', font=get_font(30), fill=bg_color[1]) bg_draw.text((820, 701), f"洞天宝钱满了哦~", fill='white', font=get_font(40, '优设标题黑.ttf'))
else: else:
recover_time = datetime.datetime.now() + datetime.timedelta(seconds=int(data['home_coin_recovery_time'])) recover_time = datetime.datetime.now() + datetime.timedelta(seconds=int(data['home_coin_recovery_time']))
recover_time_day = recover_time.day - datetime.datetime.now().day recover_time_day = recover_time.day - datetime.datetime.now().day
@ -82,72 +221,82 @@ async def draw_daily_note_card(data, uid):
else: else:
recover_time_day_str = str(recover_time.day) + '' recover_time_day_str = str(recover_time.day) + ''
recover_time_str = f'将于{recover_time_day_str}{recover_time.strftime("%H:%M")}攒满' recover_time_str = f'将于{recover_time_day_str}{recover_time.strftime("%H:%M")}攒满'
# recover_time_str = f'将于{recover_time.strftime("%d日%H:%M")}攒满' bg_draw.text((762, 701), recover_time_str, fill='white', font=get_font(40, '优设标题黑.ttf'))
bg_draw.text((360, 222), recover_time_str, font=get_font(25), fill=bg_color[1]) # 委托文字
# 委托 bg_draw.text((337, 924), f"{data['finished_task_num']}/4", fill='white', font=get_font(48, 'number.ttf'))
bg_img.alpha_composite(task, (120, 295)) bg_img.alpha_composite(await draw_ring(data['finished_task_num'] / 4), (98, 816))
bg_draw.text((170, 297), f'{data["finished_task_num"]}/4', font=get_font(30), fill=bg_color[1]) if data['finished_task_num'] == 4:
if data["finished_task_num"] == 4: bg_draw.text((750, 924), "今日委托已全部完成~", fill='white', font=get_font(40, '优设标题黑.ttf'))
bg_draw.text((247, 297), '已完成', font=get_font(30), fill=bg_color[1])
else: else:
bg_draw.text((245, 298), '未完成', font=get_font(25), fill=bg_color[1]) bg_draw.text((790, 924), "今日委托完成情况", fill='white', font=get_font(40, '优设标题黑.ttf'))
# 周本 # 质变文字
bg_img.alpha_composite(enemy, (120, 370)) if data['transformer']['obtained']:
bg_draw.text((170, 370), f'{data["remain_resin_discount_num"]}/3', font=get_font(30), fill=bg_color[1]) bg_draw.text((337, 1147), f"{7 - data['transformer']['recovery_time']['Day']}/7", fill='white',
if data["remain_resin_discount_num"] == 0: font=get_font(48, 'number.ttf'))
bg_draw.text((247, 369), '已完成', font=get_font(30), fill=bg_color[1]) bg_img.alpha_composite(await draw_ring((7 - data['transformer']['recovery_time']['Day']) / 7), (98, 1039))
else: if data['transformer']['recovery_time']['Day'] == 0:
bg_draw.text((245, 372), '未完成', font=get_font(25), fill=bg_color[1]) bg_draw.text((465, 1147), "可使用", fill='white', font=get_font(40, '优设标题黑.ttf'))
# 参量质变仪
bg_img.alpha_composite(tran, (360, 297))
if not data['transformer']['obtained']:
bg_draw.text((413, 298), '未获得', font=get_font(25), fill=bg_color[1])
else:
if data['transformer']['recovery_time']['reached']:
bg_draw.text((415, 297), '已可用', font=get_font(30), fill=bg_color[1])
else: else:
bg_draw.text((413, 298), f"{data['transformer']['recovery_time']['Day']}天后", font=get_font(25), bg_draw.text((471, 1127), f"{data['transformer']['recovery_time']['Day']}天后", fill='white',
fill=bg_color[1]) font=get_font(40, '优设标题黑.ttf'))
# 深渊 bg_draw.text((465, 1167), "可使用", fill='white', font=get_font(40, '优设标题黑.ttf'))
else:
bg_draw.text((337, 1143), "未获得", fill='white', font=get_font(48, '优设标题黑.ttf'))
# 周本文字
bg_draw.text((843, 1147), f"{3 - data['remain_resin_discount_num']}/3", fill='white',
font=get_font(48, 'number.ttf'))
bg_img.alpha_composite(await draw_ring((3 - data['remain_resin_discount_num']) / 3), (604, 1039))
if data['remain_resin_discount_num'] == 0:
bg_draw.text((1005, 1147), "已完成", fill='white', font=get_font(40, '优设标题黑.ttf'))
else:
bg_draw.text((977, 1127), f"剩余{data['remain_resin_discount_num']}", fill='white',
font=get_font(40, '优设标题黑.ttf'))
bg_draw.text((965, 1167), "周本减半", fill='white', font=get_font(40, '优设标题黑.ttf'))
# 深渊文字
abyss_new_month = datetime.datetime.now().month if datetime.datetime.now().day < 16 else datetime.datetime.now().month + 1 abyss_new_month = datetime.datetime.now().month if datetime.datetime.now().day < 16 else datetime.datetime.now().month + 1
abyss_new_day = 16 if datetime.datetime.now().day < 16 else 1 abyss_new_day = 16 if datetime.datetime.now().day < 16 else 1
abyss_new = datetime.datetime.strptime('2022.' + str(abyss_new_month) + '.' + str(abyss_new_day) + '.04:00', abyss_new = datetime.datetime.strptime('2022.' + str(abyss_new_month) + '.' + str(abyss_new_day) + '.04:00',
'%Y.%m.%d.%H:%M') - datetime.datetime.now() '%Y.%m.%d.%H:%M') - datetime.datetime.now()
abyss_new_str = f'{abyss_new.days + 1}天后刷新' if abyss_new.days <= 8 else '已刷新' bg_draw.text((337, 1358), f"{abyss_new.days}/15", fill='white',
bg_img.alpha_composite(abyss, (520, 264)) font=get_font(48, 'number.ttf'))
bg_draw.text((568, 300), '深渊', font=get_font(30), fill=bg_color[1]) bg_draw.text((745, 1358), f"本期深渊还有{abyss_new.days}天结束", fill='white',
if abyss_new_str == '已刷新': font=get_font(40, '优设标题黑.ttf'))
bg_draw.text((561, 350), abyss_new_str, font=get_font(25), fill=bg_color[1]) bg_img.alpha_composite(await draw_ring(abyss_new.days / 15), (100, 1249))
else:
bg_draw.text((540, 350), abyss_new_str, font=get_font(25), fill=bg_color[1])
# 派遣
h = 430
if not data['expeditions']:
bg_draw.text((300, h + 140), '没有派遣信息', font=get_font(30), fill=bg_color[1])
else:
for send in data['expeditions']:
send_avatar = await get_avater_pic(send['avatar_side_icon'])
send_status = '派遣已完成!' if send['status'] == 'Finished' else get_odd_time(send['remained_time'])
bg_draw.rectangle((145, h, 645, h + 55), fill=None, outline=bg_color[1], width=3)
if send['status'] == 'Finished':
bg_img.alpha_composite(send_finish_icon, (590, h))
bg_img.alpha_composite(send_icon, (150, h))
bg_img.alpha_composite(send_avatar, (150, h - 10))
if send_status == '派遣已完成!':
bg_draw.text((329, h + 10), send_status, font=get_font(25), fill=bg_color[1])
else:
bg_draw.text((300, h + 10), send_status, font=get_font(25), fill=bg_color[1])
h += 57
last_finish_second = int(max([s['remained_time'] for s in data['expeditions']]))
if last_finish_second != 0:
last_finish_time = datetime.datetime.now() + datetime.timedelta(seconds=last_finish_second)
last_finish_day = last_finish_time.day > datetime.datetime.now().day and '明天' or '今天'
last_finish_str = f'将于{last_finish_day}{last_finish_time.strftime("%H:%M")}完成全部派遣'
bg_draw.text((211, h + 3.5), last_finish_str, font=get_font(30), fill=bg_color[1])
else:
bg_draw.text((290, h + 3.5), '派遣已全部完成', font=get_font(30), fill=bg_color[1])
bg_draw.text((274, 797), 'Created by 惜月の小派蒙', font=get_font(20), fill=bg_color[1])
bg_img = pil2b64(bg_img, 70) # 派遣情况
exp = data['expeditions']
i = 0
for role in exp:
role_avatar = await get_avatar_pic(role['avatar_side_icon'])
bg_img.alpha_composite(role_avatar, (i * 200 + 168, 1537))
bg_img.alpha_composite(await draw_ring(1 - int(role['remained_time']) / 72000), (i * 201 + 101, 1490))
if role['status'] == 'Ongoing':
bg_img.alpha_composite(circle_img, (i * 200 + 172, 1559))
hour = int(role['remained_time']) // 3600
bg_draw.text((i * 200 + 205, 1580), f"{hour}h", fill='white', font=get_font(40, 'number.ttf'))
minute = int(role['remained_time']) % 3600 // 60
bg_draw.text((i * 200 + 200, 1620), f"{minute}m", fill='white', font=get_font(40, 'number.ttf'))
else:
bg_img.alpha_composite(finished_icon, (i * 200 + 191, 1576))
i += 1
bg_draw.text((1210, 1580), "距离派遣全", fill="#5680d2", font=get_font(40, '优设标题黑.ttf'))
bg_draw.text((1210, 1620), "部完成还有", fill="#5680d2", font=get_font(40, '优设标题黑.ttf'))
max_time = int(max(exp, key=lambda x: x['remained_time'])['remained_time'])
if max_time == 0:
bg_draw.text((1410, 1583), "已全部完成~", fill="#5680d2",
font=get_font(60, '优设标题黑.ttf'))
else:
bg_draw.text((1410, 1593), f"{max_time // 3600}h{max_time % 3600 // 60}m{max_time & 60}s", fill="#5680d2",
font=get_font(60, 'number.ttf'))
role_img = random.choice(os.listdir(os.path.join(res_path, 'emoticons')))
role_img = Image.open(os.path.join(res_path, 'emoticons', role_img)).convert('RGBA')
role_img = role_img.resize((int(role_img.size[0] * 3.5), int(role_img.size[1] * 3.5)), Image.ANTIALIAS)
bg_img.alpha_composite(role_img, (1220, 200))
now = datetime.datetime.now().strftime('%m月%d%H:%M')
bg_draw.text((554, 1794), 'Created by LittlePaimon·' + now, fill='#5680d2', font=get_font(40, '优设标题黑.ttf'))
bg_img = bg_img.resize((int(bg_img.size[0] * 0.4), int(bg_img.size[1] * 0.4)), Image.ANTIALIAS)
bg_img = pil2b64(bg_img)
bg_img = MessageSegment.image(bg_img) bg_img = MessageSegment.image(bg_img)
return bg_img return bg_img

View File

@ -13,10 +13,10 @@ import random
superuser = int(list(get_driver().config.superusers)[0]) superuser = int(list(get_driver().config.superusers)[0])
duilian = on_command('对联', aliases={'对对联'}, priority=15, block=True) duilian = on_command('对联', aliases={'对对联'}, priority=13, block=True)
cat_pic = on_command('猫图', aliases={'来点猫片', '看看猫猫', '来个猫猫'}, priority=15, block=True) cat_pic = on_command('猫图', aliases={'来点猫片', '看看猫猫', '来个猫猫'}, priority=13, block=True)
ecy_pic = on_regex(r'^来点(二次元|二刺螈|银发|兽耳|星空|竖屏|横屏)图?$', priority=15, block=True) ecy_pic = on_regex(r'^来点(二次元|二刺螈|银发|兽耳|星空|竖屏|横屏)图?$', priority=13, block=True)
ys_pic = on_command('原神壁纸', aliases={'来点原神图', '来点原神壁纸'}, priority=15, block=True) ys_pic = on_command('原神壁纸', aliases={'来点原神图', '来点原神壁纸'}, priority=13, block=True)
duilian_limit = FreqLimiter(config.paimon_duilian_cd) duilian_limit = FreqLimiter(config.paimon_duilian_cd)
cat_lmt = FreqLimiter(config.paimon_cat_cd) cat_lmt = FreqLimiter(config.paimon_cat_cd)

BIN
res/daily_note/finished.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

BIN
res/daily_note/ssbq.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 443 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@ -1,886 +0,0 @@
[
{
"filename": "七七-倒.png",
"quote": "咦,刚刚…我想说什么来着…"
},
{
"filename": "七七-品尝.png",
"quote": "尝不出,味道。但是,喜欢。"
},
{
"filename": "七七-哦.png",
"quote": ""
},
{
"filename": "七七-暗中观察.png",
"quote": ""
},
{
"filename": "丽莎-干得漂亮.png",
"quote": "你努力的样子,姐姐全都见到了哦。嗯…让我想想,给你什么奖励吧…"
},
{
"filename": "九条裟罗-冲锋.png",
"quote": "常道恢弘,鸣神永恒!"
},
{
"filename": "九条裟罗-别想逃.png",
"quote": "我一个人,就是一支幕府军!"
},
{
"filename": "九条裟罗-开心.png",
"quote": "知道稻妻最具代表性的特产是什么吗?不对,并非刀具。是「御建鸣神主尊大御所大人像」造型的漆器,由老练的漆器师傅手工打造,城内几乎每家每户都供奉着一座。我的屋里?有五座。"
},
{
"filename": "九条裟罗-拒绝.png",
"quote": "上次执行任务时,花见坂的商户送给我一个名为「独乐」的陀螺,那是种「一个人也能玩」的玩具,我觉得挺有意思,就留在了身边。你说…一起玩?那岂不是违背了「独乐」的原则,请容我拒绝。"
},
{
"filename": "五郎-呲牙.png",
"quote": "旅行者已经加入了反抗军,现在是我的部下,反抗军不会出卖任何一名同伴!"
},
{
"filename": "五郎-开心.png",
"quote": "有什么烦恼,千万不要埋在心里,来和我说说吧。虽然我不是什么事情都在行,但我一定会尽力为你出谋划策的。就算…就算答案不够可靠,至少我也是你忠实的听众!"
},
{
"filename": "五郎-星星眼.png",
"quote": "啊——甜品果然能让人心情放松!"
},
{
"filename": "五郎-痛哭.png",
"quote": "大部分食物我都不忌口,可洋葱是个例外。有一次,后勤兵往饭菜里加了洋葱末,让我在饭桌上痛哭流涕…啊,那次实在太丢人了!弄得后勤兵也很过意不去。"
},
{
"filename": "优菈-出发.png",
"quote": "游击骑士,率先行动!"
},
{
"filename": "优菈-嫌弃.png",
"quote": "浓郁的汤品,我实在不能接受。口感太厚重,饱腹感很强,影响运动和战斗,还不方便携带,简直是我的天敌。"
},
{
"filename": "优菈-干杯.png",
"quote": "凉爽的事,我都很中意。比如,痛饮冰镇后的酒和饮料,或者跳进龙脊雪山山脚的湖里泡澡。哈,没准哪天你在湖边晃荡,会被我拖进冰水里哦?"
},
{
"filename": "优菈-开饭了.png",
"quote": "我喜欢亲手做点心,点心不一定都是甜品,比如冰镇后的番茄肉冻蛋卷,就很适合搭配冰树莓薄荷酒。重要的是,有些人吃到我做的点心,就会笑得很开心。"
},
{
"filename": "优菈-打喷嚏.png",
"quote": "估计是古恩希尔德家的女儿又在背后嚼舌根了吧,…这个仇我也记下了!"
},
{
"filename": "优菈-落雪.png",
"quote": ""
},
{
"filename": "优菈-让我看看.png",
"quote": "视野不错!登上高地,就能将周围的敌情尽收眼底。"
},
{
"filename": "优菈-赞扬.png",
"quote": ""
},
{
"filename": "优菈-远眺.png",
"quote": ""
},
{
"filename": "优菈-邀请.png",
"quote": "那就…与罪人共舞一曲,如何?"
},
{
"filename": "凯亚-你真幽默.png",
"quote": "什么?你说菲谢尔遮起一只眼睛的神秘样子,的确很符合「断罪皇女」的形象?哈哈哈,按照这个规律,我至少也得是个末代皇族后裔,对吧?"
},
{
"filename": "刻晴-夜宵.png",
"quote": ""
},
{
"filename": "刻晴-我拒绝.png",
"quote": "每种菜肴都有最理想的味道,我不能接受除此以外的做法,尝试都不行。比如,咸味的杏仁豆腐,甜味的莲子禽蛋羹什么的…都是在暴殄天物!"
},
{
"filename": "刻晴-晚安.png",
"quote": ""
},
{
"filename": "刻晴-点赞.png",
"quote": "我很欣赏你,面对神明,不笃信,不盲从,随时保持独立思考,有问题就大胆问出来,没有答案就会一直追寻下去。别不好意思,这才是正确的态度,毕竟,谁又能保证,神就不会犯错呢?"
},
{
"filename": "刻晴-疑问.png",
"quote": "帝君离去之后,我一直都在思考,璃月港的未来该怎么走。除了参考帝君以前的行动,我还去研究了其他神明的治世手段。可是,邻国蒙德就让我很是困惑…像风之神这种做法,真的能让蒙德长久吗?"
},
{
"filename": "刻晴-祝贺.png",
"quote": "心有所向,日复一日,必有精进。"
},
{
"filename": "刻晴-赌气.png",
"quote": "话虽这么说!明星斋的「琉璃新月」,我提前三个月就预定了!结果去取货的时候才知道,凝光她用两倍的价钱,把这几个月里所有的「琉璃新月」都买走了!果然我还是受不了她!"
},
{
"filename": "北斗-大笑.png",
"quote": "航海准备,兄弟们,各就各位,全新的冒险要开始了!"
},
{
"filename": "北斗-拜拜.png",
"quote": "追随我的兄弟有很多,我问过,我也记得他们每一个人上船的理由。你是很特别的。我知道你还有需要完成的事情,我不会授予你职务和头衔。但无论你的旅途去往何方,「死兆星」号上,永远都有你的位置。"
},
{
"filename": "可莉-呜….png",
"quote": "可莉这就去禁闭室报到…呜呜…"
},
{
"filename": "可莉-好耶.png",
"quote": "好耶!可莉喜欢聊天。"
},
{
"filename": "可莉-委屈.png",
"quote": "等我这次的禁闭结束、好好反省过以后,再来找你带我出去玩…"
},
{
"filename": "可莉-抓到了!.png",
"quote": "可莉今天又勇敢地抓到了花纹奇怪的蜥蜴!从没见过这种图案,你要看看吗?"
},
{
"filename": "可莉-求求你.png",
"quote": "求求你啦!求求你啦求求你啦——帮帮可莉吧!"
},
{
"filename": "可莉-生气气!.png",
"quote": "嘟嘟可是可莉最好的朋友,不是玩偶!"
},
{
"filename": "可莉-陪我玩.png",
"quote": "嘟嘟大魔王,可莉来见你啦!你可以…呃…判、判…嗯?"
},
{
"filename": "安柏-不要啊.png",
"quote": ""
},
{
"filename": "安柏-救救我.png",
"quote": ""
},
{
"filename": "安柏-给我走开.png",
"quote": ""
},
{
"filename": "宵宫-喂.png",
"quote": "风好大啊——声音都被吹回来啦——!"
},
{
"filename": "宵宫-得意.png",
"quote": "现在是最适合测试烟花效果的时间,无论是在天上还是地上炸开都会很好看。嘿嘿,开玩笑的,我会注意安全啦。"
},
{
"filename": "宵宫-抱歉.png",
"quote": ""
},
{
"filename": "宵宫-没问题.png",
"quote": "「『英雄形态』的宵宫姐姐登场!邪恶退散!正义必胜!」"
},
{
"filename": "式大将-思考.png",
"quote": "自从诞生于世,我们便开始向着孤独的尽头行走,但迷雾之中会有火光,夜空之下会有新的伙伴…我们的使命,从不因远行而告终。"
},
{
"filename": "式大将-躺.png",
"quote": "对于我和「诀箓阴阳寮」,晴之介有着美好的祝愿。非要说的话,可能是我们都有些生不逢时吧。"
},
{
"filename": "影狼丸-威风.png",
"quote": ""
},
{
"filename": "影狼丸-注视.png",
"quote": ""
},
{
"filename": "托马-举高高.png",
"quote": "你喜欢小动物吗?要是你也喜欢的话,下次我带你去城郊附近走走。到时候我一声口哨,好多可爱的小猫小狗就会钻出来,黏在你的脚边向你撒娇。哈哈,光是想象就觉得很开心了。"
},
{
"filename": "托马-害怕.png",
"quote": "神子大人?为、为什么突然提她?唉,每次小姐派我出去送口信,我最不想去的就是鸣神大社了。啊,倒不是神子大人的气场让人发慌,而是,呃…是敬畏…敬畏!啊哈哈…"
},
{
"filename": "托马-拜托了.png",
"quote": "要不是你在「狩眼仪式」上站出来,单枪匹马与将军对抗,我应该已经失去神之眼,失去愿望了。我想了很久,恐怕只有这样才配得上你挺身而出的觉悟——我,托马,愿献上我的武艺与忠诚。不惜一切,为你而战。"
},
{
"filename": "托马-瞧好了.png",
"quote": "把居住的地方打扫干净,布置整齐,让所有生活在这里的人露出笑容,这就是家政的意义。至于现在…我会连带着为了你的份一起,好好努力的。"
},
{
"filename": "托马-胃痛.png",
"quote": "肚子好痛!胃里…好像在放烟花一样!…我感觉眼前已经出现人生走马灯了,再见了,大家…"
},
{
"filename": "托马-超赞.png",
"quote": "要说我最喜欢的食物,那绝对是市井杂煮了。煮好香喷喷的一大锅,然后大家一起分着吃,又热闹又开心。"
},
{
"filename": "早柚-困.png",
"quote": "呼——如果没有什么事情的话,我先去睡觉了。对了,不准趁我睡觉的时候偷偷摸我的头。"
},
{
"filename": "早柚-生气.png",
"quote": "怎么会有荒泷一斗这么吵吵嚷嚷的人,而且他还能长这么高!"
},
{
"filename": "早柚-看我的.png",
"quote": ""
},
{
"filename": "早柚-警觉.png",
"quote": ""
},
{
"filename": "枫原万叶-偷笑.png",
"quote": ""
},
{
"filename": "枫原万叶-吃惊.png",
"quote": "想要了解我的事?如你所见,我只是个随处可见的流浪武士。"
},
{
"filename": "枫原万叶-嗨.png",
"quote": "「飘摇风雨中,带刀归来赤脚行」…我的名字是枫原万叶,游历四方的浪人。既然你我都在旅行的路上,这段路不妨结伴同行。"
},
{
"filename": "枫原万叶-汗.png",
"quote": ""
},
{
"filename": "派蒙-交给我吧.png",
"quote": ""
},
{
"filename": "派蒙-出货吧.png",
"quote": "收获的果实,来和派蒙一起分享吧!"
},
{
"filename": "派蒙-吃惊.png",
"quote": ""
},
{
"filename": "派蒙-咕咕咕.png",
"quote": ""
},
{
"filename": "派蒙-哭.png",
"quote": ""
},
{
"filename": "派蒙-哼哼.png",
"quote": ""
},
{
"filename": "派蒙-大哭.png",
"quote": ""
},
{
"filename": "派蒙-好耶.png",
"quote": ""
},
{
"filename": "派蒙-安详.png",
"quote": ""
},
{
"filename": "派蒙-小事一桩.png",
"quote": ""
},
{
"filename": "派蒙-干杯.png",
"quote": ""
},
{
"filename": "派蒙-微笑.png",
"quote": ""
},
{
"filename": "派蒙-怎会如此.png",
"quote": ""
},
{
"filename": "派蒙-愤怒.png",
"quote": ""
},
{
"filename": "派蒙-星星眼.png",
"quote": ""
},
{
"filename": "派蒙-期待.png",
"quote": ""
},
{
"filename": "派蒙-该吃饭了.png",
"quote": ""
},
{
"filename": "派蒙-问号.png",
"quote": ""
},
{
"filename": "派蒙-馋.png",
"quote": ""
},
{
"filename": "派蒙-黑线.png",
"quote": ""
},
{
"filename": "温迪-吃惊.png",
"quote": "这么说吧,占卜和我的诗歌一样,都是让人穷到酒钱都凑不齐的没用技术呢!欸?你说占星至少是一项文化传统,所以不是没用的?呜,真失礼啊,那诗歌也一样有用啊!"
},
{
"filename": "温迪-撒花.png",
"quote": ""
},
{
"filename": "温迪-有主意了.png",
"quote": ""
},
{
"filename": "温迪-期待.png",
"quote": ""
},
{
"filename": "温迪-鼓掌.png",
"quote": ""
},
{
"filename": "烟绯-得意.png",
"quote": "我叫烟绯,是璃月港最顶尖的律法专家,没有之一!商业纠纷、民事调解、刑事诉讼,样样精通,一出手就搞得定!我的联系方式…要给你记在哪里好呢?唔…记在纸上容易丢,记在手上容易糊掉…哦!有了,就写在你旁边这个小家伙的衣服上吧。"
},
{
"filename": "烟绯-无奈.png",
"quote": "你知道「天权星」凝光小姐吧?她主管律法,也经常修正法典,每次增补删改的内容都多得要命。就在上次,全新的法典里又增加了三条律法,修改了一百二十一条律法注释,还新附了一堆典型判例,这次我又不知道要背到什么时候了…"
},
{
"filename": "烟绯-没问题.png",
"quote": "你四处游历,要是怕遇到麻烦处理起来棘手,最好的办法就是跟知法懂法之人同行。而我烟绯擅长的,也不止璃月本国的律法。呃,虽然,枫丹那边的还挺复杂…但靠我这个聪明的脑袋,要熟记也不是什么难事!总…总之!我是绝对值得依靠的!"
},
{
"filename": "烟绯-睡不着.png",
"quote": "嗯?《璃月商典》第二十七章第六条第三款是什么来着…我怎么会忘记?不应当不应当…"
},
{
"filename": "珊瑚宫心海-好累.png",
"quote": "其实很早以前,我并不想成为现人神巫女,只想每天读读兵书,做一个幕僚。这样就可以把自己隐藏在幕后,身上的担子也会减轻不少。不过最后还是事与愿违,毕竟血脉这种东西,是没办法违抗的…"
},
{
"filename": "珊瑚宫心海-悠闲.png",
"quote": "八重堂出版的刊物中,我尤其喜欢这本《提瓦特战争艺术》。你看,上面记录了许多经典战役,以及兵法名家对此的解析。其中有几篇我特别欣赏,让我来念给你听…"
},
{
"filename": "珊瑚宫心海-摸鱼.png",
"quote": "每个生灵的意志都值得尊重,就像海中的游鱼,也有自己的方向。"
},
{
"filename": "珊瑚宫心海-祈祷.png",
"quote": "天色真好,一起走走吧?"
},
{
"filename": "琴-唔.png",
"quote": "慰劳…派对?唔…大家…我、我只是很感动而已…"
},
{
"filename": "琴-沉思.png",
"quote": "「狮牙骑士」,代表温妮莎为蒙德而斗争的过去;而建立西风骑士团之后的「蒲公英骑士」,代表她所期望的,骑士团的未来…比起「狮牙骑士」,果然还是「蒲公英骑士」更适合我。"
},
{
"filename": "琴-生气.png",
"quote": "可莉!你应该知道后果吧?"
},
{
"filename": "琴-苦笑.png",
"quote": "虽说玩乐是孩子的天性,但可莉中意的玩具却都是些危险品。让人难以放心。"
},
{
"filename": "琴-赞扬.png",
"quote": "听凭风引。自由之风会指引前进的路,今后也请与我们同行吧,旅行者。"
},
{
"filename": "甘雨-不要摸.png",
"quote": "请…请不要碰我的角…"
},
{
"filename": "甘雨-懊恼.png",
"quote": "「想要了解更多甘雨的事情」…这,这是什么工作要求啊。我,我还从来没有处理过这样的…去年年底述职报告的背诵可以吗?啊,不行啊。"
},
{
"filename": "甘雨-打瞌睡.png",
"quote": "安逸的氛围…喜欢。"
},
{
"filename": "甘雨-挺好的.png",
"quote": "爱好吗,爱好的话…工作吧。嗯?工作不能算?但是,为什么呢?难道爱好不是指自己想要去做,做了就会感到开心的事情吗。那么爱好是工作,又有什么问题呢?"
},
{
"filename": "甘雨-早安.png",
"quote": "早上好…唔?是哪里没有梳理好吗,请不要盯着我的…盯着我的头饰看。"
},
{
"filename": "甘雨-祈祷.png",
"quote": "我想和你一起种花。或者是…别的植物,比如蔬菜…一起种,一起吃…"
},
{
"filename": "砂糖-ok.png",
"quote": ""
},
{
"filename": "砂糖-乖巧.png",
"quote": "我对你的经历,特别好奇,所以…我可以「观察」你一段时间吗?我会很安静的,不会打扰你,这样…你会介意吗?"
},
{
"filename": "砂糖-加油.png",
"quote": ""
},
{
"filename": "砂糖-委屈巴巴.png",
"quote": "我有点不敢和琴团长说话,因为她太严肃了…我知道她是个很好的人,但、但知道归知道,害怕…还是会害怕。我一般都不会去打扰她,实在有不得不找她的事,我…我也会拜托阿贝多先生。"
},
{
"filename": "砂糖-疑问.png",
"quote": ""
},
{
"filename": "砂糖-纪录.png",
"quote": "趁现在,赶快整理一下研究笔记…"
},
{
"filename": "神里绫华-偷笑.png",
"quote": "这就是旅行者平日里的生活么,呵,感觉又多了解了你一些。"
},
{
"filename": "神里绫华-喝茶.png",
"quote": "试问,常说「禅茶一味」,又说「剑禅一如」,那么剑和茶,又是什么关系呢?"
},
{
"filename": "神里绫华-早安.png",
"quote": "早安,旅行者。能像这样在清晨见你一面,我会忍不住觉得…接下来将是顺利的一天。"
},
{
"filename": "神里绫华-行礼.png",
"quote": "多亏你的点拨。有你相助,我对自己的能力也理解得更透彻了。"
},
{
"filename": "空-睡着了.png",
"quote": ""
},
{
"filename": "空-警觉.png",
"quote": ""
},
{
"filename": "罗莎莉亚-下班.png",
"quote": ""
},
{
"filename": "罗莎莉亚-凝视.png",
"quote": ""
},
{
"filename": "罗莎莉亚-嫌弃.png",
"quote": ""
},
{
"filename": "罗莎莉亚-汗.png",
"quote": ""
},
{
"filename": "胡桃-不好意思.png",
"quote": ""
},
{
"filename": "胡桃-交给我吧.png",
"quote": "需要帮手吗?需要帮手吗?我来啦!若你需要帮助,胡桃我定当全力以赴,绝不推辞。"
},
{
"filename": "胡桃-卖萌.png",
"quote": "不如去我那儿喝杯茶?嘿~"
},
{
"filename": "胡桃-变戏法.png",
"quote": "变个戏法给你看,瞧好了哦…火!然后…嚯!火蝴蝶!呼,飞啦——哈哈。"
},
{
"filename": "胡桃-吃惊.png",
"quote": "「玉衡」刻晴啊,嘶…是个很难打交道的人呢。嘿嘿,瞧那一本正经的样子,真想逗逗她。哎呦,她应该不会用剑敲我头吧?不会的吧?"
},
{
"filename": "胡桃-吓你一跳.png",
"quote": ""
},
{
"filename": "胡桃-吓唬.png",
"quote": ""
},
{
"filename": "胡桃-坏笑.png",
"quote": "香菱可好玩了,一碰就跳,特别容易被唬住。做我们这行,最喜欢这种人喽。"
},
{
"filename": "胡桃-念诗.png",
"quote": "大丘丘病了,二丘丘瞧;三丘丘采药,四丘丘熬;五丘丘死了,六丘丘抬~"
},
{
"filename": "胡桃-打哈欠.png",
"quote": "嗯~早起身体好,晚睡人会飘。"
},
{
"filename": "胡桃-打招呼.png",
"quote": ""
},
{
"filename": "胡桃-搞砸了.png",
"quote": ""
},
{
"filename": "胡桃-爱心.png",
"quote": ""
},
{
"filename": "胡桃-看招.png",
"quote": "吃饱喝饱,一路走好!"
},
{
"filename": "芭芭拉-嘘.png",
"quote": ""
},
{
"filename": "芭芭拉-害羞.png",
"quote": "欸,想听我唱歌…?对不起,还…还没有到演出时间呢。"
},
{
"filename": "芭芭拉-慌张.png",
"quote": "代理团长大人…骑士团的领袖,大家都很喜欢她哦。欸?问我吗?我…我当然也非常尊敬她!"
},
{
"filename": "芭芭拉-没事吧.png",
"quote": ""
},
{
"filename": "若陀龙王-休息.png",
"quote": ""
},
{
"filename": "若陀龙王-咆哮.png",
"quote": ""
},
{
"filename": "若陀龙王-挠头.png",
"quote": ""
},
{
"filename": "若陀龙王-迷茫.png",
"quote": ""
},
{
"filename": "荒泷一斗-吃糖.png",
"quote": "棒棒糖全身都是宝,不但糖好吃,棍子叼在嘴里还很帅,为我增添了一丝不羁的气质,来,你也试试吧。"
},
{
"filename": "荒泷一斗-大笑.png",
"quote": "嘿嘿,荒泷天下第一斗到此一游! 哈哈哈哈…咳…"
},
{
"filename": "荒泷一斗-挑衅.png",
"quote": "哈哈哈哈…我说将军啊,现在加入荒泷派的话…还能让你做个美梦哦?"
},
{
"filename": "荒泷一斗-挠头.png",
"quote": ""
},
{
"filename": "荧-拜托.png",
"quote": ""
},
{
"filename": "荧-请投币.png",
"quote": ""
},
{
"filename": "莫娜-吃炸鸡.png",
"quote": ""
},
{
"filename": "莫娜-哼哼.png",
"quote": "命中当如此,我早已预知到了。"
},
{
"filename": "莫娜-好饿.png",
"quote": "已经正午了,去吃点东西吧,嗯?我…我吃份沙拉就行了,呃…简朴的生活是…是占星术士修行的一环!"
},
{
"filename": "莫娜-是摩拉.png",
"quote": ""
},
{
"filename": "莫娜-比心.png",
"quote": ""
},
{
"filename": "菲谢尔-傲娇.png",
"quote": "旅行者…再见了。这次的一小段旅途,是一场很好的冒险。突然说要走,我也…"
},
{
"filename": "菲谢尔-哈哈哈.png",
"quote": ""
},
{
"filename": "诺艾尔-再来一杯.png",
"quote": "有点累了吗?那就在这里休息吧,我去为你沏茶,要全糖、半糖,还是无糖?"
},
{
"filename": "诺艾尔-叼薯条.png",
"quote": "我每天做的都是一些琐碎的小事,但只要这些小事能帮到你的冒险、你的生活,我就会很开心…因为你的道谢,会让我觉得这些小事,也都有小小的意义。"
},
{
"filename": "诺艾尔-土豆泥.png",
"quote": "喜欢的食物?当然是「满足沙拉」,蒙德的自然水土汇于一盘,营养均衡,热量也不会超标…你问吃不腻吗?当然不会,很好吃的!我已经吃了十年了。"
},
{
"filename": "诺艾尔-擦嘴.png",
"quote": "我不挑食!但有一种情况会让我比较头疼…宴会上的一大桌菜,作为女仆,每一道菜都必须自己先尝一尝。但这样一口接一口…唉,太罪恶了。"
},
{
"filename": "诺艾尔-超赞.png",
"quote": ""
},
{
"filename": "诺艾尔-送餐.png",
"quote": ""
},
{
"filename": "辛焱-冲呀.png",
"quote": "摇滚不可缺少的,就是激情——喂,别发呆了,快动起来!"
},
{
"filename": "辛焱-击掌.png",
"quote": ""
},
{
"filename": "辛焱-勉强.png",
"quote": ""
},
{
"filename": "辛焱-气死了.png",
"quote": ""
},
{
"filename": "辛焱-燃起来了.png",
"quote": "酷!我感受到你饱满的「激情」了!那么,就让我写一首专属于你的摇滚,只为你而奏响吧!"
},
{
"filename": "达达利亚-偷看.png",
"quote": ""
},
{
"filename": "达达利亚-冲浪.png",
"quote": ""
},
{
"filename": "达达利亚-可恶.png",
"quote": ""
},
{
"filename": "达达利亚-叹气.png",
"quote": "无论决斗的对手是神,还是深渊的魔兽,只要有形,就有得胜的可能。但执行官当中,有的人热衷于权术、阴谋那些…「看不见的手段」。我跟那些无聊的家伙合不来。"
},
{
"filename": "达达利亚-吃惊.png",
"quote": ""
},
{
"filename": "达达利亚-失去高光.png",
"quote": ""
},
{
"filename": "达达利亚-征服世界.png",
"quote": "记住了,伙伴,我是终有一天要征服世界的人!"
},
{
"filename": "达达利亚-得意.png",
"quote": "时间过得真快。总有一天,我要让你亲眼看见我征服世界的样子、我把神的王座踩在脚下的样子。哈哈,在那之前,你可绝对不要倒下啊,伙伴!"
},
{
"filename": "达达利亚-挠头.png",
"quote": ""
},
{
"filename": "达达利亚-瞄准.png",
"quote": ""
},
{
"filename": "达达利亚-美妙.png",
"quote": ""
},
{
"filename": "迪卢克-摇可乐.png",
"quote": "我偶尔会去「天使的馈赠」亲自调酒,因为酒馆是情报集中流通的地方。"
},
{
"filename": "迪卢克-撒盐.png",
"quote": ""
},
{
"filename": "迪卢克-擦汗.png",
"quote": ""
},
{
"filename": "迪卢克-有事吗.png",
"quote": ""
},
{
"filename": "迪卢克-特别招待.png",
"quote": ""
},
{
"filename": "迪卢克-谢谢惠顾.png",
"quote": ""
},
{
"filename": "迪奥娜-傲娇.png",
"quote": "你没有猫的夜视能力,走夜路不要紧吧?要我护送你的话…欸,有灯啊?…谁,谁要护送你啦,快点走快点走。"
},
{
"filename": "迪奥娜-无聊.png",
"quote": ""
},
{
"filename": "迪奥娜-烦躁.png",
"quote": "我喜欢吃鱼!作为主食的鱼…爸爸做的鱼!但是…不要作为下酒菜,那是对鱼的亵渎!"
},
{
"filename": "迪奥娜-超凶.png",
"quote": "我扑…捕捉蝴蝶的技巧可是一流的。喂,不是啦!抓蝴蝶是为了加进酒里做出难吃的味道,不要把我当成猫啦!喵!"
},
{
"filename": "钟离-不必匆忙.png",
"quote": "一份新的「契约」?好吧…虽然我还在度假,但也可以陪你走一趟。契约书上,该签什么名字呢?我有许多名字,度假期间的话…我会自称「钟离」。你呢,旅行者?你会签下什么名字?"
},
{
"filename": "钟离-可惜忘了.png",
"quote": "哦?私房钱?嗯…以普遍理性而论,真是个好建议。可惜…忘了。"
},
{
"filename": "钟离-喝茶.png",
"quote": ""
},
{
"filename": "钟离-天动万象.png",
"quote": "原来如此,驱动「神之眼」驾驭元素力,对于常人而言不啻伟业。哦,原来如此…那时的他们,是抱着这样的觉悟站在我身旁啊…"
},
{
"filename": "钟离-思考.png",
"quote": "时间会淬炼一切意志。而巴尔,恰好是会为信念付出所有的人。或许正因如此,她才能走到这一步。如有机会,我也想见识一下她为之倾尽一切的「永恒」。"
},
{
"filename": "钟离-我全都要.png",
"quote": ""
},
{
"filename": "钟离-摊手.png",
"quote": ""
},
{
"filename": "阿贝多-交给我.png",
"quote": "我是阿贝多,西风骑士团首席炼金术士。我对你身上星海的气息很感兴趣,想要就近观察研究。相信以后我们会有很多独处的机会。"
},
{
"filename": "阿贝多-冷.png",
"quote": ""
},
{
"filename": "阿贝多-坏笑.png",
"quote": "怎么了?我脖子上有什么东西吗?何,看你的表情,还以为是我刚开了什么恶劣的玩笑呢。"
},
{
"filename": "阿贝多-怎么了.png",
"quote": ""
},
{
"filename": "阿贝多-沉思.png",
"quote": "即便到了现在,师父传授给我的「黑土之术」仍是充满了谜团,师父到底想要用这个技术创造出什么呢?…研究之期还远未到尽头,得麻烦你和我一起继续探索了。"
},
{
"filename": "阿贝多-没什么.png",
"quote": ""
},
{
"filename": "阿贝多-送花.png",
"quote": ""
},
{
"filename": "雷电将军-威胁.png",
"quote": ""
},
{
"filename": "雷电将军-惊讶.png",
"quote": ""
},
{
"filename": "雷电将军-美味.png",
"quote": "你别听将军她的。甜点心!蛀牙什么的,换一套就好了。这怎么会影响对永恒的追求呢。"
},
{
"filename": "雷电将军-轻笑.png",
"quote": "虽然是微服出访的保镖,但是我遇到危险不用替我挡刀了。将军她构造还挺结实的,坏了还能替换呢。所以遇到危险把将军她推到前面就好了。"
},
{
"filename": "香菱-新菜谱.png",
"quote": "看着点哦!像这样烧热一锅油,然后,把去掉翅膀的晶蝶这样放下去炸…哎呀你别走啊,超香的啦!"
},
{
"filename": "香菱-星星眼.png",
"quote": "你见过蒙德城的龙?有多大?哇,不是吧。那要是做成龙肉排——嗯,该有多棒啊!"
},
{
"filename": "香菱-诶嘿嘿.png",
"quote": ""
},
{
"filename": "魈-冷漠.png",
"quote": "海灯节?哼,原来又到了凡人用发光垃圾塞满璃月港的时候了,唉,为何如此幼稚。…不过你若无聊,我便陪你去。"
},
{
"filename": "魈-发呆.png",
"quote": ""
},
{
"filename": "魈-吃.png",
"quote": "杏仁豆腐的味道,和「美梦」非常相似呢。"
},
{
"filename": "魈-坐.png",
"quote": ""
},
{
"filename": "魈-揉眼.png",
"quote": ""
},
{
"filename": "魈-来吧.png",
"quote": "荒野上的孤魂,休想伤我分毫。"
},
{
"filename": "魈-疑问.png",
"quote": "要我亲手在薄饼中包入肉片?啊…然后…一起吃下去?呵…麻烦。如今的人间,真是越来越缺乏常识了。"
},
{
"filename": "魈-皱眉.png",
"quote": "…谁!?…你觉得我是站着睡着了?哼,不敬仙师!"
}
]

BIN
res/number.ttf Normal file

Binary file not shown.

BIN
res/优设标题黑.ttf Normal file

Binary file not shown.