using System; using System.Collections.Generic; using Newtonsoft.Json; namespace ConfigurableCombo; /// /// A single user-defined combo: put the first action on your hotbar; pressing it advances through the sequence. /// [Serializable] public class UserComboDefinition { /// /// Display name for this combo (e.g. "WAR ST Combo"). /// public string Name { get; set; } = "New Combo"; /// /// Ordered list of action IDs. The first action is the one you place on the hotbar; each press advances to the next. /// Combo resets to the first action when the game combo timer expires or the sequence is broken. /// public List ActionIds { get; set; } = new(); /// /// Whether this combo is enabled. /// public bool Enabled { get; set; } = true; /// /// ClassJob.RowId this combo belongs to. 0 = Unspecified (shown when "Unspecified" job is selected). /// public uint JobId { get; set; } /// /// Unique id for this combo (for UI and serialization). /// public Guid Id { get; set; } = Guid.NewGuid(); /// /// The action ID that is "on the bar" — i.e. the trigger. This is ActionIds[0] when the list is non-empty. /// public uint TriggerActionId => ActionIds.Count > 0 ? ActionIds[0] : 0; }