Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
1 of 2 tasks
ReidWeb opened this issue Feb 13, 2022 · 4 comments
Open
1 of 2 tasks

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

ReidWeb opened this issue Feb 13, 2022 · 4 comments
Labels
feature-request New feature or request

Comments

@ReidWeb
Copy link
Member

ReidWeb commented Feb 13, 2022

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
@ReidWeb ReidWeb added feature-request New feature or request needs-triage and removed needs-triage labels Feb 13, 2022
@ReidWeb
Copy link
Member Author

ReidWeb commented Feb 13, 2022

@Crakila Does the 'recruit' rank actually exist in game? I can't remember

@ReidWeb
Copy link
Member Author

ReidWeb commented Feb 13, 2022

Helpful search string for google

site:eu.finalfantasyxiv.com/lodestone/character "maelstrom / storm captain"

@Crakila
Copy link
Member

Crakila commented Feb 13, 2022

@ReidWeb Recruit does not exist.

Just to note, there is 8 ranks that unobtainable but perhaps the ground work for them could be put in to sorta "future proof" it lol.
https://ffxiv.consolegameswiki.com/wiki/Grand_Company#Ranks

@ReidWeb
Copy link
Member Author

ReidWeb commented Feb 13, 2022

thanks,

I'm loathed to add the future ranks right now as I can't get translations in for them right now, I can't find confirmed translations of French, German, Japanese anywhere online like is listed on that wiki?

With the JS version of the gatherer, I want to have it work against any version of the lodestone, and so any field that maps an enum value based on presence of a piece of text in an element I need translations for it. Other fields mapped as such are/will be:

  • Grand Company
  • Classes are mapped by the value shown in the tooltip rather than their index in the array of icons (much more future proof on that front 😎)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants