Initial commit: AetherBags + KamiToolKit for FC Gitea
Debug Build and Test / Build against Latest Dalamud (push) Has been cancelled
Debug Build and Test / Build against Staging Dalamud (push) Has been cancelled

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-02-08 14:46:31 -05:00
commit 8db4ce6094
375 changed files with 34124 additions and 0 deletions
+63
View File
@@ -0,0 +1,63 @@
using System.Numerics;
using FFXIVClientStructs.FFXIV.Component.GUI;
using KamiToolKit.Enums;
using KamiToolKit.Timelines;
namespace KamiToolKit.Nodes;
public class CooldownNode : ResNode {
public readonly ImageNode CooldownImage;
public readonly ImageNode GlossyImageFrame;
public CooldownNode() {
GlossyImageFrame = new ImageNode {
NodeId = 18,
Size = new Vector2(48.0f, 48.0f),
NodeFlags = NodeFlags.Visible | NodeFlags.Enabled | NodeFlags.EmitsEvents,
WrapMode = WrapMode.Tile,
};
IconNodeTextureHelper.LoadIconAFrameTexture(GlossyImageFrame);
GlossyImageFrame.AttachNode(this);
CooldownImage = new ImageNode {
NodeId = 17,
Size = new Vector2(44.0f, 46.0f),
Position = new Vector2(2.0f, 2.0f),
NodeFlags = NodeFlags.Visible | NodeFlags.Enabled | NodeFlags.EmitsEvents,
WrapMode = WrapMode.Tile,
PartId = 80,
};
IconNodeTextureHelper.LoadIconARecastTexture(CooldownImage);
CooldownImage.AttachNode(this);
BuildTimelines();
}
private void BuildTimelines() {
GlossyImageFrame.AddTimeline(new TimelineBuilder()
.AddFrameSetWithFrame(1, 10, 1, partId: 0)
.AddFrameSetWithFrame(11, 20, 11, partId: 1)
.AddFrameSetWithFrame(21, 30, 21, partId: 2)
.AddFrameSetWithFrame(31, 40, 31, partId: 3)
.AddFrameSetWithFrame(41, 50, 41, partId: 18)
.AddFrameSetWithFrame(51, 60, 51, partId: 19)
.AddFrameSetWithFrame(143, 165, 143, partId: 0)
.Build());
CooldownImage.AddTimeline(new TimelineBuilder()
.BeginFrameSet(61, 142)
.AddFrame(61, alpha: 255, partId: 1)
.AddFrame(142, alpha: 255, partId: 79)
.EndFrameSet()
.BeginFrameSet(143, 165)
.AddFrame(143, alpha: 255, partId: 80)
.AddFrame(165, alpha: 0, partId: 79)
.EndFrameSet()
.Build());
}
}