I want to create a graphical interface for inputing skill build orders for an RPG game. A skill build is **an ordered list of (skill, number) pairs**, like this <sup>(see footnote)</sup>:

    (A x1) -> (B *) -> (C x2) -> (A *)
    
I want to create a graphical interface that can add items to this kind of list, preferably in any position of it.

The main idea I am having now is to make some sort of drag-and-drop interface, with icons representing the skills

    current build = (A x1) -> (B *) -> ...
    -----------------------------------------    
    amount: [ 1 | 2 | 3 | 4 | * ] (radio buttons or drop-down selector)
    skills: +---+  +---+  +---+
            | A |  | B |  | C |
            +---+  +---+  +---+
            
Clicking an icon would add the item-number combination to the end of the list (the most common place to add things to) and dragging it to a spot on the result list would cause it to be inserted there instead.

But I imagine having to do multiple clicks to select the number and the icon would be awkward. An alternative might be having a button for each possible pair:

    +----+  +----+  +----+
    |A  *|  |B  *|  |C  *|
    +----+  +----+  +----+

    +----+  +----+  +----+
    |A x1|  |B x1|  |C x1|
    +----+  +----+  +----+

    +----+  +----+  +----+
    |A x2|  |B x2|  |C x2|
    +----+  +----+  +----+
    //and so on
    
But then I think it would get way too cluttered.

**What is the best way to input such a list of pairs?**

**Are there any places where a similar problem was solved and where I can take inspiration from?**

Some design considerations:

* I have 4-5 skills and the numbers range from 3-5 (and the * wildcard)

* Some numbers (1 and *) will be selected more often then others (2,3,4). All skills are equally likely to be selected.

* If we choose an asymmetrical design, skills should be prioritized over numbers.

* I am primarily interested in obtaining a fast and clean workflow. It is OK if the final result ends up a little complicated or unintuitive.
  * This is not intended to be the default interface. I want this to be faster then the simple but slow interface where each skill is entered manually for each level.

-------------

For the curious, a pairing like

    (A x1) -> (B *) -> (C x2) -> (A *)

can be interpreted as 

    As a first priority, level up A once
    As a second priority, level up B whenever possible
    As a third priority, level up C twice
    As a fourth priority, level up the remaining levels of A

The main reason for using this is because describing directly what skill to take at each level is longer and less clear:

    A, B, C, B, C, B, A, B ...  // this is simple, but less clear