export interface TricksterItem {
  unique_id: number;
  item_name: string;
  item_count: number;
  item_comment: string;
  item_use: string;
  item_slots?: number;
  item_min_level?: number;
  is_equip?: boolean;
  is_drill?: boolean;
  item_expire_time?: string;
  refine_level?: number;
  refine_type?: number;
  refine_state?: number;
  item_image?: string;
  stats?: {[key: string]:any}
}

export interface TricksterAccount {
  name:string
  characters: TricksterCharacter[]
}

export interface Identifier {
  account_name: string
  account_id: number
  id: number
  name: string
  path: string
}

export interface TricksterCharacter extends Identifier {
  class: number
  base_job: number
  current_job: number
}

export interface TricksterInventory extends Identifier{
  galders?:number
  items:{[key:string]:TricksterItem}
}


const jobMap:{[key:number]:string} = {
  //---- job 1, fm
  1: "schoolgirl",
  2: "fighter",
  3: "librarian",
  4: "shaman",
  5: "archeologist",
  6: "engineer",
  7: "model",
  8: "teacher",
  //---- job 2 fm
  9: "boxer",
  10: "warrior",
  11: "bard",
  12: "magician",
  13: "explorer",
  14: "inventor",
  15: "entertainer",
  16: "card master",
  //----
  17: "champion",
  18: "duelist",
  19: "mercinary",
  20: "gladiator",
  21: "soul master",
  22: "witch",
  23: "wizard",
  24: "dark lord",
  25: "priest",
  26: "thief master",
  27: "hunter lord",
  28: "cyber hunter",
  29: "scientist",
  30: "primadonna",
  31: "diva",
  32: "duke",
  33: "gambler",
}

export const JobNumberToString = (n:number):string=> {
  if(n == -8) {
    return "bank"
  }
  if(jobMap[n] != undefined) {
    return jobMap[n]
  }
  return n.toString()
}