dead-end-colosseum/www/js/plugins/JsScript37Set.js
2026-01-21 08:31:03 -06:00

356 lines
15 KiB
JavaScript

let SkillPic = "pictures/Adv/L1_Skill/";
const PN_SkillWin = PN_Layer1 + 5;
const PN_SkillTxt = PN_SkillWin + 1;
const PN_SkillLTxt = PN_SkillTxt + 4;
const PN_SkillLGold = PN_SkillLTxt + 4;
const PN_SkillBtn = PN_SkillLGold + 1;
const PN_SkillName = PN_SkillBtn + 15;
const PN_SkillLv = PN_SkillName + 15;
const PN_skCkWin = PN_SkillLv + 15;
const PN_skCkTxt = PN_skCkWin + 1;
const SkillSpNo = 6;
let Skill保存 = Game_System.prototype.initialize;
Game_System.prototype.initialize = function () {
Skill保存.call(this);
this.SkillFZure = new Pos2D(0, 0);
this.SkillFuki = [];
}
let SkillFuki_ReSet = function () {
$gameSystem.SkillFuki = [];
}
let SkillFuki_Zure = function (_SetX, _SetY) {
_SetX = typeof _SetX !== 'undefined' ? _SetX : 0;
_SetY = typeof _SetY !== 'undefined' ? _SetY : 0;
$gameSystem.SkillFZure = new Pos2D(_SetX, _SetY);
}
let SkillFuki_Set = function (_Type, _Self1, _Self2, _吹形) {
_Self1 = typeof _Self1 !== 'undefined' ? _Self1 : "";
_Self2 = typeof _Self2 !== 'undefined' ? _Self2 : "";
_吹形 = typeof _吹形 !== 'undefined' ? _吹形 : 0;
$gameSystem.SkillFuki.push(new SFuki(_Type, _Self1, _Self2, _吹形));
}
Game_Interpreter.prototype.AllSkillReset = function () {
var actor = $gameActors.actor(1);
actor.skills().forEach(skill => {
actor.forgetSkill(skill.id);
});
$gameSystem.PL_SkillArr = [1 , 9 , 65 , 81 , 0 , 0, 0 , 0];
for (let i = 0; i <= $gameSystem.PL_SkillArr.length - 1; i++) {
$gameActors.actor(1).learnSkill($gameSystem.PL_SkillArr[i]);
}
}
let _ASkill_NoSelReset = false;
Game_Interpreter.prototype.Adv_L1SkillView_Reload = function () {
_ASkill_NoSelReset = true;
this.Adv_L1SkillView(true);
_ASkill_NoSelReset = false;
}
let skill_flame = 0;
let _skill_Layer = 0;
let _skill_SelX = 0;
let _skill_SelY = 0;
let _skill_TcPic = [];
Game_Interpreter.prototype.Adv_L1SkillView = function (_SetFlg) {
_SetFlg = typeof _SetFlg !== 'undefined' ? _SetFlg : false;
skill_flame = _skill_Layer = 0;
if (!_ASkill_NoSelReset) {
_skill_SelX = _skill_SelY = 0;
}
_shopFukiflame = 0;
_shopFukiVNo = 0;
_ShopFuki = $gameSystem.SkillFuki.slice();
_ShopFZure = $gameSystem.SkillFZure;
for (let i = 0; i <= $gameSystem.PL_SkillArr.length - 1; i++) {
$gameActors.actor(1).learnSkill($gameSystem.PL_SkillArr[i]);
}
_skill_TcPic = [];
D_Text_Cng_font = "Makinas";
let _BWPs = new Pos2D(588, 476);
for (let i = 0; i <= 3 - 1; i++) {
for (let j = 0; j <= 5 - 1; j++) {
let _skillNo = 1 + (i * (8 * 5)) + (8 * j);
let _LvNo = 0;
for (let k = 0; k <= 5 - 1; k++) {
if ($gameActors.actor(1).isLearnedSkill(_skillNo + k)) {
_LvNo = k + 1
}
}
let _ckLv = _LvNo - 1;
if (_ckLv < 0) _ckLv = 0;
let _CkSkill = $dataSkills[_skillNo + _ckLv];
let _ZureX = 274;
let _ZureY = 65;
let _opi = 255;
if (!_SetFlg) {
_opi = 0;
this.Shop_TypeSet(Ftype.初期);
}
this.SetPict(PN_SkillBtn + (i * 5) + j, BtlPic + "PN_bEmBltWin",
_BWPs._x + (_ZureX * i), _BWPs._y - (j * _ZureY), _opi);
_skill_TcPic.push(PN_SkillBtn + (i * 5) + j);
let PsvNo = MetaChecker(_CkSkill, "Psv", 0);
let _CostStr = "PN_Cost_";
if (PsvNo > 0) {
_CostStr = "PN_Cost_brank";
} else {
if (_CkSkill.mpCost > 0) {
_CostStr += "m" + _CkSkill.mpCost;
} else if (_CkSkill.tpCost > 0) {
_CostStr += "p" + _CkSkill.tpCost;
}
}
this.SetPict(PN_Cmp, BtlPic + _CostStr, 0, 0, 0);
this.CmpPict(PN_SkillBtn + (i * 5) + j, PN_Cmp, 177, 0);
this.MovePict(PN_SkillBtn + (i * 5) + j, true, true, 15);
this.SetPicStr(PN_SkillName + (i * 5) + j, "\\I[" + _CkSkill.iconIndex + "]" + _CkSkill.name,
22, _BWPs._x + 9 + (_ZureX * i), _BWPs._y + 11 - (j * _ZureY), _opi);
this.MovePict(PN_SkillName + (i * 5) + j, true, true, 15);
if (MetaChecker(_CkSkill, "MaxLv", false) != false) {
this.SetPict(PN_SkillLv + (i * 5) + j, SkillPic + "PN_ISkLv_5",
_BWPs._x + (_ZureX * i) + 161, _BWPs._y - (j * _ZureY) + 35, _opi);
} else {
this.SetPict(PN_SkillLv + (i * 5) + j, SkillPic + "PN_ISkLv_" + _LvNo,
_BWPs._x + (_ZureX * i) + 161, _BWPs._y - (j * _ZureY) + 35, _opi);
}
this.MovePict(PN_SkillLv + (i * 5) + j, true, true, 15);
if (_LvNo <= 4) {
let _CkCost = MetaChecker(_CkSkill, "Cost", 0);
_CkCost = Math.floor(_CkCost * ((100 - $gameVariables.value(VN_スキル割引)) / 100))
if ($gameParty._gold < _CkCost) {
this.MovePict(PN_SkillBtn + (i * 5) + j, true, true, 15, 150);
this.MovePict(PN_SkillName + (i * 5) + j, true, true, 15, 150);
this.MovePict(PN_SkillLv + (i * 5) + j, true, true, 15, 150);
}
}
}
}
D_Text_Cng_font = "";
this.Adv_L1Skill_DrawTxt();
this.MovePict(PN_AdvSell, _BWPs._x - 15 + (274 * _skill_SelX), _BWPs._y + 26 - (65 * _skill_SelY), 5);
this.Adv_SpGold();
}
Game_Interpreter.prototype.Adv_L1Skill_DrawTxt = function () {
this.DelPictSpan(PN_SkillTxt, PN_SkillLGold);
D_Text_Cng_font = "Makinas";
let _skillNo = 1 + (_skill_SelX * (8 * 5)) + (8 * _skill_SelY);
let _LvNo = -1;
for (let k = 0; k <= 5 - 1; k++) {
if ($gameActors.actor(1).isLearnedSkill(_skillNo + k)) {
_LvNo = k;
}
}
let _TPs = new Pos2D(591, 622);
if (_LvNo == -1) {
this.SetPicStr(PN_SkillTxt + 0, "- Not Learned -", 25, _TPs._x, _TPs._y, 200);
} else {
let _CkSkill = $dataSkills[_skillNo + _LvNo];
let _SetTxt1 = "\\I[" + _CkSkill.iconIndex + "] " + _CkSkill.name;
this.SetPicStr(PN_SkillTxt + 0, _SetTxt1, 22, _TPs._x, _TPs._y, 255);
let _CkDescArr = _Skill_SetuGetArr(_skillNo + _LvNo);
for (let i = 0; i <= _CkDescArr.length - 1; i++) {
this.SetPicStr(PN_SkillTxt + 1 + i, _CkDescArr[i], 16, _TPs._x + 20, _TPs._y + 46 + (i * 40), 255);
}
if (MetaChecker(_CkSkill, "MaxLv", false) != false) {
this.SetPict(PN_SkillTxt + 3, SkillPic + "PN_ISkLv_5", _TPs._x + 300, _TPs._y);
D_Text_Cng_font = "";
return;
}
this.SetPict(PN_SkillTxt + 3, SkillPic + "PN_ISkLv_" + (_LvNo + 1), _TPs._x + 300, _TPs._y);
}
if (_LvNo < 4) {
_CkSkill = $dataSkills[_skillNo + _LvNo + 1];
_TPs = new Pos2D(591 + 431, 622);
let _SetTxt1 = "\\I[" + _CkSkill.iconIndex + "] " + _CkSkill.name;
this.SetPicStr(PN_SkillLTxt + 0, _SetTxt1, 22, _TPs._x, _TPs._y, 255);
let _CkDescArr = _Skill_SetuGetArr(_skillNo + _LvNo + 1);
for (let i = 0; i <= _CkDescArr.length - 1; i++) {
this.SetPicStr(PN_SkillLTxt + 1 + i, _CkDescArr[i], 16, _TPs._x + 20, _TPs._y + 46 + (i * 40), 255);
}
this.SetPict(PN_SkillLTxt + 3, SkillPic + "PN_ISkLv_" + (_LvNo + 2), _TPs._x + 300, _TPs._y);
_LearnSkillCost = MetaChecker(_CkSkill, "Cost", 0);
_LearnSkillCost = Math.floor(_LearnSkillCost * ((100 - $gameVariables.value(VN_スキル割引)) / 100))
this.SetPicStrC(PN_SkillLGold, _LearnSkillCost + "B ", 25, 992, 777);
}
D_Text_Cng_font = "";
}
let _Skill_SetuGetArr = function (_SkillNo) {
let _CkSkill = $dataSkills[_SkillNo];
let _CkDescArr = _CkSkill.description.split(/\n/);
try {
let _calc = Math.floor(eval(_CkSkill.damage.formula));
let _hit = _CkSkill.speed;
for (let i = 0; i <= _CkDescArr.length - 1; i++) {
_CkDescArr[i] = _CkDescArr[i].replace("calc", _calc);
_CkDescArr[i] = _CkDescArr[i].replace("hit", _hit);
}
} catch (e) {
}
return _CkDescArr;
}
Game_Interpreter.prototype.Adv_L1SkillUpdate = function (_ReFlg) {
_ReFlg = typeof _ReFlg !== 'undefined' ? _ReFlg : false;
if (_ShopStopFlg) {
this.Shop_FukiDel();
return;
}
if (_ShopEnd_flame > 0) {
_ShopEnd_flame--;
if (_ShopEnd_flame == 0) {
this.Adv_L0_Back();
}
return;
}
let _mvFlg = false;
let _okFlg = false;
let _BWPs = new Pos2D(588, 476);
switch (_skill_Layer) {
case 0:
if (_ReFlg) _mvFlg = true;
if (Input.isTriggered('up')) {
_skill_SelY++;
_mvFlg = true;
}
if (Input.isTriggered('down')) {
_skill_SelY--;
_mvFlg = true;
}
if (Input.isTriggered('left')) {
_skill_SelX--;
_mvFlg = true;
}
if (Input.isTriggered('right')) {
_skill_SelX++;
_mvFlg = true;
}
if (_skill_SelX < 0) _skill_SelX = 2;
if (_skill_SelX >= 3) _skill_SelX = 0;
if (_skill_SelY < 0) _skill_SelY = 4;
if (_skill_SelY >= 5) _skill_SelY = 0;
let _CNo = overPointerCkArr(_skill_TcPic);
if (_CNo != -1) {
let _PicNo = _CNo - PN_SkillBtn;
let _setSklX = Math.floor(_PicNo / 5);
let _setSklY = _PicNo % 5;
if (_skill_SelX != _setSklX || _skill_SelY != _setSklY) {
_skill_SelX = _setSklX;
_skill_SelY = _setSklY;
_mvFlg = true;
}
if (TouchInput.isTriggered()) _okFlg = true;
}
if (!_ReFlg) {
if (Input.isTriggered('ok')) _okFlg = true;
}
if (_mvFlg) {
SoundManager.playCursor();
this.MovePict(PN_AdvSell, _BWPs._x - 15 + (274 * _skill_SelX), _BWPs._y + 26 - (65 * _skill_SelY), 5);
this.Adv_L1Skill_DrawTxt();
}
if (skill_flame > 5) {
if (_okFlg) {
SoundManager.playOk();
this.Shop_TypeSet(Ftype.確認);
let _skillNo = 1 + (_skill_SelX * (8 * 5)) + (8 * _skill_SelY);
let _LvNo = 0;
for (let k = 0; k <= 5 - 1; k++) {
if ($gameActors.actor(1).isLearnedSkill(_skillNo + k)) {
_LvNo = k + 1
let _CkSkill = $dataSkills[_skillNo + k];
if (MetaChecker(_CkSkill, "MaxLv", false) != false) {
_LvNo = 5;
}
}
}
if (_LvNo >= 5) {
this.Shop_TypeSet(Ftype.最大);
} else if ($gameParty._gold < _LearnSkillCost) {
this.Shop_TypeSet(Ftype.不足);
} else {
_LearnSkillNo = _skillNo + _LvNo;
this.Adv_L1Skill_YNView();
}
}
if (Input.isTriggered('escape') || TouchInput.isCancelled()) {
SoundManager.playCancel();
this.DelPictSpan(PN_IFuki, PN_IFukiTxt + 1);
_ShopEnd_flame = 5;
_ShopStopFlg = true;
this.JN_EventLoad("スキル_退店", true);
}
}
break;
case 1:
this.Adv_L1SkillYNUpdate();
break;
}
this.Shop_FukiUpdate();
skill_flame++;
}
const VN_習得スキルNo = 25;
let _sZureX = 34;
let _sZureY = -16;
let _LearnSkillNo = 0;
let _LearnSkillCost = 0;
Game_Interpreter.prototype.Adv_L1Skill_YNView = function () {
_skill_Layer = 1;
_sYNSel = 0;
習得スキルNo = _LearnSkillNo;
_CkSkill = $dataSkills[習得スキルNo];
$gameVariables.setValue(VN_習得スキルNo, 習得スキルNo);
let _SetTxt1 = "\\I[" + _CkSkill.iconIndex + "] " + _CkSkill.name;
D_Text_Cng_font = "Makinas";
this.SetPictFIn(PN_skCkWin, SkillPic + "PN_skCkWin", 0, 0, 0, 0, 10);
this.SetPicStrC(PN_skCkTxt + 0, "Learn " + _SetTxt1 + "?", 25, 909 + 80, 348, 0);
this.SetPicStrC(PN_skCkTxt + 1, "Price: " + _LearnSkillCost + "B ", 25, 909 + 80, 348 + 30, 0);
this.MovePict(PN_skCkTxt + 0, true, true, 10);
this.MovePict(PN_skCkTxt + 1, true, true, 10);
D_Text_Cng_font = "";
this.MovePict(PN_AdvSell, 596 + _sYNSel * 163, 401 + 28, 5);
}
let 習得スキルNo = -1;
let CN_スキル習得 = 22;
Game_Interpreter.prototype.Adv_L1SkillYNUpdate = function () {
let _mvFlg = false;
if (Input.isTriggered('ok') || TouchInput.isTriggered()) {
SoundManager.playOk();
if (_sYNSel == 1) {
_skill_Layer = skill_flame = 0;
this.DelPictSpan(PN_skCkWin, PN_skCkTxt + 1);
this.Adv_L1SkillUpdate(true);
return;
}
_skill_Layer = skill_flame = 0;
$gameParty.loseGold(_LearnSkillCost);
$gameActors.actor(1).learnSkill(_LearnSkillNo);
_CkSkill = $dataSkills[_LearnSkillNo];
if (_CkSkill.name.indexOf("Lv1") == -1) {
for (let i = 0; i <= $gameSystem.PL_SkillArr.length - 1; i++) {
if ($gameSystem.PL_SkillArr[i] == _LearnSkillNo -1)
$gameSystem.PL_SkillArr[i] = _LearnSkillNo;
}
}
let PsvNo = MetaChecker(_CkSkill, "Psv", 0);
if (PsvNo > 0) {
$gameParty.gainItem($dataArmors[PsvNo], 1, true)
let _CkPowUp = MetaChecker($dataArmors[PsvNo], "PowUp", false)
if (_CkPowUp != false) {
$gameParty.gainItem($dataArmors[PsvNo - 1], -1000, true);
}
}
this.SetCmnEventSc(CN_スキル習得);
this.DelPictSpan(PN_skCkWin, PN_skCkTxt + 1);
this.Adv_L1SkillUpdate(true);
this.Shop_TypeSet(Ftype.購入);
_ShopStopFlg = true;
this.JN_EventLoad("スキル_購入", true);
}
if (Input.isTriggered('escape') || TouchInput.isCancelled()) {
SoundManager.playCancel();
_skill_Layer = skill_flame = 0;
this.DelPictSpan(PN_skCkWin, PN_skCkTxt + 1);
this.Adv_L1SkillUpdate(true);
if (!_ShopStopFlg) {
this.Shop_TypeSet(Ftype.定期);
}
}
}