mirror of
https://github.com/Hibiya615/TetoraKAScript.git
synced 2025-12-17 15:24:41 +08:00
更新青魂绘制
This commit is contained in:
@@ -38,16 +38,24 @@ public class The_Ageless_Necropolis
|
|||||||
[UserSetting("开发者模式")]
|
[UserSetting("开发者模式")]
|
||||||
public bool isDeveloper { get; set; } = false;
|
public bool isDeveloper { get; set; } = false;
|
||||||
|
|
||||||
uint Circle=0; // TargetIcon:025C [青之连魂] / 026D [青魂]
|
uint Circle1=0; // 026D [青魂]
|
||||||
uint Dount=0; // TargetIcon:025D [青之连魂] / 026E [青魂]
|
uint Circle4=0; // 025C [青之连魂]
|
||||||
uint MidDanger=0; // TargetIcon:025F
|
uint Dount1=0; // 026E [青魂]
|
||||||
uint SideDanger=0; // TargetIcon:025E
|
uint Dount4=0; // 025D [青之连魂]
|
||||||
|
uint MidDanger1=0; //
|
||||||
|
uint MidDanger4=0; // 025F [青之连魂]
|
||||||
|
uint SideDanger1=0; //
|
||||||
|
uint SideDanger4=0; // 025E [青之连魂]
|
||||||
|
|
||||||
public void Init(ScriptAccessory accessory) {
|
public void Init(ScriptAccessory accessory) {
|
||||||
Circle=0;
|
Circle1=0;
|
||||||
Dount=0;
|
Circle4=0;
|
||||||
MidDanger=0;
|
Dount1=0;
|
||||||
SideDanger=0;
|
Dount4=0;
|
||||||
|
MidDanger1=0;
|
||||||
|
MidDanger4=0;
|
||||||
|
SideDanger1=0;
|
||||||
|
SideDanger4=0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@@ -127,36 +135,36 @@ public class The_Ageless_Necropolis
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
[ScriptMethod(name:"青魂记录", eventType:EventTypeEnum.TargetIcon, eventCondition: ["Id:regex:^02[56](C|D|E)$"], userControl:false)]
|
[ScriptMethod(name:"青魂记录", eventType:EventTypeEnum.TargetIcon, eventCondition: ["Id:regex:^02[56](C|D|E)$"], userControl:false)]
|
||||||
public void 青魂记录(Event ev, ScriptAccessory accessory)
|
public void 青魂记录(Event @event, ScriptAccessory accessory)
|
||||||
{
|
{
|
||||||
// ActionId: 青魂 [44527] ; 青之波动 [44528] ; 青之连魂 [44531] ; 灵魂轮转 [44609] ; 青之连波潮 [45166]
|
if (isDeveloper) accessory.Method.SendChat($"/e [DEBUG] 成功检测到TargetIcon生成, Id: {@event.Id().ToString("X4")}, targetid: {@event.TargetId()}");
|
||||||
|
|
||||||
if (isDeveloper) accessory.Method.SendChat($"/e [DEBUG] 成功检测到TargetIcon生成");
|
var idStr = @event.Id().ToString("X4");
|
||||||
switch (ev.Id)
|
switch (idStr)
|
||||||
{
|
{
|
||||||
case 0x025C:
|
case "026D":
|
||||||
Circle = 1;
|
Circle1 = 1;
|
||||||
if (isDeveloper) accessory.Method.SendChat($"/e [DEBUG]已记录:青之连魂 = 钢铁");
|
|
||||||
break;
|
|
||||||
case 0x026D:
|
|
||||||
Circle = 1;
|
|
||||||
if (isDeveloper) accessory.Method.SendChat($"/e [DEBUG]已记录:青魂 = 钢铁");
|
if (isDeveloper) accessory.Method.SendChat($"/e [DEBUG]已记录:青魂 = 钢铁");
|
||||||
break;
|
break;
|
||||||
case 0x025D:
|
case "026E":
|
||||||
Dount = 1;
|
Dount1 = 1;
|
||||||
if (isDeveloper) accessory.Method.SendChat($"/e [DEBUG]已记录:青之连魂 = 月环");
|
|
||||||
break;
|
|
||||||
case 0x026E:
|
|
||||||
Dount = 1;
|
|
||||||
if (isDeveloper) accessory.Method.SendChat($"/e [DEBUG]已记录:青魂 = 月环");
|
if (isDeveloper) accessory.Method.SendChat($"/e [DEBUG]已记录:青魂 = 月环");
|
||||||
break;
|
break;
|
||||||
|
case "025C":
|
||||||
|
Circle4 = 1;
|
||||||
|
if (isDeveloper) accessory.Method.SendChat($"/e [DEBUG]已记录:青之连魂 = 钢铁");
|
||||||
|
break;
|
||||||
|
case "025D":
|
||||||
|
Dount4 = 1;
|
||||||
|
if (isDeveloper) accessory.Method.SendChat($"/e [DEBUG]已记录:青之连魂 = 月环");
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
[ScriptMethod(name: "青之波动/青之连波潮(释放钢铁月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:44528"])]
|
|
||||||
|
[ScriptMethod(name: "青之波动(释放钢铁月环)", eventType: EventTypeEnum.StartCasting, eventCondition: ["ActionId:44528"])]
|
||||||
public void 青之波动(Event @event, ScriptAccessory accessory)
|
public void 青之波动(Event @event, ScriptAccessory accessory)
|
||||||
{
|
{
|
||||||
var dp = accessory.Data.GetDefaultDrawProperties();
|
var dp = accessory.Data.GetDefaultDrawProperties();
|
||||||
@@ -164,12 +172,21 @@ public class The_Ageless_Necropolis
|
|||||||
dp.Color = accessory.Data.DefaultDangerColor;
|
dp.Color = accessory.Data.DefaultDangerColor;
|
||||||
dp.Owner = @event.SourceId();
|
dp.Owner = @event.SourceId();
|
||||||
dp.DestoryAt = 5600;
|
dp.DestoryAt = 5600;
|
||||||
if (Circle == 1)
|
if (Circle1 == 1)
|
||||||
{
|
{
|
||||||
|
dp.Scale = new Vector2(20f);
|
||||||
|
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Circle, dp);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Dount1 == 1)
|
||||||
|
{
|
||||||
|
dp.Scale = new Vector2(41f);
|
||||||
|
dp.InnerScale = new Vector2(16f);
|
||||||
|
dp.Radian = float.Pi * 2;
|
||||||
|
accessory.Method.SendDraw(DrawModeEnum.Default, DrawTypeEnum.Donut, dp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
[ScriptMethod(name:"青魂销毁", eventType:EventTypeEnum.ActionEffect, eventCondition: ["ActionId:regex:^4518[12]$"], userControl:false)]
|
[ScriptMethod(name:"青魂销毁", eventType:EventTypeEnum.ActionEffect, eventCondition: ["ActionId:regex:^4518[12]$"], userControl:false)]
|
||||||
public void 青魂销毁(Event @event, ScriptAccessory accessory)
|
public void 青魂销毁(Event @event, ScriptAccessory accessory)
|
||||||
@@ -177,11 +194,11 @@ public class The_Ageless_Necropolis
|
|||||||
switch (@event.ActionId)
|
switch (@event.ActionId)
|
||||||
{
|
{
|
||||||
case 45181:
|
case 45181:
|
||||||
Circle = 0;
|
Circle1 = 0;
|
||||||
if (isDeveloper) accessory.Method.SendChat($"/e [DEBUG]已清除:青魂 = 钢铁");
|
if (isDeveloper) accessory.Method.SendChat($"/e [DEBUG]已清除:青魂 = 钢铁");
|
||||||
break;
|
break;
|
||||||
case 45182:
|
case 45182:
|
||||||
Dount = 0;
|
Dount1 = 0;
|
||||||
if (isDeveloper) accessory.Method.SendChat($"/e [DEBUG]已清除:青魂 = 月环");
|
if (isDeveloper) accessory.Method.SendChat($"/e [DEBUG]已清除:青魂 = 月环");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -340,6 +357,24 @@ public static class EventExtensions
|
|||||||
return JsonConvert.DeserializeObject<uint>(@event["Param"]);
|
return JsonConvert.DeserializeObject<uint>(@event["Param"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static uint Id(this Event @event)
|
||||||
|
{
|
||||||
|
var idStr = @event["Id"];
|
||||||
|
if (string.IsNullOrEmpty(idStr)) return 0;
|
||||||
|
|
||||||
|
if (idStr.StartsWith("0x", StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
return uint.Parse(idStr.Substring(2), System.Globalization.NumberStyles.HexNumber);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (idStr.Length <= 4 && idStr.All(c => char.IsDigit(c) || (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f')))
|
||||||
|
{
|
||||||
|
return uint.Parse(idStr, System.Globalization.NumberStyles.HexNumber);
|
||||||
|
}
|
||||||
|
|
||||||
|
return uint.Parse(idStr);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
public static class MathHelpers
|
public static class MathHelpers
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user