初次提交

This commit is contained in:
Hibiya615
2025-02-11 04:41:51 +08:00
commit bf3ca8e8a6
30 changed files with 2242 additions and 0 deletions

3
.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
*.csproj
*.sln
*.user

View File

@@ -0,0 +1,232 @@
using System;
using System.ComponentModel;
using System.Linq;
using System.Numerics;
using System.Collections.Generic;
using Dalamud.Game.ClientState.Objects.Types;
using Newtonsoft.Json;
using Dalamud.Utility.Numerics;
using KodakkuAssist.Script;
using KodakkuAssist.Module.GameEvent;
using KodakkuAssist.Module.Draw;
using ECommons;
using ECommons.DalamudServices;
using ECommons.GameFunctions;
using ECommons.MathHelpers;
namespace theBowlofEmbers_Hard;
[ScriptType(guid: "d3d532f1-0707-427f-ac04-871a22022c11", name: "伊弗利特歼灭战", territorys: [292],
version: "0.0.0.1", author: "Tetora", note: noteStr)]
public class theBowlofEmbers_Hard
{
const string noteStr =
"""
v0.0.0.1:
LV50
""";
[UserSetting("顺劈死刑预测")]
public static bool { get; set; } = true;
[ScriptMethod(name: "烈焰焚烧(仅开场)", eventType: EventTypeEnum.Chat, userControl:false, eventCondition: ["Type:NPCDialogueAnnouncements", "Message:regex:^勇猛无比.*", "Sender:伊弗利特"])]
public void (Event @event, ScriptAccessory accessory)
{
if (!) return;
var dp = accessory.Data.GetDefaultDrawProperties();
var ifrits = Svc.Objects.Where(x => x.DataId == 209);
foreach (var ifrit in ifrits)
{
if (ifrit.IsTargetable)
{
dp.Owner = ifrit.EntityId;
}
}
dp.Name = "烈焰焚烧";
dp.Color = accessory.Data.DefaultDangerColor;
dp.Scale = new Vector2(15);
dp.Radian = 120f.DegToRad();
dp.DestoryAt = 2600;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp);
}
[UserSetting("击退预测")]
public static bool { get; set; } = false;
[ScriptMethod(name: "火神爆裂(仅开场)", eventType: EventTypeEnum.Chat, userControl:false, eventCondition: ["Type:NPCDialogueAnnouncements", "Message:regex:^勇猛无比.*", "Sender:伊弗利特"])]
public void (Event @event, ScriptAccessory accessory)
{
if (!) return;
var dp = accessory.Data.GetDefaultDrawProperties();
var ifrits = Svc.Objects.Where(x => x.DataId == 209);
foreach (var ifrit in ifrits)
{
if (ifrit.IsTargetable)
{
dp.Owner = ifrit.EntityId;
}
}
dp.Name = "火神爆裂";
dp.Color = accessory.Data.DefaultDangerColor;
dp.Scale = new Vector2(21f);
dp.DestoryAt = 2500;
dp.Delay = 7000;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
[ScriptMethod(name: "地火喷发", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:1358"])]
public void (Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "地火喷发";
dp.Color = accessory.Data.DefaultDangerColor;
dp.Position = @event.EffectPosition();
dp.Scale = new Vector2(8f);
dp.DestoryAt = 2700;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
[ScriptMethod(name: "深红旋风(火神冲)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:457"])]
public void (Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "深红旋风";
dp.Scale = new (12, 43f);
dp.Owner = @event.SourceId();
dp.Color = accessory.Data.DefaultDangerColor;
dp.DestoryAt = 2700;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp);
}
}
public static class EventExtensions
{
private static bool ParseHexId(string? idStr, out uint id)
{
id = 0;
if (string.IsNullOrEmpty(idStr)) return false;
try
{
var idStr2 = idStr.Replace("0x", "");
id = uint.Parse(idStr2, System.Globalization.NumberStyles.HexNumber);
return true;
}
catch (Exception)
{
return false;
}
}
public static uint ActionId(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["ActionId"]);
}
public static uint SourceId(this Event @event)
{
return ParseHexId(@event["SourceId"], out var id) ? id : 0;
}
public static uint SourceDataId(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["SourceDataId"]);
}
public static uint Command(this Event @event)
{
return ParseHexId(@event["Command"], out var cid) ? cid : 0;
}
public static string DurationMilliseconds(this Event @event)
{
return JsonConvert.DeserializeObject<string>(@event["DurationMilliseconds"]) ?? string.Empty;
}
public static float SourceRotation(this Event @event)
{
return JsonConvert.DeserializeObject<float>(@event["SourceRotation"]);
}
public static float TargetRotation(this Event @event)
{
return JsonConvert.DeserializeObject<float>(@event["TargetRotation"]);
}
public static byte Index(this Event @event)
{
return (byte)(ParseHexId(@event["Index"], out var index) ? index : 0);
}
public static uint State(this Event @event)
{
return ParseHexId(@event["State"], out var state) ? state : 0;
}
public static string SourceName(this Event @event)
{
return @event["SourceName"];
}
public static string TargetName(this Event @event)
{
return @event["TargetName"];
}
public static uint TargetId(this Event @event)
{
return ParseHexId(@event["TargetId"], out var id) ? id : 0;
}
public static Vector3 SourcePosition(this Event @event)
{
return JsonConvert.DeserializeObject<Vector3>(@event["SourcePosition"]);
}
public static Vector3 TargetPosition(this Event @event)
{
return JsonConvert.DeserializeObject<Vector3>(@event["TargetPosition"]);
}
public static Vector3 EffectPosition(this Event @event)
{
return JsonConvert.DeserializeObject<Vector3>(@event["EffectPosition"]);
}
public static uint DirectorId(this Event @event)
{
return ParseHexId(@event["DirectorId"], out var id) ? id : 0;
}
public static uint StatusId(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["StatusId"]);
}
public static uint StackCount(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["StackCount"]);
}
public static uint Param(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["Param"]);
}
}
public static class Extensions
{
public static void TTS(this ScriptAccessory accessory, string text, bool isTTS, bool isDRTTS)
{
if (isDRTTS)
{
accessory.Method.SendChat($"/pdr tts {text}");
}
else if (isTTS)
{
accessory.Method.TTS(text);
}
}
}

View File

@@ -0,0 +1,190 @@
using System;
using System.ComponentModel;
using System.Linq;
using System.Numerics;
using System.Collections.Generic;
using Dalamud.Game.ClientState.Objects.Types;
using Newtonsoft.Json;
using Dalamud.Utility.Numerics;
using KodakkuAssist.Script;
using KodakkuAssist.Module.GameEvent;
using KodakkuAssist.Module.Draw;
using ECommons;
using ECommons.DalamudServices;
using ECommons.GameFunctions;
using ECommons.MathHelpers;
namespace A_Relic_Reborn_the_Hydra;
[ScriptType(guid: "d32d7489-a1bb-4117-98dd-ee895390804d", name: "海德拉讨伐战", territorys: [369],
version: "0.0.0.1", author: "Tetora", note: noteStr)]
public class theBowlofEmbers_Hard
{
const string noteStr =
"""
v0.0.0.1:
LV50
""";
[ScriptMethod(name: "三头政权(顺劈死刑)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:1278"])]
public void (Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "三头政权";
dp.Color = accessory.Data.DefaultDangerColor;
dp.Scale = new Vector2(15);
dp.Radian = 120f.DegToRad();
dp.DestoryAt = 200;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp);
}
[ScriptMethod(name: "恐惧迷雾", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:1280"])]
public void (Event @event, ScriptAccessory accessory)
{
accessory.Method.TextInfo("去中间", duration: 5700, true);
accessory.Method.TTS("去中间");
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "恐惧迷雾";
dp.Color = new Vector4(1f, 0.5f, 0f, 0.5f);
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(34f); // 实际应为 54 + 2.4
dp.InnerScale = new Vector2(4f);
dp.Radian = float.Pi * 2;
dp.DestoryAt = 5700;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp);
}
}
public static class EventExtensions
{
private static bool ParseHexId(string? idStr, out uint id)
{
id = 0;
if (string.IsNullOrEmpty(idStr)) return false;
try
{
var idStr2 = idStr.Replace("0x", "");
id = uint.Parse(idStr2, System.Globalization.NumberStyles.HexNumber);
return true;
}
catch (Exception)
{
return false;
}
}
public static uint ActionId(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["ActionId"]);
}
public static uint SourceId(this Event @event)
{
return ParseHexId(@event["SourceId"], out var id) ? id : 0;
}
public static uint SourceDataId(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["SourceDataId"]);
}
public static uint Command(this Event @event)
{
return ParseHexId(@event["Command"], out var cid) ? cid : 0;
}
public static string DurationMilliseconds(this Event @event)
{
return JsonConvert.DeserializeObject<string>(@event["DurationMilliseconds"]) ?? string.Empty;
}
public static float SourceRotation(this Event @event)
{
return JsonConvert.DeserializeObject<float>(@event["SourceRotation"]);
}
public static float TargetRotation(this Event @event)
{
return JsonConvert.DeserializeObject<float>(@event["TargetRotation"]);
}
public static byte Index(this Event @event)
{
return (byte)(ParseHexId(@event["Index"], out var index) ? index : 0);
}
public static uint State(this Event @event)
{
return ParseHexId(@event["State"], out var state) ? state : 0;
}
public static string SourceName(this Event @event)
{
return @event["SourceName"];
}
public static string TargetName(this Event @event)
{
return @event["TargetName"];
}
public static uint TargetId(this Event @event)
{
return ParseHexId(@event["TargetId"], out var id) ? id : 0;
}
public static Vector3 SourcePosition(this Event @event)
{
return JsonConvert.DeserializeObject<Vector3>(@event["SourcePosition"]);
}
public static Vector3 TargetPosition(this Event @event)
{
return JsonConvert.DeserializeObject<Vector3>(@event["TargetPosition"]);
}
public static Vector3 EffectPosition(this Event @event)
{
return JsonConvert.DeserializeObject<Vector3>(@event["EffectPosition"]);
}
public static uint DirectorId(this Event @event)
{
return ParseHexId(@event["DirectorId"], out var id) ? id : 0;
}
public static uint StatusId(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["StatusId"]);
}
public static uint StackCount(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["StackCount"]);
}
public static uint Param(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["Param"]);
}
}
public static class Extensions
{
public static void TTS(this ScriptAccessory accessory, string text, bool isTTS, bool isDRTTS)
{
if (isDRTTS)
{
accessory.Method.SendChat($"/pdr tts {text}");
}
else if (isTTS)
{
accessory.Method.TTS(text);
}
}
}

410
05-Eden/Normal/E10n.cs Normal file
View File

@@ -0,0 +1,410 @@
using System;
using System.ComponentModel;
using System.Linq;
using System.Numerics;
using System.Collections.Generic;
using Dalamud.Game.ClientState.Objects.Types;
using Newtonsoft.Json;
using Dalamud.Utility.Numerics;
using KodakkuAssist.Script;
using KodakkuAssist.Module.GameEvent;
using KodakkuAssist.Module.Draw;
using ECommons;
using ECommons.DalamudServices;
using ECommons.GameFunctions;
using ECommons.MathHelpers;
namespace E10n;
[ScriptType(guid: "038e00e8-d378-4f43-89ab-e27df5561d5a", name: "E10N", territorys: [943],
version: "0.0.0.1", author: "Tetora", note: noteStr)]
public class E10n
{
const string noteStr =
"""
v0.0.0.1:
2
""";
public enum ImplosionType {
FRONT, // 22196
BACK, // 22199
LEFT, // 22193
RIGHT, // 22190
SHADOWY_FRONT, // 22197
SHADOWY_BACK, // 22200
SHADOWY_LEFT, // 22194
SHADOWY_RIGHT // 22191
}
[ScriptMethod(name: "向心聚爆 & 十亿斩击", eventType: EventTypeEnum.StartCasting,
eventCondition:["ActionId:regex:^(2219[0134679]|22200)$"])]
public void 半场刀判断(Event @event, ScriptAccessory accessory) {
uint decimalActionID = Convert.ToUInt32(@event["ActionId"], 10);
ImplosionType implosionType = ImplosionType.FRONT;
bool actionIDConfirmed = false;
switch (decimalActionID)
{
case 22196:
{
implosionType = ImplosionType.FRONT;
actionIDConfirmed = true;
break;
}
case 22199:
{
implosionType = ImplosionType.BACK;
actionIDConfirmed = true;
break;
}
case 22193:
{
implosionType = ImplosionType.LEFT;
actionIDConfirmed = true;
break;
}
case 22190:
{
implosionType = ImplosionType.RIGHT;
actionIDConfirmed = true;
break;
}
case 22197:
{
implosionType = ImplosionType.SHADOWY_FRONT;
actionIDConfirmed = true;
break;
}
case 22200:
{
implosionType = ImplosionType.SHADOWY_BACK;
actionIDConfirmed = true;
break;
}
case 22194:
{
implosionType = ImplosionType.SHADOWY_LEFT;
actionIDConfirmed = true;
break;
}
case 22191:
{
implosionType = ImplosionType.SHADOWY_RIGHT;
actionIDConfirmed = true;
break;
}
default:
{
accessory.Method.SendChat("/e 技能ID解析失败");
break;
}
}
if (actionIDConfirmed) {
_十亿斩击(accessory, @event.SourceId(), implosionType);
}
}
public void _十亿斩击(ScriptAccessory accessory,uint entityId,ImplosionType implosionType)
{
var dp = accessory.Data.GetDefaultDrawProperties();
bool directionConfirmed = false;
dp.Color = accessory.Data.DefaultDangerColor;
dp.Owner = entityId;
dp.Scale = new Vector2(70);
dp.Radian = 180f.DegToRad();
dp.DestoryAt = 5700;
switch(implosionType) {
case ImplosionType.FRONT: {
dp.Name = "前向心聚爆";
directionConfirmed = true;
break;
}
case ImplosionType.SHADOWY_FRONT: {
dp.Name = "影·前向心聚爆";
directionConfirmed = true;
break;
}
case ImplosionType.BACK: {
dp.Name = "后向心聚爆";
dp.Rotation = 180f.DegToRad();
directionConfirmed = true;
break;
}
case ImplosionType.SHADOWY_BACK: {
dp.Name = "影·后向心聚爆";
dp.Rotation = 180f.DegToRad();
directionConfirmed = true;
break;
}
case ImplosionType.LEFT: {
dp.Name = "左十亿斩击";
dp.Rotation = 90f.DegToRad();
directionConfirmed = true;
break;
}
case ImplosionType.SHADOWY_LEFT: {
dp.Name = "影·左十亿斩击";
dp.Rotation = 90f.DegToRad();
directionConfirmed = true;
break;
}
case ImplosionType.RIGHT: {
dp.Name = "右十亿斩击";
dp.Rotation = -90f.DegToRad();
directionConfirmed = true;
break;
}
case ImplosionType.SHADOWY_RIGHT: {
dp.Name = "影·右十亿斩击";
dp.Rotation = -90f.DegToRad();
directionConfirmed = true;
break;
}
default: {
accessory.Method.SendChat("/e 画图范围确定失败了!");
break;
}
}
if (directionConfirmed) {
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp);
}
}
[ScriptMethod(name: "痛苦钩刺(连线狗狗半场)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:22233"])]
public void (Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "痛苦钩刺";
dp.Color = new Vector4(1f, 0f, 0f, 1f);
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(40); //实际范围应为70m此处为了方便看时间填充故设为场边半径
dp.ScaleMode = ScaleMode.ByTime;
dp.Radian = 180f.DegToRad();
dp.DestoryAt = 5700;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp);
}
[ScriptMethod(name: "潜影(钻地钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:23313"])]
public void (Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "影之披风";
dp.Color = accessory.Data.DefaultDangerColor;
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(20f);
dp.DestoryAt = 7200;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
[ScriptMethod(name: "影之王权(起身钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:22215"])]
public void (Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "影之王权";
dp.Color = new Vector4(1f, 0f, 0f, 1f);
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(16f);
dp.ScaleMode = ScaleMode.ByTime;
dp.DestoryAt = 6200;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "影之王权描边";
dp.Color = new Vector4(1f, 1f, 0f, 8f);
dp.Scale = new(16.08f);
dp.InnerScale = new(16);
dp.Radian = float.Pi * 2;
dp.Owner = @event.SourceId();
dp.DestoryAt = 6200;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp);
dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "影之王权填充";
dp.Color = new Vector4(1f, 1f, 0.2f, .8f);
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(16f);
dp.DestoryAt = 6200;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
[ScriptMethod(name: "影之斩击(直线死刑)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:23307"])]
public void (Event @event, ScriptAccessory accessory)
{
var pos = JsonConvert.DeserializeObject<Vector3>(@event["EffectPosition"]);
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "影之斩击";
dp.Scale = new (8, 50f);
dp.Owner = @event.TargetId();
dp.Color = accessory.Data.DefaultDangerColor;
dp.DestoryAt = 3700;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp);
}
[ScriptMethod(name: "影之喷发(脚下黄圈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:22241"])]
public void (Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "影之喷发";
dp.Color = accessory.Data.DefaultDangerColor;
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(6f);
dp.DestoryAt = 2700;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
}
public static class EventExtensions
{
private static bool ParseHexId(string? idStr, out uint id)
{
id = 0;
if (string.IsNullOrEmpty(idStr)) return false;
try
{
var idStr2 = idStr.Replace("0x", "");
id = uint.Parse(idStr2, System.Globalization.NumberStyles.HexNumber);
return true;
}
catch (Exception)
{
return false;
}
}
public static uint ActionId(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["ActionId"]);
}
public static uint SourceId(this Event @event)
{
return ParseHexId(@event["SourceId"], out var id) ? id : 0;
}
public static uint SourceDataId(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["SourceDataId"]);
}
public static uint Command(this Event @event)
{
return ParseHexId(@event["Command"], out var cid) ? cid : 0;
}
public static string DurationMilliseconds(this Event @event)
{
return JsonConvert.DeserializeObject<string>(@event["DurationMilliseconds"]) ?? string.Empty;
}
public static float SourceRotation(this Event @event)
{
return JsonConvert.DeserializeObject<float>(@event["SourceRotation"]);
}
public static float TargetRotation(this Event @event)
{
return JsonConvert.DeserializeObject<float>(@event["TargetRotation"]);
}
public static byte Index(this Event @event)
{
return (byte)(ParseHexId(@event["Index"], out var index) ? index : 0);
}
public static uint State(this Event @event)
{
return ParseHexId(@event["State"], out var state) ? state : 0;
}
public static string SourceName(this Event @event)
{
return @event["SourceName"];
}
public static string TargetName(this Event @event)
{
return @event["TargetName"];
}
public static uint TargetId(this Event @event)
{
return ParseHexId(@event["TargetId"], out var id) ? id : 0;
}
public static Vector3 SourcePosition(this Event @event)
{
return JsonConvert.DeserializeObject<Vector3>(@event["SourcePosition"]);
}
public static Vector3 TargetPosition(this Event @event)
{
return JsonConvert.DeserializeObject<Vector3>(@event["TargetPosition"]);
}
public static Vector3 EffectPosition(this Event @event)
{
return JsonConvert.DeserializeObject<Vector3>(@event["EffectPosition"]);
}
public static uint DirectorId(this Event @event)
{
return ParseHexId(@event["DirectorId"], out var id) ? id : 0;
}
public static uint StatusId(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["StatusId"]);
}
public static uint StackCount(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["StackCount"]);
}
public static uint Param(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["Param"]);
}
}
public static class Extensions
{
public static void TTS(this ScriptAccessory accessory, string text, bool isTTS, bool isDRTTS)
{
if (isDRTTS)
{
accessory.Method.SendChat($"/pdr tts {text}");
}
else if (isTTS)
{
accessory.Method.TTS(text);
}
}
}

View File

@@ -0,0 +1,254 @@
using System;
using System.ComponentModel;
using System.Linq;
using System.Numerics;
using System.Collections.Generic;
using Dalamud.Game.ClientState.Objects.Types;
using Newtonsoft.Json;
using Dalamud.Utility.Numerics;
using KodakkuAssist.Script;
using KodakkuAssist.Module.GameEvent;
using KodakkuAssist.Module.Draw;
using ECommons;
using ECommons.DalamudServices;
using ECommons.GameFunctions;
using ECommons.MathHelpers;
namespace the_Voidcast_Dais;
[ScriptType(guid: "8a526afb-eefd-44ec-a105-7dc8fcd28e47", name: "高贝扎歼灭战", territorys: [1140],
version: "0.0.0.1", author: "Tetora", note: noteStr)]
public class the_Voidcast_Dais
{
const string noteStr =
"""
v0.0.0.1:
LV90
""";
[ScriptMethod(name: "虚空陨石(死刑)", eventType: EventTypeEnum.TargetIcon, eventCondition: ["Id:0158"])]
public void (Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "虚空陨石";
dp.Color = new Vector4(1f, 0f, 0f, 1f);
dp.Owner = @event.TargetId();
dp.Scale = new Vector2(6f);
dp.DestoryAt = 5000;
dp.Delay = 4700;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
[ScriptMethod(name: "迟缓地暴(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:33893"])]
public void (Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "迟缓地暴";
dp.Color = accessory.Data.DefaultDangerColor;
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(16f);
dp.DestoryAt = 7700;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
[ScriptMethod(name: "弦月剑(半场刀)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^(33899|33927)$"])]
public void (Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "弦月剑";
dp.Color = accessory.Data.DefaultDangerColor;
dp.Owner = @event.TargetId();
dp.Scale = new Vector2(22);
dp.Radian = 180f.DegToRad();
dp.DestoryAt = 4700;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp);
}
[ScriptMethod(name: "升龙烽火(组合钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:33935"])]
public void (Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "升龙烽火";
dp.Color = accessory.Data.DefaultDangerColor;
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(10f);
dp.DestoryAt = 6900;
dp.ScaleMode = ScaleMode.ByTime;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
[ScriptMethod(name: "极寒突袭", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:33888"])]
public void (Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "极寒突袭";
dp.Scale = new(15, 15f);
dp.Owner = @event.SourceId();
dp.Color = accessory.Data.DefaultDangerColor;
dp.DestoryAt = 3700;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp);
}
[ScriptMethod(name: "风晶球", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^(3387[6-9])$"])]
public void 风晶球(Event @event, ScriptAccessory accessory)
{
var dura = @event.DurationMilliseconds();
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "";
dp.Scale = new (5, 30f);
dp.Owner = @event.SourceId();
dp.Color = accessory.Data.DefaultDangerColor;
dp.DestoryAt = 3700;
dp.Delay = dura - 3500;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp);
}
/* 实体ID会重复利用无法Freeze 暂时作废
[ScriptMethod(name: "虚空彗星雨(地火)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:33959"])]
public void 虚空彗星雨(Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "虚空彗星雨";
dp.Color = accessory.Data.DefaultDangerColor;
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(6f);
dp.DestoryAt = 1500;
dp.Delay = 3000;
dp.ScaleMode = ScaleMode.ByTime;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
*/
}
public static class EventExtensions
{
private static bool ParseHexId(string? idStr, out uint id)
{
id = 0;
if (string.IsNullOrEmpty(idStr)) return false;
try
{
var idStr2 = idStr.Replace("0x", "");
id = uint.Parse(idStr2, System.Globalization.NumberStyles.HexNumber);
return true;
}
catch (Exception)
{
return false;
}
}
public static uint ActionId(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["ActionId"]);
}
public static uint SourceId(this Event @event)
{
return ParseHexId(@event["SourceId"], out var id) ? id : 0;
}
public static uint SourceDataId(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["SourceDataId"]);
}
public static uint Command(this Event @event)
{
return ParseHexId(@event["Command"], out var cid) ? cid : 0;
}
public static uint DurationMilliseconds(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["DurationMilliseconds"]);
}
public static float SourceRotation(this Event @event)
{
return JsonConvert.DeserializeObject<float>(@event["SourceRotation"]);
}
public static float TargetRotation(this Event @event)
{
return JsonConvert.DeserializeObject<float>(@event["TargetRotation"]);
}
public static byte Index(this Event @event)
{
return (byte)(ParseHexId(@event["Index"], out var index) ? index : 0);
}
public static uint State(this Event @event)
{
return ParseHexId(@event["State"], out var state) ? state : 0;
}
public static string SourceName(this Event @event)
{
return @event["SourceName"];
}
public static string TargetName(this Event @event)
{
return @event["TargetName"];
}
public static uint TargetId(this Event @event)
{
return ParseHexId(@event["TargetId"], out var id) ? id : 0;
}
public static Vector3 SourcePosition(this Event @event)
{
return JsonConvert.DeserializeObject<Vector3>(@event["SourcePosition"]);
}
public static Vector3 TargetPosition(this Event @event)
{
return JsonConvert.DeserializeObject<Vector3>(@event["TargetPosition"]);
}
public static Vector3 EffectPosition(this Event @event)
{
return JsonConvert.DeserializeObject<Vector3>(@event["EffectPosition"]);
}
public static uint DirectorId(this Event @event)
{
return ParseHexId(@event["DirectorId"], out var id) ? id : 0;
}
public static uint StatusId(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["StatusId"]);
}
public static uint StackCount(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["StackCount"]);
}
public static uint Param(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["Param"]);
}
}
public static class Extensions
{
public static void TTS(this ScriptAccessory accessory, string text, bool isTTS, bool isDRTTS)
{
if (isDRTTS)
{
accessory.Method.SendChat($"/pdr tts {text}");
}
else if (isTTS)
{
accessory.Method.TTS(text);
}
}
}

View File

@@ -0,0 +1,429 @@
using System;
using System.ComponentModel;
using System.Linq;
using System.Numerics;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using Dalamud.Game.ClientState.Objects.Types;
using Newtonsoft.Json;
using Dalamud.Utility.Numerics;
using KodakkuAssist.Script;
using KodakkuAssist.Module.GameEvent;
using KodakkuAssist.Module.Draw;
using ECommons;
using ECommons.DalamudServices;
using ECommons.GameFunctions;
using ECommons.MathHelpers;
namespace Eureka_Orthos;
[ScriptType(guid: "5e8a4051-53f7-4eb3-bb32-b18df8b113aa", name: "正统优雷卡", territorys: [1099,1100,1101,1102,1103,1104,1105,1106,1107,1108],
version: "0.0.0.1", author: "Tetora", note: noteStr)]
public class Eureka_Orthos {
const string noteStr =
"""
v0.0.0.1:
线
1~2099BOSS
20
""";
//眩晕、催眠、石化1511、无法发动技能1113等状态都需要销毁绘图缓速3493需要额外注意没有omen的技能
// 通用内容
[ScriptMethod(name: "拟态怪_怨念提示", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:32798"])]
public void _怨念(Event @event, ScriptAccessory accessory)
{
accessory.Method.TextInfo("打断拟态怪", duration: 2700, true);
accessory.Method.TTS("打断拟态怪");
}
//精英怪
[ScriptMethod(name: "\ue0c0 美拉西迪亚复制体 亚拉戈陨石", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^327(1[89]|20)$"])]
public void 美拉西迪亚复制体_亚拉戈陨石(Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "西_亚拉戈陨石";
dp.Color = accessory.Data.DefaultDangerColor;
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(25f); // 目标圈为 3.6
dp.DestoryAt = 7700;
dp.ScaleMode = ScaleMode.ByTime;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
[ScriptMethod(name: "\ue0c0 亚灵智慧之灵 起源(狂暴)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^327(0[89]|10)$"])]
public void 亚灵智慧之灵_起源(Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "_起源";
dp.Color = accessory.Data.DefaultDangerColor;
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(82.6f); // 目标圈为 2.6
dp.DestoryAt = 9700; //32710为97003270[89]为14700
dp.ScaleMode = ScaleMode.ByTime;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
[ScriptMethod(name: "\ue0c0 拉米亚女王 回旋斩(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^3272[789]$"])]
public void 拉米亚女王_回旋斩(Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "_回旋斩";
dp.Color = accessory.Data.DefaultDangerColor;
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(8f); // 目标圈为 2.0
dp.DestoryAt = 2700;
dp.ScaleMode = ScaleMode.ByTime;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
// 1~10层 小怪
[ScriptMethod(name: "—————— \ue061 ~ \ue061\ue060 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])]
public void 1(Event @event, ScriptAccessory accessory) { }
[ScriptMethod(name: "正统贝希摩斯 黄道陨石(狂暴卡墙提示)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:33043"])]
public void _黄道陨石(Event @event, ScriptAccessory accessory)
{
accessory.Method.TextInfo("狂暴,躲在墙壁后", duration: 2700, true);
accessory.Method.TTS("躲在墙壁后");
}
[ScriptMethod(name: "正统榴弹怪 大爆炸(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:32381"])]
public void _大爆炸(Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "正统榴弹怪_大爆炸";
dp.Color = accessory.Data.DefaultDangerColor;
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(6f);
dp.DestoryAt = 3200;
dp.ScaleMode = ScaleMode.ByTime;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
[ScriptMethod(name: "\ue05e 正统幽鬼之眼 恐怖视线(顺劈背对)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:32386"])]
public void _恐怖视线(Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "正统幽鬼之眼_恐怖视线";
dp.Color = new Vector4(1f, 0f, 1f, 1f);
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(8f);
dp.Radian = 90f.DegToRad();
dp.DestoryAt = 2700;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp);
}
// 10 BOSS 蜜言妖
[ScriptMethod(name: "\ue061\ue060 蜜言妖 蔓德拉地雷(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:31478"])]
public void _蔓德拉地雷(Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "蜜言妖_蔓德拉地雷";
dp.Color = accessory.Data.DefaultDangerColor;
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(10f);
dp.DestoryAt = 4700;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
[ScriptMethod(name: "\ue061\ue060 蜜言妖 蔓德拉地雷(麻将)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:32700"])]
public void _蔓德拉地雷II(Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "蜜言妖_蔓德拉地雷II";
dp.Color = accessory.Data.DefaultDangerColor;
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(10f);
dp.Delay = 3700;
dp.DestoryAt = 4000;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
// 11~20层 小怪
[ScriptMethod(name: "—————— \ue061\ue061 ~ \ue062\ue060 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])]
public void 11(Event @event, ScriptAccessory accessory) { }
[ScriptMethod(name: "正统锯齿花 均衡打击(扫尾)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:32403"])]
public void 齿_均衡打击(Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "正统锯齿花_均衡打击";
dp.Color = accessory.Data.DefaultDangerColor;
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(10);
dp.Radian = 180f.DegToRad();
dp.Rotation = 180f.DegToRad();
dp.DestoryAt = 2200;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp);
}
// 20 BOSS 盾龙复制体
[ScriptMethod(name: "\ue062\ue060 盾龙复制体_火焰吐息", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:32864"])]
//顺劈范围需要一定偏移
//需要捕获 “vfx/channeling/eff/gard_pow00bf.avfx” 连线对场外的小龙进行4秒的提前绘制距离场中24~45m
//对于已经跳下来的场内小龙,需要在 32544 32864读条时取消绘制距离场中23m
public void _火焰吐息(Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "盾龙复制体_火焰吐息";
dp.Color = accessory.Data.DefaultDangerColor;
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(50);
dp.Radian = 30f.DegToRad();
dp.DestoryAt = 3200;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp);
}
// 21~30层 小怪
// 30 BOSS 提亚马特复制体
// 31~40层 小怪
// 40 BOSS 双塔尼亚复制体
// 41~50层 小怪
// 50 BOSS 自控化奇美拉
// 51~60层 小怪
// 60 BOSS 自控化弥诺陶洛斯
// 61~70层 小怪
// 70 BOSS 永恒
// 71~80层 小怪
// 80 BOSS 原形卡利亚
// 81~90层 小怪
// 90 BOSS 管理者
// 91~100层 小怪
// 99 BOSS 王者之剑
[ScriptMethod(name: "\ue069\ue069 王者之剑 魂剑之实(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:31327"])]
public void (Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "魂剑之实";
dp.Color = accessory.Data.DefaultDangerColor;
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(10f);
dp.DestoryAt = 5700;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
[ScriptMethod(name: "\ue069\ue069 王者之剑 魂剑之虚(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:31328"])]
public void (Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "魂剑之虚";
dp.Color = accessory.Data.DefaultDangerColor;
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(20f);
dp.InnerScale = new Vector2(4f);
dp.Radian = float.Pi * 2;
dp.DestoryAt = 5700;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp);
}
[ScriptMethod(name: "真空斩(四向顺劈)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:31342"])]
public void (Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "真空斩";
dp.Color = accessory.Data.DefaultDangerColor;
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(20);
dp.Radian = 60f.DegToRad();
dp.DestoryAt = 6700;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp);
}
/*
[ScriptMethod(name: "【未完成】次元斩(扇环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:regex:^(31339|3134[01])$"])]
public void 次元斩(Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "次元斩";
dp.Color = new Vector4(1f, 0f, 0f, 1f);
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(7,12,22);
dp.InnerScale = new Vector2(2,7,17f);
dp.Radian = 180f.DegToRad();
dp.DestoryAt = 6700;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp);
}
*/
[ScriptMethod(name: "【未完成】极寒冰川 (冰花) ", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:31347"])]
public void (Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "极寒冰川";
dp.Scale = new (5, 40f);
dp.Owner = @event.SourceId();
dp.Color = accessory.Data.DefaultDangerColor;
dp.DestoryAt = 3700;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp);
}
[ScriptMethod(name: "极热炎流(地火)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:31344"])]
public void (Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "极热炎流";
dp.Color = new Vector4(1f, 0f, 0f, 1f);
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(8f);
dp.DestoryAt = 1500;
dp.Delay = 3200;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
}
public static class EventExtensions
{
private static bool ParseHexId(string? idStr, out uint id)
{
id = 0;
if (string.IsNullOrEmpty(idStr)) return false;
try
{
var idStr2 = idStr.Replace("0x", "");
id = uint.Parse(idStr2, System.Globalization.NumberStyles.HexNumber);
return true;
}
catch (Exception)
{
return false;
}
}
public static uint ActionId(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["ActionId"]);
}
public static uint SourceId(this Event @event)
{
return ParseHexId(@event["SourceId"], out var id) ? id : 0;
}
public static uint SourceDataId(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["SourceDataId"]);
}
public static uint Command(this Event @event)
{
return ParseHexId(@event["Command"], out var cid) ? cid : 0;
}
public static uint DurationMilliseconds(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["DurationMilliseconds"]);
}
public static float SourceRotation(this Event @event)
{
return JsonConvert.DeserializeObject<float>(@event["SourceRotation"]);
}
public static float TargetRotation(this Event @event)
{
return JsonConvert.DeserializeObject<float>(@event["TargetRotation"]);
}
public static byte Index(this Event @event)
{
return (byte)(ParseHexId(@event["Index"], out var index) ? index : 0);
}
public static uint State(this Event @event)
{
return ParseHexId(@event["State"], out var state) ? state : 0;
}
public static string SourceName(this Event @event)
{
return @event["SourceName"];
}
public static string TargetName(this Event @event)
{
return @event["TargetName"];
}
public static uint TargetId(this Event @event)
{
return ParseHexId(@event["TargetId"], out var id) ? id : 0;
}
public static Vector3 SourcePosition(this Event @event)
{
return JsonConvert.DeserializeObject<Vector3>(@event["SourcePosition"]);
}
public static Vector3 TargetPosition(this Event @event)
{
return JsonConvert.DeserializeObject<Vector3>(@event["TargetPosition"]);
}
public static Vector3 EffectPosition(this Event @event)
{
return JsonConvert.DeserializeObject<Vector3>(@event["EffectPosition"]);
}
public static uint DirectorId(this Event @event)
{
return ParseHexId(@event["DirectorId"], out var id) ? id : 0;
}
public static uint StatusId(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["StatusId"]);
}
public static uint StackCount(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["StackCount"]);
}
public static uint Param(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["Param"]);
}
}
public static class Extensions
{
public static void TTS(this ScriptAccessory accessory, string text, bool isTTS, bool isDRTTS)
{
if (isDRTTS)
{
accessory.Method.SendChat($"/pdr tts {text}");
}
else if (isTTS)
{
accessory.Method.TTS(text);
}
}
}

View File

@@ -0,0 +1,408 @@
using System;
using System.ComponentModel;
using System.Linq;
using System.Numerics;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using Dalamud.Game.ClientState.Objects.Types;
using Newtonsoft.Json;
using Dalamud.Utility.Numerics;
using KodakkuAssist.Script;
using KodakkuAssist.Module.GameEvent;
using KodakkuAssist.Module.Draw;
using ECommons;
using ECommons.DalamudServices;
using ECommons.GameFunctions;
using ECommons.MathHelpers;
namespace the_Palace_of_the_Dead;
[ScriptType(guid: "4210c323-eba4-4d67-a7e7-b90799494729", name: "死者宫殿", territorys: [561,562,563,564,565,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607],
version: "0.0.0.1", author: "Tetora", note: noteStr)]
public class the_Palace_of_the_Dead
{
const string noteStr =
"""
v0.0.0.1:
殿
线
171~200
""";
//眩晕、催眠、无法发动技能1113等状态都需要销毁绘图
// 通用内容
[ScriptMethod(name: "拟态怪_怨念提示", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:6397"])]
public void _怨念(Event @event, ScriptAccessory accessory)
{
accessory.Method.TextInfo("打断拟态怪", duration: 2700, true);
accessory.Method.TTS("打断拟态怪");
}
// 21~30层 小怪
[ScriptMethod(name: "\ue05b 地宫斯卡尼特 唧唧咋咋(睡眠钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:6365"])]
public void _唧唧咋咋(Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "地宫斯卡尼特_唧唧咋咋";
dp.Color = new Vector4(1f, 0f, 1f, 1f);
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(3f); //表格里的范围是20待证实 还需要加目标圈
dp.DestoryAt = 2200;
dp.ScaleMode = ScaleMode.ByTime;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
// 101~110层 小怪
[ScriptMethod(name: "—————— \ue061\ue060\ue061 ~ \ue061\ue061\ue060 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])]
public void 101(Event @event, ScriptAccessory accessory) { }
// 111~120层 小怪
[ScriptMethod(name: "—————— \ue061\ue061\ue061 ~ \ue061\ue062\ue060 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])]
public void 111(Event @event, ScriptAccessory accessory) { }
// 121~130层 小怪
[ScriptMethod(name: "—————— \ue061\ue062\ue061 ~ \ue061\ue063\ue060 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])]
public void 121(Event @event, ScriptAccessory accessory) { }
// 131~140层 小怪
[ScriptMethod(name: "—————— \ue061\ue063\ue061 ~ \ue061\ue064\ue060 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])]
public void 131(Event @event, ScriptAccessory accessory) { }
// 141~150层 小怪
[ScriptMethod(name: "—————— \ue061\ue064\ue061 ~ \ue061\ue065\ue060 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])]
public void 141(Event @event, ScriptAccessory accessory) { }
// 151~160层 小怪
[ScriptMethod(name: "—————— \ue061\ue065\ue061 ~ \ue061\ue066\ue060 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])]
public void 151(Event @event, ScriptAccessory accessory) { }
// 161~170层 小怪
[ScriptMethod(name: "—————— \ue061\ue066\ue061 ~ \ue061\ue067\ue060 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])]
public void 161(Event @event, ScriptAccessory accessory) { }
// 171~180层 小怪
[ScriptMethod(name: "—————— \ue061\ue067\ue061 ~ \ue061\ue068\ue060 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])]
public void 171(Event @event, ScriptAccessory accessory) { }
[ScriptMethod(name: "深宫独眼雪巨人 怒视(直线)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:7061"])]
public void _怒视(Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "深宫独眼雪巨人_怒视";
dp.Scale = new (7, 21f);
dp.Owner = @event.SourceId();
dp.Color = accessory.Data.DefaultDangerColor;
dp.DestoryAt = 3200;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Rect, dp);
}
[ScriptMethod(name: "深宫独眼雪巨人 百吨回转(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:6971"])]
public void _百吨回转(Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "深宫独眼雪巨人_百吨回转";
dp.Color = accessory.Data.DefaultDangerColor;
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(12f);
dp.DestoryAt = 4700;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
[ScriptMethod(name: "深宫大脚巨猿 捶胸(脱战钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:6973"])]
public void _捶胸(Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = $"深宫大脚巨猿_捶胸{@event.SourceId()}";
dp.Color = new Vector4(1f, 0.8f, 0f, 0.3f);
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(53.6f);
dp.Delay = 1700;
dp.DestoryAt = 15300;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
[ScriptMethod(name: "深宫大脚巨猿 捶胸销毁", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:6499"], userControl: false)]
public void _捶胸销毁(Event @event, ScriptAccessory accessory)
{
accessory.Method.RemoveDraw($"深宫大脚巨猿_捶胸{@event.SourceId()}");
}
[ScriptMethod(name: "\ue061\ue068\ue060 丹代恩索涅 吸引(钢铁)", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:6384"])]
public void _吸引(Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = $"丹代恩索涅_吸引{@event.SourceId()}";
dp.Color = accessory.Data.DefaultDangerColor;
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(10f);
dp.DestoryAt = 44000;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
[ScriptMethod(name: "丹代恩索涅 吸引销毁", eventType: EventTypeEnum.RemoveCombatant, eventCondition: ["DataId:6384"], userControl: false)]
public void _吸引销毁(Event @event, ScriptAccessory accessory)
{
accessory.Method.RemoveDraw($"丹代恩索涅_吸引{@event.SourceId()}");
}
[ScriptMethod(name: "\ue061\ue068\ue060 丹代恩索涅 黄道陨石", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:7166"])]
public void _黄道陨石(Event @event, ScriptAccessory accessory)
{
accessory.Method.TextInfo("80%真伤", duration: 5, true);
accessory.Method.TTS("80%真伤");
}
// 181~190层 小怪
[ScriptMethod(name: "—————— \ue061\ue068\ue061 ~ \ue061\ue069\ue060 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])]
public void 181(Event @event, ScriptAccessory accessory) { }
[ScriptMethod(name: "\ue05e 深宫加姆 寒冰咆哮(钢铁)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:7078"])]
public void _寒冰咆哮(Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "深宫加姆_寒冰咆哮";
dp.Color = accessory.Data.DefaultDangerColor;
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(10.4f);
dp.DestoryAt = 2700;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
[ScriptMethod(name: "\ue05e 深宫加姆 雷电咆哮(月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:7079"])]
public void _雷电咆哮(Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "深宫加姆_雷电咆哮";
dp.Color = accessory.Data.DefaultDangerColor;
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(30f);
dp.InnerScale = new Vector2(7f);
dp.Radian = float.Pi * 2;
dp.DestoryAt = 4200;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp);
}
// 190层 BOSS 爆弹怪教父
[ScriptMethod(name: "\ue061\ue069\ue060 眩晕爆弹怪 冰碎(钢铁)", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:6387"])]
public void _冰碎(Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "眩晕爆弹怪_冰碎";
dp.Color = new Vector4(1f, 0.5f, 0f, 1.5f);
dp.Color = accessory.Data.DefaultDangerColor;
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(6.6f);
dp.DestoryAt = 8400;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
[ScriptMethod(name: "\ue061\ue069\ue060 治疗爆弹怪 击杀提示", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:6385"])]
public void _击杀提示(Event @event, ScriptAccessory accessory)
{
accessory.Method.TextInfo("击杀治疗爆弹怪", duration: 5, true);
accessory.Method.TTS("击杀治疗爆弹怪");
}
[ScriptMethod(name: "\ue061\ue069\ue060 熔岩爆弹怪 震撼弹提示", eventType: EventTypeEnum.AddCombatant, eventCondition: ["DataId:6386"])]
public void _震撼弹(Event @event, ScriptAccessory accessory)
{
accessory.Method.TextInfo("将熔岩爆弹怪推至BOSS脚下", duration: 5, true);
accessory.Method.TTS("将熔岩爆弹怪推至BOSS脚下");
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "熔岩爆弹怪_震撼弹";
dp.Color = new Vector4(1f, 0f, 0f, 3f);
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(7.2f);
dp.DestoryAt = 24700;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
[ScriptMethod(name: "熔岩爆弹怪 震撼弹销毁", eventType: EventTypeEnum.ActionEffect, eventCondition: ["ActionId:7170"], userControl: false)]
public void _震撼弹销毁(Event @event, ScriptAccessory accessory)
{
accessory.Method.RemoveDraw($"熔岩爆弹怪_震撼弹");
}
[ScriptMethod(name: "\ue061\ue069\ue060 爆弹怪教父 特大爆炸提示", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:7103"])]
public void _特大爆炸提示(Event @event, ScriptAccessory accessory)
{
accessory.Method.TextInfo("99.9%真伤,注意瞬回", duration: 10, true);
accessory.Method.TTS("99.9%真伤,注意瞬回");
}
[ScriptMethod(name: "特大爆炸打断销毁", eventType: EventTypeEnum.CancelAction, eventCondition: ["ActionId:7103"], userControl: false)]
public void (Event @event, ScriptAccessory accessory)
{
/* 判断读条时间:
if 7103 读条至14.8s时 :触发方法
else取消对应方法触发
*/
}
// 191~200层 小怪
[ScriptMethod(name: "—————— \ue061\ue069\ue061 ~ \ue062\ue060\ue060 层 ——————", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:"])]
public void 191(Event @event, ScriptAccessory accessory) { }
[ScriptMethod(name: "奥尼克斯龙 邪视(背对)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:7043"])]
public void _邪视(Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "奥尼克斯龙_邪视";
dp.Color = new Vector4(1f, 0f, 1f, 0.6f);
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(13f);
dp.DestoryAt = 2200;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
}
[ScriptMethod(name: "\ue05e 深宫幽鬼之眼 5级即死 (扇形)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:7084"])]
public void _5级即死(Event @event, ScriptAccessory accessory)
{
var dp = accessory.Data.GetDefaultDrawProperties();
dp.Name = "深宫幽鬼之眼_5级即死";
dp.Color = new Vector4(1f, 0f, 0f, 1f);
dp.Owner = @event.SourceId();
dp.Scale = new Vector2(7.1f);
dp.Radian = 120f.DegToRad();
dp.DestoryAt = 3200;
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Fan, dp);
}
}
public static class EventExtensions
{
private static bool ParseHexId(string? idStr, out uint id)
{
id = 0;
if (string.IsNullOrEmpty(idStr)) return false;
try
{
var idStr2 = idStr.Replace("0x", "");
id = uint.Parse(idStr2, System.Globalization.NumberStyles.HexNumber);
return true;
}
catch (Exception)
{
return false;
}
}
public static uint ActionId(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["ActionId"]);
}
public static uint SourceId(this Event @event)
{
return ParseHexId(@event["SourceId"], out var id) ? id : 0;
}
public static uint SourceDataId(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["SourceDataId"]);
}
public static uint Command(this Event @event)
{
return ParseHexId(@event["Command"], out var cid) ? cid : 0;
}
public static uint DurationMilliseconds(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["DurationMilliseconds"]);
}
public static float SourceRotation(this Event @event)
{
return JsonConvert.DeserializeObject<float>(@event["SourceRotation"]);
}
public static float TargetRotation(this Event @event)
{
return JsonConvert.DeserializeObject<float>(@event["TargetRotation"]);
}
public static byte Index(this Event @event)
{
return (byte)(ParseHexId(@event["Index"], out var index) ? index : 0);
}
public static uint State(this Event @event)
{
return ParseHexId(@event["State"], out var state) ? state : 0;
}
public static string SourceName(this Event @event)
{
return @event["SourceName"];
}
public static string TargetName(this Event @event)
{
return @event["TargetName"];
}
public static uint TargetId(this Event @event)
{
return ParseHexId(@event["TargetId"], out var id) ? id : 0;
}
public static Vector3 SourcePosition(this Event @event)
{
return JsonConvert.DeserializeObject<Vector3>(@event["SourcePosition"]);
}
public static Vector3 TargetPosition(this Event @event)
{
return JsonConvert.DeserializeObject<Vector3>(@event["TargetPosition"]);
}
public static Vector3 EffectPosition(this Event @event)
{
return JsonConvert.DeserializeObject<Vector3>(@event["EffectPosition"]);
}
public static uint DirectorId(this Event @event)
{
return ParseHexId(@event["DirectorId"], out var id) ? id : 0;
}
public static uint StatusId(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["StatusId"]);
}
public static uint StackCount(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["StackCount"]);
}
public static uint Param(this Event @event)
{
return JsonConvert.DeserializeObject<uint>(@event["Param"]);
}
}
public static class Extensions
{
public static void TTS(this ScriptAccessory accessory, string text, bool isTTS, bool isDRTTS)
{
if (isDRTTS)
{
accessory.Method.SendChat($"/pdr tts {text}");
}
else if (isTTS)
{
accessory.Method.TTS(text);
}
}
}

View File

@@ -0,0 +1,50 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0-windows</TargetFramework>
<RootNamespace>The_Navel___EX</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<EnablePreviewFeatures>true</EnablePreviewFeatures>
</PropertyGroup>
<PropertyGroup>
<DalamudLibPath>$(appdata)\XIVLauncherCN\addon\Hooks\dev\</DalamudLibPath>
<KodakkuLibPath>$(appdata)\XIVLauncherCN\installedPlugins\KodakkuAssist\0.1.15.0\</KodakkuLibPath>
</PropertyGroup>
<ItemGroup>
<Reference Include="Dalamud">
<HintPath>$(DalamudLibPath)Dalamud.dll</HintPath>
</Reference>
<Reference Include="Dalamud.Common">
<HintPath>$(DalamudLibPath)Dalamud.Common.dll</HintPath>
</Reference>
<Reference Include="FFXIVClientStructs">
<HintPath>$(DalamudLibPath)FFXIVClientStructs.dll</HintPath>
</Reference>
<Reference Include="ImGui.NET">
<HintPath>$(DalamudLibPath)ImGui.NET.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json">
<HintPath>$(DalamudLibPath)Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="Lumina">
<HintPath>$(DalamudLibPath)Lumina.dll</HintPath>
</Reference>
<Reference Include="Lumina.Excel">
<HintPath>$(DalamudLibPath)Lumina.Excel.dll</HintPath>
</Reference>
<Reference Include="ECommons">
<HintPath>$(KodakkuLibPath)ECommons.dll</HintPath>
</Reference>
<Reference Include="KodakkuAssist">
<HintPath>$(KodakkuLibPath)KodakkuAssist.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Folder Include="05-Eden\Savage\" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]

View File

@@ -0,0 +1,25 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("TetoraKodakkuScript")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("TetoraKodakkuScript")]
[assembly: System.Reflection.AssemblyTitleAttribute("TetoraKodakkuScript")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
[assembly: System.Runtime.Versioning.RequiresPreviewFeaturesAttribute()]
[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")]
[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")]
// 由 MSBuild WriteCodeFragment 类生成。

View File

@@ -0,0 +1 @@
e248aaba51f9da6c4cbe43f630732475a8624bee967167753409fa04c7a515cf

View File

@@ -0,0 +1,13 @@
is_global = true
build_property.TargetFramework = net8.0-windows
build_property.TargetPlatformMinVersion = 7.0
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = The_Navel___EX
build_property.ProjectDir = E:\Rider Programs\TetoraKodakkuScript\TetoraKodakkuScript\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =

View File

@@ -0,0 +1,8 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Threading;
global using global::System.Threading.Tasks;

View File

@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]

View File

@@ -0,0 +1,22 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("TetoraKodakkuScript")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyProductAttribute("TetoraKodakkuScript")]
[assembly: System.Reflection.AssemblyTitleAttribute("TetoraKodakkuScript")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// 由 MSBuild WriteCodeFragment 类生成。

View File

@@ -0,0 +1 @@
5831351f7281039c350c7f4b64391d53a119d0663104c981a711a463f51c9d54

View File

@@ -0,0 +1,13 @@
is_global = true
build_property.TargetFramework = net8.0
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids =
build_property.InvariantGlobalization =
build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = TetoraKodakkuScript
build_property.ProjectDir = E:\Rider Programs\TetoraKodakkuScript\TetoraKodakkuScript\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =

View File

@@ -0,0 +1,8 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Threading;
global using global::System.Threading.Tasks;

Binary file not shown.

View File

@@ -0,0 +1,67 @@
{
"format": 1,
"restore": {
"E:\\Rider Programs\\TetoraKodakkuScript\\TetoraKodakkuScript\\TetoraKodakkuScript.csproj": {}
},
"projects": {
"E:\\Rider Programs\\TetoraKodakkuScript\\TetoraKodakkuScript\\TetoraKodakkuScript.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "E:\\Rider Programs\\TetoraKodakkuScript\\TetoraKodakkuScript\\TetoraKodakkuScript.csproj",
"projectName": "TetoraKodakkuScript",
"projectPath": "E:\\Rider Programs\\TetoraKodakkuScript\\TetoraKodakkuScript\\TetoraKodakkuScript.csproj",
"packagesPath": "C:\\Users\\19036\\.nuget\\packages\\",
"outputPath": "E:\\Rider Programs\\TetoraKodakkuScript\\TetoraKodakkuScript\\obj\\",
"projectStyle": "PackageReference",
"UsingMicrosoftNETSdk": false,
"configFilePaths": [
"C:\\Users\\19036\\AppData\\Roaming\\NuGet\\NuGet.Config"
],
"originalTargetFrameworks": [
"net8.0-windows"
],
"sources": {
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net8.0-windows7.0": {
"targetAlias": "net8.0-windows",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
}
},
"frameworks": {
"net8.0-windows7.0": {
"targetAlias": "net8.0-windows",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Users\\19036\\.dotnet\\sdk\\8.0.404/PortableRuntimeIdentifierGraph.json"
}
}
}
}
}

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\19036\.nuget\packages\</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.12.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\19036\.nuget\packages\" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />

72
obj/project.assets.json Normal file
View File

@@ -0,0 +1,72 @@
{
"version": 3,
"targets": {
"net8.0-windows7.0": {}
},
"libraries": {},
"projectFileDependencyGroups": {
"net8.0-windows7.0": []
},
"packageFolders": {
"C:\\Users\\19036\\.nuget\\packages\\": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "E:\\Rider Programs\\TetoraKodakkuScript\\TetoraKodakkuScript\\TetoraKodakkuScript.csproj",
"projectName": "TetoraKodakkuScript",
"projectPath": "E:\\Rider Programs\\TetoraKodakkuScript\\TetoraKodakkuScript\\TetoraKodakkuScript.csproj",
"packagesPath": "C:\\Users\\19036\\.nuget\\packages\\",
"outputPath": "E:\\Rider Programs\\TetoraKodakkuScript\\TetoraKodakkuScript\\obj\\",
"projectStyle": "PackageReference",
"UsingMicrosoftNETSdk": false,
"configFilePaths": [
"C:\\Users\\19036\\AppData\\Roaming\\NuGet\\NuGet.Config"
],
"originalTargetFrameworks": [
"net8.0-windows"
],
"sources": {
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net8.0-windows7.0": {
"targetAlias": "net8.0-windows",
"projectReferences": {}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
},
"restoreAuditProperties": {
"enableAudit": "true",
"auditLevel": "low",
"auditMode": "direct"
}
},
"frameworks": {
"net8.0-windows7.0": {
"targetAlias": "net8.0-windows",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Users\\19036\\.dotnet\\sdk\\8.0.404/PortableRuntimeIdentifierGraph.json"
}
}
}
}

8
obj/project.nuget.cache Normal file
View File

@@ -0,0 +1,8 @@
{
"version": 2,
"dgSpecHash": "fHx+6n9/CFM=",
"success": true,
"projectFilePath": "E:\\Rider Programs\\TetoraKodakkuScript\\TetoraKodakkuScript\\TetoraKodakkuScript.csproj",
"expectedPackageFiles": [],
"logs": []
}

View File

@@ -0,0 +1 @@
"restore":{"projectUniqueName":"E:\\Rider Programs\\TetoraKodakkuScript\\TetoraKodakkuScript\\TetoraKodakkuScript.csproj","projectName":"TetoraKodakkuScript","projectPath":"E:\\Rider Programs\\TetoraKodakkuScript\\TetoraKodakkuScript\\TetoraKodakkuScript.csproj","outputPath":"E:\\Rider Programs\\TetoraKodakkuScript\\TetoraKodakkuScript\\obj\\","projectStyle":"PackageReference","UsingMicrosoftNETSdk":false,"originalTargetFrameworks":["net8.0-windows"],"sources":{"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net8.0-windows7.0":{"targetAlias":"net8.0-windows","projectReferences":{}}},"warningProperties":{"warnAsError":["NU1605"]},"restoreAuditProperties":{"enableAudit":"true","auditLevel":"low","auditMode":"direct"}}"frameworks":{"net8.0-windows7.0":{"targetAlias":"net8.0-windows","imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"frameworkReferences":{"Microsoft.NETCore.App":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"C:\\Users\\19036\\.dotnet\\sdk\\8.0.404/PortableRuntimeIdentifierGraph.json"}}

View File

@@ -0,0 +1 @@
17378256062330333

View File

@@ -0,0 +1 @@
17378256062330333