This commit is contained in:
2025-10-14 09:17:56 +08:00
parent 0d0465fad3
commit 6eb4d6a2f9
19 changed files with 854 additions and 240 deletions

View File

@@ -32,6 +32,10 @@ FatalismStone_AttrTagDrawOrder <- ["[physical attack]", "[magical attack]", "[ph
class FatalismStone_Stone {
//唯一ID
Uuid = null;
//魂石ID
Id = null;
//数据
Info = null;
//显示偏移位置
@@ -42,6 +46,10 @@ class FatalismStone_Stone {
//完成Flag
isSuccess = false;
//唯一属性加载Flag
isInitializeData = false;
//唯一属性请求Flag
isInitializeRequestData = false;
constructor(Arg) {
if (Arg != null) {
@@ -54,6 +62,7 @@ class FatalismStone_Stone {
FatalismStoneLst.rawset(Arg, Buf);
}
Initialize(Buf);
Id = Arg;
} else printf("FatalismStone_Stone:没有找到Id为" + Arg + "的魂石");
}
isSuccess = true;
@@ -74,13 +83,14 @@ class FatalismStone_Stone {
//悬停
function HoverShow(X, Y) {
//绘制悬停框
L_sq_SetDrawImgModel(2, 0);
Rindro_Image_GlobalMap["lenheartui"].DrawPng(353, X - 31 + 1, Y + 1);
L_sq_ReleaseDrawImgModel();
if (!isSuccess) return;
if (!isInitializeRequestData) {
isInitializeRequestData = true;
Rindro_BaseToolClass.SendPackEx({
op = 21000011,
uuid = Uuid
})
}
//基础长度50
local Height = 50;
Height += Info.Attribute.len() * 14; //计算属性带来的高度加成
@@ -178,23 +188,15 @@ class FatalismStone_Stone {
//初始化数据
function InitializeData(info) {
BackupInfo = info;
//同步位置
XPos = info.XPos;
YPos = info.YPos;
//如果是没有ID的通过传入的数据确定魂石类型
if (Stone_Type == null) Stone_Type = info.StoneType;
if (!isSuccess) return;
//得到洗练度
local Rate = info.CultivationDegree;
local Rate = info.Cultivation;
Info.cultivationDegree = (Rate * 100.0);
//计算属性
foreach(Key, value in Info.Attribute) {
Info.Attribute[Key] = (value[0] + (value[1] - value[0]) * Rate).tointeger();
local BaseValueArr = FatalismStoneLst[Id].Attribute[Key];
Info.Attribute[Key] = (BaseValueArr[0] + (BaseValueArr[1] - BaseValueArr[0]) * Rate).tointeger();
}
isInitializeData = true;
}
//品级颜色