dead-end-colosseum/www/js/plugins/JsScript55Set.js
2026-01-17 11:28:46 -06:00

294 lines
11 KiB
JavaScript

const SlvPicPath = "pictures/SlaveSelect/";
const PN_SlvBase = 181;
const PN_SlvBaseTop = PN_SlvBase + 1;
const PN_SlvBackBtn = PN_SlvBaseTop + 1;
const PN_SlvBtn = PN_SlvBackBtn + 1;
const PN_SlvSelect = PN_SlvBtn + 8;
const PN_SlvDtlBase = PN_SlvSelect + 2;
const PN_SlvDtlSelect = PN_SlvDtlBase + 1;
const PN_SlvDtlBtn = PN_SlvDtlSelect + 1;
const PN_SlvDtlBar = PN_SlvDtlBtn + 1;
const PN_SlvDtlTopTxt = PN_SlvDtlBar + 1;
const CN_Slave選択 = 351;
const VN_Slave性経験 = 351;
const VN_Slave選択No = 352;
let SlaveSelectManager;
var Slaveメイン選択Phase;
var Slave詳細選択Phase;
let slaveSaveBgm = null;
Game_Interpreter.prototype.SlaveSelect_Start = function () {
var slaveBackPicLoad = [
"pictures/SlaveSelect/PN_SlvBase0","pictures/SlaveSelect/PN_SlvBase1","pictures/SlaveSelect/PN_SlvBase2","pictures/SlaveSelect/PN_SlvBase3",
"pictures/SlaveSelect/PN_SlvBase4","pictures/SlaveSelect/PN_SlvBase5","pictures/SlaveSelect/PN_SlvBase6","pictures/SlaveSelect/PN_SlvBase7"
];
this.PreLoadArr(slaveBackPicLoad);
SlaveSelectManager = new PhaseManager(this);
Slaveメイン選択Phase = new SlaveMainSelectPhase();
Slave詳細選択Phase = new SlaveDetailSelectPhase();
slaveSaveBgm = AudioManager.saveBgm();
AudioManager.fadeOutBgm(0.5);
SlaveSelect_UpdateFrame = 0;
}
let SlaveSelect_UpdateFrame = 0;
let SlaveSelect_UpdateEndFrame = 0;
Game_Interpreter.prototype.SlaveSelect_Update = function () {
if (SlaveSelect_UpdateEndFrame > 0) {
SlaveSelect_UpdateEndFrame--;
if (SlaveSelect_UpdateEndFrame == 0) {
this.SlaveSelect_End();
}
return;
}
if (SlaveSelect_UpdateFrame < 30) {
if (SlaveSelect_UpdateFrame == 0) {
this.SetPictFIn(PN_Ensyutu , "Black" , 0 , 0 , 0 , 0 , 30);
}
if (SlaveSelect_UpdateFrame == 29) {
this.MovePict(PN_Ensyutu , 0 , 0 , 30 , 0);
this.SetPict( PN_SlvBase , SlvPicPath + "PN_SlvBase0" , 0 , 0);
this.SetPict( PN_SlvBaseTop , SlvPicPath + "PN_SlvBaseTop" , 0 , 0);
SlaveSelectManager.CngPhase(Slaveメイン選択Phase);
}
SlaveSelect_UpdateFrame++;
return;
}
if (SlaveSelectManager == null) return;
SlaveSelectManager.Update();
}
Game_Interpreter.prototype.SlaveSelect_EndStart = function () {
SlaveSelect_UpdateEndFrame = 30;
this.SetPictFIn(PN_Ensyutu , "Black" , 0 , 0 , 0 , 0 , 30);
}
Game_Interpreter.prototype.SlaveSelect_End = function () {
this.DelPictSpan(PN_SlvBase , PN_SlvSelect);
TitleSlaveMode = false;
AudioManager.replayBgm(slaveSaveBgm);
slaveSaveBgm = null;
this.MovePict(PN_Ensyutu , 0 , 0 , 30 , 0);
}
Game_Interpreter.prototype.SlaveMode開放 = function (no) {
SaveVNArrNos(VN_Slave開放Nos , no + 1);
this.UTA_Save();
}
Game_Interpreter.prototype.SlaveMode全開放 = function () {
for (let i = 0; i < 7; i++) {
SaveVNArrNos(VN_Slave開放Nos , i + 1);
}
this.UTA_Save();
}
Game_Interpreter.prototype.SlaveMode開始 = function () {
SlaveSelectManager = null;
this.Title画像を全て消す();
this.DelPictSpan(PN_SlvBase , PN_SlvDtlTopTxt);
}
Game_Interpreter.prototype.IsSlaveMode = function () {
var ckStr = $gameVariables.value(VN_Slave開放Nos);
if (ckStr == 0) ckStr = "";
var strArr = ckStr.split(',');
if (ckStr == "") strArr = [];
return strArr.length > 0;
}
class SlaveMainSelectPhase extends PhaseBase {
constructor() {
super();
this.selectNo = 0;
this.selectOkNos = [];
this.selectNoMax = 8;
this.picArr = [];
}
Enter(gi) {
this.DrawSelect(gi);
var getArr = GetVNArrNos(VN_Slave開放Nos);
for (let i = 0; i < getArr.length; i++) {
this.selectOkNos.push(Number(getArr[i]) - 1);
}
}
Update(gi) {
let mvFlg = false;
if (Input.isTriggered('up')) {
this.selectNo--;
while (this.selectOkNos.indexOf(this.selectNo) == -1) {
if (this.selectNo <= -1) break;
this.selectNo--;
}
mvFlg = true;
}
if (Input.isTriggered('down')) {
this.selectNo++;
while (this.selectOkNos.indexOf(this.selectNo) == -1) {
if (this.selectNo >= this.selectNoMax) break;
this.selectNo++;
}
mvFlg = true;
}
if (Input.isTriggered('left')) {
this.selectNo = this.selectNoMax;
mvFlg = true;
}
if (Input.isTriggered('right')) {
this.selectNo++;
while (this.selectOkNos.indexOf(this.selectNo) == -1) {
if (this.selectNo >= this.selectNoMax) break;
this.selectNo++;
}
mvFlg = true;
}
var OkFlg = false;
var CNo = overPointerCkArr(this.picArr);
if (CNo != -1) {
CNo -= PN_SlvBtn;
if (CNo != this.selectNo) {
this.selectNo = CNo;
if (this.selectNo != this.selectNoMax)
gi.SetPict( PN_SlvBase , SlvPicPath + "PN_SlvBase" + this.selectNo , 0 , 0);
mvFlg = true;
}
if (TouchInput.isTriggered()) OkFlg = true;
}
let EndFlg = false;
if (overPointerCk(PN_SlvBackBtn)) {
if (this.selectNo != this.selectNoMax) {
this.selectNo = this.selectNoMax;
mvFlg = true;
}
if (TouchInput.isTriggered()) EndFlg = true;
}
if (Input.isTriggered('ok')) OkFlg = true;
if (Input.isTriggered('menu') || TouchInput.isCancelled() || EndFlg) {
SoundManager.playCancel();
gi.SlaveSelect_EndStart();
return;
}
if (OkFlg) {
if (this.selectNo == this.selectNoMax) {
SoundManager.playCancel();
gi.SlaveSelect_EndStart();
return;
} else {
SoundManager.playOk();
var setParam = new SlaveDetailSelectPhaseParam();
setParam.selectNo = this.selectNo;
Slave詳細選択Phase.SetParam(setParam);
SlaveSelectManager.CngPhase(Slave詳細選択Phase);
}
}
if (this.selectNo < 0) this.selectNo = this.selectNoMax;
if (this.selectNo > this.selectNoMax) this.selectNo = 0;
if (mvFlg) {
SoundManager.playCursor();
this.DrawSelect(gi);
}
}
Exit(gi) {
}
DrawSelect(gi) {
this.picArr = [];
var notSelectAlpha = 0.85;
var setAlpha = 255 * notSelectAlpha;
var getArr = GetVNArrNos(VN_Slave開放Nos);
for (let i = 0; i < 8; i++) {
setAlpha = 255 * notSelectAlpha;
if (this.selectNo == i) setAlpha = 255;
if (getArr.indexOf(String(i + 1)) != -1) {
gi.SetPict(PN_SlvBtn + i , SlvPicPath + "PN_SlvBtn" + i , 97 + i * 53 , 100 + i * 86 , setAlpha);
this.picArr.push(PN_SlvBtn + i);
}
}
setAlpha = 255 * 0.45;
if (this.selectNo == this.selectNoMax) {
setAlpha = 255;
gi.DelPict(PN_SlvSelect);
} else {
gi.SetPict(PN_SlvSelect , SlvPicPath + "PN_SlvSelect" , 97 + this.selectNo * 53 - 6 , 100 + this.selectNo * 86 - 6);
}
gi.SetPict(PN_SlvBackBtn , SlvPicPath + "PN_SlvBackBtn" , 0 , 711 , setAlpha);
}
}
class SlaveDetailSelectPhase extends PhaseBase {
constructor() {
super();
this.select性経験 = 0; this.befSelect性経験 = 0;
this.select性経験Max = 3;
this.btnSelect = true; this.befBtnSelect = false;
this.btnPushFlg = false;
}
Enter(gi) {
gi.SetPict(PN_SlvDtlBase , SlvPicPath + "PN_SlvDtlBase" , 0 , 0);
//gi.SetPict(PN_SlvDtlTopTxt , SlvPicPath + "PN_SlvDtlTopTxt" , 0 , 0);
gi.SetPict(PN_SlvDtlBar , SlvPicPath + "PN_SlvBtn" + this.param.selectNo , 317 , 240);
$gameVariables.setValue(VN_Slave選択No ,this.param.selectNo);
this.btnSelect = true;
this.btnPushFlg = false;
}
Update(gi) {
//gi.SetPict(PN_SlvDtlSelect , SlvPicPath + "PN_SlvDtlSelect" , 505 + 124 * this.select性経験 , 350);
let mvFlg = false;
if (Input.isTriggered('up')) {
}
if (Input.isTriggered('down')) {
}
if (Input.isTriggered('left')) {
// if (!this.btnSelect) {
// if (this.select性経験 < 0) this.select性経験 = 0;
}
if (Input.isTriggered('right')) {
// if (!this.btnSelect) {
// if (this.select性経験 > this.select性経験Max) this.select性経験 = this.select性経験Max;
}
if (this.befSelect性経験 != this.select性経験) {
SoundManager.playCursor();
this.befSelect性経験 = this.select性経験;
}
var OkFlg = false;
let _cbmArr = [];
for (let i = 0; i < 4; i++) _cbmArr.push([505 + 124 * i , 350 , 109 , 69]);
let CNo = overPicClickable(PN_SlvDtlTopTxt , _cbmArr);
if (CNo != -1) {
this.btnSelect = false;
if (CNo != this.select性経験) {
SoundManager.playCursor();
this.select性経験 = CNo;
}
}
gi.SetPict(PN_SlvDtlBtn , SlvPicPath + "PN_SlvDtlBtn" , 588 , 419 , setAlpha);
gi.PicCngColor(PN_SlvDtlBtn);
if (overPointerCk(PN_SlvDtlBtn)) {
this.btnSelect = true;
gi.PicCngColor(PN_SlvDtlBtn , [50,50,50,0]);
if (TouchInput.isTriggered()) OkFlg = true;
}
if (this.befBtnSelect != this.btnSelect) {
this.befBtnSelect = this.btnSelect;
SoundManager.playCursor();
}
if (Input.isTriggered('menu') || TouchInput.isCancelled()) {
SoundManager.playCancel();
SlaveSelectManager.CngPhase(Slaveメイン選択Phase);
return;
}
if (this.btnSelect && Input.isTriggered('ok')) OkFlg = true;
if (OkFlg && !this.btnPushFlg) {
this.btnPushFlg = true;
gi.PlaySe("Title_Gun");
TitleFlg = false;
$gameVariables.setValue(VN_屈服度上昇率 ,100);
$gameVariables.setValue(VN_開発度上昇率 ,100);
$gameVariables.setValue(VN_Slave性経験 , this.select性経験);
gi.SetCmnEventSc(CN_Slave選択);
}
var setAlpha = 255 * 0.65;
if (this.btnSelect) {
setAlpha = 255;
} else {
gi.PicCngColor(PN_SlvDtlSelect , [0 , -255 , 0]);
}
}
Exit(gi) {
gi.DelPictSpan(PN_SlvDtlBase , PN_SlvDtlTopTxt);
}
}
class SlaveDetailSelectPhaseParam {
constructor() {
this.selectNo = 0;
}
}