- 新增偷窃系统(Steal)模块及相关UI界面 - 添加自己服(MySelf)装备功能及显示界面 - 在folder-alias.json中添加新系统路径映射 - 为BaseTool_Class添加DrawNineBoxAlpha方法支持透明度 - 修改NewItemInfoWindow装备判断逻辑 - 在FileConfig.json中为多个系统添加Enabled配置项 - 在ObjectConvert.nut中添加装备掉落相关函数
198 lines
6.7 KiB
Plaintext
198 lines
6.7 KiB
Plaintext
/*
|
|
文件名:Equip.nut
|
|
路径:Project/MySelf/Equip/Equip.nut
|
|
创建日期:2026-03-24 01:54
|
|
文件用途:
|
|
*/
|
|
class MySelfEquipC extends Rindro_BaseToolClass {
|
|
constructor() {
|
|
|
|
|
|
local ItemDrawControl = getroottable()["NewItemInfoWindow_Obj"];
|
|
ItemDrawControl.AddHookItemId(27572);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
function Lenheart_MySelfEquipC_Fun(obj) {
|
|
local RootTab = getroottable();
|
|
if (!RootTab.rawin("MySelfEquipC_Obj")) {
|
|
RootTab.rawset("MySelfEquipC_Obj", MySelfEquipC());
|
|
}
|
|
}
|
|
|
|
getroottable()["LenheartFuncTab"].rawset("MySelfEquipCFuncN", Lenheart_MySelfEquipC_Fun);
|
|
|
|
|
|
L_Windows_List <- [];
|
|
getroottable().rawdelete("LenheartPluginsInitFlag");
|
|
getroottable().rawdelete("EventList_Obj")
|
|
getroottable().rawdelete("MySelfEquipC_Obj");
|
|
getroottable().rawdelete("L_Each_Obj");
|
|
|
|
|
|
|
|
|
|
|
|
class Rindro_Item_DrawInfo {
|
|
//Item对象
|
|
Item = null;
|
|
//指导信息 (原装备生成的信息)
|
|
GuidanceInformation = null;
|
|
//指导信息标志位
|
|
GuidanceInformationFlag = 0;
|
|
//分割线计数
|
|
GuidanceDivCount = 0;
|
|
//信息
|
|
InfoList = null;
|
|
|
|
Height = 0;
|
|
|
|
Padding = 8;
|
|
|
|
Img = Rindro_Image("sjweapon/sjwindow.img");
|
|
Img2 = Rindro_Image("soulweapon/main.img");
|
|
|
|
constructor(gItem) {
|
|
Item = gItem;
|
|
InfoList = [];
|
|
}
|
|
|
|
//添加指导信息
|
|
function AddGuidanceInformation(info) {
|
|
GuidanceInformation = info;
|
|
}
|
|
|
|
function Init() {
|
|
//读取强化等级
|
|
local UpgradeLevel = Item.GetUpgrade();
|
|
//读取名字
|
|
local Name = "天 · 狂暴之" + Item.GetName();
|
|
local UpgradeStr = UpgradeLevel > 0 ? ("+" + UpgradeLevel + " ") : "";
|
|
local NameStr = Name.len() > 0 ? (Name + " ") : "未定名";
|
|
|
|
AddContent((UpgradeStr + Name), Padding, Padding, Rindro_BaseToolClass.GetRarityColor(6));
|
|
|
|
AddContent("巨剑(英雄级)", Padding, 18, sq_RGBA(176, 138, 44, 250));
|
|
// if (isGm()) {
|
|
// //读取编号
|
|
// local Index = Item.GetIndex();
|
|
// //读取uuid
|
|
// local Uuid = Item.GetUuid();
|
|
// local IndexStr = Index > 0 ? ("编号: [" + Index + "] ") : "";
|
|
// local UuidStr = Uuid > 10000 ? ("uid: [" + Uuid + "] ") : "";
|
|
// AddContent((IndexStr + UuidStr), Padding, 15, 0xffffffff);
|
|
// }
|
|
|
|
|
|
AddDelegate(20, function(X, Y, Item) {
|
|
for (local i = 0; i< 10; i++) {
|
|
Img.DrawPng(0, X + 7 + i * 16, Y + 19);
|
|
}
|
|
}.bindenv(this));
|
|
|
|
AddDividing(26, 15);
|
|
|
|
AddContent("攻击力", Padding, 18, 0xffffffff);
|
|
AddContent("458", 215 - LenheartTextClass.GetStringLength("458") - Padding, 0, 0xffffffff);
|
|
|
|
AddContent("命中", Padding, 18, 0xffffffff);
|
|
AddContent("100", 215 - LenheartTextClass.GetStringLength("100") - Padding, 0, 0xffffffff);
|
|
|
|
AddContent("暴击", Padding, 18, 0xffffffff);
|
|
AddContent("150", 215 - LenheartTextClass.GetStringLength("150") - Padding, 0, 0xffffffff);
|
|
|
|
AddContent("格挡", Padding, 18, 0xffffffff);
|
|
AddContent("150", 215 - LenheartTextClass.GetStringLength("150") - Padding, 0, 0xffffffff);
|
|
|
|
AddDividing(26, 15);
|
|
|
|
// AddContent("灵魂刻印率", Padding, 18, sq_RGBA(244, 21, 79, 250));
|
|
|
|
AddDelegate(20, function(X, Y, Item) {
|
|
L_sq_DrawCode("灵魂刻印率", X + 6, Y + 15, sq_RGBA(244, 21, 79, 255), 0, 1);
|
|
local Rate = 0.56;
|
|
L_sq_DrawCode(format("%.1f%%", Rate * 100.0), X + 180, Y + 15, sq_RGBA(255, 119, 0, 255), 0, 1);
|
|
Img2.DrawPng(0, X + 70, Y + 19);
|
|
setClip(X + 72, Y + 21, X + 72 + (Rate * 97.0).tointeger(), Y + 40); //开始裁切
|
|
Img2.DrawPng(1, X + 72, Y + 21);
|
|
releaseClip(); //裁切结束
|
|
}.bindenv(this));
|
|
|
|
AddContent("※ 力量", Padding, 12, sq_RGBA(104, 213, 237, 255));
|
|
AddContent("150", 215 - LenheartTextClass.GetStringLength("150") - Padding, 0, sq_RGBA(104, 213, 237, 255));
|
|
|
|
AddContent("※ 武器伤害增幅", Padding, 18, sq_RGBA(104, 213, 237, 255));
|
|
AddContent("16.3", 215 - LenheartTextClass.GetStringLength("16.3") - Padding, 0, sq_RGBA(104, 213, 237, 255));
|
|
|
|
AddContent("※ 异常属性攻击", Padding, 18, sq_RGBA(104, 213, 237, 255));
|
|
AddContent("25", 215 - LenheartTextClass.GetStringLength("25") - Padding, 0, sq_RGBA(104, 213, 237, 255));
|
|
|
|
AddDividing(26, 15);
|
|
|
|
AddDelegate(64, function(X, Y, Item) {
|
|
local Str = ["生命铭刻 · 1级", "精准铭刻 · 2级", "寒冰铭刻 · 1级", "火焰铭刻 · 3级"]
|
|
local Color = [sq_RGBA(120, 255, 30, 255), sq_RGBA(255, 240, 20, 240), sq_RGBA(33, 131, 217, 240), sq_RGBA(230, 34, 34, 240)]
|
|
for (local i = 0; i< 4; i++) {
|
|
Img.DrawPng(1 + i, X + 7, Y + 19 + i * 18);
|
|
L_sq_DrawCode(Str[i], X + (215 - LenheartTextClass.GetStringLength(Str[i]) - Padding), Y + 18 + i * 18, Color[i], 1);
|
|
}
|
|
}.bindenv(this));
|
|
|
|
AddDividing(26, 26);
|
|
|
|
AddContent("激荡 : 生生不息", Padding, 28, sq_RGBA(60, 180, 0, 255));
|
|
AddContent("攻击时,以2%的概率使自身回复35%的", Padding, 18, sq_RGBA(230, 200, 155, 250));
|
|
AddContent("生命值。", Padding, 18, sq_RGBA(230, 200, 155, 250));
|
|
AddContent("效果发动冷却时间: 15秒", Padding, 18, sq_RGBA(230, 200, 155, 250));
|
|
|
|
AddDividing(26, 15);
|
|
|
|
AddContent("回响 : 天行健", Padding, 18, sq_RGBA(60, 180, 0, 255));
|
|
AddContent("攻击时,以5%的概率使自身进入心流", Padding, 18, sq_RGBA(230, 200, 155, 250));
|
|
AddContent("伤害增幅10%,效果持续时间5秒。", Padding, 18, sq_RGBA(230, 200, 155, 250));
|
|
AddContent("效果发动冷却时间: 45秒", Padding, 18, sq_RGBA(230, 200, 155, 250));
|
|
|
|
AddDividing(26, 15);
|
|
|
|
AddContent("装备需求职业:", Padding, 18, sq_RGBA(255, 255, 255, 255));
|
|
AddContent("鬼剑士", 215 - LenheartTextClass.GetStringLength("鬼剑士") - Padding, 0, sq_RGBA(255, 255, 255, 255));
|
|
}
|
|
|
|
|
|
//增加内容
|
|
function AddContent(Content, X, Y, Color) {
|
|
InfoList.append({
|
|
Type = 0,
|
|
Content = Content,
|
|
X = X,
|
|
Y = Y + Height,
|
|
Color = Color
|
|
});
|
|
|
|
Height += Y;
|
|
}
|
|
|
|
//增加分割线
|
|
function AddDividing(X, Y) {
|
|
InfoList.append({
|
|
Type = 1,
|
|
X = X,
|
|
Y = Y + Height + 3,
|
|
});
|
|
|
|
Height += 8;
|
|
}
|
|
|
|
//增加自定义代理
|
|
function AddDelegate(Y, Func) {
|
|
InfoList.append({
|
|
Type = 2,
|
|
X = 0,
|
|
Y = Height,
|
|
Func = Func
|
|
});
|
|
Height += Y;
|
|
}
|
|
} |