mirror of
https://github.com/Hibiya615/TetoraKAScript.git
synced 2025-12-17 07:18:15 +08:00
更新妖宫
This commit is contained in:
6
00-Other/ActionArea.cs
Normal file
6
00-Other/ActionArea.cs
Normal file
@@ -0,0 +1,6 @@
|
||||
namespace TetoraKodakkuScript._00_Other;
|
||||
|
||||
public class ActionArea
|
||||
{
|
||||
|
||||
}
|
||||
@@ -19,18 +19,19 @@ using FFXIVClientStructs.FFXIV.Client.Game;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game.Control;
|
||||
using FFXIVClientStructs.FFXIV.Client.Game.UI;
|
||||
using FFXIVClientStructs.FFXIV.Client.UI.Agent;
|
||||
using FFXIVClientStructs.FFXIV.Component.GUI;
|
||||
|
||||
namespace Pilgrims_Traverse;
|
||||
|
||||
[ScriptType(guid: "3f65b3c0-df48-4ef8-89ae-b8091b7690f1", name: "朝圣交错路", author: "Tetora",
|
||||
territorys: [1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1311, 1333],
|
||||
version: "0.0.1.3",note: noteStr)]
|
||||
version: "0.0.1.4",note: noteStr)]
|
||||
|
||||
public class Pilgrims_Traverse
|
||||
{
|
||||
const string noteStr =
|
||||
"""
|
||||
v0.0.1.3:
|
||||
v0.0.1.4:
|
||||
朝圣交错路基础绘制
|
||||
更新日志见dc,出现问题请带ARR录像文件反馈
|
||||
注:方法设置中的层数仅做分割线效果,并不是批量开关
|
||||
@@ -185,8 +186,6 @@ public class Pilgrims_Traverse
|
||||
public void Init(ScriptAccessory accessory) {
|
||||
PerilousLair = 0; // 80 BOSS 伤痛圆戒 钢铁
|
||||
RoaringRing = 0; // 80 BOSS 紫雷环戒 月环
|
||||
_myLightVengeance=0; // 99 光之回音
|
||||
_myDarkVengeance=0; // 99 暗之回音
|
||||
_blackandwhite = 0; // 卓异的悲寂深想战 黑白配 点名记录
|
||||
_spinelash = 0; // 卓异的悲寂深想战 棘刺尾 直线点名次数记录
|
||||
ResetMechanic(); // 卓异的悲寂 地火晶体重置
|
||||
@@ -661,7 +660,7 @@ public class Pilgrims_Traverse
|
||||
{
|
||||
var dp = accessory.Data.GetDefaultDrawProperties();
|
||||
dp.Name = $"得到宽恕的背信_光耀颂词_光轮";
|
||||
dp.Color = accessory.Data.DefaultDangerColor;
|
||||
dp.Color = accessory.Data.DefaultDangerColor.WithW(1.2f);
|
||||
dp.Owner = @event.SourceId();
|
||||
|
||||
switch (@event.ActionId())
|
||||
@@ -695,40 +694,52 @@ public class Pilgrims_Traverse
|
||||
{
|
||||
// 右刀 无意义 40401 伤害源 40551 接左刀 救赎圣臂 40552 ; 左刀 40549 接右刀 救赎圣臂 40553
|
||||
var isR = @event.ActionId == 40401;
|
||||
|
||||
var obj = IbcHelper.GetById(accessory, @event.SourceId);
|
||||
if (obj == null) return;
|
||||
|
||||
|
||||
var dp = accessory.Data.GetDefaultDrawProperties();
|
||||
var dp1 = accessory.Data.GetDefaultDrawProperties();
|
||||
|
||||
dp.Name = $"得到宽恕的背信_救赎圣拳";
|
||||
dp.Color = accessory.Data.DefaultDangerColor;
|
||||
dp.Owner = @event.SourceId();
|
||||
dp.Scale = new Vector2(30f + IbcHelper.GetHitboxRadius(obj)); // 30m + 目标圈
|
||||
dp.Radian = 180f.DegToRad();
|
||||
dp.Rotation = isR ? 270f.DegToRad() : 90f.DegToRad();
|
||||
dp.DestoryAt = 7700;
|
||||
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp);
|
||||
dp.Color = new Vector4(1f, 0f, 0f, 0.75f);
|
||||
dp1.Owner = dp.Owner = @event.SourceId();
|
||||
dp.Scale = new (30f, 60f);
|
||||
dp.Offset = new Vector3(isR ? 15f : -15f, 0f, 0f);
|
||||
dp1.Delay = dp.DestoryAt = 7400;
|
||||
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Straight, dp);
|
||||
|
||||
dp1.Name = $"得到宽恕的背信_救赎圣臂";
|
||||
dp1.Color = new Vector4(1f, 0f, 0f, 1.5f);
|
||||
dp1.Scale = new (30f);
|
||||
dp1.Radian = 220f.DegToRad();
|
||||
dp1.Rotation = isR ? 70f.DegToRad() : 290f.DegToRad();
|
||||
dp1.DestoryAt = 7800;
|
||||
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp1);
|
||||
}
|
||||
|
||||
/* 好像实体从一开始就存在,暂时不画,需要筛选可见性
|
||||
[ScriptMethod(name: "30 恕罪圣环(旋转圆形)", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:17930"])]
|
||||
[ScriptMethod(name: "30 恕罪圣环(旋转圆形)", eventType: EventTypeEnum.PlayActionTimeline, eventCondition: ["Id:7750", "SourceDataId:17930"])]
|
||||
public void 得到宽恕的背信_恕罪圣环 (Event @event, ScriptAccessory accessory)
|
||||
{
|
||||
var dp = accessory.Data.GetDefaultDrawProperties();
|
||||
var dp1 = accessory.Data.GetDefaultDrawProperties();
|
||||
dp.Name = $"得到宽恕的背信_恕罪圣环";
|
||||
dp.Color = accessory.Data.DefaultDangerColor;
|
||||
dp.Owner = @event.SourceId();
|
||||
dp.Scale = new Vector2(4f);
|
||||
dp.DestoryAt = 60000;
|
||||
dp.Color = new Vector4(0f, 0f, 1f, 3f);
|
||||
dp1.Owner = dp.Owner = @event.SourceId();
|
||||
dp1.Scale = dp.Scale = new Vector2(4f);
|
||||
dp1.DestoryAt = dp.DestoryAt = 60000;
|
||||
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
|
||||
|
||||
dp1.Name = "得到宽恕的背信_恕罪圣环描边";
|
||||
dp1.Color = new Vector4(0f, 0f, 1f, 10f);
|
||||
dp1.InnerScale = new Vector2(3.94f);
|
||||
dp1.Radian = float.Pi * 2;
|
||||
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp1);
|
||||
}
|
||||
|
||||
[ScriptMethod(name: "恕罪圣环销毁", eventType: EventTypeEnum.RemoveCombatant, eventCondition: ["DataId:17930"],userControl: false)]
|
||||
[ScriptMethod(name: "恕罪圣环销毁", eventType: EventTypeEnum.PlayActionTimeline, eventCondition: ["Id:7740", "SourceDataId:17930"] ,userControl:false)]
|
||||
public void 恕罪圣环销毁(Event @event, ScriptAccessory accessory)
|
||||
{
|
||||
accessory.Method.RemoveDraw("得到宽恕的背信_恕罪圣环");
|
||||
accessory.Method.RemoveDraw("得到宽恕的背信_恕罪圣环.*");
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -2874,42 +2885,43 @@ public class Pilgrims_Traverse
|
||||
// 被侵蚀的食罪灵 NPCID: 14038 目标圈 15.0m
|
||||
// 深渊烈焰(步进地火)普通难度 先上下 ActionId: 44075 / 后左右 ActionId: 44076
|
||||
// 召唤晶体: 44078 / 晶体爆炸: 44079 先左右 ActionId: 44074 / 后上下 ActionId: 44077
|
||||
// debuff: 4559 暗 / 4560 光
|
||||
// 以太吸取 普通难度 44088 短暗 / 44089 长暗 / 44090 短光 / 44092 长光
|
||||
|
||||
uint _myLightVengeance=0;
|
||||
uint _myDarkVengeance=0;
|
||||
|
||||
|
||||
[ScriptMethod(name: "99 烈焰锢(热病)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4406[39]$"])]
|
||||
public void 烈焰锢(Event @event, ScriptAccessory accessory)
|
||||
public void Normal_烈焰锢(Event @event, ScriptAccessory accessory)
|
||||
{
|
||||
// 本体无意义读条 快: 44063 源: 44064 / 慢: 44069 源:44070 , 其中 源 比 无意义 读条更多 0.7s
|
||||
// 烈焰锢 (热病) StatusID: 4562 , 赋予时间约 2.6s
|
||||
|
||||
var chara = accessory.Data.Objects.OfType<IBattleChara>().FirstOrDefault();
|
||||
var nameId = chara?.NameId;
|
||||
if (chara == null) return;
|
||||
|
||||
int duration = @event.ActionId == 44069 ? 10900 : 7900;
|
||||
bool isFastCast = @event.ActionId == 44063;
|
||||
bool isSlowCast = @event.ActionId == 44069;
|
||||
|
||||
if (isText) accessory.Method.TextInfo("停止移动", duration: duration, true);
|
||||
if (isTTS) accessory.Method.TTS("停止移动");
|
||||
if (isEdgeTTS) accessory.Method.EdgeTTS("停止移动");
|
||||
int duration = isFastCast ? 4000 : 7000;
|
||||
string timingType = isFastCast ? "前" : "后";
|
||||
|
||||
if (isText) accessory.Method.TextInfo($"直线{timingType}停止移动", duration: duration, true);
|
||||
if (isTTS) accessory.Method.TTS($"直线{timingType}停止移动");
|
||||
if (isEdgeTTS) accessory.Method.EdgeTTS($"直线{timingType}停止移动");
|
||||
}
|
||||
|
||||
[ScriptMethod(name: "99 火球(旋风)预备提示", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4406[18]$"])]
|
||||
public void 火球预备(Event @event, ScriptAccessory accessory)
|
||||
public void Normal_火球预备(Event @event, ScriptAccessory accessory)
|
||||
{
|
||||
int duration = @event.ActionId == 44061 ? 5000 : 8000;
|
||||
|
||||
if (isText) accessory.Method.TextInfo("旋风预备", duration: duration, true);
|
||||
if (isTTS) accessory.Method.TTS("旋风预备");
|
||||
if (isEdgeTTS) accessory.Method.EdgeTTS("旋风预备");
|
||||
bool isFastCast = @event.ActionId == 44061;
|
||||
bool isSlowCast = @event.ActionId == 44068;
|
||||
|
||||
int duration = isFastCast ? 5000 : 8000;
|
||||
string timingType = isFastCast ? "前" : "后";
|
||||
|
||||
if (isText) accessory.Method.TextInfo($"直线{timingType}旋风", duration: duration, true);
|
||||
if (isTTS) accessory.Method.TTS($"直线{timingType}旋风");
|
||||
if (isEdgeTTS) accessory.Method.EdgeTTS($"直线{timingType}旋风");
|
||||
}
|
||||
|
||||
[ScriptMethod(name: "99 火球(旋风)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:44062"])]
|
||||
public void 火球 (Event @event, ScriptAccessory accessory)
|
||||
public void Normal_火球 (Event @event, ScriptAccessory accessory)
|
||||
{
|
||||
var dp = accessory.Data.GetDefaultDrawProperties();
|
||||
dp.Name = $"火球";
|
||||
@@ -2921,7 +2933,7 @@ public class Pilgrims_Traverse
|
||||
}
|
||||
|
||||
[ScriptMethod(name: "99 卓异的悲寂_棘刺尾(穿刺点名直线预兆)", eventType: EventTypeEnum.TargetIcon, eventCondition: ["Id:00EA"])]
|
||||
public void 棘刺尾预兆(Event @event, ScriptAccessory accessory)
|
||||
public void Normal_棘刺尾预兆(Event @event, ScriptAccessory accessory)
|
||||
{
|
||||
if (HelperExtensions.GetCurrentTerritoryId() != MapIds.TheFinalVerse) return;
|
||||
|
||||
@@ -2940,7 +2952,7 @@ public class Pilgrims_Traverse
|
||||
}
|
||||
|
||||
[ScriptMethod(name: "99 卓异的悲寂_棘刺尾(穿刺点名直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:45118"])]
|
||||
public void 棘刺尾(Event @event, ScriptAccessory accessory)
|
||||
public void Normal_棘刺尾(Event @event, ScriptAccessory accessory)
|
||||
{
|
||||
if (isText)accessory.Method.TextInfo("快躲开", duration: 800, true);
|
||||
if (isTTS)accessory.Method.TTS("快躲开");
|
||||
@@ -2957,7 +2969,7 @@ public class Pilgrims_Traverse
|
||||
}
|
||||
|
||||
[ScriptMethod(name: "99 光耀之剑(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^440(67|73)$"])]
|
||||
public void 光耀之剑(Event @event, ScriptAccessory accessory)
|
||||
public void Normal_光耀之剑(Event @event, ScriptAccessory accessory)
|
||||
{
|
||||
var dp = accessory.Data.GetDefaultDrawProperties();
|
||||
dp.Name = $"光耀之剑";
|
||||
@@ -2970,7 +2982,7 @@ public class Pilgrims_Traverse
|
||||
}
|
||||
|
||||
[ScriptMethod(name: "99 净罪之环 TTS", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:44082"])]
|
||||
public void 净罪之环tts(Event @event, ScriptAccessory accessory)
|
||||
public void Normal_净罪之环tts(Event @event, ScriptAccessory accessory)
|
||||
{
|
||||
if (isText)accessory.Method.TextInfo("抓人牢狱", duration: 3000, true);
|
||||
if (isTTS)accessory.Method.TTS("抓人牢狱");
|
||||
@@ -2978,7 +2990,7 @@ public class Pilgrims_Traverse
|
||||
}
|
||||
|
||||
[ScriptMethod(name: "99 净罪之环(抓人牢狱 - 判定动画)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:44083"])]
|
||||
public void 净罪之环 (Event @event, ScriptAccessory accessory)
|
||||
public void Normal_净罪之环 (Event @event, ScriptAccessory accessory)
|
||||
{
|
||||
var dp = accessory.Data.GetDefaultDrawProperties();
|
||||
dp.Name = $"净罪之环";
|
||||
@@ -2990,6 +3002,25 @@ public class Pilgrims_Traverse
|
||||
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
|
||||
}
|
||||
|
||||
[ScriptMethod(name: "99 以太吸取(buff检测)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4409[02]$"])]
|
||||
public void Normal_以太吸取(Event @event, ScriptAccessory accessory)
|
||||
{
|
||||
// debuff: 4559 暗 / 4560 光
|
||||
// 以太吸取 普通难度 44088 短暗 / 44089 长暗 / 44090 短光 / 44092 长光
|
||||
(string firstDrainAether, string secondDrainAether) = @event.ActionId switch
|
||||
{
|
||||
// 44088 => ("吃光", "吃暗"), // 短暗
|
||||
// 44089 => ("吃暗", "吃光"), // 长暗
|
||||
44090 => ("吃暗", "吃光"), // 短光
|
||||
44092 => ("吃光", "吃暗"), // 长光
|
||||
_ => ("未知", "未知")
|
||||
};
|
||||
|
||||
if (isText)accessory.Method.TextInfo($"先{firstDrainAether},再{secondDrainAether}", duration: 10000, true);
|
||||
if (isTTS)accessory.Method.TTS($"先{firstDrainAether},再{secondDrainAether}");
|
||||
if (isEdgeTTS)accessory.Method.EdgeTTS($"先{firstDrainAether},再{secondDrainAether}");
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -3011,18 +3042,35 @@ public class Pilgrims_Traverse
|
||||
|
||||
private int firstGroupCount = 0;
|
||||
private int secondGroupCount = 0;
|
||||
private int firstGroup44115Count = 0;
|
||||
private int secondGroup44115Count = 0;
|
||||
private int firstGroupAddCount = 0;
|
||||
private int secondGroupAddCount = 0;
|
||||
private bool isFirstGroupComplete = false;
|
||||
private string firstGroupDirection = "vertical";
|
||||
private string secondGroupDirection = "horizontal";
|
||||
private bool resetScheduled = false;
|
||||
|
||||
[ScriptMethod(name: "深渊爆焰(地火)读条提示", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4479[78]$"])]
|
||||
[ScriptMethod(name: "深渊爆焰(地火)读条提示", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^(4407[45]|4479[78])$"])]
|
||||
public void Q40_深渊爆焰提示(Event @event, ScriptAccessory accessory)
|
||||
{
|
||||
var isFirst = @event.ActionId == 44797 ? "左右" : "上下";
|
||||
var isSecond = @event.ActionId == 44797 ? "上下" : "左右";
|
||||
string isFirst, isSecond;
|
||||
|
||||
switch (@event.ActionId)
|
||||
{
|
||||
case 44075:
|
||||
case 44798:
|
||||
isFirst = "上下";
|
||||
isSecond = "左右";
|
||||
break;
|
||||
case 44074:
|
||||
case 44797:
|
||||
isFirst = "左右";
|
||||
isSecond = "上下";
|
||||
break;
|
||||
default:
|
||||
isFirst = "未知";
|
||||
isSecond = "未知";
|
||||
break;
|
||||
}
|
||||
|
||||
if (isText) accessory.Method.TextInfo($"地火: 先{isFirst} , 再{isSecond}", duration: 16700, true);
|
||||
if (isTTS) accessory.Method.TTS($"先{isFirst}, 后{isSecond}");
|
||||
@@ -3030,37 +3078,37 @@ public class Pilgrims_Traverse
|
||||
accessory.Method.SendChat($"/e [Kodakku] 地火记录: 先{isFirst},再{isSecond}");
|
||||
}
|
||||
|
||||
[ScriptMethod(name: "深渊爆焰晶体生成技能", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:44115"], userControl:false)]
|
||||
[ScriptMethod(name: "深渊爆焰晶体生成技能", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:regex:^(44078|44115)"], userControl:false)]
|
||||
public void Q40_深渊爆焰晶体生成技能(Event @event, ScriptAccessory accessory)
|
||||
{
|
||||
Vector3 spawnPosition = @event.EffectPosition;
|
||||
|
||||
string direction;
|
||||
|
||||
if (firstGroup44115Count < 6)
|
||||
if (firstGroupAddCount < 6)
|
||||
{
|
||||
direction = firstGroupDirection;
|
||||
firstGroup44115Count++;
|
||||
if(isDeveloper) accessory.Method.SendChat($"/e [地火44115] 第一组{firstGroup44115Count}/6: 位置{spawnPosition}, 方向{direction}");
|
||||
firstGroupAddCount++;
|
||||
// if(isDeveloper) accessory.Method.SendChat($"/e [地火生成] 第一组{firstGroupAddCount}/6: 位置{spawnPosition}, 方向{direction}");
|
||||
}
|
||||
else if (secondGroup44115Count < 6)
|
||||
else if (secondGroupAddCount < 6)
|
||||
{
|
||||
direction = secondGroupDirection;
|
||||
secondGroup44115Count++;
|
||||
if(isDeveloper) accessory.Method.SendChat($"/e [地火44115] 第二组{secondGroup44115Count}/6: 位置{spawnPosition}, 方向{direction}");
|
||||
secondGroupAddCount++;
|
||||
// if(isDeveloper) accessory.Method.SendChat($"/e [地火生成] 第二组{secondGroupAddCount}/6: 位置{spawnPosition}, 方向{direction}");
|
||||
}
|
||||
else
|
||||
{
|
||||
direction = "vertical";
|
||||
if(isDeveloper) accessory.Method.SendChat($"/e [地火警告] 44115技能超出12个限制");
|
||||
if(isDeveloper) accessory.Method.SendChat($"/e [地火警告] Action生成晶体超出12个限制");
|
||||
}
|
||||
|
||||
// 直接记录位置和方向
|
||||
crystalPositionDirections[spawnPosition] = direction;
|
||||
|
||||
if (firstGroup44115Count + secondGroup44115Count == 12)
|
||||
if (firstGroupAddCount + secondGroupAddCount == 12)
|
||||
{
|
||||
if(isDeveloper) accessory.Method.SendChat($"/e [地火] 通过44115完成12个晶体记录");
|
||||
if(isDeveloper) accessory.Method.SendChat($"/e [地火] 通过ActionId完成12个晶体记录");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3070,29 +3118,36 @@ public class Pilgrims_Traverse
|
||||
uint crystalSourceId = @event.SourceId();
|
||||
Vector3 crystalPosition = @event.SourcePosition();
|
||||
|
||||
if(isDeveloper) accessory.Method.SendChat($"/e [地火调试] ObjectChanged: {crystalSourceId} 位置{crystalPosition}");
|
||||
// if(isDeveloper) accessory.Method.SendChat($"/e [地火调试] ObjectChanged: {crystalSourceId} 位置{crystalPosition}");
|
||||
}
|
||||
|
||||
[ScriptMethod(name: "深渊爆焰BOSS读条记录", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4479[78]$"] ,userControl:false)]
|
||||
[ScriptMethod(name: "深渊爆焰BOSS读条记录", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^(4407[45]|4479[78])$"] ,userControl:false)]
|
||||
public void Q40_深渊爆焰BOSS读条记录(Event @event, ScriptAccessory accessory)
|
||||
{
|
||||
ResetMechanic();
|
||||
|
||||
if (@event.ActionId == 44798)
|
||||
switch (@event.ActionId)
|
||||
{
|
||||
firstGroupDirection = "vertical"; // 先上下
|
||||
secondGroupDirection = "horizontal";
|
||||
}
|
||||
else if (@event.ActionId == 44797)
|
||||
{
|
||||
firstGroupDirection = "horizontal"; // 先左右
|
||||
secondGroupDirection = "vertical";
|
||||
case 44075:
|
||||
case 44798:
|
||||
firstGroupDirection = "vertical"; // 先上下
|
||||
secondGroupDirection = "horizontal"; // 后左右
|
||||
break;
|
||||
case 44074:
|
||||
case 44797:
|
||||
firstGroupDirection = "horizontal"; // 先左右
|
||||
secondGroupDirection = "vertical"; // 后上下
|
||||
break;
|
||||
default:
|
||||
firstGroupDirection = "???";
|
||||
secondGroupDirection = "???";
|
||||
break;
|
||||
}
|
||||
|
||||
if(isDeveloper) accessory.Method.SendChat($"/e [地火] 重置: 先{firstGroupDirection}后{secondGroupDirection}, 44115计数清零");
|
||||
if(isDeveloper) accessory.Method.SendChat($"/e [地火] 重置: 先{firstGroupDirection}后{secondGroupDirection}, ActionId[{@event.ActionId}]计数清零");
|
||||
}
|
||||
|
||||
[ScriptMethod(name: "深渊爆焰(地火)初始炸绘制", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:44118"])]
|
||||
[ScriptMethod(name: "深渊爆焰(地火)初始炸绘制", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^(44079|44118)"])]
|
||||
public void Q40_深渊爆焰初始(Event @event, ScriptAccessory accessory)
|
||||
{
|
||||
var dp = accessory.Data.GetDefaultDrawProperties();
|
||||
@@ -3105,7 +3160,7 @@ public class Pilgrims_Traverse
|
||||
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
|
||||
}
|
||||
|
||||
[ScriptMethod(name: "深渊爆焰(地火)步进炸", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:44118"])]
|
||||
[ScriptMethod(name: "深渊爆焰(地火)步进炸", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:regex:^(44079|44118)"])]
|
||||
public void Q40_深渊爆焰步进(Event @event, ScriptAccessory accessory)
|
||||
{
|
||||
uint fireSourceId = @event.SourceId();
|
||||
@@ -3152,7 +3207,7 @@ public class Pilgrims_Traverse
|
||||
dp.Owner = fireSourceId;
|
||||
dp.Position = stepPos;
|
||||
dp.Scale = new Vector2(5f);
|
||||
dp.DestoryAt = 800;
|
||||
dp.DestoryAt = 1000;
|
||||
dp.Delay = 800 * step;
|
||||
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
|
||||
|
||||
@@ -3172,7 +3227,7 @@ public class Pilgrims_Traverse
|
||||
predictDp.Owner = fireSourceId;
|
||||
predictDp.Position = nextStepPos;
|
||||
predictDp.Scale = new Vector2(5f);
|
||||
predictDp.DestoryAt = 800;
|
||||
predictDp.DestoryAt = 1000;
|
||||
predictDp.Delay = 800 * step;
|
||||
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, predictDp);
|
||||
}
|
||||
@@ -3237,8 +3292,8 @@ public class Pilgrims_Traverse
|
||||
|
||||
private void ResetMechanic()
|
||||
{
|
||||
firstGroup44115Count = 0;
|
||||
secondGroup44115Count = 0;
|
||||
firstGroupAddCount = 0;
|
||||
secondGroupAddCount = 0;
|
||||
crystalPositionDirections.Clear();
|
||||
firstGroupDirection = "vertical";
|
||||
secondGroupDirection = "horizontal";
|
||||
@@ -3314,6 +3369,20 @@ public class Pilgrims_Traverse
|
||||
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp);
|
||||
}
|
||||
|
||||
[ScriptMethod(name: "火球(旋风)预备提示", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^44(097|105)$"])]
|
||||
public void Q40_火球预备(Event @event, ScriptAccessory accessory)
|
||||
{
|
||||
bool isFastCast = @event.ActionId == 44097;
|
||||
bool isSlowCast = @event.ActionId == 44105;
|
||||
|
||||
int duration = isFastCast ? 4000 : 7000;
|
||||
string timingType = isFastCast ? "前" : "后";
|
||||
|
||||
if (isText) accessory.Method.TextInfo($"直线{timingType}旋风", duration: duration, true);
|
||||
if (isTTS) accessory.Method.TTS($"直线{timingType}旋风");
|
||||
if (isEdgeTTS) accessory.Method.EdgeTTS($"直线{timingType}旋风");
|
||||
}
|
||||
|
||||
[ScriptMethod(name: "火球(旋风)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:44098"])]
|
||||
public void Q40_火球 (Event @event, ScriptAccessory accessory)
|
||||
{
|
||||
@@ -3326,6 +3395,23 @@ public class Pilgrims_Traverse
|
||||
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
|
||||
}
|
||||
|
||||
[ScriptMethod(name: "烈焰锢(热病)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^44(099|106)$"])]
|
||||
public void Q40_烈焰锢(Event @event, ScriptAccessory accessory)
|
||||
{
|
||||
// 本体无意义读条 快: 44099 源: 44100 / 慢: 44106 源:44107 , 其中 源 比 无意义 读条更多 0.7s
|
||||
// 烈焰锢 (热病) StatusID: 4562 , 赋予时间约 2.6s
|
||||
|
||||
bool isFastCast = @event.ActionId == 44099;
|
||||
bool isSlowCast = @event.ActionId == 44106;
|
||||
|
||||
int duration = isFastCast ? 4000 : 7000;
|
||||
string timingType = isFastCast ? "前" : "后";
|
||||
|
||||
if (isText) accessory.Method.TextInfo($"直线{timingType}停止移动", duration: duration, true);
|
||||
if (isTTS) accessory.Method.TTS($"直线{timingType}停止移动");
|
||||
if (isEdgeTTS) accessory.Method.EdgeTTS($"直线{timingType}停止移动");
|
||||
}
|
||||
|
||||
[ScriptMethod(name: "烈焰链 准备提示", eventType: EventTypeEnum.TargetIcon, eventCondition: ["Id:0061"])]
|
||||
public void Q40_烈焰链_准备提示(Event @event, ScriptAccessory accessory)
|
||||
{
|
||||
@@ -3584,13 +3670,13 @@ public class Pilgrims_Traverse
|
||||
if (isHealer && isEdgeTTS) accessory.Method.EdgeTTS($"驱散死宣");
|
||||
}
|
||||
|
||||
private const uint DarkVengeance = 0x11CF; // 4559 = 0x11CF 暗之回音
|
||||
private const uint LightVengeance = 0x11D0; // 4560 = 0x11D0 光之回音
|
||||
private const uint SinBearer = 0x11D7; // 4567 = 0x11D7 罪积蓄 [毒]
|
||||
|
||||
/*
|
||||
[ScriptMethod(name: "以太吸取(buff检测)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^4413[13]$"])]
|
||||
public void Q40_以太吸取(Event @event, ScriptAccessory accessory)
|
||||
{
|
||||
// debuff: 4559 暗 / 4560 光
|
||||
// 需要额外判断当前自身是否持有【毒 4567】
|
||||
(string firstDrainAether, string secondDrainAether) = @event.ActionId switch
|
||||
{
|
||||
// 44129 => ("吃光", "吃暗"), // 短暗
|
||||
@@ -3599,12 +3685,27 @@ public class Pilgrims_Traverse
|
||||
44133 => ("吃光", "吃暗"), // 长光
|
||||
_ => ("未知", "未知")
|
||||
};
|
||||
|
||||
var myObject = accessory.Data.MyObject;
|
||||
if (myObject == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (isText)accessory.Method.TextInfo($"先{firstDrainAether},再{secondDrainAether}", duration: 10000, true);
|
||||
if (isTTS)accessory.Method.TTS($"先{firstDrainAether},再{secondDrainAether}");
|
||||
if (isEdgeTTS)accessory.Method.EdgeTTS($"先{firstDrainAether},再{secondDrainAether}");
|
||||
if (!IbcHelper.HasStatus(accessory, accessory.Data.MyObject, 0x11D7))
|
||||
{
|
||||
if (isText)accessory.Method.TextInfo($"先{firstDrainAether},再{secondDrainAether}", duration: 10000, true);
|
||||
if (isTTS)accessory.Method.TTS($"先{firstDrainAether},再{secondDrainAether}");
|
||||
if (isEdgeTTS)accessory.Method.EdgeTTS($"先{firstDrainAether},再{secondDrainAether}");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isText)accessory.Method.TextInfo($"毒,始终保持为暗", duration: 10000, true);
|
||||
if (isTTS)accessory.Method.TTS($"保持为暗");
|
||||
if (isEdgeTTS)accessory.Method.EdgeTTS($"保持为暗");
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
// P4 烈焰缠身 → 深渊爆焰(存储地火)
|
||||
|
||||
|
||||
@@ -712,12 +712,12 @@
|
||||
{
|
||||
"Name": "朝圣交错路",
|
||||
"Guid": "3f65b3c0-df48-4ef8-89ae-b8091b7690f1",
|
||||
"Version": "0.0.1.3",
|
||||
"Version": "0.0.1.4",
|
||||
"Author": "Tetora",
|
||||
"Repo": "https://github.com/Hibiya615/TetoraKAScript",
|
||||
"DownloadUrl": "https://raw.githubusercontent.com/Hibiya615/TetoraKAScript/refs/heads/main/Deep_Dungeon/Pilgrims_Traverse.cs",
|
||||
"Note": "v0.0.1.3:\r\n朝圣交错路测试绘制\r\n未全部测试,可能部分有误,更新日志见dc\r\n注:方法设置中的层数仅做分割线效果,并不是批量开关\r\n出现问题请携带ARR反馈!",
|
||||
"UpdateInfo": "v0.0.1.3: 朝圣交错路测试绘制 更新内容见dc",
|
||||
"Note": "v0.0.1.4:\r\n朝圣交错路测试绘制\r\n未全部测试,可能部分有误,更新日志见dc\r\n注:方法设置中的层数仅做分割线效果,并不是批量开关\r\n出现问题请携带ARR反馈!",
|
||||
"UpdateInfo": "v0.0.1.4: 朝圣交错路测试绘制 更新内容见dc",
|
||||
"TerritoryIds": [
|
||||
1281,
|
||||
1282,
|
||||
|
||||
Reference in New Issue
Block a user