修改死宫190特大爆炸等待逻辑

This commit is contained in:
南沢响也
2025-10-25 01:14:23 +08:00
parent 79bb3a329d
commit 1b3c734b94
2 changed files with 15 additions and 88 deletions

View File

@@ -17,13 +17,13 @@ namespace the_Palace_of_the_Dead;
[ScriptType(guid: "4210c323-eba4-4d67-a7e7-b90799494729", name: "死者宫殿", author: "Tetora", [ScriptType(guid: "4210c323-eba4-4d67-a7e7-b90799494729", name: "死者宫殿", author: "Tetora",
territorys: [561,562,563,564,565,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607], territorys: [561,562,563,564,565,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607],
version: "0.0.0.9",note: noteStr)] version: "0.0.1.0",note: noteStr)]
public class the_Palace_of_the_Dead public class the_Palace_of_the_Dead
{ {
const string noteStr = const string noteStr =
""" """
v0.0.0.9: v0.0.1.0:
殿 殿
线 线
ARR反馈 ARR反馈
@@ -154,8 +154,6 @@ public class the_Palace_of_the_Dead
} }
private bool isExplosionInterrupted = false; // 190层 特大爆炸打断状态
[ScriptMethod(name: "死亡重置", eventType: EventTypeEnum.Death, eventCondition: ["TargetDataId:0"], userControl: false)] [ScriptMethod(name: "死亡重置", eventType: EventTypeEnum.Death, eventCondition: ["TargetDataId:0"], userControl: false)]
public void (Event @event, ScriptAccessory accessory) public void (Event @event, ScriptAccessory accessory)
{ {
@@ -952,79 +950,6 @@ public class the_Palace_of_the_Dead
} }
/* // 废案
[ScriptMethod(name: "190 熔岩爆弹怪 出现位置预测", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:6385"])]
public void 熔岩爆弹怪_震撼弹预测_通过治疗爆弹怪(Event @event, ScriptAccessory accessory)
{
//在治疗爆弹怪 刷新约54s后 出现熔岩爆弹怪 期间BOSS会读条3次 [7169]地面爆破 第3次与第2次间隔较长应在第3次黄圈读条时准备将BOSS拉去刷新位置
//暂未知 治疗爆弹怪死亡时间 与BOSS黄圈技能时间轴是否有关联
//在刷新45s时 大约会读条第3次黄圈该出现预兆时分别为 4n 次读条),故应 Delay = 45000DestoryAt = 9000
if(isDeveloper) accessory.Method.SendChat($"/e 调试信息:已捕获 治疗爆弹怪生成{timesRemedyBomb}次开始45秒后绘制倒计时");
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "熔岩爆弹怪_震撼弹预测";
dp.Color = new Vector4(0f, 0f, 1f, 1.5f);
dp.Scale = new Vector2(7.2f);
dp.Delay = 45000;
dp.DestoryAt = 9000;
// 根据 治疗爆弹怪 出现次数 决定 熔岩爆弹怪 生成位置
switch(timesRemedyBomb) {
case 1: {
dp.Position = new Vector3(-288.63f, 0.14f,-300.26f);
if(isDeveloper) accessory.Method.SendChat($"/e 调试信息 timeRemedyBomb={timesRemedyBomb}");
break;
}
case 2:{
dp.Position = new Vector3(-297.46f, 0.12f,-297.52f);
if(isDeveloper) accessory.Method.SendChat($"/e 调试信息 timeRemedyBomb={timesRemedyBomb}");
break;
}
case 3:{
dp.Position = new Vector3(-288.84f, 0.12f,-305.54f);
if(isDeveloper) accessory.Method.SendChat($"/e 调试信息 timeRemedyBomb={timesRemedyBomb}");
break;
}
case 4:{
dp.Position = new Vector3(-309.13f, 0.05f,-303.74f);
if(isDeveloper) accessory.Method.SendChat($"/e 调试信息 timeRemedyBomb={timesRemedyBomb}");
break;
}
case 5:{
dp.Position = new Vector3(-298.36f, 0.05f,-293.63f);
if(isDeveloper) accessory.Method.SendChat($"/e 调试信息 timeRemedyBomb={timesRemedyBomb}");
break;
}
case 6:{
dp.Position = new Vector3(-301.96f, 0.05f,-314.29f);
if(isDeveloper) accessory.Method.SendChat($"/e 调试信息 timeRemedyBomb={timesRemedyBomb}");
break;
}
case 7:{
dp.Position = new Vector3(-299.12f, 0.05f,-297.56f);
if(isDeveloper) accessory.Method.SendChat($"/e 调试信息 timeRemedyBomb={timesRemedyBomb}");
break;
}
default: {
if(isDeveloper) accessory.Method.SendChat($"/e 调试信息 timeRemedyBomb={timesRemedyBomb}");
break;
}
}
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
*/
[ScriptMethod(name: "熔岩爆弹怪 震撼弹预测销毁", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:6386"], userControl: false)] [ScriptMethod(name: "熔岩爆弹怪 震撼弹预测销毁", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:6386"], userControl: false)]
public void _震撼弹预测销毁(Event @event, ScriptAccessory accessory) public void _震撼弹预测销毁(Event @event, ScriptAccessory accessory)
{ {
@@ -1054,28 +979,30 @@ public class the_Palace_of_the_Dead
} }
private CancellationTokenSource? _explosionCts;
[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)
{ {
isExplosionInterrupted = false; _explosionCts?.Cancel();
_explosionCts = new CancellationTokenSource();
await Task.Delay(15800); try
if (!isExplosionInterrupted)
{ {
await Task.Delay(15800, _explosionCts.Token);
if(isText) accessory.Method.TextInfo("99.9%真伤,注意瞬回", duration: 8500, true); if(isText) accessory.Method.TextInfo("99.9%真伤,注意瞬回", duration: 8500, true);
if(isTTS) accessory.Method.TTS("99.9%真伤,注意瞬回"); if(isTTS) accessory.Method.TTS("99.9%真伤,注意瞬回");
if(isEdgeTTS) accessory.Method.EdgeTTS("99.9%真伤,注意瞬回"); if(isEdgeTTS) accessory.Method.EdgeTTS("99.9%真伤,注意瞬回");
} }
catch (TaskCanceledException) { }
} }
[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)
{ {
isExplosionInterrupted = true; _explosionCts?.Cancel();
} }
#endregion #endregion
#region 191~200 #region 191~200

View File

@@ -667,12 +667,12 @@
{ {
"Name": "死者宫殿", "Name": "死者宫殿",
"Guid": "4210c323-eba4-4d67-a7e7-b90799494729", "Guid": "4210c323-eba4-4d67-a7e7-b90799494729",
"Version": "0.0.0.9", "Version": "0.0.1.0",
"Author": "Tetora", "Author": "Tetora",
"Repo": "https://github.com/Hibiya615/TetoraKAScript", "Repo": "https://github.com/Hibiya615/TetoraKAScript",
"DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/Deep_Dungeon/the_Palace_of_the_Dead.cs", "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/Deep_Dungeon/the_Palace_of_the_Dead.cs",
"Note": "v0.0.0.9:\n死者宫殿 初版绘制", "Note": "v0.0.1.0:\n死者宫殿 初版绘制",
"UpdateInfo": "v0.0.0.9 新增调用IC实行变身时自动遁地", "UpdateInfo": "v0.0.1.0 修改190特大爆炸等待逻辑",
"TerritoryIds": [ "TerritoryIds": [
561, 561,
562, 562,