| 
									
										
										
										
											2024-09-16 17:09:36 +08:00
										 |  |  | /* | 
					
						
							|  |  |  | 文件名:Rindro_Anton_Reward.nut | 
					
						
							|  |  |  | 路径:Plugins/New_Anton/Rindro_Anton_Reward.nut | 
					
						
							|  |  |  | 创建日期:2024-07-29	10:04 | 
					
						
							|  |  |  | 文件用途:安图恩翻牌奖励 | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | class Rindro_Anton_RewardC extends LenheartNewUI_Windows { | 
					
						
							|  |  |  |     //调试模式 | 
					
						
							|  |  |  |     // DeBugMode = true; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     NoWindow = true; | 
					
						
							|  |  |  |     //奖励阶段 | 
					
						
							|  |  |  |     Stage = 1; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //小队奖励包 | 
					
						
							|  |  |  |     PartyReward = null; | 
					
						
							|  |  |  |     //团队奖励包 | 
					
						
							|  |  |  |     TeamReward = null; | 
					
						
							|  |  |  |     //死亡次数 | 
					
						
							|  |  |  |     Deaths = 0; | 
					
						
							|  |  |  |     //通关时间 | 
					
						
							|  |  |  |     Time = 0; | 
					
						
							|  |  |  |     //奖励动画开始时间 | 
					
						
							|  |  |  |     AniStartFlag = null; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //紫色闪光 | 
					
						
							|  |  |  |     PurpleLight = null; | 
					
						
							|  |  |  |     //粉色闪光 | 
					
						
							|  |  |  |     PinkLight = null; | 
					
						
							|  |  |  |     //金色闪光 | 
					
						
							|  |  |  |     GoldenLight = null; | 
					
						
							|  |  |  |     //彩色闪光 | 
					
						
							|  |  |  |     RarityLight = null; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     ItemNameColor = [ | 
					
						
							|  |  |  |         0xffffffff, //白装 | 
					
						
							|  |  |  |         0xffedd568, //蓝装 | 
					
						
							|  |  |  |         0xffff6bb3, //紫装 | 
					
						
							|  |  |  |         0xfff000ff, //粉装 | 
					
						
							|  |  |  |         0xff0082ff, //传说 | 
					
						
							|  |  |  |         0xff00b1ff //史诗 | 
					
						
							|  |  |  |     ] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //X Y 裁切开始X Y 裁切结束X  Y | 
					
						
							|  |  |  |     OffsetArr = [ | 
					
						
							|  |  |  |         //男鬼剑士 | 
					
						
							|  |  |  |         [56, 112, 220, 222], | 
					
						
							|  |  |  |         //女格斗家 | 
					
						
							|  |  |  |         [54, 103, 240, 278], | 
					
						
							|  |  |  |         //男神枪手 | 
					
						
							|  |  |  |         [55, 130, 236, 246], | 
					
						
							|  |  |  |         //女魔法师 | 
					
						
							|  |  |  |         [57, 88, 234, 291], | 
					
						
							|  |  |  |         //男圣职者 | 
					
						
							|  |  |  |         [57, 124, 208, 190], | 
					
						
							|  |  |  |         //女神枪手 | 
					
						
							|  |  |  |         [56, 119, 226, 209], | 
					
						
							|  |  |  |         //暗夜使者 | 
					
						
							|  |  |  |         [56, 117, 225, 212], | 
					
						
							|  |  |  |         //男格斗家 | 
					
						
							|  |  |  |         [56, 118, 233, 212], | 
					
						
							|  |  |  |         //男魔法师 | 
					
						
							|  |  |  |         [54, 103, 236, 276], | 
					
						
							|  |  |  |         //黑暗武士 | 
					
						
							|  |  |  |         [56, 112, 220, 222], | 
					
						
							|  |  |  |         //缔造者 | 
					
						
							|  |  |  |         [57, 88, 234, 291], | 
					
						
							|  |  |  |     ] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH) { | 
					
						
							|  |  |  |         PurpleLight = []; | 
					
						
							|  |  |  |         PinkLight = []; | 
					
						
							|  |  |  |         GoldenLight = []; | 
					
						
							|  |  |  |         RarityLight = []; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         Childrens = []; | 
					
						
							|  |  |  |         //注册控件 | 
					
						
							|  |  |  |         RegisterWidget(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         LenheartNewUI_Windows.constructor(gObjectId, gX, gY, gWidth, gHeight, gTitleH); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         local PurpleFrameArr = []; | 
					
						
							|  |  |  |         for (local i = 0; i< 11; i++) { | 
					
						
							|  |  |  |             local T = { | 
					
						
							|  |  |  |                 ImgIndex = i, | 
					
						
							|  |  |  |                 Delay = 60, | 
					
						
							|  |  |  |                 Pos = [0, 0] | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             PurpleFrameArr.append(T); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         for (local i = 0; i< 24; i++) { | 
					
						
							|  |  |  |             local PurpleLightBuf = Lenheart_Ani("", PurpleFrameArr, [0, 0]); | 
					
						
							|  |  |  |             PurpleLightBuf.ImgPath = "common/commoneffect/itemdropeffect/rare_beam.img"; | 
					
						
							|  |  |  |             PurpleLightBuf.LoopFlag = false; | 
					
						
							|  |  |  |             PurpleLight.append(PurpleLightBuf); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         local PinkFrameArr = []; | 
					
						
							|  |  |  |         for (local i = 0; i< 11; i++) { | 
					
						
							|  |  |  |             local T = { | 
					
						
							|  |  |  |                 ImgIndex = i, | 
					
						
							|  |  |  |                 Delay = 60, | 
					
						
							|  |  |  |                 Pos = [0, 0] | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             PinkFrameArr.append(T); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         for (local i = 0; i< 24; i++) { | 
					
						
							|  |  |  |             local PinkLightBuf = Lenheart_Ani("", PinkFrameArr, [0, 0]); | 
					
						
							|  |  |  |             PinkLightBuf.ImgPath = "common/commoneffect/itemdropeffect/unique_beam.img"; | 
					
						
							|  |  |  |             PinkLightBuf.LoopFlag = false; | 
					
						
							|  |  |  |             PinkLight.append(PinkLightBuf); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         local FrameArr = []; | 
					
						
							|  |  |  |         for (local i = 0; i< 11; i++) { | 
					
						
							|  |  |  |             local T = { | 
					
						
							|  |  |  |                 ImgIndex = i, | 
					
						
							|  |  |  |                 Delay = 60, | 
					
						
							|  |  |  |                 Pos = [0, 0] | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             FrameArr.append(T); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         for (local i = 0; i< 24; i++) { | 
					
						
							|  |  |  |             local GoldenLightBuf = Lenheart_Ani("anton/lightbar.img", FrameArr, [0, 0]); | 
					
						
							|  |  |  |             GoldenLightBuf.ImgPath = "anton/lightbar.img"; | 
					
						
							|  |  |  |             GoldenLightBuf.LoopFlag = false; | 
					
						
							|  |  |  |             GoldenLight.append(GoldenLightBuf); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         local FrameArr2 = []; | 
					
						
							|  |  |  |         for (local i = 0; i< 11; i++) { | 
					
						
							|  |  |  |             local T = { | 
					
						
							|  |  |  |                 ImgIndex = i, | 
					
						
							|  |  |  |                 Delay = 60, | 
					
						
							|  |  |  |                 Pos = [0, 0] | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             FrameArr2.append(T); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         for (local i = 0; i< 24; i++) { | 
					
						
							|  |  |  |             local RarityLightBuf = Lenheart_Ani("anton/lightbar.img", FrameArr2, [0, 0]); | 
					
						
							|  |  |  |             RarityLightBuf.ImgPath = "anton/ralightbar.img"; | 
					
						
							|  |  |  |             RarityLightBuf.LoopFlag = false; | 
					
						
							|  |  |  |             RarityLight.append(RarityLightBuf); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function Init(Info) { | 
					
						
							|  |  |  |         Stage = Info.state; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //小队奖励信息 | 
					
						
							|  |  |  |         PartyReward = []; | 
					
						
							|  |  |  |         for (local i = 0; i< 4; i++) { | 
					
						
							|  |  |  |             if (Info.rewards.len() > i && Info.rewards[i].item != -1) { | 
					
						
							|  |  |  |                 Info.rewards[i].Flag <- true; | 
					
						
							|  |  |  |                 PartyReward.append(Info.rewards[i]); | 
					
						
							|  |  |  |             } else { | 
					
						
							|  |  |  |                 PartyReward.append({ | 
					
						
							|  |  |  |                     Flag = false | 
					
						
							|  |  |  |                 }); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         TeamReward = []; | 
					
						
							|  |  |  |         for (local i = 0; i< 20; i++) { | 
					
						
							|  |  |  |             if (Info.rewards2.len() > i && Info.rewards2[i][0].item != -1) { | 
					
						
							|  |  |  |                 Info.rewards2[i][0].Flag <- true; | 
					
						
							|  |  |  |                 TeamReward.append(Info.rewards2[i][0]); | 
					
						
							|  |  |  |             } else { | 
					
						
							|  |  |  |                 TeamReward.append({ | 
					
						
							|  |  |  |                     Flag = false | 
					
						
							|  |  |  |                 }); | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         Deaths = Info.deathsNum; | 
					
						
							|  |  |  |         Time = Info.time; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         AniName_Flag = Clock(); | 
					
						
							|  |  |  |         AniStartFlag = Clock(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //重置演出Flag | 
					
						
							|  |  |  |         ActFlag = 0; | 
					
						
							|  |  |  |         //重置紫色闪光 | 
					
						
							|  |  |  |         foreach(obj in PurpleLight) { | 
					
						
							|  |  |  |             obj.Reset(); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         //重置粉色闪光 | 
					
						
							|  |  |  |         foreach(obj in PinkLight) { | 
					
						
							|  |  |  |             obj.Reset(); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         //重置金色闪光 | 
					
						
							|  |  |  |         foreach(obj in GoldenLight) { | 
					
						
							|  |  |  |             obj.Reset(); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         //重置彩色闪光 | 
					
						
							|  |  |  |         foreach(obj in RarityLight) { | 
					
						
							|  |  |  |             obj.Reset(); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         Visible = true; | 
					
						
							|  |  |  |         ResetFocus(); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function RegisterWidget() { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     AniName_Flag = 0; | 
					
						
							|  |  |  |     //演出Flag | 
					
						
							|  |  |  |     ActFlag = 0; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //绘制主界面 | 
					
						
							|  |  |  |     function DrawMain(obj) { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         //如果初始化完成 | 
					
						
							|  |  |  |         if (AniStartFlag) { | 
					
						
							|  |  |  |             local ExiTime = Clock() - AniStartFlag; | 
					
						
							|  |  |  |             //已经过时间 | 
					
						
							|  |  |  |             local FlagTime = 0; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             //绘制背景 | 
					
						
							|  |  |  |             L_sq_DrawImg("hud/newantondungeonreward.img", 0, X + 0, Y + 0, 1, sq_RGBA(255, 255, 255, 150), 1.0, 1.0); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             //绘制标题 | 
					
						
							|  |  |  |             local TitleImgIdx = 1; | 
					
						
							|  |  |  |             if (Stage == 2) TitleImgIdx = 24; | 
					
						
							|  |  |  |             local TileMoveTime = 350; | 
					
						
							|  |  |  |             local TitleXposOffset = sq_GetAccel(0, 230, ExiTime, TileMoveTime, true); | 
					
						
							|  |  |  |             local TitleAlphaOffset = sq_GetAccel(0, 100, ExiTime, TileMoveTime, true); | 
					
						
							|  |  |  |             L_sq_DrawImg("hud/newantondungeonreward.img", TitleImgIdx, X + TitleXposOffset, Y + 40, 1, sq_RGBA(255, 255, 255, 150 + TitleAlphaOffset), 1.0, 1.0); | 
					
						
							|  |  |  |             if (TitleXposOffset >= 230 && ActFlag == 0) { | 
					
						
							|  |  |  |                 ActFlag = 1; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |             FlagTime += TileMoveTime; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             //绘制成功标志 | 
					
						
							|  |  |  |             if (ActFlag >= 1) { | 
					
						
							|  |  |  |                 //绘制成功 | 
					
						
							|  |  |  |                 local SuccessMoveTime = 350; | 
					
						
							|  |  |  |                 local SuccessXposOffset = sq_GetAccel(150, 440, ExiTime - FlagTime, SuccessMoveTime, true); | 
					
						
							|  |  |  |                 local SuccessAlphaOffset = sq_GetAccel(0, 100, ExiTime - FlagTime, SuccessMoveTime, true); | 
					
						
							|  |  |  |                 L_sq_DrawImg("hud/newantondungeonreward.img", 2, X + SuccessXposOffset, Y + 30, 1, sq_RGBA(255, 255, 255, 150 + SuccessAlphaOffset), 1.0, 1.0); | 
					
						
							|  |  |  |                 if (SuccessXposOffset >= 440 && ActFlag == 1) { | 
					
						
							|  |  |  |                     ActFlag = 2; | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 FlagTime += SuccessMoveTime; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             //绘制时间底槽 | 
					
						
							|  |  |  |             if (ActFlag >= 2) { | 
					
						
							|  |  |  |                 local TimeSlotMoveTime = 350; | 
					
						
							|  |  |  |                 local TimeSlotXposOffset = sq_GetAccel(280, 120, ExiTime - FlagTime, TimeSlotMoveTime, true); | 
					
						
							|  |  |  |                 local TimeSlotAlphaOffset = sq_GetAccel(0, 100, ExiTime - FlagTime, TimeSlotMoveTime, true); | 
					
						
							|  |  |  |                 L_sq_DrawImg("hud/newantondungeonreward.img", 3, X + TimeSlotXposOffset, Y + 100, 1, sq_RGBA(255, 255, 255, 150 + TimeSlotAlphaOffset), 1.0, 1.0); | 
					
						
							|  |  |  |                 if (TimeSlotXposOffset <= 120 && ActFlag == 2) { | 
					
						
							|  |  |  |                     ActFlag = 3; | 
					
						
							|  |  |  |                     FlagTime += TimeSlotMoveTime; | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             //绘制通关时间 | 
					
						
							|  |  |  |             if (ActFlag >= 3) { | 
					
						
							|  |  |  |                 local Yoffset = 114; | 
					
						
							|  |  |  |                 local al = sq_GetUniformVelocity(0, 100, ExiTime - FlagTime, 800); | 
					
						
							|  |  |  |                 local AlphaValue = al.tofloat() / 100.0; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 local DrawTime = Time; | 
					
						
							|  |  |  |                 if (al< 100) { | 
					
						
							|  |  |  |                     DrawTime = (Time - 500) + ((500 * AlphaValue).tointeger()); | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |                 local seconds = DrawTime / 10; | 
					
						
							|  |  |  |                 local hours = seconds / 3600; | 
					
						
							|  |  |  |                 local minutes = seconds / 60; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 seconds %= 60; | 
					
						
							|  |  |  |                 hours = format("%02d", hours); | 
					
						
							|  |  |  |                 seconds = format("%02d", seconds).slice(-2); | 
					
						
							|  |  |  |                 minutes = format("%02d", minutes).slice(-2); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 local Offset = -6; | 
					
						
							|  |  |  |                 L_sq_DrawImg("hud/newantonrewardtime.img", hours.slice(0, 1).tointeger(), X + 240 + Offset, Y + Yoffset, 1, sq_RGBA(255, 255, 255, (250.0 * AlphaValue).tointeger()), 1.0, 1.0); | 
					
						
							|  |  |  |                 L_sq_DrawImg("hud/newantonrewardtime.img", hours.slice(1).tointeger(), X + 260 + Offset, Y + Yoffset, 1, sq_RGBA(255, 255, 255, (250.0 * AlphaValue).tointeger()), 1.0, 1.0); | 
					
						
							|  |  |  |                 L_sq_DrawImg("hud/newantonrewardtime.img", 10, X + 286 + Offset, Y + Yoffset, 1, sq_RGBA(255, 255, 255, (250.0 * AlphaValue).tointeger()), 1.0, 1.0); | 
					
						
							|  |  |  |                 Offset += 60; | 
					
						
							|  |  |  |                 L_sq_DrawImg("hud/newantonrewardtime.img", minutes.slice(0, 1).tointeger(), X + 240 + Offset, Y + Yoffset, 1, sq_RGBA(255, 255, 255, (250.0 * AlphaValue).tointeger()), 1.0, 1.0); | 
					
						
							|  |  |  |                 L_sq_DrawImg("hud/newantonrewardtime.img", minutes.slice(1).tointeger(), X + 260 + Offset, Y + Yoffset, 1, sq_RGBA(255, 255, 255, (250.0 * AlphaValue).tointeger()), 1.0, 1.0); | 
					
						
							|  |  |  |                 L_sq_DrawImg("hud/newantonrewardtime.img", 10, X + 286 + Offset, Y + Yoffset, 1, sq_RGBA(255, 255, 255, (250.0 * AlphaValue).tointeger()), 1.0, 1.0); | 
					
						
							|  |  |  |                 Offset += 60; | 
					
						
							|  |  |  |                 L_sq_DrawImg("hud/newantonrewardtime.img", seconds.slice(0, 1).tointeger(), X + 240 + Offset, Y + Yoffset, 1, sq_RGBA(255, 255, 255, (250.0 * AlphaValue).tointeger()), 1.0, 1.0); | 
					
						
							|  |  |  |                 L_sq_DrawImg("hud/newantonrewardtime.img", seconds.slice(1).tointeger(), X + 260 + Offset, Y + Yoffset, 1, sq_RGBA(255, 255, 255, (250.0 * AlphaValue).tointeger()), 1.0, 1.0); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 Offset += 160; | 
					
						
							|  |  |  |                 local DrawDieStr = format("%02d", Deaths); | 
					
						
							|  |  |  |                 L_sq_DrawImg("hud/newantonrewardtime.img", DrawDieStr.slice(0, 1).tointeger(), X + 240 + Offset, Y + Yoffset, 1, sq_RGBA(255, 255, 255, (250.0 * AlphaValue).tointeger()), 1.0, 1.0); | 
					
						
							|  |  |  |                 L_sq_DrawImg("hud/newantonrewardtime.img", DrawDieStr.slice(1).tointeger(), X + 260 + Offset, Y + Yoffset, 1, sq_RGBA(255, 255, 255, (250.0 * AlphaValue).tointeger()), 1.0, 1.0); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 if (al >= 100) { | 
					
						
							|  |  |  |                     if (ActFlag == 3) { | 
					
						
							|  |  |  |                         ActFlag = 4; | 
					
						
							|  |  |  |                         FlagTime += 800; | 
					
						
							|  |  |  |                     } | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             //绘制评分 | 
					
						
							|  |  |  |             if (ActFlag >= 4) { | 
					
						
							|  |  |  |                 local Ani = T_DrawDynamicAni(obj, "common/anton/reward/reward_rank_00.ani", X + 570, Y + 76, "安图恩评分" + AniName_Flag); | 
					
						
							|  |  |  |                 if (sq_IsEnd(Ani)) { | 
					
						
							|  |  |  |                     if (ActFlag == 4) { | 
					
						
							|  |  |  |                         ActFlag = 5; | 
					
						
							|  |  |  |                         FlagTime += 1900; | 
					
						
							|  |  |  |                     } | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             //绘制卡牌 | 
					
						
							|  |  |  |             if (ActFlag >= 5 && ActFlag< 7) { | 
					
						
							|  |  |  |                 local CardOpenFlag = false; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 local CradMoveTime = 1500; | 
					
						
							|  |  |  |                 local CradAlphaOffset = sq_GetAccel(0, 250, ExiTime - FlagTime, CradMoveTime, true); | 
					
						
							|  |  |  |                 FlagTime += 1500; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 local CradReduceTime = 300; | 
					
						
							|  |  |  |                 local CradXrate = sq_GetAccel(100, 2, ExiTime - FlagTime, CradReduceTime, true); | 
					
						
							|  |  |  |                 local RealXrate = CradXrate.tofloat() / 100.0; | 
					
						
							|  |  |  |                 FlagTime += 300; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 local OpenCradReduceTime = 300; | 
					
						
							|  |  |  |                 local OpenCradXrate = sq_GetAccel(2, 100, ExiTime - FlagTime, CradReduceTime, true); | 
					
						
							|  |  |  |                 local OpenRealXrate = OpenCradXrate.tofloat() / 100.0; | 
					
						
							|  |  |  |                 FlagTime += 300; | 
					
						
							|  |  |  |                 //如果时间来到了打开就转换 | 
					
						
							|  |  |  |                 if (OpenCradXrate > 2) CardOpenFlag = true; | 
					
						
							|  |  |  |                 //安图恩标题 | 
					
						
							|  |  |  |                 // L_sq_DrawImg("interface2/raid/anton/reward/anton_reward.img", 28, X + 124, Y + 180, 1, sq_RGBA(255, 255, 255, CradAlphaOffset), 1.0, 1.0); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 for (local i = 0; i< 4; i++) { | 
					
						
							|  |  |  |                     local CardInfo = PartyReward[i]; | 
					
						
							|  |  |  |                     local BackGroundAniIndex = 11; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                     //卡牌背面 | 
					
						
							|  |  |  |                     if (!CardOpenFlag) { | 
					
						
							|  |  |  |                         L_sq_DrawImg("interface2/raid/anton/reward/anton_reward.img", 26, X + 94 + (160 * i), Y + 340, 1, sq_RGBA(255, 255, 255, CradAlphaOffset), RealXrate, 1.0); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                     } else { | 
					
						
							|  |  |  |                         //无奖励 | 
					
						
							|  |  |  |                         if (CardInfo.Flag == false) { | 
					
						
							|  |  |  |                             L_sq_DrawImg("interface2/raid/anton/reward/anton_reward.img", 34, X + 94 + (160 * i), Y + 340, 1, sq_RGBA(255, 255, 255, CradAlphaOffset), OpenRealXrate, 1.0); | 
					
						
							|  |  |  |                         } else { | 
					
						
							|  |  |  |                             if (CardInfo.grade) { | 
					
						
							|  |  |  |                                 L_sq_DrawImg("interface2/raid/anton/reward/anton_reward.img", 32, X + 94 + (160 * i), Y + 340, 1, sq_RGBA(255, 255, 255, CradAlphaOffset), OpenRealXrate, 1.0); | 
					
						
							|  |  |  |                             } else { | 
					
						
							|  |  |  |                                 L_sq_DrawImg("interface2/raid/anton/reward/anton_reward.img", 31, X + 94 + (160 * i), Y + 340, 1, sq_RGBA(255, 255, 255, CradAlphaOffset), OpenRealXrate, 1.0); | 
					
						
							|  |  |  |                             } | 
					
						
							|  |  |  |                             //绘制物品边框 | 
					
						
							|  |  |  |                             if (OpenRealXrate >= 0.6) { | 
					
						
							| 
									
										
										
										
											2024-09-27 14:04:23 +08:00
										 |  |  |                                 local Rarity = Rindro_ItemInfoObject[CardInfo.item].Rarity; | 
					
						
							|  |  |  |                                 local Name = Rindro_ItemInfoObject[CardInfo.item].Name; | 
					
						
							| 
									
										
										
										
											2024-09-16 17:09:36 +08:00
										 |  |  |                                 L_sq_DrawImg("interface2/raid/anton/reward/anton_reward.img", 5 + Rarity, X + 156 + (160 * i), Y + 378, 1, sq_RGBA(255, 255, 255, CradAlphaOffset), OpenRealXrate, 1.0); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                                 //绘制物品 | 
					
						
							|  |  |  |                                 if (OpenRealXrate >= 1.0 && i == 3) { | 
					
						
							|  |  |  |                                     DrawItemBase(X + 159 + (160 * i), Y + 380, CardInfo.item, CardInfo.num); | 
					
						
							|  |  |  |                                     L_sq_DrawCode(Name, X + 174 + (160 * i) - LenheartTextClass.GetStringLength(Name) / 2, Y + 416, ItemNameColor[Rarity], 0, 1); | 
					
						
							|  |  |  |                                     // if (ActFlag == 5) { | 
					
						
							|  |  |  |                                     //     ActFlag = 6; | 
					
						
							|  |  |  |                                     // } | 
					
						
							|  |  |  |                                 } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                                 //物品出现光 | 
					
						
							|  |  |  |                                 if (!CardInfo.grade) { | 
					
						
							|  |  |  |                                     if (Rarity <= 2) { //低于紫色闪紫光 | 
					
						
							|  |  |  |                                         PurpleLight[20 + i].X = X + 90 + (160 * i) - 218 + 54; | 
					
						
							|  |  |  |                                         PurpleLight[20 + i].Y = Y + 320 - 152 - 24 - 7; | 
					
						
							|  |  |  |                                         L_sq_SetDrawImgModel(2, 0); | 
					
						
							|  |  |  |                                         PurpleLight[20 + i].Show(Duration); | 
					
						
							|  |  |  |                                         L_sq_ReleaseDrawImgModel(); | 
					
						
							|  |  |  |                                     } else if (Rarity == 3) { //粉光 | 
					
						
							|  |  |  |                                         PinkLight[20 + i].X = X + 90 + (160 * i) - 218 + 54; | 
					
						
							|  |  |  |                                         PinkLight[20 + i].Y = Y + 320 - 152 - 24 - 7; | 
					
						
							|  |  |  |                                         L_sq_SetDrawImgModel(2, 0); | 
					
						
							|  |  |  |                                         PinkLight[20 + i].Show(Duration); | 
					
						
							|  |  |  |                                         L_sq_ReleaseDrawImgModel(); | 
					
						
							|  |  |  |                                     } else if (Rarity == 4) { //金光 | 
					
						
							|  |  |  |                                         GoldenLight[20 + i].X = X + 90 + (160 * i) - 218; | 
					
						
							|  |  |  |                                         GoldenLight[20 + i].Y = Y + 320 - 152 - 7; | 
					
						
							|  |  |  |                                         GoldenLight[20 + i].Show(Duration); | 
					
						
							|  |  |  |                                     } | 
					
						
							|  |  |  |                                 } else { //彩光 | 
					
						
							|  |  |  |                                     RarityLight[20 + i].X = X + 90 + (160 * i) - 218; | 
					
						
							|  |  |  |                                     RarityLight[20 + i].Y = Y + 320 - 152 - 7; | 
					
						
							|  |  |  |                                     RarityLight[20 + i].Show(Duration); | 
					
						
							|  |  |  |                                 } | 
					
						
							|  |  |  |                             } | 
					
						
							|  |  |  |                         } | 
					
						
							|  |  |  |                         if (OpenRealXrate >= 1.0 && i == 3) { | 
					
						
							|  |  |  |                             if (ActFlag == 5) { | 
					
						
							|  |  |  |                                 ActFlag = 6; | 
					
						
							|  |  |  |                             } | 
					
						
							|  |  |  |                         } | 
					
						
							|  |  |  |                     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                     //绘制头像与名字 | 
					
						
							|  |  |  |                     if (ActFlag >= 6) { | 
					
						
							|  |  |  |                         if (CardInfo.Flag) { | 
					
						
							|  |  |  |                             DrawProfile(CardInfo.cid, X + 174 + (160 * i), Y + 356, 0); | 
					
						
							|  |  |  |                         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                         if (ExiTime - FlagTime >= 2000) { | 
					
						
							|  |  |  |                             if (ActFlag == 6) { | 
					
						
							|  |  |  |                                 FlagTime += 2000; | 
					
						
							|  |  |  |                                 ActFlag = 7; | 
					
						
							|  |  |  |                             } | 
					
						
							|  |  |  |                         } | 
					
						
							|  |  |  |                     } | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  |             } else { | 
					
						
							|  |  |  |                 FlagTime += 4100; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             //渐渐淡出2阶段 | 
					
						
							|  |  |  |             if (ActFlag >= 7) { | 
					
						
							|  |  |  |                 local CradMoveTime = 1500; | 
					
						
							|  |  |  |                 local CradAlphaOffset = sq_GetAccel(0, 250, ExiTime - FlagTime, CradMoveTime, true); | 
					
						
							|  |  |  |                 FlagTime += 1500; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 for (local i = 0; i< 20; i++) { | 
					
						
							|  |  |  |                     //奖励对象 | 
					
						
							|  |  |  |                     local CardInfo = TeamReward[i]; | 
					
						
							|  |  |  |                     if (CardInfo.Flag == false) { | 
					
						
							|  |  |  |                         L_sq_DrawImg("interface2/raid/anton/reward/anton_reward.img", 19, X + 89 + (128 * (i % 5)), Y + 220 + (80 * (i / 5)), 1, sq_RGBA(255, 255, 255, CradAlphaOffset), 1.0, 1.0); | 
					
						
							|  |  |  |                     } else { | 
					
						
							|  |  |  |                         //领取过奖励了 | 
					
						
							|  |  |  |                         if (CardInfo.item == -1) { | 
					
						
							|  |  |  |                             L_sq_DrawImg("interface2/raid/anton/reward/anton_reward.img", 24, X + 89 + (128 * (i % 5)), Y + 220 + (80 * (i / 5)), 1, sq_RGBA(255, 255, 255, CradAlphaOffset), 1.0, 1.0); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                         } else { | 
					
						
							|  |  |  |                             L_sq_DrawImg("hud/newantondungeonreward.img", 22, X + 89 + (128 * (i % 5)), Y + 220 + (80 * (i / 5)), 1, sq_RGBA(255, 255, 255, CradAlphaOffset), 1.0, 1.0); | 
					
						
							|  |  |  |                             if (CradAlphaOffset >= 200) DrawItemEx(X + 133 + (128 * (i % 5)), Y + 252 + (80 * (i / 5)), CardInfo.item, CardInfo.num); | 
					
						
							|  |  |  |                         } | 
					
						
							|  |  |  |                         if (CradAlphaOffset >= 200) | 
					
						
							|  |  |  |                             DrawProfile(CardInfo.cid, X + 160 + (128 * (i % 5)), Y + 229 + (80 * (i / 5)), -6); | 
					
						
							|  |  |  |                     } | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 if (CradAlphaOffset >= 200) { | 
					
						
							|  |  |  |                     for (local i = 0; i< 20; i++) { | 
					
						
							|  |  |  |                         //奖励对象 | 
					
						
							|  |  |  |                         local CardInfo = TeamReward[i]; | 
					
						
							|  |  |  |                         if (CardInfo.Flag && CardInfo.item != -1) { | 
					
						
							| 
									
										
										
										
											2024-09-27 14:04:23 +08:00
										 |  |  |                             local Rarity = Rindro_ItemInfoObject[CardInfo.item].Rarity; | 
					
						
							| 
									
										
										
										
											2024-09-16 17:09:36 +08:00
										 |  |  |                             //物品出现光 | 
					
						
							|  |  |  |                             if (!CardInfo.grade) { | 
					
						
							|  |  |  |                                 if (Rarity <= 2) { //低于紫色闪紫光 | 
					
						
							|  |  |  |                                     PurpleLight[i].X = X + 133 + (128 * (i % 5)) - 230; | 
					
						
							|  |  |  |                                     PurpleLight[i].Y = Y + 252 + (80 * (i / 5)) - 246; | 
					
						
							|  |  |  |                                     L_sq_SetDrawImgModel(2, 0); | 
					
						
							|  |  |  |                                     PurpleLight[i].Show(Duration); | 
					
						
							|  |  |  |                                     L_sq_ReleaseDrawImgModel(); | 
					
						
							|  |  |  |                                 } else if (Rarity == 3) { //粉光 | 
					
						
							|  |  |  |                                     PinkLight[i].X = X + 133 + (128 * (i % 5)) - 230; | 
					
						
							|  |  |  |                                     PinkLight[i].Y = Y + 252 + (80 * (i / 5)) - 246; | 
					
						
							|  |  |  |                                     L_sq_SetDrawImgModel(2, 0); | 
					
						
							|  |  |  |                                     PinkLight[i].Show(Duration); | 
					
						
							|  |  |  |                                     L_sq_ReleaseDrawImgModel(); | 
					
						
							|  |  |  |                                 } else if (Rarity == 4) { //金光 | 
					
						
							|  |  |  |                                     GoldenLight[i].X = X + 133 + (128 * (i % 5)) - 284; | 
					
						
							|  |  |  |                                     GoldenLight[i].Y = Y + 252 + (80 * (i / 5)) - 220; | 
					
						
							|  |  |  |                                     GoldenLight[i].Show(Duration); | 
					
						
							|  |  |  |                                 } | 
					
						
							|  |  |  |                             } else { //彩光 | 
					
						
							|  |  |  |                                 RarityLight[i].X = X + 133 + (128 * (i % 5)) - 284; | 
					
						
							|  |  |  |                                 RarityLight[i].Y = Y + 252 + (80 * (i / 5)) - 220; | 
					
						
							|  |  |  |                                 RarityLight[i].Show(Duration); | 
					
						
							|  |  |  |                             } | 
					
						
							|  |  |  |                         } | 
					
						
							|  |  |  |                     } | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |                 if (CradAlphaOffset >= 250 && (ExiTime - FlagTime >= 3000)) { | 
					
						
							|  |  |  |                     if (ActFlag == 7) { | 
					
						
							|  |  |  |                         FlagTime += 3000; | 
					
						
							|  |  |  |                         ActFlag = 8; | 
					
						
							|  |  |  |                         CloseWindow(); | 
					
						
							|  |  |  |                     } | 
					
						
							|  |  |  |                 } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function DrawProfile(Cid, gx, gy, CodeXOffset) { | 
					
						
							|  |  |  |         if (RinDro_Anton_Obj.Portrait.rawin(Cid)) { | 
					
						
							|  |  |  |             local InfoObj = RinDro_Anton_Obj.Portrait[Cid]; | 
					
						
							|  |  |  |             //绘制队长头像 | 
					
						
							|  |  |  |             foreach(AvatarObj in InfoObj.EquVos) { | 
					
						
							|  |  |  |                 local AXpos = AvatarObj.F[0][2] + X + OffsetArr[InfoObj.Job][0] + gx - 110; | 
					
						
							|  |  |  |                 local AYpos = AvatarObj.F[0][3] + Y + OffsetArr[InfoObj.Job][1] + gy - 5; | 
					
						
							|  |  |  |                 setClip(AXpos + OffsetArr[InfoObj.Job][2], AYpos + OffsetArr[InfoObj.Job][3], AXpos + OffsetArr[InfoObj.Job][2] + 22, AYpos + OffsetArr[InfoObj.Job][3] + 18); //开始裁切 | 
					
						
							|  |  |  |                 L_sq_DrawImg("character/" + AvatarObj.B + ".img", AvatarObj.F[0][0], AXpos, AYpos); | 
					
						
							|  |  |  |                 releaseClip(); //裁切结束 | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             L_sq_DrawCode(InfoObj.Name, gx + CodeXOffset - LenheartTextClass.GetStringLength(InfoObj.Name) / 2, gy, 0xff00b1ff, 0, 1); | 
					
						
							|  |  |  |         } else { | 
					
						
							|  |  |  |             L_sq_DrawImg("interface/lenheartwindowcommon.img", 606, gx - 65, gy - 2); | 
					
						
							|  |  |  |             L_sq_DrawCode("未知姓名玩家", gx - LenheartTextClass.GetStringLength("未知姓名玩家") / 2, gy, 0xff00b1ff, 0, 1); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function Show(obj) { | 
					
						
							|  |  |  |         DrawMain(obj); | 
					
						
							|  |  |  |         LenheartNewUI_Windows.Show(obj); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     //逻辑入口 | 
					
						
							|  |  |  |     function Proc(obj) { | 
					
						
							|  |  |  |         LenheartNewUI_Windows.SyncPos(X, Y); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | } |