diff --git a/scripts/lib/ffxivclasses.py b/scripts/lib/ffxivclasses.py new file mode 100644 index 0000000..ad25326 --- /dev/null +++ b/scripts/lib/ffxivclasses.py @@ -0,0 +1,400 @@ + +#################################################################################################### +# Main Class # +#################################################################################################### +class FFXIVCLASS: + __author__ = 'Anima' + __version__ = '0.0.1' + CLASSROLE : str = None + CLASSNAME : str = 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__': + anima = Sage(language='E') + print(anima.NAME) + print(anima.ROLE) + print(anima.LEVEL) + print(anima.CLASSROLE) \ No newline at end of file