From 04185670e09d67c23b07128aa6a6694cfd794cbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=97=E6=B2=A2=E5=93=8D=E4=B9=9F?= <72963826+Hibiya615@users.noreply.github.com> Date: Sat, 1 Aug 2026 22:07:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=AD=94=E4=B9=8B=E5=A1=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 00-Other/NewDuty.cs | 272 +++++++++++++++++++++++++++++++++++++++++++- OnlineRepo.json | 4 +- 2 files changed, 270 insertions(+), 6 deletions(-) diff --git a/00-Other/NewDuty.cs b/00-Other/NewDuty.cs index 7d2d126..8f601c1 100644 --- a/00-Other/NewDuty.cs +++ b/00-Other/NewDuty.cs @@ -25,7 +25,7 @@ using FFXIVClientStructs.FFXIV.Component.GUI; namespace NewDuty; [ScriptType(guid: "80890eac-4730-4708-ad1b-05aba469c2a1", name: "最新最热临时绘制", territorys: [1307, 1346], - version: "0.0.1.2", author: "Tetora", note: noteStr)] + version: "0.0.1.3", author: "Tetora", note: noteStr)] /* MapID * 1307: 格莱杨拉波尔歼灭战 @@ -36,7 +36,7 @@ public class NewDuty { const string noteStr = """ - v0.0.1.2: + v0.0.1.3: 最新最热副本绘制,可能会电,介意请关闭 别人的正式版发了这边就删 """; @@ -837,8 +837,272 @@ public class NewDuty #endregion + + #region 两岐塔:魔之塔 + + [ScriptMethod(name: "—————— 两岐塔:魔之塔 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])] + public void 两岐塔魔之塔(Event @event, ScriptAccessory accessory) { } + + [ScriptMethod(name: "BOSS1 双头怪鸟_决战(防火墙)", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:regex:^419[24]$"])] + public void 双头怪鸟_决战(Event @event, ScriptAccessory accessory) + { + if (@event.TargetId() != accessory.Data.Me) return; + var DecisiveBattle = @event.StatusId == 4192 ? "绿头" : "蓝头"; + if (isText) accessory.Method.TextInfo($"攻击{DecisiveBattle}", duration: 4700, true); + if (isEdgeTTS)accessory.Method.EdgeTTS($"攻击{DecisiveBattle}"); + if (isTTS) accessory.Method.EdgeTTS($"攻击{DecisiveBattle}"); + + } - #region 两岐塔:魔之塔 + [ScriptMethod(name: "BOSS1 蓝头_剧毒吐息(中心钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^47617$"])] + public void 普通蓝头_剧毒吐息(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"蓝头_剧毒吐息"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Position = @event.EffectPosition; + dp.Scale = new Vector2(18f); + dp.DestoryAt = 7700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "BOSS1 绿头_风暴吐息(中心击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48243$"])] + public void 普通绿头_风暴吐息(Event @event, ScriptAccessory accessory) + { + if (isTTS)accessory.Method.TTS($"中间击退"); + if (isEdgeTTS)accessory.Method.EdgeTTS($"中间击退"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = "绿头_风暴吐息击退预测"; + dp.Scale = new(1f, 14f); + dp.Color = new Vector4(0f, 1f, 1f, 4f); + dp.Owner = accessory.Data.Me; + dp.TargetObject = @event.SourceId(); + dp.Rotation = float.Pi; + dp.DestoryAt = 7700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Displacement, dp); + } + + [ScriptMethod(name: "BOSS1 双头怪鸟_雷霜暴风雨 AOE", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^47735$"])] + public void 普通双头怪鸟_雷霜暴风雨(Event @event, ScriptAccessory accessory) + { + // if (isText)accessory.Method.TextInfo($"AOE", duration: 4000, false); + if (isTTS)accessory.Method.TTS($"AOE"); + if (isEdgeTTS)accessory.Method.EdgeTTS($"AOE"); + } + + [ScriptMethod(name: "BOSS1 双头怪鸟_双头恐惧(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^50658"])] + public void 普通双头怪鸟_双头恐惧(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"双头恐惧{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new (10f, 40f); + dp.DestoryAt = 5700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); + } + + [ScriptMethod(name: "BOSS1 绿头_冰雷簇(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^5069[78]$"])] + public void 普通绿头_冰雷簇(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"冰雷簇{@event.SourceId}"; + dp.Color = @event.ActionId() == 50697 ? new Vector4(1f, 0f, 1f, 1f) : new Vector4(0f, 1f, 1f, 1f); + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(15f); + dp.DestoryAt = 7700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "BOSS1 绿头_冰焰凝环(月环安全区)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^47660$"])] + public void 普通绿头_冰焰凝环(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + var dp1 = accessory.Data.GetDefaultDrawProperties(); + + dp.Name = $"绿头_冰焰凝环安全区描边"; + dp.Color = accessory.Data.DefaultSafeColor.WithW(10f); + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(5f); + dp.InnerScale = new Vector2(4.9f); + dp.Radian = float.Pi * 2; + dp1.DestoryAt = dp.DestoryAt = 2200; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); + + dp1.Name = "绿头_冰焰凝环连线"; + dp1.Owner = accessory.Data.Me; + dp1.Color = accessory.Data.DefaultSafeColor; + dp1.ScaleMode |= ScaleMode.YByDistance; + dp1.TargetObject = @event.SourceId(); + dp1.Scale = new(1f); + accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Displacement, dp1); + } + + [ScriptMethod(name: "BOSS2 剑舞者_剑技风暴 AOE", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49617$"])] + public void 普通剑舞者_剑技风暴(Event @event, ScriptAccessory accessory) + { + // if (isText)accessory.Method.TextInfo($"AOE", duration: 4000, false); + if (isTTS)accessory.Method.TTS($"AOE"); + if (isEdgeTTS)accessory.Method.EdgeTTS($"AOE"); + } + + [ScriptMethod(name: "BOSS2 剑舞者_秘法剑(半场刀)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49585"])] + public void 普通剑舞者_秘法剑(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"秘法剑{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor.WithW(1f); + dp.Owner = @event.SourceId(); + dp.Scale = new (96f, 48f); + dp.DestoryAt = 5200; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); + } + + [ScriptMethod(name: "BOSS2 剑舞者_跃进步法 剑技冲击(击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49599$"])] + public void 普通剑舞者_剑技冲击(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = "剑舞者_剑技冲击击退预测"; + dp.Scale = new(1f, 24f); + dp.Color = new Vector4(0f, 1f, 1f, 4f); + dp.Owner = accessory.Data.Me; + dp.TargetObject = @event.SourceId(); + dp.Rotation = float.Pi; + dp.DestoryAt = 1700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Displacement, dp); + } + + [ScriptMethod(name: "BOSS2 剑舞者_舞动之剑 突进(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49616"])] + public void 普通舞动之剑_突进(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"舞动之剑_突进{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.8f); + dp.Owner = @event.SourceId(); + dp.Scale = new (6f, 30f); + dp.DestoryAt = 3700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); + } + + [ScriptMethod(name: "BOSS3 惧死者_核爆雨(AOE)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^47452$"])] + public void 普通惧死者_核爆雨(Event @event, ScriptAccessory accessory) + { + if (isText)accessory.Method.TextInfo($"五连AOE", duration: 12700, true); + if (isTTS)accessory.Method.TTS($"五连AOE"); + if (isEdgeTTS)accessory.Method.EdgeTTS($"五连AOE"); + } + + [ScriptMethod(name: "BOSS3 惧死者_魔具联动:爆炎(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4746[58]$"])] + public void 普通魔具联动_爆炎(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"魔具联动_爆炎{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(18f); + dp.DestoryAt = 5200; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "BOSS3 惧死者_魔具联动:冰封(十字)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4746[69]$"])] + public void 普通魔具联动_冰封(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"魔具联动_冰封{@event.SourceId}"; + dp.Scale = new (15f, 90f); + dp.Owner = @event.SourceId(); + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.5f); + dp.DestoryAt = 5200; + + float[] rotations = { 0f, 90f }; + + foreach (float rotation in rotations) + { + dp.Rotation = rotation.DegToRad(); + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Straight, dp); + } + } + + [ScriptMethod(name: "BOSS3 屏障头_灭亡射线(小怪直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^47475$"])] + public void 普通屏障头_灭亡射线(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"屏障头_灭亡射线{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new (6f, 30f); + dp.DestoryAt = 4700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); + } + + [ScriptMethod(name: "BOSS3 惧死者_魔具联动:暴雷(四向扇形)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^47471$"])] + public void 普通魔具联动_暴雷 (Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"魔具联动_暴雷{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(60f); + dp.Radian = 45f.DegToRad(); + dp.DestoryAt = 5200; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + + [ScriptMethod(name: "BOSS4 目录_核爆(AOE)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48415$"])] + public void 普通目录_核爆(Event @event, ScriptAccessory accessory) + { + if (isText)accessory.Method.TextInfo($"大AOE", duration: 4000, true); + if (isTTS)accessory.Method.TTS($"大AOE"); + if (isEdgeTTS)accessory.Method.EdgeTTS($"大AOE"); + } + + [ScriptMethod(name: "BOSS4 目录_封印武器(弓)盯准 - 外围钢铁", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48387$"])] + public void 普通目录_盯准(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"目录_盯准{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(11f); + dp.DestoryAt = 6800; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "BOSS4 目录_封印武器(琴)爱之歌 - 中间钢铁", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48385$"])] + public void 普通目录_爱之歌(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"目录_爱之歌{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(15f); + dp.DestoryAt = 6700; + dp.ScaleMode = ScaleMode.ByTime; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + + var dp1 = accessory.Data.GetDefaultDrawProperties(); + dp1.Name = $"目录_爱之歌描边{@event.SourceId}"; + dp1.Color = new Vector4(1f, 1f, 0f, 8f); + dp1.Scale = new(15f); + dp1.InnerScale = new(14.95f); + dp1.Radian = float.Pi * 2; + dp1.Owner = @event.SourceId(); + dp1.DestoryAt = 6700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1); + } + + [ScriptMethod(name: "BOSS4 目录_召唤(击杀小怪提示)", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^19296$"])] + public void 目录_召唤(Event @event, ScriptAccessory accessory) + { + if (isText)accessory.Method.TextInfo($"击杀小怪", duration: 4000, true); + if (isTTS)accessory.Method.TTS($"击杀小怪"); + if (isEdgeTTS)accessory.Method.EdgeTTS($"击杀小怪"); + } + + #endregion + + #region 两岐塔:超魔之塔 [ScriptMethod(name: "—————— 两岐塔:超魔之塔 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])] public void 两岐塔超魔之塔(Event @event, ScriptAccessory accessory) { } @@ -904,7 +1168,7 @@ public class NewDuty } [ScriptMethod(name: "BOSS1 双头怪鸟_雷霜暴风雨 AOE", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^47739$"])] - public void 提示(Event @event, ScriptAccessory accessory) + public void 双头怪鸟_雷霜暴风雨(Event @event, ScriptAccessory accessory) { // if (isText)accessory.Method.TextInfo($"AOE", duration: 4000, false); if (isTTS)accessory.Method.TTS($"AOE"); diff --git a/OnlineRepo.json b/OnlineRepo.json index 62df695..74a5500 100644 --- a/OnlineRepo.json +++ b/OnlineRepo.json @@ -968,11 +968,11 @@ { "Name": "最新最热临时绘制", "Guid": "80890eac-4730-4708-ad1b-05aba469c2a1", - "Version": "0.0.1.2", + "Version": "0.0.1.3", "Author": "Tetora", "Repo": "https://github.com/Hibiya615/TetoraKAScript/tree/main", "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/00-Other/NewDuty.cs", - "Note": "v0.0.1.2:\r\n最新最热副本绘制,可能会电,介意请关闭\r\n别人的正式版发了这边就删", + "Note": "v0.0.1.3:\r\n最新最热副本绘制,可能会电,介意请关闭\r\n别人的正式版发了这边就删", "UpdateInfo": "", "TerritoryIds": [ 1307,