修改蛇王销毁回旋条件

This commit is contained in:
南沢响也
2025-03-05 19:18:00 +08:00
parent f1a5fe9132
commit 4f9a94fe87

View File

@@ -30,6 +30,8 @@ public class Ttokrrone
"""; """;
#region
[ScriptMethod(name: "迷失连线", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^758[67]$"])] [ScriptMethod(name: "迷失连线", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^758[67]$"])]
public void 迷失连线(Event @event, ScriptAccessory accessory) public void 迷失连线(Event @event, ScriptAccessory accessory)
{ {
@@ -53,6 +55,9 @@ public class Ttokrrone
{ {
accessory.Method.RemoveDraw("线"); accessory.Method.RemoveDraw("线");
} }
#endregion
#region
[ScriptMethod(name: "单侧沙暴", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^3731[3-6]$"])] [ScriptMethod(name: "单侧沙暴", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^3731[3-6]$"])]
public void 单侧沙暴(Event @event, ScriptAccessory accessory) public void 单侧沙暴(Event @event, ScriptAccessory accessory)
@@ -116,18 +121,18 @@ public class Ttokrrone
{ {
case 37317: // 顺时针 case 37317: // 顺时针
case 37321: // 逆时针 case 37321: // 逆时针
dp.Name = "F"; dp.Name = "";
dp.Rotation = 0f.DegToRad(); dp.Rotation = 0f.DegToRad();
dp.DestoryAt = 24700; dp.DestoryAt = 24700;
break; break;
case 37318: // 顺时针 case 37318: // 顺时针
case 37322: // 逆时针 case 37322: // 逆时针
dp.Name = "后方回旋沙暴B"; dp.Name = "后方回旋沙暴";
dp.Rotation = 180f.DegToRad(); dp.Rotation = 180f.DegToRad();
dp.DestoryAt = 7600; dp.DestoryAt = 7600;
dp1.Name = "后方回旋沙暴B1"; dp1.Name = "后方回旋沙暴Adjust";
dp1.Rotation = 180f.DegToRad(); dp1.Rotation = 180f.DegToRad();
dp1.Delay = 7800; dp1.Delay = 7800;
dp1.DestoryAt = 17100; dp1.DestoryAt = 17100;
@@ -149,6 +154,7 @@ public class Ttokrrone
dp.Radian = 90f.DegToRad(); dp.Radian = 90f.DegToRad();
dp.Color = new Vector4(1f, 1f, 0f, 0.8f); dp.Color = new Vector4(1f, 1f, 0f, 0.8f);
// dp1 为 初次打完后方后,调整面向为正向
dp1.Owner = @event.SourceId(); dp1.Owner = @event.SourceId();
dp1.Scale = new Vector2(60); dp1.Scale = new Vector2(60);
dp1.Radian = 90f.DegToRad(); dp1.Radian = 90f.DegToRad();
@@ -157,45 +163,45 @@ public class Ttokrrone
switch (@event.ActionId()) //因可能连续回旋,所以在新的读条应销毁上一次绘制 switch (@event.ActionId()) //因可能连续回旋,所以在新的读条应销毁上一次绘制
{ {
case 37317: // 前方 顺时针 case 37317: // 前方 顺时针
dp.Name = "FR"; dp.Name = "R";
dp.Rotation = 270f.DegToRad(); dp.Rotation = 270f.DegToRad();
dp.DestoryAt = 22700; dp.DestoryAt = 22700;
accessory.Method.RemoveDraw($"后方回旋沙暴\\w*"); accessory.Method.RemoveDraw($"后方回旋沙暴\\w*");
accessory.Method.RemoveDraw($"前方回旋沙暴FL"); accessory.Method.RemoveDraw($"前方回旋沙暴L");
break; break;
case 37321: // 前方 逆时针 case 37321: // 前方 逆时针
dp.Name = "前方回旋沙暴FL"; dp.Name = "前方回旋沙暴L";
dp.Rotation = 90f.DegToRad(); dp.Rotation = 90f.DegToRad();
dp.DestoryAt = 22700; dp.DestoryAt = 22700;
accessory.Method.RemoveDraw($"后方回旋沙暴\\w*"); accessory.Method.RemoveDraw($"后方回旋沙暴\\w*");
accessory.Method.RemoveDraw($"前方回旋沙暴FR"); accessory.Method.RemoveDraw($"前方回旋沙暴R");
break; break;
case 37318: // 后方 顺时针 case 37318: // 后方 顺时针
dp.Name = "后方回旋沙暴BR1"; dp.Name = "后方回旋沙暴R";
dp.Rotation = 90f.DegToRad(); dp.Rotation = 90f.DegToRad();
dp.DestoryAt = 7600; dp.DestoryAt = 7600;
dp1.Name = "后方回旋沙暴BR2"; dp1.Name = "后方回旋沙暴RAdjust"; // 调整面向
dp1.Rotation = 270f.DegToRad(); dp1.Rotation = 270f.DegToRad();
dp1.Delay = 7600; dp1.Delay = 7600;
dp1.DestoryAt = 15100; dp1.DestoryAt = 15100;
accessory.Method.RemoveDraw($"前方回旋沙暴F(L|R)?"); accessory.Method.RemoveDraw($"前方回旋沙暴\\w?");
accessory.Method.RemoveDraw($"后方回旋沙暴B(L\\d?)?"); accessory.Method.RemoveDraw($"后方回旋沙暴\\L?Adjust");
break; break;
case 37322: // 后方 逆时针 case 37322: // 后方 逆时针
dp.Name = "后方回旋沙暴BL1"; dp.Name = "后方回旋沙暴L";
dp.Rotation = 270f.DegToRad(); dp.Rotation = 270f.DegToRad();
dp.DestoryAt = 7600; dp.DestoryAt = 7600;
dp1.Name = "后方回旋沙暴BL2"; dp1.Name = "后方回旋沙暴LAdjust"; // 调整面向
dp1.Rotation = 90f.DegToRad(); dp1.Rotation = 90f.DegToRad();
dp1.Delay = 7600; dp1.Delay = 7600;
dp1.DestoryAt = 15100; dp1.DestoryAt = 15100;
accessory.Method.RemoveDraw($"前方回旋沙暴F(L|R)?"); accessory.Method.RemoveDraw($"前方回旋沙暴\\w?");
accessory.Method.RemoveDraw($"后方回旋沙暴B(R\\d?)?"); accessory.Method.RemoveDraw($"后方回旋沙暴\\R?Adjust");
break; break;
} }
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp);
@@ -217,7 +223,7 @@ public class Ttokrrone
var dp = accessory.Data.GetDefaultDrawProperties(); var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "砂砾预兆"; dp.Name = "砂砾预兆";
dp.Color = new Vector4(1f, 0f, 0f, 1.4f); dp.Color = new Vector4(1f, 1f, 0f, 1.4f);
dp.Owner = @event.SourceId(); dp.Owner = @event.SourceId();
dp.Scale = new Vector2(13f); dp.Scale = new Vector2(13f);
dp.DestoryAt = 6900; dp.DestoryAt = 6900;
@@ -232,75 +238,74 @@ public class Ttokrrone
dp1.DestoryAt = 9100; dp1.DestoryAt = 9100;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp1); accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp1);
} }
#endregion
#region
[ScriptMethod(name: "飞沙(钢铁月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^3733[1-4]$"])] [ScriptMethod(name: "飞沙(钢铁月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^3733[1-4]$"])]
public void 飞沙(Event @event, ScriptAccessory accessory) public void 飞沙(Event @event, ScriptAccessory accessory)
{ {
// 37331 钢铁 37332 月环 37333 左半钢铁 + 右半月环 37334 左半月环 + 右半钢铁 // 37331 钢铁 37332 月环 37333 左半钢铁 + 右半月环 37334 左半月环 + 右半钢铁
var dp = accessory.Data.GetDefaultDrawProperties(); var dp = accessory.Data.GetDefaultDrawProperties();
var dp1 = accessory.Data.GetDefaultDrawProperties();
//dp 为钢铁参数
dp.Owner = @event.SourceId(); dp.Owner = @event.SourceId();
dp.Scale = new Vector2(19f);
dp.DestoryAt = 7800; dp.DestoryAt = 7800;
//dp1 为月环参数
dp1.Owner = @event.SourceId();
dp1.Scale = new Vector2(60);
dp1.InnerScale = new Vector2(14);
dp1.Radian = 180f.DegToRad();
dp1.DestoryAt = 7000;
switch (@event.ActionId()) switch (@event.ActionId())
{ {
case 37331: // 钢铁 case 37331: // 钢铁
dp.Name = ""; dp.Name = "";
dp.Color = new Vector4(1f, 0f, 0f, 1.4f); dp.Color = new Vector4(1f, 0f, 0f, 1.4f);
dp.Scale = new Vector2(19f);
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
break; break;
case 37332: // 月环 case 37332: // 月环
dp.Name = "飞沙月环"; dp1.Name = "飞沙月环";
dp.Color = new Vector4(1f, 0f, 1f, 1.2f); dp1.Color = new Vector4(1f, 0f, 1f, 1.2f);
dp.Scale = new Vector2(60f); dp1.Scale = new Vector2(60f);
dp.InnerScale = new Vector2(14f); dp1.InnerScale = new Vector2(14f);
dp.Radian = float.Pi * 2; dp1.Radian = float.Pi * 2;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1);
break; break;
case 37333: // 左半钢铁 + 右半月环 case 37333: // 左半钢铁 + 右半月环
dp.Name = "飞沙左半钢铁"; dp.Name = "飞沙左半钢铁";
dp.Color = new Vector4(1f, 0f, 0f, 1.5f); dp.Color = new Vector4(1f, 0f, 0f, 1.5f);
dp.Scale = new Vector2(19);
dp.Radian = 180f.DegToRad(); dp.Radian = 180f.DegToRad();
dp.Rotation = 90f.DegToRad(); dp.Rotation = 90f.DegToRad();
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp);
var dp1 = accessory.Data.GetDefaultDrawProperties();
dp1.Name = "飞沙右半月环"; dp1.Name = "飞沙右半月环";
dp1.Color = new Vector4(1f, 0f, 1f, 1.4f); dp1.Color = new Vector4(1f, 0f, 1f, 1.4f);
dp1.Owner = @event.SourceId();
dp1.Scale = new Vector2(60);
dp1.InnerScale = new Vector2(14);
dp1.Radian = 180f.DegToRad();
dp1.Rotation = 270f.DegToRad(); dp1.Rotation = 270f.DegToRad();
dp1.DestoryAt = 7000;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1); accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1);
break; break;
case 37334: // 右半钢铁 + 左半月环 case 37334: // 右半钢铁 + 左半月环
dp.Name = "飞沙右半钢铁"; dp.Name = "飞沙右半钢铁";
dp.Color = new Vector4(1f, 0f, 0f, 1.5f); dp.Color = new Vector4(1f, 0f, 0f, 1.5f);
dp.Scale = new Vector2(19);
dp.Radian = 180f.DegToRad(); dp.Radian = 180f.DegToRad();
dp.Rotation = 270f.DegToRad(); dp.Rotation = 270f.DegToRad();
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp);
var dp2 = accessory.Data.GetDefaultDrawProperties(); dp1.Name = "飞沙左半月环";
dp2.Name = "飞沙左半月环"; dp1.Color = new Vector4(1f, 0f, 1f, 1.4f);
dp2.Color = new Vector4(1f, 0f, 1f, 1.4f); dp1.Rotation = 90f.DegToRad();
dp2.Owner = @event.SourceId(); accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1);
dp2.Scale = new Vector2(60);
dp2.InnerScale = new Vector2(14);
dp2.Radian = 180f.DegToRad();
dp2.Rotation = 90f.DegToRad();
dp2.DestoryAt = 7000;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp2);
break; break;
} }
} }
#endregion
[ScriptMethod(name: "沙球_大爆炸钢铁", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^3924[56]$"])] [ScriptMethod(name: "沙球_大爆炸钢铁", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^3924[56]$"])]
public void 大爆炸(Event @event, ScriptAccessory accessory) public void 大爆炸(Event @event, ScriptAccessory accessory)
@@ -317,6 +322,7 @@ public class Ttokrrone
[ScriptMethod(name: "吞地巨蛇(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^(3757[89]|3758[0-3])$"])] [ScriptMethod(name: "吞地巨蛇(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^(3757[89]|3758[0-3])$"])]
public void 吞地巨蛇(Event @event, ScriptAccessory accessory) public void 吞地巨蛇(Event @event, ScriptAccessory accessory)
{ {
#region 具体技能ID
/* /*
37578 预警113.8s宽14m22m长 37578 预警113.8s宽14m22m长
37579 预警214.8s宽14m22m长 37579 预警214.8s宽14m22m长
@@ -330,11 +336,13 @@ public class Ttokrrone
38644 施放3无读条宽68m27m长 38644 施放3无读条宽68m27m长
38646 施放4无读条宽63m27m长 38646 施放4无读条宽63m27m长
*/ */
#endregion
var dp = accessory.Data.GetDefaultDrawProperties(); var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = ""; dp.Name = "";
dp.Scale = new (27, 68f); dp.Scale = new (27, 68f);
dp.Owner = @event.SourceId(); dp.Owner = @event.SourceId();
dp.Color = new Vector4(1f, 0f, 0f, 0.8f); dp.Color = new Vector4(0f, 0f, 1f, 0.8f);
dp.DestoryAt = @event.DurationMilliseconds() + 1400; dp.DestoryAt = @event.DurationMilliseconds() + 1400;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp);
} }