更新高台绘制

This commit is contained in:
南沢响也
2025-10-25 01:55:34 +08:00
parent 77648d4229
commit 12e6a0ca50

View File

@@ -1,4 +1,5 @@
using System; using System;
using System.Runtime;
using System.ComponentModel; using System.ComponentModel;
using System.Linq; using System.Linq;
using System.Numerics; using System.Numerics;
@@ -10,18 +11,19 @@ using KodakkuAssist.Module.GameEvent;
using KodakkuAssist.Module.Draw; using KodakkuAssist.Module.Draw;
using KodakkuAssist.Data; using KodakkuAssist.Data;
using KodakkuAssist.Extensions; using KodakkuAssist.Extensions;
using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace The_Borderland_Ruins; namespace The_Borderland_Ruins;
[ScriptType(guid: "ec9c9f7d-be48-4974-82cf-396b0fc29261", name: "周边遗迹群(阵地战)", territorys: [1273], [ScriptType(guid: "ec9c9f7d-be48-4974-82cf-396b0fc29261", name: "周边遗迹群(阵地战)", territorys: [1273],
version: "0.0.0.2", author: "Tetora", note: noteStr)] version: "0.0.0.3", author: "Tetora", note: noteStr)]
public class The_Borderland_Ruins public class The_Borderland_Ruins
{ {
const string noteStr = const string noteStr =
""" """
v0.0.0.1: v0.0.0.3:
"""; """;
@@ -41,7 +43,7 @@ public class The_Borderland_Ruins
#endregion #endregion
[ScriptMethod(name: "对地炮击(地面黄圈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:42935"])] [ScriptMethod(name: "对地炮击(地面黄圈)填充动画", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:42935"])]
public void (Event @event, ScriptAccessory accessory) public void (Event @event, ScriptAccessory accessory)
{ {
// 请求对地炮击 42933 // 请求对地炮击 42933
@@ -60,14 +62,30 @@ public class The_Borderland_Ruins
{ {
// 请求集中炮击 43158 // 请求集中炮击 43158
// TargetIcon: 003E // TargetIcon: 003E
if (isText)accessory.Method.TextInfo("分摊", duration: 4300, false); if (@event.TargetId() != accessory.Data.Me)
var dp = accessory.Data.GetDefaultDrawProperties(); {
dp.Name = "集中炮击"; if (isText) accessory.Method.TextInfo("分摊", duration: 4300, false);
dp.Color = accessory.Data.DefaultDangerColor; var dp = accessory.Data.GetDefaultDrawProperties();
dp.Owner = @event.TargetId(); dp.Name = "集中炮击";
dp.Scale = new Vector2(6f); dp.Color = accessory.Data.DefaultDangerColor;
dp.DestoryAt = 4700; dp.Owner = @event.TargetId();
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); dp.Scale = new Vector2(6f);
dp.DestoryAt = 4700;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
else
{
if (isText)accessory.Method.TextInfo("分摊点名", duration: 4300, true);
if (isTTS)accessory.Method.TTS("分摊点名");
if (isEdgeTTS)accessory.Method.EdgeTTS("分摊点名");
var dp1 = accessory.Data.GetDefaultDrawProperties();
dp1.Name = "集中炮击点名";
dp1.Color = accessory.Data.DefaultSafeColor;
dp1.Owner = @event.TargetId();
dp1.Scale = new Vector2(6f);
dp1.DestoryAt = 4700;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp1);
}
} }
[ScriptMethod(name: "精密炮击追踪黄圈Imgui高亮", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4293[78]$"])] [ScriptMethod(name: "精密炮击追踪黄圈Imgui高亮", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4293[78]$"])]
@@ -84,6 +102,54 @@ public class The_Borderland_Ruins
accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Circle, dp); accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Circle, dp);
} }
private Guid _currentOperationId = Guid.Empty;
[ScriptMethod(name: "物体130高台狂暴", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:2616"])]
public async void 130(Event @event, ScriptAccessory accessory)
{
var operationId = Guid.NewGuid();
_currentOperationId = operationId;
await Task.Delay(19700);
if (_currentOperationId != operationId) return;
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "物体130";
dp.Color = accessory.Data.DefaultDangerColor.WithW(0.4f);
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(38.4f);
dp.DestoryAt = 10000;
dp.ScaleMode = ScaleMode.ByTime;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
var dp1 = accessory.Data.GetDefaultDrawProperties();
dp1.Name = "物体130描边";
dp1.Color = accessory.Data.DefaultDangerColor.WithW(8f);
dp1.Owner = @event.SourceId();
dp1.Scale = new Vector2(38.4f);
dp1.InnerScale = new Vector2(38.3f);
dp1.Radian = float.Pi * 2;
dp1.DestoryAt = 10000;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1);
}
[ScriptMethod(name: "物体130中断销毁", eventType: EventTypeEnum.CancelAction, eventCondition: ["ActionId:2616"], userControl: false)]
public void 130(Event @event, ScriptAccessory accessory)
{
_currentOperationId = Guid.NewGuid();
accessory.Method.RemoveDraw($"物体130.*");
}
[ScriptMethod(name: "截击系统死亡销毁", eventType: EventTypeEnum.Death, eventCondition: ["TargetDataId:3096"], userControl: false)]
public void (Event @event, ScriptAccessory accessory)
{
_currentOperationId = Guid.NewGuid();
accessory.Method.RemoveDraw($"物体130.*");
}
} }
public static class EventExtensions public static class EventExtensions