Skip to content

(character): Parse grand company rank to enumerated type #36

@ReidWeb

Description

@ReidWeb

Description

Grand company ranks have commonality across the 3 grand companies but with slightly differing names.

The parsed output already indicates to which grand company a character belongs, so we don't need to duplicate this in the grand company rank field.

Use Case

A consumer of the library may wish to ascertain the grand company rank a character holds but may not care about the particular GC to which they belong.

Proposed Solution

Create enum for grand company with values as follows:

  1. Private Third Class
  2. Private Second Class
  3. Private First Class
  4. Corporal
  5. Sergeant Third Class
  6. Sergeant Second Class
  7. Sergeant First Class
  8. Chief Sergeant
  9. Second Lieutenant
  10. First Lieutenant
  11. Captain

As we want the client to work for any target language, we cannot rely on 'replacing' a string e.g. 'Serpent'. We must manually map each rank to its corresponding enum value as below.

Other information

Characters holding each rank can be found as below

Rank Order of the Twin Adder The Maelstrom The Immortal Flames
Private Third Class Serpent Private Third Class Storm Private Third Class
Private Second Class Serpent Private Second Class Storm Private Second Class
Private First Class Serpent Private First Class Storm Private First Class
Corporal Serpent Corporal Storm Corporal
Sergeant Third Class Serpent Sergeant Third Class Storm Sergeant First Class
Sergeant Second Class Serpent Sergeant Second Class Storm Sergeant Second Class
Sergeant First Class Serpent Sergeant First Class Storm Sergeant First Class
Chief Sergeant Chief Serpent Sergeant Chief Storm Sergeant
Second Lieutenant Second Serpent Lieutenant Second Storm Lieutenant
First Lieutenant First Serpent Lieutenant First Storm Lieutenant
Captain Serpent Captain Storm Captain

Acknowledge

  • I may be able to implement this feature request
  • This feature might incur a breaking change

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions