更新舞者技能范围

This commit is contained in:
南沢响也
2025-12-09 18:34:38 +08:00
parent 409cd2935d
commit 6dc64c8183

View File

@@ -55,7 +55,7 @@ public class ActionArea
public float ActionOutlineBrightness { get; set; } = 15;
[UserSetting("其它AOE填充亮度推荐小于1")]
public float ActionFillBrightness { get; set; } = 0.3f;
public float ActionFillBrightness { get; set; } = 0.2f;
[UserSetting("选择位移预测或范围描边绘制类型")]
public BlendModeEnum BlendMode { get; set; } = BlendModeEnum.Default;
@@ -129,8 +129,6 @@ public class ActionArea
accessory.Method.SendDraw((DrawModeEnum)BlendMode, DrawTypeEnum.Displacement, dp);
}
[ScriptMethod(name: "位移技能预测销毁", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:regex:^(94|2440[12])$"],userControl: false)]
public void 位移技能预测销毁 (Event @event, ScriptAccessory accessory)
{
@@ -205,7 +203,7 @@ public class ActionArea
dp.Color = ActionAoEsColor.V4.WithW(ActionOutlineBrightness);
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(15f);
dp.InnerScale = new Vector2(14.97f);
dp.InnerScale = new Vector2(14.96f);
dp.Radian = float.Pi * 2;
dp.DestoryAt = 15000;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp);
@@ -224,10 +222,110 @@ public class ActionArea
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
[ScriptMethod(name: "标准舞步销毁", eventType: EventTypeEnum.StatusRemove, eventCondition: ["StatusID:1818"],userControl: false)]
public void (Event @event, ScriptAccessory accessory)
[ScriptMethod(name: "[描边] ", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:3868"])]
public void (Event @event, ScriptAccessory accessory)
{
if (@event.TargetId() != accessory.Data.Me) return;
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "结束动作描边";
dp.Color = ActionAoEsColor.V4.WithW(ActionOutlineBrightness);
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(15f);
dp.InnerScale = new Vector2(14.96f);
dp.Radian = float.Pi * 2;
dp.DestoryAt = 30000;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp);
}
[ScriptMethod(name: "[填充] ", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:3868"])]
public void (Event @event, ScriptAccessory accessory)
{
if (@event.TargetId() != accessory.Data.Me) return;
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "结束动作填充";
dp.Color = ActionAoEsColor.V4.WithW(ActionFillBrightness);
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(15f);
dp.DestoryAt = 30000;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
[ScriptMethod(name: "[描边] ", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:1819"])]
public void (Event @event, ScriptAccessory accessory)
{
if (@event.TargetId() != accessory.Data.Me) return;
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "技巧舞步描边";
dp.Color = ActionAoEsColor.V4.WithW(ActionOutlineBrightness);
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(15f);
dp.InnerScale = new Vector2(14.96f);
dp.Radian = float.Pi * 2;
dp.DestoryAt = 15000;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp);
}
[ScriptMethod(name: "[填充] ", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:1819"])]
public void (Event @event, ScriptAccessory accessory)
{
if (@event.TargetId() != accessory.Data.Me) return;
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "技巧舞步填充";
dp.Color = ActionAoEsColor.V4.WithW(ActionFillBrightness);
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(15f);
dp.DestoryAt = 15000;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
[ScriptMethod(name: "[描边] ", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:2698"])]
public void (Event @event, ScriptAccessory accessory)
{
if (@event.TargetId() != accessory.Data.Me) return;
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "提拉纳描边";
dp.Color = ActionAoEsColor.V4.WithW(ActionOutlineBrightness);
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(15f);
dp.InnerScale = new Vector2(14.96f);
dp.Radian = float.Pi * 2;
dp.DestoryAt = 30000;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp);
}
[ScriptMethod(name: "[填充] ", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:2698"])]
public void (Event @event, ScriptAccessory accessory)
{
if (@event.TargetId() != accessory.Data.Me) return;
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "提拉纳填充";
dp.Color = ActionAoEsColor.V4.WithW(ActionFillBrightness);
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(15f);
dp.DestoryAt = 30000;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
[ScriptMethod(name: "舞者技能销毁", eventType: EventTypeEnum.StatusRemove, eventCondition: ["StatusID:regex:^(181[89]|2698|3868)$"],userControl: false)]
public void 舞者技能销毁 (Event @event, ScriptAccessory accessory)
{
if (@event.SourceId() != accessory.Data.Me) return;
switch (@event.StatusID())
{
case 1818:
accessory.Method.RemoveDraw($".*");
break;
case 1819:
accessory.Method.RemoveDraw($"技巧舞步.*");
break;
case 2698:
accessory.Method.RemoveDraw($"提拉纳.*");
break;
case 3868:
accessory.Method.RemoveDraw($"结束动作.*");
break;
}
}
}
@@ -330,9 +428,9 @@ public static class EventExtensions
return ParseHexId(@event["DirectorId"], out var id) ? id : 0;
}
public static uint StatusId(this Event @event)
public static uint StatusID(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["StatusId"]);
return JsonConvert.DeserializeObject<uint>(@event["StatusID"]);
}
public static uint StackCount(this Event @event)