Compare commits
17 Commits
0e76050e00
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| a76a483136 | |||
| 0edee4970b | |||
| d0e84fe326 | |||
| 48656fccd9 | |||
| ebbda251d9 | |||
| 431aa9cb51 | |||
|
|
92a4ba3a74 | ||
| 3fcd7a151a | |||
|
|
5bae275380 | ||
|
|
8e62dc7e3d | ||
|
|
4f9b84a304 | ||
| f74f239527 | |||
| f103cc738a | |||
| 9925364723 | |||
| f5b3ce4b6c | |||
| f4c0a87a62 | |||
| 729e7abb11 |
7
.gitignore
vendored
Normal file
7
.gitignore
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
__pycache__/
|
||||
*.db
|
||||
*.log
|
||||
*.swp
|
||||
*.conf
|
||||
*.json
|
||||
*.yml
|
||||
@@ -1,28 +1,28 @@
|
||||
# Wechsel der Blaumagier Einstellungen
|
||||
# Wechsel der Blaumagier Rolle
|
||||
## Beschreibung
|
||||
Mit diesen Makros kann man einfach zwischen seinen häufigsten Blaumagier Skillsets wechseln.
|
||||
Nicht nur die Skills werden (de)aktiviert auch werden diese auf den (Kreiz)-Leisten abgelegt.
|
||||
Mit diesen Makros kann man einfach zwischen seinen häufigsten Blaumagier Rollensets wechseln.
|
||||
Die Skills werden (de)aktiviert und automatisch nach Rolle auf den Kreuz-Kommandomenü (Controller) abgelegt.
|
||||
|
||||
Ich schreibe Makros immer weitest gehendst auf Englisch, die Klassen (und auch Skills etc.) Namen müssen aber immer in der jeweiligen Sprache sein in denen das Spiel gespielt wird.
|
||||
Ich schreibe Makros immer generell auf Englisch, die Klassen (und auch Skills etc.) Namen müssen aber immer in der jeweiligen Sprache sein in denen das Spiel gespielt wird.
|
||||
|
||||
## Der Trick
|
||||
Die Skills zu (de)aktivieren ist dabei nicht die Schwierigkeit.
|
||||
Die Problematik sind die Skillleisten die man immer wieder umlegen muss.
|
||||
Und hier ist der Trick für das Makro, man muss sich Klassen nehmen welche nicht (mehr) gespielt werden.
|
||||
Die Ursprungsklassen welche mittels Jobkristall zu anderen Klassen bzw. Jobs werden.
|
||||
Die Grundklasse bnehält weiterhin ihre Skillsets, da man diese aber nicht mehr Spielt kann man die für andere Zwercke missbrauchen.
|
||||
Wir legen auf unterschiedlichen Klassen die Bluemage Skillsets ab und laden bzw. speichern diese dort immer.
|
||||
Die Problematik sind die Skills die man immer wieder umlegen muss.
|
||||
Und hier ist der Trick für das Makro, man muss sich Grundklassen nehmen, welche nicht (mehr) gespielt werden. (Siehe unten)
|
||||
Hierfür nehmen wir jeweils eine Grundklasse welche mittels Jobkristall zu einem Job geworden ist.
|
||||
Die Grundklasse behält weiterhin ihre eignen Kreuz-Kommandomenüs, da man diese aber nicht mehr Spielt kann man die für andere Zwercke missbrauchen.
|
||||
Wir legen auf unterschiedlichen Grundklassen die Bluemage Skills auf deren Kreuz-Kommandomenüs ab und laden bzw. speichern diese dort.
|
||||
|
||||
## Makros
|
||||
### Vorbereitungen
|
||||
Damit die Makros einwandfrei funktionieren müssen folgrende Dinge erledigt sein:
|
||||
|
||||
1. Ein Ausrüstungsset für den Blaumagier muss angelegt sein
|
||||
2. Eine "tote" Klasse muss bestimmt sein (pro Makro)
|
||||
2. Eine Grundlasse muss bestimmt sein (pro Makro)
|
||||
3. Ein Skillset sollte im Zauberbuch der Balumagie defniert sein
|
||||
|
||||
#### 1. Ausrüstungsset
|
||||
Ausrüstungssets sollten jedem Bekannt sein der mehr als eine Klasse spielt.
|
||||
Ausrüstungssets sollten jedem bekannt sein der mehr als eine Klasse spielt.
|
||||
Um sicher zu gehen das wir aber alle vom gleichen Reden:
|
||||
|
||||

|
||||
@@ -30,10 +30,10 @@ Um sicher zu gehen das wir aber alle vom gleichen Reden:
|
||||
Hier ist wichtig das wir die Nummer des Ausrüstungssets kennen.
|
||||
In diesem Fall ist das die 29.
|
||||
|
||||
#### 2. "tote" Klasse
|
||||
Klassen die früher der später tot sind:
|
||||
#### 2. Grundklasse
|
||||
Klassen die früher der später nicht mehr gespielt werden sind:
|
||||
|
||||
Grundklasse | wird zu Job
|
||||
Grundklasse | Job
|
||||
--- | ---
|
||||
Gladiator | Paladin
|
||||
Marodeur | Krieger
|
||||
@@ -45,27 +45,27 @@ Waldläufer | Barde
|
||||
Thaumaturg | Schwarzmagier
|
||||
Hermetiker | Beschwörer / Gelehter
|
||||
|
||||
Somit stehen 9 mögliche Klassen für diese Makros zur verfügung.
|
||||
Somit stehen 9 mögliche Grundklassen für diese Makros zur Verfügung.
|
||||
Die Grundklasse verwenden wir, der Job ist dann uneingeschränkt weiter verwendbar.
|
||||
|
||||
#### 3. Skillset
|
||||
Das Skillset findet man im Zauberbuch der Blaumagie.
|
||||
Hier kann man Skills zusammenstellen und diese bereits so Spiechen.
|
||||
Hier kann man Skills zusammenstellen und diese bereits so speichen.
|
||||
Leider speichert dies nur Skills welche aktiv sind aber das soll uns schon reichen.
|
||||
|
||||

|
||||
|
||||
Man kann sich diese Sets auch mittels Rechtskilck (PC) Umbenennen um eine einfacherer Zuordnung zu haben wenn man diese bearbeitet.
|
||||
Man kann sich diese Skillsets auch mittels Rechtskilck (PS4/5: Viereck, XBox: X) umbenennen um eine einfacherer Zuordnung zu haben wenn man diese bearbeitet.
|
||||
|
||||
Meine Persönlichen Empfehlungen lauten dabei:
|
||||
Meine persönlichen Empfehlungen lauten dabei:
|
||||
* Solo (für z.B. Blaue Maskerade oder Open World)
|
||||
* Heal
|
||||
* Tank
|
||||
* DD
|
||||
* Template (Skills die in jedem Set Standard sind)
|
||||
|
||||
Und eben diese 4 Makros zum speichern werden hier erstellen.
|
||||
Weiterführend werden wir noch 4 gegenteilige Makros erstellen, das wir das was wir auf den Blaumagier an Skills belegen auch speichern können ohne auf die jweilige "tote" Klasse wechseln zu müssen.
|
||||
Und eben diese 4 Makros zum laden werden hier erstellen.
|
||||
Weiterführend werden wir noch 4 gegenteilige Makros erstellen, das wir auf den Blaumagier die Kreuz-Kommandomenü belegen auch speichern können ohne auf die jeweilige Grundlasse wechseln zu müssen.
|
||||
|
||||
### Legende
|
||||
* Die $EDID entspricht der Nummer des Ausrüstungssets (Nr. 2 im Bild) in dem der Blaumagier gespeichert ist. Dies ist bei allen Makros gleich.
|
||||
@@ -94,7 +94,7 @@ Weiterführend werden wir noch 4 gegenteilige Makros erstellen, das wir das was
|
||||
> /croshotsbar copy Gladiator 1 Blaumagier 1
|
||||
> /crosshotbar copy Gladiator 2 Blaumagier 2
|
||||
> /crosshotbar copy Gladiator 3 Blaumagier 3
|
||||
> /crosshotbar copy Gladiator4 Blaumagier 4
|
||||
> /crosshotbar copy Gladiator 4 Blaumagier 4
|
||||
> /blaum preset $BOOKID
|
||||
|
||||
#### DD load Makro
|
||||
@@ -114,21 +114,18 @@ Weiterführend werden wir noch 4 gegenteilige Makros erstellen, das wir das was
|
||||
> /crosshotbar copy Blaumagier 4 Hermetiker 4
|
||||
|
||||
#### Heal save Makro
|
||||
> /micon $EQ gearset
|
||||
> /crosshotbar copy Blaumagier 1 Druide 1
|
||||
> /crosshotbar copy Blaumagier 2 Druide 2
|
||||
> /crosshotbar copy Blaumagier 3 Druide 3
|
||||
> /crosshotbar copy Blaumagier 4 Druide 4
|
||||
|
||||
#### Tank save Makro
|
||||
> /micon $EQ gearset
|
||||
> /crosshotbar copy Blaumagier 1 Gladiator 1
|
||||
> /crosshotbar copy Blaumagier 2 Gladiator 2
|
||||
> /crosshotbar copy Blaumagier 3 Gladiator 3
|
||||
> /crosshotbar copy Blaumagier 4 Gladiator 4
|
||||
|
||||
#### DD save Makro
|
||||
> /micon $EQ gearset
|
||||
> /crosshotbar copy Blaumagier 1 Thaumaturg 1
|
||||
> /crosshotbar copy Blaumagier 2 Thaumaturg 2
|
||||
> /crosshotbar copy Blaumagier 3 Thaumaturg 3
|
||||
@@ -142,8 +139,8 @@ Zeile | Funktion
|
||||
---: | ---
|
||||
0 (nur Solo) | Mit diesem Befehl setzt Ihr das Icon des Makros auf das des Blaumagiers.
|
||||
1 | Wechselt auf den Blaumagier
|
||||
2-4 | Dies ist der Kern des Makros, hier werden die Leisten von der "toten" Klasse zu dem Blaumagier kopiert. Die nummern stehen für die jeweilige Leiste
|
||||
5 | Und zum abschlus haben wir noch das Aktivieren des Skillsets.
|
||||
2-4 | Dies ist der Kern des Makros, hier werden die Leisten von der Grundlasse zu dem Blaumagier kopiert. Die nummern stehen für die jeweilige Leiste
|
||||
5 | Und zum abschlus haben wir noch das aktivieren des Skillsets.
|
||||
|
||||
Bei den anderen Makros (Heal, Tank, DD) fand ich es sinnvoller ein entsprechendes Symbol zu nutzen daher Fällt dort Zeile 0 weg.
|
||||
Hierfür könnt Ihr auf das Icon klicken (6 im Bild) und könnt dann ein Icon aus der Liste auswählen (7 im Bild).
|
||||
@@ -153,8 +150,8 @@ Hierfür könnt Ihr auf das Icon klicken (6 im Bild) und könnt dann ein Icon au
|
||||
|
||||
Zeile | Funktion
|
||||
---: | ---
|
||||
1-3 | Kopieren der Leisten vom Blaumagier zur "toten" Klasse
|
||||
1-3 | Kopieren der Leisten vom Blaumagier zur Grundlasse
|
||||
|
||||
Wie schon angekündigt passtiert hier nichts neues.
|
||||
Es wurden lediglich die Klassen ausgetauscht von welcher Kopiert wird und auf welcher es eingefügt wird.
|
||||
Es wurden lediglich die Grundklassen ausgetauscht von welcher Kopiert wird und auf welcher es eingefügt wird.
|
||||
Da wir nur zum Speichern weder ein Skillset noch ein Klassen wechsel brauchen fallen die Zeilen dafür weg.
|
||||
|
||||
160
macros/bluemage/de_set_hotbar.md
Normal file
160
macros/bluemage/de_set_hotbar.md
Normal file
@@ -0,0 +1,160 @@
|
||||
# Wechsel der Blaumagier Einstellungen
|
||||
## Beschreibung
|
||||
Mit diesen Makros kann man einfach zwischen seinen häufigsten Blaumagier Skillsets wechseln.
|
||||
Nicht nur die Skills werden (de)aktiviert auch werden diese auf den (Kreuz)-Leisten abgelegt.
|
||||
|
||||
Ich schreibe Makros immer weitest gehendst auf Englisch, die Klassen (und auch Skills etc.) Namen müssen aber immer in der jeweiligen Sprache sein in denen das Spiel gespielt wird.
|
||||
|
||||
## Der Trick
|
||||
Die Skills zu (de)aktivieren ist dabei nicht die Schwierigkeit.
|
||||
Die Problematik sind die Skillleisten die man immer wieder umlegen muss.
|
||||
Und hier ist der Trick für das Makro, man muss sich Klassen nehmen welche nicht (mehr) gespielt werden.
|
||||
Die Ursprungsklassen welche mittels Jobkristall zu anderen Klassen bzw. Jobs werden.
|
||||
Die Grundklasse bnehält weiterhin ihre Skillsets, da man diese aber nicht mehr Spielt kann man die für andere Zwercke missbrauchen.
|
||||
Wir legen auf unterschiedlichen Klassen die Bluemage Skillsets ab und laden bzw. speichern diese dort immer.
|
||||
|
||||
## Makros
|
||||
### Vorbereitungen
|
||||
Damit die Makros einwandfrei funktionieren müssen folgrende Dinge erledigt sein:
|
||||
|
||||
1. Ein Ausrüstungsset für den Blaumagier muss angelegt sein
|
||||
2. Eine "tote" Klasse muss bestimmt sein (pro Makro)
|
||||
3. Ein Skillset sollte im Zauberbuch der Balumagie defniert sein
|
||||
|
||||
#### 1. Ausrüstungsset
|
||||
Ausrüstungssets sollten jedem Bekannt sein der mehr als eine Klasse spielt.
|
||||
Um sicher zu gehen das wir aber alle vom gleichen Reden:
|
||||
|
||||

|
||||
|
||||
Hier ist wichtig das wir die Nummer des Ausrüstungssets kennen.
|
||||
In diesem Fall ist das die 29.
|
||||
|
||||
#### 2. "tote" Klasse
|
||||
Klassen die früher der später tot sind:
|
||||
|
||||
Grundklasse | wird zu Job
|
||||
--- | ---
|
||||
Gladiator | Paladin
|
||||
Marodeur | Krieger
|
||||
Druide | Weißmagier
|
||||
Fauskämpfer | Mönch
|
||||
Pikenier | Dragoon
|
||||
Schurke | Ninja
|
||||
Waldläufer | Barde
|
||||
Thaumaturg | Schwarzmagier
|
||||
Hermetiker | Beschwörer / Gelehter
|
||||
|
||||
Somit stehen 9 mögliche Klassen für diese Makros zur verfügung.
|
||||
Die Grundklasse verwenden wir, der Job ist dann uneingeschränkt weiter verwendbar.
|
||||
|
||||
#### 3. Skillset
|
||||
Das Skillset findet man im Zauberbuch der Blaumagie.
|
||||
Hier kann man Skills zusammenstellen und diese bereits so Spiechen.
|
||||
Leider speichert dies nur Skills welche aktiv sind aber das soll uns schon reichen.
|
||||
|
||||

|
||||
|
||||
Man kann sich diese Sets auch mittels Rechtskilck (PC) Umbenennen um eine einfacherer Zuordnung zu haben wenn man diese bearbeitet.
|
||||
|
||||
Meine persönlichen Empfehlungen lauten dabei:
|
||||
* Solo (für z.B. Blaue Maskerade oder Open World)
|
||||
* Heal
|
||||
* Tank
|
||||
* DD
|
||||
* Template (Skills die in jedem Set Standard sind)
|
||||
|
||||
Und eben diese 4 Makros zum speichern werden hier erstellen.
|
||||
Weiterführend werden wir noch 4 gegenteilige Makros erstellen, das wir das was wir auf den Blaumagier an Skills belegen auch speichern können ohne auf die jweilige "tote" Klasse wechseln zu müssen.
|
||||
|
||||
### Legende
|
||||
* Die $EDID entspricht der Nummer des Ausrüstungssets (Nr. 2 im Bild) in dem der Blaumagier gespeichert ist. Dies ist bei allen Makros gleich.
|
||||
* Die $BOOKID entspricht der Nummer des gespeicherten Skillsets (Nr. 3 im Bild) im Zauberbuch der Blaumagie
|
||||
|
||||
### Sets laden
|
||||
#### Solo load Makro
|
||||
> /micon $EQID gearset
|
||||
> /gs change $EQID
|
||||
> /hotsbar copy Hermetiker 1 Blaumagier 1
|
||||
> /hotbar copy Hermetiker 2 Blaumagier 2
|
||||
> /hotbar copy Hermetiker 3 Blaumagier 3
|
||||
> /hotbar copy Hermetiker 4 Blaumagier 4
|
||||
> /blaum preset $BOOKID
|
||||
|
||||
#### Heal load Makro
|
||||
> /gs change $EQID
|
||||
> /otsbar copy Druide 1 Blaumagier 1
|
||||
> /hotbar copy Druide 2 Blaumagier 2
|
||||
> /hotbar copy Druide 3 Blaumagier 3
|
||||
> /hotbar copy Druide 4 Blaumagier 4
|
||||
> /blaum preset $BOOKID
|
||||
|
||||
#### Tank load Makro
|
||||
> /gs change $EQID
|
||||
> /hotsbar copy Gladiator 1 Blaumagier 1
|
||||
> /hotbar copy Gladiator 2 Blaumagier 2
|
||||
> /hotbar copy Gladiator 3 Blaumagier 3
|
||||
> /hotbar copy Gladiator4 Blaumagier 4
|
||||
> /blaum preset $BOOKID
|
||||
|
||||
#### DD load Makro
|
||||
> /gs change $EQID
|
||||
> /hotsbar copy Thaumaturg 1 Blaumagier 1
|
||||
> /hotbar copy Thaumaturg 2 Blaumagier 2
|
||||
> /hotbar copy Thaumaturg 3 Blaumagier 3
|
||||
> /hotbar copy Thaumaturg 4 Blaumagier 4
|
||||
> /blaum preset $BOOKID
|
||||
|
||||
### Sets speichern
|
||||
#### Solo save Makro
|
||||
> /micon $EQ gearset
|
||||
> /hotbar copy Blaumagier 1 Hermetiker 1
|
||||
> /hotbar copy Blaumagier 2 Hermetiker 2
|
||||
> /hotbar copy Blaumagier 3 Hermetiker 3
|
||||
> /hotbar copy Blaumagier 4 Hermetiker 4
|
||||
|
||||
#### Heal save Makro
|
||||
> /micon $EQ gearset
|
||||
> /hotbar copy Blaumagier 1 Druide 1
|
||||
> /hotbar copy Blaumagier 2 Druide 2
|
||||
> /hotbar copy Blaumagier 3 Druide 3
|
||||
> /hotbar copy Blaumagier 4 Druide 4
|
||||
|
||||
#### Tank save Makro
|
||||
> /micon $EQ gearset
|
||||
> /hotbar copy Blaumagier 1 Gladiator 1
|
||||
> /hotbar copy Blaumagier 2 Gladiator 2
|
||||
> /hotbar copy Blaumagier 3 Gladiator 3
|
||||
> /hotbar copy Blaumagier 4 Gladiator 4
|
||||
|
||||
#### DD save Makro
|
||||
> /micon $EQ gearset
|
||||
> /hotbar copy Blaumagier 1 Thaumaturg 1
|
||||
> /hotbar copy Blaumagier 2 Thaumaturg 2
|
||||
> /hotbar copy Blaumagier 3 Thaumaturg 3
|
||||
> /hotbar copy Blaumagier 4 Thaumaturg 4
|
||||
|
||||
### Erläuterung
|
||||
#### Load Makros
|
||||

|
||||
|
||||
Zeile | Funktion
|
||||
---: | ---
|
||||
0 (nur Solo) | Mit diesem Befehl setzt Ihr das Icon des Makros auf das des Blaumagiers.
|
||||
1 | Wechselt auf den Blaumagier
|
||||
2-4 | Dies ist der Kern des Makros, hier werden die Leisten von der "toten" Klasse zu dem Blaumagier kopiert. Die nummern stehen für die jeweilige Leiste
|
||||
5 | Und zum abschlus haben wir noch das Aktivieren des Skillsets.
|
||||
|
||||
Bei den anderen Makros (Heal, Tank, DD) fand ich es sinnvoller ein entsprechendes Symbol zu nutzen daher Fällt dort Zeile 0 weg.
|
||||
Hierfür könnt Ihr auf das Icon klicken (6 im Bild) und könnt dann ein Icon aus der Liste auswählen (7 im Bild).
|
||||
|
||||
#### Save Makros
|
||||

|
||||
|
||||
Zeile | Funktion
|
||||
---: | ---
|
||||
1-3 | Kopieren der Leisten vom Blaumagier zur "toten" Klasse
|
||||
|
||||
Wie schon angekündigt passtiert hier nichts neues.
|
||||
Es wurden lediglich die Klassen ausgetauscht von welcher Kopiert wird und auf welcher es eingefügt wird.
|
||||
Da wir nur zum Speichern weder ein Skillset noch ein Klassen wechsel brauchen fallen die Zeilen dafür weg.
|
||||
163
macros/bluemage/en_set_crosshotbar.md
Normal file
163
macros/bluemage/en_set_crosshotbar.md
Normal file
@@ -0,0 +1,163 @@
|
||||
# Change of blue mage role
|
||||
## Description
|
||||
With these macros you can easily switch between your most common blue mage skillsets.
|
||||
The skills are (de)activated and automatically placed on the (cross)hotbars according to the role.
|
||||
|
||||
The actual macro works in every language, but the class names (and also skill name etc.) must always be in the language in which the game is played. Screenshots are in german, but you'll get the idea.
|
||||
|
||||
## The trick
|
||||
|
||||
The time consuming part is not to (de-)activate the skills, but to populate the skill bar over and over again.
|
||||
This is what the macro is trying to solve. But you have to sacrifice baseclasses (sub lvl. 30) you don't want to play (anymore). (See below)
|
||||
Only the base classes (before you equip your job crystall) are affected.
|
||||
When you switch your job with the job crystal, the base class keeps its existing hotbar. But since your job evolved you probably won't play them anymore.
|
||||
When you switch a job, the hotbars 1-3 are switching to you saved layout in default settings. Luckly these are addressable from a macro.
|
||||
|
||||
## Macros
|
||||
### Preparations
|
||||
For the macros to work properly, the following things must be done:
|
||||
|
||||
1. An equipmentset for the Bluemage must be set
|
||||
2. A baseclass must be determined to be overwritten (per macro)
|
||||
3. A skillset should be defined in the magic book of balumagie
|
||||
|
||||
#### 1. Equipmentset
|
||||
Equipmentsets should be known to anyone who plays more than one class.
|
||||
To make sure that we are all talking about the same thing:
|
||||
|
||||

|
||||
###### Pic 1
|
||||
It is important that we know the number of the equipment set.
|
||||
In this case it is 29.
|
||||
|
||||
#### 2. Basic class
|
||||
Classes that are dead sooner or later:
|
||||
|
||||
Baseclass | Job
|
||||
--- | ---
|
||||
Gladiator | Paladin
|
||||
Marauder | Warrior
|
||||
Conjurer | White mage
|
||||
Pugilist | Monk
|
||||
Lancer | Dragoon
|
||||
Rouge | Ninja
|
||||
Archer | Bard
|
||||
Thaumaturge | Black mage
|
||||
Arcanist | Summoner / Scholar
|
||||
|
||||
Thus 9 possible classes are available for these macros.
|
||||
Since we only use the baseclasses, the job skill bar won't be affected and can contunue to be used.
|
||||
|
||||
#### 3. Skillset
|
||||
The skill set can be found in the magic book of blue magic.
|
||||
Here you can put together skills and save them already.
|
||||
Unfortunately, this only saves skills which are active, but that should be enough for us.
|
||||
|
||||

|
||||
###### Pic 2
|
||||
|
||||
You can also rename these sets by right-clicking (PC) in order to better identify them if you want to make a change.
|
||||
|
||||
* Solo (e.g. for Blue Masquerade or Open World)
|
||||
* Heal
|
||||
* Tank
|
||||
* DD
|
||||
* Template (skills that are standard in every set)
|
||||
<span style="color:red">
|
||||
And these 4 macros to load will be created here.
|
||||
We will continue to create 4 opposing macros, so that we can save the skills that we have on the blue mage without having to switch to the respective basic class.
|
||||
</span>
|
||||
### Legend
|
||||
* The $EDID corresponds to the number of the equipmentset (No. 2 in the picture) in which the blue mage is stored. This is the same for all macros.
|
||||
* The $BOOKID corresponds to the number of the saved skill set (No. 3 in the picture) in the magic book of blue magic
|
||||
|
||||
### Load sets
|
||||
#### Solo load macro
|
||||
> /micon $EQID gearset
|
||||
> /gs change $EQID
|
||||
> /croshotsbar copy Arcanist 1 "blue mage" 1
|
||||
> /crosshotbar copy Arcanist 2 "blue mage" 2
|
||||
> /crosshotbar copy Arcanist 3 "blue mage" 3
|
||||
> /crosshotbar copy Arcanist 4 "blue mage" 4
|
||||
> /blaum preset $BOOKID
|
||||
|
||||
#### Heal load macro
|
||||
> /gs change $EQID
|
||||
> /croshotsbar copy Conjurer 1 "blue mage" 1
|
||||
> /crosshotbar copy Conjurer 2 "blue mage" 2
|
||||
> /crosshotbar copy Conjurer 3 "blue mage" 3
|
||||
> /crosshotbar copy Conjurer 4 "blue mage" 4
|
||||
> /blaum preset $BOOKID
|
||||
|
||||
#### Tank load macro
|
||||
> /gs change $EQID
|
||||
> /croshotsbar copy Gladiator 1 "blue mage" 1
|
||||
> /crosshotbar copy Gladiator 2 "blue mage" 2
|
||||
> /crosshotbar copy Gladiator 3 "blue mage" 3
|
||||
> /crosshotbar copy Gladiator 4 "blue mage" 4
|
||||
> /blaum preset $BOOKID
|
||||
|
||||
#### DD load macro
|
||||
> /gs change $EQID
|
||||
> /croshotsbar copy Thaumaturge 1 "blue mage" 1
|
||||
> /crosshotbar copy Thaumaturge 2 "blue mage" 2
|
||||
> /crosshotbar copy Thaumaturge 3 "blue mage" 3
|
||||
> /crosshotbar copy Thaumaturge 4 "blue mage" 4
|
||||
> /blaum preset $BOOKID
|
||||
|
||||
### Save sets
|
||||
#### Solo save macro
|
||||
> /micon $EQ gearset
|
||||
> /crosshotbar copy "blue mage" 1 Arcanist 1
|
||||
> /crosshotbar copy "blue mage" 2 Arcanist 2
|
||||
> /crosshotbar copy "blue mage" 3 Arcanist 3
|
||||
> /crosshotbar copy "blue mage" 4 Arcanist 4
|
||||
|
||||
#### Heal save macro
|
||||
> /micon $EQ gearset
|
||||
> /crosshotbar copy "blue mage" 1 Conjurer 1
|
||||
> /crosshotbar copy "blue mage" 2 Conjurer 2
|
||||
> /crosshotbar copy "blue mage" 3 Conjurer 3
|
||||
> /crosshotbar copy "blue mage" 4 Conjurer 4
|
||||
|
||||
#### Tank save macro
|
||||
> /micon $EQ gearset
|
||||
> /crosshotbar copy "blue mage" 1 Gladiator 1
|
||||
> /crosshotbar copy "blue mage" 2 Gladiator 2
|
||||
> /crosshotbar copy "blue mage" 3 Gladiator 3
|
||||
> /crosshotbar copy "blue mage" 4 Gladiator 4
|
||||
|
||||
#### DD save macro
|
||||
> /micon $EQ gearset
|
||||
> /crosshotbar copy "blue mage" 1 Thaumaturge 1
|
||||
> /crosshotbar copy "blue mage" 2 Thaumaturge 2
|
||||
> /crosshotbar copy "blue mage" 3 Thaumaturge 3
|
||||
> /crosshotbar copy "blue mage" 4 Thaumaturge 4
|
||||
|
||||
### Explanation
|
||||
#### Load macros
|
||||

|
||||
###### Pic 3
|
||||
|
||||
To explain the macros line by line:
|
||||
|
||||
Row | Function
|
||||
---: | ---
|
||||
0 (only Solo) | With this command you set the icon of the macro to that of the blue mage
|
||||
1 | Switch to the blue mage
|
||||
2-4 | This is the core of the macro, here the bars are copied from the basic class to the blue mage. The numbers stand for the respective bar
|
||||
5 | And finally we have to activate the skillset.
|
||||
|
||||
With the other macros (Heal, Tank, DD) I found it more sensible to use a corresponding symbol, so line 0 is omitted there.
|
||||
For this you can click on the icon (see pic 3, point 6) and then select an icon from the list (pic 3, point 7).
|
||||
|
||||
#### Save macros
|
||||

|
||||
###### Pic 4
|
||||
|
||||
Row | Function
|
||||
---: | ---
|
||||
1-3 | copy the current active bluemage hotbars to the baseclass
|
||||
|
||||
As already announced, nothing new is invented here.
|
||||
Since we do not need a skill set or a class change just for saving, the lines are omitted.
|
||||
160
macros/bluemage/en_set_hotbar.md
Normal file
160
macros/bluemage/en_set_hotbar.md
Normal file
@@ -0,0 +1,160 @@
|
||||
# Change of blue mage role
|
||||
## Description
|
||||
With these macros you can easily switch between your most common blue mage skillsets.
|
||||
The skills are (de)activated and automatically placed on the (cross)hotbars according to the role.
|
||||
|
||||
The actual macro works in every language, but the class (and also skills etc.) names must always be in the language in which the game is played.
|
||||
|
||||
## The trick
|
||||
|
||||
To (de)activate the skills is not the difficulty.
|
||||
The problem is the skill bars that you have to turn over and over again.
|
||||
And here is the trick for the macro, you have to take classes that are not (anymore) played. (See below)
|
||||
The basic classes which become other classes or jobs using the job crystal.
|
||||
The basic class still keeps their skill sets, but since you no longer play them you can abuse them for other dwarfs.
|
||||
We store the blue mage skillsets in different classes and always load or save them there.
|
||||
|
||||
## Macros
|
||||
### Preparations
|
||||
The macros to work properly, the following things must be done:
|
||||
|
||||
1. An equipmentset for the blue mage must be o
|
||||
2. A basic class must be determined (per macro)
|
||||
3. A skill set should be defined in the magic book of balumagie
|
||||
|
||||
#### 1. Equipmentset
|
||||
Equipmentsets should be known to anyone who plays more than one class.
|
||||
To make sure that we are all talking about the same thing:
|
||||
|
||||

|
||||
|
||||
It is important that we know the number of the equipment set.
|
||||
In this case it is 29.
|
||||
|
||||
#### 2. Basic class
|
||||
Classes that are dead earlier or later:
|
||||
|
||||
Grundklasse | Job
|
||||
--- | ---
|
||||
Gladiator | Paladin
|
||||
Marauder | Warrior
|
||||
Conjurer | White mage
|
||||
Pugilist | Monk
|
||||
Lancer | Dragoon
|
||||
Rouge | Ninja
|
||||
Archer | Bard
|
||||
Thaumaturge | Black mage
|
||||
Arcanist | Summoner / Scholar
|
||||
|
||||
Thus 9 possible classes are available for these macros.
|
||||
We use the basic class, the job can then continue to be used without restriction.
|
||||
|
||||
#### 3. Skillset
|
||||
The skill set can be found in the magic book of blue magic.
|
||||
Here you can put together skills and save them already.
|
||||
Unfortunately, this only saves skills which are active, but that should be enough for us.
|
||||
|
||||

|
||||
|
||||
You can also rename these sets by right-clicking (PC) in order to have an easier assignment when you edit them.
|
||||
|
||||
Solo (e.g. for Blue Masquerade or Open World)
|
||||
* Heal
|
||||
* Tank
|
||||
* DD
|
||||
* Template (skills that are standard in every set)
|
||||
|
||||
And these 4 macros to load will be created here.
|
||||
We will continue to create 4 opposing macros, so that we can save the skills that we have on the blue mage without having to switch to the respective basic class.
|
||||
|
||||
### Legende
|
||||
* The $EDID corresponds to the number of the equipmentset (No. 2 in the picture) in which the blue mage is stored. This is the same for all macros.
|
||||
* The $BOOKID corresponds to the number of the saved skill set (No. 3 in the picture) in the magic book of blue magic
|
||||
|
||||
### Load sets
|
||||
#### Solo load macro
|
||||
> /micon $EQID gearset
|
||||
> /gs change $EQID
|
||||
> /croshotsbar copy Arcanist 1 "blue mage" 1
|
||||
> /hotbar copy Arcanist 2 "blue mage" 2
|
||||
> /hotbar copy Arcanist 3 "blue mage" 3
|
||||
> /hotbar copy Arcanist 4 "blue mage" 4
|
||||
> /blaum preset $BOOKID
|
||||
|
||||
#### Heal load macro
|
||||
> /gs change $EQID
|
||||
> /croshotsbar copy Conjurer 1 "blue mage" 1
|
||||
> /hotbar copy Conjurer 2 "blue mage" 2
|
||||
> /hotbar copy Conjurer 3 "blue mage" 3
|
||||
> /hotbar copy Conjurer 4 "blue mage" 4
|
||||
> /blaum preset $BOOKID
|
||||
|
||||
#### Tank load macro
|
||||
> /gs change $EQID
|
||||
> /croshotsbar copy Gladiator 1 "blue mage" 1
|
||||
> /hotbar copy Gladiator 2 "blue mage" 2
|
||||
> /hotbar copy Gladiator 3 "blue mage" 3
|
||||
> /hotbar copy Gladiator 4 "blue mage" 4
|
||||
> /blaum preset $BOOKID
|
||||
|
||||
#### DD load macro
|
||||
> /gs change $EQID
|
||||
> /croshotsbar copy Thaumaturge 1 "blue mage" 1
|
||||
> /hotbar copy Thaumaturge 2 "blue mage" 2
|
||||
> /hotbar copy Thaumaturge 3 "blue mage" 3
|
||||
> /hotbar copy Thaumaturge 4 "blue mage" 4
|
||||
> /blaum preset $BOOKID
|
||||
|
||||
### Save sets
|
||||
#### Solo save macro
|
||||
> /micon $EQ gearset
|
||||
> /hotbar copy "blue mage" 1 Arcanist 1
|
||||
> /hotbar copy "blue mage" 2 Arcanist 2
|
||||
> /hotbar copy "blue mage" 3 Arcanist 3
|
||||
> /hotbar copy "blue mage" 4 Arcanist 4
|
||||
|
||||
#### Heal save macro
|
||||
> /micon $EQ gearset
|
||||
> /hotbar copy "blue mage" 1 Conjurer 1
|
||||
> /hotbar copy "blue mage" 2 Conjurer 2
|
||||
> /hotbar copy "blue mage" 3 Conjurer 3
|
||||
> /hotbar copy "blue mage" 4 Conjurer 4
|
||||
|
||||
#### Tank save macro
|
||||
> /micon $EQ gearset
|
||||
> /hotbar copy "blue mage" 1 Gladiator 1
|
||||
> /hotbar copy "blue mage" 2 Gladiator 2
|
||||
> /hotbar copy "blue mage" 3 Gladiator 3
|
||||
> /hotbar copy "blue mage" 4 Gladiator 4
|
||||
|
||||
#### DD save macro
|
||||
> /micon $EQ gearset
|
||||
> /hotbar copy "blue mage" 1 Thaumaturge 1
|
||||
> /hotbar copy "blue mage" 2 Thaumaturge 2
|
||||
> /hotbar copy "blue mage" 3 Thaumaturge 3
|
||||
> /hotbar copy "blue mage" 4 Thaumaturge 4
|
||||
|
||||
### Explanation
|
||||
#### Load macros
|
||||

|
||||
|
||||
Row | Function
|
||||
---: | ---
|
||||
0 (only Solo) | With this command you set the icon of the macro to that of the blue mage
|
||||
1 | Switch to the blue mage
|
||||
2-4 | This is the core of the macro, here the bars are copied from the basic class to the blue mage. The numbers stand for the respective bar
|
||||
5 | And finally we have to activate the skillset.
|
||||
|
||||
With the other macros (Heal, Tank, DD) I found it more sensible to use a corresponding symbol, so line 0 is omitted there.
|
||||
For this you can click on the icon (6 in the picture) and then select an icon from the list (7 in the picture).
|
||||
|
||||
#### Save macros
|
||||

|
||||
|
||||
Row | Function
|
||||
---: | ---
|
||||
1-3 | Copy the ledges from the blue mage to the basic class
|
||||
|
||||
As already announced, nothing new fits here.
|
||||
Only the classes were exchanged from which it is copied and which it is pasted on.
|
||||
Since we do not need a skill set or a class change just for saving, the lines are omitted.
|
||||
@@ -1,14 +0,0 @@
|
||||
# Wechsel zu DD Einstellungen
|
||||
|
||||
> /micon $ID gearset
|
||||
> /gs change $ID
|
||||
> /wait 1
|
||||
> /croshotsbar copy $DDCLASS 1 Blaumagier 1
|
||||
> /crosshotbar copy $DDCLASS 2 Blaumagier 2
|
||||
> /crosshotbar copy $DDCLASS 3 Blaumagier 3
|
||||
> /blaum preset $BOOKID
|
||||
|
||||
* Die $ID entspricht der Nummer des Ausrüstungssets in dem der Blaumagier gespeichert ist.
|
||||
* Die $DDCLASS ist die Klasse auf der Ihr die Skill belegung (auf der Leiste) Speichern wollt.
|
||||
Für die Klasse sollte man eine der Urspungsklassen ohne Ihren Jobkristall nutzen, z.B. Faustkämpfer nicht Mönch.
|
||||
* Die $BOOKID entspricht der Nummer des gespeicherten Skillsets im Zauberbuch der Blaumagie
|
||||
@@ -1,15 +0,0 @@
|
||||
# Wechsel zu Heal Einstellungen
|
||||
|
||||
> /micon $ID gearset
|
||||
> /gs change $ID
|
||||
> /wait 1
|
||||
> /croshotsbar copy $HEALCLASS 1 Blaumagier 1
|
||||
> /crosshotbar copy $HEALCLASS 2 Blaumagier 2
|
||||
> /crosshotbar copy $HEALCLASS 3 Blaumagier 3
|
||||
> /crosshotbar copy $HEALCLASS 4 Blaumagier 4
|
||||
> /blaum preset $BOOKID
|
||||
|
||||
* Die $ID entspricht der Nummer des Ausrüstungssets in dem der Blaumagier gespeichert ist.
|
||||
* Die $HEALCLASS ist die Klasse auf der Ihr die Skill belegung (auf der Leiste) speichern wollt.
|
||||
Für die Klasse sollte man eine der Urspungsklassen ohne Ihren Jobkristall nutzen, z.B. Druide nicht Weißmagier.
|
||||
* Die $BOOKID entspricht der Nummer des gespeicherten Skillsets im Zauberbuch der Blaumagie
|
||||
@@ -1,15 +0,0 @@
|
||||
# Wechsel zu Solo Einstellungen
|
||||
|
||||
> /micon $ID gearset
|
||||
> /gs change $ID
|
||||
> /wait 1
|
||||
> /croshotsbar copy $SOLOCLASS 1 Blaumagier 1
|
||||
> /crosshotbar copy $SOLOCLASS 2 Blaumagier 2
|
||||
> /crosshotbar copy $SOLOCLASS 3 Blaumagier 3
|
||||
> /crosshotbar copy $SOLOCLASS 4 Blaumagier 4
|
||||
> /blaum preset $BOOKID
|
||||
|
||||
* Die $ID entspricht der Nummer des Ausrüstungssets in dem der Blaumagier gespeichert ist.
|
||||
* Die $DDCLASS ist die Klasse auf der Ihr die Skill belegung (auf der Leiste) Speichern wollt.
|
||||
Für die Klasse sollte man eine der Urspungsklassen ohne Ihren Jobkristall nutzen, z.B. Hermetiker nicht Beschwörer.
|
||||
* Die $BOOKID entspricht der Nummer des gespeicherten Skillsets im Zauberbuch der Blaumagie
|
||||
@@ -1,14 +0,0 @@
|
||||
# Wechsel zu Tank Einstellungen
|
||||
|
||||
> /micon $ID gearset
|
||||
> /gs change $ID
|
||||
> /wait 1
|
||||
> /croshotsbar copy $TANKCLASS 1 Blaumagier 1
|
||||
> /crosshotbar copy $TANKCLASS 2 Blaumagier 2
|
||||
> /crosshotbar copy $TANKCLASS 3 Blaumagier 3
|
||||
> /blaum preset $BOOKID
|
||||
|
||||
* Die $ID entspricht der Nummer des Ausrüstungssets in dem der Blaumagier gespeichert ist.
|
||||
* Die $DDCLASS ist die Klasse auf der Ihr die Skill belegung (auf der Leiste) Speichern wollt.
|
||||
Für die Klasse sollte man eine der Urspungsklassen ohne Ihren Jobkristall nutzen, z.B. Gladiator nicht Paladin.
|
||||
* Die $BOOKID entspricht der Nummer des gespeicherten Skillsets im Zauberbuch der Blaumagie
|
||||
@@ -1,10 +0,0 @@
|
||||
# Wechsel zu DD Einstellungen
|
||||
|
||||
> /micon $ID gearset
|
||||
> /gs change $ID
|
||||
> /hotbar copy Thaumaturg 1 Blaumagier 1
|
||||
> /hotbar copy Thaumaturg 2 Blaumagier 2
|
||||
> /hotbar copy Thaumaturg 3 Blaumagier 3
|
||||
> /blaum preset 4
|
||||
|
||||
Die $ID entspricht der Nummer des Ausrüstungssets in dem der Blaumagier gespeichert ist.
|
||||
@@ -1,10 +0,0 @@
|
||||
# Wechsel zu Heal Einstellungen
|
||||
|
||||
> /micon $ID gearset
|
||||
> /gs change $ID
|
||||
> /hotbar copy Druide 1 Blaumagier 1
|
||||
> /hotbar copy Druide 2 Blaumagier 2
|
||||
> /hotbar copy Druide 3 Blaumagier 3
|
||||
> /blaum preset 2
|
||||
|
||||
Die $ID entspricht der Nummer des Ausrüstungssets in dem der Blaumagier gespeichert ist.
|
||||
@@ -1,10 +0,0 @@
|
||||
# Wechsel zu DD Einstellungen
|
||||
|
||||
> /micon $ID gearset
|
||||
> /gs change $ID
|
||||
> /hotbar copy Hermetiker 1 Blaumagier 1
|
||||
> /hotbar copy Hermetiker 2 Blaumagier 2
|
||||
> /hotbar copy Hermetiker 3 Blaumagier 3
|
||||
> /blaum preset 1
|
||||
|
||||
Die $ID entspricht der Nummer des Ausrüstungssets in dem der Blaumagier gespeichert ist.
|
||||
@@ -1,11 +0,0 @@
|
||||
# Wechsel zu Tank Einstellungen
|
||||
|
||||
> /micon $ID gearset
|
||||
> /gs change $ID
|
||||
> /wait 1
|
||||
> /hotbar copy Gladiator 1 Blaumagier 1
|
||||
> /hotbar copy Gladiator 2 Blaumagier 2
|
||||
> /hotbar copy Gladiator 3 Blaumagier 3
|
||||
> /blaum preset 3
|
||||
|
||||
Die $ID entspricht der Nummer des Ausrüstungssets in dem der Blaumagier gespeichert ist.
|
||||
74
scripts/lib/ffxivapi.py
Normal file
74
scripts/lib/ffxivapi.py
Normal file
@@ -0,0 +1,74 @@
|
||||
from .ffxivclasses import *
|
||||
import requests as req
|
||||
import json
|
||||
|
||||
class FFXIVAPI:
|
||||
__author__ = 'Anima'
|
||||
__version__ = '0.0.1'
|
||||
|
||||
def __init__(self) -> None:
|
||||
self.BASEURL : str = 'https://xivapi.com'
|
||||
|
||||
class Character(FFXIVAPI):
|
||||
__version__ = '0.0.1'
|
||||
|
||||
def __init__(self, charid: int = None, charname: tuple = None) -> None:
|
||||
"""
|
||||
Final Fantasy XIV Character
|
||||
|
||||
Use one of:
|
||||
- charid (from lodestone)
|
||||
- charname tuple with (charname, world)
|
||||
"""
|
||||
super().__init__()
|
||||
self.BASEURL : str = self.BASEURL + '/character'
|
||||
self.CHARID : str = str(charid)
|
||||
if not charid and isinstance(charname, tuple):
|
||||
self.search_char(charname)
|
||||
if self.CHARID:
|
||||
self.get_char()
|
||||
self.CLASSES : list = [
|
||||
DarkKnight(), Gunbreaker(), Paladin(), Warrior(),
|
||||
Astrologian(), Sage(), Sholar(), WhiteMage(),
|
||||
Dragoon(), Monk(), Ninja(), Samurai(), Reaper(),
|
||||
Bard(), Dancer(), Machinist(),
|
||||
BlackMage(), RedMage(), Summoner(), BlueMage(),
|
||||
Botanist(), Fisher(), Miner(),
|
||||
Alchemist(), Armorer(), Blacksmith(), Carpenter(),
|
||||
Culinarian(), Goldsmith(), Leatherworker(), Weaver()
|
||||
]
|
||||
|
||||
def search_char(self, char) -> None:
|
||||
query = f'/search?name={char[0].replace(" ", "%20")}&server={char[1]}'
|
||||
result = req.get(self.BASEURL + query)
|
||||
apidata = json.loads(result.text)
|
||||
if len(apidata['Results']) == 1:
|
||||
self.CHARID = str(apidata['Results'][0]['ID'])
|
||||
|
||||
def get_char(self) -> None:
|
||||
result = req.get(self.BASEURL + '/' + self.CHARID)
|
||||
self.APIDATA = json.loads(result.text)
|
||||
self.NAME = self.APIDATA['Character']['Name']
|
||||
self.WORLD = self.APIDATA['Character']['Server']
|
||||
self.FC = self.APIDATA['Character']['FreeCompanyName']
|
||||
self.FCID = self.APIDATA['Character']['FreeCompanyId']
|
||||
|
||||
def map_classes(self):
|
||||
for apicls in self.APIDATA['Character']['ClassJobs']:
|
||||
for cls in self.CLASSES:
|
||||
if apicls['JobID'] == cls.FFXIVAPIID:
|
||||
if apicls['Level'] > 0:
|
||||
cls.LEVEL = apicls['Level']
|
||||
break
|
||||
|
||||
if __name__ == '__main__':
|
||||
# anima = Character(29859367)
|
||||
anima = Character(charname=('Anima Ira', 'Omega'))
|
||||
|
||||
anima.map_classes()
|
||||
sum = 0
|
||||
for cls in anima.CLASSES:
|
||||
if isinstance(cls, (Heal, Tank)):
|
||||
sum += cls.LEVEL
|
||||
print(cls.ROLE, cls.NAME, cls.LEVEL)
|
||||
print(sum)
|
||||
396
scripts/lib/ffxivclasses.py
Normal file
396
scripts/lib/ffxivclasses.py
Normal file
@@ -0,0 +1,396 @@
|
||||
|
||||
####################################################################################################
|
||||
# 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')
|
||||
Reference in New Issue
Block a user