#################################################################################################### # Main Class # #################################################################################################### class FFXIVCLASS: __author__ = 'Anima' __version__ = '0.0.1' CLASSROLE : str = {'E': 'None', 'D': 'None'} CLASSNAME : str = {'E': 'None', 'D': 'None'} def __init__(self, language: str = 'D') -> None: self.LANG : str = language self.MAXLVL : int = 90 self.ROLE : dict = self.CLASSROLE[self.LANG] self.NAME : dict = self.CLASSNAME[self.LANG] #################################################################################################### # Tanks # #################################################################################################### class Tank(FFXIVCLASS): __version__ = '0.0.1' CLASSROLE : dict = {'E': 'Tank', 'D': 'Verteidiger'} def __init__(self, language: str = 'D') -> None: super().__init__(language) class DarkKnight(Tank): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Dark Knight', 'D': 'Dunkelritter'} CLASSHORT : dict = {'E': 'DRK', 'D': 'DKR'} FFXIVAPIID : int = 32 def __init__(self,level: int = 30, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level class Gunbreaker(Tank): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Gunbreaker', 'D': 'Revolverklinge'} CLASSHORT : dict = {'E': 'GNB', 'D': 'REV'} FFXIVAPIID : int = 37 def __init__(self,level: int = 60, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level class Paladin(Tank): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Paladin', 'D': 'Paladin'} CLASSHORT : dict = {'E': 'PLD', 'D': 'PLD'} FFXIVAPIID : int = 19 def __init__(self,level: int = 0, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level class Warrior(Tank): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Warrior', 'D': 'Krieger'} CLASSHORT : dict = {'E': 'WAR', 'D': 'KRG'} FFXIVAPIID : int = 21 def __init__(self,level: int = 0, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level #################################################################################################### # Healers # #################################################################################################### class Heal(FFXIVCLASS): __version__ = '0.0.1' CLASSROLE : dict = {'E': 'Healer', 'D': 'Heiler'} def __init__(self, language: str = 'D') -> None: super().__init__(language) class Astrologian(Heal): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Astrologian', 'D': 'Astrologe'} CLASSHORT : dict = {'E': 'AST', 'D': 'AST'} FFXIVAPIID : int = 33 def __init__(self,level: int = 30, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level class Sage(Heal): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Sage', 'D': 'Weiser'} CLASSHORT : dict = {'E': 'SGE', 'D': 'WEI'} FFXIVAPIID : int = 40 def __init__(self,level: int = 70, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level class Sholar(Heal): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Sholar', 'D': 'Gelehrte'} CLASSHORT : dict = {'E': 'SCH', 'D': 'GLT'} FFXIVAPIID : int = 28 def __init__(self,level: int = 70, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level class WhiteMage(Heal): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'White Mage', 'D': 'Weißmagier'} CLASSHORT : dict = {'E': 'WHM', 'D': 'WMA'} FFXIVAPIID : int = 24 def __init__(self,level: int = 0, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level #################################################################################################### # Damage Dealer # #################################################################################################### #--------------------------------------------> Meeles <--------------------------------------------# class Melee(FFXIVCLASS): __version__ = '0.0.1' CLASSROLE : dict = {'E': 'Melee', 'D': 'Nahkämpfer'} def __init__(self, language: str = 'D') -> None: super().__init__(language) class Dragoon(Melee): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Dragoon', 'D': 'Dragoon'} CLASSHORT : dict = {'E': 'DRG', 'D': 'DRG'} FFXIVAPIID : int = 22 def __init__(self,level: int = 0, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level class Monk(Melee): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Monk', 'D': 'Mönch'} CLASSHORT : dict = {'E': 'MNK', 'D': 'MÖN'} FFXIVAPIID : int = 20 def __init__(self,level: int = 0, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level class Ninja(Melee): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Ninja', 'D': 'Ninja'} CLASSHORT : dict = {'E': 'NIN', 'D': 'NIN'} FFXIVAPIID : int = 30 def __init__(self,level: int = 0, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level class Samurai(Melee): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Samurai', 'D': 'Samurai'} CLASSHORT : dict = {'E': 'SAM', 'D': 'SAM'} FFXIVAPIID : int = 34 def __init__(self,level: int = 50, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level class Reaper(Melee): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Reaper', 'D': 'Schnitter'} CLASSHORT : dict = {'E': 'RPR', 'D': 'SNT'} FFXIVAPIID : int = 39 def __init__(self,level: int = 70, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level #--------------------------------------------> Ranges <--------------------------------------------# class Range(FFXIVCLASS): __version__ = '0.0.1' CLASSROLE : dict = {'E': 'Range', 'D': 'Fernkämpfer'} def __init__(self, language: str = 'D') -> None: super().__init__(language) class Bard(Range): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Bard', 'D': 'Barde'} CLASSHORT : dict = {'E': 'BRD', 'D': 'BRD'} FFXIVAPIID : int = 23 def __init__(self,level: int = 0, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level class Dancer(Range): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Dancer', 'D': 'Tänzer'} CLASSHORT : dict = {'E': 'DCR', 'D': 'TÄN'} FFXIVAPIID : int = 38 def __init__(self,level: int = 60, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level class Machinist(Range): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Machinist', 'D': 'Maschinist'} CLASSHORT : dict = {'E': 'MCH', 'D': 'MCH'} FFXIVAPIID : int = 31 def __init__(self,level: int = 30, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level #---------------------------------------------> Mage <---------------------------------------------# class Mage(FFXIVCLASS): __version__ = '0.0.1' CLASSROLE : dict = {'E': 'Mage', 'D': 'Magier'} def __init__(self, language: str = 'D') -> None: super().__init__(language) class BlackMage(Mage): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Black Mage', 'D': 'Schwarzmagier'} CLASSHORT : dict = {'E': 'BMA', 'D': 'SMA'} FFXIVAPIID : int = 25 def __init__(self,level: int = 70, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level class RedMage(Mage): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Red Mage', 'D': 'Rotmagier'} CLASSHORT : dict = {'E': 'RDM', 'D': 'RMA'} FFXIVAPIID : int = 35 def __init__(self,level: int = 70, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level class Summoner(Mage): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Summoner', 'D': 'Beschwörer'} CLASSHORT : dict = {'E': 'SUM', 'D': 'BSW'} FFXIVAPIID : int = 27 def __init__(self,level: int = 70, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level class BlueMage(Mage): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Blue Mage', 'D': 'Blaumagier'} CLASSHORT : dict = {'E': 'BLU', 'D': 'BLA'} FFXIVAPIID : int = 36 def __init__(self,level: int = 70, language: str = 'D') -> None: super().__init__(language) self.MAXLVL : int = 70 self.LEVEL : int = level #################################################################################################### # Collectors # #################################################################################################### class Collector(FFXIVCLASS): __version__ = '0.0.1' CLASSROLE : dict = {'E': 'Collector', 'D': 'Sammler'} def __init__(self, language: str = 'D') -> None: super().__init__(language) class Botanist(Collector): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Botanis', 'D': 'Gärtner'} CLASSHORT : dict = {'E': 'BTN', 'D': 'G?'} FFXIVAPIID : int = 17 def __init__(self,level: int = 0, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level class Fisher(Collector): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Fisher', 'D': 'Fischer'} CLASSHORT : dict = {'E': 'FSH', 'D': 'FIS'} FFXIVAPIID : int = 18 def __init__(self,level: int = 0, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level class Miner(Collector): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Miner', 'D': 'Minenarbeiter'} CLASSHORT : dict = {'E': 'MIN', 'D': 'MIN'} FFXIVAPIID : int = 16 def __init__(self,level: int = 0, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level #################################################################################################### # Crafters # #################################################################################################### class Crafter(FFXIVCLASS): __version__ = '0.0.1' CLASSROLE : dict = {'E': 'Carafter', 'D': 'Handwerker'} def __init__(self, language: str = 'D') -> None: super().__init__(language) class Alchemist(Crafter): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Alchemist', 'D': 'Alchimist'} CLASSHORT : dict = {'E': 'ALC', 'D': 'ALC'} FFXIVAPIID : int = 14 def __init__(self,level: int = 0, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level class Armorer(Crafter): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Armorer', 'D': 'Plattner'} CLASSHORT : dict = {'E': 'ARM', 'D': 'PLT'} FFXIVAPIID : int = 10 def __init__(self,level: int = 0, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level class Blacksmith(Crafter): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Blacksmith', 'D': 'Grobschmied'} CLASSHORT : dict = {'E': 'BSM', 'D': 'GRS'} FFXIVAPIID : int = 9 def __init__(self,level: int = 0, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level class Carpenter(Crafter): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Carpenter', 'D': 'Zimmerer'} CLASSHORT : dict = {'E': 'CRP', 'D': 'ZIM'} FFXIVAPIID : int = 8 def __init__(self,level: int = 0, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level class Culinarian(Crafter): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Culinarian', 'D': 'Gourmet'} CLASSHORT : dict = {'E': 'CUL', 'D': 'GUR'} FFXIVAPIID : int = 15 def __init__(self,level: int = 0, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level class Goldsmith(Crafter): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Goldsmith', 'D': 'Goldschmied'} CLASSHORT : dict = {'E': 'GSM', 'D': 'GSM'} FFXIVAPIID : int = 11 def __init__(self,level: int = 0, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level class Leatherworker(Crafter): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Leatherworker', 'D': 'Gerber'} CLASSHORT : dict = {'E': 'LTW', 'D': 'GRB'} FFXIVAPIID : int = 12 def __init__(self,level: int = 0, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level class Weaver(Crafter): __version__ = '0.0.1' CLASSNAME : dict = {'E': 'Weaver', 'D': 'Weber'} CLASSHORT : dict = {'E': 'WVR', 'D': 'WEB'} FFXIVAPIID : int = 13 def __init__(self,level: int = 0, language: str = 'D') -> None: super().__init__(language) self.LEVEL : int = level if __name__ == '__main__': test = Sage(language='E')