mirror of
https://github.com/Hibiya615/TetoraKAScript.git
synced 2025-12-17 15:24:41 +08:00
提交极火神初版绘制
This commit is contained in:
@@ -16,6 +16,7 @@ using ECommons.DalamudServices;
|
|||||||
using ECommons.GameFunctions;
|
using ECommons.GameFunctions;
|
||||||
using ECommons.MathHelpers;
|
using ECommons.MathHelpers;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using KodakkuAssist.Extensions;
|
||||||
|
|
||||||
namespace Ifrit_Extreme;
|
namespace Ifrit_Extreme;
|
||||||
|
|
||||||
@@ -40,23 +41,45 @@ public class Ifrit_Extreme
|
|||||||
[UserSetting("弹窗文本提示开关")]
|
[UserSetting("弹窗文本提示开关")]
|
||||||
public bool isText { get; set; } = true;
|
public bool isText { get; set; } = true;
|
||||||
|
|
||||||
|
[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.Countdown, eventCondition: ["Type:Stop","SourceId:E0000000"])]
|
[ScriptMethod(name: "开场提示", eventType: EventTypeEnum.Countdown, eventCondition: ["Type:Stop","SourceId:E0000000"])]
|
||||||
public async void 开场提示(Event @event, ScriptAccessory accessory)
|
public async void 开场提示(Event @event, ScriptAccessory accessory)
|
||||||
{
|
{
|
||||||
await Task.Delay(3000);
|
await Task.Delay(3000);
|
||||||
if (isText)accessory.Method.TextInfo("难度:★\nT:3层debuff换T,炸柱子时注意减伤\nD:优先转火柱子、锁链靠近 \nH:热风远离人群"
|
if (isTank && isText)accessory.Method.TextInfo("难度:★\nT:3层debuff换T,炸柱子时注意减伤", duration: 5000, true);
|
||||||
, duration: 8000, 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");
|
||||||
|
|
||||||
|
// 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出柱子一定先打柱子,否则上天直接狂暴");
|
accessory.Method.SendChat("/e ————小抄————\nT:3层debuff换T,炸柱子时注意减伤\nD:优先转火柱子、锁链靠近 \nH:热风远离人群 \n出柱子一定先打柱子,否则上天直接狂暴");
|
||||||
}
|
}
|
||||||
|
|
||||||
[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)
|
||||||
{
|
{
|
||||||
if (@event.TargetId() != accessory.Data.Me) return;
|
// var player = accessory.Data.MyObject;
|
||||||
if (isText) accessory.Method.TextInfo("换T!", duration: 3000, true);
|
// var isTank = player?.IsTank() ?? false;
|
||||||
if (isTTS) accessory.Method.TTS("换T!");
|
if (isTank && @event.TargetId() != accessory.Data.Me && isText) accessory.Method.TextInfo("挑衅", duration: 3000, true);
|
||||||
if (isEdgeTTS) accessory.Method.EdgeTTS("换T!");
|
if (isTank && @event.TargetId() == accessory.Data.Me && isText) accessory.Method.TextInfo("退避", duration: 3000, true);
|
||||||
|
if (isTank && isTTS) accessory.Method.TTS("换T!");
|
||||||
|
if (isTank && isEdgeTTS) accessory.Method.EdgeTTS("换T!");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -175,14 +198,16 @@ public class Ifrit_Extreme
|
|||||||
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
|
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
|
||||||
}
|
}
|
||||||
|
|
||||||
[ScriptMethod(name: "火狱之锁 连线提示", eventType: EventTypeEnum.StatusAdd, eventCondition: ["StatusID:377","StackCount:2"])]
|
[ScriptMethod(name: "火狱之锁 连线提示", eventType: EventTypeEnum.Tether, eventCondition: ["Id:0009"])]
|
||||||
|
// EventTypeEnum.StatusAdd, eventCondition: ["StatusID:377"],suppress:25000
|
||||||
public void 火狱之锁(Event @event, ScriptAccessory accessory)
|
public void 火狱之锁(Event @event, ScriptAccessory accessory)
|
||||||
{
|
{
|
||||||
if (@event.TargetId() != accessory.Data.Me) return;
|
if (@event.TargetId() != accessory.Data.Me || @event.SourceId() != accessory.Data.Me ) return;
|
||||||
if (isText) accessory.Method.TextInfo("锁链靠近", duration: 3000, true);
|
if (isText) accessory.Method.TextInfo("锁链靠近", duration: 3000, true);
|
||||||
if (isTTS) accessory.Method.TTS("锁链靠近");
|
if (isTTS) accessory.Method.TTS("锁链靠近");
|
||||||
if (isEdgeTTS) accessory.Method.EdgeTTS("锁链靠近");
|
if (isEdgeTTS) accessory.Method.EdgeTTS("锁链靠近");
|
||||||
|
|
||||||
|
/* 懒得拿时间了 不画了x
|
||||||
var dp = accessory.Data.GetDefaultDrawProperties();
|
var dp = accessory.Data.GetDefaultDrawProperties();
|
||||||
dp.Name = "火狱之锁";
|
dp.Name = "火狱之锁";
|
||||||
dp.Owner = @event.TargetId();
|
dp.Owner = @event.TargetId();
|
||||||
@@ -190,16 +215,7 @@ public class Ifrit_Extreme
|
|||||||
dp.Scale = new(0.5f);
|
dp.Scale = new(0.5f);
|
||||||
dp.DestoryAt = @event.DurationMilliseconds();
|
dp.DestoryAt = @event.DurationMilliseconds();
|
||||||
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
|
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
|
||||||
|
*/
|
||||||
var dp2 = accessory.Data.GetDefaultDrawProperties();
|
|
||||||
dp2.Name = "火狱之锁描边";
|
|
||||||
dp2.Color = accessory.Data.DefaultSafeColor.WithW(8f);
|
|
||||||
dp2.Owner = @event.TargetId();
|
|
||||||
dp2.Scale = new Vector2(0.56f);
|
|
||||||
dp2.InnerScale = new Vector2(0.5f);
|
|
||||||
dp2.Radian = float.Pi * 2;
|
|
||||||
dp2.DestoryAt = @event.DurationMilliseconds();
|
|
||||||
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[ScriptMethod(name: "火狱之锁销毁", eventType: EventTypeEnum.StatusRemove, eventCondition: ["StatusID:377"],userControl: false)]
|
[ScriptMethod(name: "火狱之锁销毁", eventType: EventTypeEnum.StatusRemove, eventCondition: ["StatusID:377"],userControl: false)]
|
||||||
|
|||||||
Reference in New Issue
Block a user