更新小玩具

This commit is contained in:
南沢响也
2025-10-19 20:16:34 +08:00
parent 8bde0aa9a6
commit ec37471184

View File

@@ -32,10 +32,14 @@ public class PVPToy
PVP小玩具线
使
/
""";
#region
[UserSetting("EdgeTTS开关")]
public bool isTTS { get; set; } = true;
[UserSetting("弹窗文本提示开关")]
public bool isText { get; set; } = true;
@@ -45,8 +49,8 @@ public class PVPToy
[UserSetting("启用自动选中目标标记")]
public bool isAutoTarget { get; set; } = false;
[UserSetting("启用仅绘制敌方目标标记 [适用:龙骑冲天]" )]
public bool isDrawMark { get; set; } = false;
[UserSetting("启用仅适用敌方目标标记 [适用:龙骑冲天绘制、占星诗人LB播报]" )]
public bool isOnlyMark { get; set; } = false;
[UserSetting("启用自动诗人光阴神净化")]
public bool isAutoWarden { get; set; } = false;
@@ -131,11 +135,96 @@ public class PVPToy
}
}
[ScriptMethod(name: "对方诗人LB播报", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:29401"])]
public void FinalFantasiaTTS(Event @event, ScriptAccessory accessory)
{
// 英雄的幻想曲 ActionId:29401 英雄的幻想曲GCD缩短 30s StatusID:3144 英豪的幻想曲周边30m内 加攻击加速度LB增长持续判定每次5s StatusID:3145
if (isOnlyMark) return; // 未启用选项,播报对方全体,而非四小标记
// 检测敌对状态
var obj = IbcHelper.GetById(accessory, @event.SourceId);
if (obj == null || !obj.IsValid()) return;
if (!PartyFilter(accessory, obj))
{
if (isText) accessory.Method.TextInfo("检测到对方《诗人LB》", duration: 1300, true);
if (isTTS) accessory.Method.EdgeTTS("对方诗人LB");
}
}
[ScriptMethod(name: "对方标记诗人LB播报", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:3144"],suppress:3000)]
public void FinalFantasiaMarkTTS(Event @event, ScriptAccessory accessory)
{
if (!isOnlyMark) return; // 开启选项,只播报对方四小,采用有头顶标记的人获得 LB Buff时判断
// 检测敌对状态
var obj = IbcHelper.GetById(accessory, @event.SourceId);
if (obj == null || !obj.IsValid()) return;
if (!PartyFilter(accessory, obj))
{
// 检测目标标记
var tid = @event.TargetId();
var tobj = IbcHelper.GetById(accessory, tid);
if (tobj == null || !tobj.IsValid()) return;
if (!IbcHelper.HasAnyMarker(tobj)) return;
foreach (var mark in checkMark)
{
if (IbcHelper.HasMarker(tobj, mark))
{
if (isText) accessory.Method.TextInfo("检测到对方《诗人LB》", duration: 1300, true);
if (isTTS) accessory.Method.EdgeTTS("对方诗人LB");
}
}
}
}
[ScriptMethod(name: "对方占星LB播报", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:29255"])]
public void CelestialRiverTTS(Event @event, ScriptAccessory accessory)
{
// 星河漫天 ActionId:29255 星河漫天队友buff StatusID:3105 星河漫天敌方debuff StatusID:3106
if (isOnlyMark) return; // 未启用选项,播报对方全体,而非四小标记
var obj = IbcHelper.GetById(accessory, @event.SourceId);
if (obj == null || !obj.IsValid()) return;
if (!PartyFilter(accessory, obj))
{
if (isText) accessory.Method.TextInfo("检测到对方《占星LB》", duration: 1300, true);
if (isTTS) accessory.Method.EdgeTTS("对方占星LB");
}
}
[ScriptMethod(name: "对方标记占星LB播报", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:3105"],suppress:3000)]
public void CelestialRiverMarkTTS(Event @event, ScriptAccessory accessory)
{
if (!isOnlyMark) return; // 开启选项,只播报对方四小,采用有头顶标记的人获得 LB Buff时判断
var obj = IbcHelper.GetById(accessory, @event.SourceId);
if (obj == null || !obj.IsValid()) return;
if (!PartyFilter(accessory, obj))
{
var tid = @event.TargetId();
var tobj = IbcHelper.GetById(accessory, tid);
if (tobj == null || !tobj.IsValid()) return;
if (!IbcHelper.HasAnyMarker(tobj)) return;
foreach (var mark in checkMark)
{
if (IbcHelper.HasMarker(tobj, mark))
{
if (isText) accessory.Method.TextInfo("检测到对方《占星LB》", duration: 1300, true);
if (isTTS) accessory.Method.EdgeTTS("对方占星LB");
}
}
}
}
[ScriptMethod(name: "被蛮荒崩裂播报", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:29084"],suppress:2000)]
public void PrimalRendTargetTTS(Event @event, ScriptAccessory accessory)
{
if (@event.TargetId() != accessory.Data.Me) return;
accessory.Method.EdgeTTS("被晕了");
if (isTTS) accessory.Method.EdgeTTS("被晕了");
}
[ScriptMethod(name: "被蛮荒崩裂自动诗人净化", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:29084"])]
@@ -158,7 +247,7 @@ public class PVPToy
public void AfflatusPurgationTargetTTS(Event @event, ScriptAccessory accessory)
{
if (@event.TargetId() != accessory.Data.Me) return;
accessory.Method.EdgeTTS("被晕了");
if (isTTS) accessory.Method.EdgeTTS("被晕了");
}
[ScriptMethod(name: "被涤罪之心自动诗人净化", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:29230"])]
@@ -272,7 +361,7 @@ public class PVPToy
[ScriptMethod(name: "敌方冲天范围绘制", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:3180"])]
public void SkyShatterEnmity(Event @event, ScriptAccessory accessory)
{
if (isDrawMark) return;
if (isOnlyMark) return; // 没开启选项,绘制对方全部
var obj = IbcHelper.GetById(accessory, @event.SourceId);
if (obj == null || !obj.IsValid()) return;
@@ -299,7 +388,7 @@ public class PVPToy
[ScriptMethod(name: "敌方标记冲天范围绘制", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:3180"])]
public void SkyShatterMark(Event @event, ScriptAccessory accessory)
{
if (!isDrawMark) return;
if (!isOnlyMark) return; // 开启选项,只绘制对方四小
var obj = IbcHelper.GetById(accessory, @event.SourceId);
if (obj == null || !obj.IsValid()) return;
@@ -554,7 +643,7 @@ public class PVPToy
if (@event.TargetId() != accessory.Data.Me) return;
if (isText)accessory.Method.TextInfo("被保护", duration: 7300, false);
accessory.Method.EdgeTTS("被保护");
if (isTTS) accessory.Method.EdgeTTS("被保护");
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = $"被保护连线{@event.SourceId()}";
@@ -622,7 +711,7 @@ public class PVPToy
[ScriptMethod(name: "三角标记播报", eventType: EventTypeEnum.Marker, eventCondition: ["Operate:Add", "Id:14"])]
public void TriangleMark(Event @event, ScriptAccessory accessory)
{
if(isTargetBroadcast) accessory.Method.EdgeTTS("三角已标记");
if(isTargetBroadcast && isTTS) accessory.Method.EdgeTTS("三角已标记");
if(isTargetBroadcast) accessory.Method.SendChat($"/e 三角已标记<<targetclass>> 》 <<t>>");
}
@@ -644,7 +733,7 @@ public class PVPToy
[ScriptMethod(name: "十字标记播报", eventType: EventTypeEnum.Marker, eventCondition: ["Operate:Add", "Id:13"])]
public void CrossMark(Event @event, ScriptAccessory accessory)
{
if(isTargetBroadcast) accessory.Method.EdgeTTS("十字已标记");
if(isTargetBroadcast && isTTS) accessory.Method.EdgeTTS("十字已标记");
if(isTargetBroadcast) accessory.Method.SendChat($"/e 十字已标记<<targetclass>> 》 <<t>>");
}
@@ -666,7 +755,7 @@ public class PVPToy
[ScriptMethod(name: "方块标记播报", eventType: EventTypeEnum.Marker, eventCondition: ["Operate:Add", "Id:11"])]
public void SquareMark(Event @event, ScriptAccessory accessory)
{
if(isTargetBroadcast) accessory.Method.EdgeTTS("方块已标记");
if(isTargetBroadcast && isTTS) accessory.Method.EdgeTTS("方块已标记");
if(isTargetBroadcast) accessory.Method.SendChat($"/e 方块已标记<<targetclass>> 》 <<t>>");
}
@@ -688,7 +777,7 @@ public class PVPToy
[ScriptMethod(name: "攻击1标记播报", eventType: EventTypeEnum.Marker, eventCondition: ["Operate:Add", "Id:01"])]
public void Attack1Mark(Event @event, ScriptAccessory accessory)
{
if(isTargetBroadcast) accessory.Method.EdgeTTS("攻击1已标记");
if(isTargetBroadcast && isTTS) accessory.Method.EdgeTTS("攻击1已标记");
if(isTargetBroadcast) accessory.Method.SendChat($"/e 攻击1已标记<<targetclass>> 》 <<t>>");
}
@@ -750,7 +839,7 @@ public class PVPToy
}
#endregion
#region
#region
[ScriptMethod(name: "—————— 底裤功能 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])]
public void (Event @event, ScriptAccessory accessory) { }
@@ -762,32 +851,32 @@ public class PVPToy
if (SkySpeed == SkySpeedEnum.Default)
{
if(isHack) accessory.Method.SendChat($"/pdrspeed -1");
if(isHack && isDeveloper) accessory.Method.SendChat($"/e 移速已恢复为默认值");
if(isHack && isDeveloper) accessory.Method.SendChat($"/e 冲天移速已恢复为默认值");
}
else if (SkySpeed == SkySpeedEnum.AddPoint1)
{
if(isHack) accessory.Method.SendChat($"/pdrspeed 1.1");
if(isHack && isDeveloper) accessory.Method.SendChat($"/e 移速已设置为1.1");
if(isHack && isDeveloper) accessory.Method.SendChat($"/e 冲天移速已设置为1.1");
}
else if (SkySpeed == SkySpeedEnum.AddPoint2)
{
if(isHack) accessory.Method.SendChat($"/pdrspeed 1.2");
if(isHack && isDeveloper) accessory.Method.SendChat($"/e 移速已设置为1.2");
if(isHack && isDeveloper) accessory.Method.SendChat($"/e 冲天移速已设置为1.2");
}
else if (SkySpeed == SkySpeedEnum.AddPoint3)
{
if(isHack) accessory.Method.SendChat($"/pdrspeed 1.3");
if(isHack && isDeveloper) accessory.Method.SendChat($"/e 移速已设置为1.3");
if(isHack && isDeveloper) accessory.Method.SendChat($"/e 冲天移速已设置为1.3");
}
else if (SkySpeed == SkySpeedEnum.AddPoint4)
{
if(isHack) accessory.Method.SendChat($"/pdrspeed 1.4");
if(isHack && isDeveloper) accessory.Method.SendChat($"/e 移速已设置为1.4");
if(isHack && isDeveloper) accessory.Method.SendChat($"/e 冲天移速已设置为1.4");
}
else if (SkySpeed == SkySpeedEnum.AddPoint5)
{
if(isHack) accessory.Method.SendChat($"/pdrspeed 1.5");
if(isHack && isDeveloper) accessory.Method.SendChat($"/e 移速已设置为1.5");
if(isHack && isDeveloper) accessory.Method.SendChat($"/e 冲天移速已设置为1.5");
}
}
@@ -800,12 +889,12 @@ public class PVPToy
if (RemoveSpeed == RemoveSpeedEnum.Default)
{
if(isHack) accessory.Method.SendChat($"/pdrspeed -1");
if(isHack && isDeveloper) accessory.Method.SendChat($"/e 移速已恢复为默认值");
if(isHack && isDeveloper) accessory.Method.SendChat($"/e 冲天移速已恢复为默认值");
}
else if (RemoveSpeed == RemoveSpeedEnum.Speed1)
{
if(isHack) accessory.Method.SendChat($"/pdrspeed 1");
if(isHack && isDeveloper) accessory.Method.SendChat($"/e 移速已恢复为1");
if(isHack && isDeveloper) accessory.Method.SendChat($"/e 冲天移速已恢复为1");
}
}