From d0763d2e87b4fdd25fd4b1f8266d0455b5513f52 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: Sat, 12 Apr 2025 19:22:52 +0800 Subject: [PATCH] UPDATE --- .../Good_King_Moggle(Extreme).cs | 27 +++++++-------- .../Trials-Extreme/Ifrit(Extreme).cs | 33 +++++++------------ .../Trials-Extreme/Leviathan(Extreme).cs | 20 +++-------- OnlineRepo.json | 6 ++-- 4 files changed, 30 insertions(+), 56 deletions(-) diff --git a/02-A-Realm-Reborn/Trials-Extreme/Good_King_Moggle(Extreme).cs b/02-A-Realm-Reborn/Trials-Extreme/Good_King_Moggle(Extreme).cs index 7eafb1d..82c1595 100644 --- a/02-A-Realm-Reborn/Trials-Extreme/Good_King_Moggle(Extreme).cs +++ b/02-A-Realm-Reborn/Trials-Extreme/Good_King_Moggle(Extreme).cs @@ -45,11 +45,12 @@ public class ThornmarchExtreme [UserSetting("【开发用】Debug模式")] public bool isDebug { get; set; } = false; - - public static bool isTank { get; set; } - public static bool isDps { get; set; } - public static bool isHealer { get; set; } - public void 职能检查(ScriptAccessory accessory) + + public static bool isTank; + public static bool isDps; + public static bool isHealer; + + public void Init(ScriptAccessory accessory) { var player = accessory.Data.MyObject; isTank = player?.IsTank() ?? false; @@ -68,10 +69,9 @@ public class ThornmarchExtreme [ScriptMethod(name: "开场提示", eventType: EventTypeEnum.Director, eventCondition: ["Command:40000001"])] public async void 开场提示(Event @event, ScriptAccessory accessory) { - var player = accessory.Data.MyObject; - isTank = player?.IsTank() ?? false; - isDps = player?.IsDps() ?? false; - isHealer = player?.IsHealer() ?? false; + var isTank = accessory.Data.MyObject?.IsTank() ?? false; + var isDps = accessory.Data.MyObject?.IsDps() ?? false; + var isHealer = accessory.Data.MyObject?.IsHealer() ?? false; if (isTank && isText)accessory.Method.TextInfo("难度:☆,重点:修小怪血,并一起击杀\nT:贤王吸蓝,不推荐DK拉,注意面向 ", duration: 5000, true); if (isDps && isText)accessory.Method.TextInfo("难度:☆,重点:修小怪血,并一起击杀\nD:注意修血,前两次需要同时击杀 ", duration: 5000, true); @@ -87,8 +87,7 @@ public class ThornmarchExtreme [ScriptMethod(name: "小怪出现提示", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:2070"])] public void 小怪出现提示(Event @event, ScriptAccessory accessory) { - var player = accessory.Data.MyObject; - isTank = player?.IsTank() ?? false; + var isTank = accessory.Data.MyObject?.IsTank() ?? false; if (!isTank) return; if (isText)accessory.Method.TextInfo("MT拉 < 斧 > & < 贤王 > 、ST拉 < 壁 >,都有顺劈\n全部小怪需要同时击杀两次", duration: 5000, true); if (isTTS)accessory.Method.TTS("注意面向,注意修血"); @@ -250,8 +249,7 @@ public class ThornmarchExtreme [ScriptMethod(name: "莫古乱乱乱 驱散提示", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:473"])] public void 莫古乱乱乱(Event @event, ScriptAccessory accessory) { - var player = accessory.Data.MyObject; - isHealer = player?.IsHealer() ?? false; + var isHealer = accessory.Data.MyObject?.IsHealer() ?? false; if (!isHealer) return; if (isText) accessory.Method.TextInfo("驱散 <莫古乱乱乱> ", duration: 5000, true); if (isTTS) accessory.Method.TTS("驱散《莫古乱乱乱》"); @@ -344,8 +342,7 @@ public class ThornmarchExtreme [ScriptMethod(name: "怒发冲冠 驱散提示", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:402"])] public void 怒发冲冠(Event @event, ScriptAccessory accessory) { - var player = accessory.Data.MyObject; - isHealer = player?.IsHealer() ?? false; + var isHealer = accessory.Data.MyObject?.IsHealer() ?? false; if (!isHealer) return; if (isText) accessory.Method.TextInfo("驱散 <怒发冲冠> ", duration: 5000, true); if (isTTS) accessory.Method.TTS("驱散《怒发冲灌》"); diff --git a/02-A-Realm-Reborn/Trials-Extreme/Ifrit(Extreme).cs b/02-A-Realm-Reborn/Trials-Extreme/Ifrit(Extreme).cs index 49c738d..5c5b306 100644 --- a/02-A-Realm-Reborn/Trials-Extreme/Ifrit(Extreme).cs +++ b/02-A-Realm-Reborn/Trials-Extreme/Ifrit(Extreme).cs @@ -21,13 +21,13 @@ using KodakkuAssist.Extensions; namespace Ifrit_Extreme; [ScriptType(guid: "dbb7983a-d2c4-4621-9734-76772e3f206a", name: "伊弗利特歼殛战", territorys: [295], - version: "0.0.0.2", author: "Tetora", note: noteStr)] + version: "0.0.0.3", author: "Tetora", note: noteStr)] public class Ifrit_Extreme { const string noteStr = """ - v0.0.0.2: + v0.0.0.3: LV50 伊弗利特歼殛战 初版绘制 TTS请在“用户设置”中二选一启用,请勿同时开启 """; @@ -43,28 +43,18 @@ public class Ifrit_Extreme [UserSetting("【开发用】Debug模式")] public bool isDebug { get; set; } = false; - - public static bool isTank { get; set; } - public static bool isDps { get; set; } - public static bool isHealer { get; set; } - public void Init(ScriptAccessory accessory) - { - var player = accessory.Data.MyObject; - isTank = player?.IsTank() ?? false; - isDps = player?.IsDps() ?? false; - isHealer = player?.IsHealer() ?? false; - } + [ScriptMethod(name: "开场提示", eventType: EventTypeEnum.Director, eventCondition: ["Command:40000001"])] public async void 开场提示(Event @event, ScriptAccessory accessory) { - await Task.Delay(3000); - if (isTank && isText)accessory.Method.TextInfo("难度:★\nT:3层debuff换T,炸柱子时注意减伤", duration: 5000, true); - if (isDebug && isTank && isText)accessory.Method.SendChat("/e [DEBUG]: 检测到自身职能为:T"); - if (isDps && isText)accessory.Method.TextInfo("难度:★\nD:优先转火柱子,锁链靠近,远离热风奶", duration: 5000, true); - if (isDebug && isDps && isText)accessory.Method.SendChat("/e [DEBUG]: 检测到自身职能为:D"); - if (isHealer && isText)accessory.Method.TextInfo("难度:★\nH:热风远离人群", duration: 5000, true); - if (isDebug && isHealer && isText)accessory.Method.SendChat("/e [DEBUG]: 检测到自身职能为:H"); + var isTank = accessory.Data.MyObject?.IsTank() ?? false; + var isDps = accessory.Data.MyObject?.IsDps() ?? false; + var isHealer = accessory.Data.MyObject?.IsHealer() ?? false; + + if (isTank && isText)accessory.Method.TextInfo("难度:☆\nT:3层debuff换T,炸柱子时注意减伤", duration: 5000, true); + if (isDps && isText)accessory.Method.TextInfo("难度:☆\nD:优先转火柱子,锁链靠近,远离热风奶", duration: 5000, true); + if (isHealer && isText)accessory.Method.TextInfo("难度:☆\nH:热风远离人群", duration: 5000, true); // if (isText)accessory.Method.TextInfo("难度:★\nT:3层debuff换T,炸柱子时注意减伤\nD:优先转火柱子、锁链靠近 \nH:热风远离人群" , duration: 8000, true); accessory.Method.SendChat("/e ————小抄————\nT:3层debuff换T,炸柱子时注意减伤\nD:优先转火柱子、锁链靠近 \nH:热风远离人群 \n出柱子一定先打柱子,否则上天直接狂暴"); @@ -73,8 +63,7 @@ public class Ifrit_Extreme [ScriptMethod(name: "灼伤 换T提示", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:375","StackCount:regex:^[345]$"])] public void 灼伤(Event @event, ScriptAccessory accessory) { - var player = accessory.Data.MyObject; - isTank = player?.IsTank() ?? false; + var isTank = accessory.Data.MyObject?.IsTank() ?? false; if (isTank && @event.TargetId() != accessory.Data.Me && isText) accessory.Method.TextInfo("挑衅", duration: 3000, true); if (isTank && @event.TargetId() == accessory.Data.Me && isText) accessory.Method.TextInfo("退避", duration: 3000, true); if (isTank && isTTS) accessory.Method.TTS("换T!"); diff --git a/02-A-Realm-Reborn/Trials-Extreme/Leviathan(Extreme).cs b/02-A-Realm-Reborn/Trials-Extreme/Leviathan(Extreme).cs index 87e7949..cd55008 100644 --- a/02-A-Realm-Reborn/Trials-Extreme/Leviathan(Extreme).cs +++ b/02-A-Realm-Reborn/Trials-Extreme/Leviathan(Extreme).cs @@ -43,16 +43,6 @@ public class the_Whorleater_Extreme [UserSetting("【开发用】Debug模式")] public bool isDebug { get; set; } = false; - public static bool isTank { get; set; } - public static bool isDps { get; set; } - public static bool isHealer { get; set; } - public void 职能检查(ScriptAccessory accessory) - { - var player = accessory.Data.MyObject; - isTank = player?.IsTank() ?? false; - isDps = player?.IsDps() ?? false; - isHealer = player?.IsHealer() ?? false; - } #region 记录 & 阶段转换 uint Dive = 0; @@ -101,10 +91,9 @@ public class the_Whorleater_Extreme [ScriptMethod(name: "开场提示", eventType: EventTypeEnum.Director, eventCondition: ["Command:40000001"])] public async void 开场提示(Event @event, ScriptAccessory accessory) { - var player = accessory.Data.MyObject; - isTank = player?.IsTank() ?? false; - isDps = player?.IsDps() ?? false; - isHealer = player?.IsHealer() ?? false; + var isTank = accessory.Data.MyObject?.IsTank() ?? false; + var isDps = accessory.Data.MyObject?.IsDps() ?? false; + var isHealer = accessory.Data.MyObject?.IsHealer() ?? false; if (isTank && isText)accessory.Method.TextInfo("难度:★☆,不会建议退\nT:MT拉头,ST拉尾、小怪ST拉,晕波齿鱼人(60%血以下免晕) ", duration: 10000, true); if (isDps && isText)accessory.Method.TextInfo("难度:☆\nD:出黄球打黄球,蓝球不管,小怪优先波齿鱼人,注意避开T的平A", duration: 10000, true); @@ -196,8 +185,7 @@ public class the_Whorleater_Extreme [ScriptMethod(name: "巨浪泡沫 提示", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:2810"])] public void 巨浪泡沫(Event @event, ScriptAccessory accessory) { - var player = accessory.Data.MyObject; - isTank = player?.IsTank() ?? false; + var isTank = accessory.Data.MyObject?.IsTank() ?? false; if(isTank && isText)accessory.Method.TextInfo("ST接走蓝泡泡,避开人群溜溜球,转场完开减伤远离人群炸球", duration: 34500, false); if(isTTS)accessory.Method.TTS("ST拉蓝球,约半分钟后爆炸,人群远离"); if(isEdgeTTS)accessory.Method.EdgeTTS("ST拉蓝球,约半分钟后爆炸,人群远离"); diff --git a/OnlineRepo.json b/OnlineRepo.json index 2947bcc..7d6aaa1 100644 --- a/OnlineRepo.json +++ b/OnlineRepo.json @@ -236,12 +236,12 @@ { "Name": "伊弗利特歼殛战", "Guid": "dbb7983a-d2c4-4621-9734-76772e3f206a", - "Version": "0.0.0.2", + "Version": "0.0.0.3", "Author": "Tetora", "Repo": "https://github.com/Hibiya615/TetoraKAScript/tree/main", "DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/02-A-Realm-Reborn/Trials-Extreme/Ifrit(Extreme).cs", - "Note": "v0.0.0.2:\r\nLV50 伊弗利特歼殛战 初版绘制\r\nTTS请在“用户设置”中二选一启用,请勿同时开启", - "UpdateInfo": "", + "Note": "v0.0.0.3:\r\nLV50 伊弗利特歼殛战 初版绘制\r\nTTS请在“用户设置”中二选一启用,请勿同时开启", + "UpdateInfo": "重做职能检测", "TerritoryIds": [ 295 ]