From e7c80da1eafa767fa64505dcbc0ad7018bc40a6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=97=E6=B2=A2=E5=93=8D=E4=B9=9F?= <72963826+Hibiya615@users.noreply.github.com> Date: Tue, 12 Aug 2025 02:46:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=83=A8=E5=88=86=E6=AD=BB?= =?UTF-8?q?=E5=AE=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Deep_Dungeon/the_Palace_of_the_Dead.cs | 454 +++++++++++++++++++------ 1 file changed, 341 insertions(+), 113 deletions(-) diff --git a/Deep_Dungeon/the_Palace_of_the_Dead.cs b/Deep_Dungeon/the_Palace_of_the_Dead.cs index e6f1606..d088bbc 100644 --- a/Deep_Dungeon/the_Palace_of_the_Dead.cs +++ b/Deep_Dungeon/the_Palace_of_the_Dead.cs @@ -22,21 +22,67 @@ namespace the_Palace_of_the_Dead; [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], - version: "0.0.0.31",note: noteStr)] + version: "0.0.0.4",note: noteStr)] public class the_Palace_of_the_Dead { const string noteStr = """ - v0.0.0.31: + v0.0.0.4: 死者宫殿绘制 注:方法设置中的层数仅做分割线效果,并不是批量开关 - 重要:1~80层暂无录像证实,可能会有部分绘制错误,如发现错误请带着ARR联系我 + 重要:可能存在绘制重复或范围错误,请携带ARR反馈! 严重错误:暂未支持【形态变化】【眩晕】【催眠】等限制,有需可以考虑使用Splatoon """; - //眩晕、催眠、无法发动技能1113等状态都需要销毁绘图 + // 眩晕、催眠、无法发动技能(形态变化)等状态都需要销毁绘图 + // 已二次验证:1~100 141~170 + // 70 BOSS 会同时满足 170 BOSS 或天气的条件 导致触发重复 需要额外判断sid , 170 BOSS 的伤害提高 也与强化自身 冲突 需额外判断sid + // 1~99层 与 101~199层 大量怪物技能ID重复,需要额外判断sid + #region 各种记录 + + /* StatusID + * 变身 565 [StackCount:42 曼提克 ] [StackCount:43 梦魔 ] + * 诅咒 1087 (拟态怪 - 怨念) + * 失明 1088 + * 最大体力减少 1089 + * 伤害降低 1090 + * 加速 1091 + * 能力封印 1092 + * 最大体力魔力提升 1093 + * 禁止使用道具 1094 + * 禁止冲刺 1095 + * 击退无效 1096 + * 禁止体力自然恢复 1097 + * 无法发动技能 1113 (形态变化) + */ + + #endregion + + #region 基础控制 + + [UserSetting("TTS开关(TTS请二选一开启)")] + public bool isTTS { get; set; } = false; + + [UserSetting("EdgeTTS开关(TTS请二选一开启)")] + public bool isEdgeTTS { get; set; } = true; + + [UserSetting("弹窗文本提示开关")] + public bool isText { get; set; } = true; + + [UserSetting("测试性功能(慎用)")] + public bool isTest { get; set; } = false; + + [UserSetting("启用底裤(需要对应插件与权限)")] + public bool isHack { get; set; } = false; + + [UserSetting("开发者模式")] + public bool isDeveloper { get; set; } = false; + + #endregion + + #region 全局变量 [ScriptMethod(name: "伤头&插言 打断销毁", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:regex:^75(38|51)$"], userControl: false)] public void 打断销毁(Event @event, ScriptAccessory accessory) @@ -45,6 +91,12 @@ public class the_Palace_of_the_Dead accessory.Method.RemoveDraw($"深宫浮灵_强麻痹{@event.SourceId()}"); } + [ScriptMethod(name: "防击退销毁", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:regex:^(7548|7559)$"],userControl: false)] + public void 防击退销毁(Event @event, ScriptAccessory accessory) + { + if ( @event.TargetId() != accessory.Data.Me) return; + accessory.Method.RemoveDraw(".*(击退|吸蚀).*"); + } public bool KnockPenalty = false; @@ -70,38 +122,51 @@ public class the_Palace_of_the_Dead private bool isExplosionInterrupted = false; // 190层 特大爆炸打断状态 + #endregion + // 通用内容 [ScriptMethod(name: "拟态怪_怨念提示", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:6397"])] public void 拟态怪_怨念(Event @event, ScriptAccessory accessory) { - accessory.Method.TextInfo("打断拟态怪", duration: 2700, true); - accessory.Method.TTS("打断拟态怪"); + if (isText) accessory.Method.TextInfo("打断拟态怪", duration: 2300, true); + if (isTTS) accessory.Method.TTS("打断拟态怪"); + if (isEdgeTTS)accessory.Method.EdgeTTS("打断拟态怪"); } - #region 1~10层 - // 1~10层 + #region 1~10层 没有东西可以画 [ScriptMethod(name: "—————— 1 ~ 10 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])] public void 第1层(Event @event, ScriptAccessory accessory) { } #endregion - #region 11~20层 - // 11~20层 + #region 11~20层 没有东西可以画 [ScriptMethod(name: "—————— 11 ~ 20 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])] public void 第11层(Event @event, ScriptAccessory accessory) { } #endregion #region 21~30层 - // 21~30层 [ScriptMethod(name: "—————— 21 ~ 30 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])] public void 第21层(Event @event, ScriptAccessory accessory) { } + [ScriptMethod(name: "地宫弥诺陶洛斯 百一十吨回转(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:6364", "SourceDataId:5802"])] + public void 地宫弥诺陶洛斯_百一十吨回转(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"地宫弥诺陶洛斯_百一十吨回转{@event.SourceId()}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(10.8f); // 表格8m + 目标圈 2.8m + dp.DestoryAt = 4200; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + + [ScriptMethod(name: "地宫斯卡尼特 唧唧咋咋(睡眠钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:6365"])] public void 斯卡尼特_唧唧咋咋(Event @event, ScriptAccessory accessory) { //121~129 深宫斯卡尼特 同技能ID var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = "斯卡尼特_唧唧咋咋"; - dp.Color = new Vector4(1f, 0f, 1f, 0.4f); + dp.Name = $"斯卡尼特_唧唧咋咋{@event.SourceId()}"; + dp.Color = new Vector4(1f, 0f, 1f, 0.2f); dp.Owner = @event.SourceId(); dp.Scale = new Vector2(21.6f); dp.DestoryAt = 2200; @@ -112,11 +177,15 @@ public class the_Palace_of_the_Dead [ScriptMethod(name: "30 宁吉兹济达 恐惧迷雾(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:6429"])] public void 宁吉兹济达_恐惧迷雾(Event @event, ScriptAccessory accessory) { + if (isText)accessory.Method.TextInfo("靠近场中BOSS", duration: 5000, true); + if (isTTS)accessory.Method.TTS("靠近场中BOSS"); + if (isEdgeTTS)accessory.Method.EdgeTTS("靠近场中BOSS"); + var dp = accessory.Data.GetDefaultDrawProperties(); dp.Name = "宁吉兹济达_恐惧迷雾"; dp.Color = accessory.Data.DefaultDangerColor; dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(54f); + dp.Scale = new Vector2(58.8f); dp.InnerScale = new Vector2(4.8f); dp.Radian = float.Pi * 2; dp.DestoryAt = 5700; @@ -125,44 +194,131 @@ public class the_Palace_of_the_Dead #endregion #region 31~40层 - // 31~40层 [ScriptMethod(name: "—————— 31 ~ 40 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])] public void 第31层(Event @event, ScriptAccessory accessory) { } - // 注:此处的噩梦曼提克 撕裂利爪 的技能ID 同 141~149 深宫曼提克 撕裂利爪 ; 均为 5m + 目标圈 ,暂未核实目标圈是否相同 + + [ScriptMethod(name: "噩梦鬼鱼 吸蚀(吸引)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:6372", "SourceDataId:5811"])] + public void 噩梦鬼鱼_吸蚀(Event @event, ScriptAccessory accessory) + { + if(!KnockPenalty) { + if(isTTS) accessory.Method.TTS("吸引"); + if(isEdgeTTS) accessory.Method.EdgeTTS("吸引"); + } + else { } + /* + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"噩梦鬼鱼_吸蚀{@event.SourceId()}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(8f); // 噩梦鬼鱼暂不知道会不会释放钢铁,忽略钢铁绘制 + dp.DestoryAt = 2200; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + */ + } #endregion #region 41~50层 - // 41~50层 [ScriptMethod(name: "—————— 41 ~ 50 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])] public void 第41层(Event @event, ScriptAccessory accessory) { } + + [ScriptMethod(name: "噩梦曼提克 撕裂利爪(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:6394", "SourceDataId:5827"])] + public void 噩梦曼提克_撕裂利爪(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"噩梦曼提克_撕裂利爪{@event.SourceId()}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(7.2f); // 表格 5m + 目标圈 2.2m + dp.Radian = 120f.DegToRad(); + dp.DestoryAt = 1900; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); + } + #endregion #region 51~60层 - // 51~60层 [ScriptMethod(name: "—————— 51 ~ 60 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])] public void 第51层(Event @event, ScriptAccessory accessory) { } + + // 不确定这边的 地宫小魔精 (SourceDataId:6180) 是否会使用 冰棘屏障 (ActionId:6943) + + [ScriptMethod(name: "60 深黑骑士 残杀(击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:7089"])] + public void 深黑骑士_残杀(Event @event, ScriptAccessory accessory) + { + if (isText)accessory.Method.TextInfo("击退到安全区", duration: 3300, true); + if (isTTS)accessory.Method.TTS("击退到安全区"); + if (isEdgeTTS)accessory.Method.EdgeTTS("击退到安全区"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = "深黑骑士_残杀击退"; + dp.Scale = new(1.6f, 25f); + dp.Color = new Vector4(0f, 1f, 1f, 3f); + dp.Owner = accessory.Data.Me; + dp.TargetObject = @event.SourceId(); + dp.Rotation = float.Pi; + dp.DestoryAt = 3400; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Displacement, dp); + } + + [ScriptMethod(name: "60 妖异之影 怨念 钢铁提前显示", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:6374"])] + public void 妖异之影_怨念(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = "妖异之影_怨念"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(7f); // 需要加1m的目标圈 + dp.DestoryAt = 5500; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + #endregion #region 61~70层 - // 61~70层 [ScriptMethod(name: "—————— 61 ~ 70 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])] public void 第61层(Event @event, ScriptAccessory accessory) { } + + // 不确定这边的 地宫笠头螈 (SourceDataId:6190) 是否会使用 粘膜 (ActionId:7014) + + /* + [ScriptMethod(name: "70 水虎龙亚夸虏 浸泡 提示", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:226"])] + public void 水虎龙亚夸虏_浸泡(Event @event, ScriptAccessory accessory) + { + // 与 170层 虹蛇 (SourceDataId:6174) 相同,都会附加 加速 buff 【甚至天气都会!】 + if (isText)accessory.Method.TextInfo("将BOSS拉出水圈至buff消失", duration: 3000, true); + if (isTTS)accessory.Method.TTS("将BOSS拉出水圈至buff消失"); + if (isEdgeTTS)accessory.Method.EdgeTTS("将BOSS拉出水圈至buff消失"); + } + */ + #endregion #region 71~80层 - // 71~80层 [ScriptMethod(name: "—————— 71 ~ 80 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])] public void 第71层(Event @event, ScriptAccessory accessory) { } - // 地宫独眼巨人 百吨回转(钢铁)同 171~179层的 深宫独眼雪巨人 百吨回转(钢铁),猜测目标圈为 4m 暂未实证。 + + [ScriptMethod(name: "地宫独眼巨人 百吨回转(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:6971", "SourceDataId:6203"])] + public void 地宫独眼巨人_百吨回转(Event @event, ScriptAccessory accessory) + { + // 技能ID同 171~179层的 深宫独眼雪巨人 百吨回转(钢铁) + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"地宫独眼巨人_百吨回转{@event.SourceId()}"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(10.8f); // 表格8m + 目标圈2.8m + dp.DestoryAt = 4700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + - [ScriptMethod(name: "地宫独眼巨人 眼魔之眼(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:6972"])] + [ScriptMethod(name: "地宫独眼巨人 眼魔之眼(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:6972", "SourceDataId:6203"])] public void 地宫独眼巨人_眼魔之眼(Event @event, ScriptAccessory accessory) { var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = "地宫独眼巨人_眼魔之眼"; + dp.Name = $"地宫独眼巨人_眼魔之眼{@event.SourceId()}"; dp.Color = accessory.Data.DefaultDangerColor; dp.Owner = @event.SourceId(); dp.Scale = new Vector2(15f); @@ -172,45 +328,33 @@ public class the_Palace_of_the_Dead accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); } - /* 没有龙卷风的 DataID // 80 BOSS 古丹纳 - [ScriptMethod(name: "80 古丹纳 吸引(钢铁)", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:???"])] - public void 古丹纳_吸引(Event @event, ScriptAccessory accessory) - { - var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = $"古丹纳_吸引{@event.SourceId()}"; - dp.Color = accessory.Data.DefaultDangerColor; - dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(10f); - dp.DestoryAt = 44000; - accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); - } - */ + [ScriptMethod(name: "80 古丹纳 吸引(此选项无意义)【与180层共用】", eventType: EventTypeEnum.StartCasting, eventCondition: ["DataId:01"])] + public void 古丹纳_吸引(Event @event, ScriptAccessory accessory) { } #endregion #region 81~90层 - // 81~90层 小怪 [ScriptMethod(name: "—————— 81 ~ 90 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])] public void 第81层(Event @event, ScriptAccessory accessory) { } - [ScriptMethod(name: "地宫奇美拉 寒冰咆哮(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:7078","SourceName:地宫奇美拉"])] + [ScriptMethod(name: "地宫奇美拉 寒冰咆哮(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:7078","SourceDataId:6220"])] public void 地宫奇美拉_寒冰咆哮(Event @event, ScriptAccessory accessory) { var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = "地宫奇美拉_寒冰咆哮"; + dp.Name = $"地宫奇美拉_寒冰咆哮{@event.SourceId()}"; dp.Color = accessory.Data.DefaultDangerColor; dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(9.7f); + dp.Scale = new Vector2(9.7f); // 表格 6m + 目标圈 3.7m dp.DestoryAt = 2700; accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); } - [ScriptMethod(name: "地宫奇美拉 雷电咆哮(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:7079","SourceName:地宫奇美拉"])] + [ScriptMethod(name: "地宫奇美拉 雷电咆哮(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:7079","SourceDataId:6220"])] public void 地宫奇美拉_雷电咆哮(Event @event, ScriptAccessory accessory) { var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = "地宫奇美拉_雷电咆哮"; + dp.Name = $"地宫奇美拉_雷电咆哮{@event.SourceId()}"; dp.Color = accessory.Data.DefaultDangerColor; dp.Owner = @event.SourceId(); dp.Scale = new Vector2(30f); @@ -225,7 +369,7 @@ public class the_Palace_of_the_Dead public void 熔岩爆弹怪_自爆(Event @event, ScriptAccessory accessory) { var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = "熔岩爆弹怪_自爆"; + dp.Name = $"熔岩爆弹怪_自爆{@event.SourceId()}"; dp.Color = accessory.Data.DefaultDangerColor; dp.Owner = @event.SourceId(); dp.Scale = new Vector2(6.6f); @@ -236,15 +380,17 @@ public class the_Palace_of_the_Dead [ScriptMethod(name: "90 灰色爆弹怪 击杀提示", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:6376"])] public void 灰色爆弹怪_击杀提示(Event @event, ScriptAccessory accessory) { - accessory.Method.TextInfo("击杀灰色爆弹怪", duration: 5, true); - accessory.Method.TTS("击杀灰色爆弹怪"); + if(isText) accessory.Method.TextInfo("击杀灰色爆弹怪", duration: 3000, true); + if(isTTS) accessory.Method.TTS("击杀灰色爆弹怪"); + if(isEdgeTTS) accessory.Method.EdgeTTS("击杀灰色爆弹怪"); } [ScriptMethod(name: "90 眩晕爆弹怪 寒霜弹提示", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:6378"])] public void 眩晕爆弹怪_震撼弹(Event @event, ScriptAccessory accessory) { - accessory.Method.TextInfo("将眩晕爆弹怪推至BOSS脚下", duration: 5, true); - accessory.Method.TTS("将眩晕爆弹怪推至BOSS脚下"); + if(isText) accessory.Method.TextInfo("将眩晕爆弹怪推至BOSS脚下", duration: 3000, true); + if(isTTS) accessory.Method.TTS("将眩晕爆弹怪推至BOSS脚下"); + if(isEdgeTTS) accessory.Method.EdgeTTS("将眩晕爆弹怪推至BOSS脚下"); var dp = accessory.Data.GetDefaultDrawProperties(); dp.Name = "眩晕爆弹怪_寒霜弹"; @@ -262,33 +408,30 @@ public class the_Palace_of_the_Dead } #endregion - #region 91~100层 - // 91~100层 + #region 91~100层 没有东西可以画 [ScriptMethod(name: "—————— 91 ~ 100 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])] public void 第91层(Event @event, ScriptAccessory accessory) { } #endregion #region 101~110层 - // 101~110层 [ScriptMethod(name: "—————— 101 ~ 110 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])] public void 第101层(Event @event, ScriptAccessory accessory) { } #endregion #region 111~120层 - // 111~120层 [ScriptMethod(name: "—————— 111 ~ 120 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])] public void 第111层(Event @event, ScriptAccessory accessory) { } [ScriptMethod(name: "深宫蝾螈 粘膜 打断提示", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:7014"])] public void 深宫蝾螈_粘膜(Event @event, ScriptAccessory accessory) { - accessory.Method.TextInfo("打断 <深宫蝾螈>", duration: 2700, true); - accessory.Method.TTS("打断深宫蝾螈"); + if(isText) accessory.Method.TextInfo("打断 <深宫蝾螈>", duration: 2700, true); + if(isTTS) accessory.Method.TTS("打断深宫蝾螈"); } + #endregion #region 121~130层 - // 121~130层 [ScriptMethod(name: "—————— 121 ~ 130 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])] public void 第121层(Event @event, ScriptAccessory accessory) { } @@ -296,7 +439,7 @@ public class the_Palace_of_the_Dead public void 深宫弥诺陶洛斯_百一十吨回转(Event @event, ScriptAccessory accessory) { var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = "深宫弥诺陶洛斯_百一十吨回转"; + dp.Name = $"深宫弥诺陶洛斯_百一十吨回转{@event.SourceId()}"; dp.Color = accessory.Data.DefaultDangerColor; dp.Owner = @event.SourceId(); dp.Scale = new Vector2(10.8f); @@ -312,7 +455,7 @@ public class the_Palace_of_the_Dead dp.Name = "埃尔法德_恐惧迷雾"; dp.Color = accessory.Data.DefaultDangerColor; dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(54f); + dp.Scale = new Vector2(58.8f); dp.InnerScale = new Vector2(4.8f); dp.Radian = float.Pi * 2; dp.DestoryAt = 1700; @@ -322,7 +465,6 @@ public class the_Palace_of_the_Dead #endregion #region 131~140层 - // 131~140层 [ScriptMethod(name: "—————— 131 ~ 140 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])] public void 第131层(Event @event, ScriptAccessory accessory) { } @@ -330,16 +472,16 @@ public class the_Palace_of_the_Dead public void 深宫鬼鱼_吸蚀(Event @event, ScriptAccessory accessory) { if(!KnockPenalty) { - accessory.Method.TTS("吸引后钢铁"); - } - else { + if(isTTS) accessory.Method.TTS("吸引后钢铁"); + if(isEdgeTTS) accessory.Method.EdgeTTS("吸引后钢铁"); } + else { } var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = "深宫鬼鱼_吸蚀"; + dp.Name = $"深宫鬼鱼_吸蚀{@event.SourceId()}"; dp.Color = accessory.Data.DefaultDangerColor; dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(8f); + dp.Scale = new Vector2(8f); // 8m 为吸引后的钢铁范围,直接提前绘制 dp.DestoryAt = 2200; accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); } @@ -348,7 +490,7 @@ public class the_Palace_of_the_Dead public void 深宫鬼鱼_洪水(Event @event, ScriptAccessory accessory) { var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = "深宫鬼鱼_洪水"; + dp.Name = $"深宫鬼鱼_洪水{@event.SourceId()}"; dp.Color = accessory.Data.DefaultDangerColor; dp.Owner = @event.SourceId(); dp.Scale = new Vector2(8f); @@ -361,7 +503,7 @@ public class the_Palace_of_the_Dead { var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = "深宫冥鬼之眼_5级石化"; + dp.Name = $"深宫冥鬼之眼_5级石化{@event.SourceId()}"; dp.Color = new Vector4(1f, 0f, 0f, 0.8f); dp.Owner = @event.SourceId(); dp.Scale = new Vector2(7.1f); @@ -372,15 +514,15 @@ public class the_Palace_of_the_Dead #endregion #region 141~150层 - // 141~150层 小怪 [ScriptMethod(name: "—————— 141 ~ 150 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])] public void 第141层(Event @event, ScriptAccessory accessory) { } - [ScriptMethod(name: "深宫浮灵 强麻痹 打断提示", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:6386"])] + [ScriptMethod(name: "深宫浮灵 强麻痹 打断提示", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:6386", "SourceDataId:6284"])] public void 深宫浮灵_强麻痹(Event @event, ScriptAccessory accessory) { - accessory.Method.TextInfo("打断 <深宫浮灵>", duration: 4700, true); - accessory.Method.TTS("打断深宫浮灵"); + if (isText)accessory.Method.TextInfo("打断 <深宫浮灵>", duration: 4300, true); + if (isTTS)accessory.Method.TTS("打断 <深宫浮灵>"); + if (isEdgeTTS)accessory.Method.EdgeTTS("打断 <深宫浮灵>"); var dp = accessory.Data.GetDefaultDrawProperties(); dp.Name = $"深宫浮灵_强麻痹{@event.SourceId()}"; @@ -391,11 +533,12 @@ public class the_Palace_of_the_Dead accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); } - [ScriptMethod(name: "深宫假面 强麻痹 打断提示", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:6388"])] + [ScriptMethod(name: "深宫假面 强麻痹 打断提示", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:6388", "SourceDataId:6286"])] public void 深宫假面_强麻痹(Event @event, ScriptAccessory accessory) { - accessory.Method.TextInfo("打断 <深宫假面>", duration: 4700, true); - accessory.Method.TTS("打断深宫假面"); + if (isText)accessory.Method.TextInfo("打断 <深宫假面>", duration: 4300, true); + if (isTTS)accessory.Method.TTS("打断 <深宫假面>"); + if (isEdgeTTS)accessory.Method.EdgeTTS("打断 <深宫假面>"); var dp = accessory.Data.GetDefaultDrawProperties(); dp.Name = $"深宫假面_强麻痹{@event.SourceId()}"; @@ -406,43 +549,93 @@ public class the_Palace_of_the_Dead accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); } - [ScriptMethod(name: "深宫曼提克 撕裂利爪(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:6394"])] + [ScriptMethod(name: "深宫曼提克 撕裂利爪(顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:6394", "SourceDataId:6289"])] public void 深宫曼提克_撕裂利爪(Event @event, ScriptAccessory accessory) { // 此绘制的技能ID同 31~49层的 噩梦曼提克 撕裂利爪,均为 5m + 目标圈 - var dp = accessory.Data.GetDefaultDrawProperties(); - - dp.Name = "深宫曼提克_撕裂利爪"; + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = $"深宫曼提克_撕裂利爪{@event.SourceId()}"; dp.Color = accessory.Data.DefaultDangerColor; dp.Owner = @event.SourceId(); - dp.Scale = new Vector2(7.2f); + dp.Scale = new Vector2(7.2f); // 表格 5m + 目标圈 2.2m dp.Radian = 120f.DegToRad(); dp.DestoryAt = 1900; accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); } + #endregion #region 151~160层 - // 151~160层 小怪 [ScriptMethod(name: "—————— 151 ~ 160 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])] public void 第151层(Event @event, ScriptAccessory accessory) { } - [ScriptMethod(name: "深宫小恶魔 冰棘屏障 打断提醒", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:6943"])] - public void 方法名(Event @event, ScriptAccessory accessory) + [ScriptMethod(name: "深宫小恶魔 冰棘屏障 打断提醒", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:6943", "SourceDataId:6295"])] + public void 深宫小恶魔_冰棘屏障(Event @event, ScriptAccessory accessory) { - accessory.Method.TextInfo("打断 <深宫小恶魔>", duration: 1200, true); - accessory.Method.TTS("打断深宫小恶魔"); + if (isText)accessory.Method.TextInfo("打断 <深宫小恶魔>", duration: 800, true); + if (isTTS)accessory.Method.TTS("打断 <深宫小恶魔>"); + if (isEdgeTTS)accessory.Method.EdgeTTS("打断 <深宫小恶魔>"); } + + [ScriptMethod(name: "160 非生骑士 残杀(击退)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:7156"])] + public void 非生骑士_残杀(Event @event, ScriptAccessory accessory) + { + if (isText)accessory.Method.TextInfo("击退到安全区", duration: 3300, true); + if (isTTS)accessory.Method.TTS("击退到安全区"); + if (isEdgeTTS)accessory.Method.EdgeTTS("击退到安全区"); + + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = "非生骑士_残杀击退"; + dp.Scale = new(1.6f, 25f); + dp.Color = new Vector4(0f, 1f, 1f, 3f); + dp.Owner = accessory.Data.Me; + dp.TargetObject = @event.SourceId(); + dp.Rotation = float.Pi; + dp.DestoryAt = 3400; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Displacement, dp); + } + + [ScriptMethod(name: "160 大妖异之影 怨念 钢铁提前显示", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:6383"])] + public void 大妖异之影_怨念(Event @event, ScriptAccessory accessory) + { + var dp = accessory.Data.GetDefaultDrawProperties(); + dp.Name = "大妖异之影_怨念"; + dp.Color = accessory.Data.DefaultDangerColor; + dp.Owner = @event.SourceId(); + dp.Scale = new Vector2(7f); // 需要加1m的目标圈 + dp.DestoryAt = 4700; + accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); + } + #endregion #region 161~170层 - // 161~170层 [ScriptMethod(name: "—————— 161 ~ 170 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])] public void 第161层(Event @event, ScriptAccessory accessory) { } + + [ScriptMethod(name: "深宫笠头螈 粘膜 打断提示", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:7014", "SourceDataId:6305"])] + public void 深宫笠头螈_粘膜(Event @event, ScriptAccessory accessory) + { + // 61~70层 的 地宫笠头螈 (SourceDataId:6190) 暂未知是否会同款技能 + if (isText)accessory.Method.TextInfo("打断 <深宫笠头螈>", duration: 2300, true); + if (isTTS)accessory.Method.TTS("打断 <深宫笠头螈>"); + if (isEdgeTTS)accessory.Method.EdgeTTS("打断 <深宫笠头螈>"); + } + + /* + [ScriptMethod(name: "170 虹蛇 浸泡 提示", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:290"])] + public void 虹蛇_浸泡(Event @event, ScriptAccessory accessory) + { + // 70层的 水虎龙亚夸虏 (SourceDataId:6165) 没有 StatusID:290 的 伤害提高 buff + if (isText)accessory.Method.TextInfo("将BOSS拉出水圈至buff消失", duration: 3000, true); + if (isTTS)accessory.Method.TTS("将BOSS拉出水圈至buff消失"); + if (isEdgeTTS)accessory.Method.EdgeTTS("将BOSS拉出水圈至buff消失"); + } + */ + #endregion #region 171~180层 小怪 - // 171~180层 小怪 [ScriptMethod(name: "—————— 171 ~ 180 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])] public void 第171层(Event @event, ScriptAccessory accessory) { } @@ -450,7 +643,7 @@ public class the_Palace_of_the_Dead public void 深宫独眼雪巨人_怒视(Event @event, ScriptAccessory accessory) { var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = "深宫独眼雪巨人_怒视"; + dp.Name = $"深宫独眼雪巨人_怒视{@event.SourceId()}"; dp.Scale = new (7, 21f); dp.Owner = @event.SourceId(); dp.Color = accessory.Data.DefaultDangerColor; @@ -462,7 +655,7 @@ public class the_Palace_of_the_Dead public void 深宫独眼雪巨人_百吨回转(Event @event, ScriptAccessory accessory) { var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = "深宫独眼雪巨人_百吨回转"; + dp.Name = $"深宫独眼雪巨人_百吨回转{@event.SourceId()}"; dp.Color = accessory.Data.DefaultDangerColor; dp.Owner = @event.SourceId(); dp.Scale = new Vector2(12f); @@ -491,8 +684,7 @@ public class the_Palace_of_the_Dead #endregion #region 180层 BOSS 丹代恩索涅 - //180 BOSS 丹代恩索涅 - [ScriptMethod(name: "180 丹代恩索涅 吸引(钢铁)", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:6384"])] + [ScriptMethod(name: "180 古丹纳 & 丹代恩索涅 吸引(钢铁)", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:6384"])] public void 丹代恩索涅_吸引(Event @event, ScriptAccessory accessory) { var dp = accessory.Data.GetDefaultDrawProperties(); @@ -504,7 +696,7 @@ public class the_Palace_of_the_Dead accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); } - [ScriptMethod(name: "丹代恩索涅 吸引销毁", eventType: EventTypeEnum.RemoveCombatant, eventCondition: ["DataId:6384"], userControl: false)] + [ScriptMethod(name: "古丹纳 & 丹代恩索涅 吸引销毁", eventType: EventTypeEnum.RemoveCombatant, eventCondition: ["DataId:6384"], userControl: false)] public void 深宫大脚巨猿_吸引销毁(Event @event, ScriptAccessory accessory) { accessory.Method.RemoveDraw($"丹代恩索涅_吸引{@event.SourceId()}"); @@ -519,7 +711,6 @@ public class the_Palace_of_the_Dead #endregion #region 181~190层 小怪 - // 181~190层 小怪 [ScriptMethod(name: "—————— 181 ~ 190 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])] public void 第181层(Event @event, ScriptAccessory accessory) { } @@ -528,7 +719,7 @@ public class the_Palace_of_the_Dead { // 此处的 深宫加姆 与 81~90层的 地宫奇美拉 所释放的 钢铁月环 技能ID相同 ,但其对应的目标圈不同 ,所以需要区分画图 var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = "深宫加姆_寒冰咆哮"; + dp.Name = $"深宫加姆_寒冰咆哮{@event.SourceId()}"; dp.Color = accessory.Data.DefaultDangerColor; dp.Owner = @event.SourceId(); dp.Scale = new Vector2(10.4f); @@ -540,7 +731,7 @@ public class the_Palace_of_the_Dead public void 深宫加姆_雷电咆哮(Event @event, ScriptAccessory accessory) { var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = "深宫加姆_雷电咆哮"; + dp.Name = $"深宫加姆_雷电咆哮{@event.SourceId()}"; dp.Color = accessory.Data.DefaultDangerColor; dp.Owner = @event.SourceId(); dp.Scale = new Vector2(30f); @@ -549,6 +740,7 @@ public class the_Palace_of_the_Dead dp.DestoryAt = 4200; accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp); } + #endregion #region 190层 BOSS 爆弹怪教父 @@ -642,8 +834,8 @@ public class the_Palace_of_the_Dead } - //accessory.Method.TextInfo("已预测 <熔岩爆弹怪> 刷新位置", duration: 5, false); - //accessory.Method.TTS("已预测熔岩爆弹怪刷新位置"); + // accessory.Method.TextInfo("已预测 <熔岩爆弹怪> 刷新位置", duration: 5, false); + // accessory.Method.TTS("已预测熔岩爆弹怪刷新位置"); accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); } @@ -703,7 +895,6 @@ public class the_Palace_of_the_Dead #endregion #region 191~200层 小怪 - // 191~200层 小怪 [ScriptMethod(name: "—————— 191 ~ 200 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])] public void 第191层(Event @event, ScriptAccessory accessory) { } @@ -711,7 +902,7 @@ public class the_Palace_of_the_Dead public void 奥尼克斯龙_邪视(Event @event, ScriptAccessory accessory) { var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = "奥尼克斯龙_邪视"; + dp.Name = $"奥尼克斯龙_邪视{@event.SourceId()}"; dp.Color = new Vector4(1f, 0f, 1f, 0.6f); dp.Owner = @event.SourceId(); dp.Scale = new Vector2(13f); @@ -724,7 +915,7 @@ public class the_Palace_of_the_Dead { var dp = accessory.Data.GetDefaultDrawProperties(); - dp.Name = "深宫幽鬼之眼_5级即死"; + dp.Name = $"深宫幽鬼之眼_5级即死{@event.SourceId()}"; dp.Color = new Vector4(1f, 0f, 0f, 1f); dp.Owner = @event.SourceId(); dp.Scale = new Vector2(7.1f); @@ -732,7 +923,60 @@ public class the_Palace_of_the_Dead dp.DestoryAt = 3200; accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp); } + #endregion + + #region 底裤部分 + + [ScriptMethod(name: "—————— 底裤部分(需要对应插件与权限) ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])] + public void 底裤部分(Event @event, ScriptAccessory accessory) { } + + [ScriptMethod(name: "[DR] 变身曼提克时,移速改为1.5倍", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:565", "StackCount:42"])] + public void AddManticore(Event @event, ScriptAccessory accessory) + { + if(!isHack) return; + if (@event.TargetId() != accessory.Data.Me) return; + accessory.Method.SendChat($"/pdrspeed 1.5"); + accessory.Method.SendChat($"/e 可达鸭:移速已更改:1.5x"); + if (isTTS)accessory.Method.TTS("移速已更改至1.5倍"); + if (isEdgeTTS)accessory.Method.EdgeTTS("移速已更改至1.5倍"); + } + + [ScriptMethod(name: "[DR] 曼提克取消时,移速复原至1倍", eventType: EventTypeEnum.StatusRemove, eventCondition: ["StatusID:565", "StackCount:42"])] + public void RemoveManticore(Event @event, ScriptAccessory accessory) + { + if(!isHack) return; + if (@event.TargetId() != accessory.Data.Me) return; + accessory.Method.SendChat($"/pdrspeed 1"); + accessory.Method.SendChat($"/e 可达鸭:移速已更改:1"); + if (isTTS)accessory.Method.TTS("移速已复原至1倍"); + if (isEdgeTTS)accessory.Method.EdgeTTS("移速已复原至1倍"); + } + + [ScriptMethod(name: "[DR] 变身梦魔时,移速改为1.2倍", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:565", "StackCount:43"])] + public void AddSuccubus(Event @event, ScriptAccessory accessory) + { + if(!isHack) return; + if (@event.TargetId() != accessory.Data.Me) return; + accessory.Method.SendChat($"/pdrspeed 1.2"); + accessory.Method.SendChat($"/e 可达鸭:移速已更改:1.2x"); + if (isTTS)accessory.Method.TTS("移速已更改至1.2倍"); + if (isEdgeTTS)accessory.Method.EdgeTTS("移速已更改至1.2倍"); + } + + [ScriptMethod(name: "[DR] 梦魔取消时,移速复原至1倍", eventType: EventTypeEnum.StatusRemove, eventCondition: ["StatusID:565", "StackCount:43"])] + public void RemoveSuccubus(Event @event, ScriptAccessory accessory) + { + if(!isHack) return; + if (@event.TargetId() != accessory.Data.Me) return; + accessory.Method.SendChat($"/pdrspeed 1"); + accessory.Method.SendChat($"/e 可达鸭:移速已更改:1"); + if (isTTS)accessory.Method.TTS("移速已复原至1倍"); + if (isEdgeTTS)accessory.Method.EdgeTTS("移速已复原至1倍"); + } + + #endregion + } @@ -848,20 +1092,4 @@ public static class EventExtensions { return JsonConvert.DeserializeObject(@event["Param"]); } -} - - -public static class Extensions -{ - public static void TTS(this ScriptAccessory accessory, string text, bool isTTS, bool isDRTTS) - { - if (isDRTTS) - { - accessory.Method.SendChat($"/pdr tts {text}"); - } - else if (isTTS) - { - accessory.Method.TTS(text); - } - } -} +} \ No newline at end of file