/*:ja * @target MZ * @author ル * * * @command RunIntro * @text 紹介分表示 * @des 紹介分表示 * @arg actorId * @type number * @arg index * @type number * * @command RunBote * @text ボテ表示 * @des ボテ表示 * @arg actorId * @type number * @arg isTaneoya * @type boolean * @arg index * @type number * * @command RunOuter * @text 服装表示 * @des 服装表示 * @arg actorId * @type number * @arg outerId * @type string * * @command RunNakadashi * @text 中出し表示 * @des 中出し表示 * @arg actorId * @type number * * @command RunAnal * @text アナル表示 * @des アナル表示 * @arg actorId * @type number * * @command RunSyusan * @text 出産回数表示 * @des 出産回数表示 * @arg actorId * @type number * * @command RunManko * @text おまんこ表示 * @des おまんこ表示 * @arg actorId * @type number * * @command SyusanText * @text 出産テキスト作成 * @des 出産テキスト作成 * @arg actorId * @type number * * @command TaiiText * @text 好きな体位決定 * @des 好きな体位決定 * @arg actorId * @type number * * @command SexText * @text セックステキスト作成 * @des セックステキスト作成 * @arg actorId * @type number * * @command DecideFavotiteChinpo * @text 好きなちんぽ決定 * @des 好きなちんぽ決定 * @arg actorId * @type number * * @command makeMankoHenkeiText * @text おまんこ変形度テキスト作成 */ var Nore; (function (Nore) { var VAR_SARASHI_NAKADASHI = 881; var VAR_SARASHI_ANAL = 882; var VAR_SARASHI_TAII = 883; var VAR_SARASHI_SEX_TAII = 884; var VAR_SARASHI_CHINPO = 887; var pluginName = "Nore_Sarashi"; var intro = "紹介"; var bote = "ボテ腹"; var common = "共通"; var seed = "種"; var other = "その他"; var outer = "服装"; var naka = "中出し"; var syusan = "出産回数"; var omanko = "おまんこ"; PluginManager.registerCommand(pluginName, "TaiiText", function (args) { var actorId = parseInt(args.actorId); var actor = $gameActors.actor(actorId); var avList = $slg.avInfo().actorAvList(actorId); if (avList.length == 0) { $gameVariables.setValue(VAR_SARASHI_CHINPO, 0); return; } for (var i = 0; i < avList.length; i++) { var av = avList[avList.length - i - 1]; var position = av.taii(); if (position >= 0) { $gameVariables.setValue(VAR_SARASHI_TAII, position); return; } } }); PluginManager.registerCommand( pluginName, "DecideFavotiteChinpo", function (args) { var actorId = parseInt(args.actorId); var actor = $gameActors.actor(actorId); var douseiManId = actor.dousei().manId(); if (douseiManId > 0) { var chinpo_1 = decideFavoriteChinpo(actorId, douseiManId); $gameVariables.setValue(VAR_SARASHI_CHINPO, chinpo_1); return; } var avList = $slg.avInfo().actorAvList(actorId); if (avList.length == 0) { $gameVariables.setValue(VAR_SARASHI_CHINPO, 0); return; } var lastAv = avList[avList.length - 1]; var chinpo = decideFavoriteChinpo(actorId, lastAv.mainManId()); $gameVariables.setValue(VAR_SARASHI_CHINPO, chinpo); } ); function decideFavoriteChinpo(actorId, manId) { switch (actorId) { case 4: return decideFavoriteChinpo4(manId); case 9: return decideFavoriteChinpo9(manId); case 13: return decideFavoriteChinpo13(manId); case 17: return decideFavoriteChinpo17(manId); } return 0; } function decideFavoriteChinpo4(manId) { switch (manId) { case 5: return 5; // レン case 20: return 20; // タロウ } return 78; } function decideFavoriteChinpo9(manId) { switch (manId) { case 19: return 19; // ブスジマ } return 78; } function decideFavoriteChinpo13(manId) { switch (manId) { case 16: return 16; // カスゾウ } return 78; } function decideFavoriteChinpo17(manId) { switch (manId) { case 21: return 21; // オリバー } return 78; } function plusVar(varId) { $gameVariables.setValue(varId, $gameVariables.value(varId) + 1); } PluginManager.registerCommand(pluginName, "SyusanText", function (args) { var actorId = parseInt(args.actorId); var actor = $gameActors.actor(actorId); var babyMap = {}; for (var _i = 0, _a = actor.babyList(); _i < _a.length; _i++) { var b = _a[_i]; if (b.isSyusan()) { switch (actorId) { case 4: switch (b.taneoyaId()) { case 5: plusVar(961); break; case 20: plusVar(962); break; default: plusVar(970); break; } break; case 9: switch (b.taneoyaId()) { case 19: plusVar(964); break; default: plusVar(970); break; } break; case 13: switch (b.taneoyaId()) { case 16: plusVar(966); break; default: plusVar(970); break; } break; case 17: switch (b.taneoyaId()) { case 21: plusVar(965); break; default: plusVar(970); break; } break; } } } var text = ""; if ($gameVariables.value(961) > 0) { if (text.length > 0) { text += "\n"; } var renName = $gameActors.actor(5).name(); text += TextManager.syusanName.format(renName, $gameVariables.value(961)); } if ($gameVariables.value(962) > 0) { if (text.length > 0) { text += "\n"; } var tarouName = $gameActors.actor(20).name(); text += TextManager.syusanName.format( tarouName, $gameVariables.value(962) ); } if ($gameVariables.value(964) > 0) { if (text.length > 0) { text += "\n"; } var renName = $gameActors.actor(19).name(); text += TextManager.syusanName.format(renName, $gameVariables.value(964)); } if ($gameVariables.value(966) > 0) { if (text.length > 0) { text += "\n"; } var renName = $gameActors.actor(16).name(); text += TextManager.syusanName.format(renName, $gameVariables.value(966)); } if ($gameVariables.value(965) > 0) { if (text.length > 0) { text += "\n"; } var renName = $gameActors.actor(21).name(); text += TextManager.syusanName.format(renName, $gameVariables.value(965)); } if ($gameVariables.value(970) > 0) { if (text.length > 0) { text += "\n"; } var vagrantName = $gameActors.actor(78).name(); text += TextManager.syusanName.format( vagrantName, $gameVariables.value(970) ); } if (text == "") { $gameVariables.setValue(969, 0); return; } p("出産テキスト"); p(text); $gameVariables.setValue(969, text); }); PluginManager.registerCommand(pluginName, "RunIntro", function (args) { var s = getScenario(intro, args.actorId, null, args.index); if (!s) { console.error(args); } var list = $dataScenario[s.id]; if (!list) { throw new Error("id:" + s.id + " のデータが見つかりません"); } console.log("Scenario \u30B3\u30DE\u30F3\u30C9\u5B9F\u884C: ".concat(s.id)); this.setupChild(list, this._eventId); }); PluginManager.registerCommand(pluginName, "RunBote", function (args) { p("RunBote"); var s; if (args.isTaneoya == "true") { var taneoyaId = $gameVariables.value(70); var taneoya = getTaneoyaNameJa(taneoyaId); s = getScenario(bote, args.actorId, taneoya, args.index); if (!s) { s = getScenario(bote, args.actorId, other, args.index); } else { $gameSwitches.setValue(160 + taneoyaId, true); p(160 + taneoyaId + "をON"); } } else { s = getScenario(bote, args.actorId, null, args.index); } var list = $dataScenario[s.id]; if (!list) { throw new Error("id:" + s.id + " のデータが見つかりません"); } console.log("Scenario \u30B3\u30DE\u30F3\u30C9\u5B9F\u884C: ".concat(s.id)); this.setupChild(list, this._eventId); }); PluginManager.registerCommand(pluginName, "RunOuter", function (args) { var s = getOuterScenario(outer, args.actorId, args.outerId); var list = $dataScenario[s.id]; if (!list) { throw new Error("id:" + s.id + " のデータが見つかりません"); } console.log("Scenario \u30B3\u30DE\u30F3\u30C9\u5B9F\u884C: ".concat(s.id)); this.setupChild(list, this._eventId); }); PluginManager.registerCommand(pluginName, "RunNakadashi", function (args) { var s = getNakadashiScenario(naka, args.actorId); if (!s) { console.error(args); throw new Error("id: RunNakadashi のデータが見つかりません"); } var list = $dataScenario[s.id]; if (!list) { throw new Error("id:" + s.id + " のデータが見つかりません"); } console.log("Scenario \u30B3\u30DE\u30F3\u30C9\u5B9F\u884C: ".concat(s.id)); this.setupChild(list, this._eventId); }); PluginManager.registerCommand(pluginName, "RunAnal", function (args) { var s = getAnalScenario(args.actorId); if (!s) { console.error(args); throw new Error("id: RunAnal のデータが見つかりません"); } var list = $dataScenario[s.id]; if (!list) { throw new Error("id:" + s.id + " のデータが見つかりません"); } console.log("Scenario \u30B3\u30DE\u30F3\u30C9\u5B9F\u884C: ".concat(s.id)); this.setupChild(list, this._eventId); }); PluginManager.registerCommand(pluginName, "RunSyusan", function (args) { var s = getSyusanScenario(syusan, args.actorId); var list = $dataScenario[s.id]; if (!list) { throw new Error("id:" + s.id + " のデータが見つかりません"); } console.log("Scenario \u30B3\u30DE\u30F3\u30C9\u5B9F\u884C: ".concat(s.id)); this.setupChild(list, this._eventId); }); PluginManager.registerCommand(pluginName, "RunManko", function (args) { var s = getOmankoScenario(omanko, args.actorId); var list = $dataScenario[s.id]; if (!list) { throw new Error("id:" + s.id + " のデータが見つかりません"); } console.log("Scenario \u30B3\u30DE\u30F3\u30C9\u5B9F\u884C: ".concat(s.id)); this.setupChild(list, this._eventId); }); PluginManager.registerCommand(pluginName, "RunAcce", function (args) { var s = getAcceScenario(args.actorId, args.type); if (!s) { return; } var list = $dataScenario[s.id]; if (!list) { console.error("id:" + s.id + " のデータが見つかりません"); return; } console.log("Scenario \u30B3\u30DE\u30F3\u30C9\u5B9F\u884C: ".concat(s.id)); this.setupChild(list, this._eventId); }); PluginManager.registerCommand( pluginName, "makeMankoHenkeiText", function (args) { var value = $gameVariables.value(979); var text = ""; switch (value) { case 1: text = "A"; break; case 2: text = "B"; break; case 3: text = "C"; break; case 4: text = "D"; break; case 5: text = "E"; break; case 6: text = "F"; break; case 7: text = "G"; break; } $gameVariables.setValue(973, text); } ); function getScenario(type, actorId, taneoya, index) { var actorName = getActorName(actorId); var base1; if (taneoya) { base1 = "%1_%2_%3_%4".format( type, actorName, index.padZero(2), seed + taneoya ); } else { base1 = "%1_%2_%3".format(type, actorName, index.padZero(2)); } var base2; if (taneoya) { base2 = "%1_%2_%3_%4".format( type, actorName, index.padZero(2), seed + taneoya ); } else { base2 = "%1_%2_%3".format(type, actorName, index.padZero(2)); } p(base1); p(base2); var candidates = getCandidates(base1, base2); if (candidates.length == 0) { console.error(base1); return null; } var obj = {}; var dice = Math.randomInt(candidates.length); obj.id = candidates[dice]; return obj; } function getOuterName(outerId) { switch (outerId) { case "a": return "裸"; case "b": return "通常"; case "c": return "売春婦"; case "g": return "下脱ぎ"; } } function getOuterScenario(type, actorId, outer) { var actorName = getActorName(actorId); var outerName = getOuterName(outer); var base1 = "%1_%2_%3".format(type, actorName, outerName); var base2 = "%1_%2_%3".format(type, actorName, outerName); var candidates = getCandidates(base1, base2); if (candidates.length == 0) { p(base1); p(base2); return null; } var obj = {}; var dice = Math.randomInt(candidates.length); obj.id = candidates[dice]; return obj; } function getSyusanScenario(type, actorId) { var actorName = getActorName(actorId); var base1 = "%1_%2".format(type, actorName); var base2 = "%1_%2".format(type, actorName); p(base1); p(base2); var candidates = getCandidates(base1, base2); if (candidates.length == 0) { return null; } var obj = {}; var dice = Math.randomInt(candidates.length); obj.id = candidates[dice]; return obj; } function getOmankoScenario(type, actorId) { var actorName = getActorName(actorId); var lv; lv = $gameVariables.value(979); if (lv > 6) { lv = 6; } var lvStr = "LV" + lv; var base1 = "%1_%2_%3".format(type, actorName, lvStr); var base2 = "%1_%2_%3".format(type, actorName, lvStr); var candidates = getCandidates(base1, base2); if (candidates.length == 0) { return null; } var obj = {}; var dice = Math.randomInt(candidates.length); obj.id = candidates[dice]; return obj; } function getAcceScenario(actorId, type) { var actorName = getActorName(actorId); var actor = $gameActors.actor(actorId); if (type == "精液") { /*const nakadashiType = actor.getLastHistory().lastNakadashiType() if (nakadashiType == 0) { return null; } const name = getTaneoyaNameJa(nakadashiType); let base1 = '%1_%2_%3_01'.format(type, actorName, name); const obj = {}; obj.id = base1 return obj;*/ } if (!actor.hasAcce(1014)) { return null; } var base1 = "%1_%2_01".format(type, actorName); var obj = {}; obj.id = base1; return obj; } function getNakadashiScenario(type, actorId) { var actorName = getActorName(actorId); var count = $gameVariables.value(VAR_SARASHI_NAKADASHI); var nakaType = "非処女"; var base1 = "%1_%2_%3".format(type, actorName, nakaType); var base2 = "%1_%2_%3".format(type, actorName, nakaType); var candidates = getCandidates(base1, base2); if (candidates.length == 0) { p(nakaType); p(base1); return null; } var obj = {}; var dice = Math.randomInt(candidates.length); obj.id = candidates[dice]; return obj; } function getAnalScenario(actorId) { var actorName = getActorName(actorId); var base1 = "アナル_%1_01".format(actorName); var obj = {}; obj.id = base1; return obj; } function getCandidates(base1, base2) { var result = []; for (var i = 1; i <= 10; i++) { var id = base1 + "_" + i.padZero(2); var normalized = id.normalize("NFC"); if ($dataScenario[normalized]) { result.push(normalized); } else { break; } } for (var i = 1; i <= 10; i++) { var id = base2 + "_" + i.padZero(2); var normalized = id.normalize("NFC"); if ($dataScenario[normalized]) { result.push(normalized); } else { break; } } return result; } function getActorName(actorId) { switch (parseInt(actorId)) { case 4: return "マリナ"; case 9: return "ノノカ"; case 13: return "サキ"; case 17: return "ココナ"; } return $gameActors.actor(actorId).nameJp(); } })(Nore || (Nore = {})); function getTaneoyaNameJa(taneoyaId) { switch (taneoyaId) { case TaneoyaId.banzoku: return $gameActors.actor(30).nameJp(); case TaneoyaId.chosyuhei: return $gameActors.actor(61).nameJp(); case TaneoyaId.charles: return $gameActors.actor(7).nameJp(); case TaneoyaId.goblin: return $gameActors.actor(85).nameJp(); case TaneoyaId.minister: return $gameActors.actor(13).nameJp(); case TaneoyaId.vagrant: return $gameActors.actor(93).nameJp(); case TaneoyaId.bar: return $gameActors.actor(113).nameJp(); case TaneoyaId.oliver: return $gameActors.actor(21).nameJp(); case TaneoyaId.gray: return $gameActors.actor(16).nameJp(); case TaneoyaId.loli: return $gameActors.actor(140).nameJp(); } return "名称未設定"; } var Taii; (function (Taii) { Taii[(Taii["none"] = -1)] = "none"; Taii[(Taii["seijoui"] = 0)] = "seijoui"; Taii[(Taii["back"] = 1)] = "back"; Taii[(Taii["kijoui"] = 4)] = "kijoui"; Taii[(Taii["hutaana"] = 2)] = "hutaana"; })(Taii || (Taii = {})); var BARBARIAN_ID2 = 15; Game_Followers.prototype.setup = function () { this._data = []; if ($gameSystem.sarachiActorId() > 0) { var actor = $gameActors.actor($gameSystem.sarachiActorId()); if (!$gameSwitches.value(324)) { this._data.push(new Game_Follower(this.findIndex(actor))); } this._data.push(new Game_Follower(BARBARIAN_ID2)); this._data.push(new Game_Follower(-1)); return; } for (var i = 1; i < $gameParty.battleMembers().length; i++) { this._data.push(new Game_Follower(i)); } }; Game_Followers.prototype.findIndex = function (actor) { return $gameParty.members().indexOf(actor); }; Game_Follower.prototype.actor = function () { if (this._memberIndex < 0) { return $gameActors.actor(10); } if (this._memberIndex == BARBARIAN_ID2) { return $gameActors.actor(BARBARIAN_ID2); } if ($gameSwitches.value(101)) { return $gameParty.members()[this._memberIndex]; } else { return $gameParty.members()[this._memberIndex]; } };