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

2125 lines
63 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

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.

//=============================================================================
// Nore_Tachie.js
//=============================================================================
/*:ja
* @target MZ
* @author ル
* @plugindesc 立ち絵を簡単に表示するプラグインです。別途画像が必要です
*
* @param disablesTachieActorIdList
* @desc 立ち絵を使わないアクターの ID のリストです。(カンマ区切り。 1, 2, 3...)無駄な読み込みをしないための設定です。
* @default 0
*
* @param leftPosX
* @desc 左側に立つ場合のx座標です
* @default 0
*
* @param rightPosX
* @desc 右側に立つ場合のx座標です
* @type number
* @default 800
*
* @param centerPosX
* @desc 中央に立つ場合のx座標です
* @type number
* @default 200
*
*
* @param posY
* @desc 全員のy座標です
* @type number
* @default 0
*
* @param actor1offset
* @desc アクターのキャラのx座標y座標の補正値です
* @default 0, 0
*
* @param actor2offset
* @desc アクターのキャラのx座標y座標の補正値です
* @default 0, 0
*
* @param actor3offset
* @desc アクターのキャラのx座標y座標の補正値です
* @default 0, 0
*
* @param actor4offset
* @desc アクターのキャラのx座標y座標の補正値です
* @default 0, 0
*
* @param actor5offset
* @desc アクターのキャラのx座標y座標の補正値です
* @default 0, 0
*
* @param actor6offset
* @desc アクターのキャラのx座標y座標の補正値です
* @default 0, 0
*
* @param actor7offset
* @desc アクターのキャラのx座標y座標の補正値です
* @default 0, 0
*
* @param actor8offset
* @desc アクターのキャラのx座標y座標の補正値です
* @default 0, 0
*
* @param actor9offset
* @desc アクターのキャラのx座標y座標の補正値です
* @default 0, 0
*
* @param actor10offset
* @desc アクター10のキャラのx座標y座標の補正値です
* @default 0, 0
*
* @param actor11offset
* @desc アクター11のキャラのx座標y座標の補正値です
* @default 0, 0
*
* @param actor12offset
* @desc アクター12のキャラのx座標y座標の補正値です
* @default 0, 0
*
* @param actor13offset
* @desc アクター13のキャラのx座標y座標の補正値です
* @default 0, 0
*
* @param actor14offset
* @desc アクター14のキャラのx座標y座標の補正値です
* @default 0, 0
*
* @param actor15offset
* @desc アクター15のキャラのx座標y座標の補正値です
* @default 0, 0
*
* @param actor16offset
* @desc アクター16のキャラのx座標y座標の補正値です
* @default 0, 0
*
* @param actor17offset
* @desc アクター17のキャラのx座標y座標の補正値です
* @default 0, 0
*
* @param actor18offset
* @desc アクター18のキャラのx座標y座標の補正値です
* @default 0, 0
*
* @param actor19offset
* @desc アクター19のキャラのx座標y座標の補正値です
* @default 0, 0
*
* @param actor20offset
* @desc アクター20のキャラのx座標y座標の補正値です
* @default 0, 0
*
* @param actor21offset
* @desc アクター21のキャラのx座標y座標の補正値です
* @default 0, 0
*
* @param actor22offset
* @desc アクター22のキャラのx座標y座標の補正値です
* @default 0, 0
*
* @param actor23offset
* @desc アクター23のキャラのx座標y座標の補正値です
* @default 0, 0
*
* @param actor24offset
* @desc アクター24のキャラのx座標y座標の補正値です
* @default 0, 0
*
* @param skipKey
* @desc メッセージスキップに使うボタンです。tab, shift, control, pageup, pagedown などが使えます。
* @default control
*
* @param windowHideKey
* @desc ウィンドウ消去に使うボタンです。tab, shift, control, pageup, pagedown などが使えます。
* @default shift
*
* @param inactiveActorTone
* @desc 喋っていない方のキャラの Tone です
* @default -80, -80, -80, 0
*
* @param toneChangeDuration
* @desc 喋っていない方のキャラの Tone を変える時の時間です
* @default 25
*
* @param windowMargin
* @desc メッセージウィンドウの表示位置の空きです。上、右、下、左の順です
* @default 0, 0, 0, 0
*
* @param windowPadding
* @desc メッセージウィンドウの文字と枠の空きです。上、右、下、左の順です
* @default 0, 0, 0, 0
*
* @command showLeft
* @text 左に表示
* @des 左に表示
* @arg actorId
* @type number
* @text actorId
* @desc actorId
*
* @command showRight
* @text 右に表示
* @des 右に表示
* @arg actorId
* @type number
* @text actorId
* @desc actorId
*
* @command hoppe
* @text ほっぺ
* @des ほっぺ
* @arg actorId
* @type number
* @text actorId
* @desc actorId
* @arg hoppeId
* @type number
* @text hoppeId
* @desc hoppeId
*
* @command face
* @text 表情
* @des 表情
* @arg actorId
* @type number
* @text actorId
* @desc actorId
* @arg faceId
* @type number
* @text faceId
* @desc faceId
*
* @help
* Ver
*
* 左側に立つキャラは、pictureId 11 のピクチャで表示しているので、
* イベントコマンドで pictureId 11 を対象とすることで操作できます。
*
* 同様に、右側に立つキャラは、pictureId 12
*
* ■画像の設定方法
* img/tachie フォルダを使います。
* ここに、全キャラ分の立ち絵画像を入れてください。
* ※「未使用ファイルを含まない」には非対応なので、
*  手動でコピーしてください。
*
* 以下、アクター1の場合の例です。
*p
* actor01_<<表情ID>>.png
*  →表情
* actor01_body_<<ポーズID>>.png
*  →体
* actor01_face_<<ポーズID>>.png
*  →後ろ髪
* actor01_hair_<<ポーズID>>.png
*  →頭
* actor01_hoppe.png
*  →ほっぺ
* actor01_in_<<衣装ID>>_bottom.png
*  →パンツ
* actor01_in_<<衣装ID>>_top.png
*  →ブラ
* actor01_out_<<衣装ID>>_front_<<ポーズID>>.png
* actor01_out_<<衣装ID>>_main_<<ポーズID>>.png
* actor01_out_<<衣装ID>>_back_<<ポーズID>>.png
*  →上着
*
* 必要ない場合でも、画像をよみに行ってエラーになる場合があります。
* その場合、透明な画像を入れておいてください。
*
*
*
* プラグインコマンド
* Tachie showLeft actorId x y opacity # 立ち絵を左側に表示する
* Tachie showRight actorId x y opacity # 立ち絵を右側に表示する
* Tachie showCenter actorId x y opacity # 立ち絵を中央に表示する
* Tachie hideLeft # 左側の立ち絵を非表示にする
* Tachie hideRight # 右側の立ち絵を非表示にする
* Tachie hideCenter # 中央の立ち絵を非表示にする
* Tachie face actorId faceId # アクターの表情を変更する
* Tachie pose actorId poseId # アクターのポーズを変更する
* Tachie hoppe actorId hoppeId # アクターのほっぺを変更する
* Tachie outer actorId cosId # アクターのアウターを変更する
* Tachie innerTop actorId cosId # アクターのブラを変更する
* Tachie innerBottom actorId cosId # アクターのパンツを変更する
* Tachie preload actorId # アクターの現在のコスを事前に読み込んでおく
* Tachie preloadFaces actorId 1 2 3... # アクターの表情を事前に読み込んでおく
* Tachie notClose on # ウィンドウを閉じないようにする
* Tachie notClose off # ↑を解除する
* Tachie showName hoge # 名前欄に hoge を表示する
* Tachie hideName # 名前欄を非表示にする
* Tachie clear # 立ち絵を全て非表示にする
* Tachie hideBalloon # 一時的に吹き出しを非表示にする
* Tachie deactivateAll # すべてのキャラを暗くします
*
* @command activateAll
*
* @requiredAssets img/tachie/actor01.json
* @requiredAssets img/tachie/actor01.webp
* @requiredAssets img/tachie/actor05.json
* @requiredAssets img/tachie/actor05.webp
* @requiredAssets audio/se/Chime2.ogg
* @requiredAssets audio/se/Jump1.ogg
*
* @license
* Nore_Tachie licensed under the MIT License.
*/
var Nore;
(function (Nore) {
var Tachie;
(function (Tachie) {
var parameters = PluginManager.parameters("Nore_Tachie");
Tachie.LEFT_POS_X = parseInt(parameters["leftPosX"]);
Tachie.RIGHT_POS_X = parseInt(parameters["rightPosX"]);
Tachie.CENTER_POS_X = parseInt(parameters["centerPosX"]);
var POS_Y = parseInt(parameters["posY"]);
var INACTIVE_ACTOR_TONE = Nore.toIntArrayByStr(
parameters["inactiveActorTone"],
4
);
var DISALVED_ACTOR_ID_LIST = Nore.toIntArrayByStr(
parameters["disablesctorIdList"]
);
var TONE_CHANGE_DURATION = parseInt(parameters["toneChangeDuration"]);
Tachie.offset = {};
for (var i = 1; i <= 24; i++) {
if (parameters["actor" + i + "offset"]) {
var offset1 = String(parameters["actor" + i + "offset"]).split(",");
var x = parseInt(offset1[0] || "0");
var y = parseInt(offset1[1] || "0");
if (isNaN(x)) {
x = 0;
}
if (isNaN(y)) {
y = 0;
}
Tachie.offset[i] = new PIXI.Point(x, y);
}
}
var OFFSET_Y = -100;
var AUTO_MODE_DELAY_COMMON = Nore.parseIntValue(
parameters["autoModeDelayCommon"],
2500
);
var AUTO_MODE_DELAY_PER_CHAR = Nore.parseIntValue(
parameters["autoModeDelayPerChar"],
120
);
var AUTO_MODE_MARK_TOTAL_FRAME = parseInt(
parameters["autoModeMarkFrameNum"]
);
var AUTO_MODE_MARK_X = parseInt(parameters["autoModeMarkX"]);
var AUTO_MODE_MARK_Y = parseInt(parameters["autoModeMarkY"]);
var DEFAULT_PICTURE_ID1 = 11; // 左
var DEFAULT_PICTURE_ID2 = 14; // 右
var DEFAULT_PICTURE_ID3 = 13; // センター
var DEFAULT_PICTURE_ID4 = 12; // センター2
var DEFAULT_PICTURE_ID5 = 15;
var DEFAULT_PICTURE_ID6 = 16;
var DEFAULT_PICTURE_ID7 = 17;
var DEFAULT_PICTURE_ID8 = 18;
var DEFAULT_PICTURE_ID9 = 19;
var ERO_PICTURE_ID = 20; // エロ中
var PICTURES = [
DEFAULT_PICTURE_ID1,
DEFAULT_PICTURE_ID2,
DEFAULT_PICTURE_ID3,
DEFAULT_PICTURE_ID4,
DEFAULT_PICTURE_ID5,
DEFAULT_PICTURE_ID6,
DEFAULT_PICTURE_ID7,
DEFAULT_PICTURE_ID8,
DEFAULT_PICTURE_ID9,
];
var ACTOR_PREFIX = "___actor";
Tachie.LEFT_POS = 1;
Tachie.RIGHT_POS = 2;
Tachie.CENTER_POS = 3;
Tachie.OUT_POS = 10;
Tachie.NONE_POS = 11;
Tachie.CENTER2_POS = 4;
Tachie.CENTER3_POS = 5;
Tachie.POS6 = 6;
Tachie.POS7 = 7;
Tachie.POS8 = 8;
Tachie.POS9 = 9;
Tachie.actorCashedSprites = {};
Game_Actor.prototype.getCashedSprite = function () {
var s = Tachie.actorCashedSprites[this.actorId()];
if (s) {
var renderTexture = $gameTemp.getActorBitmapBodyCache(this.actorId());
var t = new PIXI.Texture(renderTexture);
return new PIXI.Sprite(t);
}
return null;
};
var _DataManager_extractSaveContents = DataManager.extractSaveContents;
DataManager.extractSaveContents = function (contents) {
_DataManager_extractSaveContents.call(this, contents);
var len = $dataActors.length;
for (var i = 0; i < len; i++) {
var actor = $gameActors._data[i];
if (actor) {
actor.setCacheChanged();
Tachie.actorCashedSprites[actor.actorId()] = false;
}
}
};
var pluginName = "Nore_Tachie";
PluginManager.registerCommand(pluginName, "deactivateAll", function (args) {
for (var _b = 0, PICTURES_1 = PICTURES; _b < PICTURES_1.length; _b++) {
var pictureId = PICTURES_1[_b];
var picture = $gameScreen.picture(pictureId);
if (picture && picture.name() != "") {
var c = {
code: 234,
indent: this._indent,
parameters: [
pictureId,
INACTIVE_ACTOR_TONE,
TONE_CHANGE_DURATION,
false,
],
};
this._list.splice(this._index + 1, 0, c);
}
}
});
PluginManager.registerCommand(pluginName, "activateAll", function (args) {
for (var _b = 0, PICTURES_2 = PICTURES; _b < PICTURES_2.length; _b++) {
var pictureId = PICTURES_2[_b];
var picture = $gameScreen.picture(pictureId);
if (picture && picture.name() != "") {
var c = {
code: 234,
indent: this._indent,
parameters: [pictureId, [0, 0, 0, 0], TONE_CHANGE_DURATION, false],
};
this._list.splice(this._index + 1, 0, c);
}
}
});
PluginManager.registerCommand(pluginName, "notClose", function (args) {
$gameTemp.tachieAvairable = args.flag === "on";
});
PluginManager.registerCommand(pluginName, "hideLeft", function (args) {
var commands = [];
for (var _b = 0, PICTURES_3 = PICTURES; _b < PICTURES_3.length; _b++) {
var pictureId = PICTURES_3[_b];
var picture = $gameScreen.picture(pictureId);
if (pictureId != DEFAULT_PICTURE_ID1) {
continue;
}
if (picture && picture.opacity() > 0) {
var c = {
code: 232,
indent: this._indent,
parameters: [
pictureId,
0,
0,
0,
picture.x(),
picture.y(),
100,
100,
0,
0,
30,
false,
],
};
commands.push(c);
}
}
for (var _c = 0, commands_1 = commands; _c < commands_1.length; _c++) {
var c = commands_1[_c];
this._list.splice(this._index + 1, 0, c);
}
var c2 = {
code: 356,
indent: this._indent,
parameters: ["Tachie clear"],
};
this._list.splice(this._index + 1 + commands.length, 0, c2);
$gameTemp.hideMessage = true;
});
PluginManager.registerCommand(pluginName, "hideRight", function (args) {
var commands = [];
for (var _b = 0, PICTURES_4 = PICTURES; _b < PICTURES_4.length; _b++) {
var pictureId = PICTURES_4[_b];
var picture = $gameScreen.picture(pictureId);
if (pictureId != DEFAULT_PICTURE_ID2) {
continue;
}
if (picture && picture.opacity() > 0) {
var c = {
code: 232,
indent: this._indent,
parameters: [
pictureId,
0,
0,
0,
picture.x(),
picture.y(),
100,
100,
0,
0,
30,
false,
],
};
commands.push(c);
}
}
for (var _c = 0, commands_2 = commands; _c < commands_2.length; _c++) {
var c = commands_2[_c];
this._list.splice(this._index + 1, 0, c);
}
var c2 = {
code: 356,
indent: this._indent,
parameters: ["Tachie clear"],
};
this._list.splice(this._index + 1 + commands.length, 0, c2);
$gameTemp.hideMessage = true;
});
PluginManager.registerCommand(pluginName, "hideCenter", function (args) {
var commands = [];
for (var _b = 0, PICTURES_5 = PICTURES; _b < PICTURES_5.length; _b++) {
var pictureId = PICTURES_5[_b];
var picture = $gameScreen.picture(pictureId);
if (pictureId != DEFAULT_PICTURE_ID3) {
continue;
}
if (picture && picture.opacity() > 0) {
var c = {
code: 232,
indent: this._indent,
parameters: [
pictureId,
0,
0,
0,
picture.x(),
picture.y(),
100,
100,
0,
0,
30,
false,
],
};
commands.push(c);
}
}
for (var _c = 0, commands_3 = commands; _c < commands_3.length; _c++) {
var c = commands_3[_c];
this._list.splice(this._index + 1, 0, c);
}
var c2 = {
code: 356,
indent: this._indent,
parameters: ["Tachie clear"],
};
this._list.splice(this._index + 1 + commands.length, 0, c2);
$gameTemp.hideMessage = true;
});
PluginManager.registerCommand(pluginName, "hide", function (args) {
var commands = [];
for (var _b = 0, PICTURES_6 = PICTURES; _b < PICTURES_6.length; _b++) {
var pictureId = PICTURES_6[_b];
var picture = $gameScreen.picture(pictureId);
if (picture && picture.opacity() > 0) {
var c = {
code: 232,
indent: this._indent,
parameters: [
pictureId,
0,
0,
0,
picture.x(),
picture.y(),
100,
100,
0,
0,
30,
false,
],
};
commands.push(c);
}
}
for (var _c = 0, commands_4 = commands; _c < commands_4.length; _c++) {
var c = commands_4[_c];
this._list.splice(this._index + 1, 0, c);
}
var c2 = {
code: 356,
indent: this._indent,
parameters: ["Tachie clear"],
};
this._list.splice(this._index + 1 + commands.length, 0, c2);
for (var _d = 0, _e = $gameParty.members(); _d < _e.length; _d++) {
var m = _e[_d];
m.setHoppeId(0);
m.setNamidaId(0);
}
$gameVariables.setValue(12, 0);
$gameSwitches.setValue(NO_ALARM_SOUND_SW, false);
$gameTemp.hideMessage = true;
});
PluginManager.registerCommand(pluginName, "clear", function (args) {
for (var _b = 0, PICTURES_7 = PICTURES; _b < PICTURES_7.length; _b++) {
var pictureId = PICTURES_7[_b];
var picture = $gameScreen.picture(pictureId);
if (picture) {
//picture.erase();
}
}
});
PluginManager.registerCommand(pluginName, "showLeft", function (args) {
var actorId = args.actorId;
var x = args.x || 0;
var y = args.y || 0;
var opacity = args.opacity || 255;
$gameVariables.setValue(12, Tachie.LEFT_POS);
this.tachiePictureCommnad("showLeft", actorId, x, y, opacity);
});
PluginManager.registerCommand(pluginName, "showRight", function (args) {
var actorId = args.actorId;
var x = args.x || 0;
var y = args.y || 0;
var opacity = args.opacity || 255;
$gameVariables.setValue(12, Tachie.RIGHT_POS);
this.tachiePictureCommnad("showRight", actorId, x, y, opacity);
});
PluginManager.registerCommand(pluginName, "showCenter", function (args) {
var actorId = args.actorId;
var x = args.x || 0;
var y = args.y || 0;
var opacity = args.opacity || 255;
$gameVariables.setValue(12, Tachie.CENTER_POS);
this.tachiePictureCommnad("showCenter", actorId, x, y, opacity);
});
PluginManager.registerCommand(pluginName, "showOut", function (args) {
var actorId = args.actorId;
var x = args.x || 0;
var y = args.y || 0;
var opacity = args.opacity || 255;
$gameVariables.setValue(12, 0);
this.tachiePictureCommnad("showOut", actorId, x, y, opacity);
});
PluginManager.registerCommand(pluginName, "showCenter2", function (args) {
var actorId = args.actorId;
var x = args.x || 0;
var y = args.y || 0;
var opacity = args.opacity || 255;
$gameVariables.setValue(12, Tachie.CENTER2_POS);
this.tachiePictureCommnad("show4", actorId, x, y, opacity);
});
PluginManager.registerCommand(pluginName, "showCenter3", function (args) {
var actorId = args.actorId;
var x = args.x || 0;
var y = args.y || 0;
var opacity = args.opacity || 255;
$gameVariables.setValue(12, Tachie.CENTER3_POS);
this.tachiePictureCommnad("show5", actorId, x, y, opacity);
});
PluginManager.registerCommand(pluginName, "face", function (args) {
var actorId = args.actorId;
var actor = $gameActors.actor(actorId);
var faceId = args.faceId;
actor.setFaceId(faceId);
});
PluginManager.registerCommand(pluginName, "pose", function (args) {
var actorId = args.actorId;
var actor = $gameActors.actor(actorId);
var poseId = args.poseId;
actor.setPoseId(poseId);
});
PluginManager.registerCommand(pluginName, "namida", function (args) {
var actorId = args.actorId;
var actor = $gameActors.actor(actorId);
if (!actor) {
return;
}
var namidaId = args.namidaId;
actor.setNamidaId(namidaId);
});
PluginManager.registerCommand(pluginName, "hoppe", function (args) {
var actorId = args.actorId;
var actor = $gameActors.actor(actorId);
if (!actor) {
return;
}
var hoppeId = args.hoppeId;
if ($gameVariables.value(29) > 0) {
hoppeId = $gameVariables.value(29);
}
actor.setHoppeId(hoppeId);
});
PluginManager.registerCommand(pluginName, "outer", function (args) {
var actorId = args.actorId;
var actor = $gameActors.actor(actorId);
var outerId = args.outerId;
actor.setOuterId(outerId);
});
PluginManager.registerCommand(pluginName, "innerTop", function (args) {
var actorId = args.actorId;
var actor = $gameActors.actor(actorId);
var innerTopId = args.innerTopId;
actor.setInnerTopId(innerTopId);
});
PluginManager.registerCommand(pluginName, "innerBottom", function (args) {
var actorId = args.actorId;
var actor = $gameActors.actor(actorId);
var innerBottomId = args.innerBottomId;
actor.setInnerBottomId(innerBottomId);
});
PluginManager.registerCommand(pluginName, "acceOn", function (args) {
var actorId = args.actorId;
var actor = $gameActors.actor(actorId);
var acceId = args.acceId;
actor.addAcce(acceId);
});
PluginManager.registerCommand(pluginName, "acceOff", function (args) {
var actorId = args.actorId;
var actor = $gameActors.actor(actorId);
var acceId = args.acceId;
actor.removeAcce(acceId);
});
Game_Interpreter.prototype.tachiePictureCommnad = function (
command,
actorId,
x,
y,
opacity
) {
switch (command) {
case "showEro":
this.showTachiePicture(
actorId,
Tachie.RIGHT_POS,
ERO_PICTURE_ID,
x,
y,
opacity
);
break;
case "showLeft":
this.showTachiePicture(
actorId,
Tachie.LEFT_POS,
DEFAULT_PICTURE_ID1,
x,
y,
opacity
);
this.deactivateTachiePicture(DEFAULT_PICTURE_ID2);
this.deactivateTachiePicture(DEFAULT_PICTURE_ID3);
this.deactivateTachiePicture(DEFAULT_PICTURE_ID4);
break;
case "showRight":
this.showTachiePicture(
actorId,
Tachie.RIGHT_POS,
DEFAULT_PICTURE_ID2,
x,
y,
opacity
);
this.deactivateTachiePicture(DEFAULT_PICTURE_ID1);
this.deactivateTachiePicture(DEFAULT_PICTURE_ID3);
this.deactivateTachiePicture(DEFAULT_PICTURE_ID4);
break;
case "showCenter":
this.showTachiePicture(
actorId,
Tachie.CENTER_POS,
DEFAULT_PICTURE_ID3,
x,
y,
opacity
);
this.deactivateTachiePicture(DEFAULT_PICTURE_ID1);
this.deactivateTachiePicture(DEFAULT_PICTURE_ID2);
this.deactivateTachiePicture(DEFAULT_PICTURE_ID4);
break;
case "showOut":
this.deactivateTachiePicture(DEFAULT_PICTURE_ID1);
this.deactivateTachiePicture(DEFAULT_PICTURE_ID2);
this.deactivateTachiePicture(DEFAULT_PICTURE_ID3);
this.deactivateTachiePicture(DEFAULT_PICTURE_ID4);
break;
case "show4":
this.showTachiePicture(
actorId,
Tachie.CENTER2_POS,
DEFAULT_PICTURE_ID4,
x,
y,
opacity
);
this.deactivateTachiePicture(DEFAULT_PICTURE_ID1);
this.deactivateTachiePicture(DEFAULT_PICTURE_ID2);
this.deactivateTachiePicture(DEFAULT_PICTURE_ID3);
break;
case "show5":
this.showTachiePicture(
actorId,
Tachie.CENTER3_POS,
DEFAULT_PICTURE_ID4,
x,
y,
opacity
);
this.deactivateTachiePicture(DEFAULT_PICTURE_ID1);
this.deactivateTachiePicture(DEFAULT_PICTURE_ID2);
this.deactivateTachiePicture(DEFAULT_PICTURE_ID3);
break;
}
};
Game_Interpreter.prototype.showTachiePicture = function (
actorId,
posId,
pictureId,
x,
y,
opacity
) {
$gameTemp.tachieActorId = actorId;
$gameTemp.tachieActorPos = posId;
var lastTone = [0, 0, 0, 0];
if (opacity < 255) {
var picture_1 = $gameScreen.picture(pictureId);
if (picture_1 && picture_1.tachieActorId === actorId) {
opacity = 255;
lastTone = picture_1.tone();
}
}
var xx = x + this.getPosX(posId) + getTachieOffsetX(actorId);
var yy = y + POS_Y;
$gameScreen.showPicture(
pictureId,
ACTOR_PREFIX + actorId,
0,
xx,
yy,
100,
100,
opacity,
PIXI.BLEND_MODES.NORMAL
);
var picture = $gameScreen.picture(pictureId);
picture.tint(lastTone, 0);
var c = {
code: 234,
indent: this._indent,
parameters: [pictureId, [0, 0, 0, 0], TONE_CHANGE_DURATION, false],
};
this._list.splice(this._index + 1, 0, c);
if (opacity < 255) {
var c = {
code: 232,
indent: this._indent,
parameters: [pictureId, 0, 0, 0, xx, yy, 100, 100, 255, 0, 15, false],
};
this._list.splice(this._index + 1, 0, c);
}
$gameActors.actor(actorId).setDirty();
};
function getTachieOffsetX(actorId) {
switch (actorId) {
case 3:
return 60;
case 7:
return -10;
}
return 0;
}
Tachie.getTachieOffsetX = getTachieOffsetX;
/**
* 指定の pictureId のピクチャが表示されている場合、暗くします
*/
Game_Interpreter.prototype.deactivateTachiePicture = function (pictureId) {
if ($gameSwitches.value(922)) {
// deactivate無効
return;
}
var leftPicture = $gameScreen.picture(pictureId);
if (leftPicture && leftPicture.name() != "") {
var c = {
code: 234,
indent: this._indent,
parameters: [
pictureId,
INACTIVE_ACTOR_TONE,
TONE_CHANGE_DURATION,
false,
],
};
this._list.splice(this._index + 1, 0, c);
}
};
/**
* 指定の positionId に対応する x 座標を返します。
*/
Game_Interpreter.prototype.getPosX = function (posId) {
switch (posId) {
case Tachie.LEFT_POS:
return Tachie.LEFT_POS_X;
case Tachie.RIGHT_POS:
return Tachie.RIGHT_POS_X;
case Tachie.CENTER_POS:
return Tachie.CENTER_POS_X;
case Tachie.CENTER2_POS:
return Tachie.CENTER_POS_X - 120;
case Tachie.CENTER3_POS:
return Tachie.CENTER_POS_X - 60;
default:
console.error("posId が不正です:" + posId);
}
};
Game_Interpreter.prototype.command232 = function (params) {
var x, y;
if (params[3] === 0) {
x = params[4];
y = params[5];
} else {
x = $gameVariables.value(params[4]);
y = $gameVariables.value(params[5]);
}
var time = params[10];
if (this.isSkip() && PICTURES.indexOf(params[0]) > 0) {
time = 1;
}
$gameScreen.movePicture(
params[0],
params[2],
x,
y,
params[6],
params[7],
params[8],
params[9],
time,
0
);
if (params[11]) {
this.wait(time);
}
return true;
};
Game_Interpreter.prototype.isSkip = function () {
if ($gameSwitches.value(72)) {
return false;
}
return Input.isPressed("control") || TouchInput.rightButton;
};
Object.defineProperty(Game_Actor.prototype, "tachieOffsetX", {
get: function () {
return (Tachie.offset[this.actorId()] || new PIXI.Point()).x;
},
enumerable: true,
configurable: true,
});
Object.defineProperty(Game_Actor.prototype, "tachieOffsetY", {
get: function () {
return (Tachie.offset[this.actorId()] || new PIXI.Point()).y;
},
enumerable: true,
configurable: true,
});
Game_Actor.prototype.isTachieDisabled = function () {
return DISALVED_ACTOR_ID_LIST.indexOf(this.actorId()) >= 0;
};
var Game_Picture_prototype_initTarget = Game_Picture.prototype.initTarget;
Game_Picture.prototype.initTarget = function () {
Game_Picture_prototype_initTarget.call(this);
this.tachieActorId = this.getTachieActorId();
};
Game_Picture.prototype.getTachieActorId = function () {
var matcher = /^___actor([-+]?\d+)/;
var result = matcher.exec(this._name);
if (result && result.length > 1) {
return parseInt(result[1]) || 0;
} else {
return 0;
}
};
ImageManager.loadTachie = function (filename, hue) {
return this.loadBitmap("img/tachie/", filename, hue, true);
};
ImageManager.loadSpriteSheet = function (file, callback) {
var matcher = /ero\/ero(.+)\.json/;
var result = matcher.exec(file);
if (result && PIXI.utils.TextureCache[result[1] + "_01_01.png"]) {
if (callback) {
callback();
}
return;
}
/*if (result) {
p(result[0])
}*/
var loader = new PIXI.Loader();
loader.add({
name: "",
url: file,
});
this._loadingSpriteSheet = true;
var self = this;
loader.onComplete.add(function (e, resources) {
//p('comp:' + file)
for (var key in resources) {
Nore.spriteSheetCache[key] = resources[key];
}
self._loadingSpriteSheet = false;
if (callback) {
callback();
}
});
loader.load(); // ロード開始!
};
var _ImageManager_isReady = ImageManager.isReady;
ImageManager.isReady = function () {
if (this._loadingSpriteSheet) {
return false;
}
return _ImageManager_isReady.call(this);
};
Game_Temp.prototype.getActorBitmapBodyCache = function (picId) {
this.actorBitmapBodyCache = this.actorBitmapBodyCache || {};
if (!this.actorBitmapBodyCache[picId]) {
if (picId >= 100) {
this.actorBitmapBodyCache[picId] = PIXI.RenderTexture.create(
806,
1000
);
} else if (picId >= 15) {
this.actorBitmapBodyCache[picId] = PIXI.RenderTexture.create(
1366,
1000
);
} else {
this.actorBitmapBodyCache[picId] = PIXI.RenderTexture.create(
740,
1000
);
}
}
return this.actorBitmapBodyCache[picId];
};
Game_Temp.prototype.getPictureBitmapCache = function (actorId) {
this.actorBitmapCache = this.actorBitmapCache || {};
if (!this.actorBitmapCache[actorId]) {
this.actorBitmapCache[actorId] = new Bitmap(
Graphics.width,
Graphics.height
);
}
return this.actorBitmapCache[actorId];
};
Game_Screen.prototype.showActorPicture = function (
actorId,
pictureId,
x,
y
) {
var name = ACTOR_PREFIX + actorId;
this.showPicture(pictureId, name, 0, x, y, 1, 1, 1, 0);
};
Game_Screen.prototype.getPictureId = function (picture) {
for (var i = 0; i < this._pictures.length; i++) {
if (this._pictures[i] === picture) {
return i;
}
}
console.error("picture not found." + picture);
};
var TachieDrawerMixin = function () {
this.drawTachie = function (
actorId,
parent,
x,
y,
rect,
faceId,
scale,
clearByDraw
) {
if (x === void 0) {
x = 0;
}
if (y === void 0) {
y = 0;
}
if (faceId === void 0) {
faceId = 0;
}
if (scale === void 0) {
scale = 1;
}
if (clearByDraw === void 0) {
clearByDraw = false;
}
var actor = $gameActors.actor(actorId);
if (!actor) {
console.error(
"アクターが存在しないため、描画をしませんでした。actorId:" + actorId
);
return false;
}
return this.drawTachieActor(
actor,
parent,
x,
y,
rect,
faceId,
scale,
clearByDraw
);
};
this.drawTachieActor = function (
actor,
parent,
x,
y,
rect,
faceId,
scale,
clearByDraw,
naked,
alpha,
argActorId
) {
if (x === void 0) {
x = 0;
}
if (y === void 0) {
y = 0;
}
if (faceId === void 0) {
faceId = 0;
}
if (scale === void 0) {
scale = 1;
}
if (alpha === void 0) {
alpha = 1;
}
if (clearByDraw === void 0) {
clearByDraw = false;
}
if (actor.isTachieDisabled()) {
return true;
}
if (!ImageManager.isReady()) {
//return false;
}
//actor.preloadTachie();
if (!ImageManager.isReady()) {
//return false;
}
if (!naked) {
naked = 0;
}
var actorId = actor.actorId();
if (actorId == 10 && actor.poseId == 7 && $gameSwitches.value(921)) {
x -= 100;
}
if (actorId == 9 && actor.poseId == 4 && $gameSwitches.value(921)) {
x -= 130;
}
//rect.x += point.x;
//rect.y += point.y;
actor.clearDirty();
actor.clearCacheChanged();
var beforeActorId = actorId;
if (
(actorId >= 25 && actorId <= 34) ||
actorId == 48 ||
actorId == 49 ||
actorId == 62 ||
actorId == 64 ||
actorId == 80 ||
actorId == 85 ||
actorId == 87 ||
actorId == 89
) {
switch (actorId) {
case 26:
faceId = 13;
break;
case 27:
faceId = 5;
break;
case 28:
faceId = 6;
break;
case 80:
faceId = 6;
break;
case 29:
faceId = 7;
break;
case 30:
faceId = 8;
break;
case 31:
faceId = 9;
break;
case 32:
faceId = 10;
break;
case 33:
faceId = 11;
break;
case 34:
faceId = 12;
break;
case 48:
faceId = 3;
break;
case 49:
faceId = 4;
break;
case 62:
faceId = 22;
break;
case 64:
faceId = 14;
break;
case 85:
faceId = 23;
break;
case 87:
faceId = 24;
break;
case 89:
faceId = 25;
break;
}
actorId = 7;
actor = $gameActors.actor(actorId);
}
if (actorId == 77 || actorId == 78) {
actorId = 7;
switch ($gameVariables.value(55)) {
case 1:
case 2:
case 3:
case 5:
case 16:
case 18:
case 19:
case 20:
case 21:
case 22:
case 24:
actorId = $gameVariables.value(55);
faceId = $gameActors.actor(beforeActorId).faceId;
$gameActors.actor(actorId)._hoppeId =
$gameActors.actor(beforeActorId)._hoppeId;
break;
case 26:
faceId = 13;
break;
case 27:
faceId = 5;
break;
case 28:
faceId = 6;
break;
case 80:
faceId = 6;
break;
case 29:
faceId = 7;
break;
case 30:
faceId = 8;
break;
case 31:
faceId = 9;
break;
case 32:
faceId = 10;
break;
case 33:
faceId = 11;
break;
case 34:
faceId = 12;
break;
case 48:
faceId = 3;
break;
case 49:
faceId = 4;
break;
case 50:
faceId = 17;
break;
case 51:
faceId = 21;
break;
case 52:
faceId = 15;
break;
case 53:
faceId = 20;
break;
case 54:
faceId = 15;
break;
case 55:
faceId = 16;
break;
case 56:
faceId = 20;
break;
case 57:
faceId = 20;
break;
case 58:
faceId = 18;
break;
case 59:
faceId = 19;
break;
case 64:
faceId = 14;
break;
default:
faceId = 1;
break;
}
actor = $gameActors.actor(actorId);
}
if (argActorId) {
actorId = argActorId;
}
var point = this.calcTachieActorPos(actor);
if (!rect) {
rect = new Rectangle(0, 0, 0, 0);
}
//point.y *= scale;
x += point.x;
y += point.y;
y += OFFSET_Y * scale;
var sprite = new PIXI.Sprite();
//var time = new Date().getTime();
var cash = actor.getCashedSprite();
var isOverallCash = actor.isOverallCash();
var renderTexture = null;
if (actorId < 100) {
renderTexture = $gameTemp.getActorBitmapBodyCache(actorId);
}
var offX = 20;
if (cash == null || isOverallCash) {
var mainSprite = new PIXI.Sprite();
this.drawTachieHair(actor, mainSprite);
this.drawTachieOuterBack(actor, mainSprite);
this.drawTachieBodyBack(actor, mainSprite);
this.drawTachieFile(actor.legShadowFile(), mainSprite, actor);
this.drawTachieSeiekiMiddleBack(actor, mainSprite);
this.drawTachieOuterShadow(actor, mainSprite);
this.drawTachieSkinAcce(actor, mainSprite);
this.drawTachieSeiekiMiddle(actor, mainSprite);
this.drawTachieInnerBottom(actor, mainSprite);
this.drawTachieInnerTop(actor, mainSprite);
this.drawTachieFile(actor.legSkinFile(), mainSprite, actor);
this.drawTachieMiddleAcce(actor, mainSprite);
//this.drawTachieFile(actor.armMainFile(), mainSprite, actor);
this.drawTachieFile(actor.legMainFile(), mainSprite, actor);
this.drawTachieOuterMain(actor, mainSprite);
this.drawTachieMiddleFrontAcce(actor, mainSprite);
this.drawTachieBodyFront(actor, mainSprite);
this.drawTachieOuterFront(actor, mainSprite);
if (isOverallCash) {
this.drawTachieHoppe(actor, mainSprite);
this.drawTachieFrontRakugakiAcce(actor, mainSprite);
this.drawTachieFace(actor, mainSprite, faceId);
this.drawTachieNamida(actor, mainSprite, faceId);
this.drawTachieFrontAcce(actor, mainSprite);
}
if (renderTexture) {
var renderer = Graphics.app.renderer;
renderer.render(mainSprite, renderTexture);
var t = new PIXI.Texture(renderTexture);
cash = new PIXI.Sprite(t);
Tachie.actorCashedSprites[actorId] = true;
mainSprite.destroy({
texture: true,
children: true,
});
} else {
cash = mainSprite;
}
} else {
//p('cash')
}
if (!isOverallCash) {
this.drawTachieHoppe(actor, sprite);
this.drawTachieFrontRakugakiAcce(actor, sprite);
this.drawTachieFace(actor, sprite, faceId);
this.drawTachieNamida(actor, sprite, faceId);
this.drawTachieFrontAcce(actor, sprite);
}
this.drawTachieSeiekiFrontBack(actor, sprite);
this.drawTachieSeiekiFront(actor, sprite);
this.drawTachieFile(actor.armFrontFile(), sprite, actor);
this.lastDrawnActorId = actor.actorId();
var picId = 0;
if (this.picture) {
var picture = this.picture();
picId = $gameScreen.getPictureId(picture);
}
/* if (!Graphics.isWebGL()) {
if (renderTexture.baseTexture._canvasRenderTarget) {
renderTexture.baseTexture._canvasRenderTarget.context.setTransform(1, 0, 0, 1, 0, 0);
renderTexture.baseTexture._canvasRenderTarget.context.clearRect(0, 0, 740, 1000)
}
}*/
var sp;
if (cash) {
sp = new PIXI.Sprite();
sp.addChild(cash);
sp.addChild(sprite);
} else {
Graphics._renderer.render(sprite, renderTexture);
sprite.removeChild(mainSprite);
sprite.destroy({
children: true,
texture: true,
});
var t_1 = new PIXI.Texture(renderTexture);
sp = new PIXI.Sprite(t_1);
}
//p(new Date().getTime() - time)
var myMask = null;
if (rect.width > 0 && rect.height > 0) {
myMask = new PIXI.Graphics();
myMask.beginFill();
myMask.drawRect(
rect.x + parent.getGlobalPosition().x,
rect.y + parent.getGlobalPosition().y,
rect.width,
rect.height
);
myMask.endFill();
sp.mask = myMask;
}
sp.position.x = x;
sp.position.y = y;
sp.scale.x = scale;
sp.scale.y = scale;
sp.alpha = alpha;
if (parent) {
if (clearByDraw) {
parent.destroyAndRemoveChildren();
}
parent.addChild(sp);
} else {
if (clearByDraw) {
for (var i = 0, j = this.children.length; i < j; ++i) {
if (this.children[i]) {
this.children[i].destroy({
texture: true,
children: true,
});
}
}
this.destroyAndRemoveChildren();
}
this.addChild(sp);
if (myMask) {
this.addChild(myMask);
}
}
if (beforeActorId == 89) {
actor = $gameActors.actor(beforeActorId);
}
this.addOutlineFilter(actor, sp);
return sp;
};
this.addOutlineFilter = function (actor, s) {
if (!actor.isShowOutline()) {
return;
}
var filter3 = new PIXI.filters.OutlineFilter(2, actor.outlineColor());
var filter2 = new PIXI.filters.GlowFilter({
distance: 8,
outerStrength: 2,
color: actor.outlineColor(),
quality: 1,
});
s.filters = [filter3, filter2];
};
this.drawTachieBack = function (
actorId,
parent,
x,
y,
rect,
faceId,
scale,
clearByDraw
) {
if (x === void 0) {
x = 0;
}
if (y === void 0) {
y = 0;
}
if (faceId === void 0) {
faceId = 0;
}
if (scale === void 0) {
scale = 1;
}
if (clearByDraw === void 0) {
clearByDraw = false;
}
var actor = $gameActors.actor(actorId);
if (!actor) {
console.error(
"アクターが存在しないため、描画をしませんでした。actorId:" + actorId
);
return false;
}
return this.drawTachieBackActor(
actor,
parent,
x,
y,
rect,
faceId,
scale,
clearByDraw
);
};
this.drawTachieBackActor = function (
actor,
parent,
x,
y,
rect,
faceId,
scale,
clearByDraw,
naked,
alpha
) {
if (scale === void 0) {
scale = 1;
}
if (alpha === void 0) {
alpha = 1;
}
if (clearByDraw === void 0) {
clearByDraw = false;
}
var point = this.calcTachieActorPos(actor);
if (!rect) {
rect = new Rectangle(0, 0, 0, 0);
}
x += point.x;
y += point.y;
y += OFFSET_Y;
var sprite = new PIXI.Sprite();
sprite.position.x = x;
sprite.position.y = y;
if (clearByDraw) {
parent.destroyAndRemoveChildren();
}
parent.addChild(sprite);
//cache.context.drawImage(canvas, x, y, canvas.width * scale, canvas.height * scale);
return true;
};
this.calcTachieActorPos = function (actor) {
var dx = actor.tachieOffsetX;
var dy = actor.tachieOffsetY;
if (isNaN(dx)) {
dx = 0;
}
if (isNaN(dy)) {
dy = 0;
}
return new Point(dx, dy);
};
this.drawTachieCache = function (
actor,
cache,
bitmap,
x,
y,
rect,
scale
) {
var xx = -rect.x < 0 ? 0 : -rect.x;
var yy = -rect.y < 0 ? 0 : -rect.y;
var ww = rect.width / scale;
var w = rect.width;
if (w <= 0 || w + xx > cache.width) {
w = cache.width - xx;
ww = w / scale;
}
if (xx + ww > cache.width) {
var xScale = ((cache.width - xx) * 1.0) / ww;
ww = cache.width - xx;
w *= xScale;
}
var hh = rect.height / scale;
var h = rect.height;
if (h <= 0 || h + yy > cache.height) {
h = cache.height - yy;
hh = h / scale;
}
if (yy + hh > cache.height) {
var yScale = ((cache.height - yy) * 1.0) / hh;
hh = cache.height - yy;
h *= yScale;
}
bitmap.blt(cache, xx, yy, ww, hh, x, y, w, h);
};
this.drawTachieFile = function (
file,
bitmap,
actor,
x,
y,
rect,
scale,
alpha
) {
if (x === void 0) {
x = 0;
}
if (y === void 0) {
y = 0;
}
if (scale === void 0) {
scale = 1;
}
if (alpha === void 0) {
alpha = 1;
}
if (!file) {
return;
}
if (!rect) {
rect = new Rectangle(0, 0, 0, 0);
}
this.drawTachieTextureAtlas(
file,
bitmap,
actor,
x,
y,
rect,
scale,
alpha
);
};
this.drawTachieTextureAtlas = function (
file,
bitmap,
actor,
x,
y,
rect,
scale,
alpha,
hue,
tone
) {
if (hue === void 0) {
hue = 0;
}
if (tone === void 0) {
tone = 0;
}
var textureBase = PIXI.utils.TextureCache[file + ".png"];
if (!textureBase) {
//p(file)
return;
}
var frame = textureBase.frame;
var sx = frame.x;
var sy = frame.y;
var trim = textureBase.trim;
var crop = textureBase.trim;
var ww = crop.width / scale;
var w = crop.width;
var hh = crop.height / scale;
var h = crop.height;
var dx = trim.x + rect.x;
var dy = trim.y + rect.y;
var texture = new PIXI.Texture(textureBase.baseTexture);
texture.frame = new PIXI.Rectangle(sx, sy, ww, hh);
var sprite = new PIXI.Sprite(texture);
if (hue != 0) {
var colorFilter = new ColorFilter();
colorFilter.setHue(hue);
colorFilter.setColorTone([tone, tone, tone, 0]);
sprite.filters = [];
sprite.filters.push(colorFilter);
alpha = 0.75;
}
sprite.position.x = dx + x;
sprite.position.y = dy + y;
sprite.width = w;
sprite.height = h;
sprite.alpha = alpha;
bitmap.addChild(sprite);
};
this.drawTachieHair = function (actor, bitmap) {
this.drawTachieFile(actor.hairFile(), bitmap, actor);
this.drawTachieBackAcce(actor, bitmap);
};
this.drawTachieOuterBack = function (actor, bitmap) {
this.drawTachieFile(
actor.outerBackFile(),
bitmap,
actor,
undefined,
undefined,
undefined,
undefined,
$gameSystem.outerAlpha()
);
};
this.drawTachieOuterShadow = function (actor, bitmap) {
this.drawTachieFile(actor.innerBottomShadowFile(), bitmap, actor);
this.drawTachieFile(actor.innerTopShadowFile(), bitmap, actor);
this.drawTachieFile(
actor.outerShadowFile(),
bitmap,
actor,
undefined,
undefined,
undefined,
undefined,
$gameSystem.outerAlpha()
);
this.drawTachieFile(actor.outerBottomShadowFile(), bitmap, actor);
this.drawTachieFile(actor.outerTopShadowFile(), bitmap, actor);
this.drawTachieFile(actor.outerBottomShadowFile(), bitmap, actor);
};
this.drawTachieOuterMain = function (actor, bitmap) {
this.drawTachieFile(actor.outerBottomMainFile(), bitmap, actor);
this.drawTachieFile(actor.outerMiddleFile(), bitmap, actor);
this.drawTachieFile(
actor.outerMainFile(),
bitmap,
actor,
undefined,
undefined,
undefined,
undefined,
$gameSystem.outerAlpha()
);
this.drawTachieFile(actor.outerTopMainFile(), bitmap, actor);
};
this.drawTachieOuterFront = function (actor, bitmap) {
this.drawTachieFile(
actor.outerFrontFile(),
bitmap,
actor,
undefined,
undefined,
undefined,
undefined,
$gameSystem.outerAlpha()
);
};
this.drawTachieBodyBack = function (actor, bitmap) {
this.drawTachieFile(
actor.backOptionFile(),
bitmap,
actor,
undefined,
undefined,
undefined,
undefined,
$gameSystem.outerAlpha()
);
this.drawTachieFile(actor.bodyBackFile(), bitmap, actor);
//this.drawTachieFile(actor.bodyBackFileB(), bitmap, actor);
//this.drawTachieFile(actor.bodyBackFileC(), bitmap, actor);
//this.drawTachieFile(actor.breastsFile(), bitmap, actor);
};
this.drawTachieSeiekiMiddleBack = function (actor, bitmap) {
var bodyType = actor.bodyType();
var list = actor.getSeiekiMiddleAcceList();
for (var _b = 0, list_1 = list; _b < list_1.length; _b++) {
var acce = list_1[_b];
var fileId = acce.meta["acce"];
if (acce.meta["poseD"] && bodyType == "d") {
fileId = acce.meta["poseD"];
}
this.drawTachieFile(actor.acceBackFile(fileId), bitmap, actor);
}
};
this.drawTachieSeiekiFrontBack = function (actor, bitmap) {
var list = actor.getSeiekiFrontAcceList();
for (var _b = 0, list_2 = list; _b < list_2.length; _b++) {
var acce = list_2[_b];
this.drawTachieFile(
actor.acceBackFile(acce.meta["acce"]),
bitmap,
actor
);
}
};
this.drawTachieSeiekiMiddle = function (actor, bitmap) {
var bodyType = actor.bodyType();
var list = actor.getSeiekiMiddleAcceList();
for (var _b = 0, list_3 = list; _b < list_3.length; _b++) {
var acce = list_3[_b];
var fileId = acce.meta["acce"];
this.drawTachieFile(actor.acceFile(fileId), bitmap, actor);
}
};
this.drawTachieSeiekiFront = function (actor, bitmap) {
var list = actor.getSeiekiFrontAcceList();
for (var _b = 0, list_4 = list; _b < list_4.length; _b++) {
var acce = list_4[_b];
this.drawTachieFile(actor.acceFile(acce.meta["acce"]), bitmap, actor);
}
};
this.drawTachieBodyFront = function (actor, bitmap) {
this.drawTachieFile(actor.bodyFrontFile(), bitmap, actor);
};
this.drawTachieInnerBottom = function (actor, bitmap) {
this.drawTachieFile(actor.innerBottomFile(), bitmap, actor);
};
this.drawTachieInnerTop = function (actor, bitmap) {
if (!actor.innerTopFile()) {
return;
}
this.drawTachieFile(actor.innerTopFile(), bitmap, actor);
};
this.drawTachieInnerTop2 = function (actor, bitmap) {
if (!actor.innerTopFile()) {
return;
}
this.drawTachieFile(actor.innerTopFile(), bitmap, actor);
};
this.drawTachieHoppe = function (actor, bitmap) {
if (actor.hoppeId == 0) {
if (actor.hoppeAcceId()) {
var id = actor.hoppeAcceId();
this.drawTachieFile(actor.baseId + "hoppe" + id, bitmap, actor);
}
} else {
this.drawTachieFile(actor.hoppeFile(), bitmap, actor);
}
};
this.drawTachieNamida = function (actor, bitmap, faceId) {
if (actor.namidaId == 0) {
/*if (actor.hasHoppeAcce()) {
this.drawTachieFile(actor.baseId + 'hoppe', bitmap, actor);
}*/
} else {
this.drawTachieFile(actor.namidaFile(faceId), bitmap, actor);
}
};
this.drawTachieBackAcce = function (actor, bitmap) {
for (var _i = 0, _a = actor.getBackAcceList(); _i < _a.length; _i++) {
var acceId = _a[_i];
var acce = $dataArmors[acceId];
var alpha = actor.acceFileAlpha(acceId + 1000);
if (acce.meta["enableAlpha"]) {
alpha = $gameSystem.outerAlpha();
}
this.drawTachieFile(
actor.acceFile(acceId),
bitmap,
actor,
undefined,
undefined,
undefined,
undefined,
alpha
);
}
};
this.drawTachieSkinAcce = function (actor, bitmap) {
if (actor.hasAcce(1021)) {
var babyList = actor.babyList();
for (var i_1 = 0; i_1 < babyList.length; i_1++) {
var baby = babyList[i_1];
if (!baby.isSyusan()) {
continue;
}
var index = i_1 + 1;
var file = actor.getSyusanAcceFile(index, baby.isMale());
this.drawSyusanTachieFile(file, bitmap, actor, baby);
}
}
for (var _i = 0, _a = actor.getSkinAcceList(); _i < _a.length; _i++) {
var acceId = _a[_i];
this.drawTachieFile(
actor.acceFile(acceId),
bitmap,
actor,
undefined,
undefined,
undefined,
undefined,
actor.acceFileAlpha(acceId)
);
}
};
this.drawSyusanTachieFile = function (file, bitmap, actor, baby) {
if (!file) {
return;
}
var rect = new Rectangle(0, 0, 0, 0);
/*let hue = 1;
let tone = -50;
switch (baby.getTaneoyaType()) {
case TaneoyaId.banzoku:
hue = 22;
tone = -250;
break;
case TaneoyaId.charles: hue = 40; break;
case TaneoyaId.goblin: hue = 120; break;
}*/
this.drawTachieTextureAtlas(file, bitmap, actor, 0, 0, rect, 1, 1);
};
this.drawTachieMiddleAcce = function (actor, bitmap) {
for (var _i = 0, _a = actor.getMiddleAcceList(); _i < _a.length; _i++) {
var acceId = _a[_i];
this.drawTachieFile(actor.acceFile(acceId), bitmap, actor);
}
};
this.drawTachieMiddleFrontAcce = function (actor, bitmap) {
for (
var _i = 0, _a = actor.getMiddleFrontAcceList();
_i < _a.length;
_i++
) {
var acceId = _a[_i];
var acce = $dataArmors[acceId + 1000];
var alpha = 1;
if (acce.meta["enableAlpha"]) {
alpha = $gameSystem.outerAlpha();
}
this.drawTachieFile(
actor.acceFile(acceId),
bitmap,
actor,
undefined,
undefined,
undefined,
undefined,
alpha
);
}
};
this.drawTachieFrontRakugakiAcce = function (actor, bitmap) {
for (
var _i = 0, _a = actor.getFrontRakugakiAcceList();
_i < _a.length;
_i++
) {
var acceId = _a[_i];
var acce = $dataArmors[acceId + 1000];
var alpha = 1;
if (acce.meta["enableAlpha"]) {
alpha = $gameSystem.outerAlpha();
}
this.drawTachieFile(
actor.acceFile(acceId),
bitmap,
actor,
undefined,
undefined,
undefined,
undefined,
alpha
);
}
};
this.drawTachieFrontAcce = function (actor, bitmap) {
for (var _i = 0, _a = actor.getFrontAcceList(); _i < _a.length; _i++) {
var acceId = _a[_i];
var acce = $dataArmors[acceId + 1000];
var alpha = 1;
if (acce.meta["enableAlpha"]) {
alpha = $gameSystem.outerAlpha();
}
this.drawTachieFile(
actor.acceFile(acceId),
bitmap,
actor,
undefined,
undefined,
undefined,
undefined,
alpha
);
}
};
this.drawTachieFace = function (actor, bitmap, faceId) {
if (faceId === 0) {
faceId = actor.faceId;
}
var file = actor.faceFile(faceId);
this.drawTachieFile(file, bitmap, actor);
};
};
TachieDrawerMixin.call(Sprite.prototype);
TachieDrawerMixin.call(Window_Base.prototype);
var _Sprite_Picture_prototype_updateBitmap =
Sprite_Picture.prototype.updateBitmap;
Sprite_Picture.prototype.updateBitmap = function () {
_Sprite_Picture_prototype_updateBitmap.call(this);
var picture = this.picture();
if (picture && picture.tachieActorId !== 0 && picture._opacity > 0) {
var actorId = picture.tachieActorId;
var actor = $gameActors.actor(actorId);
if (actor.isDirty() || this._dirty || this._lastActorId != actorId) {
this._lastActorId = actorId;
this.redrawActorImage();
}
}
};
var _Sprite_Picture_prototype_loadBitmap =
Sprite_Picture.prototype.loadBitmap;
Sprite_Picture.prototype.loadBitmap = function () {
var picture = this.picture();
this.removeChildren();
if (picture && picture.tachieActorId !== 0) {
//this.bitmap = $gameTemp.getPictureBitmapCache($gameScreen.getPictureId(picture));
this.redrawActorImage();
} else {
_Sprite_Picture_prototype_loadBitmap.call(this);
}
};
Sprite_Picture.prototype.redrawActorImage = function () {
var picture = this.picture();
if (!picture) {
return;
}
var actorId = picture.tachieActorId;
if (actorId === 0) {
return;
}
if (this.lastDrawnActorId !== actorId) {
this.removeChildren();
}
if ($gameSystem.isEroEvent()) {
this.removeChildren();
return;
}
var actor = $gameActors.actor(actorId);
var success = this.drawTachie(actorId, null, 0, 0, null, 0, 1, true);
this._dirty = !success;
};
})((Tachie = Nore.Tachie || (Nore.Tachie = {})));
})(Nore || (Nore = {}));
var _TouchInput_clear = TouchInput.clear;
TouchInput.clear = function () {
_TouchInput_clear.call(this);
this.rightButton = false;
this.rightButtonCount = 0;
};
TouchInput._onRightButtonDown = function (event) {
var x = Graphics.pageToCanvasX(event.pageX);
var y = Graphics.pageToCanvasY(event.pageY);
if (Graphics.isInsideCanvas(x, y)) {
this._onCancel(x, y);
this.rightButtonCount = this.rightButtonCount || 0;
this.rightButtonCount++;
}
};
var _TouchInput_update = TouchInput.update;
TouchInput.update = function () {
_TouchInput_update.call(this);
if (this.rightButtonCount > 0) {
this.rightButtonCount++;
if (this.rightButtonCount > 5) {
this.rightButton = true;
}
}
};
function isSkipKey() {
if (ConfigManager.skipKey) {
if (Input.isPressed("control")) {
return true;
}
} else {
if (Input.isPressed("shift")) {
return true;
}
}
if (Input.isPressed("ok") && Input.isPressed("cancel")) {
return true;
}
if (ConfigManager.rightClickSkip) {
return TouchInput.rightButton;
}
return false;
//return Input.isPressed("control") || TouchInput.rightButton || Input.isPressed("shift");
}
var _Window_Message_prototype_updateWait = Window_Message.prototype.updateWait;
Window_Message.prototype.updateWait = function () {
if (isSkipKey()) {
this._waitCount = 0;
}
return _Window_Message_prototype_updateWait.call(this);
};
var _Window_Message_prototype_isTriggered =
Window_Message.prototype.isTriggered;
Window_Message.prototype.isTriggered = function () {
if (isSkipKey()) {
return true;
}
return _Window_Message_prototype_isTriggered.call(this);
};
var _TouchInput_onMouseUp = TouchInput._onMouseUp;
TouchInput._onMouseUp = function (event) {
if (event.button == 2) {
this.rightButton = false;
this.rightButtonCount = 0;
}
_TouchInput_onMouseUp.call(this, event);
};
Window_Message.prototype.updateBackOpacity = function () {
this.backOpacity = 255;
};
Window_Base.prototype.updateOpen = function () {
if (this._opening) {
this.openness += 32;
if (isSkipKey()) {
this.openness += 256;
}
if (this.isOpen()) {
this._opening = false;
}
}
};
Window_Base.prototype.updateClose = function () {
if (this._closing) {
this.openness -= 32;
if (isSkipKey()) {
this.openness = 0;
}
if (this.isClosed()) {
this._closing = false;
}
}
};