装备栏优化

This commit is contained in:
草莓 2025-01-14 17:48:17 +08:00
parent 754323da64
commit 0982780cd1
8 changed files with 1497 additions and 1334 deletions

View File

@ -1 +1 @@
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

View File

@ -4596,8 +4596,8 @@ EnemyPoint_List
/*EnemyPoint_List ['hp','atk','def','money','exp','point','name']*/;
Equip_List
: '生命'|'生命上限'|'攻击'|'防御'|'护盾'|'魔力'|'魔力上限'
/*Equip_List ['hp','hpmax','atk','def','mdef','mana','manamax']*/;
: '力量'|'敏捷'|'智力'|'体质'|'生命'|'生命上限'|'攻击'|'物理防御'|'魔法防御'|'魔力'|'魔力上限'|'速度'
/*Equip_List ['str','agi','int','con','hp','hpmax','atk','def','mdef','mana','manamax','speed']*/;
Key_List
: '黄钥匙'|'蓝钥匙'|'红钥匙'|'绿钥匙'|'铁门钥匙'

File diff suppressed because one or more lines are too long

View File

@ -978,7 +978,8 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
"equipName": [
"武器",
"武器",
"防具",
"护具",
"饰品",
"饰品"
],
"startBgm": "theme.mp3",
@ -1051,7 +1052,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
"steps": 0,
"matk": 0,
"speed": 0,
"str": 10,
"str": 5,
"agi": 10,
"int": 10,
"con": 10,

View File

@ -118,7 +118,7 @@ main.floors.street01=
[110118,110118,200096,110116,110020, 0,200014, 0, 0, 0, 0, 0,110125],
[ 92, 0, 0,110124, 0,201, 0, 0,110125,110122,110122,110122,110122],
[ 0, 0, 0,110118,110118,202,110118,110118,110122, 0, 0, 0, 94],
[130170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[130170, 0, 0, 0, 71, 35, 0, 0, 0, 0, 0, 0, 0],
[130178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,130168,130169],
[130225,130169,130169,130169,130169,130170,110122,110122,130168,130169,130169,130224,130177]
],

View File

@ -1,29 +1,29 @@
main.floors.yiqu8=
{
"floorId": "yiqu8",
"title": "主塔 8 层",
"name": "8",
"width": 13,
"height": 13,
"canFlyTo": true,
"canFlyFrom": true,
"canUseQuickShop": true,
"images": [],
"ratio": 1,
"defaultGround": "grass2",
"firstArrive": [],
"eachArrive": [],
"parallelDo": "",
"events": {},
"changeFloor": {},
"beforeBattle": {},
"afterBattle": {},
"afterGetItem": {},
"afterOpenDoor": {},
"autoEvent": {},
"cannotMove": {},
"cannotMoveIn": {},
"map": [
"floorId": "yiqu8",
"title": "主塔 8 层",
"name": "8",
"width": 13,
"height": 13,
"canFlyTo": true,
"canFlyFrom": true,
"canUseQuickShop": true,
"images": [],
"ratio": 1,
"defaultGround": "grass2",
"firstArrive": [],
"eachArrive": [],
"parallelDo": "",
"events": {},
"changeFloor": {},
"beforeBattle": {},
"afterBattle": {},
"afterGetItem": {},
"afterOpenDoor": {},
"autoEvent": {},
"cannotMove": {},
"cannotMoveIn": {},
"map": [
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
@ -38,4 +38,16 @@ main.floors.yiqu8=
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
],
"bgmap": [
],
"fgmap": [
],
"bg2map": [
],
"fg2map": [
]
}

View File

@ -151,7 +151,7 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
"type": 0,
"animate": "sword",
"value": {
"atk": 10
"str": 10
},
"percentage": {}
},
@ -224,17 +224,22 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
"equipCls": "匕首"
},
"shield0": {
"cls": "items",
"cls": "equips",
"name": "破旧的盾",
"text": "一个很破旧的铁盾",
"equip": {
"type": 1,
"type": 2,
"value": {
"def": 0
"str": 10,
"agi": -5
},
"percentage": {
"speed": 10
}
},
"itemEffect": "core.status.hero.def += 0",
"itemEffectTip": ",防御+0"
"itemEffectTip": ",防御+0",
"equipCls": "护具"
},
"shield1": {
"cls": "equips",

View File

@ -4987,9 +4987,9 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
var itembar_right = rightArrow_right;
var boxName =
core.status.event.id == "toolbox"
? "\r[yellow]道具栏\r | 装备栏"
: "道具栏 | \r[yellow]装备栏\r";
core.status.event.id == "toolbox" ?
"\r[yellow]道具栏\r | 装备栏" :
"道具栏 | \r[yellow]装备栏\r";
core.drawArrow(
ctx,
arrow_x + arrow_width,
@ -5300,7 +5300,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
itemNameFont,
itemNameMaxWidth
);
core.fillText(
if (!item.equip) core.fillText(
ctx,
"【" + itemClsName + "】",
itemCls_x,
@ -5308,6 +5308,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
itemClsColor,
itemClsFont
);
var statusText = "【装备类型】" + item.equipCls + "\n\n";
/*if (core.status.event.id == "equipbox") {
var type = item.equip.type;
@ -5328,7 +5329,120 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
statusText += core.getStatusLabel(name) + " " + nowValue + "->\r[" + color + "]" + newValue + "\r\n";
}
}*/
itemText = statusText + itemText;
let shuxing = "【装备属性】\n"
const equipValue = core.material.items[item.id]?.equip
if (equipValue) {
let value = ""
for (const a in equipValue.value) {
switch (a) {
case "str":
value += equipValue.value[a] > 0 ? "力量+" + equipValue.value[a] + '\n' : "力量" + equipValue.value[a] + '\n'
break;
case "agi":
value += equipValue.value[a] > 0 ? "敏捷+" + equipValue.value[a] + '\n' : "敏捷" + equipValue.value[a] + '\n'
break;
case "int":
value += equipValue.value[a] > 0 ? "智力+" + equipValue.value[a] + '\n' : "智力" + equipValue.value[a] + '\n'
break;
case "con":
value += equipValue.value[a] > 0 ? "体质+" + equipValue.value[a] + '\n' : "体质" + equipValue.value[a] + '\n'
break;
case "hpmax":
value += equipValue.value[a] > 0 ? "生命上限+" + equipValue.value[a] + '\n' : "生命上限" + equipValue.value[a] + '\n'
break;
case "manamax":
value += equipValue.value[a] > 0 ? "魔力上限+" + equipValue.value[a] + '\n' : "魔力上限" + equipValue.value[a] + '\n'
break;
case "atk":
value += equipValue.value[a] > 0 ? "攻击+" + equipValue.value[a] + '\n' : "攻击" + equipValue.value[a] + '\n'
break;
case "def":
value += equipValue.value[a] > 0 ? "物理防御+" + equipValue.value[a] + '\n' : "物理防御" + equipValue.value[a] + '\n'
break;
case "mdef":
value += equipValue.value[a] > 0 ? "魔法防御+" + equipValue.value[a] + '\n' : "魔法防御" + equipValue.value[a] + '\n'
break;
case "speed":
value += equipValue.value[a] > 0 ? "速度+" + equipValue.value[a] + '\n' : "速度" + equipValue.value[a] + '\n'
break;
}
}
for (const a in equipValue.percentage) {
switch (a) {
case "str":
value += equipValue.percentage[a] > 0 ? "力量+" + equipValue.percentage[a] + '%\n' : "力量" + equipValue.percentage[a] + '%\n'
break;
case "agi":
value += equipValue.percentage[a] > 0 ? "敏捷+" + equipValue.percentage[a] + '%\n' : "敏捷" + equipValue.percentage[a] + '%\n'
break;
case "int":
value += equipValue.percentage[a] > 0 ? "智力+" + equipValue.percentage[a] + '%\n' : "智力" + equipValue.percentage[a] + '%\n'
break;
case "con":
value += equipValue.percentage[a] > 0 ? "体质+" + equipValue.percentage[a] + '%\n' : "体质" + equipValue.percentage[a] + '%\n'
break;
case "hpmax":
value += equipValue.percentage[a] > 0 ? "生命上限+" + equipValue.percentage[a] + '%\n' : "生命上限" + equipValue.percentage[a] + '%\n'
break;
case "manamax":
value += equipValue.percentage[a] > 0 ? "魔力上限+" + equipValue.percentage[a] + '%\n' : "魔力上限" + equipValue.percentage[a] + '%\n'
break;
case "atk":
value += equipValue.percentage[a] > 0 ? "攻击+" + equipValue.percentage[a] + '%\n' : "攻击" + equipValue.percentage[a] + '%\n'
break;
case "def":
value += equipValue.percentage[a] > 0 ? "物理防御+" + equipValue.percentage[a] + '%\n' : "物理防御" + equipValue.percentage[a] + '%\n'
break;
case "mdef":
value += equipValue.percentage[a] > 0 ? "魔法防御+" + equipValue.percentage[a] + '%\n' : "魔法防御" + equipValue.percentage[a] + '%\n'
break;
case "speed":
value += equipValue.percentage[a] > 0 ? "速度+" + equipValue.percentage[a] + '%\n' : "速度" + equipValue.percentage[a] + '%\n'
break;
}
}
if (value !== '') itemText += "\n\n" + shuxing + value
}
itemText = item.equipCls ? statusText + itemText : itemText
let needText = '\n【装备需求】\n'
const need = core.plugin.equipNeed[item.id]
if (need) {
for (const a in need) {
switch (a) {
case "str":
needText += "力量【" + need[a] + '】\n'
break;
case "agi":
needText += "敏捷【" + need[a] + '】\n'
break;
case "int":
needText += "智力【" + need[a] + '】\n'
break;
case "con":
needText += "体质【" + need[a] + '】\n'
break;
}
}
}
itemText = need ? itemText + needText : itemText
if (item.equip) {
core.drawTextContent(ctx, itemText, {
left: itemText_x,
top: itemCls_middle,
bold: false,
color: "white",
align: "left",
fontSize: itemTextFontSize,
maxWidth: rightbar_width - (itemText_x - rightbar_x) * 2 + itemTextFontSize / 2,
});
} else {
core.drawTextContent(ctx, itemText, {
left: itemText_x,
top: itemText_y,
@ -5336,9 +5450,9 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
color: "white",
align: "left",
fontSize: itemTextFontSize,
maxWidth:
rightbar_width - (itemText_x - rightbar_x) * 2 + itemTextFontSize / 2,
maxWidth: rightbar_width - (itemText_x - rightbar_x) * 2 + itemTextFontSize / 2,
});
}
///// *** 退出按钮设置
var btnRadius = 10;
@ -5445,9 +5559,9 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
if (i === 1) name = "副手";
var selectBorder = false;
if (core.status.thisUIEventInfo.select.type == i) selectBorder = true;
var borderStyle = selectBorder
? box_selectBorderStyle
: box_borderStyle;
var borderStyle = selectBorder ?
box_selectBorderStyle :
box_borderStyle;
core.drawEquipbox_drawOne(
ctx,
name,
@ -5800,10 +5914,13 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
let equipClsid = core.material.items[id]?.equipCls;
let equipCls0 = core.material.items[core.getEquip(0)]?.equipCls;
let equipCls1 = core.material.items[core.getEquip(1)]?.equipCls;
if (equipCls0 === "双手剑") {
if (equipClsid === "双手剑") {
core.unloadEquip(0, function () {
core.status.route.push("unEquip:" + 0);
});
core.unloadEquip(1, function () {
core.status.route.push("unEquip:" + 1);
});
}
if (equipClsid === "单手剑") {
if (
@ -5873,12 +5990,35 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
});
}
}
if (equipClsid === "护具") {
core.unloadEquip(2, function () {
core.status.route.push("unEquip:" + 2);
});
}
if (equipClsid === "饰品" && core.getEquip(3) && core.getEquip(4)) {
core.unloadEquip(4, function () {
core.status.route.push("unEquip:" + 4);
});
}
const idneed = core.plugin.equipNeed[id]
let canload = true
if (core.plugin.equipNeed[id]) {
for (const a in idneed) {
if (core.status.hero[a] < idneed[a]) canload = false
}
}
if (canload) {
core.loadEquip(id, function () {
core.status.route.push("equip:" + id);
info.select.type = type;
core.setIndexAndSelect("select");
core.drawEquipbox();
});
} else {
core.drawTip("未达装备需求")
}
} else {
var type = info.select.type;
core.unloadEquip(type, function () {
@ -6277,7 +6417,7 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
core.registerReplayAction("item", core.control._replayAction_item);
core.registerReplayAction("equip", core.control._replayAction_equip);
core.registerReplayAction("unEquip", core.control._replayAction_unEquip);
},
},
"技能树": function () {
// 在此增加新插件
//
@ -13894,6 +14034,11 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
}
}
};
this.equipNeed = { //装备需求(无需求装备不写,只写需求的属性,无要求属性不写)
"sword1": { str: 10 },
"knife1": { str: 5, agi: 5 }
}
this.updateStatus = function () {
const hero = core.status.hero;
//默认映射关系