修改特大爆炸逻辑

This commit is contained in:
南沢响也
2025-10-25 01:32:31 +08:00
parent 1b3c734b94
commit 77648d4229

View File

@@ -979,30 +979,29 @@ public class the_Palace_of_the_Dead
} }
private CancellationTokenSource? _explosionCts; private Guid _currentExplosionOperationId = Guid.Empty;
[ScriptMethod(name: "190 爆弹怪教父 特大爆炸提示", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:7103"])] [ScriptMethod(name: "190 爆弹怪教父 特大爆炸提示", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:7103"])]
public async void _特大爆炸提示(Event @event, ScriptAccessory accessory) public async void _特大爆炸提示(Event @event, ScriptAccessory accessory)
{ {
_explosionCts?.Cancel(); var operationId = Guid.NewGuid();
_explosionCts = new CancellationTokenSource(); _currentExplosionOperationId = operationId;
try await Task.Delay(15800);
{
await Task.Delay(15800, _explosionCts.Token);
if(isText) accessory.Method.TextInfo("99.9%真伤,注意瞬回", duration: 8500, true); if (_currentExplosionOperationId != operationId) return;
if(isTTS) accessory.Method.TTS("99.9%真伤,注意瞬回");
if(isEdgeTTS) accessory.Method.EdgeTTS("99.9%真伤,注意瞬回"); if(isText) accessory.Method.TextInfo("99.9%真伤,注意瞬回", duration: 8500, true);
} if(isTTS) accessory.Method.TTS("99.9%真伤,注意瞬回");
catch (TaskCanceledException) { } if(isEdgeTTS) accessory.Method.EdgeTTS("99.9%真伤,注意瞬回");
} }
[ScriptMethod(name: "特大爆炸打断销毁", eventType: EventTypeEnum.CancelAction, eventCondition: ["ActionId:7103"], userControl: false)] [ScriptMethod(name: "特大爆炸打断销毁", eventType: EventTypeEnum.CancelAction, eventCondition: ["ActionId:7103"], userControl: false)]
public void (Event @event, ScriptAccessory accessory) public void (Event @event, ScriptAccessory accessory)
{ {
_explosionCts?.Cancel(); _currentExplosionOperationId = Guid.NewGuid();
} }
#endregion #endregion
#region 191~200 #region 191~200