f72031ae60
Co-authored-by: Cursor <cursoragent@cursor.com>
44 lines
1.4 KiB
C#
44 lines
1.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace ConfigurableCombo;
|
|
|
|
/// <summary>
|
|
/// A single user-defined combo: put the first action on your hotbar; pressing it advances through the sequence.
|
|
/// </summary>
|
|
[Serializable]
|
|
public class UserComboDefinition
|
|
{
|
|
/// <summary>
|
|
/// Display name for this combo (e.g. "WAR ST Combo").
|
|
/// </summary>
|
|
public string Name { get; set; } = "New Combo";
|
|
|
|
/// <summary>
|
|
/// 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.
|
|
/// </summary>
|
|
public List<uint> ActionIds { get; set; } = new();
|
|
|
|
/// <summary>
|
|
/// Whether this combo is enabled.
|
|
/// </summary>
|
|
public bool Enabled { get; set; } = true;
|
|
|
|
/// <summary>
|
|
/// ClassJob.RowId this combo belongs to. 0 = Unspecified (shown when "Unspecified" job is selected).
|
|
/// </summary>
|
|
public uint JobId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Unique id for this combo (for UI and serialization).
|
|
/// </summary>
|
|
public Guid Id { get; set; } = Guid.NewGuid();
|
|
|
|
/// <summary>
|
|
/// The action ID that is "on the bar" — i.e. the trigger. This is ActionIds[0] when the list is non-empty.
|
|
/// </summary>
|
|
public uint TriggerActionId => ActionIds.Count > 0 ? ActionIds[0] : 0;
|
|
}
|