//============================================================================= // 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; } } } } };