dead-bunny/js/plugins/RecollectionMode.js
2025-01-12 01:21:39 -06:00

2501 lines
72 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//=============================================================================
// RecollectionMode.js
// Copyright (c) 2015 rinne_grid
// This plugin is released under the MIT license.
// http://opensource.org/licenses/mit-license.php
//=============================================================================
/*:ja
* @plugindesc 回想モード機能を追加します。
* @author rinne_grid
*
*
* @help このプラグインには、プラグインコマンドはありません。
* @command reco
* @text 回想登録
* @des 回想登録
* @arg id
* @type number
*/
{
const pluginName = "RecollectionMode";
PluginManager.registerCommand(pluginName, "reco", function (args) {
recoGlobal(parseInt(args.id));
});
}
//-----------------------------------------------------------------------------
// ◆ プラグイン設定
//-----------------------------------------------------------------------------
var rngd_recollection_mode_settings = {
//---------------------------------------------------------------------
// ★ 回想モードで再生するBGMの設定をします
//---------------------------------------------------------------------
rec_mode_bgm: {
bgm: {
name: "LNEW_BGM14_Sad1",
pan: 0,
pitch: 100,
volume: 90,
},
},
//---------------------------------------------------------------------
// ★ 回想CG選択ウィンドウの設定を指定します
//---------------------------------------------------------------------
rec_mode_window: {
x: 200,
y: 100,
recollection_title: "回想モード",
str_select_recollection: "回想を見る",
str_select_cg: "CGを見る",
str_select_back_title: "タイトルに戻る",
},
//---------------------------------------------------------------------
// ★ 回想リストウィンドウの設定を指定します
//---------------------------------------------------------------------
rec_list_window: {
// 1画面に表示する縦の数
item_height: 3,
// 1画面に表示する横の数
item_width: 4,
// 1枚のCGに説明テキストを表示するかどうか
show_title_text: true,
// タイトルテキストの表示位置(left:左寄せ、center:中央、right:右寄せ)
title_text_align: "center",
// 閲覧したことのないCGの場合に表示するピクチャファイル名
never_watch_picture_name: "never_watch_picture",
// 閲覧したことのないCGのタイトルテキスト
never_watch_title_text: "",
},
//---------------------------------------------------------------------
// ★ 回想用のCGを指定します
//---------------------------------------------------------------------
rec_cg_set: [
{
title: "センリのHマッサージ",
thumbnail: "08_03_01",
pictures: ["01", "02", "03"],
common_event_id: 1007,
switch_id: 1007,
actorId: 8,
hint: "オープニングを見る",
},
{
title: "センリとヨシオの初セックス",
thumbnail: "08_01_01",
pictures: ["01", "02", "03"],
common_event_id: 1001,
switch_id: 1001,
actorId: 8,
hint: "センリのAV撮影をする",
},
{
title: "ヨシオの子出産",
thumbnail: "08_01_bote",
pictures: ["01", "02", "03"],
common_event_id: 1003,
switch_id: 1003,
actorId: 8,
hint: "センリのAV撮影をする",
},
/*{
'title': 'センリのヨシオの初アナルSEX',
'thumbnail': '08_01_01',
'pictures': ['01', '02', '03'],
'common_event_id': 1002,
'switch_id': 1002,
actorId: 8,
'hint': 'センリのAV撮影をする'
},*/
{
title: "ヨシオと立ちバック",
thumbnail: "08_02_01",
pictures: ["01", "02", "03"],
common_event_id: 1004,
switch_id: 1004,
actorId: 8,
hint: "センリのAV撮影をする",
},
{
title: "ヨシオと騎乗位",
thumbnail: "08_04_01",
pictures: ["01", "02", "03"],
common_event_id: 1010,
switch_id: 1010,
actorId: 8,
hint: "センリのAV撮影をする",
},
{
title: "ヨシオと同棲H",
thumbnail: "08_05_01",
pictures: ["01", "02", "03"],
common_event_id: 1013,
switch_id: 1013,
actorId: 8,
hint: "センリのAV撮影をする",
},
{
title: "センリ顔射",
thumbnail: "08_06_01",
pictures: ["01", "02", "03"],
common_event_id: 1016,
switch_id: 1016,
actorId: 8,
hint: "センリのAV撮影をする",
},
{
title: "センリ 妊娠",
thumbnail: "event_08_02",
pictures: ["01", "02", "03"],
common_event_id: 241,
switch_id: 1127,
actorId: 8,
event: true,
hint: "センリが妊娠する",
},
{
title: "同棲開始イベント",
thumbnail: "event_08_03",
pictures: ["01", "02", "03"],
common_event_id: 650,
switch_id: 650,
actorId: 8,
hint: "センリが同棲する",
},
{
title: "同棲妊娠",
thumbnail: "event_08_04",
pictures: ["01", "02", "03"],
common_event_id: 666,
switch_id: 666,
actorId: 8,
hint: "同棲妊娠する",
},
{
title: "センリ 覗き見",
thumbnail: "08_05_01",
pictures: ["01", "02", "03"],
common_event_id: 665,
switch_id: 665,
actorId: 8,
hint: "センリの同棲を覗き見する",
},
{
title: "センリ 友好度MAX",
thumbnail: "08_05_01",
pictures: ["01", "02", "03"],
common_event_id: 702,
switch_id: 702,
actorId: 8,
hint: "センリの友好度をMAXにする",
},
{
title: "センリ 初潮イベント",
thumbnail: "event_08_01",
pictures: ["01", "02", "03"],
common_event_id: 246,
switch_id: 246,
actorId: 8,
event: true,
hint: "センリの初潮がくる",
},
{
title: "ノノカの快楽調教",
thumbnail: "09_03_01",
pictures: ["01", "02", "03"],
common_event_id: 1033,
switch_id: 1033,
actorId: 9,
hint: "カのAV撮影をする",
},
{
title: "ノノカの処女喪失",
thumbnail: "09_04_01",
pictures: ["01", "02", "03"],
common_event_id: 1037,
switch_id: 1037,
actorId: 9,
hint: "カのAV撮影をする",
},
/*
{
'title': 'ノノカのボテ腹正常位',
'thumbnail': '09_04_bote2',
'pictures': ['01', '02', '03'],
'common_event_id': 1040,
'switch_id': 1040,
actorId: 9,
'hint': 'カのAV撮影をする'
},*/
{
title: "ノノカの初出産",
thumbnail: "09_04_bote",
pictures: ["01", "02", "03"],
common_event_id: 1038,
switch_id: 1038,
actorId: 9,
hint: "ノノカで出産をする",
},
{
title: "ノノカの睡眠姦",
thumbnail: "09_13_01",
pictures: ["01", "02", "03"],
common_event_id: 1068,
switch_id: 1068,
actorId: 9,
hint: "カのAV撮影をする",
},
{
title: "ノノカの睡眠姦出産",
thumbnail: "09_13_bote",
pictures: ["01", "02", "03"],
common_event_id: 1069,
switch_id: 1069,
actorId: 9,
hint: "カのAV撮影をする",
},
{
title: "ノノカ 部室で種付け",
thumbnail: "09_02_01",
pictures: ["01", "02", "03"],
common_event_id: 1030,
switch_id: 1030,
actorId: 9,
hint: "カのAV撮影をする",
},
{
title: "ノノカ 教室で種付け",
thumbnail: "09_06_01",
pictures: ["01", "02", "03"],
common_event_id: 1045,
switch_id: 1045,
actorId: 9,
hint: "カのAV撮影をする",
},
{
title: "ノノカ 教室で出産",
thumbnail: "09_06_bote",
pictures: ["01", "02", "03"],
common_event_id: 1046,
switch_id: 1046,
actorId: 9,
hint: "カのAV撮影をする",
},
{
title: "ノノカ 自分でAV販売",
thumbnail: "09_08_01",
pictures: ["01", "02", "03"],
common_event_id: 1052,
switch_id: 1052,
actorId: 9,
hint: "カのAV撮影をする",
},
{
title: "ノノカ 慣れたセックス",
thumbnail: "09_09_01",
pictures: ["01", "02", "03"],
common_event_id: 1055,
switch_id: 1055,
actorId: 9,
hint: "カのAV撮影をする",
},
{
title: "ノノカ トイレで種付け",
thumbnail: "09_07_01",
pictures: ["01", "02", "03"],
common_event_id: 1049,
switch_id: 1049,
actorId: 9,
hint: "カのAV撮影をする",
},
{
title: "ノノカ トイレで出産",
thumbnail: "09_07_bote",
pictures: ["01", "02", "03"],
common_event_id: 1050,
switch_id: 1050,
actorId: 9,
hint: "カのAV撮影をする",
},
{
title: "ノノカ 公衆便所放置",
thumbnail: "09_10_01",
pictures: ["01", "02", "03"],
common_event_id: 1058,
switch_id: 1058,
actorId: 9,
hint: "カのAV撮影をする",
},
{
title: "ノノカ 浮浪者種付け",
thumbnail: "09_12_01",
pictures: ["01", "02", "03"],
common_event_id: 1064,
switch_id: 1064,
actorId: 9,
hint: "カのAV撮影をする",
},
{
title: "レンによる搾乳H",
thumbnail: "09_17_01",
pictures: ["01", "02", "03"],
common_event_id: 1077,
switch_id: 1077,
actorId: 9,
hint: "カのAV撮影をする",
},
{
title: "自由男優の種付けH",
thumbnail: "09_02_02",
pictures: ["01", "02", "03"],
common_event_id: 1076,
switch_id: 1076,
actorId: 9,
hint: "カのAV撮影をする",
},
{
title: "ビデオレター1",
thumbnail: "event_09_09",
pictures: ["01", "02", "03"],
common_event_id: 374,
switch_id: 374,
actorId: 9,
hint: "ノノカのビデオレターを送る",
},
{
title: "ビデオレター2",
thumbnail: "event_09_09",
pictures: ["01", "02", "03"],
common_event_id: 378,
switch_id: 378,
actorId: 9,
hint: "ノノカのビデオレターを送る",
},
{
title: "同棲開始イベント",
thumbnail: "event_09_10",
pictures: ["01", "02", "03"],
common_event_id: 530,
switch_id: 530,
actorId: 9,
hint: "ノノカが同棲する",
},
{
title: "同棲妊娠",
thumbnail: "event_09_10",
pictures: ["01", "02", "03"],
common_event_id: 548,
switch_id: 548,
actorId: 9,
hint: "ノノカが同棲妊娠",
},
{
title: "同棲Hの覗き見",
thumbnail: "09_09_01",
pictures: ["01", "02", "03"],
common_event_id: 546,
switch_id: 546,
actorId: 9,
hint: "カの同棲Hを覗き見する",
},
{
title: "友好度MAXイベント",
thumbnail: "09_09_01",
pictures: ["01", "02", "03"],
common_event_id: 704,
switch_id: 704,
actorId: 9,
hint: "カと同棲相手が友好度がMAX",
},
{
title: "ノノカ 晒し者",
thumbnail: "09_05_01",
pictures: ["01", "02", "03"],
common_event_id: 969,
switch_id: 969,
actorId: 9,
hint: "ノノカの晒し者イベントを実行する",
},
{
title: "決戦 ノノカ",
thumbnail: "event_00_03",
pictures: ["01", "02", "03"],
common_event_id: 72,
switch_id: 72,
actorId: 9,
event: true,
hint: "ノノカと戦う",
},
{
title: "ノノカ 妊娠",
thumbnail: "event_09_01",
pictures: ["01", "02", "03"],
common_event_id: 202,
switch_id: 202,
actorId: 9,
event: true,
hint: "ノノカが妊娠する",
},
{
title: "レンの快楽調教",
thumbnail: "05_01_01",
pictures: ["01", "02", "03"],
common_event_id: 1121,
switch_id: 1121,
actorId: 8,
hint: "レンを拘束する",
},
{
title: "レンとセンリのセックス1",
thumbnail: "05_03_01",
pictures: ["01", "02", "03"],
common_event_id: 1127,
switch_id: 1127,
actorId: 8,
hint: "センリのAV撮影をする",
},
{
title: "レンとセンリの出産セックス",
thumbnail: "05_03_bote",
pictures: ["01", "02", "03"],
common_event_id: 1128,
switch_id: 1128,
actorId: 8,
hint: "センリのAV撮影をする",
},
{
title: "レンとセンリのセックス2",
thumbnail: "05_02_01",
pictures: ["01", "02", "03"],
common_event_id: 1124,
switch_id: 1124,
actorId: 8,
hint: "センリのAV撮影をする",
},
{
title: "レンとセンリのセックス3",
thumbnail: "05_04_01",
pictures: ["01", "02", "03"],
common_event_id: 1130,
switch_id: 1130,
actorId: 8,
hint: "センリのAV撮影をする",
},
{
title: "マリナ 息子とセックス",
thumbnail: "04_02_01",
pictures: ["01", "02", "03"],
common_event_id: 1081,
switch_id: 1081,
actorId: 4,
hint: "マリナのAV撮影をする",
},
{
title: "息子の子を出産",
thumbnail: "04_02_bote",
pictures: ["01", "02", "03"],
common_event_id: 1082,
switch_id: 1082,
actorId: 4,
hint: "マリナのAVを撮影する",
},
{
title: "息子主導でセックス",
thumbnail: "04_01_01",
pictures: ["01", "02", "03"],
common_event_id: 1078,
switch_id: 1078,
actorId: 4,
hint: "マリナのAVを撮影する",
},
{
title: "騎乗位で息子とセックス",
thumbnail: "04_10_01",
pictures: ["01", "02", "03"],
common_event_id: 1105,
switch_id: 1105,
actorId: 4,
hint: "マリナのAVを撮影する",
},
{
title: "マリナ タロウと初セックス",
thumbnail: "04_03_01",
pictures: ["01", "02", "03"],
common_event_id: 1084,
switch_id: 1084,
actorId: 4,
hint: "マリナがタロウとセックスをする",
},
{
title: "マリナ 出産",
thumbnail: "04_03_bote",
pictures: ["01", "02", "03"],
common_event_id: 1085,
switch_id: 1085,
actorId: 4,
hint: "マリナがタロウとセックスをする",
},
{
title: "マリナ 学校でセックス",
thumbnail: "04_04_01",
pictures: ["01", "02", "03"],
common_event_id: 1087,
switch_id: 1087,
actorId: 4,
hint: "マリナがタロウとセックスをする",
},
{
title: "マリナ タロウとの同棲SEX",
thumbnail: "04_07_01",
pictures: ["01", "02", "03"],
common_event_id: 1096,
switch_id: 1096,
actorId: 4,
hint: "マリナがタロウとセックスをする",
},
{
title: "マリナ 乳首ピアスつけて騎乗位",
thumbnail: "04_05_01",
pictures: ["01", "02", "03"],
common_event_id: 1090,
switch_id: 1090,
actorId: 4,
hint: "マリナがタロウとセックスをする",
},
{
title: "マリナ 教え子たちとエッチ",
thumbnail: "04_06_01",
pictures: ["01", "02", "03"],
common_event_id: 1093,
switch_id: 1093,
actorId: 4,
hint: "マリナのAVを撮影する",
},
{
title: "ラビアピアスつけてセックス",
thumbnail: "04_13_01",
pictures: ["01", "02", "03"],
common_event_id: 1114,
switch_id: 1114,
actorId: 4,
hint: "マリナがタロウとセックスをする",
},
{
title: "セーラー服を着てセックス",
thumbnail: "04_15_01",
pictures: ["01", "02", "03"],
common_event_id: 1120,
switch_id: 1120,
actorId: 4,
hint: "マリナがタロウとセックスをする",
},
{
title: "同棲開始イベント",
thumbnail: "event_04_05",
pictures: ["01", "02", "03"],
common_event_id: 560,
switch_id: 560,
actorId: 4,
hint: "マリナが同棲する",
},
{
title: "覗き見イベント",
thumbnail: "04_03_01",
pictures: ["01", "02", "03"],
common_event_id: 574,
switch_id: 574,
actorId: 4,
hint: "マリナの同棲を覗き見する",
},
{
title: "同棲妊娠",
thumbnail: "event_04_06",
pictures: ["01", "02", "03"],
common_event_id: 575,
switch_id: 575,
actorId: 4,
hint: "同棲妊娠する",
},
{
title: "友好度MAXイベント",
thumbnail: "04_03_01",
pictures: ["01", "02", "03"],
common_event_id: 706,
switch_id: 706,
actorId: 4,
hint: "マリナと同棲相手が友好度がMAX",
},
{
title: "自由男優の種付けH",
thumbnail: "04_12_01",
pictures: ["01", "02", "03"],
common_event_id: 1111,
switch_id: 1111,
actorId: 4,
hint: "マリナのAVを撮影する",
},
{
title: "マリナ 晒し者",
thumbnail: "04_14_01",
pictures: ["01", "02", "03"],
common_event_id: 967,
switch_id: 967,
actorId: 4,
hint: "マリナの晒し者イベントを実行する",
},
{
title: "ビデオレター1",
thumbnail: "event_04_04",
pictures: ["01", "02", "03"],
common_event_id: 384,
switch_id: 384,
actorId: 4,
hint: "マリナのビデオレターを送る",
},
{
title: "ビデオレター2",
thumbnail: "event_04_04",
pictures: ["01", "02", "03"],
common_event_id: 388,
switch_id: 388,
actorId: 4,
hint: "マリナのビデオレターを送る",
},
{
title: "マリナの情報調査",
thumbnail: "event_04_01",
pictures: ["01", "02", "03"],
common_event_id: 201,
switch_id: 201,
actorId: 4,
event: true,
hint: "2章のイベントを見る",
},
{
title: "決戦 マリナ",
thumbnail: "event_00_04",
pictures: ["01", "02", "03"],
common_event_id: 73,
switch_id: 73,
actorId: 4,
event: true,
hint: "マリナと戦う",
},
{
title: "マリナに勝利",
thumbnail: "event_04_02",
pictures: ["01", "02", "03"],
common_event_id: 236,
switch_id: 236,
actorId: 4,
event: true,
hint: "マリナに勝利する",
},
{
title: "マリナ 妊娠",
thumbnail: "event_04_03",
pictures: ["01", "02", "03"],
common_event_id: 227,
switch_id: 227,
actorId: 4,
event: true,
hint: "マリナが妊娠する",
},
{
title: "サキ 処女喪失",
thumbnail: "013_01_01",
pictures: ["01", "02", "03"],
common_event_id: 1141,
switch_id: 1141,
actorId: 13,
hint: "サキのAVを撮影する",
},
{
title: "サキ 出産",
thumbnail: "013_01_bote",
pictures: ["01", "02", "03"],
common_event_id: 1142,
switch_id: 1142,
actorId: 13,
hint: "サキが出産する",
},
{
title: "サキ 制服セックス",
thumbnail: "013_13_01",
pictures: ["01", "02", "03"],
common_event_id: 1177,
switch_id: 1177,
actorId: 13,
hint: "サキのAVを撮影する",
},
{
title: "サキ ベロ射",
thumbnail: "013_02_01",
pictures: ["01", "02", "03"],
common_event_id: 1144,
switch_id: 1144,
actorId: 13,
hint: "サキのAVを撮影する",
},
{
title: "サキ アナル調教",
thumbnail: "013_05_01",
pictures: ["01", "02", "03"],
common_event_id: 1153,
switch_id: 1153,
actorId: 13,
hint: "サキのAVを撮影する",
},
{
title: "サキ ムチ調教",
thumbnail: "013_06_01",
pictures: ["01", "02", "03"],
common_event_id: 1156,
switch_id: 1156,
actorId: 13,
hint: "サキのAVを撮影する",
},
{
title: "サキ ムチ調教2",
thumbnail: "013_06_bote_02",
pictures: ["01", "02", "03"],
common_event_id: 1157,
switch_id: 1157,
actorId: 13,
hint: "サキのAVを撮影する",
},
{
title: "サキ 吊るし種付け",
thumbnail: "013_07_01",
pictures: ["01", "02", "03"],
common_event_id: 1159,
switch_id: 1159,
actorId: 13,
hint: "サキのAV撮影をする",
},
{
title: "サキ 吊るし出産",
thumbnail: "013_07_bote",
pictures: ["01", "02", "03"],
common_event_id: 1160,
switch_id: 1160,
actorId: 13,
hint: "サキのAV撮影をする",
},
{
title: "自由男優の種付けH",
thumbnail: "013_07_02",
pictures: ["01", "02", "03"],
common_event_id: 1161,
switch_id: 1161,
actorId: 13,
hint: "サキのAV撮影をする",
},
{
title: "サキ DVD販売",
thumbnail: "013_11_01",
pictures: ["01", "02", "03"],
common_event_id: 1171,
switch_id: 1171,
actorId: 13,
hint: "サキのAV撮影をする",
},
{
title: "サキ クラスメイトに公開",
thumbnail: "013_08_01",
pictures: ["01", "02", "03"],
common_event_id: 1162,
switch_id: 1162,
actorId: 13,
hint: "サキのAV撮影をする",
},
{
title: "クラスメイトの子出産",
thumbnail: "013_12_01",
pictures: ["01", "02", "03"],
common_event_id: 1174,
switch_id: 1174,
actorId: 13,
hint: "サキのAV撮影をする",
},
{
title: "サキ 毎日のセックス",
thumbnail: "013_04_01",
pictures: ["01", "02", "03"],
common_event_id: 1150,
switch_id: 1150,
actorId: 13,
hint: "サキのAV撮影をする",
},
{
title: "サキ 騎乗位",
thumbnail: "013_10_01",
pictures: ["01", "02", "03"],
common_event_id: 1168,
switch_id: 1168,
actorId: 13,
hint: "サキのAV撮影をする",
},
{
title: "サキ 腹騎乗位出産",
thumbnail: "013_10_bote",
pictures: ["01", "02", "03"],
common_event_id: 1169,
switch_id: 1169,
actorId: 13,
hint: "サキが出産する",
},
{
title: "同棲開始イベント",
thumbnail: "event_13_05",
pictures: ["01", "02", "03"],
common_event_id: 590,
switch_id: 590,
actorId: 13,
hint: "サキが同棲する",
},
{
title: "同棲妊娠",
thumbnail: "event_13_05",
pictures: ["01", "02", "03"],
common_event_id: 606,
switch_id: 590,
actorId: 13,
hint: "サキが同棲妊娠する",
},
{
title: "サキ 友好度MAX",
thumbnail: "013_04_01",
pictures: ["01", "02", "03"],
common_event_id: 708,
switch_id: 708,
actorId: 13,
hint: "サキの友好度をMAXにする",
},
{
title: "サキ 覗き見",
thumbnail: "013_04_01",
pictures: ["01", "02", "03"],
common_event_id: 605,
switch_id: 605,
actorId: 13,
hint: "サキの同棲を覗き見する",
},
{
title: "サキ 晒し者",
thumbnail: "013_14_01",
pictures: ["01", "02", "03"],
common_event_id: 970,
switch_id: 970,
actorId: 13,
hint: "サキの晒し者イベントを実行する",
},
{
title: "サキの情報調査",
thumbnail: "event_13_04",
pictures: ["01", "02", "03"],
common_event_id: 245,
switch_id: 245,
actorId: 13,
event: true,
hint: "3面のイベントを見る",
},
{
title: "決戦 サキ",
thumbnail: "event_13_01",
pictures: ["01", "02", "03"],
common_event_id: 74,
switch_id: 74,
actorId: 13,
event: true,
hint: "サキと戦う",
},
{
title: "サキに勝利",
thumbnail: "event_13_02",
pictures: ["01", "02", "03"],
common_event_id: 239,
switch_id: 239,
actorId: 13,
event: true,
hint: "サキに勝利する",
},
{
title: "サキ ボテ腹",
thumbnail: "event_13_03",
pictures: ["01", "02", "03"],
common_event_id: 222,
switch_id: 222,
actorId: 13,
event: true,
hint: "サキが妊娠する",
},
{
title: "デブオと売春",
thumbnail: "011_02_01",
pictures: ["01", "02", "03"],
common_event_id: 1204,
switch_id: 1204,
actorId: 11,
hint: "ミユが売春をする",
},
{
title: "デブオの子出産",
thumbnail: "011_02_bote",
pictures: ["01", "02", "03"],
common_event_id: 1205,
switch_id: 1205,
actorId: 11,
hint: "ミユがデブオの子を産む",
},
{
title: "クズオと売春",
thumbnail: "011_04_01",
pictures: ["01", "02", "03"],
common_event_id: 1210,
switch_id: 1210,
actorId: 11,
hint: "ミユが売春をする",
},
{
title: "クズオの子出産",
thumbnail: "011_04_bote",
pictures: ["01", "02", "03"],
common_event_id: 1211,
switch_id: 1211,
actorId: 11,
hint: "ミユがクズオの子を出産する",
},
{
title: "ガリオと売春",
thumbnail: "011_05_01",
pictures: ["01", "02", "03"],
common_event_id: 1213,
switch_id: 1213,
actorId: 11,
hint: "ミユが売春をする",
},
{
title: "ガリオの子出産",
thumbnail: "011_05_bote",
pictures: ["01", "02", "03"],
common_event_id: 1214,
switch_id: 1214,
actorId: 11,
hint: "ミユがガリオの子を出産する",
},
{
title: "ミユ クズオ2回目",
thumbnail: "011_06_01",
pictures: ["01", "02", "03"],
common_event_id: 1216,
switch_id: 1216,
actorId: 11,
hint: "ミユが売春をする",
},
{
title: "ミユ デブオ2回目",
thumbnail: "011_07_01",
pictures: ["01", "02", "03"],
common_event_id: 1219,
switch_id: 1219,
actorId: 11,
hint: "ミユが売春をする",
},
{
title: "ミユ ガリオ2回目",
thumbnail: "011_08_01",
pictures: ["01", "02", "03"],
common_event_id: 1222,
switch_id: 1222,
actorId: 11,
hint: "ミユが売春をする",
},
{
title: "ミユ 覗き見",
thumbnail: "011_08_bote",
pictures: ["01", "02", "03"],
common_event_id: 483,
switch_id: 483,
actorId: 11,
hint: "ミユの同棲を覗き見する",
},
{
title: "ミユ 友好度MAX",
thumbnail: "011_02_01",
pictures: ["01", "02", "03"],
common_event_id: 712,
switch_id: 712,
actorId: 11,
hint: "ミユの友好度をMAXにする",
},
{
title: "ミユ 初潮イベント",
thumbnail: "event_11_04",
pictures: ["01", "02", "03"],
common_event_id: 264,
switch_id: 264,
actorId: 11,
event: true,
hint: "ミユの初潮がくる",
},
{
title: "ミユ 妊娠",
thumbnail: "event_11_01",
pictures: ["01", "02", "03"],
common_event_id: 229,
switch_id: 229,
actorId: 11,
event: true,
hint: "ミユが妊娠する",
},
{
title: "ミユ 同棲イベント",
thumbnail: "event_11_02",
pictures: ["01", "02", "03"],
common_event_id: 470,
switch_id: 470,
actorId: 11,
event: true,
hint: "ミユが同棲をする",
},
{
title: "同棲出産イベント",
thumbnail: "event_11_03",
pictures: ["01", "02", "03"],
common_event_id: 475,
switch_id: 475,
actorId: 11,
event: true,
hint: "ミユが同棲出産をする",
},
/*{
'title': 'ユヅキ ココナとセックス',
'thumbnail': '03_02_01',
'pictures': ['01', '02', '03'],
'common_event_id': 1243,
'switch_id': 1243,
actorId: 3,
'hint': '2面のイベントを見る'
},*/
{
title: "ユヅキ 搾精",
thumbnail: "03_03_01",
pictures: ["01", "02", "03"],
common_event_id: 1246,
switch_id: 1246,
actorId: 10,
hint: "カナミのAV撮影をする",
},
{
title: "カナミ×ユヅキ",
thumbnail: "010_06_01",
pictures: ["01", "02", "03"],
common_event_id: 1310,
switch_id: 1310,
actorId: 10,
hint: "カナミのAV撮影をする",
},
{
title: "ユヅキの子出産",
thumbnail: "010_06_bote",
pictures: ["01", "02", "03"],
common_event_id: 1311,
switch_id: 1311,
actorId: 10,
hint: "カナミのAV撮影をする",
},
{
title: "カナミ×ユヅキ2",
thumbnail: "010_01_01",
pictures: ["01", "02", "03"],
common_event_id: 1295,
switch_id: 1295,
actorId: 10,
hint: "カナミのAV撮影をする",
},
{
title: "ユヅキの子出産2",
thumbnail: "010_01_bote",
pictures: ["01", "02", "03"],
common_event_id: 1296,
switch_id: 1296,
actorId: 10,
hint: "カナミのAV撮影をする",
},
{
title: "カナミ×ユヅキ3",
thumbnail: "010_07_01",
pictures: ["01", "02", "03"],
common_event_id: 1313,
switch_id: 1313,
actorId: 10,
hint: "カナミのAV撮影をする",
},
{
title: "催眠わからせ",
thumbnail: "010_03_01",
pictures: ["01", "02", "03"],
common_event_id: 1301,
switch_id: 1301,
actorId: 10,
hint: "カナミのAV撮影をする",
},
{
title: "催眠わからせ出産",
thumbnail: "010_03_bote",
pictures: ["01", "02", "03"],
common_event_id: 1302,
switch_id: 1302,
actorId: 10,
hint: "カナミのAV撮影をする",
},
{
title: "催眠わからせ2",
thumbnail: "010_04_01",
pictures: ["01", "02", "03"],
common_event_id: 1304,
switch_id: 1304,
actorId: 10,
hint: "カナミのAV撮影をする",
},
{
title: "催眠わからせ3",
thumbnail: "010_02_01",
pictures: ["01", "02", "03"],
common_event_id: 1298,
switch_id: 1298,
actorId: 10,
hint: "カナミのAV撮影をする",
},
{
title: "カナミ 友好度MAX",
thumbnail: "010_02_01",
pictures: ["01", "02", "03"],
common_event_id: 710,
switch_id: 710,
actorId: 10,
hint: "カナミの友好度をMAXにする",
},
{
title: "カナミ 覗き見",
thumbnail: "010_02_01",
pictures: ["01", "02", "03"],
common_event_id: 513,
switch_id: 513,
actorId: 10,
hint: "カナミの同棲を覗き見する",
},
{
title: "カナミ 妊娠",
thumbnail: "event_10_01",
pictures: ["01", "02", "03"],
common_event_id: 232,
switch_id: 232,
actorId: 10,
event: true,
hint: "カナミが妊娠する",
},
{
title: "カナミ 初潮イベント",
thumbnail: "event_10_04",
pictures: ["01", "02", "03"],
common_event_id: 267,
switch_id: 267,
actorId: 10,
event: true,
hint: "カナミの初潮がくる",
},
{
title: "カナミ 同棲イベント",
thumbnail: "event_10_02",
pictures: ["01", "02", "03"],
common_event_id: 500,
switch_id: 500,
actorId: 10,
event: true,
hint: "カナミが同棲をする",
},
{
title: "同棲出産イベント",
thumbnail: "event_10_03",
pictures: ["01", "02", "03"],
common_event_id: 505,
switch_id: 500,
actorId: 10,
event: true,
hint: "カナミが同棲出産をする",
},
{
title: "ココナ 初H",
thumbnail: "017_04_01",
pictures: ["01", "02", "03"],
common_event_id: 1401,
switch_id: 1401,
actorId: 17,
hint: "ココナのAV撮影をする",
},
{
title: "ココナ 妊娠セックス",
thumbnail: "017_02_01",
pictures: ["01", "02", "03"],
common_event_id: 1395,
switch_id: 1395,
actorId: 17,
hint: "ココナのAV撮影をする",
},
{
title: "ココナ 出産H",
thumbnail: "017_03_01",
pictures: ["01", "02", "03"],
common_event_id: 1398,
switch_id: 1398,
actorId: 17,
hint: "ココナのAV撮影をする",
},
{
title: "ココナ 公開種付け",
thumbnail: "017_08_01",
pictures: ["01", "02", "03"],
common_event_id: 1413,
switch_id: 1413,
actorId: 17,
hint: "ココナのAV撮影をする",
},
{
title: "ココナ 公開出産",
thumbnail: "017_08_bote",
pictures: ["01", "02", "03"],
common_event_id: 1414,
switch_id: 1414,
actorId: 17,
hint: "ココナのAV撮影をする",
},
{
title: "ココナ 黒人ちんぽに敗北",
thumbnail: "017_07_01",
pictures: ["01", "02", "03"],
common_event_id: 1410,
switch_id: 1410,
actorId: 17,
hint: "ココナのAV撮影をする",
},
{
title: "ココナ 変形まんこおひろめ",
thumbnail: "017_09_01",
pictures: ["01", "02", "03"],
common_event_id: 1416,
switch_id: 1416,
actorId: 17,
hint: "ココナのAV撮影をする",
},
{
title: "ココナ 公開出産",
thumbnail: "017_09_bote",
pictures: ["01", "02", "03"],
common_event_id: 1417,
switch_id: 1417,
actorId: 17,
hint: "ココナのAV撮影をする",
},
/*{
'title': 'ココナ バック2回目以降',
'thumbnail': '017_02_bote',
'pictures': ['01', '02', '03'],
'common_event_id': 1396,
'switch_id': 1396,
actorId: 17,
'hint': 'ココナのAV撮影をする'
},
{
'title': 'ココナ 正常位2回目以降',
'thumbnail': '017_03_02',
'pictures': ['01', '02', '03'],
'common_event_id': 1399,
'switch_id': 1399,
actorId: 17,
'hint': 'ココナのAV撮影をする'
},*/
{
title: "ココナ ヤリ部屋",
thumbnail: "017_10_01",
pictures: ["01", "02", "03"],
common_event_id: 1419,
switch_id: 1419,
actorId: 17,
hint: "ココナのAV撮影をする",
},
{
title: "ココナ 浮浪者",
thumbnail: "017_05_01",
pictures: ["01", "02", "03"],
common_event_id: 1404,
switch_id: 1404,
actorId: 17,
hint: "ココナのAV撮影をする",
},
{
title: "ココナ テントで出産",
thumbnail: "017_05_bote",
pictures: ["01", "02", "03"],
common_event_id: 1405,
switch_id: 1405,
actorId: 17,
hint: "ココナのAV撮影をする",
},
{
title: "ココナ デカチン選手権",
thumbnail: "017_11_01",
pictures: ["01", "02", "03"],
common_event_id: 1422,
switch_id: 1422,
actorId: 17,
hint: "ココナのAV撮影をする",
},
{
title: "男優別の汎用H",
thumbnail: "017_04_02",
pictures: ["01", "02", "03"],
common_event_id: 1425,
switch_id: 1425,
actorId: 17,
hint: "ココナのAV撮影をする",
},
{
title: "同棲開始イベント",
thumbnail: "event_17_07",
pictures: ["01", "02", "03"],
common_event_id: 620,
switch_id: 620,
actorId: 17,
hint: "ココナが同棲する",
},
{
title: "ココナ 覗き見",
thumbnail: "017_02_01",
pictures: ["01", "02", "03"],
common_event_id: 635,
switch_id: 635,
actorId: 17,
hint: "ココナの同棲を覗き見する",
},
{
title: "同棲妊娠",
thumbnail: "event_17_08",
pictures: ["01", "02", "03"],
common_event_id: 636,
switch_id: 636,
actorId: 17,
hint: "同棲妊娠する",
},
{
title: "ココナ 友好度MAX",
thumbnail: "017_02_01",
pictures: ["01", "02", "03"],
common_event_id: 714,
switch_id: 714,
actorId: 17,
hint: "ココナの友好度をMAXにする",
},
{
title: "ココナ 晒し者",
thumbnail: "017_01_01",
pictures: ["01", "02", "03"],
common_event_id: 968,
switch_id: 968,
actorId: 17,
hint: "ココナの晒し者イベントを実行する",
},
{
title: "ココナの情報調査",
thumbnail: "event_17_05",
pictures: ["01", "02", "03"],
common_event_id: 249,
switch_id: 249,
actorId: 17,
hint: "4章のイベント",
},
{
title: "ココナ イベント2",
thumbnail: "event_17_04",
pictures: ["01", "02", "03"],
common_event_id: 257,
switch_id: 257,
actorId: 17,
hint: "4章のイベント",
},
{
title: "決戦 ココナ",
thumbnail: "event_17_02",
pictures: ["01", "02", "03"],
common_event_id: 75,
switch_id: 75,
actorId: 17,
event: true,
hint: "ココナと戦う",
},
{
title: "ココナ捕獲",
thumbnail: "event_17_01",
pictures: ["01", "02", "03"],
common_event_id: 1390,
switch_id: 1390,
actorId: 17,
hint: "ココナに勝利する",
},
{
title: "ココナ 妊娠判明",
thumbnail: "017_bote",
pictures: ["01", "02", "03"],
common_event_id: 217,
switch_id: 217,
actorId: 17,
event: true,
hint: "ココナが妊娠する",
},
{
title: "ゲイリーとの通信1",
thumbnail: "event_00_01",
pictures: ["01", "02", "03"],
common_event_id: 207,
switch_id: 1007,
actorId: 98,
hint: "オープニングを見る",
},
{
title: "ゲイリーとの通信2",
thumbnail: "event_00_01",
pictures: ["01", "02", "03"],
common_event_id: 210,
switch_id: 210,
actorId: 98,
hint: "センリのAVを撮影する",
},
{
title: "ゲイリー討伐",
thumbnail: "event_00_02",
pictures: ["01", "02", "03"],
common_event_id: 295,
switch_id: 295,
actorId: 98,
hint: "ゲイリーを討伐する",
},
{
title: "宣戦布告",
thumbnail: "event_09_02",
pictures: ["01", "02", "03"],
common_event_id: 219,
switch_id: 219,
actorId: 98,
event: true,
hint: "2章のイベント",
},
{
title: "ユヅキ加入イベント",
thumbnail: "event_03_01",
pictures: ["01", "02", "03"],
common_event_id: 269,
switch_id: 269,
actorId: 98,
event: true,
hint: "洗脳施設を制圧する",
},
{
title: "怪人王討伐",
thumbnail: "event_09_04",
pictures: ["01", "02", "03"],
common_event_id: 284,
switch_id: 284,
actorId: 98,
event: true,
hint: "怪人王を倒す",
},
{
title: "5面のイベント 1",
thumbnail: "event_09_07",
pictures: ["01", "02", "03"],
common_event_id: 183,
switch_id: 183,
actorId: 98,
hint: "5面のイベントを見る",
},
{
title: "5面のイベント 2",
thumbnail: "event_09_08",
pictures: ["01", "02", "03"],
common_event_id: 184,
switch_id: 184,
actorId: 98,
hint: "5面のイベントを見る",
},
{
title: "センリたちの過去",
thumbnail: "event_17_03",
pictures: ["01", "02", "03"],
common_event_id: 371,
switch_id: 371,
actorId: 98,
hint: "5面でタロウに話しかける",
},
{
title: "最終決戦",
thumbnail: "event_09_02",
pictures: ["01", "02", "03"],
common_event_id: 189,
switch_id: 76,
actorId: 98,
event: true,
hint: "5章のイベント",
},
{
title: "バッドエンド",
thumbnail: "event_17_06",
pictures: ["01", "02", "03"],
common_event_id: 186,
switch_id: 191,
actorId: 98,
event: true,
hint: "エンディングを見る",
},
{
title: "ノーマルエンド",
thumbnail: "event_09_05",
pictures: ["01", "02", "03"],
common_event_id: 190,
switch_id: 191,
actorId: 98,
event: true,
hint: "エンディングを見る",
},
{
title: "トゥルーエンド(怪人組織撃破)",
thumbnail: "event_09_03",
pictures: ["01", "02", "03"],
common_event_id: 191,
switch_id: 191,
actorId: 98,
event: true,
hint: "エンディングを見る",
},
{
title: "エピローグ",
thumbnail: "event_09_06",
pictures: ["01", "02", "03"],
common_event_id: 900,
switch_id: 191,
actorId: 98,
event: true,
hint: "エピローグを見る",
},
],
//---------------------------------------------------------------------
// ★ 回想時に一時的に利用するマップIDを指定します
//---------------------------------------------------------------------
// 通常は何もないマップを指定します
//---------------------------------------------------------------------
sandbox_map_id: 4,
};
function rngd_hash_size(obj) {
var cnt = 0;
for (var o in obj) {
cnt++;
}
return cnt;
}
//-----------------------------------------------------------------------------
// ◆ Scene関数
//-----------------------------------------------------------------------------
//=========================================================================
// ■ Scene_Recollection
//=========================================================================
// 回想用のシーン関数です
//=========================================================================
function Scene_Recollection() {
this.initialize.apply(this, arguments);
}
Scene_Recollection.prototype = Object.create(Scene_Base.prototype);
Scene_Recollection.prototype.constructor = Scene_Recollection;
Scene_Recollection.prototype.initialize = function () {
Scene_Base.prototype.initialize.call(this);
};
Scene_Recollection.prototype.create = function () {
Scene_Base.prototype.create.call(this);
this.createWindowLayer();
this.createCommandWindow();
};
// 回想モードのカーソル
Scene_Recollection.rec_list_index = 0;
// 回想モードの再読み込み判定用 true: コマンドウィンドウを表示せず回想リストを表示 false:コマンドウィンドウを表示
Scene_Recollection.reload_rec_list = false;
Scene_Recollection.prototype.createCommandWindow = function () {
// 回想モード選択ウィンドウ
/*this._rec_window = new Window_RecollectionCommand();
this._rec_window.setHandler('select_recollection', this.commandShowRecollection.bind(this));
this._rec_window.setHandler('select_cg', this.commandShowCg.bind(this));
this._rec_window.setHandler('select_back_title', this.commandBackTitle.bind(this));
this._rec_window.setHandler('cancel', this.commandBackTitle.bind(this));
this.addWindow(this._rec_window);*/
// 回想リスト
this._rec_list = new Window_RecList(-4, -4, Graphics.width, Graphics.height);
// リロードの場合回想リストを表示にする。通常はここがfalse
if (Scene_Recollection.reload_rec_list) {
//this._rec_window.deactivate();
//this._rec_window.visible = false;
this._rec_list.visible = true;
this._rec_list.activate();
} else {
//this._rec_window.activate();
//this._rec_window.visible = true;
this._rec_list.visible = false;
this._rec_list.deactivate();
}
this._rec_list.setHandler("ok", this.commandDoRecMode.bind(this));
this._rec_list.setHandler("cancel", this.commandBackSelectMode.bind(this));
this._mode = "recollection";
this._rec_list.select(Scene_Recollection.rec_list_index);
this.addWindow(this._rec_list);
// CG参照用ダミーコマンド
this._dummy_window = new Window_Command(new Rectangle(0, 0, 0, 0));
this._dummy_window.isCurrentItemEnabled = function () {
return true;
};
this._dummy_window.deactivate();
this._dummy_window.visible = false;
this._dummy_window.setHandler("ok", this.commandDummyOk.bind(this));
this._dummy_window.setHandler("cancel", this.commandDummyCancel.bind(this));
this._dummy_window.addCommand("next", "ok");
this.addWindow(this._dummy_window);
Scene_Recollection.reload_rec_list = false;
this._dummy_window.isTouchedInsideFrame = function () {
return true;
};
this._dummy_window.onTouch = function (triggered) {
if (triggered) {
this.processOk();
}
};
this.commandShowRecollection();
};
function Window_RecCommand() {
this.initialize.apply(this, arguments);
}
Window_RecCommand.prototype = Object.create(Window_Command.prototype);
Window_RecCommand.prototype.constructor = Window_RecCommand;
Window_RecCommand.prototype.initialize = function () {
Window_Command.prototype.initialize.call(this, 0, 0);
};
Window_RecCommand.prototype.playOkSound = function () {};
Window_RecCommand.prototype.processCancel = function () {
this.updateInputData();
this.deactivate();
this.callCancelHandler();
};
//-------------------------------------------------------------------------
// ● 開始処理
//-------------------------------------------------------------------------
Scene_Recollection.prototype.start = function () {
Scene_Base.prototype.start.call(this);
// this._rec_window.refresh();
this._rec_list.refresh();
AudioManager.playBgm(rngd_recollection_mode_settings.rec_mode_bgm.bgm);
Scene_Recollection._rngd_recollection_doing = false;
};
//-------------------------------------------------------------------------
// ● 更新処理
//-------------------------------------------------------------------------
Scene_Recollection.prototype.update = function () {
Scene_Base.prototype.update.call(this);
};
//-------------------------------------------------------------------------
// ● 「回想を見る」を選択した際のコマンド
//-------------------------------------------------------------------------
Scene_Recollection.prototype.commandShowRecollection = function () {
// モードウィンドウの無効化とリストウィンドウの有効化
this._mode = "recollection";
this._rec_list._mode = this._mode;
this.do_exchange_status_window(this._rec_window, this._rec_list);
};
//-------------------------------------------------------------------------
// ● 「CGを見る」を選択した際のコマンド
//-------------------------------------------------------------------------
Scene_Recollection.prototype.commandShowCg = function () {
this._mode = "cg";
this._rec_list._mode = this._mode;
this.do_exchange_status_window(this._rec_window, this._rec_list);
Scene_Recollection.reload_rec_list = false;
};
//-------------------------------------------------------------------------
// ● 「タイトルに戻る」を選択した際のコマンド
//-------------------------------------------------------------------------
Scene_Recollection.prototype.commandBackTitle = function () {
Scene_Recollection.rec_list_index = 0;
SceneManager.goto(Scene_Title);
};
//-------------------------------------------------------------------------
// ● 回想orCGモードから「キャンセル」して前の画面に戻った場合のコマンド
//-------------------------------------------------------------------------
Scene_Recollection.prototype.commandBackSelectMode = function () {
SceneManager.goto(Scene_Title);
//this.do_exchange_status_window(this._rec_list, this._rec_window);
};
//-------------------------------------------------------------------------
// ● 回想orCGモードにおいて、実際の回想orCGを選択した場合のコマンド
//-------------------------------------------------------------------------
Scene_Recollection.prototype.commandDoRecMode = function () {
var target_index = this._rec_list.index();
Scene_Recollection.rec_list_index = target_index;
$gameTemp.ignoreFiles = {};
$gameTemp.eroBack = null;
if (this._rec_list.is_valid_picture(this._rec_list.index())) {
// 回想モードの場合
if (this._mode == "recollection") {
Scene_Recollection._rngd_recollection_doing = true;
DataManager.setupNewGame();
$gamePlayer.setTransparent(255);
this.fadeOutAll();
// TODO: パーティを透明状態にする
//$dataSystem.optTransparent = false;
var commonEventId =
rngd_recollection_mode_settings.rec_cg_set[target_index][
"common_event_id"
];
$gameTemp.reserveCommonEvent(commonEventId);
$gamePlayer.reserveTransfer(
rngd_recollection_mode_settings.sandbox_map_id,
0,
0,
0
);
$gameSwitches.setValue(999, true);
sessionStorage.setItem("noreCommonEventId", commonEventId);
sessionStorage.setItem(
"norePlayerMap",
rngd_recollection_mode_settings.sandbox_map_id
);
SceneManager.push(Scene_Map);
// CGモードの場合
} else if (this._mode == "cg") {
Scene_Recollection._rngd_recollection_doing = false;
this._cg_sprites = [];
this._cg_sprites_index = 0;
var obj = rngd_recollection_mode_settings.rec_cg_set[target_index];
$gameTemp.addIgnoreFiles(obj.ignore);
// シーン画像をロードする
var n = 15;
var file = obj.thumbnail.substr(0, 5);
var self = this;
var texture = PIXI.utils.TextureCache[file + "_01_01.png"];
if (texture) {
onComp();
} else {
var file2 = "img/ero/ero" + file + ".json";
if (obj.file) {
file2 = "img/ero/ero" + obj.file + ".json";
}
ImageManager.loadSpriteSheet(file2, onComp);
if (obj.file2) {
ImageManager.loadSpriteSheet("img/ero/ero" + obj.file2 + ".json");
}
}
if (obj.back) {
$gameTemp.eroBack = obj.back;
}
function getFileName(id) {
if (id == "se") {
return "se";
}
if (id < 10) {
return file + "_0" + id;
} else {
return file + "_" + id;
}
}
function onComp() {
obj.pictures.forEach(function (name) {
var sp = new Sprite_Picture(n);
if (typeof name == "string") {
var picFile = file + "_" + name;
$gameScreen.showPicture(
n,
Saba.SimpleScenario.webpPrefix + picFile,
0,
0,
0,
100,
100,
255,
0
);
} else if (typeof name == "number") {
$gameScreen.showPicture(
n,
Saba.SimpleScenario.webpPrefix + getFileName(name),
0,
0,
0,
100,
100,
255,
0
);
} else {
var json = JSON.parse(JSON.stringify(name));
var names = json.pic;
var nameList = [];
for (var i = 0; i < names.length; i++) {
nameList.push(getFileName(names[i]));
}
if (json.reverse) {
for (var i = names.length - 1; i >= 0; i--) {
nameList.push(getFileName(names[i]));
}
}
json.pic = nameList;
if (json.seIndex == undefined) {
json.seIndex = -1;
}
p(JSON.stringify(json));
var picFile = JSON.stringify(json);
$gameScreen.showPicture(
n,
Saba.SimpleScenario.webpPrefix + picFile,
0,
0,
0,
100,
100,
255,
0
);
}
//var pic = $gameScreen.picture(n);
//sp.bitmap = ImageManager.loadSabaJpeg(name);
// 最初のSprite以外は見えないようにする
if (self._cg_sprites.length > 0) {
sp.invisible = true;
}
// TODO: 画面サイズにあわせて、拡大・縮小すべき
self._cg_sprites.push(sp);
self.addChild(sp);
n++;
}, self);
}
this.do_exchange_status_window(this._rec_list, this._dummy_window);
this._dummy_window.visible = false;
this._dummy_window.activate();
}
} else {
this._rec_list.activate();
}
this._rec_list.refresh();
};
Scene_Recollection.prototype.commandDummyOk = function () {
if (this._cg_sprites_index < this._cg_sprites.length - 1) {
this._cg_sprites[this._cg_sprites_index].invisible = true;
this._cg_sprites_index++;
this._cg_sprites[this._cg_sprites_index].invisible = false;
this._dummy_window.activate();
SoundManager.playOk();
} else {
if (this._cg_sprites.length == 0) {
this._dummy_window.activate();
return;
}
SoundManager.playOk();
this.clearCg();
this.do_exchange_status_window(this._dummy_window, this._rec_list);
}
};
Scene_Recollection.prototype.clearCg = function () {
$gameScreen.clearPictures();
for (var i = 0; i < this._cg_sprites.length; i++) {
var sp = this._cg_sprites[i];
sp.invisible = true;
this.removeChild(sp);
}
this._cg_sprites = [];
};
Scene_Recollection.prototype.commandDummyCancel = function () {
if (this._cg_sprites_index == 0) {
SoundManager.playCancel();
this.clearCg();
this.do_exchange_status_window(this._dummy_window, this._rec_list);
} else {
this._cg_sprites[this._cg_sprites_index].invisible = true;
this._cg_sprites_index--;
this._cg_sprites[this._cg_sprites_index].invisible = false;
this._dummy_window.activate();
SoundManager.playOk();
}
};
// コモンイベントから呼び出す関数
Scene_Recollection.prototype.rngd_exit_scene = function () {
if (Scene_Recollection._rngd_recollection_doing) {
// Window_RecListを表示する
Scene_Recollection.reload_rec_list = true;
SceneManager.push(Scene_Recollection);
}
};
//-------------------------------------------------------------------------
// ● ウィンドウの無効化と有効化
//-------------------------------------------------------------------------
// win1: 無効化するウィンドウ
// win2: 有効化するウィンドウ
//-------------------------------------------------------------------------
Scene_Recollection.prototype.do_exchange_status_window = function (win1, win2) {
if (win1) {
win1.deactivate();
win1.visible = false;
}
if (win2) {
win2.activate();
win2.refresh();
win2.visible = true;
}
};
//-----------------------------------------------------------------------------
// ◆ Window関数
//-----------------------------------------------------------------------------
//=========================================================================
// ■ Window_RecollectionCommand
//=========================================================================
// 回想モードかCGモードを選択するウィンドウです
//=========================================================================
function Window_RecollectionCommand() {
this.initialize.apply(this, arguments);
}
Window_RecollectionCommand.prototype = Object.create(Window_Command.prototype);
Window_RecollectionCommand.prototype.constructor = Window_RecollectionCommand;
Window_RecollectionCommand.prototype.initialize = function () {
Window_Command.prototype.initialize.call(this, 0, 0);
this.x = rngd_recollection_mode_settings.rec_mode_window.x;
this.y = rngd_recollection_mode_settings.rec_mode_window.y;
};
Window_RecollectionCommand.prototype.makeCommandList = function () {
Window_Command.prototype.makeCommandList.call(this);
this.addCommand(
rngd_recollection_mode_settings.rec_mode_window.str_select_recollection,
"select_recollection"
);
this.addCommand(
rngd_recollection_mode_settings.rec_mode_window.str_select_cg,
"select_cg"
);
this.addCommand(
rngd_recollection_mode_settings.rec_mode_window.str_select_back_title,
"select_back_title"
);
};
//=========================================================================
// ■ Window_RecollectionList
//=========================================================================
// 回想またはCGを選択するウィンドウです
//=========================================================================
function Window_RecList() {
this.initialize.apply(this, arguments);
}
Window_RecList.prototype = Object.create(Window_Selectable.prototype);
Window_RecList.prototype.constructor = Window_RecList;
//-------------------------------------------------------------------------
// ● 初期化処理
//-------------------------------------------------------------------------
Window_RecList.prototype.initialize = function (x, y, width, height) {
Window_Selectable.prototype.initialize.call(
this,
new Rectangle(x, y, width, height)
);
this.windowWidth = width;
this.windowHeight = height;
this.select(0);
this._formationMode = false;
this.get_global_variables();
var infos = rngd_recollection_mode_settings.rec_cg_set;
for (var i = 0; i < infos.length; i++) {
var info = infos[i];
if (this._global_variables["switches"][info.switch_id]) {
var bmpName = info.thumbnail;
var bmp = ImageManager.loadEro(bmpName);
}
}
ImageManager.loadEro("never_watch_picture");
this.refresh();
};
Window_RecList.prototype.standardPadding = function () {
return 4;
};
Window_RecList.prototype.refresh = function () {
this._windowContentsSprite.removeChildren();
Window_Selectable.prototype.refresh.call(this);
};
Window_RecList.prototype.maxItems = function () {
var n = rngd_recollection_mode_settings.rec_cg_set.length;
let length = 0;
for (const set of rngd_recollection_mode_settings.rec_cg_set) {
if (!set.invisible) {
length++;
}
}
return length;
};
Window_RecList.prototype.itemHeight = function () {
return 258;
};
//Window_RecList.prototype.maxRows = function() {
// return rngd_recollection_mode_settings.rec_list_window.item_height;
//};
Window_RecList.prototype.maxCols = function () {
return 4;
};
Window_RecList.prototype.setActorId = function (actorId) {
this._actorId = actorId;
this.refresh();
};
Window_RecList.prototype.colSpacing = function () {
return 0;
};
Window_RecList.prototype.maxPageRows = function () {
var pageHeight = this.height; // - this.padding * 2;
return Math.floor(pageHeight / this.itemHeight());
};
Window_RecList.prototype.itemRect = function (index) {
const maxCols = this.maxCols();
const itemWidth = this.itemWidth();
const itemHeight = this.itemHeight();
const colSpacing = this.colSpacing();
const rowSpacing = this.rowSpacing();
const col = index % maxCols;
const row = Math.floor(index / maxCols);
const x = col * itemWidth + colSpacing / 2 - this.scrollBaseX();
const y = row * itemHeight + rowSpacing / 2 - this.scrollBaseY();
const width = itemWidth - colSpacing + 2;
const height = itemHeight - rowSpacing;
return new Rectangle(x, y, width, height);
};
Window_RecList.prototype.drawItem = function (index) {
// 1番目のCGセットを取得
var rec_cg = null;
let i = 0;
for (let set of rngd_recollection_mode_settings.rec_cg_set) {
if (set.invisible) {
continue;
}
if (i == index) {
rec_cg = set;
break;
}
i++;
}
//rngd_recollection_mode_settings.rec_cg_set[index];
var rect = this.itemRect(index);
var text_height = 0;
SHOW_ALL = true; //$gameTemp.isPlaytest();
if (rngd_recollection_mode_settings.rec_list_window.show_title_text) {
this.contents.fontSize = 20;
if (this._global_variables["switches"][rec_cg.switch_id] || SHOW_ALL) {
this.changeTextColor(ColorManager.normalColor());
let title = rec_cg.title;
if (ConfigManager.language == "en" && rec_cg.titleEn) {
title = rec_cg.titleEn;
}
if (false) {
let hint = rec_cg.hint;
const hints = hint.split("\n");
if (hints.length > 1) {
this.contents.drawText(
hints[0],
rect.x + 4,
rect.y + this.itemHeight() - 62,
this.itemWidth(),
32,
"center"
);
this.contents.drawText(
hints[1],
rect.x + 4,
rect.y + this.itemHeight() - 38,
this.itemWidth(),
32,
"center"
);
} else {
this.contents.drawText(
rec_cg.hint,
rect.x + 4,
rect.y + this.itemHeight() - 52,
this.itemWidth(),
32,
"center"
);
}
} else {
this.contents.drawText(
title,
rect.x + 4,
rect.y + this.itemHeight() - 36,
this.itemWidth(),
32,
rngd_recollection_mode_settings.rec_list_window.title_text_align
);
}
} else {
this.contents.drawText(
rngd_recollection_mode_settings.rec_list_window.never_watch_title_text,
rect.x + 4,
rect.y + 4,
this.itemWidth(),
32,
rngd_recollection_mode_settings.rec_list_window.title_text_align
);
this.changeTextColor(ColorManager.textColor(7));
if (rec_cg.hint) {
let hint = rec_cg.hint;
const hints = hint.split("\n");
if (hints.length > 1) {
this.contents.drawText(
hints[0],
rect.x + 4,
rect.y + this.itemHeight() - 62,
this.itemWidth(),
32,
"center"
);
this.contents.drawText(
hints[1],
rect.x + 4,
rect.y + this.itemHeight() - 38,
this.itemWidth(),
32,
"center"
);
} else {
this.contents.drawText(
rec_cg.hint,
rect.x + 4,
rect.y + this.itemHeight() - 52,
this.itemWidth(),
32,
"center"
);
}
}
}
text_height = 32;
}
// CGセットのスイッチ番号が、全てのセーブデータを走査した後にTrueであればピクチャ表示
if (this._global_variables["switches"][rec_cg.switch_id] || SHOW_ALL) {
var thumbnail_file_name = rec_cg.pictures[0];
if (rec_cg.thumbnail !== undefined && rec_cg.thumbnail !== null) {
thumbnail_file_name = rec_cg.thumbnail;
}
this.drawRecollection(
thumbnail_file_name,
0,
0,
300,
188,
rect.x - 10,
rect.y - 5 + text_height,
rec_cg.paso
);
} else {
this.drawRecollection(
rngd_recollection_mode_settings.rec_list_window.never_watch_picture_name,
0,
0,
300,
188,
rect.x - 10,
rect.y - 5 + text_height,
rec_cg.paso
);
}
};
//-------------------------------------------------------------------------
// ● 全てのセーブデータを走査し、対象のシーンスイッチ情報を取得する
//-------------------------------------------------------------------------
Window_RecList.prototype.get_global_variables = function () {
this._global_variables = {
switches: {},
};
var info = DataManager._globalInfo;
//p(info)
info[99] = info[99] || {};
var rec_cg_max = rngd_recollection_mode_settings.rec_cg_set.length;
for (var j = 0; j < rec_cg_max; j++) {
var cg = rngd_recollection_mode_settings.rec_cg_set[j];
if (info[99][cg.switch_id]) {
this._global_variables["switches"][cg.switch_id] = true;
}
}
};
//-------------------------------------------------------------------------
// ● index番目に表示された回想orCGが有効かどうか判断する
//-------------------------------------------------------------------------
Window_RecList.prototype.is_valid_picture = function (index) {
// CG情報の取得と対象スイッチの取得
var _rec_cg_obj = rngd_recollection_mode_settings.rec_cg_set[index];
return (
this._global_variables["switches"][_rec_cg_obj.switch_id] == true ||
SHOW_ALL
);
};
(function () {
//-----------------------------------------------------------------------------
// ◆ 組み込み関数Fix
//-----------------------------------------------------------------------------
/*
Window_Base.prototype.drawRecollection = function(bmp_name, x, y, width, height, dx, dy) {
var bmp = ImageManager.loadPicture(bmp_name);
var _width = width;
var _height = height;
if(_width > bmp.width) {
_width = bmp.width - 1;
}
if(_height > bmp.height) {
_height = bmp.height - 1;
}
this.contents.blt(bmp, x, y, _width, _height, dx, dy);
};
*/
/*
var Window_TitleCommand_makeCommandList =
Window_TitleCommand.prototype.makeCommandList;
Window_TitleCommand.prototype.makeCommandList = function() {
Window_TitleCommand_makeCommandList.call(this);
this.clearCommandList();
this.addCommand(TextManager._newGame, 'newGame');
this.addCommand(TextManager._continue_, 'continue', this.isContinueEnabled());
this.addCommand(TextManager.recollection, 'recollection');
this.addCommand(TextManager._options, 'options');
this.addCommand(TextManager._gameEnd, 'gameEnd');
};
*/
Scene_Title.prototype.commandRecollection = function () {
SceneManager.push(Scene_Recollection);
};
var Scene_Title_createCommandWindow =
Scene_Title.prototype.createCommandWindow;
Scene_Title.prototype.createCommandWindow = function () {
Scene_Title_createCommandWindow.call(this);
this._commandWindow.setHandler(
"recollection",
this.commandRecollection.bind(this)
);
this._commandWindow.setHandler("gameEnd", this.popScene.bind(this));
};
Window_Base.prototype.drawRecollection = function (
bmp_name,
x,
y,
width,
height,
dx,
dy,
paso
) {
var _width = width;
var _height = height;
var bitmap = ImageManager.loadEro(bmp_name);
if (!bitmap.isReady()) {
return;
}
/*
var baseTexture = bitmap._baseTexture;
/*new PIXI.BaseTexture(bitmap._image, PIXI.SCALE_MODES.DEFAULT);
baseTexture.imageUrl = 'jpg/' + bmp_name;
PIXI.utils.BaseTextureCache['jpg/' + bmp_name] = baseTexture;*/
/*
if(_width > baseTexture.width) {
_width = baseTexture.width - 1;
}
if(_height > baseTexture.height) {
_height = baseTexture.height - 1;
}
var texture = new PIXI.Texture(baseTexture);
// texture.frame = new PIXI.Rectangle(sx, sy, pw, ph);
var sprite = new PIXI.Sprite(texture);
sprite.position.x = dx+20-5;
sprite.position.y = dy - 12-10;
sprite.width = width;
sprite.height = height;
this._windowContentsSprite.addChild(sprite);
p(sprite)*/
this.contents.blt(
bitmap,
x,
y,
bitmap.width,
bitmap.height,
dx + 18,
dy - 20,
width,
height
);
};
Game_Interpreter.prototype.recoAll = function () {
var info = DataManager._globalInfo;
if (!info) {
return;
}
info[99] = info[99] || {};
for (var i = 200; i < 300; i++) {
info[99][i] = true;
}
for (var i = 600; i < 2000; i++) {
info[99][i] = true;
}
DataManager.saveGlobalInfo(info);
};
Game_Interpreter.prototype.reco = function (switch_id) {
p("回想登録:" + switch_id);
var info = DataManager._globalInfo;
if (!info) {
p("失敗");
return;
}
info[99] = info[99] || {};
if (info[99][switch_id]) {
return;
}
info[99][switch_id] = true;
DataManager.saveGlobalInfo();
};
})();
function recoGlobal(switch_id) {
p("回想登録:" + switch_id);
var info = DataManager._globalInfo;
info[99] = info[99] || {};
if (info[99][switch_id]) {
return;
}
info[99][switch_id] = true;
DataManager.saveGlobalInfo();
}
function hasFreeHFlah() {
var info = DataManager._globalInfo;
info[99] = info[99] || {};
return info[99][998];
}
DataManager.selectSavefileForNewGame = function () {
var globalInfo = this._globalInfo;
this._lastAccessedId = 1;
if (globalInfo) {
var numSavefiles = 0;
for (var i = 1; i <= globalInfo.length; i++) {
if (i > 20) {
break;
}
if (globalInfo[i]) {
numSavefiles = i;
}
}
if (numSavefiles < this.maxSavefiles()) {
this._lastAccessedId = numSavefiles + 1;
} else {
var timestamp = Number.MAX_VALUE;
for (var i = 1; i < globalInfo.length; i++) {
if (!globalInfo[i]) {
this._lastAccessedId = i;
break;
}
if (i > 20) {
break;
}
if (globalInfo[i].timestamp < timestamp) {
timestamp = globalInfo[i].timestamp;
this._lastAccessedId = i;
}
}
}
}
};