570 lines
17 KiB
JavaScript
570 lines
17 KiB
JavaScript
var __extends =
|
||
(this && this.__extends) ||
|
||
(function () {
|
||
var extendStatics = function (d, b) {
|
||
extendStatics =
|
||
Object.setPrototypeOf ||
|
||
({ __proto__: [] } instanceof Array &&
|
||
function (d, b) {
|
||
d.__proto__ = b;
|
||
}) ||
|
||
function (d, b) {
|
||
for (var p in b)
|
||
if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
|
||
};
|
||
return extendStatics(d, b);
|
||
};
|
||
return function (d, b) {
|
||
if (typeof b !== "function" && b !== null)
|
||
throw new TypeError(
|
||
"Class extends value " + String(b) + " is not a constructor or null"
|
||
);
|
||
extendStatics(d, b);
|
||
function __() {
|
||
this.constructor = d;
|
||
}
|
||
d.prototype =
|
||
b === null
|
||
? Object.create(b)
|
||
: ((__.prototype = b.prototype), new __());
|
||
};
|
||
})();
|
||
/*:ja
|
||
* @target MZ
|
||
* @author ル
|
||
*
|
||
* @command reco
|
||
* @text 回想登録
|
||
* @des 回想登録
|
||
* @arg id
|
||
* @type number
|
||
* @text id
|
||
* @desc id
|
||
*
|
||
* @command openRecollection
|
||
* @text 回想全解放
|
||
*
|
||
* @command closeRecollection
|
||
* @text 回想全解放を元に戻す
|
||
*/
|
||
var Nore;
|
||
(function (Nore) {
|
||
var pluginName = "Nore_Recollection";
|
||
PluginManager.registerCommand(pluginName, "reco", function (args) {
|
||
var switch_id = parseInt(args.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;
|
||
});
|
||
PluginManager.registerCommand(
|
||
pluginName,
|
||
"openRecollection",
|
||
function (args) {
|
||
ConfigManager.openRecollection = true;
|
||
ConfigManager.save();
|
||
}
|
||
);
|
||
PluginManager.registerCommand(
|
||
pluginName,
|
||
"closeRecollection",
|
||
function (args) {
|
||
ConfigManager.openRecollection = false;
|
||
ConfigManager.save();
|
||
}
|
||
);
|
||
})(Nore || (Nore = {}));
|
||
var noreRecoActorId = -2;
|
||
var OTHER = 98;
|
||
var EVENT_OFF = 99;
|
||
var EVENT_ON = 100;
|
||
var Scene_Recollection2 = /** @class */ (function (_super) {
|
||
__extends(Scene_Recollection2, _super);
|
||
function Scene_Recollection2() {
|
||
return (_super !== null && _super.apply(this, arguments)) || this;
|
||
}
|
||
Scene_Recollection2.prototype.createCommandWindow = function () {
|
||
this._rec_list = new Window_RecList2(
|
||
-4,
|
||
58,
|
||
Graphics.width,
|
||
Graphics.height - 62
|
||
);
|
||
// リロードの場合:回想リストを表示にする。通常はここが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.onCancelList.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();
|
||
this._recoActorWindow = new Window_RecoActor();
|
||
this._recoActorWindow.refresh();
|
||
this.addWindow(this._recoActorWindow);
|
||
this._rec_list.deactivate();
|
||
this._recoActorWindow.activate();
|
||
this._recoActorWindow.setHandler("change", this.onChange.bind(this));
|
||
this._recoActorWindow.setHandler(
|
||
"cancel",
|
||
this.commandBackSelectMode.bind(this)
|
||
);
|
||
this._recoActorWindow.setHandler("ok", this.onOk.bind(this));
|
||
this.selectInitialActor();
|
||
};
|
||
Scene_Recollection2.prototype.selectInitialActor = function () {
|
||
if (noreRecoActorId > 0) {
|
||
this._recoActorWindow.selectActor(noreRecoActorId);
|
||
this._recoActorWindow.deactivate();
|
||
this.onOk();
|
||
}
|
||
};
|
||
Scene_Recollection2.prototype.onChange = function () {
|
||
var actorId = this._recoActorWindow.selectedActorId();
|
||
if (actorId >= EVENT_OFF) {
|
||
return;
|
||
}
|
||
this._rec_list.setActorId(actorId);
|
||
noreRecoActorId = actorId;
|
||
};
|
||
Scene_Recollection2.prototype.onOk = function () {
|
||
var actorId = this._recoActorWindow.selectedActorId();
|
||
if (actorId == EVENT_OFF) {
|
||
$gameTemp.recoEventOn = false;
|
||
this._rec_list.refresh();
|
||
this._recoActorWindow.refresh();
|
||
this._recoActorWindow.activate();
|
||
return;
|
||
}
|
||
if (actorId == EVENT_ON) {
|
||
$gameTemp.recoEventOn = true;
|
||
this._rec_list.refresh();
|
||
this._recoActorWindow.refresh();
|
||
this._recoActorWindow.activate();
|
||
return;
|
||
}
|
||
this._rec_list.activate();
|
||
};
|
||
Scene_Recollection2.prototype.onCancelList = function () {
|
||
this._recoActorWindow.activate();
|
||
};
|
||
Scene_Recollection2.prototype.commandDoRecMode = function () {
|
||
var info = this._rec_list.selectedInfo();
|
||
Scene_Recollection.rec_list_index = this._rec_list.index();
|
||
$gameTemp.ignoreFiles = {};
|
||
$gameTemp.eroBack = null;
|
||
if (this._rec_list.isVisible(info)) {
|
||
// 回想モードの場合
|
||
Scene_Recollection._rngd_recollection_doing = true;
|
||
DataManager.setupNewGame();
|
||
$gamePlayer.setTransparent(255);
|
||
this.fadeOutAll();
|
||
//$dataSystem.optTransparent = false;
|
||
var commonEventId = info.common_event_id;
|
||
p("回想実行:" + commonEventId);
|
||
$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_Map2);
|
||
} else {
|
||
SoundManager.playBuzzer();
|
||
this._rec_list.activate();
|
||
}
|
||
this._rec_list.refresh();
|
||
};
|
||
return Scene_Recollection2;
|
||
})(Scene_Recollection);
|
||
Window_RecList.prototype.itemHeight = function () {
|
||
return 228;
|
||
};
|
||
var Window_RecoActor = /** @class */ (function (_super) {
|
||
__extends(Window_RecoActor, _super);
|
||
function Window_RecoActor() {
|
||
var _this = this;
|
||
var r = new Rectangle(-4, -4, 1084, 68);
|
||
_this = _super.call(this, r) || this;
|
||
_this.select(0);
|
||
return _this;
|
||
}
|
||
Window_RecoActor.prototype.maxItems = function () {
|
||
return this.actorIdList().length;
|
||
};
|
||
Window_RecoActor.prototype.maxCols = function () {
|
||
return this.maxItems();
|
||
};
|
||
Window_RecoActor.prototype.drawItem = function (index) {
|
||
this.contents.fontSize = 22;
|
||
var rect = this.itemRect(index);
|
||
var yOffset = 7;
|
||
var actorId = this.actorIdList()[index];
|
||
if (actorId < 0) {
|
||
this.drawText("ALL", rect.x, rect.y + yOffset, rect.width, "center");
|
||
} else if (actorId == OTHER) {
|
||
this.drawText("OTHER", rect.x, rect.y + yOffset, rect.width, "center");
|
||
} else if (actorId == EVENT_OFF) {
|
||
if (!this.isEventOn()) {
|
||
this.contents.fillRect(
|
||
rect.x + 1,
|
||
rect.y + 1,
|
||
rect.width - 2,
|
||
rect.height - 2,
|
||
"#BB3333"
|
||
);
|
||
}
|
||
this.drawText(
|
||
"EVENT OFF",
|
||
rect.x,
|
||
rect.y + yOffset,
|
||
rect.width,
|
||
"center"
|
||
);
|
||
} else if (actorId == EVENT_ON) {
|
||
if (this.isEventOn()) {
|
||
this.contents.fillRect(
|
||
rect.x + 1,
|
||
rect.y + 1,
|
||
rect.width - 2,
|
||
rect.height - 2,
|
||
"#BB3333"
|
||
);
|
||
}
|
||
this.drawText("EVENT ON", rect.x, rect.y + yOffset, rect.width, "center");
|
||
} else {
|
||
var actor = $gameActors.actor(actorId);
|
||
var iconIndex = actor.iconIndex();
|
||
this.drawIcon(iconIndex, rect.x, rect.y + 2);
|
||
this.drawText(
|
||
actor.name(),
|
||
rect.x + 32,
|
||
rect.y + yOffset,
|
||
rect.width,
|
||
"left"
|
||
);
|
||
}
|
||
};
|
||
Window_RecoActor.prototype.actorIdList = function () {
|
||
return [-1, 8, 9, 4, 13, 17, 10, 11, OTHER]; //, EVENT_OFF, EVENT_ON];
|
||
};
|
||
Window_RecoActor.prototype.selectedActorId = function () {
|
||
return this.actorIdList()[this.index()];
|
||
};
|
||
Window_RecoActor.prototype.selectActor = function (actorId) {
|
||
var index = this.actorIdList().indexOf(actorId);
|
||
this.select(index);
|
||
};
|
||
Window_RecoActor.prototype.isEventOn = function () {
|
||
return $gameTemp.recoEventOn;
|
||
};
|
||
return Window_RecoActor;
|
||
})(Window_Selectable);
|
||
var RecoInfo = /** @class */ (function () {
|
||
function RecoInfo() {}
|
||
return RecoInfo;
|
||
})();
|
||
var Window_RecList2 = /** @class */ (function (_super) {
|
||
__extends(Window_RecList2, _super);
|
||
function Window_RecList2(x, y, width, height) {
|
||
var _this = _super.call(this, new Rectangle(x, y, width, height)) || this;
|
||
_this.windowWidth = width;
|
||
_this.windowHeight = height;
|
||
_this.select(0);
|
||
_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.isVisible(info)) {
|
||
var bmpName = info.thumbnail;
|
||
var bmp = ImageManager.loadEro(bmpName);
|
||
}
|
||
}
|
||
ImageManager.loadEro("never_watch_picture");
|
||
_this._actorId = -1;
|
||
_this.refresh();
|
||
return _this;
|
||
}
|
||
Window_RecList2.prototype.isVisible = function (info) {
|
||
if (this.isShowAll()) {
|
||
return true;
|
||
}
|
||
if (this._global_variables["switches"][info.switch_id]) {
|
||
return true;
|
||
}
|
||
if (Nore.isOmakeRecollection(info.switch_id)) {
|
||
return true;
|
||
}
|
||
return false;
|
||
};
|
||
Window_RecList2.prototype.standardPadding = function () {
|
||
return 4;
|
||
};
|
||
Window_RecList2.prototype.makeData = function () {
|
||
this._data = [];
|
||
for (
|
||
var _i = 0, _a = rngd_recollection_mode_settings.rec_cg_set;
|
||
_i < _a.length;
|
||
_i++
|
||
) {
|
||
var info = _a[_i];
|
||
if (this.isInclude(info)) {
|
||
this._data.push(info);
|
||
}
|
||
}
|
||
};
|
||
Window_RecList2.prototype.isInclude = function (data) {
|
||
if (this._actorId < 0) {
|
||
return true;
|
||
} else if (!$gameTemp.recoEventOn) {
|
||
if (data.event) {
|
||
return false;
|
||
}
|
||
}
|
||
if (this._actorId == data.actorId) {
|
||
return true;
|
||
}
|
||
return false;
|
||
};
|
||
Window_RecList2.prototype.refresh = function () {
|
||
this._windowContentsSprite.removeChildren();
|
||
this.makeData();
|
||
_super.prototype.refresh.call(this);
|
||
};
|
||
Window_RecList2.prototype.maxItems = function () {
|
||
return this._data.length;
|
||
};
|
||
Window_RecList2.prototype.itemHeight = function () {
|
||
return 238;
|
||
};
|
||
Window_RecList2.prototype.maxCols = function () {
|
||
return 4;
|
||
};
|
||
Window_RecList2.prototype.setActorId = function (actorId) {
|
||
this._actorId = actorId;
|
||
this.refresh();
|
||
if (this.index() >= this.maxItems()) {
|
||
this.select(0);
|
||
}
|
||
};
|
||
Window_RecList2.prototype.colSpacing = function () {
|
||
return 0;
|
||
};
|
||
Window_RecList2.prototype.maxPageRows = function () {
|
||
var pageHeight = this.height; // - this.padding * 2;
|
||
return Math.floor(pageHeight / this.itemHeight());
|
||
};
|
||
Window_RecList2.prototype.itemRect = function (index) {
|
||
var maxCols = this.maxCols();
|
||
var itemWidth = this.itemWidth();
|
||
var itemHeight = this.itemHeight();
|
||
var colSpacing = this.colSpacing();
|
||
var rowSpacing = this.rowSpacing();
|
||
var col = index % maxCols;
|
||
var row = Math.floor(index / maxCols);
|
||
var x = col * itemWidth + colSpacing / 2 - this.scrollBaseX();
|
||
var y = row * itemHeight + rowSpacing / 2 - this.scrollBaseY();
|
||
var width = itemWidth - colSpacing + 2;
|
||
var height = itemHeight - rowSpacing;
|
||
return new Rectangle(x, y, width, height);
|
||
};
|
||
Window_RecList2.prototype.drawItem = function (index) {
|
||
var rec_cg = this._data[index];
|
||
//rngd_recollection_mode_settings.rec_cg_set[index];
|
||
var rect = this.itemRect(index);
|
||
var text_height = 0;
|
||
if (rngd_recollection_mode_settings.rec_list_window.show_title_text) {
|
||
this.contents.fontSize = 20;
|
||
if (this.isVisible(rec_cg)) {
|
||
this.changeTextColor(ColorManager.normalColor());
|
||
var title = rec_cg.title;
|
||
if (ConfigManager.language == "en" && rec_cg.titleEn) {
|
||
title = rec_cg.titleEn;
|
||
}
|
||
if (false) {
|
||
var hint = rec_cg.hint;
|
||
var 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) {
|
||
var hint = rec_cg.hint;
|
||
var 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() - 36,
|
||
this.itemWidth(),
|
||
32,
|
||
"center"
|
||
);
|
||
}
|
||
}
|
||
}
|
||
text_height = 32;
|
||
}
|
||
// CGセットのスイッチ番号が、全てのセーブデータを走査した後にTrueであればピクチャ表示
|
||
if (this.isVisible(rec_cg)) {
|
||
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_RecList2.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;
|
||
}
|
||
}
|
||
};
|
||
Window_RecList2.prototype.isShowAll = function () {
|
||
if (Nore.isTaikenban()) {
|
||
return false;
|
||
}
|
||
return ConfigManager.openRecollection;
|
||
};
|
||
Window_RecList2.prototype.selectedInfo = function () {
|
||
return this._data[this.index()];
|
||
};
|
||
return Window_RecList2;
|
||
})(Window_Selectable);
|
||
Scene_Title.prototype.commandRecollection = function () {
|
||
SceneManager.push(Scene_Recollection2);
|
||
};
|