Improve AI

This commit is contained in:
syuilo 2018-09-01 19:36:58 +09:00
parent 2fcc71dc2a
commit 988cf87aee
3 changed files with 53 additions and 10 deletions

View file

@ -92,11 +92,30 @@ export default class Friend {
if (this.doc.love == null) this.doc.love = 0; if (this.doc.love == null) this.doc.love = 0;
this.doc.love++; this.doc.love++;
// 最大 100
if (this.doc.love > 100) this.doc.love = 100;
this.doc.lastLoveIncrementedAt = today; this.doc.lastLoveIncrementedAt = today;
this.doc.todayLoveIncrements = (this.doc.todayLoveIncrements || 0) + 1; this.doc.todayLoveIncrements = (this.doc.todayLoveIncrements || 0) + 1;
this.save(); this.save();
} }
public decLove = () => {
if (this.doc.love == null) this.doc.love = 0;
this.doc.love--;
// 最低 -30
if (this.doc.love < -30) this.doc.love = -30;
// 親愛度マイナスなら名前を忘れる
if (this.doc.love < 0) {
this.doc.name = null;
}
this.save();
}
public updateName = (name: string) => { public updateName = (name: string) => {
this.doc.name = name; this.doc.name = name;
this.save(); this.save();

View file

@ -147,6 +147,11 @@ export default class CoreModule implements IModule {
return true; return true;
} }
if (includes(msg.text, ['ぽんこつ'])) {
msg.friend.decLove();
return true;
}
return false; return false;
} }
@ -156,22 +161,28 @@ export default class CoreModule implements IModule {
// メッセージのみ // メッセージのみ
if (!msg.isMessage) return true; if (!msg.isMessage) return true;
//#region 1日に1回だけ親愛度を上げる //#region 1日に1回だけ親愛度を上げる(嫌われてない場合のみ)
const today = getDate(); if (msg.friend.love >= 0) {
const today = getDate();
const data = msg.friend.getPerModulesData(this); const data = msg.friend.getPerModulesData(this);
if (data.lastNadenadeAt != today) { if (data.lastNadenadeAt != today) {
data.lastNadenadeAt = today; data.lastNadenadeAt = today;
msg.friend.setPerModulesData(this, data); msg.friend.setPerModulesData(this, data);
msg.friend.incLove(); msg.friend.incLove();
}
} }
//#endregion //#endregion
msg.reply( msg.reply(
msg.friend.love >= 10 ? serifs.core.nadenade3 : msg.friend.love >= 10 ? serifs.core.nadenade3 :
msg.friend.love >= 5 ? serifs.core.nadenade2 : msg.friend.love >= 5 ? serifs.core.nadenade2 :
msg.friend.love <= -15 ? serifs.core.nadenadeIya4 :
msg.friend.love <= -10 ? serifs.core.nadenadeIya3 :
msg.friend.love <= -5 ? serifs.core.nadenadeIya2 :
msg.friend.love <= -1 ? serifs.core.nadenadeIya1 :
serifs.core.nadenade1 serifs.core.nadenade1
); );
@ -181,7 +192,10 @@ export default class CoreModule implements IModule {
private kawaii = (msg: MessageLike): boolean => { private kawaii = (msg: MessageLike): boolean => {
if (!includes(msg.text, ['かわいい', '可愛い'])) return false; if (!includes(msg.text, ['かわいい', '可愛い'])) return false;
msg.reply(msg.friend.love >= 5 ? serifs.core.kawaii2 : serifs.core.kawaii1); msg.reply(
msg.friend.love >= 5 ? serifs.core.kawaii2 :
msg.friend.love <= -3 ? serifs.core.kawaiiIya1 :
serifs.core.kawaii1);
return true; return true;
} }

View file

@ -22,15 +22,25 @@ export default {
happyBirthday: name => name ? `お誕生日おめでとうございます、${name}🎉` : 'お誕生日おめでとうございます🎉', happyBirthday: name => name ? `お誕生日おめでとうございます、${name}🎉` : 'お誕生日おめでとうございます🎉',
nadenade1: '… びっくりしました', nadenade1: '… びっくりしました',
nadenade2: 'わわっ… 恥ずかしいです', nadenade2: 'わわっ… 恥ずかしいです',
nadenade3: 'ん… ありがとうございます♪', nadenade3: 'ん… ありがとうございます♪',
nadenadeIya1: '…っ! やめてほしいです...',
nadenadeIya2: '触らないでください',
nadenadeIya3: '近寄らないでください',
nadenadeIya4: 'やめてください。刺しますよ?',
kawaii1: 'ありがとうございます♪', kawaii1: 'ありがとうございます♪',
kawaii2: '嬉しいです♪' kawaii2: '嬉しいです♪',
kawaiiIya1: '...ありがとうございます',
}, },
keyword: { keyword: {