From 3c8accd4eeff022d268fbde1f4f1fdcaa596d0df 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: Sun, 9 Mar 2025 02:22:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=A4=A7=E8=B1=A1=E7=A7=BB?= =?UTF-8?q?=E5=8A=A8=E5=91=BD=E4=BB=A4=E9=A2=84=E6=B5=8B=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Fate/Daivadipa.cs | 59 ++++++++++++++++++++++++++++++++++------------- 1 file changed, 43 insertions(+), 16 deletions(-) diff --git a/Fate/Daivadipa.cs b/Fate/Daivadipa.cs index 46a833a..ea11722 100644 --- a/Fate/Daivadipa.cs +++ b/Fate/Daivadipa.cs @@ -14,6 +14,7 @@ using ECommons; using ECommons.DalamudServices; using ECommons.GameFunctions; using ECommons.MathHelpers; +using System.Threading.Tasks; namespace DevoutPilgrimsVSDaivadipa; @@ -218,6 +219,48 @@ public class Daivadipa } } + [ScriptMethod(name: "移动命令 位置预测", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:regex:^19(5[89]|6[01])$"])] + public async void 移动命令(Event @event, ScriptAccessory accessory) + { + if ( @event.TargetId() != accessory.Data.Me) return; + await Task.Delay(8000); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = "移动命令"; + dp.Color = accessory.Data.DefaultSafeColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(1f, 5f); + dp.DestoryAt = 3000; + + switch (@event["StatusID"]) + { + case "1958": + dp.Rotation = 0f.DegToRad(); + accessory.Method.TextInfo("强制移动:前", duration: 3000, true); + break; + case "1959": + dp.Rotation = 180f.DegToRad(); + accessory.Method.TextInfo("强制移动:后", duration: 3000, true); + break; + case "1960": + dp.Rotation = 90f.DegToRad(); + accessory.Method.TextInfo("强制移动:左", duration: 3000, true); + break; + case "1961": + dp.Rotation = 270f.DegToRad(); + accessory.Method.TextInfo("强制移动:右", duration: 3000, true); + break; + } + accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Arrow, dp); + } + + [ScriptMethod(name: "移动命令销毁备用", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:1257"],userControl: false)] + public void 移动命令销毁(Event @event, ScriptAccessory accessory) + { + // 开始移动时,强制移动buff Id 为 1257 ,销毁移动预测 + accessory.Method.RemoveDraw("移动命令"); + } + [ScriptMethod(name: "大象死亡销毁", eventType: EventTypeEnum.Death, eventCondition: ["TargetDataId:13677"],userControl: false)] public void 大象死亡销毁(Event @event, ScriptAccessory accessory) { @@ -341,19 +384,3 @@ public static class EventExtensions return JsonConvert.DeserializeObject(@event["Param"]); } } - - -public static class Extensions -{ - public static void TTS(this ScriptAccessory accessory, string text, bool isTTS, bool isDRTTS) - { - if (isDRTTS) - { - accessory.Method.SendChat($"/pdr tts {text}"); - } - else if (isTTS) - { - accessory.Method.TTS(text); - } - } -}