function Sq_DrawMainMaxLayerCustomUI(pack) { local obj = sq_GetMyMasterCharacter(); if (!obj) return; local RootTab = getroottable(); if (RootTab.rawin("LenheartBaseFuncTab")) { local LenheartFunc = RootTab["LenheartBaseFuncTab"]; foreach(Func in LenheartFunc) { Func(obj); } } DrawYosinEventIconSystem(obj); DrawYosinPlayerEachSystem(obj); // AvatarShape(obj); //时装变身 DamageFont(obj); //伤害字体 DargonBox(obj); //龙盒 Medal(obj); //勋章系统 Anton(obj); //安图恩 AntonTopDraw(obj); //安图恩绘制 Luke(obj); //卢克 DrawLukeParty(obj); //卢克绘制 //TeamDPS(obj);//队伍dps BuffSwitching(obj); //buff换装 UpgradeSystem(obj); //新版强化系统 Ptst(obj); //护石系统 Raid_Auction(obj); //团本竞拍 // SignIn(obj); //每日签到 ServerAuction(obj); //全服拍卖 // OnlineEvent(obj); //在线活动 MarrySystem(obj); //结婚系统 WorldTower(obj); //世界之塔 Fate_Select(obj); //命运的抉择 local RootTab = getroottable(); if (RootTab.rawin("LenheartFuncTab")) { local LenheartFunc = RootTab["LenheartFuncTab"]; foreach(Func in LenheartFunc) { Func(obj); } } Lenheartancient(obj); LenheartSeverNotiAnimotion(obj); } /* */ function Lenheartancient(obj) { if (!obj) return; local WeaponIndex = [28285]; local ExWeaponIndex = [28285]; local OpenSwitch = 0; foreach(v in WeaponIndex) { if (L_sq_GetCharacterAttribute(0x1c, 1) == v) OpenSwitch = 1; } foreach(v in WeaponIndex) { if (L_sq_GetCharacterAttribute(0x1c, 1) == v) OpenSwitch = 2; } if (OpenSwitch == 0) return; obj = sq_GetCNRDObjectToSQRCharacter(obj); local OutbreakBool = obj.getMyPassiveObject(48882, 0); //获取我创造的obj 荒古开启信号 local ap = obj.GetSquirrelAppendage("nutweapon/ancient/ap_ancient.nut"); //获取AP local AncientAttackHit = obj.getVar("AncientAttackHit"); //定义储存器 local AncientPowerValue = AncientAttackHit.getInt(0); //获取荒古魔能积攒数值 local AncientPowerStaAdd = 350; //获取常规状态伤害增加率 local AncientPowerLisAdd = 200; //获取魔能开启状态伤害增加率 if (OpenSwitch == 2 && AncientPowerValue == 0) { AncientAttackHit.setInt(0, 100); } AncientAttackHit.setInt(10, AncientPowerStaAdd); //设置技能伤害提升 -- 常规 if (!CNSquirrelAppendage.sq_IsAppendAppendage(obj, "nutweapon/ancient/ap_ancient.nut")) //如果AP不在身上 附加AP给 人物 { CNSquirrelAppendage.sq_RemoveAppendage(obj, "nutweapon/ancient/ap_ancient.nut"); local masterAppendage = CNSquirrelAppendage.sq_AppendAppendage(obj, obj, -1, false, "nutweapon/ancient/ap_ancient.nut", true); } if (AncientPowerValue == 101 || AncientPowerValue == 103 || AncientPowerValue == 105 || AncientPowerValue == 107) //开启魔能的后续状态 { if (OutbreakBool || AncientPowerValue == 103 || AncientPowerValue == 105) { AncientAttackHit.setInt(0, AncientPowerValue + 1); CNSquirrelAppendage.sq_RemoveAppendage(obj, "nutweapon/ancient/ap_ancient.nut"); local masterAppendage = CNSquirrelAppendage.sq_AppendAppendage(obj, obj, -1, false, "nutweapon/ancient/ap_ancient.nut", true); } if (AncientPowerValue == 107) { obj.sq_SendCreatePassiveObjectPacket(48883, 0, 0, 0, 0); AncientAttackHit.setInt(0, 0); } } if (AncientPowerValue >= 102) AncientAttackHit.setInt(10, AncientPowerStaAdd + AncientPowerLisAdd); //如果魔能开启则设置技能伤害提升 --爆发 } function proc_appendage_ancient(appendage) { if (!appendage) return; local obj = appendage.getParent(); //获取父对象 obj = sq_GetCNRDObjectToSQRCharacter(obj); //转换为角色类 local AncientAttackHit = obj.getVar("AncientAttackHit"); //定义储存器 local AncientPowerValue = AncientAttackHit.getInt(0); //获取荒古魔能数值 if (AncientAttackHit.getInt(16) != AncientAttackHit.getInt(0)) //储存器 缓冲值 不等于 荒古魔能数值 { if (AncientPowerValue == 0) //魔能为0删除动画 { appendage.sq_DeleteEffectFront(); } if (AncientPowerValue > 0 && AncientPowerValue< 20) //画动画 { if (AncientAttackHit.getInt(16) <= 0 || AncientAttackHit.getInt(16) >= 20) { appendage.sq_DeleteEffectFront(); appendage.sq_AddEffectFront("common/nutwepen/ancient/1/particle2.ani"); } } if (AncientPowerValue >= 20 && AncientPowerValue< 40) //画动画 { if (AncientAttackHit.getInt(16)< 20 || AncientAttackHit.getInt(16) >= 40) { appendage.sq_DeleteEffectFront(); appendage.sq_AddEffectFront("common/nutwepen/ancient/2/particle2.ani"); } } if (AncientPowerValue >= 40 && AncientPowerValue< 60) //画动画 { if (AncientAttackHit.getInt(16)< 40 || AncientAttackHit.getInt(16) >= 60) { appendage.sq_DeleteEffectFront(); appendage.sq_AddEffectFront("common/nutwepen/ancient/3/particle1.ani"); } } if (AncientPowerValue >= 60 && AncientPowerValue< 80) //画动画 { if (AncientAttackHit.getInt(16)< 60 || AncientAttackHit.getInt(16) >= 80) { appendage.sq_DeleteEffectFront(); appendage.sq_AddEffectFront("common/nutwepen/ancient/4/particle1.ani"); } } if (AncientPowerValue >= 80 && AncientPowerValue< 100) //画动画 { if (AncientAttackHit.getInt(16)< 80 || AncientAttackHit.getInt(16) >= 100) { appendage.sq_DeleteEffectFront(); appendage.sq_AddEffectFront("common/nutwepen/ancient/5/particle1.ani"); } } if (AncientPowerValue == 100) //画动画 { if (AncientAttackHit.getInt(16)< 100) { appendage.sq_DeleteEffectFront(); appendage.sq_AddEffectFront("common/nutwepen/ancient/6/new_effect.ani"); AncientAttackHit.setInt(0, AncientAttackHit.getInt(0) + 1); } } //开启魔能后 if (AncientPowerValue == 102 && AncientAttackHit.getInt(16) != 102) { appendage.sq_DeleteEffectFront(); appendage.sq_AddEffectFront("common/nutwepen/ancient/open/01_red/red_onedodge2.ani"); } if (AncientPowerValue == 104 && AncientAttackHit.getInt(16) != 104) { appendage.sq_DeleteEffectFront(); appendage.sq_AddEffectFront("common/nutwepen/ancient/open/02_yellow/yellow_onedodge2.ani"); } if (AncientPowerValue == 106 && AncientAttackHit.getInt(16) != 106) { appendage.sq_DeleteEffectFront(); appendage.sq_AddEffectFront("common/nutwepen/ancient/open/03_white/white_onedodge2.ani"); } AncientAttackHit.setInt(16, AncientAttackHit.getInt(0)); //同步储存器 缓冲值和魔能值 } local Time = appendage.getTimer().Get(); //获取AP持续时间 if (Time > AncientAttackHit.getInt(15) && AncientPowerValue< 100) //AP时间大于 储存器中的缓冲时间 并且魔能值小于100 { if (Time - AncientAttackHit.getInt(15) >= 5000) //如果超过五秒没有攻击 { AncientAttackHit.setInt(0, AncientPowerValue - 10); //减少十点魔能 AncientAttackHit.setInt(15, appendage.getTimer().Get()); //同步缓冲区 if (AncientAttackHit.getInt(0)< 0) AncientAttackHit.setInt(0, 0); //如果是负数就归零 } } if (AncientPowerValue > 101) //如果处于魔能开启状态 { if (Time > 7000) //每过7秒 进入下一阶段 { AncientAttackHit.setInt(0, AncientPowerValue + 1); appendage.setValid(false); } } } function onAttackParent_appendage_ancient(appendage, realAttacker, damager, boundingBox, isStuck) { if (!appendage) return; local obj = appendage.getParent(); //获取父对象 obj = sq_GetCNRDObjectToSQRCharacter(obj); //转化为角色类对象 local AncientAttackHit = obj.getVar("AncientAttackHit"); //定义储存器 AncientAttackHit.clear_vector(); //清栈 初始化储存器 local AncientPowerValue = AncientAttackHit.getInt(0); //获取魔能值 if (AncientPowerValue< 100) //魔能值小于100时 { AncientAttackHit.setInt(0, AncientPowerValue + 1); //攻击魔能值+1 AncientAttackHit.setInt(15, appendage.getTimer().Get()); //同步储存器缓冲时间 } }