From b3d65cb0173deea9974ac4a0ce3e015b7fd86663 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: Mon, 21 Sep 2026 04:22:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 00-Other/Crucible_of_the_Unbroken.cs | 3283 ++++++++++++++++++++++++++ 00-Other/NewDuty.cs | 3217 +------------------------ OnlineRepo.json | 104 +- PVP/PVPToy.cs | 4 +- 4 files changed, 3384 insertions(+), 3224 deletions(-) diff --git a/00-Other/Crucible_of_the_Unbroken.cs b/00-Other/Crucible_of_the_Unbroken.cs index bd34dd0..da1542b 100644 --- a/00-Other/Crucible_of_the_Unbroken.cs +++ b/00-Other/Crucible_of_the_Unbroken.cs @@ -72,18 +72,3301 @@ public class Crucible_of_the_Unbroken #endregion + #region 记录与转换 + + public enum Beasts_Phase + { + Init, // 初始 + Behemoth, // 高二左路随机#5:贝希摩斯 + Lauda // 高二尾王:魔斧之主 劳妲 + } + Beasts_Phase phase = Beasts_Phase.Init; + + [ScriptMethod(name: "高二左路随机#5:贝希摩斯", userControl: false, eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^19731$"])] + public void 贝希摩斯转换(Event @event, ScriptAccessory accessory) + { + if (HelperExtensions.GetCurrentTerritoryId() != 1343) return; + phase = phase switch + { + Beasts_Phase.Init => Beasts_Phase.Behemoth, + _ => phase + }; + if(isDeveloper) accessory.Method.SendChat($"/e [Debug]:战斗进度:随机#5:贝希摩斯"); + } + + [ScriptMethod(name: "高二尾王:劳妲", userControl: false, eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^19742$"])] + public void 劳妲转换(Event @event, ScriptAccessory accessory) + { + if (HelperExtensions.GetCurrentTerritoryId() != 1343) return; + phase = phase switch + { + Beasts_Phase.Init => Beasts_Phase.Lauda, + Beasts_Phase.Behemoth => Beasts_Phase.Lauda, + _ => phase + }; + if(isDeveloper) accessory.Method.SendChat($"/e [Debug]:战斗进度:尾王劳妲"); + } + uint WildSpeed = 0; // 普二 曼提克-猛冲重锤 uint Plaincracker = 0; // 高一 巨像 平原震裂 uint EarthenRing = 0; // 高一 巨像 核心环光 + private int _chimeraRingType = 0; // 高二 奇美拉 0未知 1钢铁 2月环 + private int _chimeraFanType = 0; // 高二 奇美拉 0未知 1寒冰 2雷鸣 3火焰 public void Init(ScriptAccessory accessory) { + phase = Beasts_Phase.Init; WildSpeed = 0; Plaincracker = 0; EarthenRing = 0; + _chimeraRingType = 0; + _chimeraFanType = 0; } + #endregion + #region 斗兽奇弈 第一盘 + + [ScriptMethod(name: "—————— 第一盘 ——————", eventType: EventTypeEnum.StatusAdd, eventCondition: ["ActionId:"])] + public void 第一盘(Event @event, ScriptAccessory accessory) { } + + [ScriptMethod(name: "敌人#1: 奇子·主教_死亡螺旋(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46868$"])] + public void 主教_死亡螺旋(Event @event, ScriptAccessory accessory) + { + // if (isText)accessory.Method.TextInfo($"靠近主教月环", duration: 5000, true); + if (isTTS) accessory.Method.TTS($"靠近主教月环"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"死亡螺旋{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(40f); + dp.InnerScale = new Vector2(4f); + dp.Radian = float.Pi * 2; + dp.DestoryAt = 5700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); + } + + [ScriptMethod(name: "敌人#1: 奇子·骑士_骨化(打断提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46871$"])] + public void 骑士_骨化(Event @event, ScriptAccessory accessory) + { + if (isText) accessory.Method.TextInfo($"打断骑士伤害提高(控制或借用-咒具碎魂)", duration: 7000, false); + if (isTTS) accessory.Method.TTS($"打断骑士"); + } + + [ScriptMethod(name: "敌人#1: 奇子·骑士_物理伤害提高(驱散提示)", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:regex:^2074$"])] + public void 骑士_物理伤害提高(Event @event, ScriptAccessory accessory) + { + if (HelperExtensions.GetCurrentTerritoryId() != 1339) return; + if (isText) accessory.Method.TextInfo($"驱散骑士(借用-水栖波)", duration: 5000, false); + if (isTTS) accessory.Method.TTS($"驱散骑士"); + } + + [ScriptMethod(name: "敌人#1: 奇子·主教_古代疾风(面前直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46870$"])] + 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(8f, 40f); + dp.DestoryAt = 5700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); + } + + [ScriptMethod(name: "敌人#1: 奇子·骑士_前线护卫(魔兽吸引注意提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46864$"])] + public void 骑士_前线护卫(Event @event, ScriptAccessory accessory) + { + if (isText) accessory.Method.TextInfo($"使用魔兽技 [吸引注意]", duration: 4000, true); + if (isTTS) accessory.Method.TTS($"使用魔兽吸引注意"); + } + + [ScriptMethod(name: "敌人#1: 奇子·骑士_古墓(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46866$"])] + public void 骑士_古墓(Event @event, ScriptAccessory accessory) + { + if (isTTS) accessory.Method.TTS($"远离骑士"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"古墓{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(6f); + dp.DestoryAt = 4700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "敌人#2: 奇子·上级恶魔_深渊贯穿(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4688(2|4)$"])] + 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 = @event.ActionId() == 46882 ? new Vector2(6f) : new Vector2(3f); + dp.DestoryAt = @event.ActionId() == 46882 ? 3400 : 3200; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "敌人#2: 奇子·上级恶魔_深渊回转(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46886$"])] + 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(40f); + dp.Radian = 180f.DegToRad(); + dp.DestoryAt = 5700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + + [ScriptMethod(name: "敌人#3: 奇子·夺灵魔_澄澈之心(驱散提示)", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:regex:^1225$"])] + public void 夺灵魔_澄澈之心(Event @event, ScriptAccessory accessory) + { + if (HelperExtensions.GetCurrentTerritoryId() != 1339) return; + if (isText) accessory.Method.TextInfo($"驱散伤害提高(借用-水栖波)", duration: 5000, false); + if (isTTS) accessory.Method.TTS($"驱散"); + } + + [ScriptMethod(name: "敌人#3: 奇子·夺灵魔_魔力冲击(AOE)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46899$"])] + public void 夺灵魔_魔力冲击(Event @event, ScriptAccessory accessory) + { + // if (isText)accessory.Method.TextInfo($"驱散伤害提高(借用-水栖波)", duration: 7000, false); + if (isTTS) accessory.Method.TTS($"AOE"); + } + + [ScriptMethod(name: "敌人#3: 奇子·夺灵魔_虚空暴风(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46897$"])] + public void 夺灵魔_虚空暴风(Event @event, ScriptAccessory accessory) + { + // if (isText)accessory.Method.TextInfo($"靠近月环", duration: 5000, true); + if (isTTS) accessory.Method.TTS($"靠近月环"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"虚空暴风{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(60f); + dp.InnerScale = new Vector2(5f); + dp.Radian = float.Pi * 2; + dp.DestoryAt = 5700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); + } + + [ScriptMethod(name: "敌人#3: 奇子·夺灵魔_虚空冰封(步进地火TTS)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46887$"])] + public void 夺灵魔_虚空冰封(Event @event, ScriptAccessory accessory) + { + // if (isText)accessory.Method.TextInfo($"步进地火,二穿一", duration: 2000, true); + if (isTTS) accessory.Method.TTS($"准备穿地火"); + } + + [ScriptMethod(name: "敌人#3: 奇子·夺灵魔_虚无耀星(核爆)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46895$"])] + public void 夺灵魔_虚无耀星(Event @event, ScriptAccessory accessory) + { + if (isText) accessory.Method.TextInfo($"远离核爆", duration: 5000, false); + if (isTTS) accessory.Method.TTS($"远离核爆"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"虚无耀星{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(30f); + dp.DestoryAt = 5700; + dp.ScaleMode = ScaleMode.ByTime; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "敌人#4: 奇子·祸蛛蝎_地面隆起(地震钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46902$"])] + public void 祸蛛蝎_地面隆起(Event @event, ScriptAccessory accessory) + { + if (isTTS) accessory.Method.TTS($"扩散地震"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"地面隆起{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(6f); + dp.DestoryAt = 4700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "敌人#4: 奇子·祸蛛蝎_致命尾刺(带毒死刑TTS)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46906$"])] + public void 祸蛛蝎_致命尾刺(Event @event, ScriptAccessory accessory) + { + // 回头得再看看毒耐的StatusID! + if (isText) accessory.Method.TextInfo($"带毒死刑,可用 <死尸净化> 驱散", duration: 4000, false); + if (isTTS) accessory.Method.TTS($"带毒死刑"); + } + + [ScriptMethod(name: "敌人#4: 奇子·祸蛛蝎_毒蛛网(九连环TTS)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46907$"])] + public void 祸蛛蝎_毒蛛网(Event @event, ScriptAccessory accessory) + { + // if (isText)accessory.Method.TextInfo($"九连环", duration: 2000, true); + if (isTTS) accessory.Method.TTS($"九连环"); + } + + [ScriptMethod(name: "强敌#1: 奇子·食人魔_燃烧猛击(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^(46912|49688)$"])] + public void 食人魔_燃烧猛击(Event @event, ScriptAccessory accessory) + { + if (isTTS & @event.ActionId() == 49688) accessory.Method.TTS($"去对侧"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"燃烧猛击{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(40f); + dp.Radian = 120f.DegToRad(); + dp.DestoryAt = @event.ActionId() == 46912 ? 5700 : 9000; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + + [ScriptMethod(name: "强敌#1: 奇子·食人魔_火球生成(TTS)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46921$"])] + public void 食人魔_火球生成(Event @event, ScriptAccessory accessory) + { + if (isText) accessory.Method.TextInfo($"躲避连线火球", duration: 3000, true); + if (isTTS) accessory.Method.TTS($"躲避连线火球"); + } + + [ScriptMethod(name: "强敌#1: 奇子·食人魔_火球(追踪钢铁)", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^19343$"])] + public void 食人魔_火球(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"火球延烧{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.5f); + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(10f); + dp.DestoryAt = 30000; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "强敌#1: 火球延烧触发销毁", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:regex:^46922$"], userControl: false)] + public void 火球延烧销毁(Event @event, ScriptAccessory accessory) + { + accessory.Method.RemoveDraw($"火球延烧.*"); + } + + [ScriptMethod(name: "强敌#1: 火球消失销毁", eventType: EventTypeEnum.RemoveCombatant, eventCondition: ["DataId:regex:^19343$"], userControl: false)] + public void 火球消失销毁(Event @event, ScriptAccessory accessory) + { + accessory.Method.RemoveDraw($"火球延烧.*"); + } + + [ScriptMethod(name: "头目: 魅惑女妖 帕德索_血雨(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46926$"])] + public void 帕德索_血雨钢铁(Event @event, ScriptAccessory accessory) + { + // if (isText)accessory.Method.TextInfo($"远离", duration: 5000, true); + if (isTTS) accessory.Method.TTS($"远离"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"血雨钢铁{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(8f); + dp.DestoryAt = 5700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "头目: 魅惑女妖 帕德索_血雨(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46924$"])] + public void 帕德索_血雨(Event @event, ScriptAccessory accessory) + { + // if (isText)accessory.Method.TextInfo($"靠近月环", duration: 5000, true); + if (isTTS) accessory.Method.TTS($"靠近月环"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"血雨月环{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(40f); + dp.InnerScale = new Vector2(8f); + dp.Radian = float.Pi * 2; + dp.DestoryAt = 5700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); + } + + [ScriptMethod(name: "头目: 魅惑女妖 帕德索_虚空烈风(面前直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46932$"])] + 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(8f, 60f); + dp.DestoryAt = 3700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); + } + + [ScriptMethod(name: "头目: 魅惑女妖 帕德索_寒毒接触(带毒死刑TTS)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46935$"])] + public void 帕德索_寒毒接触(Event @event, ScriptAccessory accessory) + { + // 回头得再看看毒耐的StatusID! + if (isText) accessory.Method.TextInfo($"带毒死刑,可用 <死尸净化> 驱散", duration: 4000, false); + if (isTTS) accessory.Method.TTS($"带毒死刑"); + } + + [ScriptMethod(name: "头目: 奇子·梦魔法师_盲信(打断提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46928$"])] + public void 梦魔法师_盲信(Event @event, ScriptAccessory accessory) + { + // 赋予BOSS 伤害提高 StatusID 1225 + if (isText) accessory.Method.TextInfo($"打断 <梦魔法师> 伤害提高(借用-咒具碎魂)", duration: 5000, false); + if (isTTS) accessory.Method.TTS($"打断梦魔法师"); + } + + // Todo. 46936 欺瞒雾 附加噩梦? 召唤两个连线爱心[信息素 DataId:19347] 随后释放 24m钢铁[46938 碎裂] + + #endregion + + #region 斗兽奇弈 第二盘 + + [ScriptMethod(name: "—————— 第二盘 ——————", eventType: EventTypeEnum.StatusAdd, eventCondition: ["ActionId:"])] + public void 第二盘(Event @event, ScriptAccessory accessory) { } + + [ScriptMethod(name: "敌人#1: 奇子·曼提克_臂锤(左右刀)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4812(3|5)$"])] + public void 曼提克_臂锤(Event @event, ScriptAccessory accessory) + { + var isR = @event.ActionId == 48123; + + if (isR) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"臂锤_右{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(30); + dp.Radian = 180f.DegToRad(); + dp.Rotation = 270f.DegToRad(); + dp.DestoryAt = 5300; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + else + { + var dp1 = accessory.Data.GetDefaultDrawProperties(); + dp1.Name = $"臂锤_左{@event.SourceId}"; + dp1.Color = accessory.Data.DefaultDangerColor; + dp1.Owner = @event.SourceId(); + dp1.Scale = new Vector2(30f); + dp1.Radian = 180f.DegToRad(); + dp1.Rotation = 90f.DegToRad(); + dp1.DestoryAt = 5300; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp1); + } + } + + [ScriptMethod(name: "敌人#1: 奇子·曼提克_重锤跃击(跳跃钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48137$"])] + public void 曼提克_重锤跃击(Event @event, ScriptAccessory accessory) + { + if (isTTS) accessory.Method.TTS($"远离跳跃落点"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"重锤跃击{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(30f); + dp.DestoryAt = 7800; + 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, 10f); + dp1.Scale = new(30f); + dp1.InnerScale = new(29.96f); + dp1.Radian = float.Pi * 2; + dp1.Owner = @event.SourceId(); + dp1.DestoryAt = 7800; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1); + } + + [ScriptMethod(name: "敌人#1: 奇子·曼提克_利爪凶尾(前后刀)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4814(0|2)$"])] + public void 曼提克_利爪凶尾(Event @event, ScriptAccessory accessory) + { + var isF = @event.ActionId == 48140; + + if (isF) + { + if (isText) accessory.Method.TextInfo($"后 > 前", duration: 6700, true); + if (isTTS) accessory.Method.TTS($"后,然后前"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"利爪凶尾_前{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(40f); + dp.Radian = 180f.DegToRad(); + dp.Rotation = 0f.DegToRad(); + dp.DestoryAt = 3600; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + else + { + var dp1 = accessory.Data.GetDefaultDrawProperties(); + dp1.Name = $"利爪凶尾_后{@event.SourceId}"; + dp1.Color = accessory.Data.DefaultDangerColor; + dp1.Owner = @event.SourceId(); + dp1.Scale = new Vector2(40f); + dp1.Radian = 180f.DegToRad(); + dp1.Rotation = 180f.DegToRad(); + dp1.DestoryAt = 2100; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp1); + } + } + + [ScriptMethod(name: "敌人#1: 奇子·曼提克_凶尾利爪(前后刀)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^5041(1|3)$"])] + public void 曼提克_凶尾利爪(Event @event, ScriptAccessory accessory) + { + var isF = @event.ActionId == 50413; + + if (isF) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"凶尾利爪_前{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(40f); + dp.Radian = 180f.DegToRad(); + dp.Rotation = 0f.DegToRad(); + dp.DestoryAt = 2100; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + else + { + if (isText) accessory.Method.TextInfo($"前 > 后", duration: 6700, true); + if (isTTS) accessory.Method.TTS($"前,然后后"); + var dp1 = accessory.Data.GetDefaultDrawProperties(); + dp1.Name = $"凶尾利爪_后{@event.SourceId}"; + dp1.Color = accessory.Data.DefaultDangerColor; + dp1.Owner = @event.SourceId(); + dp1.Scale = new Vector2(40f); + dp1.Radian = 180f.DegToRad(); + dp1.Rotation = 180f.DegToRad(); + dp1.DestoryAt = 3600; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp1); + } + } + + [ScriptMethod(name: "敌人#1: 奇子·曼提克_狂野冲锋(连续冲锋)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48128$"])] + public void 曼提克_狂野冲锋(Event @event, ScriptAccessory accessory) + { + if (@event.ActionId == 48128) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"狂野冲锋{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.8f); + dp.Owner = @event.SourceId(); + dp.TargetPosition = @event.EffectPosition; + dp.ScaleMode = ScaleMode.YByDistance; + dp.Scale = new(8f); + dp.DestoryAt = 8800; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); + } + + WildSpeed = 1; + } + + [ScriptMethod(name: "敌人#1: 奇子·曼提克_猛冲重锤(冲锋左右刀)", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:regex:^(2056|2193)$"], suppress: 9700)] + public void 曼提克_猛冲重锤(Event @event, ScriptAccessory accessory) + { + var isR = @event.StatusId == 2056; // Param分别为: 2056:1044 ; 2193:1043 + // 右刀 ActionId 48132, 左刀 48134, 固定为反方向二连 + + if (WildSpeed != 1) return; + + if (isText) accessory.Method.TextInfo(isR ? $"最后:左 > 右" : "最后:右 > 左", duration: 20300, true); + if (isTTS) accessory.Method.TTS(isR ? $"最后:左穿右" : "最后:右穿左"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = isR ? $"臂锤_右{@event.SourceId}" : $"臂锤_左{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.TargetId(); + dp.Scale = new Vector2(30f); + dp.Radian = 180f.DegToRad(); + dp.Rotation = isR ? 270f.DegToRad() : 90f.DegToRad(); + dp.Delay = 16600; + dp.DestoryAt = 2000; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + + var dp1 = accessory.Data.GetDefaultDrawProperties(); + dp1.Name = isR ? $"臂锤_左{@event.SourceId}" : $"臂锤_右{@event.SourceId}"; + dp1.Color = accessory.Data.DefaultDangerColor; + dp1.Owner = @event.TargetId(); + dp1.Scale = new Vector2(30f); + dp1.Radian = 180f.DegToRad(); + dp1.Rotation = isR ? 90f.DegToRad() : 270f.DegToRad(); + dp1.Delay = 18600; + dp1.DestoryAt = 2000; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp1); + + WildSpeed = 0; + } + + [ScriptMethod(name: "敌人#2: 奇子·双足飞龙_台风(击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48168$"])] + public void 双足飞龙_台风(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"台风击退预测{@event.SourceId}"; + dp.Scale = new(1f, 10); + dp.Color = accessory.Data.DefaultDangerColor.WithW(2f); + dp.Owner = accessory.Data.Me; + dp.TargetObject = @event.SourceId(); + dp.Rotation = float.Pi; + dp.DestoryAt = 3000; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Displacement, dp); + } + + [ScriptMethod(name: "敌人#2: 奇子·双足飞龙_炽热弥漫(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48175$"])] + public void 双足飞龙_炽热弥漫(Event @event, ScriptAccessory accessory) + { + if (isTTS) accessory.Method.TTS($"去背后"); + + 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 = 180f.DegToRad(); + dp.DestoryAt = 7700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + + [ScriptMethod(name: "敌人#2: 奇子·双足飞龙_风暴轨迹(扇形)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48178$"])] + 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(25f); + dp.Radian = 60f.DegToRad(); + dp.DestoryAt = 5700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + + [ScriptMethod(name: "强敌#1: 奇子·牛头魔_致命射线(死宣提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48143$"])] + public void 牛头魔_致命射线(Event @event, ScriptAccessory accessory) + { + // EventTypeEnum.StatusAdd, eventCondition: ["StatusID:regex:^5421$"] + // 虽然这副本有死宣抗性但是万一没有的话早踩早解除,还是用读条播报。地板为EnvControl但是没什么用感觉没必要写 + if (isText) accessory.Method.TextInfo($"踩在地板上蓄力8秒解除死宣", duration: 8700, true); + if (isTTS) accessory.Method.TTS($"踩地板"); + } + + [ScriptMethod(name: "强敌#1: 奇子·牛头魔_中心破灭(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^481(55|59|65)$"])] + 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(8f); + switch (@event.ActionId()) + { + case 48155: // 普通单钢铁 + dp.Delay = 0; + dp.DestoryAt = 5700; + break; + case 48159: // 双重先钢铁 + dp.Delay = 5700; + dp.DestoryAt = 3500; + break; + case 48165: // 双重后钢铁 + dp.Delay = 0; + dp.DestoryAt = 5700; + break; + } + + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "强敌#1: 奇子·牛头魔_外环破灭(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^481(57|61|63)$"])] + 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(50f); + dp.InnerScale = new Vector2(8f); + dp.Radian = float.Pi * 2; + switch (@event.ActionId()) + { + case 48157: // 普通单月环 + dp.Delay = 0; + dp.DestoryAt = 5700; + break; + case 48161: // 双重后月环 + dp.Delay = 5700; + dp.DestoryAt = 3500; + break; + case 48163: // 双重先月环 + dp.Delay = 0; + dp.DestoryAt = 5700; + break; + } + + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); + } + + [ScriptMethod(name: "强敌#1: 奇子·牛头魔_暗黑射线(点名放球)", eventType: EventTypeEnum.TargetIcon, eventCondition: ["Id:regex:^00EA$"])] + public void 牛头魔_暗黑射线(Event @event, ScriptAccessory accessory) + { + if (HelperExtensions.GetCurrentTerritoryId() == 1340 && @event.TargetId() == accessory.Data.Me) + { + // if (isText)accessory.Method.TextInfo($"放球点名", duration: 4000, true); + if (isTTS) accessory.Method.TTS($"放球点名"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"暗黑射线{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); + dp.Owner = @event.TargetId(); + dp.Scale = new Vector2(6f); + dp.DestoryAt = 6000; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + } + + [ScriptMethod(name: "强敌#1: 奇子·牛头魔_以太波(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48150$"])] + 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, 50f); + dp.Delay = 2800; + dp.DestoryAt = 2900; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); + } + + [ScriptMethod(name: "敌人#3: 奇子·虚灵法师_死亡驱动(复活提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48181$"])] + public void 虚灵法师_死亡驱动(Event @event, ScriptAccessory accessory) + { + if (isText) accessory.Method.TextInfo($"尽可能避开小怪放圈", duration: 6000, false); + if (isTTS) accessory.Method.TTS($"放圈,避开小怪"); + + foreach (var item in accessory.Data.Objects.GetByDataId(19549)) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Owner = item.EntityId; + dp.Name = $"奇子·僵尸{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor.WithW(2.5f); + dp.Scale = new Vector2(0.8f); + dp.DestoryAt = 6700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + } + + [ScriptMethod(name: "敌人#3: 奇子·虚灵法师_死亡驱动(地板圈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48182$"])] + public void 虚灵法师_死亡驱动绘制(Event @event, ScriptAccessory accessory) + { + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"死亡驱动{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.8f); + dp.Position = @event.EffectPosition; + dp.Scale = new Vector2(10f); + dp.DestoryAt = 3700; + dp.ScaleMode = ScaleMode.ByTime; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "敌人#3: 奇子·虚灵法师_暗天球(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48186$"])] + public void 虚灵法师_暗天球(Event @event, ScriptAccessory accessory) + { + // if (isText)accessory.Method.TextInfo($"远离", duration: 5000, true); + if (isTTS) accessory.Method.TTS($"远离"); + + 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 = 7700; + 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, 10f); + dp1.Scale = new(18f); + dp1.InnerScale = new(17.95f); + dp1.Radian = float.Pi * 2; + dp1.Owner = @event.SourceId(); + dp1.DestoryAt = 7700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1); + } + + [ScriptMethod(name: "强敌#2: 奇子·牛魔兄弟_千百一十吨回转(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4819(4|6)$"])] + public void 牛魔哥弟_千百一十吨回转(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = @event.ActionId == 48194 ? $"千百一十吨回转Fast{@event.SourceId}" : $"千百一十吨回转Slow{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(23f); + dp.Delay = @event.ActionId == 48194 ? 0 : 7700; + dp.DestoryAt = @event.ActionId == 48194 ? 7700 : 6000; + dp.ScaleMode = ScaleMode.ByTime; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "强敌#2: 奇子·牛魔兄弟_千吨横扫(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4819(0|2)$"])] + public void 牛魔哥弟_千吨横扫(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = @event.ActionId == 48190 ? $"千吨横扫Fast{@event.SourceId}" : $"千吨横扫Slow{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new(60f, 60f); + dp.Delay = @event.ActionId == 48190 ? 0 : 6700; + dp.DestoryAt = @event.ActionId == 48190 ? 6700 : 3000; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); + } + + [ScriptMethod(name: "强敌#2: 奇子·牛魔兄弟_十吨重踏 冲击波(击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48(199|202)$"])] + public void 牛魔兄弟_十吨重踏_冲击波(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = @event.ActionId == 48199 ? $"冲击波击退Fast{@event.SourceId}" : $"冲击波击退Slow{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor.WithW(4f); + dp.Owner = accessory.Data.Me; + dp.TargetObject = @event.SourceId(); + dp.Rotation = float.Pi; + dp.Scale = new Vector2(1f, 20f); + dp.Delay = @event.ActionId == 48199 ? 0 : 6700; + dp.DestoryAt = @event.ActionId == 48199 ? 6700 : 3500; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Displacement, dp); + + if (@event.ActionId == 48199) + { + IntPtr omenHandle = accessory.Method.VfxMethod.CreateOmen(203, new Vector3(60f), + @event.SourcePosition(), @event.SourceRotation(), new Vector4(1f, 1f, 0f, 0.4f), 6700); + accessory.Method.VfxMethod.SetVfxSpeed(omenHandle, 1f); + } + + } + + [ScriptMethod(name: "强敌#2: 奇子·牛魔老弟_声援(打断提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48203$"])] + public void 牛魔老弟_声援(Event @event, ScriptAccessory accessory) + { + // 伤害提高 StatusID 1225 + if (isText) accessory.Method.TextInfo($"打断 <牛魔老弟> 伤害提高(借用-咒具碎魂)", duration: 6000, false); + if (isTTS) accessory.Method.TTS($"打断牛魔老弟"); + } + + [ScriptMethod(name: "强敌#2: 奇子·牛魔老哥_百吨挥打(直线死刑)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48204$"])] + public void 牛魔老哥_百吨挥打(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"百吨挥打{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); + dp.Owner = @event.SourceId(); + dp.TargetObject = @event.TargetId; + dp.Scale = new(8f, 65f); + dp.DestoryAt = 8700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); + } + + // 48206 无尽回转 读条完变成不可选中状态,持续追踪玩家释放8m钢铁 48207 + // Todo. 48210 无尽横扫 持续顺/逆时针顺劈 组合技,共约24.7s,转向后会有0.2s的读条,需要提前判断顺逆时针绘制,目前仅为模板 + + [ScriptMethod(name: "强敌#2: 奇子·牛魔老弟_无尽横扫(大风车)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48210$"])] + 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(40f); + dp.Radian = 60f.DegToRad(); + dp.DestoryAt = 24700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + + [ScriptMethod(name: "强敌#2: 奇子·牛魔兄弟_无尽挥打(软狂暴)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48214$"])] + public void 牛魔兄弟_无尽挥打(Event @event, ScriptAccessory accessory) + { + if (isText) accessory.Method.TextInfo($"[软狂暴] 大AOE伤害", duration: 7000, true); + if (isTTS) accessory.Method.TTS($"大AOE伤害"); + } + + [ScriptMethod(name: "随机#1: 魔力球_魔力供给(连线提示)", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:regex:^5406$", "Param:1"])] + public void 魔力球_魔力供给(Event @event, ScriptAccessory accessory) + { + // 魔力供给5层后,会赋予 5409 伤害提高 + // if (isText)accessory.Method.TextInfo($"优先击杀连线目标", duration: 3000, false); + if (isTTS) accessory.Method.TTS($"优先击杀连线目标"); + } + + [ScriptMethod(name: "头目: 小地豆_黄沙吐息(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48227$"])] + 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 = 90f.DegToRad(); + dp.DestoryAt = 8700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + + [ScriptMethod(name: "头目: 路斯福洛克斯_哥布流回旋剑(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48229$"])] + 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(8f); + dp.DestoryAt = 5700; + dp.ScaleMode = ScaleMode.ByTime; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "头目: 路斯福洛克斯_小地豆肤(驱散提示)", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:regex:^5423$"])] + public void 路斯福洛克斯_小地豆肤(Event @event, ScriptAccessory accessory) + { + if (isText) accessory.Method.TextInfo($"驱散BOSS(借用-水栖波)", duration: 5000, false); + if (isTTS) accessory.Method.TTS($"驱散BOSS"); + } + + [ScriptMethod(name: "头目: 路斯福洛克斯_哥布炸弹(提示)", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^19561$"], suppress: 1000)] + public void 路斯福洛克斯_哥布炸弹(Event @event, ScriptAccessory accessory) + { + if (isText) accessory.Method.TextInfo($"将 <哥布炸弹> 推进小地豆在的流沙", duration: 5000, true); + if (isTTS) accessory.Method.TTS($"将炸弹推进小地豆在的流沙"); + } + + [ScriptMethod(name: "头目: 路斯福洛克斯_哥布流回旋剑(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48231$"])] + public void 路斯福洛克斯_哥布流回旋剑月环(Event @event, ScriptAccessory accessory) + { + // if (isText)accessory.Method.TextInfo($"靠近月环", duration: 5000, true); + if (isTTS) accessory.Method.TTS($"靠近月环"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"路斯福洛克斯_哥布流回旋剑月环{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(40f); + dp.InnerScale = new Vector2(4f); + dp.Radian = float.Pi * 2; + dp.DestoryAt = 5700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); + } + + [ScriptMethod(name: "头目: 小地豆_地震(软狂暴)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48239$"])] + public void 小地豆_地震(Event @event, ScriptAccessory accessory) + { + if (isText) accessory.Method.TextInfo($"[软狂暴] 大AOE伤害", duration: 4000, true); + if (isTTS) accessory.Method.TTS($"大AOE伤害"); + } + + #endregion + + #region 斗兽奇弈 第三盘 + + [ScriptMethod(name: "—————— 第三盘 ——————", eventType: EventTypeEnum.StatusAdd, eventCondition: ["ActionId:"])] + public void 第三盘(Event @event, ScriptAccessory accessory) { } + + [ScriptMethod(name: "敌人#1: 奇子·游侠骑士_钢铁裂斩(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48473$"])] + 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 = 130f.DegToRad(); + dp.DestoryAt = 6700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + + [ScriptMethod(name: "敌人#1: 奇子·游侠骑士的幻影_收割者的恐吓(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48464$"])] + 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 Vector2(20f); + dp.DestoryAt = 5700; + 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, 10f); + dp1.Scale = new(20f); + dp1.InnerScale = new(19.95f); + dp1.Radian = float.Pi * 2; + dp1.Owner = @event.SourceId(); + dp1.DestoryAt = 5700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1); + } + + [ScriptMethod(name: "敌人#1: 奇子·游侠骑士的幻影_残杀(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48462$"])] + 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(8f, 60f); + dp.DestoryAt = 5700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); + } + + [ScriptMethod(name: "敌人#1: 奇子·游侠骑士_粉碎剑(击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48471$"])] + public void 游侠骑士_粉碎剑(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"粉碎剑击退预测{@event.SourceId}"; + dp.Scale = new(1f, 15); + dp.Color = accessory.Data.DefaultDangerColor.WithW(2f); + dp.Owner = accessory.Data.Me; + dp.TargetObject = @event.SourceId(); + dp.Rotation = float.Pi; + dp.DestoryAt = 5000; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Displacement, dp); + } + + [ScriptMethod(name: "敌人#2: 奇子·鱼人_麻痹尖刺(反击提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^50532$"])] + public void 鱼人_麻痹尖刺(Event @event, ScriptAccessory accessory) + { + if (isText) accessory.Method.TextInfo($"停止攻击 <鱼人>", duration: 6000, true); + if (isTTS) accessory.Method.TTS($"停止攻击鱼人"); + } + + [ScriptMethod(name: "敌人#2: 奇子·鱼人_恐慌洗礼(打断提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48485$"])] + public void 鱼人_恐慌洗礼(Event @event, ScriptAccessory accessory) + { + if (isText) accessory.Method.TextInfo($"使用 <咒具碎魂> 打断鱼人", duration: 7000, true); + if (isTTS) accessory.Method.TTS($"打断鱼人"); + } + + [ScriptMethod(name: "敌人#2: 奇子·鱼人_大海啸(击退安全区)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48481$"])] + public void 鱼人_大海啸(Event @event, ScriptAccessory accessory) + { + if (isText) accessory.Method.TextInfo($"击退(可被壳阻挡)", duration: 7000, true); + if (isTTS) accessory.Method.TTS($"击退"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"大海啸击退安全区{@event.SourceId}"; + dp.Color = accessory.Data.DefaultSafeColor; + dp.Owner = @event.SourceId(); + dp.Scale = new(40f, 7f); // 击退距离为35m,场地宽40m,电网2m + dp.DestoryAt = 8000; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); + } + + [ScriptMethod(name: "敌人#2: 奇子·尤弥尔_万雷(AOE)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48479$"])] + public void 尤弥尔_万雷(Event @event, ScriptAccessory accessory) + { + // if (isText)accessory.Method.TextInfo($"AOE", duration: 4000, false); + if (isTTS) accessory.Method.TTS($"AOE"); + } + + [ScriptMethod(name: "敌人#2: 奇子·尤弥尔之壳 击杀止步提示", eventType: EventTypeEnum.Death, eventCondition: ["TargetDataId:regex:^19604$"])] + public void 尤弥尔_击杀止步提示(Event @event, ScriptAccessory accessory) + { + if (isText) accessory.Method.TextInfo($"看时机止步 <尤弥尔>", duration: 5000, false); + if (isTTS) accessory.Method.TTS($"止步尤弥尔"); + } + + [ScriptMethod(name: "敌人#3: 奇子·卡托布莱帕斯_魔兽咆哮(AOE)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48504$"])] + public void 卡托布莱帕斯_魔兽咆哮(Event @event, ScriptAccessory accessory) + { + // if (isText)accessory.Method.TextInfo($"AOE", duration: 2000, false); + if (isTTS) accessory.Method.TTS($"AOE"); + } + + // Todo. 钢铁球 DataId 19612, 读条48506 ; 月环球 DataId 19613 , 读条48508。 钢铁+月环22飞的情况按开始飞动顺序沿固定直线飞行到场边后释放 + // 魔眼移植 StatusID 2056 , Param 174; 带背对的情况固定一个个轮流来 + // [Tether 00C3] [VFX Channeling 195] vfx/channeling/eff/chn_ice_mouth01x.avfx / vfx/common/eff/mon_status01et.avfx + + [ScriptMethod(name: "强敌#1: 奇子·祖的蛋_孵化(击杀提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48487$"])] + public void 祖的蛋_孵化(Event @event, ScriptAccessory accessory) + { + if (isText) accessory.Method.TextInfo($"击杀孵化鸟蛋(别用突进)", duration: 5000, true); + if (isTTS) accessory.Method.TTS($"击杀孵化鸟蛋"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"孵化连线{@event.SourceId}"; + dp.Owner = accessory.Data.Me; + dp.Color = accessory.Data.DefaultSafeColor; + dp.ScaleMode |= ScaleMode.YByDistance; + dp.TargetObject = @event.SourceId(); + dp.Scale = new(1); + dp.DestoryAt = 10000; + accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Displacement, dp); + } + + [ScriptMethod(name: "强敌#1: 奇子·祖的蛋_孵化销毁", eventType: EventTypeEnum.CancelAction, eventCondition: ["ActionId:regex:^48487$"])] + public void 祖的蛋_孵化销毁(Event @event, ScriptAccessory accessory) + { + accessory.Method.RemoveDraw($"孵化连线{@event.SourceId}"); + } + + [ScriptMethod(name: "强敌#1: 奇子·祖_十字风(指路)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48491$"])] + public void 祖_十字风(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"十字风指路{@event.SourceId}"; + dp.Owner = accessory.Data.Me; + dp.Color = accessory.Data.DefaultSafeColor.WithW(1f); + dp.ScaleMode |= ScaleMode.YByDistance; + dp.TargetPosition = new Vector3(120f, 0f, -420f); + dp.Scale = new(0.5f); + dp.DestoryAt = 8000; + accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Displacement, dp); + } + + [ScriptMethod(name: "强敌#1: 奇子·祖_前/后方猛袭乱流(拉线提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4849[34]$"])] + public void 祖_前后方猛袭方乱流(Event @event, ScriptAccessory accessory) + { + var dir = @event.ActionId == 48493 ? "背后" : "正面"; + if (isText) accessory.Method.TextInfo($"远离扯线,然后去{dir}", duration: 5000, true); + if (isTTS) accessory.Method.TTS($"远离扯线,然后去{dir}"); + } + + [ScriptMethod(name: "强敌#1: 奇子·祖_强袭滑空(拉线范围)", eventType: EventTypeEnum.Tether, eventCondition: ["Id:regex:^0039$"])] + public void 祖_强袭滑空(Event @event, ScriptAccessory accessory) + { + if (HelperExtensions.GetCurrentTerritoryId() != 1341) return; + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"强袭滑空{@event.SourceId}"; // ActionId: 48495 + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.4f); + dp.Owner = @event.SourceId(); + dp.TargetObject = @event.TargetId; + dp.Scale = new(3f); + dp.ScaleMode |= ScaleMode.YByDistance; + dp.DestoryAt = 5700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); + } + + [ScriptMethod(name: "强敌#1: 奇子·祖_前方乱流(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48497$"])] + 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.Radian = 180f.DegToRad(); + dp.DestoryAt = 700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + + // Todo. 强敌#1: 奇子·祖_后方乱流(扫尾 )ActionId:regex:^48499$ 实体面向未确定 + + [ScriptMethod(name: "敌人#4: 奇子·巨像_岩石崩溃(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48555$"])] + public void 巨像_岩石崩溃(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"岩石崩溃{@event.SourceId}"; + dp.Color = new Vector4(1f, 0f, 0f, 2f); + dp.Owner = @event.SourceId(); + dp.Scale = new(10f, 45f); + dp.DestoryAt = 6700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); + } + + [ScriptMethod(name: "敌人#4: 沙球_爆炸(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48562$"])] + 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 Vector2(12f); + dp.DestoryAt = 2700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "敌人#4: 奇子·拉哈穆_大地摇动(扇形点名)", eventType: EventTypeEnum.TargetIcon, eventCondition: ["Id:0028"])] + public void 拉哈穆_大地摇动(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + + var boss = accessory.Data.Objects.GetByDataId(19614).FirstOrDefault(); + if (boss == null) return; + dp.Owner = boss.GameObjectId; + + dp.Name = $"大地摇动{@event.TargetId}"; + dp.TargetObject = @event.TargetId(); + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); + dp.Scale = new Vector2(50f); + dp.Radian = 90f.DegToRad(); + dp.DestoryAt = 4400; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + + [ScriptMethod(name: "强敌#2: 奇子·塞壬_混乱之歌(顺劈)", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:regex:^48565$"])] + 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(50f); + dp.Radian = 90f.DegToRad(); + dp.DestoryAt = 7400; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + + [ScriptMethod(name: "强敌#2: 奇子·塞壬_急袭(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48570$"])] + 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(16f, 50f); + dp.DestoryAt = 3700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); + } + + [ScriptMethod(name: "强敌#2: 奇子·塞壬_亡者之歌(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48573$"])] + 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 Vector2(12f); + dp.DestoryAt = 6700; + dp.ScaleMode = ScaleMode.ByTime; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + + var dp1 = accessory.Data.GetDefaultDrawProperties(); + dp1.Name = $"亡者之歌描边{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor.WithW(10f); + dp1.Scale = new(12f); + dp1.InnerScale = new(11.95f); + dp1.Radian = float.Pi * 2; + dp1.Owner = @event.SourceId(); + dp1.DestoryAt = 6700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1); + } + + [ScriptMethod(name: "强敌#2: 奇子·塞壬_亡者之歌(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48575$"])] + public void 塞壬_亡者之歌月环(Event @event, ScriptAccessory accessory) + { + if (isTTS) accessory.Method.TTS($"靠近月环"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"亡者之歌月环{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor.WithW(1f); + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(50f); + dp.InnerScale = new Vector2(3f); + dp.Radian = float.Pi * 2; + dp.DestoryAt = 6700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); + } + + // Todo. 强敌#2: 远音 三穿一水炮 ActionId 48577 + + [ScriptMethod(name: "头目: 贪食无厌 加特勒_垂直驱动(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48605$"])] + public void 加特勒_垂直驱动(Event @event, ScriptAccessory accessory) + { + if (isTTS) accessory.Method.TTS($"去两侧"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"垂直驱动{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.4f); + dp.Owner = @event.SourceId(); + dp.Scale = new(20f, 80f); + dp.DestoryAt = 6700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Straight, dp); + } + + [ScriptMethod(name: "头目: 贪食无厌 加特勒_贪食啮噬(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48603$"])] + public void 加特勒_贪食啮噬(Event @event, ScriptAccessory accessory) + { + if (isText) accessory.Method.TextInfo($"去对侧角落", duration: 10600, true); + if (isTTS) accessory.Method.TTS($"去对侧角落"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"贪食啮噬{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.4f); + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(40f); + dp.DestoryAt = 11300; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "头目: 贪食无厌 加特勒_贪食裂膛(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48600$"])] + public void 加特勒_贪食裂膛(Event @event, ScriptAccessory accessory) + { + if (isText) accessory.Method.TextInfo($"去BOSS背后", duration: 10600, true); + if (isTTS) accessory.Method.TTS($"去BOSS背后"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"贪食裂膛{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); + dp.Owner = @event.SourceId(); + dp.Scale = new(40f, 50f); + dp.DestoryAt = 11300; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); + } + + [ScriptMethod(name: "头目: 诱爆魔刃_魔力爆炸(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48597$"])] + 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 Vector2(8f); + dp.DestoryAt = 4700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "头目: 贪食无厌 加特勒_大奔流(击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48607$"])] + public void 加特勒_大奔流(Event @event, ScriptAccessory accessory) + { + if (isText) accessory.Method.TextInfo($"向南北击退", duration: 6000, true); + if (isTTS) accessory.Method.TTS($"向南北击退"); + IntPtr omenHandle = accessory.Method.VfxMethod.CreateOmen(427, new Vector3(60f), + @event.EffectPosition(), @event.SourceRotation(), new Vector4(1f, 0.4f, 0f, 0.5f), 6700); + accessory.Method.VfxMethod.SetVfxSpeed(omenHandle, 0.8f); + } + + [ScriptMethod(name: "头目: 贪食无厌 加特勒_霹雳(直线麻痹死刑)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48620$"])] + public void 加特勒_霹雳(Event @event, ScriptAccessory accessory) + { + if (isText) accessory.Method.TextInfo($"麻痹死刑", duration: 4000, true); + if (isTTS) accessory.Method.TTS($"麻痹死刑"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"霹雳{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); + dp.Owner = @event.SourceId(); + dp.TargetObject = @event.TargetId; + dp.Scale = new(6f, 50f); + dp.DestoryAt = 4700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); + } + + [ScriptMethod(name: "头目: 贪食无厌 加特勒_支配魔刃(躲避提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48614$"])] + public void 加特勒_支配魔刃(Event @event, ScriptAccessory accessory) + { + if (isTTS) accessory.Method.TTS($"快躲开"); + } + + [ScriptMethod(name: "头目: 贪食无厌 加特勒_拘束(结界方块)", eventType: EventTypeEnum.ObjectChanged, eventCondition: ["Operate:Add", "DataId:regex:^2015427$"])] + public void 加特勒_拘束(Event @event, ScriptAccessory accessory) + { + if (HelperExtensions.GetCurrentTerritoryId() != 1341) return; + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"拘束{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); + dp.Owner = @event.SourceId(); + dp.Scale = new(10f, 10f); + dp.DestoryAt = 4200; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Straight, dp); + } + + [ScriptMethod(name: "头目: 魔刃结界_剧毒魔刃(十字)", eventType: EventTypeEnum.ObjectChanged, eventCondition: ["Operate:Add", "DataId:regex:^2015427$"])] + public void 魔刃结界_剧毒魔刃(Event @event, ScriptAccessory accessory) + { + if (HelperExtensions.GetCurrentTerritoryId() != 1341) return; + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"剧毒魔刃{@event.SourceId}"; + dp.Scale = new(10f, 30f); + dp.Owner = @event.SourceId(); + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); + dp.Delay = 4200; + dp.DestoryAt = 8400; + + float[] rotations = { 0f, 90f }; + + foreach (float rotation in rotations) + { + dp.Rotation = rotation.DegToRad(); + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Straight, dp); + } + } + + [ScriptMethod(name: "头目: 贪食无厌 加特勒_火焰魔刃(放置核爆提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48615$"])] + public void 加特勒_火焰魔刃(Event @event, ScriptAccessory accessory) + { + if (isText) accessory.Method.TextInfo($"放置核爆", duration: 5200, true); + if (isTTS) accessory.Method.TTS($"放置核爆"); + } + + [ScriptMethod(name: "头目: 火焰魔刃_魔刃爆焰(核爆)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48619$"])] + 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 Vector2(20f); + dp.DestoryAt = 7700; + dp.ScaleMode = ScaleMode.ByTime; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + #endregion + + #region 斗兽奇弈 高段第一盘 + + [ScriptMethod(name: "—————— 高段 第一盘 ——————", eventType: EventTypeEnum.StatusAdd, eventCondition: ["ActionId:"])] + public void 高段一(Event @event, ScriptAccessory accessory) { } + + [ScriptMethod(name: "敌人#1: 奇子·博学林鸮_掉落(三穿一提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48654$"])] + public void 博学林鸮_掉落提示(Event @event, ScriptAccessory accessory) + { + // if (isText)accessory.Method.TextInfo($"三穿一", duration: 2000, false); + if (isTTS) accessory.Method.TTS($"三穿一"); + } + + [ScriptMethod(name: "敌人#1: 奇子·博学林鸮_爆震之章(浮空提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48657$"])] + public void 博学林鸮_爆震之章(Event @event, ScriptAccessory accessory) + { + if (isText) accessory.Method.TextInfo($"站在浮空圈", duration: 7000, true); + if (isTTS) accessory.Method.TTS($"站在浮空圈"); + } + + [ScriptMethod(name: "敌人#1: 奇子·博学林鸮_狂水之章(河童提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48658$"])] + public void 博学林鸮_狂水之章(Event @event, ScriptAccessory accessory) + { + if (isText) accessory.Method.TextInfo($"站在河童圈", duration: 7000, true); + if (isTTS) accessory.Method.TTS($"站在河童圈"); + } + + [ScriptMethod(name: "敌人#1: 奇子·博学林鸮_魔法锤之章(史莱姆提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48659$"])] + public void 博学林鸮_魔法锤之章(Event @event, ScriptAccessory accessory) + { + if (isText) accessory.Method.TextInfo($"站在粘液怪圈", duration: 7000, true); + if (isTTS) accessory.Method.TTS($"站在粘液怪圈"); + } + + [ScriptMethod(name: "敌人#1: 奇子·博学林鸮_精神集中(驱散提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48668$"])] + public void 博学林鸮_精神集中(Event @event, ScriptAccessory accessory) + { + // 赋予 StatusID 5020 魔法伤害提高 + if (isText) accessory.Method.TextInfo($"准备驱散(借用-水栖波)", duration: 2000, false); + if (isTTS) accessory.Method.TTS($"准备驱散"); + } + + [ScriptMethod(name: "敌人#1: 奇子·博学林鸮_昏暗之章(AOE)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48669$"])] + public void 博学林鸮_昏暗之章(Event @event, ScriptAccessory accessory) + { + if (isText) accessory.Method.TextInfo($"大AOE", duration: 7000, false); + if (isTTS) accessory.Method.TTS($"大AOE"); + } + + [ScriptMethod(name: "敌人#2: 奇子·魔界花_恶臭气(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4867(3|5)$"])] + 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(50f); + dp.Radian = 90f.DegToRad(); + dp.DestoryAt = @event.ActionId == 48673 ? 4700 : 200; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + + [ScriptMethod(name: "敌人#2: 奇子·魔界花_地震(击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^50758$"])] + public void 魔界花_地震(Event @event, ScriptAccessory accessory) + { + IntPtr omenHandle = accessory.Method.VfxMethod.CreateOmen(203, new Vector3(35f), + @event.EffectPosition(), @event.SourceRotation(), new Vector4(1f, 0.5f, 0f, 0.5f), 4700); + + // Todo.击退距离没测 + } + + [ScriptMethod(name: "随机#1: 奇子·花苗_荆棘幼苗(危险区)", eventType: EventTypeEnum.ObjectChanged, eventCondition: ["Operate:Add", "Kind:EventObj", "DataId:2015458"])] + 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(10f); + dp.DestoryAt = 15000; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "随机#1: 奇子·尸生花_吐出(击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48683$"])] + public void 尸生花_吐出(Event @event, ScriptAccessory accessory) + { + if (isText) accessory.Method.TextInfo($"吸引+击退", duration: 4000, true); + if (isTTS) accessory.Method.TTS($"吸引+击退"); + + IntPtr omenHandle = accessory.Method.VfxMethod.CreateOmen(203, new Vector3(10f), // 击退源为BOSS,距离10m + @event.EffectPosition(), @event.SourceRotation(), new Vector4(1f, 0.4f, 0f, 0.8f), 15000); + } + + [ScriptMethod(name: "随机#2: 奇子·冰龙_冰寒折磨(辣翅辣尾直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4869(7|9)$"])] + public void 冰龙_冰寒折磨(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"冰寒折磨{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.5f); + dp.Owner = @event.SourceId(); + dp.Scale = new(15f, 100f); + dp.DestoryAt = 6200; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Straight, dp); + } + + [ScriptMethod(name: "随机#2: 奇子·冰龙_白霜环绕(AOE+DOT)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48709$"])] + public void 冰龙_白霜环绕(Event @event, ScriptAccessory accessory) + { + if (isText) accessory.Method.TextInfo($"AOE+DOT(可用 <死尸净化> 驱散冻伤)", duration: 4000, false); + if (isTTS) accessory.Method.TTS($"AOE+DOT"); + } + + [ScriptMethod(name: "随机#2: 奇子·冰龙_寒冰覆盖(诱导提示)", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:regex:^48707$"], suppress: 300000)] + public void 冰龙_寒冰覆盖(Event @event, ScriptAccessory accessory) + { + // 从 [48710 寒冰覆盖] 开始读条,到最后一个黄圈出现,共11s,但还是需要提早播报一下所以采用 [48707 无终的枯朽] 的判定,注意横幅入场动画需占0.7s + // 虽然 [48707 无终的枯朽] 后面不一定接黄圈,但是等 [48710 寒冰覆盖] 开始读条的时候第一个黄圈已经出来了,提示就太晚了,所以用 suppress 只让他报一次 + if (isText) accessory.Method.TextInfo($"贴边诱导六连黄圈", duration: 18900, true); + if (isTTS) accessory.Method.TTS($"贴边诱导六连黄圈"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"寒冰覆盖诱导预测"; // 48712 寒冰覆盖 + dp.Color = accessory.Data.DefaultDangerColor.WithW(10f); + dp.Owner = accessory.Data.Me; + dp.Scale = new Vector2(5f); + dp.InnerScale = new Vector2(4.97f); + dp.Radian = float.Pi * 2; + dp.DestoryAt = 18200; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); + } + + /* + + [ScriptMethod(name: "随机#2: 奇子·冰龙_低温俯冲(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48701$"])] + public void 冰龙_低温俯冲(Event @event, ScriptAccessory accessory) + { + // 这玩意第一次俯冲怎么Z轴高2m的 + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"低温俯冲{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new (23f, 46f); + dp.DestoryAt = 15100; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); + } + + */ + + [ScriptMethod(name: "随机#2: 奇子·冰龙_空降(击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48702$"])] + public async void 冰龙_空降(Event @event, ScriptAccessory accessory) + { + await Task.Delay(19300); + + IntPtr omenHandle = accessory.Method.VfxMethod.CreateOmen(203, new Vector3(60f), + @event.EffectPosition(), @event.SourceRotation(), new Vector4(1f, 0.5f, 0f, 0.8f), 3100); + accessory.Method.VfxMethod.SetVfxSpeed(omenHandle, 1f); + /* + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"空降击退安全区预测"; + dp.Color = accessory.Data.DefaultSafeColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(5f); + dp.Radian = 90f.DegToRad(); + dp.Rotation = 225f.DegToRad(); + dp.DestoryAt = 3100; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + + var dp1 = accessory.Data.GetDefaultDrawProperties(); + dp1.Name = $"空降击退连线{@event.SourceId}"; + dp1.Owner = accessory.Data.Me; + dp1.Color = accessory.Data.DefaultSafeColor; + dp1.ScaleMode |= ScaleMode.YByDistance; + dp1.TargetObject = @event.SourceId(); + dp1.Scale = new(1); + dp1.DestoryAt = 3100; + accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Displacement, dp1); + */ + } + + [ScriptMethod(name: "强敌#1: 奇子·石像鬼_圆环连斩(钢铁月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4872[01]$"])] + public void 石像鬼_圆环连斩(Event @event, ScriptAccessory accessory) + { + // 48719 无意义读条钢铁月环,48720 短钢铁,48721 长月环,为什么他没有环圆连斩? + if (@event.ActionId == 48720) + { + if (isTTS) accessory.Method.TTS($"先远离,再靠近"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"圆环连斩钢铁{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor.WithW(1f); + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(13f); + dp.DestoryAt = 5700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + else if (@event.ActionId == 48721) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"圆环连斩月环{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(43f); + dp.InnerScale = new Vector2(13f); + dp.Radian = float.Pi * 2; + dp.Delay = 5700; + dp.DestoryAt = 2000; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); + } + } + + [ScriptMethod(name: "强敌#1: 奇子·石像鬼_突进连斩(远离提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48717$"])] + public void 石像鬼_突进连斩(Event @event, ScriptAccessory accessory) + { + // 48717 无意义本体读条,48718 二连顺劈 + if (isText) accessory.Method.TextInfo($"远离BOSS,然后去BOSS背后(二连劈)", duration: 12300, true); + if (isTTS) accessory.Method.TTS($"远离BOSS,然后去背后"); + + 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 = 180f.DegToRad(); + dp.Delay = 9000; + dp.DestoryAt = 4000; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + + [ScriptMethod(name: "强敌#1: 奇子·石像鬼_瘴腐气(吃球提示)", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:regex:^48713$"])] + public void 石像鬼_瘴腐气(Event @event, ScriptAccessory accessory) + { + if (isText) accessory.Method.TextInfo($"每轮吃4个球", duration: 5000, false); + if (isTTS) accessory.Method.TTS($"吃4个球"); + } + + [ScriptMethod(name: "强敌#1: 瘴腐气_渐渐恐慌(等待提示)", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:regex:^5178$", "StackCount:4"])] + public void 瘴腐气_渐渐恐慌(Event @event, ScriptAccessory accessory) + { + if (isTTS) accessory.Method.TTS($"等待Debuff结束"); + + var growingdreadtime = @event.DurationMilliseconds(); + foreach (var item in accessory.Data.Objects.GetByDataId(19651)) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"瘴气{@event.SourceId}"; + dp.Owner = item.EntityId; + dp.Color = accessory.Data.DefaultDangerColor.WithW(2f); + dp.Scale = new Vector2(2f); + dp.DestoryAt = growingdreadtime; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + } + + [ScriptMethod(name: "强敌#1: 奇子·石像鬼_冲波五连斩(AOE)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^50696$"])] + public void 石像鬼_冲波五连斩(Event @event, ScriptAccessory accessory) + { + // if (isText)accessory.Method.TextInfo($"AOE", duration: 2000, false); + if (isTTS) accessory.Method.TTS($"AOE"); + } + + [ScriptMethod(name: "强敌#1: 奇子·石像鬼_冲波五连斩(击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48725$"])] + public void 石像鬼_冲波五连斩击退(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"冲波五连斩击退预测{@event.SourceId}"; + dp.Scale = new(1f, 20f); + dp.Color = accessory.Data.DefaultDangerColor.WithW(2f); + dp.Owner = accessory.Data.Me; + dp.TargetObject = @event.SourceId(); + dp.Rotation = float.Pi; + dp.DestoryAt = 3000; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Displacement, dp); + } + + [ScriptMethod(name: "强敌#1: 奇子·石像鬼_荒芜新星(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48727$"])] + 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(7f, 60f); + dp.DestoryAt = 3200; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); + } + + [ScriptMethod(name: "敌人#3: 奇子·树精_簌簌轻风(扇形)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^487(78|79|80)$"])] + 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.DestoryAt = 6700; + switch (@event.ActionId()) + { + case 48778: + dp.Radian = 90f.DegToRad(); + dp.Rotation = 0f.DegToRad(); + break; + case 48779: + dp.Radian = 150f.DegToRad(); + dp.Rotation = 90f.DegToRad(); + break; + case 48780: + dp.Radian = 150f.DegToRad(); + dp.Rotation = 270f.DegToRad(); + break; + } + + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + + [ScriptMethod(name: "敌人#3: 奇子·树精_巨木龙卷(步进地震)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4877[1-5]$"])] + public void 树精_巨木龙卷(Event @event, ScriptAccessory accessory) + { + // 48771 为可见的18m钢铁,之后48772~48775为轮流的步进地震 + if (@event.ActionId == 48771 && isTTS) accessory.Method.TTS($"步进地震"); + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Radian = float.Pi * 2; + dp.DestoryAt = 2000; + switch (@event.ActionId()) + { + case 48772: + dp.Name = $"巨木龙卷_步进月环1{@event.SourceId}"; + dp.Scale = new Vector2(18f); + dp.InnerScale = new Vector2(12f); + dp.Delay = 4700; + break; + case 48773: + dp.Name = $"巨木龙卷_步进月环2{@event.SourceId}"; + dp.Scale = new Vector2(24f); + dp.InnerScale = new Vector2(18f); + dp.Delay = 6700; + break; + case 48774: + dp.Name = $"巨木龙卷_步进月环3{@event.SourceId}"; + dp.Scale = new Vector2(30f); + dp.InnerScale = new Vector2(24f); + dp.Delay = 8700; + break; + case 48775: + dp.Name = $"巨木龙卷_步进月环4{@event.SourceId}"; + dp.Scale = new Vector2(36f); + dp.InnerScale = new Vector2(30f); + dp.Delay = 10700; + break; + } + + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); + } + + [ScriptMethod(name: "敌人#3: 奇子·树精_橡果炸弹(打断提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^50518$"])] + public void 树精_橡果炸弹(Event @event, ScriptAccessory accessory) + { + if (isText) accessory.Method.TextInfo($"睡眠点名", duration: 4000, false); + if (isTTS) accessory.Method.TTS($"睡眠点名"); + } + + [ScriptMethod(name: "敌人#3: 奇子·比洛克_治疗之水(打断提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48782$"])] + public void 比洛克_治疗之水(Event @event, ScriptAccessory accessory) + { + if (isText) accessory.Method.TextInfo($"打断 <比洛克> (借用-咒具碎魂)", duration: 8000, false); + if (isTTS) accessory.Method.TTS($"打断比洛克"); + } + + [ScriptMethod(name: "强敌#2: 奇子·巨像_平原震裂(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48755$"])] + 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(20f); + 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 = accessory.Data.DefaultDangerColor.WithW(10f); + dp1.Owner = @event.SourceId(); + dp1.Scale = new Vector2(20f); + dp1.InnerScale = new Vector2(19.95f); + dp1.Radian = float.Pi * 2; + dp1.DestoryAt = 6700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1); + } + + [ScriptMethod(name: "强敌#2: 奇子·巨像_核心环光(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48753$"])] + 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(50f); + dp.InnerScale = new Vector2(5f); + dp.Radian = float.Pi * 2; + dp.DestoryAt = 6700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); + } + + [ScriptMethod(name: "强敌#2: 奇子·巨像_钢铁月环记录", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^487(59|60)$"], userControl: false)] + public void 巨像_钢铁月环记录(Event @event, ScriptAccessory accessory) + { + if (@event.ActionId == 48759) + EarthenRing = 1; + else if (@event.ActionId == 48760) + Plaincracker = 1; + } + + [ScriptMethod(name: "强敌#2: 奇子·巨像_连线钢铁月环", eventType: EventTypeEnum.Tether, eventCondition: ["Id:01AF"])] + public void 巨像_连线钢铁月环(Event @event, ScriptAccessory accessory) + { + if (Plaincracker == 1) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"平原震裂{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.TargetId(); + dp.Scale = new Vector2(20f); + dp.DestoryAt = 12700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + Plaincracker = 0; + } + else if (EarthenRing == 1) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"核心环光{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.TargetId(); + dp.Scale = new Vector2(50f); + dp.InnerScale = new Vector2(5f); + dp.Radian = float.Pi * 2; + dp.DestoryAt = 12700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); + EarthenRing = 0; + } + } + + [ScriptMethod(name: "强敌#2: 奇子·巨像_岩壁(TTS)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48748$"])] + public void 巨像_岩壁(Event @event, ScriptAccessory accessory) + { + if (isText)accessory.Method.TextInfo($"去两侧石堆旁边", duration: 2000, true); + if (isTTS)accessory.Method.TTS($"去两侧石堆旁边"); + } + + [ScriptMethod(name: "强敌#2: 奇子·巨像_冲击波(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48750$"])] + 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 (5f, 10f); + dp.DestoryAt = 3700; + dp.ScaleMode = ScaleMode.ByTime; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Straight, dp); + } + + [ScriptMethod(name: "强敌#2: 奇子·巨像_岩雨(钢铁月环)", eventType: EventTypeEnum.ObjectEffect, eventCondition: ["Id1:regex:^(1|64)$","Id2:regex:^(2|128)$"])] + public void 巨像_岩雨钢铁月环(Event @event, ScriptAccessory accessory) + { + if (HelperExtensions.GetCurrentTerritoryId() != 1342) return; + + if (@event.Id1() == 1 && @event.Id2() == 2) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"平原震裂{@event.SourceId}"; // 48757 + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(8f); + dp.DestoryAt = 10000; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + + } + else if (@event.Id1() == 64 && @event.Id2() == 128) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"核心环光{@event.SourceId}"; // 48758 + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(11f); + dp.InnerScale = new Vector2(3f); + dp.Radian = float.Pi * 2; + dp.DestoryAt = 10000; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); + } + } + + [ScriptMethod(name: "强敌#2: 奇子·巨像_岩突(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48768$"])] + 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(40f); + dp.Radian = 60f.DegToRad(); + dp.DestoryAt = 4700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + + [ScriptMethod(name: "强敌#2: 奇子·巨像_破魔震(击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^50649$"])] + public void 巨像_破魔震(Event @event, ScriptAccessory accessory) + { + IntPtr omenHandle = accessory.Method.VfxMethod.CreateOmen(203, new Vector3(60f), + @event.EffectPosition(), @event.SourceRotation(), new Vector4(1f,0.4f,0f,0.6f), 5000); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"破魔震{@event.SourceId}"; + dp.Scale = new(1f, 17f); + dp.Color = accessory.Data.DefaultDangerColor.WithW(2f); + dp.Owner = accessory.Data.Me; + dp.TargetObject = @event.SourceId(); + dp.Rotation = float.Pi; + dp.DestoryAt = 4700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Displacement, dp); + } + + [ScriptMethod(name: "随机#4: 奇子·爆弹之母_烈火怒骂(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48799$"])] + 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(40f); + dp.Radian = 180f.DegToRad(); + dp.DestoryAt = 5700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + + // 48801 奇子·爆弹之母_熔毁(击退直线死刑) + + [ScriptMethod(name: "头目: 怨毒龙 博尔格尼_猛毒吐息(后跳顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48807$"])] + public void 博尔格尼_猛毒吐息 (Event @event, ScriptAccessory accessory) + { + // 实际上是读条5.4s后判定,但是实体飞走了.jpg + if (isTTS)accessory.Method.TTS($"后跃顺劈"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"博尔格尼_猛毒吐息{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(60f); + dp.InnerScale = new Vector2(6f); + dp.Radian = 120f.DegToRad(); + dp.Offset = new Vector3(0f, 0f, 19.5f); + dp.DestoryAt = 2700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); + + var dp1 = accessory.Data.GetDefaultDrawProperties(); + dp1.Name = $"博尔格尼_猛毒吐息2{@event.SourceId}"; + dp1.Color = accessory.Data.DefaultDangerColor; + dp1.Owner = @event.SourceId(); + dp1.Scale = new Vector2(60f); + dp1.InnerScale = new Vector2(6f); + dp1.Radian = 120f.DegToRad(); + dp1.Delay = 3700; + dp1.DestoryAt = 1400; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1); + } + + [ScriptMethod(name: "头目: 怨毒龙 博尔格尼_猛毒粘液(放圈提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48809$"])] + public void 博尔格尼_猛毒粘液(Event @event, ScriptAccessory accessory) + { + if (isText)accessory.Method.TextInfo($"四连放圈点名", duration: 12300, false); + if (isTTS)accessory.Method.TTS($"四连放圈点名"); + } + + [ScriptMethod(name: "头目: 怨毒龙 博尔格尼_蠕动的痰(放小怪提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4881(7|9)$"])] + public void 博尔格尼_蠕动的痰(Event @event, ScriptAccessory accessory) + { + if (isText)accessory.Method.TextInfo (@event.ActionId == 48817 ? $"放置小怪点名" : "快躲开", duration: 6900, true); + if (isTTS)accessory.Method.TTS (@event.ActionId == 48817 ? $"放置小怪点名" : $"快躲开"); + } + + [ScriptMethod(name: "头目: 怨毒龙 博尔格尼_低温俯冲(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48814$"])] + 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 (20f, 48f); + dp.DestoryAt = 5700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); + } + + [ScriptMethod(name: "头目: 怨毒龙 博尔格尼_空降(蓝圈击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48828$"])] + public void 博尔格尼_空降(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"博尔格尼_空降击退预测{@event.SourceId}"; + dp.Scale = new(1f, 30f); + dp.Color = accessory.Data.DefaultDangerColor.WithW(2f); + dp.Owner = accessory.Data.Me; + dp.TargetObject = @event.SourceId(); + dp.Rotation = float.Pi; + dp.DestoryAt = 5200; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Displacement, dp); + } + + #endregion + + #region 斗兽奇弈 高段第二盘 + + [ScriptMethod(name: "—————— 高段 第二盘 ——————", eventType: EventTypeEnum.StatusAdd, eventCondition: ["ActionId:"])] + public void 高段二(Event @event, ScriptAccessory accessory) { } + + [ScriptMethod(name: "敌人#1: 奇子·佛劳洛斯_蓄电雷击(前半场刀)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49193$"])] + 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 (40f, 50f); + dp.DestoryAt = 5500; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); + } + + [ScriptMethod(name: "敌人#1: 奇子·佛劳洛斯_飘忽爆破(麻痹死刑)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49189$"])] + public void 佛劳洛斯_飘忽爆破(Event @event, ScriptAccessory accessory) + { + if (isText)accessory.Method.TextInfo($"麻痹死刑", duration: 6000, true); + if (isTTS)accessory.Method.TTS($"麻痹死刑"); + } + + [ScriptMethod(name: "敌人#1: 奇子·佛劳洛斯_电流冲击(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49191$"])] + 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(16f); + dp.DestoryAt = 5700; + dp.ScaleMode = ScaleMode.ByTime; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + + var dp1 = accessory.Data.GetDefaultDrawProperties(); + dp1.Name = $"电流冲击描边{@event.SourceId}"; + dp1.Color = accessory.Data.DefaultDangerColor.WithW(10f); + dp1.Owner = @event.SourceId(); + dp1.Scale = new Vector2(16f); + dp1.InnerScale = new Vector2(15.95f); + dp1.Radian = float.Pi * 2; + dp1.DestoryAt = 5700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1); + } + + [ScriptMethod(name: "强敌#1: 奇子·毒性魔菇(拉水圈提示)", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^19678$"],suppress:1000)] + public void 毒性魔菇提示(Event @event, ScriptAccessory accessory) + { + if (isText)accessory.Method.TextInfo($"在水圈内击杀 <毒性魔菇>", duration: 5000, true); + if (isTTS)accessory.Method.TTS($"在水圈内击杀魔菇"); + } + + [ScriptMethod(name: "强敌#1: 奇子·夺心魔_虚空暴雷(死刑提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49205$"],suppress:1000)] + public void 夺心魔_虚空暴雷提示(Event @event, ScriptAccessory accessory) + { + if (isText)accessory.Method.TextInfo($"范围死刑,离开水圈", duration: 4000, true); + if (isTTS)accessory.Method.TTS($"范围死刑,离开水圈"); + } + + [ScriptMethod(name: "强敌#1: 奇子·夺心魔_虚空暴雷(十字)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49207$"])] + public void 夺心魔_虚空暴雷(Event @event, ScriptAccessory accessory) + { + // Omen的 ActionId是 [50939] + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"虚空暴雷{@event.SourceId}"; + dp.Scale = new (10f, 100f); + dp.Owner = @event.SourceId(); + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); + dp.DestoryAt = 3700; + + float[] rotations = { 0f, 90f}; + + foreach (float rotation in rotations) + { + dp.Rotation = rotation.DegToRad(); + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Straight, dp); + } + } + + [ScriptMethod(name: "强敌#1: 奇子·夺心魔_虚空强麻痹(麻痹AOE)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49208$"])] + public void 夺心魔_虚空强麻痹(Event @event, ScriptAccessory accessory) + { + if (isText)accessory.Method.TextInfo($"[雷,离开水圈] 麻痹AOE(可死尸净化)", duration: 6000, false); + if (isTTS)accessory.Method.TTS($"麻痹AOE,离开水圈"); + } + + [ScriptMethod(name: "强敌#1: 立体魔法阵_黑暗奔流(小直线)", eventType: EventTypeEnum.SetObjPos, eventCondition: ["SourceDataId:regex:^19681$","Id:0197"])] + public void 立体魔法阵_黑暗奔流小(Event @event, ScriptAccessory accessory) + { + if (HelperExtensions.GetCurrentTerritoryId() != 1343) return; + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"立体魔法阵_黑暗奔流小{@event.SourceId}"; // ActionId: 49203 + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); + dp.Owner = @event.SourceId(); + dp.Scale = new (4f, 100f); + dp.DestoryAt = 11200; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Straight, dp); + } + + [ScriptMethod(name: "强敌#1: 立体魔法阵_黑暗奔流(大直线)", eventType: EventTypeEnum.Tether, eventCondition: ["Id:regex:^01AA$"])] + public void 立体魔法阵_黑暗奔流大(Event @event, ScriptAccessory accessory) + { + // 或者用 EventTypeEnum.StatusAdd, eventCondition: ["StatusID:regex:^3795$"] , dp.Owner = @event.TargetId(); dp.DestoryAt = 4200; + if (HelperExtensions.GetCurrentTerritoryId() != 1343) return; + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"立体魔法阵_黑暗奔流大{@event.SourceId}"; // ActionId: 49204 + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); + dp.Owner = @event.SourceId(); + dp.Scale = new (10f, 100f); + dp.DestoryAt = 10000; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Straight, dp); + } + + [ScriptMethod(name: "随机#1: 奇子·夜魔人_突击(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^492(19|20)"])] + public void 夜魔人_突击(Event @event, ScriptAccessory accessory) + { + // 49219 突击钢铁,49220 突击顺劈 + if (isText)accessory.Method.TextInfo (@event.ActionId == 49219 ? $"远离冲锋终点" : "靠近冲锋终点", duration: 5200, true); + if (isTTS)accessory.Method.TTS(@event.ActionId == 49219 ? $"远离冲锋终点" : "靠近冲锋终点"); + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"突击{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new (4f, 50f); + // dp.ScaleMode = ScaleMode.YByDistance; + dp.DestoryAt = 2700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); + } + + [ScriptMethod(name: "随机#1: 奇子·夜魔人_回转击(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49222$"])] + public void 夜魔人_回转击(Event @event, ScriptAccessory accessory) + { + // 49216 调配补给 棍棒 打钢铁,突击 49220 + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"回转击{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(30f); + dp.DestoryAt = 1700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "随机#1: 奇子·夜魔人_横扫(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49224$"])] + public void 夜魔人_横扫 (Event @event, ScriptAccessory accessory) + { + // 49215 调配补给 长刀 打顺劈,突击 49220 + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"横扫{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(40f); + dp.Radian = 120f.DegToRad(); + dp.DestoryAt = 1200; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + + [ScriptMethod(name: "随机#1: 奇子·夜魔人_黑暗帷幕(解除提示)", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^19685$"],suppress:1000)] + public void 夜魔人_黑暗帷幕(Event @event, ScriptAccessory accessory) + { + if (isText)accessory.Method.TextInfo($"使用光元精的扇形亡语对准BOSS", duration: 5000, true); + if (isTTS)accessory.Method.TTS($"使用光元精的扇形亡语对准BOSS"); + } + + [ScriptMethod(name: "随机#1: 奇子·爆弹怪_爆炸(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49210$"])] + 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(9f); + dp.DestoryAt = 4700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + // Todo.49211 随机#1: 奇子·爆弹怪_自爆(狂暴) + + [ScriptMethod(name: "随机#1: 奇子·光元精_光散射(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49212$"])] + 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(20f); + dp.Radian = 45f.DegToRad(); + // dp.FixRotation = true; // ←好像没用 + dp.DestoryAt = 1200; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + + // Todo.49214 随机#1: 奇子·深瞳_石化视线(背对) + + [ScriptMethod(name: "随机#1: 奇子·夜魔人_挥舞(击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49226$"])] + public void 夜魔人_挥舞击退(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"挥舞击退预测{@event.SourceId}"; + dp.Scale = new(1f, 20f); + dp.Color = accessory.Data.DefaultDangerColor.WithW(2f); + dp.Owner = accessory.Data.Me; + dp.TargetObject = @event.SourceId(); + dp.Rotation = float.Pi; + dp.DestoryAt = 4700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Displacement, dp); + + IntPtr omenHandle = accessory.Method.VfxMethod.CreateOmen(203, new Vector3(40f), + @event.EffectPosition(), @event.SourceRotation(), new Vector4(1f,0.4f,0f,0.8f), 4700); + } + + [ScriptMethod(name: "随机#1: 奇子·夜魔人_挥舞(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49228$"])] + 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(12f); + dp.DestoryAt = 4700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "随机#1: 奇子·夜魔人_暗黑冲击(AOE)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49231$"])] + public void 夜魔人_暗黑冲击(Event @event, ScriptAccessory accessory) + { + if (isTTS)accessory.Method.TTS($"AOE"); + } + + [ScriptMethod(name: "随机#2: 奇子·阿托莫斯_震荡波(击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49238$"])] + public void 阿托莫斯_震荡波(Event @event, ScriptAccessory accessory) + { + if (isTTS)accessory.Method.TTS($"中间击退"); + IntPtr omenHandle = accessory.Method.VfxMethod.CreateOmen(203, new Vector3(40f), + @event.EffectPosition(), @event.SourceRotation(), new Vector4(1f,0.4f,0f,0.8f), 5700); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"阿托莫斯_震荡波击退安全区{@event.SourceId}"; + dp.Color = accessory.Data.DefaultSafeColor.WithW(10f); + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(4f); // 场地20m,击退距离16m + dp.InnerScale = new Vector2(3.94f); + dp.Radian = float.Pi * 2; + dp.DestoryAt = 5700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); + } + + [ScriptMethod(name: "随机#2: 奇子·奶冻怪_狂水(击退预测)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49242$"])] + public void 奶冻怪_狂水(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"奶冻怪_狂水击退预测{@event.SourceId}"; + dp.Scale = new(1f, 20f); + dp.Color = accessory.Data.DefaultDangerColor.WithW(2f); + 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: "随机#2: 奇子·软糊怪_爆炎(水圈分摊提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49243$"])] + public void 提示(Event @event, ScriptAccessory accessory) + { + if (isText)accessory.Method.TextInfo($"水圈分摊", duration: 6000, true); + if (isTTS)accessory.Method.TTS($"水圈分摊"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"软糊怪_爆炎{@event.TargetId}"; + dp.Color = accessory.Data.DefaultSafeColor.WithW(0.6f); + dp.Owner = @event.TargetId(); + dp.Scale = new Vector2(6f); + dp.DestoryAt = 4700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "随机#2: 奇子·甜羹怪_暴雷(避开水圈提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49244$"])] + public void 甜羹怪_暴雷提示(Event @event, ScriptAccessory accessory) + { + if (isText)accessory.Method.TextInfo($"离开水圈", duration: 7000, true); + if (isTTS)accessory.Method.TTS($"离开水圈"); + + foreach (var item in accessory.Data.Objects.GetByDataId(2010154)) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Owner = item.EntityId; + dp.Name = $"水圈{item}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Scale = new Vector2(5f); + dp.DestoryAt = 7700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + } + + [ScriptMethod(name: "随机#2: 奇子·甜羹怪_暴雷(地面绘制)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49245$"])] + public void 甜羹怪_暴雷(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"甜羹怪_暴雷{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Position = @event.EffectPosition; + dp.Scale = new Vector2(5f); + dp.DestoryAt = 7700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "随机#2: 奇子·阿托莫斯_昏暗(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49240$"])] + 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 = 120f.DegToRad(); + dp.DestoryAt = 6700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + + [ScriptMethod(name: "敌人#2: 奇子·火蛟_火龙卷(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49256$"])] + 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(50f); + dp.Radian = 120f.DegToRad(); + dp.DestoryAt = 4700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + + [ScriptMethod(name: "敌人#2: 火球_延烧(钢铁)", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^19697$"])] + public void 火球_延烧(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"火球_延烧{@event.SourceId}"; // ActionId 49258 + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.4f); + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(4f); + dp.DestoryAt = 55200; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "敌人#2: 火球_延烧销毁", eventType: EventTypeEnum.RemoveCombatant, eventCondition: ["DataId:regex:^19697$"],userControl: false)] + public void 火球_延烧销毁(Event @event, ScriptAccessory accessory) + { + accessory.Method.RemoveDraw($"火球_延烧.*"); + } + + [ScriptMethod(name: "敌人#2: 火焰旋风(月环连线)", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:19699"])] + public void 火焰旋风连线(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"火焰旋风连线{@event.SourceId}"; + dp.Owner = accessory.Data.Me; + dp.Color = accessory.Data.DefaultSafeColor; + dp.ScaleMode |= ScaleMode.YByDistance; + dp.TargetObject = @event.SourceId(); + dp.Scale = new(1); + dp.DestoryAt = 2700; + accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Displacement, dp); + } + + [ScriptMethod(name: "敌人#2: 火焰旋风_火焰旋风(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49259$"])] + public void 火焰旋风_火焰旋风(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"火焰旋风{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(50f); + dp.InnerScale = new Vector2(3.5f); + dp.Radian = float.Pi * 2; + dp.DestoryAt = 4700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); + } + + [ScriptMethod(name: "敌人#2: 奇子·火蛟_火棘屏障(读条驱散提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49253$"])] + public void 火蛟_火棘屏障(Event @event, ScriptAccessory accessory) + { + if (isText)accessory.Method.TextInfo($"准备驱散 <火蛟>(借用-水栖波)", duration: 5000, false); + if (isTTS)accessory.Method.TTS($"准备驱散火蛟"); + } + + [ScriptMethod(name: "强敌#2: 奇子·杜尔迦_雷气释放(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4926[56]$"])] + 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 = @event.ActionId == 49265 ? new Vector2(20f) : new Vector2(6f); + dp.DestoryAt = 4900; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "强敌#2: 导弹_突击(直线躲避提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^50688$"],suppress:1000)] + public void 导弹_突击(Event @event, ScriptAccessory accessory) + { + if (isTTS)accessory.Method.TTS($"快躲开"); + } + + [ScriptMethod(name: "强敌#2: 奇子·杜尔迦_原子射线(AOE)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49272$"])] + public void 杜尔迦_原子射线(Event @event, ScriptAccessory accessory) + { + if (isText)accessory.Method.TextInfo($"[火] 大AOE", duration: 12000, true); + if (isTTS)accessory.Method.TTS($"大AOE"); + } + + [ScriptMethod(name: "强敌#2: 奇子·杜尔迦_气化炸弹(放击退提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49273$"])] + public void 杜尔迦_气化炸弹(Event @event, ScriptAccessory accessory) + { + if (isText)accessory.Method.TextInfo($"放置击退源", duration: 3200, true); + if (isTTS)accessory.Method.TTS($"放置击退源"); + } + + [ScriptMethod(name: "强敌#2: 奇子·杜尔迦_气化炸弹(击退预测)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49274$"])] + public void 杜尔迦_气化炸弹击退预测(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"气化炸弹击退预测{@event.SourceId}"; + dp.Scale = new(1f, 40f); + dp.Color = accessory.Data.DefaultDangerColor.WithW(2f); + 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: "强敌#2: 奇子·杜尔迦_扩散射线(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:49276$"])] + 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(30f); + dp.Radian = 120f.DegToRad(); + dp.DestoryAt = 4700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + + // 随机#3: 奇子·美杜莎 Tether 0001 > 连线位置释放扇形 49278 石化光照射 用于石化小怪 + + [ScriptMethod(name: "随机#3: 奇子·美杜莎_圆环/环圆连斩(钢铁月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^492(89|91|93|95)$"])] + public void 美杜莎_圆环环圆连斩(Event @event, ScriptAccessory accessory) + { + var (name, scale, inner, delay, destroyAt, text) = @event.ActionId switch + { + 49289 => ("圆环连斩钢铁", 6f, 0f, 0L, 6700L, "先远离,再靠近"), + 49291 => ("圆环连斩月环", 60f, 5f, 6700L, 2000L, (string)null), + 49293 => ("环圆连斩月环", 60f, 5f, 0L, 6700L, "先靠近,再远离"), + 49295 => ("环圆连斩钢铁", 6f, 0f, 6700L, 2000L, (string)null), + _ => throw new ArgumentOutOfRangeException() + }; + + if (isTTS && text != null) accessory.Method.TTS($"{text}"); + if (isText && text != null) accessory.Method.TextInfo($"{text}", duration: 9000, true); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Name = $"{name}{@event.SourceId()}"; + dp.Scale = new Vector2(scale); + dp.Delay = delay; + dp.DestoryAt = destroyAt; + + var isDonut = inner > 0; + if (isDonut) + { + dp.InnerScale = new Vector2(inner); + dp.Radian = float.Pi * 2; + } + accessory.Method.SendDraw(DrawModeEnum.Default, isDonut ? DrawTypeEnum.Donut : DrawTypeEnum.Circle, dp); + } + + // Todo. 需要再优化 + + [ScriptMethod(name: "随机#3: 奇子·美杜莎_冲击波(四向扇形)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:49296$"])] + 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.Delay = 4700; + dp.DestoryAt = 2000; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + + // 随机#3: 里的独眼巨人也有怒视,和下面敌人#4: 巨人 的合一起了 + + [ScriptMethod(name: "敌人#3: 奇子·斯芬克斯_放逐(左右刀)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:493(39|41)$"])] + public void 斯芬克斯_放逐 (Event @event, ScriptAccessory accessory) + { + var isR = @event.ActionId == 49341; + + 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 = 180f.DegToRad(); + dp.DestoryAt = 5700; + dp.Rotation = isR ? 270f.DegToRad() : 90f.DegToRad(); + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + + [ScriptMethod(name: "敌人#3: 奇子·斯芬克斯_放逐(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49337$"])] + 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 = 5700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + + var dp1 = accessory.Data.GetDefaultDrawProperties(); + dp1.Name = $"放逐钢铁描边{@event.SourceId}"; + dp1.Color = accessory.Data.DefaultDangerColor.WithW(10f); + dp1.Owner = @event.SourceId(); + dp1.Scale = new Vector2(18f); + dp1.InnerScale = new Vector2(17.95f); + dp1.Radian = float.Pi * 2; + dp1.DestoryAt = 5700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1); + } + + [ScriptMethod(name: "敌人#3: 奇子·斯芬克斯_放逐(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49335$"])] + 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.InnerScale = new Vector2(10f); + dp.Radian = float.Pi * 2; + dp.DestoryAt = 5700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); + } + + [ScriptMethod(name: "敌人#3: 奇子·斯芬克斯_记忆的谜题(指路)", eventType: EventTypeEnum.Chat, eventCondition: ["Type:NPCDialogueAnnouncements", + "Message:regex:^(试问……\n哪一个是(有翼|甲鳞|百兽|水栖)纲的魔物?|問おう……\n「(有翼|甲鱗|百獣|水棲)綱」の魔物はいずれなりや?|Riddle me this─which child is kin of (cloud|scale|beast|wave)?)$"])] + public async void 记忆的谜题指路连线(Event @event, ScriptAccessory accessory) + { + var monsterDict = new Dictionary + { + { "cloud", 19711 }, // 有翼纲 渡渡鸟 + { "scale", 19714 }, // 甲鳞纲 跳蜥 + { "beast", 19713 }, // 百兽纲 奥猴 + { "wave", 19712 }, // 水栖纲 陆鱼 + }; + + var keywordMap = new (string keyword, string category)[] + { + ("有翼", "cloud"), ("甲鳞", "scale"), ("百兽", "beast"), ("水栖", "wave"), // 中文 + ("甲鱗", "scale"), ("百獣", "beast"), ("水棲", "wave"), // 日文(「有翼」与中文相同,故省略) + ("cloud", "cloud"), ("scale", "scale"), ("beast", "beast"), ("wave", "wave"), // 英文 + }; + + // 从台词解析纲类别 + string rawMessage = @event["Message"]; + string category = null; + foreach (var (keyword, cat) in keywordMap) + { + if (rawMessage.Contains(keyword)) { category = cat; break; } + } + + if (category == null) return; + + try + { + await Task.Delay(1000); + + // 重新获取,而不是依赖 await 前的引用 + if (monsterDict.TryGetValue(category, out var dataId)) + { + DrawMonsterLine(accessory, @event, dataId); + } + } + catch (Exception ex) + { + accessory.Log.Debug($"奇子连线失败: {ex}"); + } + } + private void DrawMonsterLine(ScriptAccessory accessory, Event @event, uint dataId) + { + foreach (var item in accessory.Data.Objects.GetByDataId(dataId)) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"奇子连线_{dataId}_{item.EntityId}"; + dp.Owner = accessory.Data.Me; + dp.TargetObject = item.EntityId; + dp.Color = accessory.Data.DefaultSafeColor; + dp.ScaleMode |= ScaleMode.YByDistance; + dp.Scale = new(1); + dp.DestoryAt = 60000; // 这机制最短持续有约35s,不如直接画一分钟然后销毁 + accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Displacement, dp); + } + } + + [ScriptMethod(name: "敌人#3: 奇子·斯芬克斯_记忆的谜题销毁", eventType: EventTypeEnum.StatusRemove, eventCondition: ["StatusID:regex:^1433$"],userControl: false)] + public void 记忆的谜题销毁(Event @event, ScriptAccessory accessory) + { + accessory.Method.RemoveDraw($"奇子连线.*"); + } + + [ScriptMethod(name: "强敌#3: 奇子·奇美拉_毒性爆发(毒AOE)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49332$"])] + public void 奇美拉_毒性爆发(Event @event, ScriptAccessory accessory) + { + if (isText)accessory.Method.TextInfo($"AOE+毒(可死尸净化)", duration: 4000, false); + if (isTTS)accessory.Method.TTS($"AOE+毒"); + } + + /* 绘制钢铁月环扇形,留存 + + [ScriptMethod(name: "强敌#3: 奇子·奇美拉_冰结大咆哮(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49315$"])] + public void 奇美拉_冰结大咆哮(Event @event, ScriptAccessory accessory) + { + if (isTTS)accessory.Method.TTS($"远离"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"冰结大咆哮{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(12f); + 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 = accessory.Data.DefaultDangerColor.WithW(10f); + dp1.Owner = @event.SourceId(); + dp1.Scale = new Vector2(12f); + dp1.InnerScale = new Vector2(11.95f); + dp1.Radian = float.Pi * 2; + dp1.DestoryAt = 6700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1); + } + + [ScriptMethod(name: "强敌#3: 奇子·奇美拉_雷电大咆哮(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49316$"])] + public void 奇美拉_雷电大咆哮(Event @event, ScriptAccessory accessory) + { + if (isTTS)accessory.Method.TTS($"靠近"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"雷电大咆哮{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(40f); + dp.InnerScale = new Vector2(8f); + dp.Radian = float.Pi * 2; + dp.DestoryAt = 6700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); + } + + [ScriptMethod(name: "强敌#3: 奇子·奇美拉_寒冰/雷鸣/火焰吐息(扇形)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:4930(0|2|4)$"])] + public void 奇美拉_寒冰雷鸣火焰吐息 (Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + switch (@event.ActionId()) + { + case 49300: // 寒冰吐息 右下方向 + dp.Name = $"奇美拉_寒冰吐息{@event.SourceId}"; + dp.Rotation = 240f.DegToRad(); + break; + case 49302: // 雷鸣吐息 左下方向 + dp.Name = $"奇美拉_雷鸣吐息{@event.SourceId}"; + dp.Rotation = 120f.DegToRad(); + break; + case 49304: // 火焰吐息 面前方向 + dp.Name = $"奇美拉_火焰吐息{@event.SourceId}"; + dp.Rotation = 0f.DegToRad(); + break; + } + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(60f); + dp.Radian = 240f.DegToRad(); + dp.DestoryAt = 6700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + + */ + + [ScriptMethod(name: "强敌#3: 奇子·奇美拉_冰结/雷冰大咆哮(扇形安全区)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^493(0[024]|1[56])$"])] + public void 奇美拉_大咆哮 (Event @event, ScriptAccessory accessory) + { + switch (@event.ActionId()) + { + // 大咆哮 钢铁 / 月环 + case 49315: _chimeraRingType = 1; break; // 冰结大咆哮 钢铁 + case 49316: _chimeraRingType = 2; break; // 雷电大咆哮 月环 + + // 扇形吐息 + case 49300: _chimeraFanType = 1; break; // 寒冰吐息 右下 + case 49302: _chimeraFanType = 2; break; // 雷鸣吐息 左下 + case 49304: _chimeraFanType = 3; break; // 火焰吐息 面前 + } + + if (_chimeraRingType == 0 || _chimeraFanType == 0) return; + + string ringSafe = _chimeraRingType == 1 ? "远离" : "靠近"; + string fanSafeDir = _chimeraFanType switch + { + 1 => "左上", // 寒冰 + 2 => "右上", // 雷鸣 + 3 => "背后", // 火焰 + _ => "未知" + }; + + if (isText)accessory.Method.TextInfo($"{ringSafe},{fanSafeDir}安全", duration: 6300, true); + if (isTTS)accessory.Method.TTS($"{ringSafe}加{fanSafeDir}安全"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + switch (_chimeraFanType) + { + case 1: dp.Rotation = 60f.DegToRad(); break; // 寒冰 左上安全 + case 2: dp.Rotation = 300f.DegToRad(); break; // 雷鸣 右上安全 + case 3: dp.Rotation = 180f.DegToRad(); break; // 火焰 背后安全 + } + + dp.Color = accessory.Data.DefaultSafeColor.WithW(1f); + dp.Owner = @event.SourceId(); + dp.Radian = 120f.DegToRad(); + dp.DestoryAt = 6700; + + if (_chimeraRingType == 1) + { + dp.Scale = new Vector2(23.7f); + dp.InnerScale = new Vector2(12f); + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); + _chimeraRingType = 0; + _chimeraFanType = 0; + } + else if (_chimeraRingType == 2) + { + dp.Scale = new Vector2(8f); + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + _chimeraRingType = 0; + _chimeraFanType = 0; + } + } + + [ScriptMethod(name: "强敌#3: 奇子·奇美拉_强袭吐息(冲锋扇形)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:4932[345]$"])] + public void 奇美拉_强袭吐息 (Event @event, ScriptAccessory accessory) + { + // 读条约6.2s后 [49322]冲锋伤害 判定,冲锋后约3.6s扇形判定 + var dp = accessory.Data.GetDefaultDrawProperties(); + switch (@event.ActionId()) + { + case 49323: // 寒冰吐息 右下方向 + if (isText)accessory.Method.TextInfo($"远离扯线,然后去左上", duration: 9100, true); + if (isTTS)accessory.Method.TTS($"远离扯线,然后去左上"); + dp.Name = $"强袭寒冰吐息{@event.SourceId}"; + dp.Rotation = 240f.DegToRad(); + break; + case 49324: // 雷鸣吐息 左下方向 + if (isText)accessory.Method.TextInfo($"远离扯线,然后去右上", duration: 9100, true); + if (isTTS)accessory.Method.TTS($"远离扯线,然后去右上"); + dp.Name = $"强袭雷鸣吐息{@event.SourceId}"; + dp.Rotation = 120f.DegToRad(); + break; + case 49325: // 火焰吐息 面前方向 + if (isText)accessory.Method.TextInfo($"远离扯线,然后去背后", duration: 9100, true); + if (isTTS)accessory.Method.TTS($"远离扯线,然后去背后"); + dp.Name = $"强袭火焰吐息{@event.SourceId}"; + dp.Rotation = 0f.DegToRad(); + break; + } + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(60f); + dp.Radian = 240f.DegToRad(); + dp.Delay = 6200; + dp.DestoryAt = 3600; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + + [ScriptMethod(name: "强敌#3: 奇子·奇美拉_寒冰眼(点名放置提示)", eventType: EventTypeEnum.TargetIcon, eventCondition: ["Id:regex:^029D$"])] + public void 奇美拉_寒冰眼(Event @event, ScriptAccessory accessory) + { + // 放置 49320 寒冰眼 + if (HelperExtensions.GetCurrentTerritoryId() != 1343) return; + if (@event.TargetId() != accessory.Data.Me) return; + if (isText)accessory.Method.TextInfo($"放置冰圈", duration: 3500, false); + if (isTTS)accessory.Method.TTS($"放置冰圈"); + } + + [ScriptMethod(name: "强敌#3: 闪电球_无序的和声(钢铁)", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^19709$"])] + public void 闪电球_无序的和声(Event @event, ScriptAccessory accessory) + { + if (isTTS)accessory.Method.TTS($"远离球"); + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"无序的和声{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(6f); + dp.DestoryAt = 9000; + dp.ScaleMode = ScaleMode.ByTime; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + + var dp1 = accessory.Data.GetDefaultDrawProperties(); + dp1.Name = $"无序的和声描边{@event.SourceId}"; + dp1.Color = accessory.Data.DefaultDangerColor.WithW(10f); + dp1.Owner = @event.SourceId(); + dp1.Scale = new Vector2(6f); + dp1.InnerScale = new Vector2(5.95f); + dp1.Radian = float.Pi * 2; + dp1.DestoryAt = 6700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1); + } + + [ScriptMethod(name: "敌人#4: 奇子·巨人_巨躯狂怒(前后刀)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:4936(1|3)$"])] + public void 巨人_巨躯狂怒 (Event @event, ScriptAccessory accessory) + { + var isF = @event.ActionId == 49361; + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"巨躯狂怒{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(40f); + dp.Radian = 180f.DegToRad(); + dp.Rotation = isF ? 0f.DegToRad() : 180f.DegToRad(); + dp.DestoryAt = 5700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + + [ScriptMethod(name: "敌人#4: 奇子·巨人_巨躯狂怒(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49359$"])] + 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 = 5700; + dp.ScaleMode = ScaleMode.ByTime; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + + var dp1 = accessory.Data.GetDefaultDrawProperties(); + dp1.Name = $"巨躯狂怒钢铁描边{@event.SourceId}"; + dp1.Color = accessory.Data.DefaultDangerColor.WithW(10f); + dp1.Owner = @event.SourceId(); + dp1.Scale = new Vector2(15f); + dp1.InnerScale = new Vector2(14.95f); + dp1.Radian = float.Pi * 2; + dp1.DestoryAt = 5700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1); + } + + [ScriptMethod(name: "敌人#4: 奇子·巨人_粉碎重踏(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49378$"])] + public void 巨人_粉碎重踏(Event @event, ScriptAccessory accessory) + { + // 使用 TargetIcon 00EA 对准异色史莱姆释放的直线 + // 49379 疑似是武器打到会变色的位置 + if (isTTS)accessory.Method.TTS($"快躲开"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"粉碎重踏{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new (8f, 40f); + dp.DestoryAt = 2700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); + } + + [ScriptMethod(name: "敌人#4: 凝胶化火焰/雷电_炸裂(打断提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4937(3|5)$"])] + public void 凝胶化_炸裂(Event @event, ScriptAccessory accessory) + { + if (isTTS)accessory.Method.TTS($"打断史莱姆"); + } + + [ScriptMethod(name: "敌人#4: 奇子·巨人_追炎(旋风)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49366$"])] + public void 巨人_追炎(Event @event, ScriptAccessory accessory) + { + if (isTTS)accessory.Method.TTS($"快躲开"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"追炎{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(6f); + dp.DestoryAt = 2700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + + var dp1 = accessory.Data.GetDefaultDrawProperties(); + dp1.Name = $"追炎描边{@event.SourceId}"; + dp1.Color = accessory.Data.DefaultDangerColor.WithW(10f); + dp1.Owner = @event.SourceId(); + dp1.Scale = new Vector2(6f); + dp1.InnerScale = new Vector2(5.95f); + dp1.Radian = float.Pi * 2; + dp1.DestoryAt = 2700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1); + } + + [ScriptMethod(name: "敌人#4: 奇子·巨人_追雷(踩塔)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49364$"])] + public void 巨人_追雷(Event @event, ScriptAccessory accessory) + { + if (isTTS)accessory.Method.TTS($"踩塔"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"追雷连线{@event.SourceId}"; + dp.Owner = accessory.Data.Me; + dp.Color = accessory.Data.DefaultSafeColor; + dp.ScaleMode |= ScaleMode.YByDistance; + dp.TargetObject = @event.SourceId(); + dp.Scale = new(1); + dp.DestoryAt = 2700; + accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Displacement, dp); + } + + [ScriptMethod(name: "敌人#4: 奇子·独眼巨人_激励鼓舞(打断提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49368$"])] + public void 独眼巨人_激励鼓舞(Event @event, ScriptAccessory accessory) + { + if (isTTS)accessory.Method.TTS($"打断小怪"); + } + + [ScriptMethod(name: "敌人#4: 奇子·独眼巨人_怒视(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^493(67|70)$"])] + 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 (3f, 40f); + dp.DestoryAt = 3700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); + } // 在 随机#3:奇子·美杜莎 的战斗中,也有同名小怪与同名技能 + + [ScriptMethod(name: "随机#4: 奇子·莫古小猛_莫古暴风雨(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49383$"])] + 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(22f); + dp.DestoryAt = 7700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "随机#4: 奇子·莫古小猛_百库啵横扫(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49381$"])] + 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 = 60f.DegToRad(); + dp.DestoryAt = 7700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + + [ScriptMethod(name: "随机#4: 奇子·莫古小术_绒绒陨石雨(步进扩大地火)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^5094[3-6]$"])] + public void 莫古小术_绒绒陨石雨(Event @event, ScriptAccessory accessory) + { + // 后续依次为 50944 8m / 50945 10m / 50946 12m / 50947 14m,每次步进距离均为8m + if (isTTS)accessory.Method.TTS($"步进扩大地火"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + var dp1 = accessory.Data.GetDefaultDrawProperties(); + + dp.Name = $"绒绒陨石雨{@event.SourceId}"; + dp1.Name = $"绒绒陨石雨步进预测{@event.SourceId}"; + dp1.Color = dp.Color = accessory.Data.DefaultDangerColor; + dp1.Owner = dp.Owner = @event.SourceId(); + dp1.Offset = new Vector3(0f, 0f, -8f); + dp1.DestoryAt = dp.DestoryAt = @event.ActionId== 50943 ? 6700 : 1600; + switch (@event.ActionId()) + { + case 50943: + dp.Scale = new Vector2(6f); + dp1.Scale = new Vector2(8f); + break; + case 50944: + dp.Scale = new Vector2(8f); + dp1.Scale = new Vector2(10f); + break; + case 50945: + dp.Scale = new Vector2(10f); + dp1.Scale = new Vector2(12f); + break; + case 50946: + dp.Scale = new Vector2(12f); + dp1.Scale = new Vector2(14f); + break; + } + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp1); + } + + [ScriptMethod(name: "随机#4: 奇子·莫古小医_绒绒神圣(三角)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49387$"])] + public void 莫古小医_绒绒神圣(Event @event, ScriptAccessory accessory) + { + IntPtr omenHandle = accessory.Method.VfxMethod.CreateOmen(574, new Vector3(40f), + @event.EffectPosition(), @event.SourceRotation(), new Vector4(1f,1f,0f,1f), 8700); + /* 能用三角了就不画扇形了! + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"莫古小医_绒绒神圣{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(40f); + dp.Radian = 90f.DegToRad(); + dp.DestoryAt = 8700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + */ + } + + [ScriptMethod(name: "随机#4: 奇子·莫古小歌_莫古狂想曲(撞球提示)", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:regex:^49397$"])] + public void 莫古小歌_莫古狂想曲(Event @event, ScriptAccessory accessory) + { + if (isTTS)accessory.Method.TTS($"避开BOSS撞球"); + } + + [ScriptMethod(name: "随机#5: 奇子·贝希摩斯_陨石冲击(提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49402$"])] + public void 贝希摩斯_陨石冲击(Event @event, ScriptAccessory accessory) + { + if (isText)accessory.Method.TextInfo($"连续放置5个陨石,不要重叠", duration: 20800, true); + if (isTTS)accessory.Method.TTS($"连续放陨石,不要重叠"); + } + + [ScriptMethod(name: "随机#5: 奇子·贝希摩斯_引雷(提示)", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:regex:^2574$"])] + public void 贝希摩斯_广域落雷_引雷(Event @event, ScriptAccessory accessory) + { + if (isText)accessory.Method.TextInfo($"传雷0层的雷塔", duration: 7300, true); + if (isTTS)accessory.Method.TTS($"传雷0层的雷塔"); + } + + [ScriptMethod(name: "随机#5: 雷塔_放电(提示)", eventType: EventTypeEnum.ObjectEffect, eventCondition: ["Id1:16","Id2:32"])] + public void 雷塔_放电(Event @event, ScriptAccessory accessory) + { + // 蓄力一层 4|8,三层应该是 64|128, 重置是1|2, 放电 ActionId 49401 + if (HelperExtensions.GetCurrentTerritoryId() != 1343) return; + if (phase != Beasts_Phase.Behemoth) return; + if (isText)accessory.Method.TextInfo($"给 <{@event.SourceName()}> 放电", duration: 4000, true); + if (isTTS)accessory.Method.TTS($"给{@event.SourceName()}放电"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"{@event.SourceName()}放电连线{@event.SourceId}"; + dp.Owner = accessory.Data.Me; + dp.Color = accessory.Data.DefaultSafeColor; + dp.ScaleMode |= ScaleMode.YByDistance; + dp.TargetObject = @event.SourceId(); + dp.Scale = new(1); + dp.DestoryAt = 5000; + accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Displacement, dp); + } + + [ScriptMethod(name: "随机#5: 雷塔_放电销毁", eventType: EventTypeEnum.ObjectEffect, eventCondition: ["Id1:1","Id2:2"],userControl:false)] + public void 雷塔_放电销毁(Event @event, ScriptAccessory accessory) + { + accessory.Method.RemoveDraw($".*放电连线.*"); + } + + [ScriptMethod(name: "随机#5: 奇子·贝希摩斯_黄道陨石(提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49410$"])] + public void 贝希摩斯_黄道陨石(Event @event, ScriptAccessory accessory) + { + if (isTTS)accessory.Method.TTS($"躲在陨石后"); + } + + [ScriptMethod(name: "随机#5: 奇子·贝希摩斯_大漩涡(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49415$"])] + 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(12f); + dp.DestoryAt = 5700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "随机#5: 奇子·贝希摩斯_大漩涡(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49413"])] + public void 贝希摩斯_大漩涡月环(Event @event, ScriptAccessory accessory) + { + if (isTTS)accessory.Method.TTS($"靠近BOSS"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"贝希摩斯_大漩涡月环{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(40f); + dp.InnerScale = new Vector2(8f); + dp.Radian = float.Pi * 2; + dp.DestoryAt = 5700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); + } + + [ScriptMethod(name: "随机#5: 奇子·铁巨人_巨剑(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49408$"])] + 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(30f); + dp.Radian = 120f.DegToRad(); + dp.DestoryAt = 3700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + + // 49420 死亡轮盘转转转 + // 50940 怪光线 直线死刑 [TargetIcon 01D7] + + [ScriptMethod(name: "强敌#4: 奇子·冥鬼之眼王_双重视线(鸳鸯锅)", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:regex:^553[67]$"])] + public void 冥鬼之眼王_双重视线(Event @event, ScriptAccessory accessory) + { + if (@event.TargetId() != accessory.Data.Me) return; + var color = @event.StatusId == 5536 ? "红色" : "白色"; + if (isText)accessory.Method.TextInfo($"去{color}半场", duration: 4500, true); + if (isTTS)accessory.Method.TTS($"去{color}半场"); + } + + [ScriptMethod(name: "强敌#4: 奇子·肮脏之眼_死亡视线(背对提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49434$"])] + public void 肮脏之眼_死亡视线(Event @event, ScriptAccessory accessory) + { + if (isText)accessory.Method.TextInfo($"背对 <肮脏之眼>", duration: 3000, true); + if (isTTS)accessory.Method.TTS($"背对肮脏之眼"); + } + + [ScriptMethod(name: "强敌#4: 奇子·冥鬼之眼王_5兽级即死(引爆提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49429$"])] + public void 冥鬼之眼王_5兽级即死(Event @event, ScriptAccessory accessory) + { + if (isText)accessory.Method.TextInfo($"引爆宝宝(只需引爆5倍数等级)", duration: 5000, true); + if (isTTS)accessory.Method.TTS($"引爆宝宝"); + } + + [ScriptMethod(name: "头目: 魔斧之主 劳妲_霹雳(直线麻痹死刑)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49470$"])] + public void 劳妲_霹雳(Event @event, ScriptAccessory accessory) + { + if (isText)accessory.Method.TextInfo($"麻痹死刑", duration: 4000, true); + if (isTTS)accessory.Method.TTS($"麻痹死刑"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"霹雳{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); + dp.Owner = @event.SourceId(); + dp.TargetObject = @event.TargetId; + dp.Scale = new (6f, 50f); + dp.DestoryAt = 4700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); + } + + [ScriptMethod(name: "头目: 隐蔽魔刃_突进(直线)", eventType: EventTypeEnum.PlayActionTimeline, eventCondition: ["Id:regex:^4576$","SourceDataId:19745"])] + public void 隐蔽魔刃_突进(Event @event, ScriptAccessory accessory) + { + // PlayActionTimeline 4562是出现,4576是隐藏 + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"隐蔽魔刃_突进{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new (5f, 50f); + dp.Delay = 3700; + dp.DestoryAt = 4000; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); + } + + [ScriptMethod(name: "头目: 魔斧之主 劳妲_大奔流(击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49453$"])] + public void 劳妲_大奔流(Event @event, ScriptAccessory accessory) + { + if (isText)accessory.Method.TextInfo($"向南北击退", duration: 6000, true); + if (isTTS)accessory.Method.TTS($"向南北击退"); + IntPtr omenHandle = accessory.Method.VfxMethod.CreateOmen(427, new Vector3(60f), + @event.EffectPosition(), @event.SourceRotation(), new Vector4(1f,0.5f,0f,0.5f), 6700); + accessory.Method.VfxMethod.SetVfxSpeed(omenHandle,0.8f); + } + + [ScriptMethod(name: "头目: 魔斧之主 劳妲_支配魔刃(引导提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49462$"])] + public void 劳妲_支配魔刃引导(Event @event, ScriptAccessory accessory) + { + if (isText)accessory.Method.TextInfo($"向南北引导直线(避开人偶)", duration: 14300, true); + if (isTTS)accessory.Method.TTS($"向南北引导直线(避开人偶)"); + } + + [ScriptMethod(name: "头目: 魔斧之主 劳妲_支配魔刃(躲避提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49464$"])] + public void 劳妲_支配魔刃躲避(Event @event, ScriptAccessory accessory) + { + if (isTTS)accessory.Method.TTS($"快躲开"); + } + + [ScriptMethod(name: "头目: 魔斧之主 劳妲_支配魔刃(直线预兆)", eventType: EventTypeEnum.Tether, eventCondition: ["Id:regex:^0001$"])] + public void 劳妲_支配魔刃预兆(Event @event, ScriptAccessory accessory) + { + if (HelperExtensions.GetCurrentTerritoryId() != 1343) return; + if (phase != Beasts_Phase.Lauda) return; + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"支配魔刃预兆{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.2f); + dp.Owner = @event.SourceId(); + dp.TargetObject = @event.TargetId; + dp.Scale = new (6f,60f); + dp.DestoryAt = 5200; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); + } + + [ScriptMethod(name: "头目: 魔斧之主 劳妲_垂直驱动(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49451$"])] + public void 劳妲_垂直驱动(Event @event, ScriptAccessory accessory) + { + if (isTTS)accessory.Method.TTS($"去两侧"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"垂直驱动{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.4f); + dp.Owner = @event.SourceId(); + dp.Scale = new (20f, 80f); + dp.DestoryAt = 6700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Straight, dp); + } + + [ScriptMethod(name: "头目: 魔斧之主 劳妲_贪食啮噬(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49449$"])] + public void 劳妲_贪食啮噬(Event @event, ScriptAccessory accessory) + { + if (isText)accessory.Method.TextInfo($"对侧角落安全(注意击退)", duration: 12600, true); + if (isTTS)accessory.Method.TTS($"对侧角落安全(注意击退)"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"贪食啮噬{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.4f); + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(40f); + dp.DestoryAt = 13300; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "头目: 魔斧之主 劳妲_贪食裂膛(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49446$"])] + public void 劳妲_贪食裂膛(Event @event, ScriptAccessory accessory) + { + if (isText)accessory.Method.TextInfo($"BOSS背后安全(注意击退)", duration: 12600, true); + if (isTTS)accessory.Method.TTS($"BOSS背后安全(注意击退)"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"贪食裂膛{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); + dp.Owner = @event.SourceId(); + dp.Scale = new (40f, 50f); + dp.DestoryAt = 13300; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); + } + + [ScriptMethod(name: "头目: 魔斧之主 劳妲_消失魔刃·冲波(提醒)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49484$"])] + public void 劳妲_消失魔刃冲波(Event @event, ScriptAccessory accessory) + { + // [Status 5341] 49485 瞬移?,打正打背怎么都是49487 , 49488没遇到,击退距离40m + if (isText)accessory.Method.TextInfo($"观察稍后击退方向", duration: 6000, true); + if (isTTS)accessory.Method.TTS($"观察击退方向"); + } + + // [Status 5341]消失魔刃·冲波 49484 本体无意义读条,49485 瞬移?,打正打背怎么都是49487 , 49488没遇到,击退距离40m + + [ScriptMethod(name: "头目: 高段诱爆魔刃_魔力爆炸(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49443$"])] + 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 Vector2(8f); + dp.DestoryAt = 4700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "头目: 魔斧之主 劳妲_拘束(结界方块)", eventType: EventTypeEnum.ObjectChanged, eventCondition: ["Operate:Add","DataId:regex:^20154(28|53)$"])] + public void 劳妲_拘束(Event @event, ScriptAccessory accessory) + { + if (HelperExtensions.GetCurrentTerritoryId() != 1343) return; + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"拘束{@event.SourceId}"; + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); + dp.Owner = @event.SourceId(); + dp.Scale = new (10f, 10f); + dp.DestoryAt = 4200; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Straight, dp); + } + + [ScriptMethod(name: "头目: 高段魔刃结界_剧毒魔刃(十字)", eventType: EventTypeEnum.ObjectChanged, eventCondition: ["Operate:Add","DataId:regex:^2015428$"])] + public void 高段魔刃结界_剧毒魔刃(Event @event, ScriptAccessory accessory) + { + if (HelperExtensions.GetCurrentTerritoryId() != 1343) return; + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"高段剧毒魔刃{@event.SourceId}"; + dp.Scale = new (10f, 30f); + dp.Owner = @event.SourceId(); + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); + dp.Delay = 4200; + dp.DestoryAt = 8400; + + float[] rotations = { 0f, 90f}; + + foreach (float rotation in rotations) + { + dp.Rotation = rotation.DegToRad(); + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Straight, dp); + } + } + + [ScriptMethod(name: "头目: 火焰魔刃·牢狱(钢铁)", eventType: EventTypeEnum.ObjectChanged, eventCondition: ["Operate:Add","DataId:regex:^2015453$"])] + public void 火焰魔刃牢狱(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"火焰魔刃·牢狱{@event.SourceId}"; // ActionId 49460 + dp.Color = accessory.Data.DefaultDangerColor.WithW(0.9f); + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(12f); + dp.DestoryAt = 11800; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "头目: 魔斧之主 劳妲_火焰魔刃(放置核爆提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4946(5|8)$"])] + public void 劳妲_火焰魔刃(Event @event, ScriptAccessory accessory) + { + if (isText && @event.ActionId== 49465) accessory.Method.TextInfo ($"放置核爆点名", duration: 7000, true); + if (isTTS)accessory.Method.TTS (@event.ActionId== 49465 ? $"放置核爆点名" : $"快躲开"); + } + + [ScriptMethod(name: "头目: 高段火焰魔刃_魔刃爆焰(核爆)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49469$"])] + 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 Vector2(20f); + dp.DestoryAt = 10700; + dp.ScaleMode = ScaleMode.ByTime; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + // 49473 暴食战斧 最后击退 + + #endregion } diff --git a/00-Other/NewDuty.cs b/00-Other/NewDuty.cs index 93d51ae..148c1b3 100644 --- a/00-Other/NewDuty.cs +++ b/00-Other/NewDuty.cs @@ -25,20 +25,19 @@ using FFXIVClientStructs.FFXIV.Component.GUI; namespace NewDuty; [ScriptType(guid: "80890eac-4730-4708-ad1b-05aba469c2a1", name: "最新最热临时绘制", - territorys: [1307, 1346, 1339, 1340, 1341, 1342, 1343], - version: "0.0.3.4", author: "Tetora", note: noteStr)] + territorys: [1307, 1346], + version: "0.0.3.5", author: "Tetora", note: noteStr)] /* MapID * 1307: 格莱杨拉波尔歼灭战 * 1346:新月岛北征 - * 1339~1343 斗兽奇弈 */ public class NewDuty { const string noteStr = """ - v0.0.3.4: + v0.0.3.5: 最新最热副本绘制,可能会电,介意请关闭 别人的正式版发了这边就删 """; @@ -46,7 +45,7 @@ public class NewDuty #region 用户控制 [UserSetting("TTS开关")] public bool isTTS { get; set; } = true; - + [UserSetting("弹窗文本提示开关")] public bool isText { get; set; } = true; [UserSetting("下一次AOE预兆颜色")] public ScriptColor Next_AOEs { get; set; } = new() { V4 = new(1f, 1f, 0f, 1f) }; @@ -73,3214 +72,6 @@ public class NewDuty accessory.Method.RemoveDraw($".*{@event.TargetId()}"); } - #endregion - - #region 记录与转换 - - public enum Beasts_Phase - { - Init, // 初始 - Lauda // 高二尾王 魔斧之主 劳妲 - } - Beasts_Phase phase = Beasts_Phase.Init; - - [ScriptMethod(name: "高二尾王 劳妲", userControl: false, eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^19742$"])] - public void 劳妲转换(Event @event, ScriptAccessory accessory) - { - if (HelperExtensions.GetCurrentTerritoryId() != 1343) return; - phase = phase switch - { - Beasts_Phase.Init => Beasts_Phase.Lauda, - }; - if(isDeveloper) accessory.Method.SendChat($"/e [Debug]:战斗进度:尾王劳妲"); - } - - uint WildSpeed = 0; // 普二 曼提克-猛冲重锤 - uint Plaincracker = 0; // 高一 巨像 平原震裂 - uint EarthenRing = 0; // 高一 巨像 核心环光 - private int _chimeraRingType = 0; // 高二 奇美拉 0未知 1钢铁 2月环 - private int _chimeraFanType = 0; // 高二 奇美拉 0未知 1寒冰 2雷鸣 3火焰 - - public void Init(ScriptAccessory accessory) - { - phase = Beasts_Phase.Init; - WildSpeed = 0; - Plaincracker = 0; - EarthenRing = 0; - _chimeraRingType = 0; - _chimeraFanType = 0; - } - - #endregion - - [ScriptMethod(name: "百虫肤防击退销毁", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:regex:^4620$"], userControl: false)] - public void 百虫肤防击退销毁(Event @event, ScriptAccessory accessory) - { - if (@event.TargetId() != accessory.Data.Me) return; - accessory.Method.RemoveDraw(".*击退.*"); - } - - [ScriptMethod(name: "—————— 斗兽奇弈 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])] - public void 斗兽奇弈(Event @event, ScriptAccessory accessory) { } - - #region 斗兽奇弈 第一盘 - - [ScriptMethod(name: "—————— 第一盘 ——————", eventType: EventTypeEnum.StatusAdd, eventCondition: ["ActionId:"])] - public void 第一盘(Event @event, ScriptAccessory accessory) { } - - [ScriptMethod(name: "敌人#1: 奇子·主教_死亡螺旋(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46868$"])] - public void 主教_死亡螺旋(Event @event, ScriptAccessory accessory) - { - // if (isText)accessory.Method.TextInfo($"靠近主教月环", duration: 5000, true); - if (isTTS) accessory.Method.TTS($"靠近主教月环"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"死亡螺旋{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(40f); - dp.InnerScale = new Vector2(4f); - dp.Radian = float.Pi * 2; - dp.DestoryAt = 5700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); - } - - [ScriptMethod(name: "敌人#1: 奇子·骑士_骨化(打断提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46871$"])] - public void 骑士_骨化(Event @event, ScriptAccessory accessory) - { - if (isText) accessory.Method.TextInfo($"打断骑士伤害提高(控制或借用-咒具碎魂)", duration: 7000, false); - if (isTTS) accessory.Method.TTS($"打断骑士"); - } - - [ScriptMethod(name: "敌人#1: 奇子·骑士_物理伤害提高(驱散提示)", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:regex:^2074$"])] - public void 骑士_物理伤害提高(Event @event, ScriptAccessory accessory) - { - if (HelperExtensions.GetCurrentTerritoryId() != 1339) return; - if (isText) accessory.Method.TextInfo($"驱散骑士(借用-水栖波)", duration: 5000, false); - if (isTTS) accessory.Method.TTS($"驱散骑士"); - } - - [ScriptMethod(name: "敌人#1: 奇子·主教_古代疾风(面前直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46870$"])] - 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(8f, 40f); - dp.DestoryAt = 5700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); - } - - [ScriptMethod(name: "敌人#1: 奇子·骑士_前线护卫(魔兽吸引注意提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46864$"])] - public void 骑士_前线护卫(Event @event, ScriptAccessory accessory) - { - if (isText) accessory.Method.TextInfo($"使用魔兽技 [吸引注意]", duration: 4000, true); - if (isTTS) accessory.Method.TTS($"使用魔兽吸引注意"); - } - - [ScriptMethod(name: "敌人#1: 奇子·骑士_古墓(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46866$"])] - public void 骑士_古墓(Event @event, ScriptAccessory accessory) - { - if (isTTS) accessory.Method.TTS($"远离骑士"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"古墓{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(6f); - dp.DestoryAt = 4700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - - [ScriptMethod(name: "敌人#2: 奇子·上级恶魔_深渊贯穿(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4688(2|4)$"])] - 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 = @event.ActionId() == 46882 ? new Vector2(6f) : new Vector2(3f); - dp.DestoryAt = @event.ActionId() == 46882 ? 3400 : 3200; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - - [ScriptMethod(name: "敌人#2: 奇子·上级恶魔_深渊回转(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46886$"])] - 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(40f); - dp.Radian = 180f.DegToRad(); - dp.DestoryAt = 5700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - - [ScriptMethod(name: "敌人#3: 奇子·夺灵魔_澄澈之心(驱散提示)", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:regex:^1225$"])] - public void 夺灵魔_澄澈之心(Event @event, ScriptAccessory accessory) - { - if (HelperExtensions.GetCurrentTerritoryId() != 1339) return; - if (isText) accessory.Method.TextInfo($"驱散伤害提高(借用-水栖波)", duration: 5000, false); - if (isTTS) accessory.Method.TTS($"驱散"); - } - - [ScriptMethod(name: "敌人#3: 奇子·夺灵魔_魔力冲击(AOE)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46899$"])] - public void 夺灵魔_魔力冲击(Event @event, ScriptAccessory accessory) - { - // if (isText)accessory.Method.TextInfo($"驱散伤害提高(借用-水栖波)", duration: 7000, false); - if (isTTS) accessory.Method.TTS($"AOE"); - } - - [ScriptMethod(name: "敌人#3: 奇子·夺灵魔_虚空暴风(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46897$"])] - public void 夺灵魔_虚空暴风(Event @event, ScriptAccessory accessory) - { - // if (isText)accessory.Method.TextInfo($"靠近月环", duration: 5000, true); - if (isTTS) accessory.Method.TTS($"靠近月环"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"虚空暴风{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(60f); - dp.InnerScale = new Vector2(5f); - dp.Radian = float.Pi * 2; - dp.DestoryAt = 5700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); - } - - [ScriptMethod(name: "敌人#3: 奇子·夺灵魔_虚空冰封(步进地火TTS)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46887$"])] - public void 夺灵魔_虚空冰封(Event @event, ScriptAccessory accessory) - { - // if (isText)accessory.Method.TextInfo($"步进地火,二穿一", duration: 2000, true); - if (isTTS) accessory.Method.TTS($"准备穿地火"); - } - - [ScriptMethod(name: "敌人#3: 奇子·夺灵魔_虚无耀星(核爆)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46895$"])] - public void 夺灵魔_虚无耀星(Event @event, ScriptAccessory accessory) - { - if (isText) accessory.Method.TextInfo($"远离核爆", duration: 5000, false); - if (isTTS) accessory.Method.TTS($"远离核爆"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"虚无耀星{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(30f); - dp.DestoryAt = 5700; - dp.ScaleMode = ScaleMode.ByTime; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - - [ScriptMethod(name: "敌人#4: 奇子·祸蛛蝎_地面隆起(地震钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46902$"])] - public void 祸蛛蝎_地面隆起(Event @event, ScriptAccessory accessory) - { - if (isTTS) accessory.Method.TTS($"扩散地震"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"地面隆起{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(6f); - dp.DestoryAt = 4700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - - [ScriptMethod(name: "敌人#4: 奇子·祸蛛蝎_致命尾刺(带毒死刑TTS)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46906$"])] - public void 祸蛛蝎_致命尾刺(Event @event, ScriptAccessory accessory) - { - // 回头得再看看毒耐的StatusID! - if (isText) accessory.Method.TextInfo($"带毒死刑,可用 <死尸净化> 驱散", duration: 4000, false); - if (isTTS) accessory.Method.TTS($"带毒死刑"); - } - - [ScriptMethod(name: "敌人#4: 奇子·祸蛛蝎_毒蛛网(九连环TTS)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46907$"])] - public void 祸蛛蝎_毒蛛网(Event @event, ScriptAccessory accessory) - { - // if (isText)accessory.Method.TextInfo($"九连环", duration: 2000, true); - if (isTTS) accessory.Method.TTS($"九连环"); - } - - [ScriptMethod(name: "强敌#1: 奇子·食人魔_燃烧猛击(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^(46912|49688)$"])] - public void 食人魔_燃烧猛击(Event @event, ScriptAccessory accessory) - { - if (isTTS & @event.ActionId() == 49688) accessory.Method.TTS($"去对侧"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"燃烧猛击{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(40f); - dp.Radian = 120f.DegToRad(); - dp.DestoryAt = @event.ActionId() == 46912 ? 5700 : 9000; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - - [ScriptMethod(name: "强敌#1: 奇子·食人魔_火球生成(TTS)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46921$"])] - public void 食人魔_火球生成(Event @event, ScriptAccessory accessory) - { - if (isText) accessory.Method.TextInfo($"躲避连线火球", duration: 3000, true); - if (isTTS) accessory.Method.TTS($"躲避连线火球"); - } - - [ScriptMethod(name: "强敌#1: 奇子·食人魔_火球(追踪钢铁)", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^19343$"])] - public void 食人魔_火球(Event @event, ScriptAccessory accessory) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"火球延烧{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor.WithW(0.5f); - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(10f); - dp.DestoryAt = 30000; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - - [ScriptMethod(name: "强敌#1: 火球延烧触发销毁", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:regex:^46922$"], userControl: false)] - public void 火球延烧销毁(Event @event, ScriptAccessory accessory) - { - accessory.Method.RemoveDraw($"火球延烧.*"); - } - - [ScriptMethod(name: "强敌#1: 火球消失销毁", eventType: EventTypeEnum.RemoveCombatant, eventCondition: ["DataId:regex:^19343$"], userControl: false)] - public void 火球消失销毁(Event @event, ScriptAccessory accessory) - { - accessory.Method.RemoveDraw($"火球延烧.*"); - } - - [ScriptMethod(name: "头目: 魅惑女妖 帕德索_血雨(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46926$"])] - public void 帕德索_血雨钢铁(Event @event, ScriptAccessory accessory) - { - // if (isText)accessory.Method.TextInfo($"远离", duration: 5000, true); - if (isTTS) accessory.Method.TTS($"远离"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"血雨钢铁{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(8f); - dp.DestoryAt = 5700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - - [ScriptMethod(name: "头目: 魅惑女妖 帕德索_血雨(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46924$"])] - public void 帕德索_血雨(Event @event, ScriptAccessory accessory) - { - // if (isText)accessory.Method.TextInfo($"靠近月环", duration: 5000, true); - if (isTTS) accessory.Method.TTS($"靠近月环"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"血雨月环{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(40f); - dp.InnerScale = new Vector2(8f); - dp.Radian = float.Pi * 2; - dp.DestoryAt = 5700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); - } - - [ScriptMethod(name: "头目: 魅惑女妖 帕德索_虚空烈风(面前直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46932$"])] - 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(8f, 60f); - dp.DestoryAt = 3700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); - } - - [ScriptMethod(name: "头目: 魅惑女妖 帕德索_寒毒接触(带毒死刑TTS)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46935$"])] - public void 帕德索_寒毒接触(Event @event, ScriptAccessory accessory) - { - // 回头得再看看毒耐的StatusID! - if (isText) accessory.Method.TextInfo($"带毒死刑,可用 <死尸净化> 驱散", duration: 4000, false); - if (isTTS) accessory.Method.TTS($"带毒死刑"); - } - - [ScriptMethod(name: "头目: 奇子·梦魔法师_盲信(打断提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^46928$"])] - public void 梦魔法师_盲信(Event @event, ScriptAccessory accessory) - { - // 赋予BOSS 伤害提高 StatusID 1225 - if (isText) accessory.Method.TextInfo($"打断 <梦魔法师> 伤害提高(借用-咒具碎魂)", duration: 5000, false); - if (isTTS) accessory.Method.TTS($"打断梦魔法师"); - } - - // Todo. 46936 欺瞒雾 附加噩梦? 召唤两个连线爱心[信息素 DataId:19347] 随后释放 24m钢铁[46938 碎裂] - - #endregion - - #region 斗兽奇弈 第二盘 - - [ScriptMethod(name: "—————— 第二盘 ——————", eventType: EventTypeEnum.StatusAdd, eventCondition: ["ActionId:"])] - public void 第二盘(Event @event, ScriptAccessory accessory) { } - - [ScriptMethod(name: "敌人#1: 奇子·曼提克_臂锤(左右刀)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4812(3|5)$"])] - public void 曼提克_臂锤(Event @event, ScriptAccessory accessory) - { - var isR = @event.ActionId == 48123; - - if (isR) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"臂锤_右{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(30); - dp.Radian = 180f.DegToRad(); - dp.Rotation = 270f.DegToRad(); - dp.DestoryAt = 5300; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - else - { - var dp1 = accessory.Data.GetDefaultDrawProperties(); - dp1.Name = $"臂锤_左{@event.SourceId}"; - dp1.Color = accessory.Data.DefaultDangerColor; - dp1.Owner = @event.SourceId(); - dp1.Scale = new Vector2(30f); - dp1.Radian = 180f.DegToRad(); - dp1.Rotation = 90f.DegToRad(); - dp1.DestoryAt = 5300; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp1); - } - } - - [ScriptMethod(name: "敌人#1: 奇子·曼提克_重锤跃击(跳跃钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48137$"])] - public void 曼提克_重锤跃击(Event @event, ScriptAccessory accessory) - { - if (isTTS) accessory.Method.TTS($"远离跳跃落点"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"重锤跃击{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(30f); - dp.DestoryAt = 7800; - 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, 10f); - dp1.Scale = new(30f); - dp1.InnerScale = new(29.96f); - dp1.Radian = float.Pi * 2; - dp1.Owner = @event.SourceId(); - dp1.DestoryAt = 7800; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1); - } - - [ScriptMethod(name: "敌人#1: 奇子·曼提克_利爪凶尾(前后刀)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4814(0|2)$"])] - public void 曼提克_利爪凶尾(Event @event, ScriptAccessory accessory) - { - var isF = @event.ActionId == 48140; - - if (isF) - { - if (isText) accessory.Method.TextInfo($"后 > 前", duration: 6700, true); - if (isTTS) accessory.Method.TTS($"后,然后前"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"利爪凶尾_前{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(40f); - dp.Radian = 180f.DegToRad(); - dp.Rotation = 0f.DegToRad(); - dp.DestoryAt = 3600; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - else - { - var dp1 = accessory.Data.GetDefaultDrawProperties(); - dp1.Name = $"利爪凶尾_后{@event.SourceId}"; - dp1.Color = accessory.Data.DefaultDangerColor; - dp1.Owner = @event.SourceId(); - dp1.Scale = new Vector2(40f); - dp1.Radian = 180f.DegToRad(); - dp1.Rotation = 180f.DegToRad(); - dp1.DestoryAt = 2100; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp1); - } - } - - [ScriptMethod(name: "敌人#1: 奇子·曼提克_凶尾利爪(前后刀)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^5041(1|3)$"])] - public void 曼提克_凶尾利爪(Event @event, ScriptAccessory accessory) - { - var isF = @event.ActionId == 50413; - - if (isF) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"凶尾利爪_前{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(40f); - dp.Radian = 180f.DegToRad(); - dp.Rotation = 0f.DegToRad(); - dp.DestoryAt = 2100; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - else - { - if (isText) accessory.Method.TextInfo($"前 > 后", duration: 6700, true); - if (isTTS) accessory.Method.TTS($"前,然后后"); - var dp1 = accessory.Data.GetDefaultDrawProperties(); - dp1.Name = $"凶尾利爪_后{@event.SourceId}"; - dp1.Color = accessory.Data.DefaultDangerColor; - dp1.Owner = @event.SourceId(); - dp1.Scale = new Vector2(40f); - dp1.Radian = 180f.DegToRad(); - dp1.Rotation = 180f.DegToRad(); - dp1.DestoryAt = 3600; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp1); - } - } - - [ScriptMethod(name: "敌人#1: 奇子·曼提克_狂野冲锋(连续冲锋)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48128$"])] - public void 曼提克_狂野冲锋(Event @event, ScriptAccessory accessory) - { - if (@event.ActionId == 48128) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"狂野冲锋{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor.WithW(0.8f); - dp.Owner = @event.SourceId(); - dp.TargetPosition = @event.EffectPosition; - dp.ScaleMode = ScaleMode.YByDistance; - dp.Scale = new(8f); - dp.DestoryAt = 8800; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); - } - - WildSpeed = 1; - } - - [ScriptMethod(name: "敌人#1: 奇子·曼提克_猛冲重锤(冲锋左右刀)", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:regex:^(2056|2193)$"], suppress: 9700)] - public void 曼提克_猛冲重锤(Event @event, ScriptAccessory accessory) - { - var isR = @event.StatusId == 2056; // Param分别为: 2056:1044 ; 2193:1043 - // 右刀 ActionId 48132, 左刀 48134, 固定为反方向二连 - - if (WildSpeed != 1) return; - - if (isText) accessory.Method.TextInfo(isR ? $"最后:左 > 右" : "最后:右 > 左", duration: 20300, true); - if (isTTS) accessory.Method.TTS(isR ? $"最后:左穿右" : "最后:右穿左"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = isR ? $"臂锤_右{@event.SourceId}" : $"臂锤_左{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.TargetId(); - dp.Scale = new Vector2(30f); - dp.Radian = 180f.DegToRad(); - dp.Rotation = isR ? 270f.DegToRad() : 90f.DegToRad(); - dp.Delay = 16600; - dp.DestoryAt = 2000; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - - var dp1 = accessory.Data.GetDefaultDrawProperties(); - dp1.Name = isR ? $"臂锤_左{@event.SourceId}" : $"臂锤_右{@event.SourceId}"; - dp1.Color = accessory.Data.DefaultDangerColor; - dp1.Owner = @event.TargetId(); - dp1.Scale = new Vector2(30f); - dp1.Radian = 180f.DegToRad(); - dp1.Rotation = isR ? 90f.DegToRad() : 270f.DegToRad(); - dp1.Delay = 18600; - dp1.DestoryAt = 2000; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp1); - - WildSpeed = 0; - } - - [ScriptMethod(name: "敌人#2: 奇子·双足飞龙_台风(击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48168$"])] - public void 双足飞龙_台风(Event @event, ScriptAccessory accessory) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"台风击退预测{@event.SourceId}"; - dp.Scale = new(1f, 10); - dp.Color = accessory.Data.DefaultDangerColor.WithW(2f); - dp.Owner = accessory.Data.Me; - dp.TargetObject = @event.SourceId(); - dp.Rotation = float.Pi; - dp.DestoryAt = 3000; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Displacement, dp); - } - - [ScriptMethod(name: "敌人#2: 奇子·双足飞龙_炽热弥漫(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48175$"])] - public void 双足飞龙_炽热弥漫(Event @event, ScriptAccessory accessory) - { - if (isTTS) accessory.Method.TTS($"去背后"); - - 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 = 180f.DegToRad(); - dp.DestoryAt = 7700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - - [ScriptMethod(name: "敌人#2: 奇子·双足飞龙_风暴轨迹(扇形)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48178$"])] - 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(25f); - dp.Radian = 60f.DegToRad(); - dp.DestoryAt = 5700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - - [ScriptMethod(name: "强敌#1: 奇子·牛头魔_致命射线(死宣提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48143$"])] - public void 牛头魔_致命射线(Event @event, ScriptAccessory accessory) - { - // EventTypeEnum.StatusAdd, eventCondition: ["StatusID:regex:^5421$"] - // 虽然这副本有死宣抗性但是万一没有的话早踩早解除,还是用读条播报。地板为EnvControl但是没什么用感觉没必要写 - if (isText) accessory.Method.TextInfo($"踩在地板上蓄力8秒解除死宣", duration: 8700, true); - if (isTTS) accessory.Method.TTS($"踩地板"); - } - - [ScriptMethod(name: "强敌#1: 奇子·牛头魔_中心破灭(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^481(55|59|65)$"])] - 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(8f); - switch (@event.ActionId()) - { - case 48155: // 普通单钢铁 - dp.Delay = 0; - dp.DestoryAt = 5700; - break; - case 48159: // 双重先钢铁 - dp.Delay = 5700; - dp.DestoryAt = 3500; - break; - case 48165: // 双重后钢铁 - dp.Delay = 0; - dp.DestoryAt = 5700; - break; - } - - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - - [ScriptMethod(name: "强敌#1: 奇子·牛头魔_外环破灭(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^481(57|61|63)$"])] - 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(50f); - dp.InnerScale = new Vector2(8f); - dp.Radian = float.Pi * 2; - switch (@event.ActionId()) - { - case 48157: // 普通单月环 - dp.Delay = 0; - dp.DestoryAt = 5700; - break; - case 48161: // 双重后月环 - dp.Delay = 5700; - dp.DestoryAt = 3500; - break; - case 48163: // 双重先月环 - dp.Delay = 0; - dp.DestoryAt = 5700; - break; - } - - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); - } - - [ScriptMethod(name: "强敌#1: 奇子·牛头魔_暗黑射线(点名放球)", eventType: EventTypeEnum.TargetIcon, eventCondition: ["Id:regex:^00EA$"])] - public void 牛头魔_暗黑射线(Event @event, ScriptAccessory accessory) - { - if (HelperExtensions.GetCurrentTerritoryId() == 1340 && @event.TargetId() == accessory.Data.Me) - { - // if (isText)accessory.Method.TextInfo($"放球点名", duration: 4000, true); - if (isTTS) accessory.Method.TTS($"放球点名"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"暗黑射线{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); - dp.Owner = @event.TargetId(); - dp.Scale = new Vector2(6f); - dp.DestoryAt = 6000; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - } - - [ScriptMethod(name: "强敌#1: 奇子·牛头魔_以太波(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48150$"])] - 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, 50f); - dp.Delay = 2800; - dp.DestoryAt = 2900; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); - } - - [ScriptMethod(name: "敌人#3: 奇子·虚灵法师_死亡驱动(复活提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48181$"])] - public void 虚灵法师_死亡驱动(Event @event, ScriptAccessory accessory) - { - if (isText) accessory.Method.TextInfo($"尽可能避开小怪放圈", duration: 6000, false); - if (isTTS) accessory.Method.TTS($"放圈,避开小怪"); - - foreach (var item in accessory.Data.Objects.GetByDataId(19549)) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Owner = item.EntityId; - dp.Name = $"奇子·僵尸{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor.WithW(2.5f); - dp.Scale = new Vector2(0.8f); - dp.DestoryAt = 6700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - } - - [ScriptMethod(name: "敌人#3: 奇子·虚灵法师_死亡驱动(地板圈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48182$"])] - public void 虚灵法师_死亡驱动绘制(Event @event, ScriptAccessory accessory) - { - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"死亡驱动{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor.WithW(0.8f); - dp.Position = @event.EffectPosition; - dp.Scale = new Vector2(10f); - dp.DestoryAt = 3700; - dp.ScaleMode = ScaleMode.ByTime; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - - [ScriptMethod(name: "敌人#3: 奇子·虚灵法师_暗天球(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48186$"])] - public void 虚灵法师_暗天球(Event @event, ScriptAccessory accessory) - { - // if (isText)accessory.Method.TextInfo($"远离", duration: 5000, true); - if (isTTS) accessory.Method.TTS($"远离"); - - 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 = 7700; - 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, 10f); - dp1.Scale = new(18f); - dp1.InnerScale = new(17.95f); - dp1.Radian = float.Pi * 2; - dp1.Owner = @event.SourceId(); - dp1.DestoryAt = 7700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1); - } - - [ScriptMethod(name: "强敌#2: 奇子·牛魔兄弟_千百一十吨回转(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4819(4|6)$"])] - public void 牛魔哥弟_千百一十吨回转(Event @event, ScriptAccessory accessory) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = @event.ActionId == 48194 ? $"千百一十吨回转Fast{@event.SourceId}" : $"千百一十吨回转Slow{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(23f); - dp.Delay = @event.ActionId == 48194 ? 0 : 7700; - dp.DestoryAt = @event.ActionId == 48194 ? 7700 : 6000; - dp.ScaleMode = ScaleMode.ByTime; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - - [ScriptMethod(name: "强敌#2: 奇子·牛魔兄弟_千吨横扫(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4819(0|2)$"])] - public void 牛魔哥弟_千吨横扫(Event @event, ScriptAccessory accessory) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = @event.ActionId == 48190 ? $"千吨横扫Fast{@event.SourceId}" : $"千吨横扫Slow{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new(60f, 60f); - dp.Delay = @event.ActionId == 48190 ? 0 : 6700; - dp.DestoryAt = @event.ActionId == 48190 ? 6700 : 3000; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); - } - - [ScriptMethod(name: "强敌#2: 奇子·牛魔兄弟_十吨重踏 冲击波(击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48(199|202)$"])] - public void 牛魔兄弟_十吨重踏_冲击波(Event @event, ScriptAccessory accessory) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = @event.ActionId == 48199 ? $"冲击波击退Fast{@event.SourceId}" : $"冲击波击退Slow{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor.WithW(4f); - dp.Owner = accessory.Data.Me; - dp.TargetObject = @event.SourceId(); - dp.Rotation = float.Pi; - dp.Scale = new Vector2(1f, 20f); - dp.Delay = @event.ActionId == 48199 ? 0 : 6700; - dp.DestoryAt = @event.ActionId == 48199 ? 6700 : 3500; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Displacement, dp); - - if (@event.ActionId == 48199) - { - IntPtr omenHandle = accessory.Method.VfxMethod.CreateOmen(203, new Vector3(60f), - @event.SourcePosition(), @event.SourceRotation(), new Vector4(1f, 1f, 0f, 0.4f), 6700); - accessory.Method.VfxMethod.SetVfxSpeed(omenHandle, 1f); - } - - } - - [ScriptMethod(name: "强敌#2: 奇子·牛魔老弟_声援(打断提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48203$"])] - public void 牛魔老弟_声援(Event @event, ScriptAccessory accessory) - { - // 伤害提高 StatusID 1225 - if (isText) accessory.Method.TextInfo($"打断 <牛魔老弟> 伤害提高(借用-咒具碎魂)", duration: 6000, false); - if (isTTS) accessory.Method.TTS($"打断牛魔老弟"); - } - - [ScriptMethod(name: "强敌#2: 奇子·牛魔老哥_百吨挥打(直线死刑)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48204$"])] - public void 牛魔老哥_百吨挥打(Event @event, ScriptAccessory accessory) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"百吨挥打{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); - dp.Owner = @event.SourceId(); - dp.TargetObject = @event.TargetId; - dp.Scale = new(8f, 65f); - dp.DestoryAt = 8700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); - } - - // 48206 无尽回转 读条完变成不可选中状态,持续追踪玩家释放8m钢铁 48207 - // Todo. 48210 无尽横扫 持续顺/逆时针顺劈 组合技,共约24.7s,转向后会有0.2s的读条,需要提前判断顺逆时针绘制,目前仅为模板 - - [ScriptMethod(name: "强敌#2: 奇子·牛魔老弟_无尽横扫(大风车)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48210$"])] - 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(40f); - dp.Radian = 60f.DegToRad(); - dp.DestoryAt = 24700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - - [ScriptMethod(name: "强敌#2: 奇子·牛魔兄弟_无尽挥打(软狂暴)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48214$"])] - public void 牛魔兄弟_无尽挥打(Event @event, ScriptAccessory accessory) - { - if (isText) accessory.Method.TextInfo($"[软狂暴] 大AOE伤害", duration: 7000, true); - if (isTTS) accessory.Method.TTS($"大AOE伤害"); - } - - [ScriptMethod(name: "随机#1: 魔力球_魔力供给(连线提示)", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:regex:^5406$", "Param:1"])] - public void 魔力球_魔力供给(Event @event, ScriptAccessory accessory) - { - // 魔力供给5层后,会赋予 5409 伤害提高 - // if (isText)accessory.Method.TextInfo($"优先击杀连线目标", duration: 3000, false); - if (isTTS) accessory.Method.TTS($"优先击杀连线目标"); - } - - [ScriptMethod(name: "头目: 小地豆_黄沙吐息(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48227$"])] - 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 = 90f.DegToRad(); - dp.DestoryAt = 8700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - - [ScriptMethod(name: "头目: 路斯福洛克斯_哥布流回旋剑(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48229$"])] - 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(8f); - dp.DestoryAt = 5700; - dp.ScaleMode = ScaleMode.ByTime; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - - [ScriptMethod(name: "头目: 路斯福洛克斯_小地豆肤(驱散提示)", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:regex:^5423$"])] - public void 路斯福洛克斯_小地豆肤(Event @event, ScriptAccessory accessory) - { - if (isText) accessory.Method.TextInfo($"驱散BOSS(借用-水栖波)", duration: 5000, false); - if (isTTS) accessory.Method.TTS($"驱散BOSS"); - } - - [ScriptMethod(name: "头目: 路斯福洛克斯_哥布炸弹(提示)", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^19561$"], suppress: 1000)] - public void 路斯福洛克斯_哥布炸弹(Event @event, ScriptAccessory accessory) - { - if (isText) accessory.Method.TextInfo($"将 <哥布炸弹> 推进小地豆在的流沙", duration: 5000, true); - if (isTTS) accessory.Method.TTS($"将炸弹推进小地豆在的流沙"); - } - - [ScriptMethod(name: "头目: 路斯福洛克斯_哥布流回旋剑(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48231$"])] - public void 路斯福洛克斯_哥布流回旋剑月环(Event @event, ScriptAccessory accessory) - { - // if (isText)accessory.Method.TextInfo($"靠近月环", duration: 5000, true); - if (isTTS) accessory.Method.TTS($"靠近月环"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"路斯福洛克斯_哥布流回旋剑月环{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(40f); - dp.InnerScale = new Vector2(4f); - dp.Radian = float.Pi * 2; - dp.DestoryAt = 5700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); - } - - [ScriptMethod(name: "头目: 小地豆_地震(软狂暴)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48239$"])] - public void 小地豆_地震(Event @event, ScriptAccessory accessory) - { - if (isText) accessory.Method.TextInfo($"[软狂暴] 大AOE伤害", duration: 4000, true); - if (isTTS) accessory.Method.TTS($"大AOE伤害"); - } - - #endregion - - #region 斗兽奇弈 第三盘 - - [ScriptMethod(name: "—————— 第三盘 ——————", eventType: EventTypeEnum.StatusAdd, eventCondition: ["ActionId:"])] - public void 第三盘(Event @event, ScriptAccessory accessory) { } - - [ScriptMethod(name: "敌人#1: 奇子·游侠骑士_钢铁裂斩(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48473$"])] - 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 = 130f.DegToRad(); - dp.DestoryAt = 6700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - - [ScriptMethod(name: "敌人#1: 奇子·游侠骑士的幻影_收割者的恐吓(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48464$"])] - 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 Vector2(20f); - dp.DestoryAt = 5700; - 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, 10f); - dp1.Scale = new(20f); - dp1.InnerScale = new(19.95f); - dp1.Radian = float.Pi * 2; - dp1.Owner = @event.SourceId(); - dp1.DestoryAt = 5700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1); - } - - [ScriptMethod(name: "敌人#1: 奇子·游侠骑士的幻影_残杀(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48462$"])] - 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(8f, 60f); - dp.DestoryAt = 5700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); - } - - [ScriptMethod(name: "敌人#1: 奇子·游侠骑士_粉碎剑(击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48471$"])] - public void 游侠骑士_粉碎剑(Event @event, ScriptAccessory accessory) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"粉碎剑击退预测{@event.SourceId}"; - dp.Scale = new(1f, 15); - dp.Color = accessory.Data.DefaultDangerColor.WithW(2f); - dp.Owner = accessory.Data.Me; - dp.TargetObject = @event.SourceId(); - dp.Rotation = float.Pi; - dp.DestoryAt = 5000; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Displacement, dp); - } - - [ScriptMethod(name: "敌人#2: 奇子·鱼人_麻痹尖刺(反击提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^50532$"])] - public void 鱼人_麻痹尖刺(Event @event, ScriptAccessory accessory) - { - if (isText) accessory.Method.TextInfo($"停止攻击 <鱼人>", duration: 6000, true); - if (isTTS) accessory.Method.TTS($"停止攻击鱼人"); - } - - [ScriptMethod(name: "敌人#2: 奇子·鱼人_恐慌洗礼(打断提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48485$"])] - public void 鱼人_恐慌洗礼(Event @event, ScriptAccessory accessory) - { - if (isText) accessory.Method.TextInfo($"使用 <咒具碎魂> 打断鱼人", duration: 7000, true); - if (isTTS) accessory.Method.TTS($"打断鱼人"); - } - - [ScriptMethod(name: "敌人#2: 奇子·鱼人_大海啸(击退安全区)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48481$"])] - public void 鱼人_大海啸(Event @event, ScriptAccessory accessory) - { - if (isText) accessory.Method.TextInfo($"击退(可被壳阻挡)", duration: 7000, true); - if (isTTS) accessory.Method.TTS($"击退"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"大海啸击退安全区{@event.SourceId}"; - dp.Color = accessory.Data.DefaultSafeColor; - dp.Owner = @event.SourceId(); - dp.Scale = new(40f, 7f); // 击退距离为35m,场地宽40m,电网2m - dp.DestoryAt = 8000; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); - } - - [ScriptMethod(name: "敌人#2: 奇子·尤弥尔_万雷(AOE)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48479$"])] - public void 尤弥尔_万雷(Event @event, ScriptAccessory accessory) - { - // if (isText)accessory.Method.TextInfo($"AOE", duration: 4000, false); - if (isTTS) accessory.Method.TTS($"AOE"); - } - - [ScriptMethod(name: "敌人#2: 奇子·尤弥尔之壳 击杀止步提示", eventType: EventTypeEnum.Death, eventCondition: ["TargetDataId:regex:^19604$"])] - public void 尤弥尔_击杀止步提示(Event @event, ScriptAccessory accessory) - { - if (isText) accessory.Method.TextInfo($"看时机止步 <尤弥尔>", duration: 5000, false); - if (isTTS) accessory.Method.TTS($"止步尤弥尔"); - } - - [ScriptMethod(name: "敌人#3: 奇子·卡托布莱帕斯_魔兽咆哮(AOE)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48504$"])] - public void 卡托布莱帕斯_魔兽咆哮(Event @event, ScriptAccessory accessory) - { - // if (isText)accessory.Method.TextInfo($"AOE", duration: 2000, false); - if (isTTS) accessory.Method.TTS($"AOE"); - } - - // Todo. 钢铁球 DataId 19612, 读条48506 ; 月环球 DataId 19613 , 读条48508。 钢铁+月环22飞的情况按开始飞动顺序沿固定直线飞行到场边后释放 - // 魔眼移植 StatusID 2056 , Param 174; 带背对的情况固定一个个轮流来 - // [Tether 00C3] [VFX Channeling 195] vfx/channeling/eff/chn_ice_mouth01x.avfx / vfx/common/eff/mon_status01et.avfx - - [ScriptMethod(name: "强敌#1: 奇子·祖的蛋_孵化(击杀提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48487$"])] - public void 祖的蛋_孵化(Event @event, ScriptAccessory accessory) - { - if (isText) accessory.Method.TextInfo($"击杀孵化鸟蛋(别用突进)", duration: 5000, true); - if (isTTS) accessory.Method.TTS($"击杀孵化鸟蛋"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"孵化连线{@event.SourceId}"; - dp.Owner = accessory.Data.Me; - dp.Color = accessory.Data.DefaultSafeColor; - dp.ScaleMode |= ScaleMode.YByDistance; - dp.TargetObject = @event.SourceId(); - dp.Scale = new(1); - dp.DestoryAt = 10000; - accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Displacement, dp); - } - - [ScriptMethod(name: "强敌#1: 奇子·祖的蛋_孵化销毁", eventType: EventTypeEnum.CancelAction, eventCondition: ["ActionId:regex:^48487$"])] - public void 祖的蛋_孵化销毁(Event @event, ScriptAccessory accessory) - { - accessory.Method.RemoveDraw($"孵化连线{@event.SourceId}"); - } - - [ScriptMethod(name: "强敌#1: 奇子·祖_十字风(指路)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48491$"])] - public void 祖_十字风(Event @event, ScriptAccessory accessory) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"十字风指路{@event.SourceId}"; - dp.Owner = accessory.Data.Me; - dp.Color = accessory.Data.DefaultSafeColor.WithW(1f); - dp.ScaleMode |= ScaleMode.YByDistance; - dp.TargetPosition = new Vector3(120f, 0f, -420f); - dp.Scale = new(0.5f); - dp.DestoryAt = 8000; - accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Displacement, dp); - } - - [ScriptMethod(name: "强敌#1: 奇子·祖_前/后方猛袭乱流(拉线提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4849[34]$"])] - public void 祖_前后方猛袭方乱流(Event @event, ScriptAccessory accessory) - { - var dir = @event.ActionId == 48493 ? "背后" : "正面"; - if (isText) accessory.Method.TextInfo($"远离扯线,然后去{dir}", duration: 5000, true); - if (isTTS) accessory.Method.TTS($"远离扯线,然后去{dir}"); - } - - [ScriptMethod(name: "强敌#1: 奇子·祖_强袭滑空(拉线范围)", eventType: EventTypeEnum.Tether, eventCondition: ["Id:regex:^0039$"])] - public void 祖_强袭滑空(Event @event, ScriptAccessory accessory) - { - if (HelperExtensions.GetCurrentTerritoryId() != 1341) return; - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"强袭滑空{@event.SourceId}"; // ActionId: 48495 - dp.Color = accessory.Data.DefaultDangerColor.WithW(0.4f); - dp.Owner = @event.SourceId(); - dp.TargetObject = @event.TargetId; - dp.Scale = new(3f); - dp.ScaleMode |= ScaleMode.YByDistance; - dp.DestoryAt = 5700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); - } - - [ScriptMethod(name: "强敌#1: 奇子·祖_前方乱流(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48497$"])] - 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.Radian = 180f.DegToRad(); - dp.DestoryAt = 700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - - // Todo. 强敌#1: 奇子·祖_后方乱流(扫尾 )ActionId:regex:^48499$ 实体面向未确定 - - [ScriptMethod(name: "敌人#4: 奇子·巨像_岩石崩溃(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48555$"])] - public void 巨像_岩石崩溃(Event @event, ScriptAccessory accessory) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"岩石崩溃{@event.SourceId}"; - dp.Color = new Vector4(1f, 0f, 0f, 2f); - dp.Owner = @event.SourceId(); - dp.Scale = new(10f, 45f); - dp.DestoryAt = 6700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); - } - - [ScriptMethod(name: "敌人#4: 沙球_爆炸(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48562$"])] - 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 Vector2(12f); - dp.DestoryAt = 2700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - - [ScriptMethod(name: "敌人#4: 奇子·拉哈穆_大地摇动(扇形点名)", eventType: EventTypeEnum.TargetIcon, eventCondition: ["Id:0028"])] - public void 拉哈穆_大地摇动(Event @event, ScriptAccessory accessory) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - - var boss = accessory.Data.Objects.GetByDataId(19614).FirstOrDefault(); - if (boss == null) return; - dp.Owner = boss.GameObjectId; - - dp.Name = $"大地摇动{@event.TargetId}"; - dp.TargetObject = @event.TargetId(); - dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); - dp.Scale = new Vector2(50f); - dp.Radian = 90f.DegToRad(); - dp.DestoryAt = 4400; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - - [ScriptMethod(name: "强敌#2: 奇子·塞壬_混乱之歌(顺劈)", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:regex:^48565$"])] - 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(50f); - dp.Radian = 90f.DegToRad(); - dp.DestoryAt = 7400; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - - [ScriptMethod(name: "强敌#2: 奇子·塞壬_急袭(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48570$"])] - 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(16f, 50f); - dp.DestoryAt = 3700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); - } - - [ScriptMethod(name: "强敌#2: 奇子·塞壬_亡者之歌(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48573$"])] - 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 Vector2(12f); - dp.DestoryAt = 6700; - dp.ScaleMode = ScaleMode.ByTime; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - - var dp1 = accessory.Data.GetDefaultDrawProperties(); - dp1.Name = $"亡者之歌描边{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor.WithW(10f); - dp1.Scale = new(12f); - dp1.InnerScale = new(11.95f); - dp1.Radian = float.Pi * 2; - dp1.Owner = @event.SourceId(); - dp1.DestoryAt = 6700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1); - } - - [ScriptMethod(name: "强敌#2: 奇子·塞壬_亡者之歌(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48575$"])] - public void 塞壬_亡者之歌月环(Event @event, ScriptAccessory accessory) - { - if (isTTS) accessory.Method.TTS($"靠近月环"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"亡者之歌月环{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor.WithW(1f); - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(50f); - dp.InnerScale = new Vector2(3f); - dp.Radian = float.Pi * 2; - dp.DestoryAt = 6700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); - } - - // Todo. 强敌#2: 远音 三穿一水炮 ActionId 48577 - - [ScriptMethod(name: "头目: 贪食无厌 加特勒_垂直驱动(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48605$"])] - public void 加特勒_垂直驱动(Event @event, ScriptAccessory accessory) - { - if (isTTS) accessory.Method.TTS($"去两侧"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"垂直驱动{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor.WithW(0.4f); - dp.Owner = @event.SourceId(); - dp.Scale = new(20f, 80f); - dp.DestoryAt = 6700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Straight, dp); - } - - [ScriptMethod(name: "头目: 贪食无厌 加特勒_贪食啮噬(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48603$"])] - public void 加特勒_贪食啮噬(Event @event, ScriptAccessory accessory) - { - if (isText) accessory.Method.TextInfo($"去对侧角落", duration: 10600, true); - if (isTTS) accessory.Method.TTS($"去对侧角落"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"贪食啮噬{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor.WithW(0.4f); - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(40f); - dp.DestoryAt = 11300; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - - [ScriptMethod(name: "头目: 贪食无厌 加特勒_贪食裂膛(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48600$"])] - public void 加特勒_贪食裂膛(Event @event, ScriptAccessory accessory) - { - if (isText) accessory.Method.TextInfo($"去BOSS背后", duration: 10600, true); - if (isTTS) accessory.Method.TTS($"去BOSS背后"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"贪食裂膛{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); - dp.Owner = @event.SourceId(); - dp.Scale = new(40f, 50f); - dp.DestoryAt = 11300; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); - } - - [ScriptMethod(name: "头目: 诱爆魔刃_魔力爆炸(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48597$"])] - 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 Vector2(8f); - dp.DestoryAt = 4700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - - [ScriptMethod(name: "头目: 贪食无厌 加特勒_大奔流(击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48607$"])] - public void 加特勒_大奔流(Event @event, ScriptAccessory accessory) - { - if (isText) accessory.Method.TextInfo($"向南北击退", duration: 6000, true); - if (isTTS) accessory.Method.TTS($"向南北击退"); - IntPtr omenHandle = accessory.Method.VfxMethod.CreateOmen(427, new Vector3(60f), - @event.EffectPosition(), @event.SourceRotation(), new Vector4(1f, 0.4f, 0f, 0.5f), 6700); - accessory.Method.VfxMethod.SetVfxSpeed(omenHandle, 0.8f); - } - - [ScriptMethod(name: "头目: 贪食无厌 加特勒_霹雳(直线麻痹死刑)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48620$"])] - public void 加特勒_霹雳(Event @event, ScriptAccessory accessory) - { - if (isText) accessory.Method.TextInfo($"麻痹死刑", duration: 4000, true); - if (isTTS) accessory.Method.TTS($"麻痹死刑"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"霹雳{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); - dp.Owner = @event.SourceId(); - dp.TargetObject = @event.TargetId; - dp.Scale = new(6f, 50f); - dp.DestoryAt = 4700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); - } - - [ScriptMethod(name: "头目: 贪食无厌 加特勒_支配魔刃(躲避提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48614$"])] - public void 加特勒_支配魔刃(Event @event, ScriptAccessory accessory) - { - if (isTTS) accessory.Method.TTS($"快躲开"); - } - - [ScriptMethod(name: "头目: 贪食无厌 加特勒_拘束(结界方块)", eventType: EventTypeEnum.ObjectChanged, eventCondition: ["Operate:Add", "DataId:regex:^2015427$"])] - public void 加特勒_拘束(Event @event, ScriptAccessory accessory) - { - if (HelperExtensions.GetCurrentTerritoryId() != 1341) return; - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"拘束{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); - dp.Owner = @event.SourceId(); - dp.Scale = new(10f, 10f); - dp.DestoryAt = 4200; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Straight, dp); - } - - [ScriptMethod(name: "头目: 魔刃结界_剧毒魔刃(十字)", eventType: EventTypeEnum.ObjectChanged, eventCondition: ["Operate:Add", "DataId:regex:^2015427$"])] - public void 魔刃结界_剧毒魔刃(Event @event, ScriptAccessory accessory) - { - if (HelperExtensions.GetCurrentTerritoryId() != 1341) return; - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"剧毒魔刃{@event.SourceId}"; - dp.Scale = new(10f, 30f); - dp.Owner = @event.SourceId(); - dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); - dp.Delay = 4200; - dp.DestoryAt = 8400; - - float[] rotations = { 0f, 90f }; - - foreach (float rotation in rotations) - { - dp.Rotation = rotation.DegToRad(); - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Straight, dp); - } - } - - [ScriptMethod(name: "头目: 贪食无厌 加特勒_火焰魔刃(放置核爆提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48615$"])] - public void 加特勒_火焰魔刃(Event @event, ScriptAccessory accessory) - { - if (isText) accessory.Method.TextInfo($"放置核爆", duration: 5200, true); - if (isTTS) accessory.Method.TTS($"放置核爆"); - } - - [ScriptMethod(name: "头目: 火焰魔刃_魔刃爆焰(核爆)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48619$"])] - 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 Vector2(20f); - dp.DestoryAt = 7700; - dp.ScaleMode = ScaleMode.ByTime; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - - #endregion - - #region 斗兽奇弈 高段第一盘 - - [ScriptMethod(name: "—————— 高段 第一盘 ——————", eventType: EventTypeEnum.StatusAdd, eventCondition: ["ActionId:"])] - public void 高段一(Event @event, ScriptAccessory accessory) { } - - [ScriptMethod(name: "敌人#1: 奇子·博学林鸮_掉落(三穿一提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48654$"])] - public void 博学林鸮_掉落提示(Event @event, ScriptAccessory accessory) - { - // if (isText)accessory.Method.TextInfo($"三穿一", duration: 2000, false); - if (isTTS) accessory.Method.TTS($"三穿一"); - } - - [ScriptMethod(name: "敌人#1: 奇子·博学林鸮_爆震之章(浮空提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48657$"])] - public void 博学林鸮_爆震之章(Event @event, ScriptAccessory accessory) - { - if (isText) accessory.Method.TextInfo($"站在浮空圈", duration: 7000, true); - if (isTTS) accessory.Method.TTS($"站在浮空圈"); - } - - [ScriptMethod(name: "敌人#1: 奇子·博学林鸮_狂水之章(河童提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48658$"])] - public void 博学林鸮_狂水之章(Event @event, ScriptAccessory accessory) - { - if (isText) accessory.Method.TextInfo($"站在河童圈", duration: 7000, true); - if (isTTS) accessory.Method.TTS($"站在河童圈"); - } - - [ScriptMethod(name: "敌人#1: 奇子·博学林鸮_魔法锤之章(史莱姆提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48659$"])] - public void 博学林鸮_魔法锤之章(Event @event, ScriptAccessory accessory) - { - if (isText) accessory.Method.TextInfo($"站在粘液怪圈", duration: 7000, true); - if (isTTS) accessory.Method.TTS($"站在粘液怪圈"); - } - - [ScriptMethod(name: "敌人#1: 奇子·博学林鸮_精神集中(驱散提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48668$"])] - public void 博学林鸮_精神集中(Event @event, ScriptAccessory accessory) - { - // 赋予 StatusID 5020 魔法伤害提高 - if (isText) accessory.Method.TextInfo($"准备驱散(借用-水栖波)", duration: 2000, false); - if (isTTS) accessory.Method.TTS($"准备驱散"); - } - - [ScriptMethod(name: "敌人#1: 奇子·博学林鸮_昏暗之章(AOE)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48669$"])] - public void 博学林鸮_昏暗之章(Event @event, ScriptAccessory accessory) - { - if (isText) accessory.Method.TextInfo($"大AOE", duration: 7000, false); - if (isTTS) accessory.Method.TTS($"大AOE"); - } - - [ScriptMethod(name: "敌人#2: 奇子·魔界花_恶臭气(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4867(3|5)$"])] - 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(50f); - dp.Radian = 90f.DegToRad(); - dp.DestoryAt = @event.ActionId == 48673 ? 4700 : 200; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - - [ScriptMethod(name: "敌人#2: 奇子·魔界花_地震(击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^50758$"])] - public void 魔界花_地震(Event @event, ScriptAccessory accessory) - { - IntPtr omenHandle = accessory.Method.VfxMethod.CreateOmen(203, new Vector3(35f), - @event.EffectPosition(), @event.SourceRotation(), new Vector4(1f, 0.5f, 0f, 0.5f), 4700); - - // Todo.击退距离没测 - } - - [ScriptMethod(name: "随机#1: 奇子·花苗_荆棘幼苗(危险区)", eventType: EventTypeEnum.ObjectChanged, eventCondition: ["Operate:Add", "Kind:EventObj", "DataId:2015458"])] - 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(10f); - dp.DestoryAt = 15000; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - - [ScriptMethod(name: "随机#1: 奇子·尸生花_吐出(击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48683$"])] - public void 尸生花_吐出(Event @event, ScriptAccessory accessory) - { - if (isText) accessory.Method.TextInfo($"吸引+击退", duration: 4000, true); - if (isTTS) accessory.Method.TTS($"吸引+击退"); - - IntPtr omenHandle = accessory.Method.VfxMethod.CreateOmen(203, new Vector3(10f), // 击退源为BOSS,距离10m - @event.EffectPosition(), @event.SourceRotation(), new Vector4(1f, 0.4f, 0f, 0.8f), 15000); - } - - [ScriptMethod(name: "随机#2: 奇子·冰龙_冰寒折磨(辣翅辣尾直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4869(7|9)$"])] - public void 冰龙_冰寒折磨(Event @event, ScriptAccessory accessory) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"冰寒折磨{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor.WithW(0.5f); - dp.Owner = @event.SourceId(); - dp.Scale = new(15f, 100f); - dp.DestoryAt = 6200; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Straight, dp); - } - - [ScriptMethod(name: "随机#2: 奇子·冰龙_白霜环绕(AOE+DOT)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48709$"])] - public void 冰龙_白霜环绕(Event @event, ScriptAccessory accessory) - { - if (isText) accessory.Method.TextInfo($"AOE+DOT(可用 <死尸净化> 驱散冻伤)", duration: 4000, false); - if (isTTS) accessory.Method.TTS($"AOE+DOT"); - } - - [ScriptMethod(name: "随机#2: 奇子·冰龙_寒冰覆盖(诱导提示)", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:regex:^48707$"], suppress: 300000)] - public void 冰龙_寒冰覆盖(Event @event, ScriptAccessory accessory) - { - // 从 [48710 寒冰覆盖] 开始读条,到最后一个黄圈出现,共11s,但还是需要提早播报一下所以采用 [48707 无终的枯朽] 的判定,注意横幅入场动画需占0.7s - // 虽然 [48707 无终的枯朽] 后面不一定接黄圈,但是等 [48710 寒冰覆盖] 开始读条的时候第一个黄圈已经出来了,提示就太晚了,所以用 suppress 只让他报一次 - if (isText) accessory.Method.TextInfo($"贴边诱导六连黄圈", duration: 18900, true); - if (isTTS) accessory.Method.TTS($"贴边诱导六连黄圈"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"寒冰覆盖诱导预测"; // 48712 寒冰覆盖 - dp.Color = accessory.Data.DefaultDangerColor.WithW(10f); - dp.Owner = accessory.Data.Me; - dp.Scale = new Vector2(5f); - dp.InnerScale = new Vector2(4.97f); - dp.Radian = float.Pi * 2; - dp.DestoryAt = 18200; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); - } - - /* - - [ScriptMethod(name: "随机#2: 奇子·冰龙_低温俯冲(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48701$"])] - public void 冰龙_低温俯冲(Event @event, ScriptAccessory accessory) - { - // 这玩意第一次俯冲怎么Z轴高2m的 - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"低温俯冲{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new (23f, 46f); - dp.DestoryAt = 15100; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); - } - - */ - - [ScriptMethod(name: "随机#2: 奇子·冰龙_空降(击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48702$"])] - public async void 冰龙_空降(Event @event, ScriptAccessory accessory) - { - await Task.Delay(19300); - - IntPtr omenHandle = accessory.Method.VfxMethod.CreateOmen(203, new Vector3(60f), - @event.EffectPosition(), @event.SourceRotation(), new Vector4(1f, 0.5f, 0f, 0.8f), 3100); - accessory.Method.VfxMethod.SetVfxSpeed(omenHandle, 1f); - /* - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"空降击退安全区预测"; - dp.Color = accessory.Data.DefaultSafeColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(5f); - dp.Radian = 90f.DegToRad(); - dp.Rotation = 225f.DegToRad(); - dp.DestoryAt = 3100; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - - var dp1 = accessory.Data.GetDefaultDrawProperties(); - dp1.Name = $"空降击退连线{@event.SourceId}"; - dp1.Owner = accessory.Data.Me; - dp1.Color = accessory.Data.DefaultSafeColor; - dp1.ScaleMode |= ScaleMode.YByDistance; - dp1.TargetObject = @event.SourceId(); - dp1.Scale = new(1); - dp1.DestoryAt = 3100; - accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Displacement, dp1); - */ - } - - [ScriptMethod(name: "强敌#1: 奇子·石像鬼_圆环连斩(钢铁月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4872[01]$"])] - public void 石像鬼_圆环连斩(Event @event, ScriptAccessory accessory) - { - // 48719 无意义读条钢铁月环,48720 短钢铁,48721 长月环,为什么他没有环圆连斩? - if (@event.ActionId == 48720) - { - if (isTTS) accessory.Method.TTS($"先远离,再靠近"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"圆环连斩钢铁{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor.WithW(1f); - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(13f); - dp.DestoryAt = 5700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - else if (@event.ActionId == 48721) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"圆环连斩月环{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(43f); - dp.InnerScale = new Vector2(13f); - dp.Radian = float.Pi * 2; - dp.Delay = 5700; - dp.DestoryAt = 2000; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); - } - } - - [ScriptMethod(name: "强敌#1: 奇子·石像鬼_突进连斩(远离提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48717$"])] - public void 石像鬼_突进连斩(Event @event, ScriptAccessory accessory) - { - // 48717 无意义本体读条,48718 二连顺劈 - if (isText) accessory.Method.TextInfo($"远离BOSS,然后去BOSS背后(二连劈)", duration: 12300, true); - if (isTTS) accessory.Method.TTS($"远离BOSS,然后去背后"); - - 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 = 180f.DegToRad(); - dp.Delay = 9000; - dp.DestoryAt = 4000; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - - [ScriptMethod(name: "强敌#1: 奇子·石像鬼_瘴腐气(吃球提示)", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:regex:^48713$"])] - public void 石像鬼_瘴腐气(Event @event, ScriptAccessory accessory) - { - if (isText) accessory.Method.TextInfo($"每轮吃4个球", duration: 5000, false); - if (isTTS) accessory.Method.TTS($"吃4个球"); - } - - [ScriptMethod(name: "强敌#1: 瘴腐气_渐渐恐慌(等待提示)", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:regex:^5178$", "StackCount:4"])] - public void 瘴腐气_渐渐恐慌(Event @event, ScriptAccessory accessory) - { - if (isTTS) accessory.Method.TTS($"等待Debuff结束"); - - var growingdreadtime = @event.DurationMilliseconds(); - foreach (var item in accessory.Data.Objects.GetByDataId(19651)) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"瘴气{@event.SourceId}"; - dp.Owner = item.EntityId; - dp.Color = accessory.Data.DefaultDangerColor.WithW(2f); - dp.Scale = new Vector2(2f); - dp.DestoryAt = growingdreadtime; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - } - - [ScriptMethod(name: "强敌#1: 奇子·石像鬼_冲波五连斩(AOE)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^50696$"])] - public void 石像鬼_冲波五连斩(Event @event, ScriptAccessory accessory) - { - // if (isText)accessory.Method.TextInfo($"AOE", duration: 2000, false); - if (isTTS) accessory.Method.TTS($"AOE"); - } - - [ScriptMethod(name: "强敌#1: 奇子·石像鬼_冲波五连斩(击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48725$"])] - public void 石像鬼_冲波五连斩击退(Event @event, ScriptAccessory accessory) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"冲波五连斩击退预测{@event.SourceId}"; - dp.Scale = new(1f, 20f); - dp.Color = accessory.Data.DefaultDangerColor.WithW(2f); - dp.Owner = accessory.Data.Me; - dp.TargetObject = @event.SourceId(); - dp.Rotation = float.Pi; - dp.DestoryAt = 3000; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Displacement, dp); - } - - [ScriptMethod(name: "强敌#1: 奇子·石像鬼_荒芜新星(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48727$"])] - 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(7f, 60f); - dp.DestoryAt = 3200; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); - } - - [ScriptMethod(name: "敌人#3: 奇子·树精_簌簌轻风(扇形)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^487(78|79|80)$"])] - 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.DestoryAt = 6700; - switch (@event.ActionId()) - { - case 48778: - dp.Radian = 90f.DegToRad(); - dp.Rotation = 0f.DegToRad(); - break; - case 48779: - dp.Radian = 150f.DegToRad(); - dp.Rotation = 90f.DegToRad(); - break; - case 48780: - dp.Radian = 150f.DegToRad(); - dp.Rotation = 270f.DegToRad(); - break; - } - - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - - [ScriptMethod(name: "敌人#3: 奇子·树精_巨木龙卷(步进地震)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4877[1-5]$"])] - public void 树精_巨木龙卷(Event @event, ScriptAccessory accessory) - { - // 48771 为可见的18m钢铁,之后48772~48775为轮流的步进地震 - if (@event.ActionId == 48771 && isTTS) accessory.Method.TTS($"步进地震"); - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Radian = float.Pi * 2; - dp.DestoryAt = 2000; - switch (@event.ActionId()) - { - case 48772: - dp.Name = $"巨木龙卷_步进月环1{@event.SourceId}"; - dp.Scale = new Vector2(18f); - dp.InnerScale = new Vector2(12f); - dp.Delay = 4700; - break; - case 48773: - dp.Name = $"巨木龙卷_步进月环2{@event.SourceId}"; - dp.Scale = new Vector2(24f); - dp.InnerScale = new Vector2(18f); - dp.Delay = 6700; - break; - case 48774: - dp.Name = $"巨木龙卷_步进月环3{@event.SourceId}"; - dp.Scale = new Vector2(30f); - dp.InnerScale = new Vector2(24f); - dp.Delay = 8700; - break; - case 48775: - dp.Name = $"巨木龙卷_步进月环4{@event.SourceId}"; - dp.Scale = new Vector2(36f); - dp.InnerScale = new Vector2(30f); - dp.Delay = 10700; - break; - } - - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); - } - - [ScriptMethod(name: "敌人#3: 奇子·树精_橡果炸弹(打断提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^50518$"])] - public void 树精_橡果炸弹(Event @event, ScriptAccessory accessory) - { - if (isText) accessory.Method.TextInfo($"睡眠点名", duration: 4000, false); - if (isTTS) accessory.Method.TTS($"睡眠点名"); - } - - [ScriptMethod(name: "敌人#3: 奇子·比洛克_治疗之水(打断提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48782$"])] - public void 比洛克_治疗之水(Event @event, ScriptAccessory accessory) - { - if (isText) accessory.Method.TextInfo($"打断 <比洛克> (借用-咒具碎魂)", duration: 8000, false); - if (isTTS) accessory.Method.TTS($"打断比洛克"); - } - - [ScriptMethod(name: "强敌#2: 奇子·巨像_平原震裂(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48755$"])] - 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(20f); - 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 = accessory.Data.DefaultDangerColor.WithW(10f); - dp1.Owner = @event.SourceId(); - dp1.Scale = new Vector2(20f); - dp1.InnerScale = new Vector2(19.95f); - dp1.Radian = float.Pi * 2; - dp1.DestoryAt = 6700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1); - } - - [ScriptMethod(name: "强敌#2: 奇子·巨像_核心环光(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48753$"])] - 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(50f); - dp.InnerScale = new Vector2(5f); - dp.Radian = float.Pi * 2; - dp.DestoryAt = 6700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); - } - - [ScriptMethod(name: "强敌#2: 奇子·巨像_钢铁月环记录", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^487(59|60)$"], userControl: false)] - public void 巨像_钢铁月环记录(Event @event, ScriptAccessory accessory) - { - if (@event.ActionId == 48759) - EarthenRing = 1; - else if (@event.ActionId == 48760) - Plaincracker = 1; - } - - [ScriptMethod(name: "强敌#2: 奇子·巨像_连线钢铁月环", eventType: EventTypeEnum.Tether, eventCondition: ["Id:01AF"])] - public void 巨像_连线钢铁月环(Event @event, ScriptAccessory accessory) - { - if (Plaincracker == 1) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"平原震裂{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.TargetId(); - dp.Scale = new Vector2(20f); - dp.DestoryAt = 12700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - Plaincracker = 0; - } - else if (EarthenRing == 1) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"核心环光{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.TargetId(); - dp.Scale = new Vector2(50f); - dp.InnerScale = new Vector2(5f); - dp.Radian = float.Pi * 2; - dp.DestoryAt = 12700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); - EarthenRing = 0; - } - } - - [ScriptMethod(name: "强敌#2: 奇子·巨像_岩壁(TTS)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48748$"])] - public void 巨像_岩壁(Event @event, ScriptAccessory accessory) - { - if (isText)accessory.Method.TextInfo($"去两侧石堆旁边", duration: 2000, true); - if (isTTS)accessory.Method.TTS($"去两侧石堆旁边"); - } - - [ScriptMethod(name: "强敌#2: 奇子·巨像_冲击波(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48750$"])] - 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 (5f, 10f); - dp.DestoryAt = 3700; - dp.ScaleMode = ScaleMode.ByTime; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Straight, dp); - } - - [ScriptMethod(name: "强敌#2: 奇子·巨像_岩雨(钢铁月环)", eventType: EventTypeEnum.ObjectEffect, eventCondition: ["Id1:regex:^(1|64)$","Id2:regex:^(2|128)$"])] - public void 巨像_岩雨钢铁月环(Event @event, ScriptAccessory accessory) - { - if (HelperExtensions.GetCurrentTerritoryId() != 1342) return; - - if (@event.Id1() == 1 && @event.Id2() == 2) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"平原震裂{@event.SourceId}"; // 48757 - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(8f); - dp.DestoryAt = 10000; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - - } - else if (@event.Id1() == 64 && @event.Id2() == 128) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"核心环光{@event.SourceId}"; // 48758 - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(11f); - dp.InnerScale = new Vector2(3f); - dp.Radian = float.Pi * 2; - dp.DestoryAt = 10000; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); - } - } - - [ScriptMethod(name: "强敌#2: 奇子·巨像_岩突(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48768$"])] - 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(40f); - dp.Radian = 60f.DegToRad(); - dp.DestoryAt = 4700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - - [ScriptMethod(name: "强敌#2: 奇子·巨像_破魔震(击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^50649$"])] - public void 巨像_破魔震(Event @event, ScriptAccessory accessory) - { - IntPtr omenHandle = accessory.Method.VfxMethod.CreateOmen(203, new Vector3(60f), - @event.EffectPosition(), @event.SourceRotation(), new Vector4(1f,0.4f,0f,0.6f), 5000); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"破魔震{@event.SourceId}"; - dp.Scale = new(1f, 17f); - dp.Color = accessory.Data.DefaultDangerColor.WithW(2f); - dp.Owner = accessory.Data.Me; - dp.TargetObject = @event.SourceId(); - dp.Rotation = float.Pi; - dp.DestoryAt = 4700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Displacement, dp); - } - - [ScriptMethod(name: "随机#4: 奇子·爆弹之母_烈火怒骂(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48799$"])] - 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(40f); - dp.Radian = 180f.DegToRad(); - dp.DestoryAt = 5700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - - // 48801 奇子·爆弹之母_熔毁(击退直线死刑) - - [ScriptMethod(name: "头目: 怨毒龙 博尔格尼_猛毒吐息(后跳顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48807$"])] - public void 博尔格尼_猛毒吐息 (Event @event, ScriptAccessory accessory) - { - // 实际上是读条5.4s后判定,但是实体飞走了.jpg - if (isTTS)accessory.Method.TTS($"后跃顺劈"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"博尔格尼_猛毒吐息{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(60f); - dp.InnerScale = new Vector2(6f); - dp.Radian = 120f.DegToRad(); - dp.Offset = new Vector3(0f, 0f, 19.5f); - dp.DestoryAt = 2700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); - - var dp1 = accessory.Data.GetDefaultDrawProperties(); - dp1.Name = $"博尔格尼_猛毒吐息2{@event.SourceId}"; - dp1.Color = accessory.Data.DefaultDangerColor; - dp1.Owner = @event.SourceId(); - dp1.Scale = new Vector2(60f); - dp1.InnerScale = new Vector2(6f); - dp1.Radian = 120f.DegToRad(); - dp1.Delay = 3700; - dp1.DestoryAt = 1400; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1); - } - - [ScriptMethod(name: "头目: 怨毒龙 博尔格尼_猛毒粘液(放圈提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48809$"])] - public void 博尔格尼_猛毒粘液(Event @event, ScriptAccessory accessory) - { - if (isText)accessory.Method.TextInfo($"四连放圈点名", duration: 12300, false); - if (isTTS)accessory.Method.TTS($"四连放圈点名"); - } - - [ScriptMethod(name: "头目: 怨毒龙 博尔格尼_蠕动的痰(放小怪提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4881(7|9)$"])] - public void 博尔格尼_蠕动的痰(Event @event, ScriptAccessory accessory) - { - if (isText)accessory.Method.TextInfo (@event.ActionId == 48817 ? $"放置小怪点名" : "快躲开", duration: 6900, true); - if (isTTS)accessory.Method.TTS (@event.ActionId == 48817 ? $"放置小怪点名" : $"快躲开"); - } - - [ScriptMethod(name: "头目: 怨毒龙 博尔格尼_低温俯冲(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48814$"])] - 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 (20f, 48f); - dp.DestoryAt = 5700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); - } - - [ScriptMethod(name: "头目: 怨毒龙 博尔格尼_空降(蓝圈击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^48828$"])] - public void 博尔格尼_空降(Event @event, ScriptAccessory accessory) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"博尔格尼_空降击退预测{@event.SourceId}"; - dp.Scale = new(1f, 30f); - dp.Color = accessory.Data.DefaultDangerColor.WithW(2f); - dp.Owner = accessory.Data.Me; - dp.TargetObject = @event.SourceId(); - dp.Rotation = float.Pi; - dp.DestoryAt = 5200; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Displacement, dp); - } - - #endregion - - #region 斗兽奇弈 高段第二盘 - - [ScriptMethod(name: "—————— 高段 第二盘 ——————", eventType: EventTypeEnum.StatusAdd, eventCondition: ["ActionId:"])] - public void 高段二(Event @event, ScriptAccessory accessory) { } - - [ScriptMethod(name: "敌人#1: 奇子·佛劳洛斯_蓄电雷击(前半场刀)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49193$"])] - 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 (40f, 50f); - dp.DestoryAt = 5500; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); - } - - [ScriptMethod(name: "敌人#1: 奇子·佛劳洛斯_飘忽爆破(麻痹死刑)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49189$"])] - public void 佛劳洛斯_飘忽爆破(Event @event, ScriptAccessory accessory) - { - if (isText)accessory.Method.TextInfo($"麻痹死刑", duration: 6000, true); - if (isTTS)accessory.Method.TTS($"麻痹死刑"); - } - - [ScriptMethod(name: "敌人#1: 奇子·佛劳洛斯_电流冲击(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49191$"])] - 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(16f); - dp.DestoryAt = 5700; - dp.ScaleMode = ScaleMode.ByTime; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - - var dp1 = accessory.Data.GetDefaultDrawProperties(); - dp1.Name = $"电流冲击描边{@event.SourceId}"; - dp1.Color = accessory.Data.DefaultDangerColor.WithW(10f); - dp1.Owner = @event.SourceId(); - dp1.Scale = new Vector2(16f); - dp1.InnerScale = new Vector2(15.95f); - dp1.Radian = float.Pi * 2; - dp1.DestoryAt = 5700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1); - } - - [ScriptMethod(name: "强敌#1: 奇子·毒性魔菇(拉水圈提示)", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^19678$"],suppress:1000)] - public void 毒性魔菇提示(Event @event, ScriptAccessory accessory) - { - if (isText)accessory.Method.TextInfo($"在水圈内击杀 <毒性魔菇>", duration: 5000, true); - if (isTTS)accessory.Method.TTS($"在水圈内击杀魔菇"); - } - - [ScriptMethod(name: "强敌#1: 奇子·夺心魔_虚空暴雷(死刑提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49205$"],suppress:1000)] - public void 夺心魔_虚空暴雷提示(Event @event, ScriptAccessory accessory) - { - if (isText)accessory.Method.TextInfo($"范围死刑,离开水圈", duration: 4000, true); - if (isTTS)accessory.Method.TTS($"范围死刑,离开水圈"); - } - - [ScriptMethod(name: "强敌#1: 奇子·夺心魔_虚空暴雷(十字)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49207$"])] - public void 夺心魔_虚空暴雷(Event @event, ScriptAccessory accessory) - { - // Omen的 ActionId是 [50939] - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"虚空暴雷{@event.SourceId}"; - dp.Scale = new (10f, 100f); - dp.Owner = @event.SourceId(); - dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); - dp.DestoryAt = 3700; - - float[] rotations = { 0f, 90f}; - - foreach (float rotation in rotations) - { - dp.Rotation = rotation.DegToRad(); - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Straight, dp); - } - } - - [ScriptMethod(name: "强敌#1: 奇子·夺心魔_虚空强麻痹(麻痹AOE)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49208$"])] - public void 夺心魔_虚空强麻痹(Event @event, ScriptAccessory accessory) - { - if (isText)accessory.Method.TextInfo($"[雷,离开水圈] 麻痹AOE(可死尸净化)", duration: 6000, false); - if (isTTS)accessory.Method.TTS($"麻痹AOE,离开水圈"); - } - - [ScriptMethod(name: "强敌#1: 立体魔法阵_黑暗奔流(小直线)", eventType: EventTypeEnum.SetObjPos, eventCondition: ["SourceDataId:regex:^19681$","Id:0197"])] - public void 立体魔法阵_黑暗奔流小(Event @event, ScriptAccessory accessory) - { - if (HelperExtensions.GetCurrentTerritoryId() != 1343) return; - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"立体魔法阵_黑暗奔流小{@event.SourceId}"; // ActionId: 49203 - dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); - dp.Owner = @event.SourceId(); - dp.Scale = new (4f, 100f); - dp.DestoryAt = 11200; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Straight, dp); - } - - [ScriptMethod(name: "强敌#1: 立体魔法阵_黑暗奔流(大直线)", eventType: EventTypeEnum.Tether, eventCondition: ["Id:regex:^01AA$"])] - public void 立体魔法阵_黑暗奔流大(Event @event, ScriptAccessory accessory) - { - // 或者用 EventTypeEnum.StatusAdd, eventCondition: ["StatusID:regex:^3795$"] , dp.Owner = @event.TargetId(); dp.DestoryAt = 4200; - if (HelperExtensions.GetCurrentTerritoryId() != 1343) return; - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"立体魔法阵_黑暗奔流大{@event.SourceId}"; // ActionId: 49204 - dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); - dp.Owner = @event.SourceId(); - dp.Scale = new (10f, 100f); - dp.DestoryAt = 10000; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Straight, dp); - } - - [ScriptMethod(name: "随机#1: 奇子·夜魔人_突击(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^492(19|20)"])] - public void 夜魔人_突击(Event @event, ScriptAccessory accessory) - { - // 49219 突击钢铁,49220 突击顺劈 - if (isText)accessory.Method.TextInfo (@event.ActionId == 49219 ? $"远离冲锋终点" : "靠近冲锋终点", duration: 5200, true); - if (isTTS)accessory.Method.TTS(@event.ActionId == 49219 ? $"远离冲锋终点" : "靠近冲锋终点"); - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"突击{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new (4f, 50f); - // dp.ScaleMode = ScaleMode.YByDistance; - dp.DestoryAt = 2700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); - } - - [ScriptMethod(name: "随机#1: 奇子·夜魔人_回转击(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49222$"])] - public void 夜魔人_回转击(Event @event, ScriptAccessory accessory) - { - // 49216 调配补给 棍棒 打钢铁,突击 49220 - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"回转击{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(30f); - dp.DestoryAt = 1700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - - [ScriptMethod(name: "随机#1: 奇子·夜魔人_横扫(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49224$"])] - public void 夜魔人_横扫 (Event @event, ScriptAccessory accessory) - { - // 49215 调配补给 长刀 打顺劈,突击 49220 - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"横扫{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(40f); - dp.Radian = 120f.DegToRad(); - dp.DestoryAt = 1200; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - - [ScriptMethod(name: "随机#1: 奇子·夜魔人_黑暗帷幕(解除提示)", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^19685$"],suppress:1000)] - public void 夜魔人_黑暗帷幕(Event @event, ScriptAccessory accessory) - { - if (isText)accessory.Method.TextInfo($"使用光元精的扇形亡语对准BOSS", duration: 5000, true); - if (isTTS)accessory.Method.TTS($"使用光元精的扇形亡语对准BOSS"); - } - - [ScriptMethod(name: "随机#1: 奇子·爆弹怪_爆炸(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49210$"])] - 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(9f); - dp.DestoryAt = 4700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - - // Todo.49211 随机#1: 奇子·爆弹怪_自爆(狂暴) - - [ScriptMethod(name: "随机#1: 奇子·光元精_光散射(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49212$"])] - 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(20f); - dp.Radian = 45f.DegToRad(); - // dp.FixRotation = true; // ←好像没用 - dp.DestoryAt = 1200; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - - // Todo.49214 随机#1: 奇子·深瞳_石化视线(背对) - - [ScriptMethod(name: "随机#1: 奇子·夜魔人_挥舞(击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49226$"])] - public void 夜魔人_挥舞击退(Event @event, ScriptAccessory accessory) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"挥舞击退预测{@event.SourceId}"; - dp.Scale = new(1f, 20f); - dp.Color = accessory.Data.DefaultDangerColor.WithW(2f); - dp.Owner = accessory.Data.Me; - dp.TargetObject = @event.SourceId(); - dp.Rotation = float.Pi; - dp.DestoryAt = 4700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Displacement, dp); - - IntPtr omenHandle = accessory.Method.VfxMethod.CreateOmen(203, new Vector3(40f), - @event.EffectPosition(), @event.SourceRotation(), new Vector4(1f,0.4f,0f,0.8f), 4700); - } - - [ScriptMethod(name: "随机#1: 奇子·夜魔人_挥舞(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49228$"])] - 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(12f); - dp.DestoryAt = 4700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - - [ScriptMethod(name: "随机#1: 奇子·夜魔人_暗黑冲击(AOE)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49231$"])] - public void 夜魔人_暗黑冲击(Event @event, ScriptAccessory accessory) - { - if (isTTS)accessory.Method.TTS($"AOE"); - } - - [ScriptMethod(name: "随机#2: 奇子·阿托莫斯_震荡波(击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49238$"])] - public void 阿托莫斯_震荡波(Event @event, ScriptAccessory accessory) - { - if (isTTS)accessory.Method.TTS($"中间击退"); - IntPtr omenHandle = accessory.Method.VfxMethod.CreateOmen(203, new Vector3(40f), - @event.EffectPosition(), @event.SourceRotation(), new Vector4(1f,0.4f,0f,0.8f), 5700); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"阿托莫斯_震荡波击退安全区{@event.SourceId}"; - dp.Color = accessory.Data.DefaultSafeColor.WithW(10f); - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(4f); // 场地20m,击退距离16m - dp.InnerScale = new Vector2(3.94f); - dp.Radian = float.Pi * 2; - dp.DestoryAt = 5700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); - } - - [ScriptMethod(name: "随机#2: 奇子·奶冻怪_狂水(击退预测)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49242$"])] - public void 奶冻怪_狂水(Event @event, ScriptAccessory accessory) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"奶冻怪_狂水击退预测{@event.SourceId}"; - dp.Scale = new(1f, 20f); - dp.Color = accessory.Data.DefaultDangerColor.WithW(2f); - 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: "随机#2: 奇子·软糊怪_爆炎(水圈分摊提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49243$"])] - public void 提示(Event @event, ScriptAccessory accessory) - { - if (isText)accessory.Method.TextInfo($"水圈分摊", duration: 6000, true); - if (isTTS)accessory.Method.TTS($"水圈分摊"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"软糊怪_爆炎{@event.TargetId}"; - dp.Color = accessory.Data.DefaultSafeColor.WithW(0.6f); - dp.Owner = @event.TargetId(); - dp.Scale = new Vector2(6f); - dp.DestoryAt = 4700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - - [ScriptMethod(name: "随机#2: 奇子·甜羹怪_暴雷(避开水圈提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49244$"])] - public void 甜羹怪_暴雷提示(Event @event, ScriptAccessory accessory) - { - if (isText)accessory.Method.TextInfo($"离开水圈", duration: 7000, true); - if (isTTS)accessory.Method.TTS($"离开水圈"); - - foreach (var item in accessory.Data.Objects.GetByDataId(2010154)) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Owner = item.EntityId; - dp.Name = $"水圈{item}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Scale = new Vector2(5f); - dp.DestoryAt = 7700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - } - - [ScriptMethod(name: "随机#2: 奇子·甜羹怪_暴雷(地面绘制)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49245$"])] - public void 甜羹怪_暴雷(Event @event, ScriptAccessory accessory) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"甜羹怪_暴雷{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Position = @event.EffectPosition; - dp.Scale = new Vector2(5f); - dp.DestoryAt = 7700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - - [ScriptMethod(name: "随机#2: 奇子·阿托莫斯_昏暗(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49240$"])] - 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 = 120f.DegToRad(); - dp.DestoryAt = 6700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - - [ScriptMethod(name: "敌人#2: 奇子·火蛟_火龙卷(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49256$"])] - 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(50f); - dp.Radian = 120f.DegToRad(); - dp.DestoryAt = 4700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - - [ScriptMethod(name: "敌人#2: 火球_延烧(钢铁)", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^19697$"])] - public void 火球_延烧(Event @event, ScriptAccessory accessory) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"火球_延烧{@event.SourceId}"; // ActionId 49258 - dp.Color = accessory.Data.DefaultDangerColor.WithW(0.4f); - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(4f); - dp.DestoryAt = 55200; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - - [ScriptMethod(name: "敌人#2: 火球_延烧销毁", eventType: EventTypeEnum.RemoveCombatant, eventCondition: ["DataId:regex:^19697$"],userControl: false)] - public void 火球_延烧销毁(Event @event, ScriptAccessory accessory) - { - accessory.Method.RemoveDraw($"火球_延烧.*"); - } - - [ScriptMethod(name: "敌人#2: 火焰旋风(月环连线)", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:19699"])] - public void 火焰旋风连线(Event @event, ScriptAccessory accessory) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"火焰旋风连线{@event.SourceId}"; - dp.Owner = accessory.Data.Me; - dp.Color = accessory.Data.DefaultSafeColor; - dp.ScaleMode |= ScaleMode.YByDistance; - dp.TargetObject = @event.SourceId(); - dp.Scale = new(1); - dp.DestoryAt = 2700; - accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Displacement, dp); - } - - [ScriptMethod(name: "敌人#2: 火焰旋风_火焰旋风(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49259$"])] - public void 火焰旋风_火焰旋风(Event @event, ScriptAccessory accessory) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"火焰旋风{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(50f); - dp.InnerScale = new Vector2(3.5f); - dp.Radian = float.Pi * 2; - dp.DestoryAt = 4700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); - } - - [ScriptMethod(name: "敌人#2: 奇子·火蛟_火棘屏障(读条驱散提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49253$"])] - public void 火蛟_火棘屏障(Event @event, ScriptAccessory accessory) - { - if (isText)accessory.Method.TextInfo($"准备驱散 <火蛟>(借用-水栖波)", duration: 5000, false); - if (isTTS)accessory.Method.TTS($"准备驱散火蛟"); - } - - [ScriptMethod(name: "强敌#2: 奇子·杜尔迦_雷气释放(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4926[56]$"])] - 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 = @event.ActionId == 49265 ? new Vector2(20f) : new Vector2(6f); - dp.DestoryAt = 4900; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - - [ScriptMethod(name: "强敌#2: 导弹_突击(直线躲避提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^50688$"],suppress:1000)] - public void 导弹_突击(Event @event, ScriptAccessory accessory) - { - if (isTTS)accessory.Method.TTS($"快躲开"); - } - - [ScriptMethod(name: "强敌#2: 奇子·杜尔迦_原子射线(AOE)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49272$"])] - public void 杜尔迦_原子射线(Event @event, ScriptAccessory accessory) - { - if (isText)accessory.Method.TextInfo($"[火] 大AOE", duration: 12000, true); - if (isTTS)accessory.Method.TTS($"大AOE"); - } - - [ScriptMethod(name: "强敌#2: 奇子·杜尔迦_气化炸弹(放击退提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49273$"])] - public void 杜尔迦_气化炸弹(Event @event, ScriptAccessory accessory) - { - if (isText)accessory.Method.TextInfo($"放置击退源", duration: 3200, true); - if (isTTS)accessory.Method.TTS($"放置击退源"); - } - - [ScriptMethod(name: "强敌#2: 奇子·杜尔迦_气化炸弹(击退预测)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49274$"])] - public void 杜尔迦_气化炸弹击退预测(Event @event, ScriptAccessory accessory) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"气化炸弹击退预测{@event.SourceId}"; - dp.Scale = new(1f, 40f); - dp.Color = accessory.Data.DefaultDangerColor.WithW(2f); - 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: "强敌#2: 奇子·杜尔迦_扩散射线(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:49276$"])] - 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(30f); - dp.Radian = 120f.DegToRad(); - dp.DestoryAt = 4700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - - // 随机#3: 奇子·美杜莎 Tether 0001 > 连线位置释放扇形 49278 石化光照射 用于石化小怪 - - [ScriptMethod(name: "随机#3: 奇子·美杜莎_圆环/环圆连斩(钢铁月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^492(89|91|93|95)$"])] - public void 美杜莎_圆环环圆连斩(Event @event, ScriptAccessory accessory) - { - var (name, scale, inner, delay, destroyAt, text) = @event.ActionId switch - { - 49289 => ("圆环连斩钢铁", 6f, 0f, 0L, 6700L, "先远离,再靠近"), - 49291 => ("圆环连斩月环", 60f, 5f, 6700L, 2000L, (string)null), - 49293 => ("环圆连斩月环", 60f, 5f, 0L, 6700L, "先靠近,再远离"), - 49295 => ("环圆连斩钢铁", 6f, 0f, 6700L, 2000L, (string)null), - _ => throw new ArgumentOutOfRangeException() - }; - - if (isTTS && text != null) accessory.Method.TTS($"{text}"); - if (isText && text != null) accessory.Method.TextInfo($"{text}", duration: 9000, true); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Name = $"{name}{@event.SourceId()}"; - dp.Scale = new Vector2(scale); - dp.Delay = delay; - dp.DestoryAt = destroyAt; - - var isDonut = inner > 0; - if (isDonut) - { - dp.InnerScale = new Vector2(inner); - dp.Radian = float.Pi * 2; - } - accessory.Method.SendDraw(DrawModeEnum.Default, isDonut ? DrawTypeEnum.Donut : DrawTypeEnum.Circle, dp); - } - - // Todo. 需要再优化 - - [ScriptMethod(name: "随机#3: 奇子·美杜莎_冲击波(四向扇形)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:49296$"])] - 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.Delay = 4700; - dp.DestoryAt = 2000; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - - // 随机#3: 里的独眼巨人也有怒视,和下面敌人#4: 巨人 的合一起了 - - [ScriptMethod(name: "敌人#3: 奇子·斯芬克斯_放逐(左右刀)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:493(39|41)$"])] - public void 斯芬克斯_放逐 (Event @event, ScriptAccessory accessory) - { - var isR = @event.ActionId == 49341; - - 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 = 180f.DegToRad(); - dp.DestoryAt = 5700; - dp.Rotation = isR ? 270f.DegToRad() : 90f.DegToRad(); - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - - [ScriptMethod(name: "敌人#3: 奇子·斯芬克斯_放逐(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49337$"])] - 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 = 5700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - - var dp1 = accessory.Data.GetDefaultDrawProperties(); - dp1.Name = $"放逐钢铁描边{@event.SourceId}"; - dp1.Color = accessory.Data.DefaultDangerColor.WithW(10f); - dp1.Owner = @event.SourceId(); - dp1.Scale = new Vector2(18f); - dp1.InnerScale = new Vector2(17.95f); - dp1.Radian = float.Pi * 2; - dp1.DestoryAt = 5700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1); - } - - [ScriptMethod(name: "敌人#3: 奇子·斯芬克斯_放逐(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49335$"])] - 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.InnerScale = new Vector2(10f); - dp.Radian = float.Pi * 2; - dp.DestoryAt = 5700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); - } - - [ScriptMethod(name: "敌人#3: 奇子·斯芬克斯_记忆的谜题(指路)", eventType: EventTypeEnum.Chat, eventCondition: ["Type:NPCDialogueAnnouncements", - "Message:regex:^(试问……\n哪一个是(有翼|甲鳞|百兽|水栖)纲的魔物?|問おう……\n「(有翼|甲鱗|百獣|水棲)綱」の魔物はいずれなりや?|Riddle me this─which child is kin of (cloud|scale|beast|wave)?)$"])] - public async void 记忆的谜题指路连线(Event @event, ScriptAccessory accessory) - { - var monsterDict = new Dictionary - { - { "cloud", 19711 }, // 有翼纲 渡渡鸟 - { "scale", 19714 }, // 甲鳞纲 跳蜥 - { "beast", 19713 }, // 百兽纲 奥猴 - { "wave", 19712 }, // 水栖纲 陆鱼 - }; - - var keywordMap = new (string keyword, string category)[] - { - ("有翼", "cloud"), ("甲鳞", "scale"), ("百兽", "beast"), ("水栖", "wave"), // 中文 - ("甲鱗", "scale"), ("百獣", "beast"), ("水棲", "wave"), // 日文(「有翼」与中文相同,故省略) - ("cloud", "cloud"), ("scale", "scale"), ("beast", "beast"), ("wave", "wave"), // 英文 - }; - - // 从台词解析纲类别 - string rawMessage = @event["Message"]; - string category = null; - foreach (var (keyword, cat) in keywordMap) - { - if (rawMessage.Contains(keyword)) { category = cat; break; } - } - - if (category == null) return; - - try - { - await Task.Delay(1000); - - // 重新获取,而不是依赖 await 前的引用 - if (monsterDict.TryGetValue(category, out var dataId)) - { - DrawMonsterLine(accessory, @event, dataId); - } - } - catch (Exception ex) - { - accessory.Log.Debug($"奇子连线失败: {ex}"); - } - } - private void DrawMonsterLine(ScriptAccessory accessory, Event @event, uint dataId) - { - foreach (var item in accessory.Data.Objects.GetByDataId(dataId)) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"奇子连线_{dataId}_{item.EntityId}"; - dp.Owner = accessory.Data.Me; - dp.TargetObject = item.EntityId; - dp.Color = accessory.Data.DefaultSafeColor; - dp.ScaleMode |= ScaleMode.YByDistance; - dp.Scale = new(1); - dp.DestoryAt = 60000; // 这机制最短持续有约35s,不如直接画一分钟然后销毁 - accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Displacement, dp); - } - } - - [ScriptMethod(name: "敌人#3: 奇子·斯芬克斯_记忆的谜题销毁", eventType: EventTypeEnum.StatusRemove, eventCondition: ["StatusID:regex:^1433$"],userControl: false)] - public void 记忆的谜题销毁(Event @event, ScriptAccessory accessory) - { - accessory.Method.RemoveDraw($"奇子连线.*"); - } - - [ScriptMethod(name: "强敌#3: 奇子·奇美拉_毒性爆发(毒AOE)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49332$"])] - public void 奇美拉_毒性爆发(Event @event, ScriptAccessory accessory) - { - if (isText)accessory.Method.TextInfo($"AOE+毒(可死尸净化)", duration: 4000, false); - if (isTTS)accessory.Method.TTS($"AOE+毒"); - } - - /* 绘制钢铁月环扇形,留存 - - [ScriptMethod(name: "强敌#3: 奇子·奇美拉_冰结大咆哮(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49315$"])] - public void 奇美拉_冰结大咆哮(Event @event, ScriptAccessory accessory) - { - if (isTTS)accessory.Method.TTS($"远离"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"冰结大咆哮{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(12f); - 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 = accessory.Data.DefaultDangerColor.WithW(10f); - dp1.Owner = @event.SourceId(); - dp1.Scale = new Vector2(12f); - dp1.InnerScale = new Vector2(11.95f); - dp1.Radian = float.Pi * 2; - dp1.DestoryAt = 6700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1); - } - - [ScriptMethod(name: "强敌#3: 奇子·奇美拉_雷电大咆哮(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49316$"])] - public void 奇美拉_雷电大咆哮(Event @event, ScriptAccessory accessory) - { - if (isTTS)accessory.Method.TTS($"靠近"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"雷电大咆哮{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(40f); - dp.InnerScale = new Vector2(8f); - dp.Radian = float.Pi * 2; - dp.DestoryAt = 6700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); - } - - [ScriptMethod(name: "强敌#3: 奇子·奇美拉_寒冰/雷鸣/火焰吐息(扇形)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:4930(0|2|4)$"])] - public void 奇美拉_寒冰雷鸣火焰吐息 (Event @event, ScriptAccessory accessory) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - switch (@event.ActionId()) - { - case 49300: // 寒冰吐息 右下方向 - dp.Name = $"奇美拉_寒冰吐息{@event.SourceId}"; - dp.Rotation = 240f.DegToRad(); - break; - case 49302: // 雷鸣吐息 左下方向 - dp.Name = $"奇美拉_雷鸣吐息{@event.SourceId}"; - dp.Rotation = 120f.DegToRad(); - break; - case 49304: // 火焰吐息 面前方向 - dp.Name = $"奇美拉_火焰吐息{@event.SourceId}"; - dp.Rotation = 0f.DegToRad(); - break; - } - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(60f); - dp.Radian = 240f.DegToRad(); - dp.DestoryAt = 6700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - - */ - - [ScriptMethod(name: "强敌#3: 奇子·奇美拉_冰结/雷冰大咆哮(扇形安全区)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^493(0[024]|1[56])$"])] - public void 奇美拉_大咆哮 (Event @event, ScriptAccessory accessory) - { - switch (@event.ActionId()) - { - // 大咆哮 钢铁 / 月环 - case 49315: _chimeraRingType = 1; break; // 冰结大咆哮 钢铁 - case 49316: _chimeraRingType = 2; break; // 雷电大咆哮 月环 - - // 扇形吐息 - case 49300: _chimeraFanType = 1; break; // 寒冰吐息 右下 - case 49302: _chimeraFanType = 2; break; // 雷鸣吐息 左下 - case 49304: _chimeraFanType = 3; break; // 火焰吐息 面前 - } - - if (_chimeraRingType == 0 || _chimeraFanType == 0) return; - - string ringSafe = _chimeraRingType == 1 ? "远离" : "靠近"; - string fanSafeDir = _chimeraFanType switch - { - 1 => "左上", // 寒冰 - 2 => "右上", // 雷鸣 - 3 => "背后", // 火焰 - _ => "未知" - }; - - if (isText)accessory.Method.TextInfo($"{ringSafe},{fanSafeDir}安全", duration: 6300, true); - if (isTTS)accessory.Method.TTS($"{ringSafe}加{fanSafeDir}安全"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - switch (_chimeraFanType) - { - case 1: dp.Rotation = 60f.DegToRad(); break; // 寒冰 左上安全 - case 2: dp.Rotation = 300f.DegToRad(); break; // 雷鸣 右上安全 - case 3: dp.Rotation = 180f.DegToRad(); break; // 火焰 背后安全 - } - - dp.Color = accessory.Data.DefaultSafeColor.WithW(1f); - dp.Owner = @event.SourceId(); - dp.Radian = 120f.DegToRad(); - dp.DestoryAt = 6700; - - if (_chimeraRingType == 1) - { - dp.Scale = new Vector2(23.7f); - dp.InnerScale = new Vector2(12f); - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); - _chimeraRingType = 0; - _chimeraFanType = 0; - } - else if (_chimeraRingType == 2) - { - dp.Scale = new Vector2(8f); - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - _chimeraRingType = 0; - _chimeraFanType = 0; - } - } - - [ScriptMethod(name: "强敌#3: 奇子·奇美拉_强袭吐息(冲锋扇形)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:4932[345]$"])] - public void 奇美拉_强袭吐息 (Event @event, ScriptAccessory accessory) - { - // 读条约6.2s后 [49322]冲锋伤害 判定,冲锋后约3.6s扇形判定 - var dp = accessory.Data.GetDefaultDrawProperties(); - switch (@event.ActionId()) - { - case 49323: // 寒冰吐息 右下方向 - if (isText)accessory.Method.TextInfo($"远离扯线,然后去左上", duration: 9100, true); - if (isTTS)accessory.Method.TTS($"远离扯线,然后去左上"); - dp.Name = $"强袭寒冰吐息{@event.SourceId}"; - dp.Rotation = 240f.DegToRad(); - break; - case 49324: // 雷鸣吐息 左下方向 - if (isText)accessory.Method.TextInfo($"远离扯线,然后去右上", duration: 9100, true); - if (isTTS)accessory.Method.TTS($"远离扯线,然后去右上"); - dp.Name = $"强袭雷鸣吐息{@event.SourceId}"; - dp.Rotation = 120f.DegToRad(); - break; - case 49325: // 火焰吐息 面前方向 - if (isText)accessory.Method.TextInfo($"远离扯线,然后去背后", duration: 9100, true); - if (isTTS)accessory.Method.TTS($"远离扯线,然后去背后"); - dp.Name = $"强袭火焰吐息{@event.SourceId}"; - dp.Rotation = 0f.DegToRad(); - break; - } - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(60f); - dp.Radian = 240f.DegToRad(); - dp.Delay = 6200; - dp.DestoryAt = 3600; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - - [ScriptMethod(name: "强敌#3: 奇子·奇美拉_寒冰眼(点名放置提示)", eventType: EventTypeEnum.TargetIcon, eventCondition: ["Id:regex:^029D$"])] - public void 奇美拉_寒冰眼(Event @event, ScriptAccessory accessory) - { - // 放置 49320 寒冰眼 - if (HelperExtensions.GetCurrentTerritoryId() != 1343) return; - if (@event.TargetId() != accessory.Data.Me) return; - if (isText)accessory.Method.TextInfo($"放置冰圈", duration: 3500, false); - if (isTTS)accessory.Method.TTS($"放置冰圈"); - } - - [ScriptMethod(name: "强敌#3: 闪电球_无序的和声(钢铁)", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^19709$"])] - public void 闪电球_无序的和声(Event @event, ScriptAccessory accessory) - { - if (isTTS)accessory.Method.TTS($"远离球"); - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"无序的和声{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(6f); - dp.DestoryAt = 9000; - dp.ScaleMode = ScaleMode.ByTime; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - - var dp1 = accessory.Data.GetDefaultDrawProperties(); - dp1.Name = $"无序的和声描边{@event.SourceId}"; - dp1.Color = accessory.Data.DefaultDangerColor.WithW(10f); - dp1.Owner = @event.SourceId(); - dp1.Scale = new Vector2(6f); - dp1.InnerScale = new Vector2(5.95f); - dp1.Radian = float.Pi * 2; - dp1.DestoryAt = 6700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1); - } - - [ScriptMethod(name: "敌人#4: 奇子·巨人_巨躯狂怒(前后刀)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:4936(1|3)$"])] - public void 巨人_巨躯狂怒 (Event @event, ScriptAccessory accessory) - { - var isF = @event.ActionId == 49361; - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"巨躯狂怒{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(40f); - dp.Radian = 180f.DegToRad(); - dp.Rotation = isF ? 0f.DegToRad() : 180f.DegToRad(); - dp.DestoryAt = 5700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - - [ScriptMethod(name: "敌人#4: 奇子·巨人_巨躯狂怒(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49359$"])] - 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 = 5700; - dp.ScaleMode = ScaleMode.ByTime; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - - var dp1 = accessory.Data.GetDefaultDrawProperties(); - dp1.Name = $"巨躯狂怒钢铁描边{@event.SourceId}"; - dp1.Color = accessory.Data.DefaultDangerColor.WithW(10f); - dp1.Owner = @event.SourceId(); - dp1.Scale = new Vector2(15f); - dp1.InnerScale = new Vector2(14.95f); - dp1.Radian = float.Pi * 2; - dp1.DestoryAt = 5700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1); - } - - [ScriptMethod(name: "敌人#4: 奇子·巨人_粉碎重踏(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49378$"])] - public void 巨人_粉碎重踏(Event @event, ScriptAccessory accessory) - { - // 使用 TargetIcon 00EA 对准异色史莱姆释放的直线 - // 49379 疑似是武器打到会变色的位置 - if (isTTS)accessory.Method.TTS($"快躲开"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"粉碎重踏{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new (8f, 40f); - dp.DestoryAt = 2700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); - } - - [ScriptMethod(name: "敌人#4: 凝胶化火焰/雷电_炸裂(打断提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4937(3|5)$"])] - public void 凝胶化_炸裂(Event @event, ScriptAccessory accessory) - { - if (isTTS)accessory.Method.TTS($"打断史莱姆"); - } - - [ScriptMethod(name: "敌人#4: 奇子·巨人_追炎(旋风)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49366$"])] - public void 巨人_追炎(Event @event, ScriptAccessory accessory) - { - if (isTTS)accessory.Method.TTS($"快躲开"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"追炎{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(6f); - dp.DestoryAt = 2700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - - var dp1 = accessory.Data.GetDefaultDrawProperties(); - dp1.Name = $"追炎描边{@event.SourceId}"; - dp1.Color = accessory.Data.DefaultDangerColor.WithW(10f); - dp1.Owner = @event.SourceId(); - dp1.Scale = new Vector2(6f); - dp1.InnerScale = new Vector2(5.95f); - dp1.Radian = float.Pi * 2; - dp1.DestoryAt = 2700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1); - } - - [ScriptMethod(name: "敌人#4: 奇子·巨人_追雷(踩塔)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49364$"])] - public void 巨人_追雷(Event @event, ScriptAccessory accessory) - { - if (isTTS)accessory.Method.TTS($"踩塔"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"追雷连线{@event.SourceId}"; - dp.Owner = accessory.Data.Me; - dp.Color = accessory.Data.DefaultSafeColor; - dp.ScaleMode |= ScaleMode.YByDistance; - dp.TargetObject = @event.SourceId(); - dp.Scale = new(1); - dp.DestoryAt = 2700; - accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Displacement, dp); - } - - [ScriptMethod(name: "敌人#4: 奇子·独眼巨人_激励鼓舞(打断提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49368$"])] - public void 独眼巨人_激励鼓舞(Event @event, ScriptAccessory accessory) - { - if (isTTS)accessory.Method.TTS($"打断小怪"); - } - - [ScriptMethod(name: "敌人#4: 奇子·独眼巨人_怒视(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^493(67|70)$"])] - 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 (3f, 40f); - dp.DestoryAt = 3700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); - } // 在 随机#3:奇子·美杜莎 的战斗中,也有同名小怪与同名技能 - - [ScriptMethod(name: "随机#4: 奇子·莫古小猛_莫古暴风雨(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49383$"])] - 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(22f); - dp.DestoryAt = 7700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - - [ScriptMethod(name: "随机#4: 奇子·莫古小猛_百库啵横扫(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49381$"])] - 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 = 60f.DegToRad(); - dp.DestoryAt = 7700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - - [ScriptMethod(name: "随机#4: 奇子·莫古小术_绒绒陨石雨(步进扩大地火)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49389$"])] - public void 莫古小术_绒绒陨石雨(Event @event, ScriptAccessory accessory) - { - // 后续依次为 50944 8m / 50945 10m / 50946 12m / 50947 14m,每次步进距离均为8m - if (isTTS)accessory.Method.TTS($"步进扩大地火"); - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"绒绒陨石雨{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(6f); - dp.DestoryAt = 6700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - - [ScriptMethod(name: "随机#4: 奇子·莫古小医_绒绒神圣(三角)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49387$"])] - 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(40f); - dp.Radian = 90f.DegToRad(); - dp.DestoryAt = 8700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); - } - - [ScriptMethod(name: "随机#5: 奇子·贝希摩斯_陨石冲击(提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49402$"])] - public void 贝希摩斯_陨石冲击(Event @event, ScriptAccessory accessory) - { - if (isText)accessory.Method.TextInfo($"连续放置5个陨石,不要重叠", duration: 5000, true); - if (isTTS)accessory.Method.TTS($"连续放陨石,不要重叠"); - } - - [ScriptMethod(name: "随机#5: 奇子·贝希摩斯_引雷(提示)", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:regex:^2574$"])] - public void 贝希摩斯_广域落雷_引雷(Event @event, ScriptAccessory accessory) - { - if (isText)accessory.Method.TextInfo($"传雷雷塔", duration: 3000, true); - if (isTTS)accessory.Method.TTS($"传雷雷塔"); - } - - [ScriptMethod(name: "随机#5: 奇子·贝希摩斯_黄道陨石(提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49410$"])] - public void 贝希摩斯_黄道陨石(Event @event, ScriptAccessory accessory) - { - if (isTTS)accessory.Method.TTS($"躲在陨石后"); - } - - [ScriptMethod(name: "随机#5: 奇子·贝希摩斯_大漩涡(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49413"])] - public void 贝希摩斯_大漩涡(Event @event, ScriptAccessory accessory) - { - if (isTTS)accessory.Method.TTS($"靠近BOSS"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"贝希摩斯_大漩涡{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(40f); - dp.InnerScale = new Vector2(8f); - dp.Radian = float.Pi * 2; - dp.DestoryAt = 5700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); - } - - // 49420 死亡轮盘转转转 - // 50940 怪光线 直线死刑 [TargetIcon 01D7] - - [ScriptMethod(name: "强敌#4: 奇子·冥鬼之眼王_双重视线(鸳鸯锅)", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:regex:^553[67]$"])] - public void 冥鬼之眼王_双重视线(Event @event, ScriptAccessory accessory) - { - if (@event.TargetId() != accessory.Data.Me) return; - var color = @event.StatusId == 5536 ? "红色" : "白色"; - if (isText)accessory.Method.TextInfo($"去{color}半场", duration: 4500, true); - if (isTTS)accessory.Method.TTS($"去{color}半场"); - } - - [ScriptMethod(name: "强敌#4: 奇子·肮脏之眼_死亡视线(背对提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49434$"])] - public void 肮脏之眼_死亡视线(Event @event, ScriptAccessory accessory) - { - if (isText)accessory.Method.TextInfo($"背对 <肮脏之眼>", duration: 3000, true); - if (isTTS)accessory.Method.TTS($"背对肮脏之眼"); - } - - [ScriptMethod(name: "强敌#4: 奇子·冥鬼之眼王_5兽级即死(引爆提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49429$"])] - public void 冥鬼之眼王_5兽级即死(Event @event, ScriptAccessory accessory) - { - if (isText)accessory.Method.TextInfo($"引爆宝宝(只需引爆5倍数等级)", duration: 5000, true); - if (isTTS)accessory.Method.TTS($"引爆宝宝"); - } - - [ScriptMethod(name: "头目: 魔斧之主 劳妲_霹雳(直线麻痹死刑)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49470$"])] - public void 劳妲_霹雳(Event @event, ScriptAccessory accessory) - { - if (isText)accessory.Method.TextInfo($"麻痹死刑", duration: 4000, true); - if (isTTS)accessory.Method.TTS($"麻痹死刑"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"霹雳{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); - dp.Owner = @event.SourceId(); - dp.TargetObject = @event.TargetId; - dp.Scale = new (6f, 50f); - dp.DestoryAt = 4700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); - } - - [ScriptMethod(name: "头目: 隐蔽魔刃_突进(直线)", eventType: EventTypeEnum.PlayActionTimeline, eventCondition: ["Id:regex:^4576$","SourceDataId:19745"])] - public void 隐蔽魔刃_突进(Event @event, ScriptAccessory accessory) - { - // PlayActionTimeline 4562是出现,4576是隐藏 - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"隐蔽魔刃_突进{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new (5f, 50f); - dp.Delay = 3700; - dp.DestoryAt = 4000; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); - } - - [ScriptMethod(name: "头目: 魔斧之主 劳妲_大奔流(击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49453$"])] - public void 劳妲_大奔流(Event @event, ScriptAccessory accessory) - { - if (isText)accessory.Method.TextInfo($"向南北击退", duration: 6000, true); - if (isTTS)accessory.Method.TTS($"向南北击退"); - IntPtr omenHandle = accessory.Method.VfxMethod.CreateOmen(427, new Vector3(60f), - @event.EffectPosition(), @event.SourceRotation(), new Vector4(1f,0.5f,0f,0.5f), 6700); - accessory.Method.VfxMethod.SetVfxSpeed(omenHandle,0.8f); - } - - [ScriptMethod(name: "头目: 魔斧之主 劳妲_支配魔刃(引导提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49462$"])] - public void 劳妲_支配魔刃引导(Event @event, ScriptAccessory accessory) - { - // 另一个读条是 50846,引导预测再看需不需要画 - if (isText)accessory.Method.TextInfo($"向南北引导直线(避开人偶)", duration: 14300, true); - if (isTTS)accessory.Method.TTS($"向南北引导直线(避开人偶)"); - } - - [ScriptMethod(name: "头目: 魔斧之主 劳妲_支配魔刃(躲避提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49464$"])] - public void 劳妲_支配魔刃躲避(Event @event, ScriptAccessory accessory) - { - if (isTTS)accessory.Method.TTS($"快躲开"); - } - - [ScriptMethod(name: "头目: 魔斧之主 劳妲_支配魔刃(直线预兆)", eventType: EventTypeEnum.Tether, eventCondition: ["Id:regex:^0001$"])] - public void 劳妲_支配魔刃预兆(Event @event, ScriptAccessory accessory) - { - if (HelperExtensions.GetCurrentTerritoryId() != 1343) return; - if (phase != Beasts_Phase.Lauda) return; - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"支配魔刃预兆{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor.WithW(0.2f); - dp.Owner = @event.SourceId(); - dp.TargetObject = @event.TargetId; - dp.Scale = new (6f,60f); - dp.DestoryAt = 5200; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); - } - - [ScriptMethod(name: "头目: 魔斧之主 劳妲_垂直驱动(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49451$"])] - public void 劳妲_垂直驱动(Event @event, ScriptAccessory accessory) - { - if (isTTS)accessory.Method.TTS($"去两侧"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"垂直驱动{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor.WithW(0.4f); - dp.Owner = @event.SourceId(); - dp.Scale = new (20f, 80f); - dp.DestoryAt = 6700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Straight, dp); - } - - [ScriptMethod(name: "头目: 魔斧之主 劳妲_贪食啮噬(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49449$"])] - public void 劳妲_贪食啮噬(Event @event, ScriptAccessory accessory) - { - if (isText)accessory.Method.TextInfo($"对侧角落安全(注意击退)", duration: 12600, true); - if (isTTS)accessory.Method.TTS($"对侧角落安全(注意击退)"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"贪食啮噬{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor.WithW(0.4f); - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(40f); - dp.DestoryAt = 13300; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - - [ScriptMethod(name: "头目: 魔斧之主 劳妲_贪食裂膛(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49446$"])] - public void 劳妲_贪食裂膛(Event @event, ScriptAccessory accessory) - { - if (isText)accessory.Method.TextInfo($"BOSS背后安全(注意击退)", duration: 12600, true); - if (isTTS)accessory.Method.TTS($"BOSS背后安全(注意击退)"); - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"贪食裂膛{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); - dp.Owner = @event.SourceId(); - dp.Scale = new (40f, 50f); - dp.DestoryAt = 13300; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); - } - - [ScriptMethod(name: "头目: 魔斧之主 劳妲_消失魔刃·冲波(提醒)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49484$"])] - public void 劳妲_消失魔刃冲波(Event @event, ScriptAccessory accessory) - { - // [Status 5341] 49485 瞬移?,打正打背怎么都是49487 , 49488没遇到,击退距离40m - if (isText)accessory.Method.TextInfo($"观察稍后击退方向", duration: 6000, true); - if (isTTS)accessory.Method.TTS($"观察击退方向"); - } - - // [Status 5341]消失魔刃·冲波 49484 本体无意义读条,49485 瞬移?,打正打背怎么都是49487 , 49488没遇到,击退距离40m - - [ScriptMethod(name: "头目: 高段诱爆魔刃_魔力爆炸(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49443$"])] - 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 Vector2(8f); - dp.DestoryAt = 4700; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - - [ScriptMethod(name: "头目: 魔斧之主 劳妲_拘束(结界方块)", eventType: EventTypeEnum.ObjectChanged, eventCondition: ["Operate:Add","DataId:regex:^20154(28|53)$"])] - public void 劳妲_拘束(Event @event, ScriptAccessory accessory) - { - if (HelperExtensions.GetCurrentTerritoryId() != 1343) return; - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"拘束{@event.SourceId}"; - dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); - dp.Owner = @event.SourceId(); - dp.Scale = new (10f, 10f); - dp.DestoryAt = 4200; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Straight, dp); - } - - [ScriptMethod(name: "头目: 高段魔刃结界_剧毒魔刃(十字)", eventType: EventTypeEnum.ObjectChanged, eventCondition: ["Operate:Add","DataId:regex:^2015428$"])] - public void 高段魔刃结界_剧毒魔刃(Event @event, ScriptAccessory accessory) - { - if (HelperExtensions.GetCurrentTerritoryId() != 1343) return; - - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"高段剧毒魔刃{@event.SourceId}"; - dp.Scale = new (10f, 30f); - dp.Owner = @event.SourceId(); - dp.Color = accessory.Data.DefaultDangerColor.WithW(0.6f); - dp.Delay = 4200; - dp.DestoryAt = 8400; - - float[] rotations = { 0f, 90f}; - - foreach (float rotation in rotations) - { - dp.Rotation = rotation.DegToRad(); - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Straight, dp); - } - } - - [ScriptMethod(name: "头目: 火焰魔刃·牢狱(钢铁)", eventType: EventTypeEnum.ObjectChanged, eventCondition: ["Operate:Add","DataId:regex:^2015453$"])] - public void 火焰魔刃牢狱(Event @event, ScriptAccessory accessory) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"火焰魔刃·牢狱{@event.SourceId}"; // ActionId 49460 - dp.Color = accessory.Data.DefaultDangerColor.WithW(1f); - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(12f); - dp.DestoryAt = 11800; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - - [ScriptMethod(name: "头目: 魔斧之主 劳妲_火焰魔刃(放置核爆提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4946(5|8)$"])] - public void 劳妲_火焰魔刃(Event @event, ScriptAccessory accessory) - { - if (isText && @event.ActionId== 49465) accessory.Method.TextInfo ($"放置核爆点名", duration: 7000, true); - if (isTTS)accessory.Method.TTS (@event.ActionId== 49465 ? $"放置核爆点名" : $"快躲开"); - } - - [ScriptMethod(name: "头目: 高段火焰魔刃_魔刃爆焰(核爆)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^49469$"])] - 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 Vector2(20f); - dp.DestoryAt = 10700; - dp.ScaleMode = ScaleMode.ByTime; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - - // 49473 暴食战斧 最后击退 - #endregion #region 蜃景幻界新月岛 北征之章 diff --git a/OnlineRepo.json b/OnlineRepo.json index 53e53bb..c3d950e 100644 --- a/OnlineRepo.json +++ b/OnlineRepo.json @@ -8,6 +8,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/02-A-Realm-Reborn/Dungeon/MainScenario_Roulette.cs", "Note": "v0.0.0.2:\r\nLV50 随机任务:主线任务 初版绘制\r\n选项中的DR辅助需要你正确安装Daily Routines插件才可使用", "UpdateInfo": "v0.0.0.2: 7.3", + "UpdateTime": "", "TerritoryIds": [ 1043, 1044, @@ -23,6 +24,7 @@ "DownloadUrl": "", "Note": "v0.0.0.1\r\nLV50 领航明灯天狼星灯塔 初版绘制及部分机制提示", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 160 ] @@ -36,6 +38,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/02-A-Realm-Reborn/Dungeon/the_Tam-Tara_Deepcroft(Hard).cs", "Note": "v0.0.0.1:\r\nLV50 惨剧灵殿塔姆·塔拉墓园 初版绘制", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 373 ] @@ -49,6 +52,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/03-Heavensward/Dungeon/theAery.cs", "Note": "v0.0.0.3:\r\nLV55 邪龙王座龙巢神殿 初版绘制\r\nTTS请在“用户设置”中二选一启用,请勿同时开启", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 1065 ] @@ -62,6 +66,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/03-Heavensward/Dungeon/SaintMocianne'sArboretum.cs", "Note": "v0.0.0.1:\r\nLV60 草木庭园圣茉夏娜植物园 初版绘制", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 511 ] @@ -75,6 +80,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/04-Stormblood/Dungeon/AlaMhigo.cs", "Note": "v0.0.0.1:\r\nLV70 鏖战红莲阿拉米格 初版绘制\r\nTTS请在“用户设置”中二选一启用,请勿同时开启", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 1146 ] @@ -88,6 +94,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/04-Stormblood/Dungeon/theFractalContinuum-Hard.cs", "Note": "v0.0.0.2:\r\n疯狂战舰无限回廊 副本绘制\r\n注意:BOSS2三斗神与尾王光柱地火未经实战测试,若有误请带ARR反馈", "UpdateInfo": "API12", + "UpdateTime": "", "TerritoryIds": [ 743 ] @@ -101,6 +108,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/04-Stormblood/Dungeon/SaintMocianne'sArboretum%20(Hard).cs", "Note": "v0.0.0.3:\r\nLV70 污染庭园圣茉夏娜植物园 初版绘制", "UpdateInfo": "v0.0.0.3: 修复捕食绘制,增加设置项", + "UpdateTime": "", "TerritoryIds": [ 788 ] @@ -114,6 +122,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/05-Shadowbringers/Dungeon/theTwinning.cs", "Note": "v0.0.0.2:\r\nLV80 异界遗构希尔科斯孪晶塔 初版绘制", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 840 ] @@ -127,6 +136,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/07-Dawntrail/Dungeon/Mistwake.cs", "Note": "v0.0.0.2:\r\n遗忘行路雾之迹 / Mistwake / 遺忘行路 ミストウェイク 初版绘制", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 1314 ] @@ -140,6 +150,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/02-A-Realm-Reborn/Trials/Ifrit(Hard).cs", "Note": "v0.0.0.5:\r\nLV50 伊弗利特歼灭战 初版绘制", "UpdateInfo": "写反地图ID了.jpg", + "UpdateTime": "", "TerritoryIds": [ 292 ] @@ -153,6 +164,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/02-A-Realm-Reborn/Trials/Garuda(Hard).cs", "Note": "v0.0.0.1:\r\nLV50 迦楼罗歼灭战 初版绘制\r\nTTS请在“用户设置”中二选一启用,请勿同时开启", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 294 ] @@ -166,6 +178,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/02-A-Realm-Reborn/Trials/Ramuh(Hard).cs", "Note": "v0.0.0.2:\r\nLV50 拉姆歼灭战 初版绘制", "UpdateInfo": "API12", + "UpdateTime": "", "TerritoryIds": [ 374 ] @@ -179,6 +192,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/02-A-Realm-Reborn/Trials/Shiva.cs", "Note": "v0.0.0.3:\r\nLV50 希瓦歼灭战 初版绘制", "UpdateInfo": "0.0.0.3", + "UpdateTime": "", "TerritoryIds": [ 377 ] @@ -192,6 +206,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/02-A-Realm-Reborn/Trials/Good_King_Moggle-Hard.cs", "Note": "v0.0.0.2:\r\nLV50 莫古力贤王歼灭战\r\n纯整活无意义,不喜欢可以不用\r\n台词暂时适用于CN版,暂未适配其他语言端", "UpdateInfo": "API12", + "UpdateTime": "", "TerritoryIds": [ 1067 ] @@ -205,6 +220,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/02-A-Realm-Reborn/Trials/Nabriales.cs", "Note": "v0.0.0.3:\r\nLV50 那布里亚勒斯讨伐战 初版绘制", "UpdateInfo": "API12", + "UpdateTime": "", "TerritoryIds": [ 426 ] @@ -218,6 +234,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/02-A-Realm-Reborn/Trials/Hydra.cs", "Note": "v0.0.0.2:\nLV50 海德拉讨伐战 初版绘制", "UpdateInfo": "API12", + "UpdateTime": "", "TerritoryIds": [ 369 ] @@ -231,6 +248,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/02-A-Realm-Reborn/Trials/DhormeChimera.csg", "Note": "v0.0.0.6:\r\nLV50 死化奇美拉讨伐战 初版绘制", "UpdateInfo": "v0.0.0.6: 补充雷电咆哮技能ID", + "UpdateTime": "", "TerritoryIds": [ 368 ] @@ -244,6 +262,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/02-A-Realm-Reborn/Trials/Odin.cs", "Note": "v0.0.0.2:\r\nLV50 奥丁歼灭战 初版绘制", "UpdateInfo": "API12", + "UpdateTime": "", "TerritoryIds": [ 394 ] @@ -257,6 +276,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/02-A-Realm-Reborn/Trials/BattleOnTheBigBridge.cs", "Note": "v0.0.0.3:\r\nLV50 大桥上的决斗 初版绘制", "UpdateInfo": "增加部分机制职能限制", + "UpdateTime": "", "TerritoryIds": [ 366 ] @@ -270,6 +290,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/02-A-Realm-Reborn/Trials/BattleInTheBigKeep.cs", "Note": "v0.0.0.2:\r\nLV50 无限城的死斗 初版绘制\r\nTTS请在“用户设置”中二选一启用,请勿同时开启", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 396 ] @@ -283,6 +304,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/03-Heavensward/Trials/Nidhogg.cs", "Note": "v0.0.0.3:\r\nLV60 尼德霍格征龙战 初版绘制", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 559 ] @@ -296,6 +318,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/03-Heavensward/Trials/Sephirot.cs", "Note": "v0.0.0.1:\r\nLV60 萨菲洛特歼灭战 初版绘制", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 517 ] @@ -309,6 +332,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/03-Heavensward/Trials/Sophia.cs", "Note": "v0.0.0.3:\r\nLV60 索菲娅歼灭战 初版绘制\r\nTTS请在“用户设置”中二选一启用,请勿同时开启", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 576 ] @@ -322,6 +346,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/03-Heavensward/Trials/Zurvan.cs", "Note": "v0.0.0.4:\r\nLV60 祖尔宛歼灭战 初版绘制", "UpdateInfo": "增加小怪出现位置预测,自身为T时不再提示攻击智慧信徒", + "UpdateTime": "", "TerritoryIds": [ 637 ] @@ -335,6 +360,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/04-Stormblood/Trial/Susano.cs", "Note": "v0.0.0.1:\r\nLV63 须佐之男歼灭战 初版绘制\r\n支持DR 自动QTE", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 674 ] @@ -348,6 +374,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/04-Stormblood/Trial/Lakshmi.cs", "Note": "v0.0.0.3:\r\nLV70 吉祥天女歼灭战 初版绘制", "UpdateInfo": "API12", + "UpdateTime": "", "TerritoryIds": [ 719 ] @@ -361,6 +388,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/04-Stormblood/Trial/Shinryu.cs", "Note": "v0.0.0.6:\r\nLV70 神龙歼灭战 初版绘制", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 679 ] @@ -374,6 +402,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/04-Stormblood/Trial/Tsukuyomi.cs", "Note": "v0.0.0.4:\r\nLV70 月读歼灭战 初版绘制", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 778 ] @@ -387,6 +416,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/04-Stormblood/Trial/Byakko.cs", "Note": "v0.0.0.11:\r\nLV70 白虎镇魂战 初版绘制", "UpdateInfo": "v0.0.0.11: 修改无间地狱时荒弹绘制范围", + "UpdateTime": "", "TerritoryIds": [ 746 ] @@ -400,6 +430,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/04-Stormblood/Trial/Suzaku.cs", "Note": "v0.0.0.1:\r\nLV70 朱雀镇魂战 初版绘制\r\n跳楼机问就是不会,希望有人帮我画了", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 810 ] @@ -413,6 +444,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/04-Stormblood/Trial/Yojimbo.cs", "Note": "v0.0.0.2:\r\nLV70 保镖歼灭战 初版绘制", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 806 ] @@ -426,6 +458,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/05-Shadowbringers/Trials/Titania.cs", "Note": "v0.0.0.1:\r\nLV73 缇坦妮雅歼灭战 初版绘制\r\nTTS请在“用户设置”中二选一启用,请勿同时开启", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 845 ] @@ -439,6 +472,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/05-Shadowbringers/Trials/Hades.cs", "Note": "v0.0.0.3:\r\nLV80 哈迪斯歼灭战 初版绘制", "UpdateInfo": "v0.0.0.3: 修复一处奇怪的报错", + "UpdateTime": "", "TerritoryIds": [ 847 ] @@ -452,6 +486,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/06-EndWalker/Trial/Golbez.cs", "Note": "v0.0.0.3:\nLV90 高贝扎歼灭战 初版绘制", "UpdateInfo": "增加死刑倒T销毁", + "UpdateTime": "", "TerritoryIds": [ 1140 ] @@ -465,6 +500,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/06-EndWalker/Trial/Zeromus.cs", "Note": "v0.0.0.2:\r\nLV90 泽罗姆斯歼灭战 初版绘制\r\nTTS请在“用户设置”中二选一启用,请勿同时开启", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 1168 ] @@ -478,6 +514,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/07-Dawntrail/Trials/The_Interphos.cs", "Note": "v0.0.0.3:\r\nLV100 永恒女王歼灭战 绘制\r\n原作者:Poetry", "UpdateInfo": "0.0.0.3: 适配并略微修改", + "UpdateTime": "", "TerritoryIds": [ 1202 ] @@ -491,6 +528,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/07-Dawntrail/Trials/The_Ageless_Necropolis.cs", "Note": "v0.0.0.1:\r\nLV100 7.3 永远之暗歼灭战 初版绘制", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 1295 ] @@ -504,6 +542,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/07-Dawntrail/Trials/The_Unmaking.cs", "Note": "v0.0.0.1:\r\n恩欧歼灭战 初版绘制", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 1361 ] @@ -517,6 +556,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/02-A-Realm-Reborn/Trials-Extreme/Ultimas_Bane(Extreme).cs", "Note": "v0.0.0.2: Patch2.0 LV50\r\n究极神兵假想作战 / 究極幻想 アルテマウェポン破壊作戦 / the Minstrel's Ballad: Ultima's Bane\r\n初版绘制", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 348 ] @@ -530,6 +570,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/02-A-Realm-Reborn/Trials-Extreme/Garuda(Extreme).cs", "Note": "v0.0.0.1:\r\nLV50 迦楼罗歼殛战 初版绘制\r\nTTS请在“用户设置”中二选一启用,请勿同时开启", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 297 ] @@ -543,6 +584,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/02-A-Realm-Reborn/Trials-Extreme/Ifrit(Extreme).cs", "Note": "v0.0.0.3:\r\nLV50 伊弗利特歼殛战 初版绘制\r\nTTS请在“用户设置”中二选一启用,请勿同时开启", "UpdateInfo": "重做职能检测", + "UpdateTime": "", "TerritoryIds": [ 295 ] @@ -556,6 +598,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/02-A-Realm-Reborn/Trials-Extreme/Good_King_Moggle(Extreme).cs", "Note": "v0.0.0.3:\r\nLV50 莫古力贤王歼殛战 初版绘制", "UpdateInfo": "新增文本与TTS开关,增加职能检测", + "UpdateTime": "", "TerritoryIds": [ 364 ] @@ -569,6 +612,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/02-A-Realm-Reborn/Trials-Extreme/Leviathan(Extreme).cs", "Note": "v0.0.0.3:\r\nLV50 利维亚桑歼殛战 初版绘制", "UpdateInfo": "新增EdgeTTS开关,增加职能检测", + "UpdateTime": "", "TerritoryIds": [ 359 ] @@ -582,6 +626,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/03-Heavensward/Trials-Extreme/Bismarck-Extreme.cs", "Note": "v0.0.0.1:\r\nLV60 俾斯麦歼殛战 初版绘制", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 447 ] @@ -595,6 +640,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/03-Heavensward/Raid-Alexander/Normal/A3N.cs", "Note": "v0.0.0.2:\r\nLV60 亚历山大机神城 启动之章3(有生命活水) 初版绘制", "UpdateInfo": "v0.0.0.2: 7.3", + "UpdateTime": "", "TerritoryIds": [ 444 ] @@ -608,6 +654,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/03-Heavensward/Raid-Alexander/Normal/A5N.cs", "Note": "v0.0.0.1:\r\nLV60 亚历山大机神城 律动之章1(奇才 拉特芬克斯) 初版绘制", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 520 ] @@ -621,6 +668,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/03-Heavensward/Raid-Alexander/Normal/A7N.cs", "Note": "v0.0.0.2:\r\nLV60 亚历山大机神城 律动之章3(万事通 奎克辛克斯) 初版绘制", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 522 ] @@ -634,6 +682,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/03-Heavensward/Raid-Alexander/Normal/A10N.cs", "Note": "v0.0.0.1:\r\n亚历山大机神城 天动之章2(佣兵雷姆普里克斯)初版绘制 ", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 581 ] @@ -647,6 +696,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/04-Stormblood/Raid-Omega_Quests/Normal/O4n.cs", "Note": "v0.0.0.1:\r\nLV70 欧米茄时空狭缝 德尔塔幻境4(艾克斯迪司)绘制\r\n基于贾XX的绘制上更改与补充", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 694 ] @@ -660,6 +710,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/04-Stormblood/Raid-Omega_Quests/Normal/O5n.cs", "Note": "v0.0.0.1:\r\nLV70 欧米茄时空狭缝 西格玛幻境1(魔列车)初版绘制", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 748 ] @@ -673,6 +724,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/04-Stormblood/Raid-Omega_Quests/Normal/O11n.cs", "Note": "v0.0.0.5:\r\nLV70 欧米茄时空狭缝 阿尔法幻境3(欧米茄)初版绘制", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 800 ] @@ -686,6 +738,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/05-Shadowbringers/Raid-Eden/Normal/E1n.cs", "Note": "v0.0.0.2:\r\nLV80 伊甸希望乐园 觉醒之章1(至尊伊甸)初版绘制", "UpdateInfo": "API12", + "UpdateTime": "", "TerritoryIds": [ 849 ] @@ -699,6 +752,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/05-Shadowbringers/Raid-Eden/Normal/E2n.cs", "Note": "v0.0.0.1:\r\nLV80 伊甸希望乐园 觉醒之章2(虚无行者) 初版绘制", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 850 ] @@ -712,6 +766,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/05-Shadowbringers/Raid-Eden/Normal/E8n.cs", "Note": "v0.0.0.3:\r\nLV80 伊甸希望乐园 共鸣之章4(构想希瓦)初版绘制", "UpdateInfo": "API12", + "UpdateTime": "", "TerritoryIds": [ 905 ] @@ -725,6 +780,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/05-Shadowbringers/Raid-Eden/Normal/E9n.cs", "Note": "v0.0.0.1:\r\nLV80 伊甸希望乐园 再生之章1(构想暗黑之云)初版绘制\r\nTTS请在“用户设置”中二选一启用,请勿同时开启", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 942 ] @@ -738,6 +794,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/05-Shadowbringers/Raid-Eden/Normal/E10n.cs", "Note": "v0.0.0.2:\r\nLV80 伊甸希望乐园 再生之章2(影之王)初版绘制", "UpdateInfo": "API12", + "UpdateTime": "", "TerritoryIds": [ 943 ] @@ -751,6 +808,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/05-Shadowbringers/Raid-Eden/Normal/E12n.cs", "Note": "v0.0.0.2:\r\nLV80 伊甸希望乐园 再生之章4(伊甸之约)初版绘制", "UpdateInfo": "API12", + "UpdateTime": "", "TerritoryIds": [ 945 ] @@ -764,6 +822,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/06-EndWalker/Raid-Pand%C3%A6monium/Normal/P10n.cs", "Note": "v0.0.0.4:\r\nLV90 万魔殿 荒天之狱2(万魔殿)初版绘制", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 1149 ] @@ -777,6 +836,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/06-EndWalker/Raid-Pand%C3%A6monium/Normal/P11n.cs", "Note": "v0.0.0.1:\r\nLV90 万魔殿 荒天之狱1(特弥斯) 初版绘制", "UpdateInfo": "", + "UpdateTime": "", "TerritoryIds": [ 1151 ] @@ -790,6 +850,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/07-Dawntrail/Alliance_Raids/Windurst_The_Third_Walk.cs", "Note": "LV100 7.5 温达斯:第三巡行 v0.0.0.5:\r\n初版绘制", "UpdateInfo": "0.0.0.5:先行版", + "UpdateTime": "", "TerritoryIds": [ 1368 ] @@ -803,6 +864,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/Deep_Dungeon/the_Palace_of_the_Dead.cs", "Note": "v0.0.1.1:\n死者宫殿 初版绘制", "UpdateInfo": "v0.0.1.1 重构绘图销毁条件", + "UpdateTime": "", "TerritoryIds": [ 561, 562, @@ -835,6 +897,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/Deep_Dungeon/Pilgrims_Traverse.cs", "Note": "v0.0.1.91:\r\n朝圣交错路绘制\r\n更新日志见dc\r\n注:方法设置中的层数仅做分割线效果,并不是批量开关\r\n出现问题请携带ARR反馈!", "UpdateInfo": "v0.0.1.91: 回退至相对稳定版本", + "UpdateTime": "", "TerritoryIds": [ 1281, 1282, @@ -859,6 +922,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/Celestium/Celestium.cs", "Note": "天青斗场绘制,随缘更新中", "UpdateInfo": "v0.0.0.5:增加部分关卡小提醒。", + "UpdateTime": "", "TerritoryIds": [ 796 ] @@ -872,6 +936,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/Fate/Formidable.cs", "Note": "v0.0.0.3:\r\nLV80 特殊Fate 绘制\r\n激斗畏惧装甲之秘密武器", "UpdateInfo": "v0.0.0.3 API12", + "UpdateTime": "", "TerritoryIds": [ 814 ] @@ -885,6 +950,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/Fate/Archaeotania.cs", "Note": "v0.0.0.4:\r\nLV80 特殊Fate 绘制\r\n灾厄的古塔尼亚之深海讨伐战", "UpdateInfo": "0.0.0.4:增加控制项", + "UpdateTime": "", "TerritoryIds": [ 818 ] @@ -898,6 +964,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/Fate/Daivadipa.cs", "Note": "v0.0.0.4:\r\nLV90 特殊Fate 绘制\r\n兽道诸神信仰:伪神降临", "UpdateInfo": "v0.0.0.4:略微调整强制移动距离,增加用户设置选项", + "UpdateTime": "", "TerritoryIds": [ 957 ] @@ -911,6 +978,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/Fate/Chi.cs", "Note": "v0.0.0.2:\r\nLV90 特殊Fate 绘制\r\n侵略兵器召回指令:破坏侵略兵器希", "UpdateInfo": "API12", + "UpdateTime": "", "TerritoryIds": [ 960 ] @@ -924,6 +992,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/Fate/Ttokrrone.cs", "Note": "v0.0.0.3:\r\nLV100 特殊Fate 绘制\r\n蛇王得酷热涅:荒野的死斗", "UpdateInfo": "API12", + "UpdateTime": "", "TerritoryIds": [ 1190 ] @@ -937,6 +1006,7 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/Fate/Mica_the_MagicalMu.cs", "Note": "v0.0.0.2:\r\nLV100 特殊Fate 绘制\r\n亩鼠米卡:盛装巡游皆大欢喜", "UpdateInfo": "API12", + "UpdateTime": "", "TerritoryIds": [ 1192 ] @@ -950,10 +1020,29 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/07-Dawntrail/FRU_DLC.cs", "Note": "v0.0.0.3:\r\n光暗未来绝境战 额外补充部分\r\n可以与灵视的绘制与连桑的Patch补丁同时使用,并无严重冲突部分\r\n可能会有部分横幅提醒冲突,横幅只会显示最早出现的一个,可以自行参考时间轴关闭不需要的提醒\r\n如【P4 盖娅出现横幅倒计时】与【P4 忘却的此岸 AOE提示】和灵视的【P4 天光轮回躲避提示】横幅冲突,请三选一启用", "UpdateInfo": "0.0.0.3:Patch7.3", + "UpdateTime": "", "TerritoryIds": [ 1238 ] }, + { + "Name": "斗兽奇弈", + "Guid": "eb6fe4f3-0f9f-40a8-9c76-daeb0a11554c", + "Version": "0.0.0.1", + "Author": "Tetora", + "Repo": "https://github.com/Hibiya615/TetoraKAScript/tree/main", + "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/00-Other/Crucible_of_the_Unbroken.cs", + "Note": "v0.0.0.1:\r\n斗兽奇弈 / 闘獣練 / Crucible of the Unbroken\r\n初版绘制", + "UpdateInfo": "v0.0.0.1: 斗兽奇弈初版绘制", + "UpdateTime": "", + "TerritoryIds": [ + 1339, + 1340, + 1341, + 1342, + 1343 + ] + }, { "Name": "技能范围", "Guid": "f85df3b8-baa4-42b7-8196-bc26c58fa251", @@ -963,25 +1052,22 @@ "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/00-Other/ActionArea.cs", "Note": "v0.0.0.3:\r\n技能范围绘制,全场景可用\r\n请先自行设置合适亮度并用任意技能测试", "UpdateInfo": "v0.0.0.3: 【重要】修复部分绘制残留问题", + "UpdateTime": "", "TerritoryIds": [] }, { "Name": "最新最热临时绘制", "Guid": "80890eac-4730-4708-ad1b-05aba469c2a1", - "Version": "0.0.3.4", + "Version": "0.0.3.5", "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.3.4:\r\n最新最热副本绘制,可能会电,介意请关闭\r\n别人的正式版发了这边就删", - "UpdateInfo": "0.0.3.4: 添加斗兽奇弈部分绘制", + "Note": "v0.0.3.5:\r\n最新最热副本绘制,可能会电,介意请关闭\r\n别人的正式版发了这边就删", + "UpdateInfo": "0.0.3.5: 删除斗兽奇弈部分,如需继续使用请使用独立新脚本, + "UpdateTime": "", "TerritoryIds": [ 1307, - 1346, - 1339, - 1340, - 1341, - 1342, - 1343 + 1346 ] } ] \ No newline at end of file diff --git a/PVP/PVPToy.cs b/PVP/PVPToy.cs index 0a67c34..ced5571 100644 --- a/PVP/PVPToy.cs +++ b/PVP/PVPToy.cs @@ -422,7 +422,7 @@ public class PVPToy } } - [ScriptMethod(name: "对方占星LB播报", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:29255"],suppress:14000)] + [ScriptMethod(name: "对方占星LB播报", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:29255"],suppress:4000)] public void CelestialRiverTTS(Event @event, ScriptAccessory accessory) { // 星河漫天 ActionId:29255 ; 星河漫天(队友buff) StatusID:3105; 星河漫天(敌方debuff) StatusID:3106 @@ -439,7 +439,7 @@ public class PVPToy } } - [ScriptMethod(name: "对方标记占星LB播报", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:3105"],suppress:3000)] + [ScriptMethod(name: "对方标记占星LB播报", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:3105","Param:3"],suppress:4000)] public void CelestialRiverMarkTTS(Event @event, ScriptAccessory accessory) { if (!isOnlyMark) return; // 开启选项,只播报对方四小,采用有头顶标记的人获得 LB Buff时判断