添加销毁逻辑

This commit is contained in:
南沢响也
2025-03-04 01:07:23 +08:00
parent ff3e5c3662
commit 9fe493ff37
6 changed files with 84 additions and 104 deletions

View File

@@ -14,7 +14,6 @@ using ECommons;
using ECommons.DalamudServices; using ECommons.DalamudServices;
using ECommons.GameFunctions; using ECommons.GameFunctions;
using ECommons.MathHelpers; using ECommons.MathHelpers;
using Lumina.Excel.Sheets;
namespace TheHead_theTail_theWholeDamnedThing; namespace TheHead_theTail_theWholeDamnedThing;
@@ -33,15 +32,6 @@ public class Archaeotania
// Todo. // Todo.
// 龙卷前进方向线 // 龙卷前进方向线
public static string GetBNpcName(uint key)
{
var sheet = Svc.Data.GetExcelSheet<BNpcName>();
if (sheet == null) return $"Invalid sheet: ({key})";
var row = sheet.GetRow(key);
return row.Singular.ToString() ?? $"Invalid Rowid: ({key})";
}
[ScriptMethod(name: "迷失连线", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^758[67]$"])] [ScriptMethod(name: "迷失连线", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^758[67]$"])]
public void 迷失连线(Event @event, ScriptAccessory accessory) public void 迷失连线(Event @event, ScriptAccessory accessory)
{ {
@@ -60,14 +50,11 @@ public class Archaeotania
accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Displacement, dp); accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Displacement, dp);
} }
[ScriptMethod(name: "迷失连线销毁", eventType: EventTypeEnum.Death, userControl: false)] [ScriptMethod(name: "迷失连线销毁", eventType: EventTypeEnum.Death, eventCondition: ["TargetDataId:regex:^758[67]$"],userControl: false)]
public void 迷失连线销毁(Event @event, ScriptAccessory accessory) public void 迷失连线销毁(Event @event, ScriptAccessory accessory)
{
if (@event.TargetName() == GetBNpcName(6737) || @event.TargetName() == GetBNpcName(6738))
{ {
accessory.Method.RemoveDraw("线"); accessory.Method.RemoveDraw("线");
} }
}
[ScriptMethod(name: "文明毁灭(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^(16441|17089)$"])] [ScriptMethod(name: "文明毁灭(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^(16441|17089)$"])]
public void (Event @event, ScriptAccessory accessory) public void (Event @event, ScriptAccessory accessory)
@@ -106,7 +93,7 @@ public class Archaeotania
dp.Color = new Vector4(1f, 0f, 0f, 1.2f); dp.Color = new Vector4(1f, 0f, 0f, 1.2f);
dp.Owner = @event.SourceId(); dp.Owner = @event.SourceId();
dp.Scale = new Vector2(5f); dp.Scale = new Vector2(5f);
dp.DestoryAt = long.MaxValue; dp.DestoryAt = 60000;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
} }
@@ -116,6 +103,12 @@ public class Archaeotania
accessory.Method.RemoveDraw("龙卷"); accessory.Method.RemoveDraw("龙卷");
} }
[ScriptMethod(name: "海呱死亡销毁", eventType: EventTypeEnum.Death, eventCondition: ["TargetDataId:10157"],userControl: false)]
public void (Event @event, ScriptAccessory accessory)
{
accessory.Method.RemoveDraw(".*");
}
} }

View File

@@ -14,7 +14,6 @@ using ECommons;
using ECommons.DalamudServices; using ECommons.DalamudServices;
using ECommons.GameFunctions; using ECommons.GameFunctions;
using ECommons.MathHelpers; using ECommons.MathHelpers;
using Lumina.Excel.Sheets;
namespace Omicron_Recall_Killing_Order; namespace Omicron_Recall_Killing_Order;
@@ -30,15 +29,6 @@ public class Chi
"""; """;
public static string GetBNpcName(uint key)
{
var sheet = Svc.Data.GetExcelSheet<BNpcName>();
if (sheet == null) return $"Invalid sheet: ({key})";
var row = sheet.GetRow(key);
return row.Singular.ToString() ?? $"Invalid Rowid: ({key})";
}
[ScriptMethod(name: "迷失连线", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^758[67]$"])] [ScriptMethod(name: "迷失连线", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^758[67]$"])]
public void 迷失连线(Event @event, ScriptAccessory accessory) public void 迷失连线(Event @event, ScriptAccessory accessory)
{ {
@@ -57,14 +47,11 @@ public class Chi
accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Displacement, dp); accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Displacement, dp);
} }
[ScriptMethod(name: "迷失连线销毁", eventType: EventTypeEnum.Death, userControl: false)] [ScriptMethod(name: "迷失连线销毁", eventType: EventTypeEnum.Death, eventCondition: ["TargetDataId:regex:^758[67]$"],userControl: false)]
public void 迷失连线销毁(Event @event, ScriptAccessory accessory) public void 迷失连线销毁(Event @event, ScriptAccessory accessory)
{
if (@event.TargetName() == GetBNpcName(6737) || @event.TargetName() == GetBNpcName(6738))
{ {
accessory.Method.RemoveDraw("线"); accessory.Method.RemoveDraw("线");
} }
}
[ScriptMethod(name: "终端攻击(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^(25172|2595[356])$"])] [ScriptMethod(name: "终端攻击(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^(25172|2595[356])$"])]
public void 月环(Event @event, ScriptAccessory accessory) public void 月环(Event @event, ScriptAccessory accessory)
@@ -206,6 +193,12 @@ public class Chi
dp.DestoryAt = 1000; dp.DestoryAt = 1000;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Straight, dp); accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Straight, dp);
} }
[ScriptMethod(name: "电视死亡销毁", eventType: EventTypeEnum.Death, eventCondition: ["TargetDataId:13515"],userControl: false)]
public void (Event @event, ScriptAccessory accessory)
{
accessory.Method.RemoveDraw(".*");
}
} }

View File

@@ -14,7 +14,6 @@ using ECommons;
using ECommons.DalamudServices; using ECommons.DalamudServices;
using ECommons.GameFunctions; using ECommons.GameFunctions;
using ECommons.MathHelpers; using ECommons.MathHelpers;
using Lumina.Excel.Sheets;
namespace DevoutPilgrimsVSDaivadipa; namespace DevoutPilgrimsVSDaivadipa;
@@ -30,15 +29,6 @@ public class Daivadipa
"""; """;
public static string GetBNpcName(uint key)
{
var sheet = Svc.Data.GetExcelSheet<BNpcName>();
if (sheet == null) return $"Invalid sheet: ({key})";
var row = sheet.GetRow(key);
return row.Singular.ToString() ?? $"Invalid Rowid: ({key})";
}
[ScriptMethod(name: "迷失连线", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^758[67]$"])] [ScriptMethod(name: "迷失连线", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^758[67]$"])]
public void 迷失连线(Event @event, ScriptAccessory accessory) public void 迷失连线(Event @event, ScriptAccessory accessory)
{ {
@@ -57,14 +47,11 @@ public class Daivadipa
accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Displacement, dp); accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Displacement, dp);
} }
[ScriptMethod(name: "迷失连线销毁", eventType: EventTypeEnum.Death, userControl: false)] [ScriptMethod(name: "迷失连线销毁", eventType: EventTypeEnum.Death, eventCondition: ["TargetDataId:regex:^758[67]$"],userControl: false)]
public void 迷失连线销毁(Event @event, ScriptAccessory accessory) public void 迷失连线销毁(Event @event, ScriptAccessory accessory)
{
if (@event.TargetName() == GetBNpcName(6737) || @event.TargetName() == GetBNpcName(6738))
{ {
accessory.Method.RemoveDraw("线"); accessory.Method.RemoveDraw("线");
} }
}
[ScriptMethod(name: "操焰仪 弹窗提示", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^2649[89]$"])] [ScriptMethod(name: "操焰仪 弹窗提示", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^2649[89]$"])]
public void 操焰仪提示(Event @event, ScriptAccessory accessory) public void 操焰仪提示(Event @event, ScriptAccessory accessory)
@@ -128,10 +115,15 @@ public class Daivadipa
// 技能ID 26500 红色 26501 蓝色 // 技能ID 26500 红色 26501 蓝色
var dp = accessory.Data.GetDefaultDrawProperties(); var dp = accessory.Data.GetDefaultDrawProperties();
var dp1 = accessory.Data.GetDefaultDrawProperties();
dp.Color = accessory.Data.DefaultDangerColor; dp.Color = accessory.Data.DefaultDangerColor;
dp.Scale = new(10f, 50f); dp.Scale = new(10f, 50f);
dp.DestoryAt = 2700; dp.DestoryAt = 7700;
dp1.Color = accessory.Data.DefaultDangerColor;
dp1.Scale = new(10f, 50f);
dp1.DestoryAt = 2000;
switch (@event.ActionId()) switch (@event.ActionId())
{ {
@@ -145,10 +137,10 @@ public class Daivadipa
foreach (var item in IbcHelper.GetByDataId(13680)) foreach (var item in IbcHelper.GetByDataId(13680))
{ {
dp.Name = "圣火猛击蓝"; dp1.Name = "圣火猛击蓝";
dp.Owner = item.EntityId; dp1.Owner = item.EntityId;
dp.Delay = 3000; dp1.Delay = 7700;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp1);
} }
break; break;
@@ -159,6 +151,14 @@ public class Daivadipa
dp.Owner = item.EntityId; dp.Owner = item.EntityId;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp);
} }
foreach (var item in IbcHelper.GetByDataId(13679))
{
dp1.Name = "圣火猛击红";
dp1.Owner = item.EntityId;
dp1.Delay = 7700;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp1);
}
break; break;
} }
} }
@@ -170,10 +170,15 @@ public class Daivadipa
// 操焰仪26498 红色先炸 26499 蓝色先炸 // 操焰仪26498 红色先炸 26499 蓝色先炸
// 技能ID 26506 红色 26507 蓝色 // 技能ID 26506 红色 26507 蓝色
var dp = accessory.Data.GetDefaultDrawProperties(); var dp = accessory.Data.GetDefaultDrawProperties();
var dp1 = accessory.Data.GetDefaultDrawProperties();
dp.Color = accessory.Data.DefaultDangerColor; dp.Color = accessory.Data.DefaultDangerColor;
dp.Scale = new Vector2(10f); dp.Scale = new Vector2(10f);
dp.DestoryAt = 2700; dp.DestoryAt = 7200;
dp1.Color = accessory.Data.DefaultDangerColor;
dp1.Scale = new Vector2(10f);
dp1.DestoryAt = 4000;
switch (@event.ActionId()) switch (@event.ActionId())
{ {
@@ -184,6 +189,14 @@ public class Daivadipa
dp.Owner = item.EntityId; dp.Owner = item.EntityId;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
} }
foreach (var item in IbcHelper.GetByDataId(13682))
{
dp1.Name = "燃烧蓝";
dp1.Owner = item.EntityId;
dp1.Delay = 7200;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp1);
}
break; break;
case 26499: case 26499:
@@ -193,10 +206,24 @@ public class Daivadipa
dp.Owner = item.EntityId; dp.Owner = item.EntityId;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp); accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
} }
foreach (var item in IbcHelper.GetByDataId(13681))
{
dp1.Name = "燃烧红";
dp1.Owner = item.EntityId;
dp1.Delay = 7200;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp1);
}
break; break;
} }
} }
[ScriptMethod(name: "大象死亡销毁", eventType: EventTypeEnum.Death, eventCondition: ["TargetDataId:13677"],userControl: false)]
public void (Event @event, ScriptAccessory accessory)
{
accessory.Method.RemoveDraw(".*");
}
} }

View File

@@ -16,8 +16,6 @@ using ECommons.GameFunctions;
using ECommons.MathHelpers; using ECommons.MathHelpers;
using System.Threading.Tasks; using System.Threading.Tasks;
using FFXIVClientStructs.FFXIV.Client.Game.Character; using FFXIVClientStructs.FFXIV.Client.Game.Character;
using Lumina.Excel.Sheets;
namespace A_Finale_Most_Formidable; namespace A_Finale_Most_Formidable;
@@ -33,15 +31,6 @@ public class Formidable
"""; """;
public static string GetBNpcName(uint key)
{
var sheet = Svc.Data.GetExcelSheet<BNpcName>();
if (sheet == null) return $"Invalid sheet: ({key})";
var row = sheet.GetRow(key);
return row.Singular.ToString() ?? $"Invalid Rowid: ({key})";
}
[ScriptMethod(name: "迷失连线", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^758[67]$"])] [ScriptMethod(name: "迷失连线", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^758[67]$"])]
public void 迷失连线(Event @event, ScriptAccessory accessory) public void 迷失连线(Event @event, ScriptAccessory accessory)
{ {
@@ -60,14 +49,11 @@ public class Formidable
accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Displacement, dp); accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Displacement, dp);
} }
[ScriptMethod(name: "迷失连线销毁", eventType: EventTypeEnum.Death, userControl: false)] [ScriptMethod(name: "迷失连线销毁", eventType: EventTypeEnum.Death, eventCondition: ["TargetDataId:regex:^758[67]$"],userControl: false)]
public void 迷失连线销毁(Event @event, ScriptAccessory accessory) public void 迷失连线销毁(Event @event, ScriptAccessory accessory)
{
if (@event.TargetName() == GetBNpcName(6737) || @event.TargetName() == GetBNpcName(6738))
{ {
accessory.Method.RemoveDraw("线"); accessory.Method.RemoveDraw("线");
} }
}
[ScriptMethod(name: "护卫自走人偶 击杀提示", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:10868"])] [ScriptMethod(name: "护卫自走人偶 击杀提示", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:10868"])]
public void (Event @event, ScriptAccessory accessory) public void (Event @event, ScriptAccessory accessory)
@@ -240,6 +226,11 @@ public class Formidable
accessory.Method.TTS("停止行动"); accessory.Method.TTS("停止行动");
} }
[ScriptMethod(name: "地瓜死亡销毁", eventType: EventTypeEnum.Death, eventCondition: ["TargetDataId:10573"],userControl: false)]
public void (Event @event, ScriptAccessory accessory)
{
accessory.Method.RemoveDraw(".*");
}
} }

View File

@@ -14,7 +14,6 @@ using ECommons;
using ECommons.DalamudServices; using ECommons.DalamudServices;
using ECommons.GameFunctions; using ECommons.GameFunctions;
using ECommons.MathHelpers; using ECommons.MathHelpers;
using Lumina.Excel.Sheets;
namespace Mascot_Murder; namespace Mascot_Murder;
@@ -31,15 +30,6 @@ public class Mica_the_Magical_Mu
"""; """;
public static string GetBNpcName(uint key)
{
var sheet = Svc.Data.GetExcelSheet<BNpcName>();
if (sheet == null) return $"Invalid sheet: ({key})";
var row = sheet.GetRow(key);
return row.Singular.ToString() ?? $"Invalid Rowid: ({key})";
}
[ScriptMethod(name: "迷失连线", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^758[67]$"])] [ScriptMethod(name: "迷失连线", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^758[67]$"])]
public void 迷失连线(Event @event, ScriptAccessory accessory) public void 迷失连线(Event @event, ScriptAccessory accessory)
{ {
@@ -58,14 +48,11 @@ public class Mica_the_Magical_Mu
accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Displacement, dp); accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Displacement, dp);
} }
[ScriptMethod(name: "迷失连线销毁", eventType: EventTypeEnum.Death, userControl: false)] [ScriptMethod(name: "迷失连线销毁", eventType: EventTypeEnum.Death, eventCondition: ["TargetDataId:regex:^758[67]$"],userControl: false)]
public void 迷失连线销毁(Event @event, ScriptAccessory accessory) public void 迷失连线销毁(Event @event, ScriptAccessory accessory)
{
if (@event.TargetName() == GetBNpcName(6737) || @event.TargetName() == GetBNpcName(6738))
{ {
accessory.Method.RemoveDraw("线"); accessory.Method.RemoveDraw("线");
} }
}
[ScriptMethod(name: "卡牌戏法_抽卡安全区", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:39156"])] [ScriptMethod(name: "卡牌戏法_抽卡安全区", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:39156"])]
public void Safe(Event @event, ScriptAccessory accessory) public void Safe(Event @event, ScriptAccessory accessory)
@@ -171,6 +158,12 @@ public class Mica_the_Magical_Mu
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Straight, dp); accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Straight, dp);
} }
[ScriptMethod(name: "鼠鼠死亡销毁", eventType: EventTypeEnum.Death, eventCondition: ["TargetDataId:17387"],userControl: false)]
public void (Event @event, ScriptAccessory accessory)
{
accessory.Method.RemoveDraw(".*");
}
} }

View File

@@ -14,7 +14,6 @@ using ECommons;
using ECommons.DalamudServices; using ECommons.DalamudServices;
using ECommons.GameFunctions; using ECommons.GameFunctions;
using ECommons.MathHelpers; using ECommons.MathHelpers;
using Lumina.Excel.Sheets;
namespace The_Serpentlord_Seethes; namespace The_Serpentlord_Seethes;
@@ -31,15 +30,6 @@ public class Ttokrrone
"""; """;
public static string GetBNpcName(uint key)
{
var sheet = Svc.Data.GetExcelSheet<BNpcName>();
if (sheet == null) return $"Invalid sheet: ({key})";
var row = sheet.GetRow(key);
return row.Singular.ToString() ?? $"Invalid Rowid: ({key})";
}
[ScriptMethod(name: "迷失连线", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^758[67]$"])] [ScriptMethod(name: "迷失连线", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:regex:^758[67]$"])]
public void 迷失连线(Event @event, ScriptAccessory accessory) public void 迷失连线(Event @event, ScriptAccessory accessory)
{ {
@@ -58,14 +48,11 @@ public class Ttokrrone
accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Displacement, dp); accessory.Method.SendDraw(DrawModeEnum.Imgui, DrawTypeEnum.Displacement, dp);
} }
[ScriptMethod(name: "迷失连线销毁", eventType: EventTypeEnum.Death, userControl: false)] [ScriptMethod(name: "迷失连线销毁", eventType: EventTypeEnum.Death, eventCondition: ["TargetDataId:regex:^758[67]$"],userControl: false)]
public void 迷失连线销毁(Event @event, ScriptAccessory accessory) public void 迷失连线销毁(Event @event, ScriptAccessory accessory)
{
if (@event.TargetName() == GetBNpcName(6737) || @event.TargetName() == GetBNpcName(6738))
{ {
accessory.Method.RemoveDraw("线"); accessory.Method.RemoveDraw("线");
} }
}
[ScriptMethod(name: "单侧沙暴", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^3731[3-6]$"])] [ScriptMethod(name: "单侧沙暴", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^3731[3-6]$"])]
public void 单侧沙暴(Event @event, ScriptAccessory accessory) public void 单侧沙暴(Event @event, ScriptAccessory accessory)
@@ -351,15 +338,11 @@ public class Ttokrrone
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp); accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp);
} }
[ScriptMethod(name: "蛇王死亡销毁", eventType: EventTypeEnum.Death, userControl: false)] [ScriptMethod(name: "蛇王死亡销毁", eventType: EventTypeEnum.Death, eventCondition: ["TargetDataId:16863"],userControl: false)]
public void (Event @event, ScriptAccessory accessory) public void (Event @event, ScriptAccessory accessory)
{
string NpcName = GetBNpcName(12733);
if (@event.TargetName() == NpcName)
{ {
accessory.Method.RemoveDraw(".*"); accessory.Method.RemoveDraw(".*");
} }
}
} }