This commit is contained in:
南沢响也
2025-04-12 19:22:52 +08:00
parent 57e877a576
commit d0763d2e87
4 changed files with 30 additions and 56 deletions

View File

@@ -45,11 +45,12 @@ public class ThornmarchExtreme
[UserSetting("【开发用】Debug模式")] [UserSetting("【开发用】Debug模式")]
public bool isDebug { get; set; } = false; public bool isDebug { get; set; } = false;
public static bool isTank { get; set; } public static bool isTank;
public static bool isDps { get; set; } public static bool isDps;
public static bool isHealer { get; set; } public static bool isHealer;
public void (ScriptAccessory accessory)
public void Init(ScriptAccessory accessory)
{ {
var player = accessory.Data.MyObject; var player = accessory.Data.MyObject;
isTank = player?.IsTank() ?? false; isTank = player?.IsTank() ?? false;
@@ -68,10 +69,9 @@ public class ThornmarchExtreme
[ScriptMethod(name: "开场提示", eventType: EventTypeEnum.Director, eventCondition: ["Command:40000001"])] [ScriptMethod(name: "开场提示", eventType: EventTypeEnum.Director, eventCondition: ["Command:40000001"])]
public async void (Event @event, ScriptAccessory accessory) public async void (Event @event, ScriptAccessory accessory)
{ {
var player = accessory.Data.MyObject; var isTank = accessory.Data.MyObject?.IsTank() ?? false;
isTank = player?.IsTank() ?? false; var isDps = accessory.Data.MyObject?.IsDps() ?? false;
isDps = player?.IsDps() ?? false; var isHealer = accessory.Data.MyObject?.IsHealer() ?? false;
isHealer = player?.IsHealer() ?? false;
if (isTank && isText)accessory.Method.TextInfo("难度:☆,重点:修小怪血,并一起击杀\nT贤王吸蓝不推荐DK拉注意面向 ", duration: 5000, true); if (isTank && isText)accessory.Method.TextInfo("难度:☆,重点:修小怪血,并一起击杀\nT贤王吸蓝不推荐DK拉注意面向 ", duration: 5000, true);
if (isDps && isText)accessory.Method.TextInfo("难度:☆,重点:修小怪血,并一起击杀\nD注意修血前两次需要同时击杀 ", 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"])] [ScriptMethod(name: "小怪出现提示", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:2070"])]
public void (Event @event, ScriptAccessory accessory) public void (Event @event, ScriptAccessory accessory)
{ {
var player = accessory.Data.MyObject; var isTank = accessory.Data.MyObject?.IsTank() ?? false;
isTank = player?.IsTank() ?? false;
if (!isTank) return; if (!isTank) return;
if (isText)accessory.Method.TextInfo("MT拉 < 斧 > & < 贤王 > 、ST拉 < 壁 >,都有顺劈\n全部小怪需要同时击杀两次", duration: 5000, true); if (isText)accessory.Method.TextInfo("MT拉 < 斧 > & < 贤王 > 、ST拉 < 壁 >,都有顺劈\n全部小怪需要同时击杀两次", duration: 5000, true);
if (isTTS)accessory.Method.TTS("注意面向,注意修血"); if (isTTS)accessory.Method.TTS("注意面向,注意修血");
@@ -250,8 +249,7 @@ public class ThornmarchExtreme
[ScriptMethod(name: "莫古乱乱乱 驱散提示", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:473"])] [ScriptMethod(name: "莫古乱乱乱 驱散提示", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:473"])]
public void (Event @event, ScriptAccessory accessory) public void (Event @event, ScriptAccessory accessory)
{ {
var player = accessory.Data.MyObject; var isHealer = accessory.Data.MyObject?.IsHealer() ?? false;
isHealer = player?.IsHealer() ?? false;
if (!isHealer) return; if (!isHealer) return;
if (isText) accessory.Method.TextInfo("驱散 <莫古乱乱乱> ", duration: 5000, true); if (isText) accessory.Method.TextInfo("驱散 <莫古乱乱乱> ", duration: 5000, true);
if (isTTS) accessory.Method.TTS("驱散《莫古乱乱乱》"); if (isTTS) accessory.Method.TTS("驱散《莫古乱乱乱》");
@@ -344,8 +342,7 @@ public class ThornmarchExtreme
[ScriptMethod(name: "怒发冲冠 驱散提示", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:402"])] [ScriptMethod(name: "怒发冲冠 驱散提示", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:402"])]
public void (Event @event, ScriptAccessory accessory) public void (Event @event, ScriptAccessory accessory)
{ {
var player = accessory.Data.MyObject; var isHealer = accessory.Data.MyObject?.IsHealer() ?? false;
isHealer = player?.IsHealer() ?? false;
if (!isHealer) return; if (!isHealer) return;
if (isText) accessory.Method.TextInfo("驱散 <怒发冲冠> ", duration: 5000, true); if (isText) accessory.Method.TextInfo("驱散 <怒发冲冠> ", duration: 5000, true);
if (isTTS) accessory.Method.TTS("驱散《怒发冲灌》"); if (isTTS) accessory.Method.TTS("驱散《怒发冲灌》");

View File

@@ -21,13 +21,13 @@ using KodakkuAssist.Extensions;
namespace Ifrit_Extreme; namespace Ifrit_Extreme;
[ScriptType(guid: "dbb7983a-d2c4-4621-9734-76772e3f206a", name: "伊弗利特歼殛战", territorys: [295], [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 public class Ifrit_Extreme
{ {
const string noteStr = const string noteStr =
""" """
v0.0.0.2: v0.0.0.3:
LV50 LV50
TTS请在 TTS请在
"""; """;
@@ -43,28 +43,18 @@ public class Ifrit_Extreme
[UserSetting("【开发用】Debug模式")] [UserSetting("【开发用】Debug模式")]
public bool isDebug { get; set; } = false; 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"])] [ScriptMethod(name: "开场提示", eventType: EventTypeEnum.Director, eventCondition: ["Command:40000001"])]
public async void (Event @event, ScriptAccessory accessory) public async void (Event @event, ScriptAccessory accessory)
{ {
await Task.Delay(3000); var isTank = accessory.Data.MyObject?.IsTank() ?? false;
if (isTank && isText)accessory.Method.TextInfo("难度:★\nT3层debuff换T炸柱子时注意减伤", duration: 5000, true); var isDps = accessory.Data.MyObject?.IsDps() ?? false;
if (isDebug && isTank && isText)accessory.Method.SendChat("/e [DEBUG]: 检测到自身职能为T"); var isHealer = accessory.Data.MyObject?.IsHealer() ?? false;
if (isDps && isText)accessory.Method.TextInfo("难度:★\nD优先转火柱子锁链靠近远离热风奶", duration: 5000, true);
if (isDebug && isDps && isText)accessory.Method.SendChat("/e [DEBUG]: 检测到自身职能为D"); if (isTank && isText)accessory.Method.TextInfo("难度:☆\nT3层debuff换T炸柱子时注意减伤", duration: 5000, true);
if (isHealer && isText)accessory.Method.TextInfo("难度:\nH热风远离人群", duration: 5000, true); if (isDps && isText)accessory.Method.TextInfo("难度:\nD优先转火柱子锁链靠近远离热风奶", duration: 5000, true);
if (isDebug && isHealer && isText)accessory.Method.SendChat("/e [DEBUG]: 检测到自身职能为H"); if (isHealer && isText)accessory.Method.TextInfo("难度:☆\nH热风远离人群", duration: 5000, true);
// if (isText)accessory.Method.TextInfo("难度:★\nT3层debuff换T炸柱子时注意减伤\nD优先转火柱子、锁链靠近 \nH热风远离人群" , duration: 8000, true); // if (isText)accessory.Method.TextInfo("难度:★\nT3层debuff换T炸柱子时注意减伤\nD优先转火柱子、锁链靠近 \nH热风远离人群" , duration: 8000, true);
accessory.Method.SendChat("/e ————小抄————\nT3层debuff换T炸柱子时注意减伤\nD优先转火柱子、锁链靠近 \nH热风远离人群 \n出柱子一定先打柱子否则上天直接狂暴"); accessory.Method.SendChat("/e ————小抄————\nT3层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]$"])] [ScriptMethod(name: "灼伤 换T提示", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:375","StackCount:regex:^[345]$"])]
public void 灼伤(Event @event, ScriptAccessory accessory) public void 灼伤(Event @event, ScriptAccessory accessory)
{ {
var player = accessory.Data.MyObject; var isTank = accessory.Data.MyObject?.IsTank() ?? false;
isTank = player?.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 && @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"); if (isTank && isTTS) accessory.Method.TTS("换T");

View File

@@ -43,16 +43,6 @@ public class the_Whorleater_Extreme
[UserSetting("【开发用】Debug模式")] [UserSetting("【开发用】Debug模式")]
public bool isDebug { get; set; } = false; 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 & #region &
uint Dive = 0; uint Dive = 0;
@@ -101,10 +91,9 @@ public class the_Whorleater_Extreme
[ScriptMethod(name: "开场提示", eventType: EventTypeEnum.Director, eventCondition: ["Command:40000001"])] [ScriptMethod(name: "开场提示", eventType: EventTypeEnum.Director, eventCondition: ["Command:40000001"])]
public async void (Event @event, ScriptAccessory accessory) public async void (Event @event, ScriptAccessory accessory)
{ {
var player = accessory.Data.MyObject; var isTank = accessory.Data.MyObject?.IsTank() ?? false;
isTank = player?.IsTank() ?? false; var isDps = accessory.Data.MyObject?.IsDps() ?? false;
isDps = player?.IsDps() ?? false; var isHealer = accessory.Data.MyObject?.IsHealer() ?? false;
isHealer = player?.IsHealer() ?? false;
if (isTank && isText)accessory.Method.TextInfo("难度:★☆,不会建议退\nTMT拉头ST拉尾、小怪ST拉晕波齿鱼人60%血以下免晕) ", duration: 10000, true); if (isTank && isText)accessory.Method.TextInfo("难度:★☆,不会建议退\nTMT拉头ST拉尾、小怪ST拉晕波齿鱼人60%血以下免晕) ", duration: 10000, true);
if (isDps && isText)accessory.Method.TextInfo("难度:☆\nD出黄球打黄球蓝球不管小怪优先波齿鱼人注意避开T的平A", 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"])] [ScriptMethod(name: "巨浪泡沫 提示", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:2810"])]
public void (Event @event, ScriptAccessory accessory) public void (Event @event, ScriptAccessory accessory)
{ {
var player = accessory.Data.MyObject; var isTank = accessory.Data.MyObject?.IsTank() ?? false;
isTank = player?.IsTank() ?? false;
if(isTank && isText)accessory.Method.TextInfo("ST接走蓝泡泡避开人群溜溜球转场完开减伤远离人群炸球", duration: 34500, false); if(isTank && isText)accessory.Method.TextInfo("ST接走蓝泡泡避开人群溜溜球转场完开减伤远离人群炸球", duration: 34500, false);
if(isTTS)accessory.Method.TTS("ST拉蓝球约半分钟后爆炸人群远离"); if(isTTS)accessory.Method.TTS("ST拉蓝球约半分钟后爆炸人群远离");
if(isEdgeTTS)accessory.Method.EdgeTTS("ST拉蓝球约半分钟后爆炸人群远离"); if(isEdgeTTS)accessory.Method.EdgeTTS("ST拉蓝球约半分钟后爆炸人群远离");

View File

@@ -236,12 +236,12 @@
{ {
"Name": "伊弗利特歼殛战", "Name": "伊弗利特歼殛战",
"Guid": "dbb7983a-d2c4-4621-9734-76772e3f206a", "Guid": "dbb7983a-d2c4-4621-9734-76772e3f206a",
"Version": "0.0.0.2", "Version": "0.0.0.3",
"Author": "Tetora", "Author": "Tetora",
"Repo": "https://github.com/Hibiya615/TetoraKAScript/tree/main", "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", "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请在“用户设置”中二选一启用请勿同时开启", "Note": "v0.0.0.3:\r\nLV50 伊弗利特歼殛战 初版绘制\r\nTTS请在“用户设置”中二选一启用请勿同时开启",
"UpdateInfo": "", "UpdateInfo": "重做职能检测",
"TerritoryIds": [ "TerritoryIds": [
295 295
] ]