/* 文件名:Equipment.nut 路径:User/Asset/Item/Equipment.nut 创建日期:2024-12-12 19:03 文件用途: */ //装备信息标签类(信息类) if (!GameItem.rawin("EquipmentInfoTag")) GameItem.EquipmentInfoTag <- null; //装备图标窗口 class GameItem.EquipmentIcon extends CL_CanvasObject { constructor(Equipment) { base.constructor(); ResizeAndClear(32, 32); BeginDraw(); //构造图标 及图标边框 if (Equipment.Icon) { //图标 local Icon = CL_SpriteFrameObject(Equipment.Icon.path, Equipment.Icon.index); DrawSpriteFrame(Icon, 0, 0); //是否封装 local IsPackage = Equipment.IsWrap; if (IsPackage && (Equipment.Rarity == 2 || Equipment.Rarity == 3)) { local IconFrame = CL_SpriteObject("sprite/interface/lenheartwindowcommon.img", 634); IconFrame.SetMode(0); DrawSprite(IconFrame); } //边框 local IconFrame = CL_SpriteFrameObject("sprite/item/iconmark.img", 62 + GameItem.EquipmentInfoTag.rarityframe_color_idx[Equipment.Rarity]); DrawSpriteFrame(IconFrame, 0, 0); } EndDraw(); } } //装备信息窗口 class GameItem.EquipmentInfo extends Yosin_Window { //装备 Equipment = null; //画布 Canvas = null; //画布实际高度 RealCanvasHeight = 0; constructor(Equipment) { this.Equipment = Equipment.weakref(); base.constructor(clock() + "EquipmentInfo" + Equipment.Idx, 0, 0, 0, 0, 0); Init(); local background = Yosin_NineBoxStretch(211, RealCanvasHeight + 10, "sprite/interface/lenheartwindowcommon.img", 213); background.SetZOrder(-1); Addchild(background); } function Init() { Canvas = CL_CanvasObject(); Canvas.ResizeAndClear(210, 600); Canvas.SetFillBrush(sq_RGBA(59, 56, 57, 250)); Canvas.SetStrokeBrush(sq_RGBA(59, 56, 57, 250)); Canvas.BeginDraw(); //构造图标 及图标边框 if (Equipment.Icon) { local Icon = GameItem.EquipmentIcon(Equipment); Canvas.DrawActor(Icon, 7, 7); } //绘制装备名称 if (Equipment.Name.len() > 0) { local UpgradeName = ""; local SeparateLevelName = ""; local DrawName = Equipment.Name; if (Equipment.Upgrade > 0) UpgradeName = "+" + Equipment.Upgrade; if (Equipment.SeparateLevel > 0) SeparateLevelName = "(" + Equipment.SeparateLevel + ")"; if ((Equipment.Upgrade + Equipment.SeparateLevel) > 0) DrawName = UpgradeName + SeparateLevelName + " " + DrawName; local EquName = FontAssetManager.GenerateNormal(DrawName, false, { color = GameItem.EquipmentInfoTag.rarity_color[Equipment.Rarity] }); Canvas.DrawActor(EquName, 41, 7); } //绘制分割线 Canvas.DrawLine(3, 37, 207, 38); //绘制品级 local Percentage = Equipment.Percentage; //品级文字 local PercentageGradeText = FontAssetManager.GenerateNormal(GetPercentageText(Percentage), false, { color = sq_RGBA(255, 240, 0, 255) }); //百分比UI local PercentageUI = CL_SpriteFrameObject("sprite/interface/lenheartwindowcommon.img", 633); Canvas.DrawSpriteFrame(PercentageUI, 48, 49, PercentageUI.GetSize().w * (Percentage.tofloat() / 100.0)); local PercentageUIBG = CL_SpriteFrameObject("sprite/interface/lenheartwindowcommon.img", 632); Canvas.DrawSpriteFrame(PercentageUIBG, 47, 48); //百分比文字 local PercentageText = FontAssetManager.GenerateNormal(format("(%d%%)", Percentage), false, { color = sq_RGBA(161, 131, 74, 255) }); Canvas.DrawActor(PercentageGradeText, 6, 41); Canvas.DrawActor(PercentageText, 130, 41); //绘制稀有度名称 local RarityTagName = FontAssetManager.GenerateNormal(GameItem.EquipmentInfoTag.rarity_name_tag[Equipment.Rarity], false, { color = GameItem.EquipmentInfoTag.rarity_color[Equipment.Rarity] }); Canvas.DrawActor(RarityTagName, 210 - RarityTagName.GetSize().w - 6, 41); //绘制重量 local WeightText = FontAssetManager.GenerateNormal((Equipment.Weight.tofloat() / 1000.0) + "kg", false, { color = sq_RGBA(161, 131, 74, 255) }); Canvas.DrawActor(WeightText, 6, 57); //绘制最低多少级可以使用 local MinUseLevelText = FontAssetManager.GenerateNormal(Equipment.Minimum_level + "级以上可以使用", false, { color = sq_RGBA(161, 131, 74, 255) }); Canvas.DrawActor(MinUseLevelText, 210 - MinUseLevelText.GetSize().w - 6, 57); //绘制交易类型 如果有主体属性读取 否则一律为封装 local TradeType = Equipment.TradeType; local TradeTypeText = FontAssetManager.GenerateNormal(GameItem.EquipmentInfoTag.trade_type_text[TradeType], false, { color = GameItem.EquipmentInfoTag.trade_type_color[TradeType] }); Canvas.DrawActor(TradeTypeText, 210 - TradeTypeText.GetSize().w - 6, 73); //绘制装备类型 local GroupNameText = FontAssetManager.GenerateNormal(GameItem.EquipmentInfoTag.item_group_name_table[Equipment.GroupName], false, { color = sq_RGBA(194, 161, 56, 255) }); Canvas.DrawActor(GroupNameText, 210 - GroupNameText.GetSize().w - 6, 89); //绘制售价 local RealSellPrice = (Equipment.SellPrice == -1 ? (Equipment.Price == -1 ? 0 : Equipment.Price) : Equipment.SellPrice) / 5; local SellPriceText = FontAssetManager.GenerateNormal(RealSellPrice + "金币", false, { color = sq_RGBA(133, 121, 78, 255) }); Canvas.DrawActor(SellPriceText, 210 - SellPriceText.GetSize().w - 6, 105); //绘制耐久度 local DurabilityText = FontAssetManager.GenerateNormal("耐久度 " + (Equipment.CurrentDurability == -1 ? Equipment.Durability : Equipment.CurrentDurability) + "/" + Equipment.Durability, false, { color = sq_RGBA(133, 121, 80, 255) }); Canvas.DrawActor(DurabilityText, 6, 121); //绘制分割线 Canvas.DrawLine(3, 139, 207, 139); //下面的绘制逻辑开始使用行put来做 RealCanvasHeight = 141; //绘制冒险家名望 local AdventurerFameFrame = CL_SpriteFrameObject("sprite/interface2/profile/profile_cn/profile_cn.img", 0); Canvas.DrawSpriteFrame(AdventurerFameFrame, 6, RealCanvasHeight + 3); local AdventurerFame = FontAssetManager.GenerateNormal("冒险家名望 " + Equipment.AdventurerFame, false, { color = sq_RGBA(133, 121, 80, 255) }); Canvas.DrawActor(AdventurerFame, 22, RealCanvasHeight); //绘制分割 AddSliceLine(); //绘制强化和增幅逻辑 if ((Equipment.Upgrade + Equipment.SeparateLevel) > 0) { local UpgradeInfo; if (Equipment.Upgrade > 0) { UpgradeInfo = FontAssetManager.GenerateNormal("+" + Equipment.Upgrade + " 强化 ,", false, { color = sq_RGBA(103, 214, 236, 255) }); Canvas.DrawActor(UpgradeInfo, 6, RealCanvasHeight); } if (Equipment.SeparateLevel > 0) { local SeparateLevelInfo = FontAssetManager.GenerateNormal("+" + Equipment.SeparateLevel + " 锻造", false, { color = sq_RGBA(180, 106, 254, 255) }); Canvas.DrawActor(SeparateLevelInfo, UpgradeInfo ? UpgradeInfo.GetSize().w : 6, RealCanvasHeight); } AddHeight(); } //绘制物理攻击力 DrawAttack("EquipmentPhysicalAttack", "物理攻击力"); //绘制魔法攻击力 DrawAttack("EquipmentMagicalAttack", "魔法攻击力"); //绘制独立攻击力 DrawAttack("SeparateAttack", "独立攻击力"); //绘制四维 DrawAttribute("PhysicalAttack", "力量"); DrawAttribute("MagicalAttack", "智力"); DrawAttribute("PhysicalDefense", "体力"); DrawAttribute("MagicalDefense", "精神"); //绘制分割 Canvas.DrawLine(3, RealCanvasHeight + 3, 207, RealCanvasHeight + 3); RealCanvasHeight += 6; //绘制三速 DrawSpeed("AttackSpeed", "攻击速度"); DrawSpeed("CastSpeed", "释放速度"); DrawSpeed("MoveSpeed", "移动速度"); //绘制双爆 DrawCritical("PhysicalCriticalHit", "物理暴击率"); DrawCritical("MagicalCriticalHit", "魔法暴击率"); //绘制命中率 DrawStuck("Stuck", "命中率"); //绘制四属抗 DrawElement("DarkResistance", "暗属性抗性"); DrawElement("LightResistance", "光属性抗性"); DrawElement("FireResistance", "火属性抗性"); DrawElement("WaterResistance", "水属性抗性"); //绘制四属强 DrawElement("DarkAttack", "暗属性强化"); DrawElement("LightAttack", "光属性强化"); DrawElement("FireAttack", "火属性强化"); DrawElement("WaterAttack", "水属性强化"); //绘制属性攻击 if (Equipment.ElementalProperty) { local Text = FontAssetManager.GenerateNormal(GameItem.EquipmentInfoTag.elemental_property_tag[Equipment.ElementalProperty], false, { color = sq_RGBA(215, 196, 147, 255) }); Canvas.DrawActor(Text, 6, RealCanvasHeight); AddHeight(); } //绘制描述 if (Equipment.FlavorText) { //绘制分割 Canvas.DrawLine(3, RealCanvasHeight + 3, 207, RealCanvasHeight + 3); RealCanvasHeight += 6; local Text = FontAssetManager.GenerateNormal(Equipment.FlavorText, false, { color = sq_RGBA(133, 121, 80, 255), wrap_width = 204 }); Canvas.DrawActor(Text, 6, RealCanvasHeight); RealCanvasHeight += Text.GetSize().h; } Canvas.EndDraw(); Addchild(Canvas); } //绘制属强属抗 function DrawElement(Type, TypeName) { if (Equipment[Type] != 0) { local AttackText = FontAssetManager.GenerateNormal(TypeName + " " + (Equipment[Type] >= 0 ? "+" : "-") + Equipment[Type], false, { color = sq_RGBA(215, 196, 147, 255) }); Canvas.DrawActor(AttackText, 6, RealCanvasHeight); AddHeight(); } } //绘制命中 function DrawStuck(Type, TypeName) { if (Equipment[Type] != 0) { local Value = Equipment[Type]; local AttackText = FontAssetManager.GenerateNormal(TypeName + " " + (Value >= 0 ? "+" : "") + Value + "%", false, { color = sq_RGBA(215, 196, 147, 255) }); Canvas.DrawActor(AttackText, 6, RealCanvasHeight); AddHeight(); } } //绘制双爆 function DrawCritical(Type, TypeName) { if (Equipment[Type] != 0) { local AttackText = FontAssetManager.GenerateNormal(TypeName + " " + (Equipment[Type] >= 0 ? "+" : "-") + Equipment[Type] + "%", false, { color = sq_RGBA(215, 196, 147, 255) }); Canvas.DrawActor(AttackText, 6, RealCanvasHeight); AddHeight(); } } //绘制三速 function DrawSpeed(Type, TypeName) { if (Equipment[Type] != 0) { local Value = (Equipment[Type].tofloat() * 0.1).tointeger(); local AttackText = FontAssetManager.GenerateNormal(TypeName + " " + (Value >= 0 ? "+" : "-") + Value + "%", false, { color = sq_RGBA(215, 196, 147, 255) }); Canvas.DrawActor(AttackText, 6, RealCanvasHeight); AddHeight(); } } //绘制四维 function DrawAttribute(Type, TypeName) { if (Equipment[Type] != 0) { local AttackText = FontAssetManager.GenerateNormal(TypeName + " " + Equipment[Type], false, { color = sq_RGBA(134, 120, 79, 255) }); Canvas.DrawActor(AttackText, 6, RealCanvasHeight); AddHeight(); } } //绘制三攻 function DrawAttack(Type, TypeName) { if (Equipment[Type] != null) { local RealValue; //数组为没有百分比计算过的原始数据 if (typeof Equipment[Type] == "array") { local MaxValue = Equipment[Type][0]; local MinValue = Equipment[Type][1]; local Rate = 1.0; RealValue = (MinValue + ((MaxValue - MinValue).tofloat() * Rate).tointeger()); } //百分比计算过的数据 else if (typeof Equipment[Type] == "integer" || typeof Equipment[Type] == "float") { RealValue = Equipment[Type]; } local AttackText = FontAssetManager.GenerateNormal(TypeName + " " + RealValue, false, { color = sq_RGBA(134, 120, 79, 255) }); Canvas.DrawActor(AttackText, 6, RealCanvasHeight); AddHeight(); } } //增加行高 function AddHeight() { RealCanvasHeight += 16; } //增加分割行 function AddSliceLine() { RealCanvasHeight += 18; Canvas.DrawLine(3, RealCanvasHeight, 207, RealCanvasHeight); RealCanvasHeight += 2; } // 根据数值获取对应的品级文字 function GetPercentageText(num) { if (num< GameItem.EquipmentInfoTag.percentage_range_boundaries[0]) { return GameItem.EquipmentInfoTag.percentage_text[0]; } for (local i = 0; i< GameItem.EquipmentInfoTag.percentage_range_boundaries.len(); i++) { if (num <= GameItem.EquipmentInfoTag.percentage_range_boundaries[i]) { return GameItem.EquipmentInfoTag.percentage_text[i + 1]; } } return GameItem.EquipmentInfoTag.percentage_text.top(); } } // if (!getroottable().rawin("chongzaiflag")) { // getroottable()["chongzaiflag"] <- true; // } else { // //遍历窗口队列 如果可见则调用Show // for (local i = 0; i< _SYS_WINDOW_LIST_.len(); i++) { // local Window = _SYS_WINDOW_LIST_[i]; // Window.Visible = false; // Window.RemoveSelf(); // } // TestStage(); // } class GameItem.Equipment extends GameItem.Item { //装备ID Idx = -1; //装备名称 Name = ""; //强化或增幅等级 Upgrade = 0; //锻造等级 SeparateLevel = 0; //增幅属性 0 无 1 力量 2 智力 3 体力 4 精神 EquipIncrease = 0; //是否封装 IsWrap = 0; //在封装次数 WrapCount = 0; //交易类型 TradeType = 0; //装备类型 Type = -1; //装备槽位 SlotType = -1; //装备可穿戴等级 Minimum_level = -1; //装备等级组 Grade = null; //装备稀有度 Rarity = 0; //重量 Weight = 0; //装备组名 GroupName = "null"; //购买价格 Price = -1; //维修价格 RepairPrice = -1; //出售价格 SellPrice = -1; //耐久度 Durability = -1; //当前耐久度 CurrentDurability = -1; //装备品质 Percentage = 100; //冒险家名望 AdventurerFame = 0; //装备可穿戴职业 Job = 0; //装备图标 Icon = null; //动画 Animation_Job = null; //装备描述 Description = ""; //文件路径 DirPath = null; //光环特效 Aurora_effects = null; //装备属性 Property = null; //力量 PhysicalAttack = 0; //智力 MagicalAttack = 0; //体力 PhysicalDefense = 0; //精神 MagicalDefense = 0; //所有属强 AllElementalAttack = 0; //暗属强 DarkAttack = 0; //光属强 LightAttack = 0; //水属强 WaterAttack = 0; //火属强 FireAttack = 0; //物理攻击力 EquipmentPhysicalAttack = 0; //魔法攻击力 EquipmentMagicalAttack = 0; //独立攻击力 SeparateAttack = 0; //物理防御力 EquipmentPhysicalDefense = 0; //魔法防御力 EquipmentMagicalDefense = 0; //攻击速度 AttackSpeed = 0; //释放速度 CastSpeed = 0; //移动速度 MoveSpeed = 0; //物理暴击率 PhysicalCriticalHit = 0; //魔法暴击率 MagicalCriticalHit = 0; //命中率 Stuck = 0; //暗属抗 DarkResistance = 0; //光属抗 LightResistance = 0; //水属抗 WaterResistance = 0; //火属抗 FireResistance = 0; //属性攻击 ElementalProperty = null; //描述 FlavorText = null; function _typeof() { return "Equipment"; } constructor(...) { //直接裸构造 if (vargv.len() == 0) { } //通过参数构造 else if (vargv.len() == 1) { local EquInfo; //通过ID构造 if (typeof vargv[0] == "integer") { EquInfo = AssetManager.GetEquipment(vargv[0]); Idx = vargv[0]; ConstructEquipmentFromScript(EquInfo); } //通过Table来构造 else if (typeof vargv[0] == "table") { local Info = vargv[0]; EquInfo = AssetManager.GetEquipment(Info.EquipId); Idx = Info.EquipId; ConstructEquipmentFromScript(EquInfo); IterateEquipmentBasedOnActualEquipmentInformation(Info); } } } //根据装备实际信息迭代装备 function IterateEquipmentBasedOnActualEquipmentInformation(Info) { //装备附魔 //TODO //装备强化等级或增幅等级 this.Upgrade = Info.EquipUpgrade; //装备锻造等级 this.SeparateLevel = Info.EquipSeparate; //装备增幅属性 this.EquipIncrease = Info.EquipIncrease; //装备力量百分比 this.PhysicalAttack *= (Info.EquipPowerPercentage.tofloat() / 100.0); //装备智力百分比 this.MagicalAttack *= (Info.EquipIntellectPercentage.tofloat() / 100.0); //装备体力百分比 this.PhysicalDefense *= (Info.EquipStaminaPercentage.tofloat() / 100.0); //装备精神百分比 this.MagicalDefense *= (Info.EquipSpiritPercentage.tofloat() / 100.0); //装备物理攻击百分比 this.EquipmentPhysicalAttack = this.EquipmentPhysicalAttack[0] + ((this.EquipmentPhysicalAttack[1] - this.EquipmentPhysicalAttack[0]) * (Info.EquipPhysicalAttackPercentage.tofloat() / 100.0)); //装备魔法攻击百分比 this.EquipmentMagicalAttack = this.EquipmentMagicalAttack[0] + ((this.EquipmentMagicalAttack[1] - this.EquipmentMagicalAttack[0]) * (Info.EquipMagicAttackPercentage.tofloat() / 100.0)); //装备独立攻击百分比 this.SeparateAttack = this.SeparateAttack[0] + ((this.SeparateAttack[1] - this.SeparateAttack[0]) * (Info.EquipIndependentAttackPercentage.tofloat() / 100.0)); //装备物理防御百分比 this.EquipmentPhysicalDefense = this.EquipmentPhysicalDefense[0] + ((this.EquipmentPhysicalDefense[1] - this.EquipmentPhysicalDefense[0]) * (Info.EquipPhysicalDefensePercentage.tofloat() / 100.0)); //装备魔法防御百分比 this.EquipmentMagicalDefense = this.EquipmentMagicalDefense[0] + ((this.EquipmentMagicalDefense[1] - this.EquipmentMagicalDefense[0]) * (Info.EquipMagicDefensePercentage.tofloat() / 100.0)); //装备全属强 this.AllElementalAttack += Info.EquipAllElementalAttack; //装备水属强 this.WaterAttack += Info.EquipWaterAttack; //装备火属强 this.FireAttack += Info.EquipFireAttack; //装备光属强 this.LightAttack += Info.EquipLightAttack; //装备暗属强 this.DarkAttack += Info.EquipDarkAttack; //装备品质 this.Percentage = Info.EquipPercentage; //装备再封装次数 this.WrapCount = Info.EquipWrapCount; //装备是否封装 this.IsWrap = Info.EquipIsWrap; //耐久度 this.CurrentDurability = Info.EquipDurability; //交易类型 this.TradeType = Info.EquipTradeType; } //根据装备脚本信息构造装备 function ConstructEquipmentFromScript(EquInfo) { //如果获取到对应的装备脚本信息 if (EquInfo) { //名称 if (EquInfo.rawin("name")) Name = EquInfo["name"]; //类型 if (EquInfo.rawin("type")) GetRealEquipmentType(EquInfo["type"].path); //最低使用等级 if (EquInfo.rawin("minimum level")) Minimum_level = EquInfo["minimum level"]; //等级组 if (EquInfo.rawin("grade")) Grade = EquInfo["grade"]; //稀有度 if (EquInfo.rawin("rarity")) Rarity = EquInfo["rarity"]; //重量 if (EquInfo.rawin("weight")) Weight = EquInfo["weight"]; //组名 if (EquInfo.rawin("item group name")) GroupName = EquInfo["item group name"]; //购买价格 if (EquInfo.rawin("price")) Price = EquInfo["price"]; //维修价格 if (EquInfo.rawin("repair price")) RepairPrice = EquInfo["repair price"]; //出售价格 if (EquInfo.rawin("value")) SellPrice = EquInfo["value"]; //耐久度 if (EquInfo.rawin("durability")) Durability = EquInfo["durability"]; //冒险家名望 if (EquInfo.rawin("adventurerfame")) AdventurerFame = EquInfo["adventurerfame"]; //职业 if (EquInfo.rawin("usable_job")) Job = EquInfo["usable_job"]; //图标 if (EquInfo.rawin("icon")) Icon = EquInfo["icon"]; if (EquInfo.rawin("Ani")) Animation_Job = EquInfo["Ani"]; if (EquInfo.rawin("DirPath")) DirPath = EquInfo["DirPath"]; if (EquInfo.rawin("aurora_effects")) Aurora_effects = EquInfo["aurora_effects"]; //四维 if (EquInfo.rawin("physical attack")) PhysicalAttack = EquInfo["physical attack"]; if (EquInfo.rawin("magical attack")) MagicalAttack = EquInfo["magical attack"]; if (EquInfo.rawin("physical defense")) PhysicalDefense = EquInfo["physical defense"]; if (EquInfo.rawin("magical defense")) MagicalDefense = EquInfo["magical defense"]; //属强 if (EquInfo.rawin("all elemental attack")) AllElementalAttack = EquInfo["all elemental attack"]; if (EquInfo.rawin("dark attack")) DarkAttack = EquInfo["dark attack"]; if (EquInfo.rawin("light attack")) LightAttack = EquInfo["light attack"]; if (EquInfo.rawin("water attack")) WaterAttack = EquInfo["water attack"]; if (EquInfo.rawin("fire attack")) FireAttack = EquInfo["fire attack"]; //三攻 if (EquInfo.rawin("equipment physical attack")) EquipmentPhysicalAttack = EquInfo["equipment physical attack"]; else EquipmentPhysicalAttack = [0, 0]; if (EquInfo.rawin("equipment magical attack")) EquipmentMagicalAttack = EquInfo["equipment magical attack"]; else EquipmentMagicalAttack = [0, 0]; if (EquInfo.rawin("separate attack")) SeparateAttack = EquInfo["separate attack"]; else SeparateAttack = [0, 0]; //物理防御和魔法防御 if (EquInfo.rawin("equipment physical defense")) EquipmentPhysicalDefense = EquInfo["equipment physical defense"]; else EquipmentPhysicalDefense = [0, 0]; if (EquInfo.rawin("equipment magical defense")) EquipmentMagicalDefense = EquInfo["equipment magical defense"]; else EquipmentMagicalDefense = [0, 0]; //三速 if (EquInfo.rawin("attack speed")) AttackSpeed = EquInfo["attack speed"]; if (EquInfo.rawin("cast speed")) CastSpeed = EquInfo["cast speed"]; if (EquInfo.rawin("move speed")) MoveSpeed = EquInfo["move speed"]; //双暴 if (EquInfo.rawin("physical critical hit")) PhysicalCriticalHit = EquInfo["physical critical hit"]; if (EquInfo.rawin("magical critical hit")) MagicalCriticalHit = EquInfo["magical critical hit"]; //命中率 if (EquInfo.rawin("stuck")) Stuck = -EquInfo["stuck"]; //四属抗 if (EquInfo.rawin("dark resistance")) DarkResistance = EquInfo["dark resistance"]; if (EquInfo.rawin("light resistance")) LightResistance = EquInfo["light resistance"]; if (EquInfo.rawin("water resistance")) WaterResistance = EquInfo["water resistance"]; if (EquInfo.rawin("fire resistance")) FireResistance = EquInfo["fire resistance"]; //属性攻击 if (EquInfo.rawin("elemental property")) ElementalProperty = EquInfo["elemental property"]; //描述 if (EquInfo.rawin("flavor text")) FlavorText = EquInfo["flavor text"]; } else error("没有对应的装备信息"); } //设置真实装备类型 function SetRealEquipmentType(AType, BType) { SlotType = AType; Type = BType; } //获取真实装备类型 function GetRealEquipmentType(EType) { if (EType == "skin avatar") SetRealEquipmentType("skin", "avatar"); else if (EType == "weapon") SetRealEquipmentType("weapon", "equipment"); else if (EType == "hat avatar") SetRealEquipmentType("hat", "avatar"); else if (EType == "hair avatar") SetRealEquipmentType("hair", "avatar"); else if (EType == "coat avatar") SetRealEquipmentType("coat", "avatar"); else if (EType == "pants avatar") SetRealEquipmentType("pants", "avatar"); else if (EType == "waist avatar") SetRealEquipmentType("waist", "avatar"); else if (EType == "shoes avatar") SetRealEquipmentType("shoes", "avatar"); else if (EType == "breast avatar") SetRealEquipmentType("breast", "avatar"); else if (EType == "face avatar") SetRealEquipmentType("face", "avatar"); else if (EType == "aurora avatar") SetRealEquipmentType("aurora", "aurora"); } //穿戴装备回调 function OnWearStart() { } //穿戴时 function OnWearProc(Dt) { } //卸载时 function OnWearEnd() { } }