diff --git a/Presets/Dawntrail/Raids/Ultimate - The Futures Rewritten/Phase 2 - Usurper of Frost.md b/Presets/Dawntrail/Raids/Ultimate - The Futures Rewritten/Phase 2 - Usurper of Frost.md index 147982cd..bf999dc9 100644 --- a/Presets/Dawntrail/Raids/Ultimate - The Futures Rewritten/Phase 2 - Usurper of Frost.md +++ b/Presets/Dawntrail/Raids/Ultimate - The Futures Rewritten/Phase 2 - Usurper of Frost.md @@ -1,16 +1,25 @@ -## [WIP] Flower-like explosions +## Flower-like explosions +Will show after knockback, to not obstruct your view. Feel free to edit that out but good luck seeing anything... ``` -~Lv2~{"Name":"FRU P2 Flowers explosions","Group":"絶もう1つの未来","ZoneLockH":[1238],"ElementsL":[{"Name":"前後","type":3,"refY":40.0,"offY":-40.0,"radius":2.0,"color":4278190335,"fillIntensity":0.3,"refActorNPCNameID":12809,"refActorRequireCast":true,"refActorCastId":[40200],"refActorComparisonType":6,"includeRotation":true,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0,"FillStep":2.0},{"Name":"左右","type":3,"refY":40.0,"offY":-40.0,"radius":2.0,"color":4278190335,"fillIntensity":0.3,"refActorNPCNameID":12809,"refActorRequireCast":true,"refActorCastId":[40200],"refActorComparisonType":6,"includeRotation":true,"AdditionalRotation":1.5707964,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0,"FillStep":2.0},{"Name":"右斜","type":3,"refY":40.0,"offY":-40.0,"radius":2.0,"color":4278190335,"fillIntensity":0.3,"refActorNPCNameID":12809,"refActorRequireCast":true,"refActorCastId":[40200],"refActorComparisonType":6,"includeRotation":true,"AdditionalRotation":0.7853982,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0,"FillStep":2.0},{"Name":"左斜","type":3,"refY":40.0,"offY":-40.0,"radius":2.0,"color":4278190335,"fillIntensity":0.3,"refActorNPCNameID":12809,"refActorRequireCast":true,"refActorCastId":[40200],"refActorComparisonType":6,"includeRotation":true,"AdditionalRotation":5.497787,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0,"FillStep":2.0}]} +~Lv2~{"Name":"P2 - Flowers explosions","Group":"FRU","ZoneLockH":[1238],"ElementsL":[{"Name":"前後","type":3,"refY":40.0,"offY":-40.0,"radius":2.0,"color":4278190335,"fillIntensity":0.139,"refActorNPCNameID":12809,"refActorRequireCast":true,"refActorCastId":[40200],"refActorUseCastTime":true,"refActorCastTimeMin":3.0,"refActorCastTimeMax":20.0,"refActorComparisonType":6,"includeRotation":true,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0,"FillStep":2.0},{"Name":"左右","type":3,"refY":40.0,"offY":-40.0,"radius":2.0,"color":4278190335,"fillIntensity":0.144,"refActorNPCNameID":12809,"refActorRequireCast":true,"refActorCastId":[40200],"refActorUseCastTime":true,"refActorCastTimeMin":3.0,"refActorCastTimeMax":20.0,"refActorComparisonType":6,"includeRotation":true,"AdditionalRotation":1.5707964,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0,"FillStep":2.0},{"Name":"右斜","type":3,"refY":40.0,"offY":-40.0,"radius":2.0,"color":4278190335,"fillIntensity":0.144,"refActorNPCNameID":12809,"refActorRequireCast":true,"refActorCastId":[40200],"refActorUseCastTime":true,"refActorCastTimeMin":3.0,"refActorCastTimeMax":20.0,"refActorComparisonType":6,"includeRotation":true,"AdditionalRotation":0.7853982,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0,"FillStep":2.0},{"Name":"左斜","type":3,"refY":40.0,"offY":-40.0,"radius":2.0,"color":4278190335,"fillIntensity":0.144,"refActorNPCNameID":12809,"refActorRequireCast":true,"refActorCastId":[40200],"refActorUseCastTime":true,"refActorCastTimeMin":3.0,"refActorCastTimeMax":20.0,"refActorComparisonType":6,"includeRotation":true,"AdditionalRotation":5.497787,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0,"FillStep":2.0}]} ``` -## [WIP] Axe/Scythe kick +## Axe/Scythe kick +Scythe kick is purple to help quickly differentiate them ``` -~Lv2~{"Name":"FRU P2 Axe/Scythe kick","Group":"絶もう1つの未来","ZoneLockH":[1238],"ElementsL":[{"Name":"アクスキック","type":1,"radius":16.0,"refActorNPCNameID":13554,"refActorRequireCast":true,"refActorCastId":[40202],"refActorComparisonType":6,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0},{"Name":"サイスキック","type":1,"radius":4.0,"Donut":20.0,"fillIntensity":0.3,"refActorNPCNameID":13554,"refActorRequireCast":true,"refActorCastId":[40203],"refActorComparisonType":6,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0}]} +~Lv2~{"Name":"P2 - Axe/Scythe kick","Group":"FRU","ZoneLockH":[1238],"ElementsL":[{"Name":"アクスキック","type":1,"radius":16.0,"refActorNPCNameID":13554,"refActorRequireCast":true,"refActorCastId":[40202],"refActorComparisonType":6,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0},{"Name":"サイスキック","type":1,"radius":4.0,"Donut":20.0,"color":3371237631,"fillIntensity":0.3,"refActorNPCNameID":13554,"refActorRequireCast":true,"refActorCastId":[40203],"refActorComparisonType":6,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0}]} ``` -## Safe spot future knockback +## Knockback safe spot +Saves safe knockback spot for future use. Does NOT resolves specific spot where you need to go for knockback. ``` -~Lv2~{"Name":"P2 - first icicle impact","Group":"FRU","ZoneLockH":[1238],"ElementsL":[{"Name":"","type":1,"radius":4.93,"color":3357277952,"Filled":false,"fillIntensity":0.5,"thicc":7.0,"refActorNPCNameID":12809,"refActorRequireCast":true,"refActorCastId":[40198],"refActorUseCastTime":true,"refActorCastTimeMax":1.0,"refActorComparisonType":6,"includeRotation":true,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0},{"Name":"","type":1,"offY":32.0,"radius":4.93,"color":3357277952,"Filled":false,"fillIntensity":0.5,"thicc":7.0,"refActorNPCNameID":12809,"refActorRequireCast":true,"refActorCastId":[40198],"refActorUseCastTime":true,"refActorCastTimeMax":1.0,"refActorComparisonType":6,"includeRotation":true,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0}],"Freezing":true,"FreezeFor":15.0,"IntervalBetweenFreezes":20.0} +~Lv2~{"Name":"P2 - first icicle impact","Group":"FRU","ZoneLockH":[1238],"ElementsL":[{"Name":"","type":1,"radius":4.93,"color":3357277952,"Filled":false,"fillIntensity":0.5,"thicc":7.0,"refActorNPCNameID":12809,"refActorRequireCast":true,"refActorCastId":[40198],"refActorUseCastTime":true,"refActorCastTimeMax":1.0,"refActorComparisonType":6,"includeRotation":true,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0},{"Name":"","type":1,"offY":32.0,"radius":4.93,"color":3357277952,"Filled":false,"fillIntensity":0.5,"thicc":7.0,"refActorNPCNameID":12809,"refActorRequireCast":true,"refActorCastId":[40198],"refActorUseCastTime":true,"refActorCastTimeMax":1.0,"refActorComparisonType":6,"includeRotation":true,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0},{"Name":"Line 1","type":3,"refY":36.0,"offY":-4.0,"radius":0.0,"color":1679163136,"Filled":false,"fillIntensity":0.5,"thicc":4.0,"refActorNPCNameID":12809,"refActorRequireCast":true,"refActorCastId":[40198],"refActorUseCastTime":true,"refActorCastTimeMax":1.0,"refActorComparisonType":6,"includeRotation":true,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0},{"Name":"KB point","type":1,"offY":16.0,"radius":0.0,"color":4279631616,"Filled":false,"fillIntensity":0.5,"thicc":10.0,"refActorNPCNameID":12809,"refActorRequireCast":true,"refActorCastId":[40198],"refActorUseCastTime":true,"refActorCastTimeMax":1.0,"refActorComparisonType":6,"includeRotation":true,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0}],"Freezing":true,"FreezeFor":15.0,"IntervalBetweenFreezes":20.0} +``` + +## Spread/protean diagram +Diagram to indicate valid positions for flowers and proteans. Does NOT resolves your specific position, does NOT accounts for scythe/axe variants. +``` +~Lv2~{"Name":"P2 - first icicle impact - hints","Group":"FRU","ZoneLockH":[1238],"ElementsL":[{"Name":"Tower 1","type":1,"offX":5.5,"offY":10.5,"radius":1.0,"color":1677787125,"Filled":false,"fillIntensity":0.5,"thicc":4.0,"refActorNPCNameID":12809,"refActorRequireCast":true,"refActorCastId":[40198],"refActorUseCastTime":true,"refActorCastTimeMax":1.0,"refActorComparisonType":6,"includeRotation":true,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0},{"Name":"Tower 1","type":1,"offX":-5.5,"offY":10.5,"radius":1.0,"color":1677787125,"Filled":false,"fillIntensity":0.5,"thicc":4.0,"refActorNPCNameID":12809,"refActorRequireCast":true,"refActorCastId":[40198],"refActorUseCastTime":true,"refActorCastTimeMax":1.0,"refActorComparisonType":6,"includeRotation":true,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0},{"Name":"Tower 1","type":1,"offX":5.5,"offY":21.5,"radius":1.0,"color":1677787125,"Filled":false,"fillIntensity":0.5,"thicc":4.0,"refActorNPCNameID":12809,"refActorRequireCast":true,"refActorCastId":[40198],"refActorUseCastTime":true,"refActorCastTimeMax":1.0,"refActorComparisonType":6,"includeRotation":true,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0},{"Name":"Tower 1","type":1,"offX":-5.5,"offY":21.5,"radius":1.0,"color":1677787125,"Filled":false,"fillIntensity":0.5,"thicc":4.0,"refActorNPCNameID":12809,"refActorRequireCast":true,"refActorCastId":[40198],"refActorUseCastTime":true,"refActorCastTimeMax":1.0,"refActorComparisonType":6,"includeRotation":true,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0},{"Name":"Tower 2","type":1,"offX":13.5,"offY":2.5,"radius":1.0,"color":1677787125,"Filled":false,"fillIntensity":0.5,"thicc":4.0,"refActorNPCNameID":12809,"refActorRequireCast":true,"refActorCastId":[40198],"refActorUseCastTime":true,"refActorCastTimeMax":1.0,"refActorComparisonType":6,"includeRotation":true,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0},{"Name":"Tower 2","type":1,"offX":-13.5,"offY":2.5,"radius":1.0,"color":1677787125,"Filled":false,"fillIntensity":0.5,"thicc":4.0,"refActorNPCNameID":12809,"refActorRequireCast":true,"refActorCastId":[40198],"refActorUseCastTime":true,"refActorCastTimeMax":1.0,"refActorComparisonType":6,"includeRotation":true,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0},{"Name":"Tower 2","type":1,"offX":-13.5,"offY":29.5,"radius":1.0,"color":1677787125,"Filled":false,"fillIntensity":0.5,"thicc":4.0,"refActorNPCNameID":12809,"refActorRequireCast":true,"refActorCastId":[40198],"refActorUseCastTime":true,"refActorCastTimeMax":1.0,"refActorComparisonType":6,"includeRotation":true,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0},{"Name":"Tower 2","type":1,"offX":13.5,"offY":29.5,"radius":1.0,"color":1677787125,"Filled":false,"fillIntensity":0.5,"thicc":4.0,"refActorNPCNameID":12809,"refActorRequireCast":true,"refActorCastId":[40198],"refActorUseCastTime":true,"refActorCastTimeMax":1.0,"refActorComparisonType":6,"includeRotation":true,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0},{"Name":"Line 1","type":3,"refY":36.0,"offY":-4.0,"radius":0.0,"color":1679163136,"Filled":false,"fillIntensity":0.5,"thicc":4.0,"refActorNPCNameID":12809,"refActorRequireCast":true,"refActorCastId":[40198],"refActorUseCastTime":true,"refActorCastTimeMax":1.0,"refActorComparisonType":6,"includeRotation":true,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0},{"Name":"Line 1","type":3,"refX":-16.0,"refY":20.0,"offX":-16.0,"offY":-20.0,"radius":0.0,"color":1679163136,"Filled":false,"fillIntensity":0.5,"thicc":4.0,"refActorNPCNameID":12809,"refActorRequireCast":true,"refActorCastId":[40198],"refActorUseCastTime":true,"refActorCastTimeMax":1.0,"refActorComparisonType":6,"includeRotation":true,"AdditionalRotation":1.5707964,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0}],"Freezing":true,"FreezeFor":8.5,"IntervalBetweenFreezes":20.0} ``` ## Twin stillness / Twin silence @@ -20,3 +29,9 @@ ``` ~Lv2~{"Name":"P2 - Twin silence","Group":"FRU","ZoneLockH":[1238],"ElementsL":[{"Name":"","type":4,"radius":40.0,"coneAngleMin":-145,"coneAngleMax":145,"fillIntensity":0.259,"refActorNPCNameID":13554,"refActorRequireCast":true,"refActorCastId":[40194],"refActorUseCastTime":true,"refActorCastTimeMin":3.0,"refActorCastTimeMax":6.0,"refActorUseOvercast":true,"refActorComparisonType":6,"includeRotation":true,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0},{"Name":"","type":4,"radius":40.0,"coneAngleMin":-45,"coneAngleMax":45,"fillIntensity":0.259,"refActorNPCNameID":13554,"refActorRequireCast":true,"refActorCastId":[40194],"refActorUseCastTime":true,"refActorCastTimeMax":3.0,"refActorUseOvercast":true,"refActorComparisonType":6,"includeRotation":true,"AdditionalRotation":3.1415927,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0}]} ``` + +## Shining armor helper +Don't look. +``` +~Lv2~{"Name":"P2 - Don't look","Group":"FRU","ZoneLockH":[1238],"DCond":5,"ElementsL":[{"Name":"","type":1,"radius":0.0,"Filled":false,"fillIntensity":0.5,"overlayBGColor":4278190080,"overlayTextColor":4293328640,"overlayFScale":3.0,"thicc":4.0,"overlayText":"!!! Don't LOOK !!!","refActorDataID":17824,"refActorComparisonType":3,"includeRotation":true,"tether":true,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0},{"Name":"","type":4,"refY":10.0,"radius":20.0,"coneAngleMin":-46,"coneAngleMax":46,"color":3356425984,"fillIntensity":0.1,"overlayBGColor":4278190335,"overlayTextColor":4294967295,"overlayVOffset":3.0,"overlayText":"Don't intersect red!","refActorType":1,"includeRotation":true,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0},{"Name":"","type":1,"radius":0.0,"refActorType":1,"refActorTetherTimeMin":0.0,"refActorTetherTimeMax":0.0}],"UseTriggers":true,"Triggers":[{"Type":2,"Duration":3.2,"MatchIntl":{"En":"The Light shall usher in peace!"},"MatchDelay":2.0}]} +``` diff --git a/Splatoon/Memory/AttachedInfo.cs b/Splatoon/Memory/AttachedInfo.cs index 6d3dead0..1f5eb7fa 100644 --- a/Splatoon/Memory/AttachedInfo.cs +++ b/Splatoon/Memory/AttachedInfo.cs @@ -149,8 +149,9 @@ static void Tick(object _) { if(x is IBattleChara b) { bool isCasting; - try { - isCasting = b.IsCasting; + try + { + isCasting = b.Struct()->GetCastInfo() != null && b.IsCasting; } catch { // Ignore invalid BattleChara objects that exist during cutscenes diff --git a/Splatoon/Splatoon.csproj b/Splatoon/Splatoon.csproj index aa55d1c8..fe8a19e8 100644 --- a/Splatoon/Splatoon.csproj +++ b/Splatoon/Splatoon.csproj @@ -2,7 +2,7 @@ NightmareXIV - 3.7.3.3 + 3.7.3.4 diff --git a/Splatoon/Utility/LayoutUtils.cs b/Splatoon/Utility/LayoutUtils.cs index da3047b0..f9ce6f03 100644 --- a/Splatoon/Utility/LayoutUtils.cs +++ b/Splatoon/Utility/LayoutUtils.cs @@ -175,6 +175,7 @@ public static bool CheckTransformationID(Element e, ICharacter c) public static bool IsCastingMatches(Element e, IBattleChara chr) { + if(chr == null) return false; if (chr.IsCasting(e.refActorCastId)) { if (e.refActorUseCastTime) diff --git a/SplatoonScripts/Duties/Dawntrail/The Futures Rewritten/P1 Fall of Faith EN.cs b/SplatoonScripts/Duties/Dawntrail/The Futures Rewritten/P1 Fall of Faith EN.cs index 1ddcf23a..519b0943 100644 --- a/SplatoonScripts/Duties/Dawntrail/The Futures Rewritten/P1 Fall of Faith EN.cs +++ b/SplatoonScripts/Duties/Dawntrail/The Futures Rewritten/P1 Fall of Faith EN.cs @@ -23,6 +23,7 @@ public class P1_Fall_of_Faith_EN : SplatoonScript private int PlayersRemaining => Svc.Objects.OfType().Count(x => x.StatusList.Any(s => s.StatusId == 1051)); private bool Active = false; bool IsBossCasting => Svc.Objects.OfType().Any(x => x.IsTargetable && x.CastActionId.EqualsAny(40137, 40140)); + public override Metadata? Metadata => new(1, "NightmareXIV"); public override void OnSetup() { diff --git a/SplatoonScripts/Generic/CastExplorer.cs b/SplatoonScripts/Generic/CastExplorer.cs index cd0a26ed..872f7e84 100644 --- a/SplatoonScripts/Generic/CastExplorer.cs +++ b/SplatoonScripts/Generic/CastExplorer.cs @@ -21,7 +21,7 @@ namespace SplatoonScriptsOfficial.Generic; public unsafe class CastExplorer : SplatoonScript { public override HashSet? ValidTerritories { get; } = null; - public override Metadata? Metadata => new(1, "NightmareXIV"); + public override Metadata? Metadata => new(2, "NightmareXIV"); uint HoveredID = 0; bool HideExpired = false; @@ -31,22 +31,30 @@ public override void OnUpdate() var positions = new List(); foreach(var x in Svc.Objects.OfType()) { - if(x.IsCasting || x.CastActionId != 0) + try { - if(HideExpired && !x.IsCasting && x.TotalCastTime == x.BaseCastTime) continue; - var offsetMod = positions.Count(p => Vector3.Distance(p, x.Position) < 0.5f); - positions.Add(x.Position); - var elementPos = x.Position + new Vector3(0, offsetMod * 1, 0); - var circle = CreateCircle(x); - if(HoveredID == x.EntityId) + if(x.Struct()->GetCastInfo() == null) continue; + if(x.IsCasting() || x.CastActionId != 0) { - circle.overlayBGColor = EColor.Red.ToUint(); + if(HideExpired && !x.IsCasting && x.TotalCastTime == x.BaseCastTime) continue; + var offsetMod = positions.Count(p => Vector3.Distance(p, x.Position) < 0.5f); + positions.Add(x.Position); + var elementPos = x.Position + new Vector3(0, offsetMod * 1, 0); + var circle = CreateCircle(x); + if(HoveredID == x.EntityId) + { + circle.overlayBGColor = EColor.Red.ToUint(); + } + circle.SetRefPosition(elementPos); + var line = CreateLine(x); + line.offZ = offsetMod * 1f; + Controller.RegisterElement(Guid.NewGuid().ToString(), circle); + Controller.RegisterElement(Guid.NewGuid().ToString(), line); } - circle.SetRefPosition(elementPos); - var line = CreateLine(x); - line.offZ = offsetMod * 1f; - Controller.RegisterElement(Guid.NewGuid().ToString(), circle); - Controller.RegisterElement(Guid.NewGuid().ToString(), line); + } + catch(Exception e) + { + e.Log(); } } HoveredID = 0; diff --git a/SplatoonScripts/update.csv b/SplatoonScripts/update.csv index bb1fe0a9..e237c688 100644 --- a/SplatoonScripts/update.csv +++ b/SplatoonScripts/update.csv @@ -69,13 +69,14 @@ SplatoonScriptsOfficial.Duties.Dawntrail@R4S_Chain_Lightning,3,https://github.co SplatoonScriptsOfficial.Duties.Dawntrail@R1S_Protean_Highlight,3,https://github.com/PunishXIV/Splatoon/raw/main/SplatoonScripts/Duties/Dawntrail/R1S Protean Highlight.cs SplatoonScriptsOfficial.Duties.Dawntrail.The_Futures_Rewritten@P1_Cyclonic_Break,1,https://github.com/PunishXIV/Splatoon/raw/main/SplatoonScripts/Duties/Dawntrail/The Futures Rewritten/P1 Cyclonic Break.cs SplatoonScriptsOfficial.Duties.Dawntrail.The_Futures_Rewritten@P1_Fall_of_Faith,2,https://github.com/PunishXIV/Splatoon/raw/main/SplatoonScripts/Duties/Dawntrail/The Futures Rewritten/P1 Fall of Faith.cs +SplatoonScriptsOfficial.Duties.Dawntrail.The_Futures_Rewritten@P1_Fall_of_Faith_EN,1,https://github.com/PunishXIV/Splatoon/raw/main/SplatoonScripts/Duties/Dawntrail/The Futures Rewritten/P1 Fall of Faith EN.cs SplatoonScriptsOfficial.Duties.Dawntrail.The_Futures_Rewritten@P1_Burn_Strike_Tower,2,https://github.com/PunishXIV/Splatoon/raw/main/SplatoonScripts/Duties/Dawntrail/The Futures Rewritten/P1 Burn Strike Tower.cs SplatoonScriptsOfficial.Generic@ActReminder,1,https://github.com/PunishXIV/Splatoon/raw/main/SplatoonScripts/Generic/ActReminder.cs SplatoonScriptsOfficial.Generic@AutoFateSync,1,https://github.com/PunishXIV/Splatoon/raw/main/SplatoonScripts/Generic/AutoFateSync.cs SplatoonScriptsOfficial.Generic@ScriptEventLogger,5,https://github.com/PunishXIV/Splatoon/raw/main/SplatoonScripts/Generic/ScriptEventLogger.cs SplatoonScriptsOfficial.Generic@ShowEmote,5,https://github.com/PunishXIV/Splatoon/raw/main/SplatoonScripts/Generic/ShowEmote.cs SplatoonScriptsOfficial.Generic@AetherSight,2,https://github.com/PunishXIV/Splatoon/raw/main/SplatoonScripts/Generic/AetherSight.cs -SplatoonScriptsOfficial.Generic@CastExplorer,1,https://github.com/PunishXIV/Splatoon/raw/main/SplatoonScripts/Generic/CastExplorer.cs +SplatoonScriptsOfficial.Generic@CastExplorer,2,https://github.com/PunishXIV/Splatoon/raw/main/SplatoonScripts/Generic/CastExplorer.cs SplatoonScriptsOfficial.Generic@WorldWaiter,2,https://github.com/PunishXIV/Splatoon/raw/main/SplatoonScripts/Generic/WorldWaiter.cs SplatoonScriptsOfficial.Generic@Makeplace2List,2,https://github.com/PunishXIV/Splatoon/raw/main/SplatoonScripts/Generic/Makeplace2List.cs SplatoonScriptsOfficial.Generic@CheckEmote,2,https://github.com/PunishXIV/Splatoon/raw/main/SplatoonScripts/Generic/CheckEmote.cs