状态栏的亲密度、神之血和黑白钥匙只有当出现时才会解锁。

This commit is contained in:
bdf1 2024-09-06 15:02:30 +08:00
parent 480eaaf02a
commit 7eaba69a5b
8 changed files with 114 additions and 32 deletions

View File

@ -1072,7 +1072,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
"startText": [
{
"type": "function",
"function": "function(){\nflags._statusgry_ = 0;\nflags._statusbrg_ = 0.6;\ncore.createSpr0();\ncore.createSprBack();\nflags.version = 2;\n}"
"function": "function(){\nflags._statusgry_ = 0;\nflags._statusbrg_ = 0.6;\ncore.createSpr0();\ncore.createSprBack();\nflags.version = 3;\n}"
},
{
"type": "comment",

View File

@ -50,6 +50,42 @@ var events_c12a15a8_c380_4b28_8144_256cba95f760 =
"type": "function",
"function": "function(){\nif (core.hasEquip('I409')) { core.status.hero.mana += 1 }\nif (core.hasEquip('I410')) { core.status.hero.mana += 3 }\nif (core.hasEquip('I411')) { core.status.hero.mana += 5 }\nif (core.hasEquip('I412')) { core.status.hero.mana += 7 }\nif (core.hasEquip('I413')) { core.status.hero.mana += 9 }\nif (core.hasEquip('I595')) { core.status.hero.mana += 100 }\nif (core.hasEquip('I1115')) { core.status.hero.mana += 10 }\nif (core.hasEquip('I1116')) { core.status.hero.mana += 10 }\nif (core.hasItem('I722')) { core.status.hero.mana += Math.min(50, Math.sqrt((core.getEnemyInfo('', null, x, y).hp || 0) / 500)) }\nif (core.hasEquip('I723')) { core.status.hero.hp += core.status.hero.hpmax / 200 }\nif (core.hasItem('I421')) { core.status.hero.mana += Math.min(10000, (core.getEnemyInfo('', null, x, y).hp || 0) / 5000) }\nif (core.hasItem('I421')) { core.status.hero.hp += core.status.hero.hpmax / 100 }\n\nif (core.hasItem('coin')) core.status.hero.money += 12;\nflags.lhjnb = (flags.lhjnb || 0) + (core.getEnemyInfo('', null, x, y).money || 0)\n}"
}
],
"亲密度解锁": [
{
"type": "if",
"condition": "!flag:qmd",
"true": [
{
"type": "setValue",
"name": "flag:qmd",
"value": "true"
},
{
"type": "function",
"function": "function(){\ncore.AllSprites()\n}"
},
"现在亲密度已经被解锁了。状态栏将增加显示亲密度,从左到右将显示圣骑士、光明准圣子、光明圣女的亲密度。"
]
}
],
"神之血解锁": [
{
"type": "if",
"condition": "(!flag:szx)",
"true": [
{
"type": "setValue",
"name": "flag:szx",
"value": "true"
},
{
"type": "function",
"function": "function(){\ncore.AllSprites()\n}"
},
"现在神之血已经被解锁了。\n神之血和琼浆玉露都是按照最大生命值的一定比例回血。\n状态栏将增加显示神之血和琼浆玉露。"
]
}
]
}
}

View File

@ -148,6 +148,17 @@ main.floors.BH1=
"operator": "-=",
"value": "1"
},
{
"type": "if",
"condition": "!flag:qmd",
"true": [
"圣骑士亲密度减少了1。",
{
"type": "insert",
"name": "亲密度解锁"
}
]
},
{
"type": "setBlock",
"number": "N467",

View File

@ -111,6 +111,10 @@ main.floors.SN10=
}
]
},
{
"type": "insert",
"name": "亲密度解锁"
},
"\t[莫析辉,hero]\b[hero]好。多谢圣女姐姐。",
"\t[罗涛,N582]\b[this,7,8]圣子殿下,教皇陛下说,要你有空去骑士团看看,了解了解光明神殿的架构。",
"\t[莫析辉,hero]\b[hero]嗯,我知道了,那就去看看吧!",

View File

@ -63,7 +63,12 @@ main.floors.SR15=
"type": "openShop",
"id": "shop4",
"open": true
}
},
{
"type": "function",
"function": "function(){\ncore.AllSprites()\n}"
},
"解锁了黑白钥匙,状态栏将增加显示白钥匙和黑钥匙。"
]
},
"changeFloor": {

View File

@ -502,7 +502,8 @@ main.floors.XW1=
]
],
"floorId": "SR10"
}
},
"本层开始会有部分怪会有“黑暗”标记,黑暗标记表示这个怪和黑暗圣子融合后可以直接变成宝石,不再战斗。"
],
"eachArrive": [],
"parallelDo": "",

View File

@ -508,6 +508,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
core.playSound('宝石')
else
core.playSound('获得道具');
if (['I710', 'I711', 'I712', 'I713', 'I714'].includes(itemId) && !flags.szx) core.insertCommonEvent('神之血解锁');
if (core.material.items[itemId].cls == 'equips' || itemId == 'I715' || itemId == 'I421') core.plugin.calcEquip();
var todo = [];
// 检查该点的获得道具后事件。
@ -1259,11 +1260,13 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
core.setFlag('__fromLoad__', true);
// TODO增加自己的一些读档处理
if (flags.version != 2) {
if (flags.version != 3) {
flags._statusbrg_ = 0.6
flags.version = 2
flags.version = 3
core.createSpr0()
if (flags.hard == 1) core.addBuff('atk', 0.1), core.addBuff('def', 0.1), core.addBuff('mdef', 0.1)
if (flags.hard == 1) core.addBuff('atk', 0.1), core.addBuff('def', 0.1), core.addBuff('mdef', 0.1), core.getItem('coin')
if (flags.shengqishi || flags.heianshengzi || flags.guangmingshengnv || flags.zhunshengzi) core.insertCommonEvent('亲密度解锁')
core.insertCommonEvent('神之血解锁')
}
// 切换到对应的楼层
core.changeFloor(data.floorId, null, data.hero.loc, 0, function () {

View File

@ -3032,6 +3032,8 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
core.drawImage(ctx, 'backg.png', 0, 0, 448, 448, 172, 64, 448, 448);
}
else
core.drawImage(ctx, 'backw.png', 180, 160, 752, 448, 0, 0, 752, 448);
//按钮
@ -3124,7 +3126,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
//状态
var heroStatus = ['atk', 'mdef', 'key1']
var Scol = [140, 280, 180]
var heroStatus2 = ['def', 'mana', 'key2']
var heroStatus2 = ['def', 'mana', core.isShopVisited('shop4') ? 'key2' : null]
var Scol2 = [0, 20, 180, 0]
if (core.domStyle.isVertical) {
for (var i in heroStatus2)
@ -3142,6 +3144,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
}
//魔力
if (core.domStyle.isVertical) {
if (flags.qmd)
core.mystatusbox(ctx, 'mana', null, 48 + 128, 16, 20 + (flags.heianshengzi ? 120 : 0));
core.setAlpha(ctx, 0.4)
core.drawImage(ctx, 'manaLt.png', 0, 0, 128 * hero.mana / hero.manamax, 32, 60 - 16 + 4 + 152 + 422, 142, 128 * hero.mana / hero.manamax, 32)
@ -3149,11 +3152,14 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
core.drawImage(ctx, 'manaLt.png', 0, 0, 128 * (hero.mana - (flags.skillmana || 0)) / hero.manamax, 32, 60 - 16 + 4 + 152 + 422, 142, 128 * (hero.mana - (flags.skillmana || 0)) / hero.manamax, 32)
core.drawImage(ctx, 'manaL.png', 0, 0, 128, 32, 60 - 16 + 4 + 152 + 422, 142, 128, 32)
//钥匙/金币
if (flags.szx)
core.mystatusbox(ctx, 'potion', null, 48 + 256, 16, 180);
if (flags.szx)
core.mystatusbox(ctx, 'potion', null, 48 + 22 + 256, 16 + 22, 300);
core.mystatusbox(ctx, 'money', null, 48 + 22 + 128, 16 + 22, 180);
}
else {
if (flags.qmd)
core.mystatusbox(ctx, 'mana', null, 80 + 152 + 422, 122, 20 + (flags.heianshengzi ? 120 : 0));
core.setAlpha(ctx, 0.4)
core.drawImage(ctx, 'manaLt.png', 0, 0, 128 * hero.mana / hero.manamax, 32, 60 - 16 + 4 + 152 + 422, 142, 128 * hero.mana / hero.manamax, 32)
@ -3161,9 +3167,13 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
core.drawImage(ctx, 'manaLt.png', 0, 0, 128 * (hero.mana - (flags.skillmana || 0)) / hero.manamax, 32, 60 - 16 + 4 + 152 + 422, 142, 128 * (hero.mana - (flags.skillmana || 0)) / hero.manamax, 32)
core.drawImage(ctx, 'manaL.png', 0, 0, 128, 32, 60 - 16 + 4 + 152 + 422, 142, 128, 32)
//钥匙/金币
if (flags.szx)
core.mystatusbox(ctx, 'potion', null, 80 + 152 + 422, 60 * 4, 180);
if (flags.szx)
core.mystatusbox(ctx, 'potion', null, 80 + 22 + 152 + 422, 22 + 60 * 4, 300);
core.mystatusbox(ctx, 'money', null, 80 + 152 + 422, 60 * 5, 180);
// 难度
core.drawTextContent(ctx, core.status.hard || "", { left: 45 + 152 + 422, top: 60 * 5.5, fontSize: 30, bold: true, color: "white" });
}
core.setFilter(ctx, 'hue-rotate(' + (0) + 'deg)')
@ -3304,7 +3314,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
//状态
var heroStatus = ['atk', 'mdef', 'key1']
var Scol = [140, 280, 180]
var heroStatus2 = ['def', 'mana', 'key2']
var heroStatus2 = ['def', 'mana', core.isShopVisited('shop4') ? 'key2' : null]
var Scol2 = [0, 20, 180, 0]
if (core.domStyle.isVertical) {
for (var i in heroStatus2)
@ -3322,30 +3332,38 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
}
//魔力
if (core.domStyle.isVertical) {
if (flags.qmd) {
core.mystatusNumber(ctx, 'shengqishi', null, 48 + 128, 16, 120);
core.mystatusNumber(ctx, 'zhunshengzi', null, 48 + 128 + 20, 16, 0);
core.mystatusNumber(ctx, 'guangmingshengnv', null, 48 + 128 + 50, 16, 300);
}
core.setAlpha(ctx, 0.4)
core.drawImage(ctx, 'manaLt.png', 0, 0, 128 * hero.mana / hero.manamax, 32, 60 - 16 + 4 + 152 + 422, 142, 128 * hero.mana / hero.manamax, 32)
core.setAlpha(ctx, 1)
core.drawImage(ctx, 'manaLt.png', 0, 0, 128 * (hero.mana - (flags.skillmana || 0)) / hero.manamax, 32, 60 - 16 + 4 + 152 + 422, 142, 128 * (hero.mana - (flags.skillmana || 0)) / hero.manamax, 32)
core.drawImage(ctx, 'manaL.png', 0, 0, 128, 32, 60 - 16 + 4 + 152 + 422, 142, 128, 32)
//钥匙/金币
if (flags.szx)
core.mystatusNumber(ctx, 'potion1', null, 48 + 256, 16, 180);
if (flags.szx)
core.mystatusNumber(ctx, 'potion2', null, 48 + 256 + 22, 16 + 22, 300);
core.mystatusNumber(ctx, 'money', null, 48 + 128 + 22, 16 + 22, 180);
}
else {
if (flags.qmd) {
core.mystatusNumber(ctx, 'shengqishi', null, 80 + 152 + 422, 122, 120);
core.mystatusNumber(ctx, 'zhunshengzi', null, 80 + 152 + 422 + 20, 122, 0);
core.mystatusNumber(ctx, 'guangmingshengnv', null, 80 + 152 + 422 + 50, 122, 300);
}
core.setAlpha(ctx, 0.4)
core.drawImage(ctx, 'manaLt.png', 0, 0, 128 * hero.mana / hero.manamax, 32, 60 - 16 + 4 + 152 + 422, 142, 128 * hero.mana / hero.manamax, 32)
core.setAlpha(ctx, 1)
core.drawImage(ctx, 'manaLt.png', 0, 0, 128 * (hero.mana - (flags.skillmana || 0)) / hero.manamax, 32, 60 - 16 + 4 + 152 + 422, 142, 128 * (hero.mana - (flags.skillmana || 0)) / hero.manamax, 32)
core.drawImage(ctx, 'manaL.png', 0, 0, 128, 32, 60 - 16 + 4 + 152 + 422, 142, 128, 32)
//钥匙/金币
if (flags.szx)
core.mystatusNumber(ctx, 'potion1', null, 80 + 152 + 422, 60 * 4, 180);
if (flags.szx)
core.mystatusNumber(ctx, 'potion2', null, 80 + 22 + 152 + 422, 22 + 60 * 4, 300);
core.mystatusNumber(ctx, 'money', null, 80 + 152 + 422, 60 * 5, 180);
}
@ -3863,36 +3881,40 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
};
this.nextCriticals = function (enemy, number, x, y, floorId) {
if (typeof enemy == 'string') enemy = core.material.enemys[enemy];
if (core.lhjnb[enemy]) return core.lhjnb[enemy];
if (core.lhjnb[enemy.id]) return core.lhjnb[enemy.id];
number = number || 1;
var specialCriticals = core.enemys._nextCriticals_special(enemy, number, x, y, floorId);
if (specialCriticals != null) return core.lhjnb[enemy] = specialCriticals;
if (specialCriticals != null) return core.lhjnb[enemy.id] = specialCriticals;
var info = core.enemys.getDamageInfo(enemy, null, x, y, floorId);
if (info == null) { // 如果未破防...
var overAtk = core.enemys._nextCriticals_overAtk(enemy, x, y, floorId);
if (overAtk == null) return core.lhjnb[enemy] = [];
if (typeof overAtk[1] == 'number') return core.lhjnb[enemy] = [[overAtk[0], -overAtk[1]]];
if (overAtk == null) return core.lhjnb[enemy.id] = [];
if (typeof overAtk[1] == 'number') return core.lhjnb[enemy.id] = [
[overAtk[0], -overAtk[1]]
];
info = overAtk[1];
info.__over__ = true;
info.__overAtk__ = overAtk[0];
}
if (typeof info == 'number') return core.lhjnb[enemy] = [[0, 0]];
if (typeof info == 'number') return core.lhjnb[enemy.id] = [
[0, 0]
];
if (info.damage <= 0 && !core.flags.enableNegativeDamage) {
return core.lhjnb[enemy] = [[info.__overAtk__ || 0, 0]];
return core.lhjnb[enemy.id] = [
[info.__overAtk__ || 0, 0]
];
}
if (core.flags.useLoop) {
if (core.status.hero.atk <= (main.criticalUseLoop || 1)) {
return core.lhjnb[enemy] = core.enemys._nextCriticals_useLoop(enemy, info, number, x, y, floorId);
return core.lhjnb[enemy.id] = core.enemys._nextCriticals_useLoop(enemy, info, number, x, y, floorId);
} else {
return core.lhjnb[enemy.id] = core.enemys._nextCriticals_useBinarySearch(enemy, info, number, x, y, floorId);
}
else {
return core.lhjnb[enemy] = core.enemys._nextCriticals_useBinarySearch(enemy, info, number, x, y, floorId);
}
}
else {
return core.lhjnb[enemy] = core.enemys._nextCriticals_useTurn(enemy, info, number, x, y, floorId);
} else {
return core.lhjnb[enemy.id] = core.enemys._nextCriticals_useTurn(enemy, info, number, x, y, floorId);
}
}
core.control._updateDamage_damage = function (floorId, onMap) {