princess-synergy/www/js/plugins/JsScript63Set.js
2026-02-05 14:03:22 -06:00

358 lines
14 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.

let DoCkNo = 0;
let DoCkCharaArr;
let DoEnemyFlg = false;
let BtlEnemyCheck_NUpdateSc = Game_Interpreter.prototype.NUpdateSc;
Game_Interpreter.prototype.NUpdateSc = function () {
BtlEnemyCheck_NUpdateSc.call(this);
$gameSwitches.setValue(SW_ひん剥きOkCheck , _ひん剥き_UseCk());
}
Game_Interpreter.prototype.EnemyActionCheckUpdate = function () {
let _CkChara = DoCkCharaArr[DoCkNo];
if (_CkChara._hp <= 0) return;
switch (_CkChara._enemyId) {
case 25: //カジュア(通常)
if (_CkChara._25_1 == undefined && _体力チェック(-1, 50)) {
_CkChara._25_1 = true;
this._Re行動Set();
}
if (_CkChara._25_2 == undefined && _体力チェック(27, 50)) {
_CkChara._25_2 = true;
this._Re行動Set(4);
}
break;
case 26:
case 186:
let b両方アクセスCheck = true;
for (let i = 0; i <= DoCkCharaArr.length - 1; i++) {
if (DoCkCharaArr[i]._enemyId != 26 && DoCkCharaArr[i]._enemyId != 28) b両方アクセスCheck = false;
}
if (b両方アクセスCheck) {
if (_CkChara._26_1 == undefined && _体力チェック(-1, 75) && !$gameSwitches.value(SW_必殺技打った)) {
_CkChara._26_1 = true;
this._Re行動Set(5);
break;
}
if (_CkChara._26_2 == undefined && $gameSwitches.value(SW_必殺技準備)) {
_CkChara._26_2 = true;
this._Re行動Set();
break;
}
}
break;
case 27: //バニラ(通常)
if (_CkChara._OneFlg_1 == undefined && _体力チェック(-1, 50)) {
_CkChara._OneFlg_1 = true;
this._Re行動Set();
}
break;
case 28:
case 83:
let b両方アクセスCheck2 = true;
for (let i = 0; i <= DoCkCharaArr.length - 1; i++) {
if (DoCkCharaArr[i]._enemyId != 26 && DoCkCharaArr[i]._enemyId != 28) b両方アクセスCheck2 = false;
}
if (b両方アクセスCheck2) {
if (_CkChara._26_1 == undefined && _体力チェック(-1, 75) && !$gameSwitches.value(SW_必殺技打った)) {
_CkChara._26_1 = true;
this._Re行動Set(4);
break;
}
if (_CkChara._28_2 == undefined && $gameSwitches.value(SW_必殺技準備)) {
_CkChara._28_2 = true;
this._Re行動Set();
}
}
if (_CkChara._28_3 == undefined && $gameSwitches.value(SW_必殺技打った)) {
_CkChara._28_3 = true;
this._Re行動Set();
}
break;
case 65:
if (_CkChara._65_1 == undefined && _体力チェック(-1, 40)) {
_CkChara._65_1 = true;
this._Re行動Set();
}
let ck味方Cnt65 = _味方生存数();
if (ck味方Cnt65 <= 1 && _CkChara._UsePtnNo == 2) {
_CkChara._UsePtnNo = 3;
}
break;
case 192: //バニラ(通常)4章
if (_CkChara._OneFlg_1 == undefined && _体力チェック(-1, 75)) {
_CkChara._OneFlg_1 = true;
this._Re行動Set();
}
break;
case 185: //カジュア(通常)4章
if (_CkChara._25_2 == undefined && _体力チェック(82, 50)) {
_CkChara._25_2 = true;
this._Re行動Set(4);
}
if (_CkChara._25_1 == undefined && _体力チェック(-1, 70)) {
_CkChara._25_1 = true;
this._Re行動Set();
}
break;
case 182: //バニラ(中央エレベーター)
if (_CkChara._OneFlg_1 == undefined && _体力チェック(-1, 50)) {
_CkChara._OneFlg_1 = true;
this._Re行動Set();
}
break;
case 183: //バニラ::アクセス(中央エレベーター)
if (_CkChara._OneFlg_2 == undefined && _体力チェック(-1, 50)) {
_CkChara._OneFlg_2 = true;
this._Re行動Set();
}
break;
case 87:
if (_CkChara._OneFlg_1 == undefined && _体力チェック(-1, 75)) {
_CkChara._OneFlg_1 = true;
this._Re行動Set();
}
break;
}
}
let TurnCheckDo_Em = Game_Interpreter.prototype.SetEnemyNextAction;
Game_Interpreter.prototype.SetEnemyNextAction = function (ckENo, resetFlg) {
TurnCheckDo_Em.apply(this, arguments);
DoCkNo = ckENo;
switch (GetBtlChara_ENo(ckENo)._enemyId) {
case 13:
case 14:
if (_他味方キャラが倒れた()) this._行動Set(3);
break;
}
}
let GetMikataExActionNo = function () {
SetBtlMVVar_DoEnemyName_味方Flg = true;
let enemyId = NPlayer[_TnEmNo]._enemyId;
let exActionNos = [];
let SelectExAction = function () {
let rtnNo = exActionNos[Math.floor( Math.random() * exActionNos.length)];
return rtnNo;
}
switch (enemyId) {
case 101:
exActionNos.push(0);
exActionNos.push(1);
exActionNos.push(2);
return SelectExAction();
case 102:
exActionNos.push(0);
exActionNos.push(1);
exActionNos.push(2);
return SelectExAction();
case 103:
if (_ニップルドーム_UseCk()) return 3;
if (_胸揉み_UseCk()) exActionNos.push(2);
if (_尻揉み_UseCk()) exActionNos.push(1);
exActionNos.push(0);
exActionNos.push(4);
exActionNos.push(5);
exActionNos.push(6);
exActionNos.push(7);
exActionNos.push(8);
return SelectExAction();
}
}
Game_Interpreter.prototype.Atkモブ隊員 = function () {
var wpnName = $gameVariables.value(1012);
switch (wpnName) {
case "Gun":
this.SetSpineAnime(PN_CharacterPL + 1, "Atk_Gun", false);
break;
case "Sword":
this.SetSpineAnime(PN_CharacterPL + 1, "Atk_Sword", false);
break;
case "Rifle":
this.SetSpineAnime(PN_CharacterPL + 1, "Atk_Rifle", false);
break;
case "TacticalArm":
this.SetSpineAnime(PN_CharacterPL + 1, "Atk_TacticalArm", false);
break;
}
}
const VN_Em行動制御 = 156;
let GetEnemyExActionNo = function () {
SetBtlMVVar_DoEnemyName_味方Flg = false;
let emBefExActionNo = NEnemy[_TnEmNo].emBefExActionNo;
if (emBefExActionNo == undefined) {
NEnemy[_TnEmNo].emBefExActionNo = -1;
emBefExActionNo = NEnemy[_TnEmNo].emBefExActionNo;
}
let exActionNos = [];
let SelectExAction = function () {
if (exActionNos.length > 1) {
for (let i = 0; i < exActionNos.length; i++) {
if (exActionNos[i] == emBefExActionNo) {
exActionNos.splice(i , 1);
i--;
}
}
}
let rtnNo = exActionNos[Math.floor( Math.random() * exActionNos.length)];
NEnemy[_TnEmNo].emBefExActionNo = rtnNo;
return rtnNo;
}
let enemyId = NEnemy[_TnEmNo]._enemyId;
switch (enemyId) {
case 8:
if (_ニップルドーム_UseCk()) return 3;
if (_バインド_UseCk()) exActionNos.push(4);
if (_胸揉み_UseCk()) exActionNos.push(2);
if (_尻揉み_UseCk()) exActionNos.push(1);
return SelectExAction();
case 9:
if (_ニップルドーム_UseCk()) return 3;
if (_胸揉み_UseCk()) exActionNos.push(2);
if (_尻揉み_UseCk()) exActionNos.push(1);
return SelectExAction();
case 59:
if (_ひん剥き_UseCk() && BtlData.Turn <= 2) {
exActionNos.push(0);
} else {
// if (!_尻揉み_UseCk() && !_胸揉み_UseCk() && !_股間責め_UseCk()) {
// exActionNos.push(0); //予定のエロ行動がすべて取れない場合はひん剥き
if (_ひん剥き_UseCk()) exActionNos.push(0);
if (_尻揉み_UseCk()) exActionNos.push(1);
if (_胸揉み_UseCk()) exActionNos.push(2);
if (_股間責め_UseCk()) exActionNos.push(3);
return SelectExAction();
}
case 60:
case 189:
if (_ニップルドーム_UseCk()) return 4;
if (_ひん剥き_UseCk() && BtlData.Turn <= 2) {
exActionNos.push(0);
} else {
// if (!_尻揉み_UseCk() && !_胸揉み_UseCk() && !_股間責め_UseCk()) {
// exActionNos.push(0); //予定のエロ行動がすべて取れない場合はひん剥き
if (_ひん剥き_UseCk()) exActionNos.push(0);
if (_尻揉み_UseCk()) exActionNos.push(1);
if (_胸揉み_UseCk()) exActionNos.push(2);
if (_股間責め_UseCk()) exActionNos.push(3);
return SelectExAction();
}
return 0;
case 70:
case 71:
if (BtlData.Turn <= 5) return 0;
if (_尻揉み_UseCk()) exActionNos.push(0);
if (_胸揉み_UseCk()) exActionNos.push(1);
exActionNos.push(2);
return SelectExAction();
case 72:
if (_尻揉み_UseCk()) exActionNos.push(1);
if (_胸揉み_UseCk()) exActionNos.push(2);
if (_ニップルドーム_UseCk()) exActionNos.push(3);
return SelectExAction();
case 73:
if (_下着剥ぎ取り_UseCk()) exActionNos.push(2);
if (_ニップルドーム_UseCk()) exActionNos.push(1);
exActionNos.push(3);
return SelectExAction();
case 75:
case 76:
case 95:
case 96:
case 97:
case 98:
if ($gameSwitches.value(SW_MinzokuON) && _ひん剥き_UseCk()) {
return 0;
}
if (_ひん剥き_UseCk() && !$gameSwitches.value(SW_キャストオフ)
&& $gameVariables.value(VN_TL2DKigae) != -1) {
return 0;
} else {
if (_尻揉み_UseCk()) exActionNos.push(1);
if (_胸揉み_UseCk()) exActionNos.push(2);
exActionNos.push(3);
exActionNos.push(4);
exActionNos.push(5);
exActionNos.push(6);
exActionNos.push(7);
return SelectExAction();
}
break;
case 77:
if (_ひん剥き_UseCk() && Math.random() > 0.5) {
return 0;
} else {
exActionNos.push(1);
exActionNos.push(2);
exActionNos.push(3);
return SelectExAction();
}
break;
default:
return -1;
}
}
Game_Interpreter.prototype._この戦闘アクセス禁止 = function () {
if (DeckCard.indexOf(1) != -1) {
DeckCard.splice(DeckCard.indexOf(1), 1);
BtlDeck.splice(BtlDeck.indexOf(1), 1);
}
this.DelSprite(PN_AWBack);
this.DelSprite(PN_ACard);
}
Game_Interpreter.prototype._行動Set = function (_SetPtnNo) {
DoCkCharaArr[DoCkNo]._UsePtnNo = _SetPtnNo - 1;
}
Game_Interpreter.prototype._Re行動Set = function (_SetPtnNo) {
_SetPtnNo = typeof _SetPtnNo !== 'undefined' ? _SetPtnNo : -1;
if (_SetPtnNo != -1) {
MustSetActionNo = _SetPtnNo - 1;
}
this.SetEnemyNextAction(DoCkNo, true);
}
let _他味方キャラが倒れた = function () {
for (let i = 0; i <= DoCkCharaArr.length - 1; i++) {
if (i == DoCkNo) continue;
if (DoCkCharaArr[i]._hp <= 0) return true;
}
return false;
}
//味方の体力をチェックする。_CNoには敵キャラNoを入力(-1で自身) , _Varは(0~100)までを入力
let _体力チェック = function (_EmNo, _Var) {
let _CkMaxHP = 1;
let _CkNowHP = 1;
if (_EmNo == -1) {
_CkMaxHP = DoCkCharaArr[DoCkNo].mhp;
_CkNowHP = DoCkCharaArr[DoCkNo]._hp;
} else {
if (!DoEnemyFlg) return false;
for (let i = 0; i <= DoCkCharaArr.length - 1; i++) {
if (i == DoCkNo) continue;
if (DoCkCharaArr[i]._enemyId == _EmNo) {
_CkMaxHP = DoCkCharaArr[i].mhp;
_CkNowHP = DoCkCharaArr[i]._hp;
}
}
}
return ((_CkNowHP / _CkMaxHP) * 100 <= _Var);
}
let _味方生存数 = function () {
let _emCnt = 0;
for (let i = 0; i <= DoCkCharaArr.length - 1; i++) {
if (DoCkCharaArr[i]._hp > 0) _emCnt++;
}
return _emCnt;
}
let _BtlEm_Update = Game_Interpreter.prototype.BtlUpdate;
Game_Interpreter.prototype.BtlUpdate = function () {
_BtlEm_Update.call(this);
for (let i = 0; i <= NEnemy.length - 1; i++) {
DoCkNo = i;
DoCkCharaArr = NEnemy;
DoEnemyFlg = true;
this.EnemyActionCheckUpdate();
}
for (let i = 1; i <= NPlayer.length - 1; i++) {
DoCkNo = i;
DoCkCharaArr = NPlayer;
DoEnemyFlg = false;
this.EnemyActionCheckUpdate();
}
}