From 18ee0f4162c53beadd0aee60131773b8d95f2a57 Mon Sep 17 00:00:00 2001 From: JNSlevin <84549961+JNSlevin@users.noreply.github.com> Date: Sat, 10 Jun 2023 14:16:25 +0200 Subject: [PATCH 1/4] Create SE.lua Sanity's Edge support --- src/zones/SE.lua | 111 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 src/zones/SE.lua diff --git a/src/zones/SE.lua b/src/zones/SE.lua new file mode 100644 index 0000000..ead9e2e --- /dev/null +++ b/src/zones/SE.lua @@ -0,0 +1,111 @@ +---------- +--This file was created by @JN_Slevin with help from @Ghostbane +--------- +local WW = WizardsWardrobe +WW.zones[ "SE" ] = {} +local SE = WW.zones[ "SE" ] + +SE.name = GetString( WW_SE_NAME ) +SE.tag = "SE" +SE.icon = "/esoui/art/icons/achievement_u38_vtrial_meta.dds" +SE.priority = 12 +SE.id = 1427 +SE.node = 434 -- Not sure whats the use of this. I used a random positive number + +SE.bosses = { + [ 1 ] = { + name = GetString( WW_TRASH ), + }, + [ 2 ] = { + name = GetString( WW_SE_DESCENDER ), -- Appears randomly, therefore no postition saved + }, + [ 3 ] = { + name = GetString( WW_SE_YASEYLA ), + }, + [ 4 ] = { + name = GetString( WW_SE_TWELVANE ), -- + }, + [ 5 ] = { + name = GetString( WW_SE_ANSUUL ), + }, + +} + +SE.LOCATIONS = { + YASEYLA = { + x1 = 81530, + x2 = 87530, + y1 = 14637, + y2 = 15637, + z1 = 33077, + z2 = 42277, + }, + TWELVANE = { + x1 = 181951, + x2 = 187951, + y1 = 39840, + y2 = 40840, + z1 = 216024, + z2 = 225224, + }, + ANSUUL = { + x1 = 196953, + x2 = 202953, + y1 = 29699, + y2 = 30699, + z1 = 33632, + z2 = 42832, + }, +} + +function SE.Init() + EVENT_MANAGER:UnregisterForEvent( WW.name, EVENT_BOSSES_CHANGED ) + EVENT_MANAGER:RegisterForUpdate( WW.name .. SE.tag .. "MovementLoop", 2000, SE.OnMovement ) + EVENT_MANAGER:RegisterForEvent( WW.name .. SE.tag, EVENT_PLAYER_COMBAT_STATE, SE.OnCombatChange ) +end + +function SE.Reset() + EVENT_MANAGER:UnregisterForEvent( WW.name .. SE.tag, EVENT_PLAYER_COMBAT_STATE ) + EVENT_MANAGER:UnregisterForUpdate( WW.name .. SE.tag .. "MovementLoop" ) + EVENT_MANAGER:RegisterForEvent( WW.name, EVENT_BOSSES_CHANGED, WW.OnBossChange ) +end + +function SE.OnCombatChange( _, inCombat ) + if inCombat then + EVENT_MANAGER:UnregisterForUpdate( WW.name .. SE.tag .. "MovementLoop" ) + else + EVENT_MANAGER:RegisterForUpdate( WW.name .. SE.tag .. "MovementLoop", 2000, SE.OnMovement ) + end +end + +function SE.OnMovement() + local bossName = SE.GetBossByLocation() + if not bossName then return end + WW.OnBossChange( _, true, bossName ) +end + +function SE.GetBossByLocation() + local zone, x, y, z = GetUnitWorldPosition( "player" ) + + if zone ~= SE.id then return nil end + + if x > SE.LOCATIONS.YASEYLA.x1 and x < SE.LOCATIONS.YASEYLA.x2 + and y > SE.LOCATIONS.YASEYLA.y1 and y < SE.LOCATIONS.YASEYLA.y2 + and z > SE.LOCATIONS.YASEYLA.z1 and z < SE.LOCATIONS.YASEYLA.z2 then + return GetString( WW_SE_YASEYLA ) + elseif x > SE.LOCATIONS.TWELVANE.x1 and x < SE.LOCATIONS.TWELVANE.x2 + and y > SE.LOCATIONS.TWELVANE.y1 and y < SE.LOCATIONS.TWELVANE.y2 + and z > SE.LOCATIONS.TWELVANE.z1 and z < SE.LOCATIONS.TWELVANE.z2 then + return GetString( WW_SE_TWELVANE ) + elseif x > SE.LOCATIONS.ANSUUL.x1 and x < SE.LOCATIONS.ANSUUL.x2 + and y > SE.LOCATIONS.ANSUUL.y1 and y < SE.LOCATIONS.ANSUUL.y2 + and z > SE.LOCATIONS.ANSUUL.z1 and z < SE.LOCATIONS.ANSUUL.z2 then + return GetString( WW_SE_ANSUUL ) + else + return GetString( WW_TRASH ) + end +end + +function SE.OnBossChange( bossName ) + WW.conditions.OnBossChange( bossName ) +end From abf3930f55b8562dd762784b663909aea5b80b85 Mon Sep 17 00:00:00 2001 From: JNSlevin <84549961+JNSlevin@users.noreply.github.com> Date: Sat, 10 Jun 2023 14:20:32 +0200 Subject: [PATCH 2/4] Added Sanity's Edge support Updated API Version Changed BRP Priority to 13 Added german translation --- src/WizardsWardrobe.txt | 3 +- src/lang/de.lua | 392 ++++++++++++++++++++-------------------- src/lang/en.lua | 6 + src/zones/BRP.lua | 130 ++++++------- 4 files changed, 266 insertions(+), 265 deletions(-) diff --git a/src/WizardsWardrobe.txt b/src/WizardsWardrobe.txt index 1f5139a..1dbf5ff 100644 --- a/src/WizardsWardrobe.txt +++ b/src/WizardsWardrobe.txt @@ -2,7 +2,7 @@ ## Author: ownedbynico ## Version: 1.10.0 ## Description: Throw all your setups into the wardrobe and let the wizard equip them exactly when you need it. -## APIVersion: 101035 +## APIVersion: 101038 ## DependsOn: LibAddonMenu-2.0 LibChatMessage>=105 ## SavedVariables: WizardsWardrobeSV @@ -56,4 +56,5 @@ zones/SS.lua zones/KA.lua zones/RG.lua zones/DSR.lua +zones/SE.lua zones/BRP.lua \ No newline at end of file diff --git a/src/lang/de.lua b/src/lang/de.lua index 8cf6311..dbf9822 100644 --- a/src/lang/de.lua +++ b/src/lang/de.lua @@ -1,252 +1,258 @@ local language = { -- MESSAGES - WW_MSG_FIRSTSTART = "Wenn du zum ersten Mal Wizard's Wardrobe benutzt, sieh dir bitte das FAQ und die Liste der Funktionen auf %s an. Dort werden die meisten Fragen schon beantwortet.", - WW_MSG_ENOENT = "Ein solcher Eintrag existiert nicht.", - WW_MSG_ERROR = "FEHLER!", - WW_MSG_LOADSETUP = "Lade Setup [%s] aus [%s].", - WW_MSG_LOADINFIGHT = "Lade Setup [%s] aus [%s] nach dem Kampf.", - WW_MSG_SAVESETUP = "Speichere Setup [%s].", - WW_MSG_DELETESETUP = "Lösche Setup [%s].", - WW_MSG_EMPTYSETUP = "Das Setup ist leer.", - WW_MSG_FOODENOENT = "Kein passendes Bufffood im Inventar gefunden!", - WW_MSG_NOFOODRUNNING = "Es läuft kein Bufffood. Iss etwas und versuche es erneut oder ziehe Bufffood per Drag & Drop auf diesen Button.", - WW_MSG_NOTFOOD = "Dieser Gegenstand ist kein Bufffood oder wird aktuell noch nicht unterstützt.", - WW_MSG_LOADSKILLS = "Lade Skills [%s] aus [%s].", - WW_MSG_SAVESKILLS = "Speichere Skills in Setup %s.", - WW_MSG_SKILLENOENT = "Skill [%s] nicht freigeschaltet.", - WW_MSG_SKILLSTUCK = "Skill [%s] konnte nicht ausgerüstet werden.", - WW_MSG_LOADGEAR = "Lade Rüstung [%s] aus [%s].", - WW_MSG_SAVEGEAR = "Speichere Rüstung in Setup %s.", - WW_MSG_GEARENOENT = "Gegenstand %s nicht im Inventar gefunden!", - WW_MSG_GEARSTUCK = "Gegenstand %s konnte nicht verschoben werden.", - WW_MSG_FULLINV = "Dein Inventar ist voll. Ausrüstung wurde eventuell nicht korrekt verschoben.", - WW_MSG_LOADCP = "Lade CP [%s] aus [%s].", - WW_MSG_SAVECP = "Speichere CP in Setup %s.", - WW_MSG_CPENOENT = "Stern [%s] ist nicht freigeschaltet.", - WW_MSG_CPCOOLDOWN = "Champion Punkte werden in %ss gewechselt.", - WW_MSG_CPCOOLDOWNOVER = "Champion Punkte gewechselt.", - WW_MSG_TELEPORT_PLAYER = "Teleportiere zu %s.", - WW_MSG_TELEPORT_WAYSHRINE = "Teleportiere zu Wegschrein.", - WW_MSG_TELEPORT_WAYSHRINE_ERROR = "Wegschrein noch nicht erkundet.", - WW_MSG_TELEPORT_HOUSE = "Teleportiere ins Haus.", - WW_MSG_TOGGLEAUTOEQUIP = "Automatisches Laden %s", - WW_MSG_TOGGLEAUTOEQUIP_ON = "aktiviert.", - WW_MSG_TOGGLEAUTOEQUIP_OFF = "deaktiviert.", - WW_MSG_CLEARQUEUE = "%d Einträge aus der Warteschlange gelöscht.", - WW_MSG_NOREPKITS = "Keine Reparaturmaterialien im Beutel gefunden!", - WW_MSG_NOTENOUGHREPKITS = "Nicht genügend Reparaturmaterialien im Beutel gefunden!", - WW_MSG_NOSOULGEMS = "Keine Seelensteine im Beutel gefunden!", - WW_MSG_NOTENOUGHSOULGEMS = "Nicht genügend Seelensteine im Beutel gefunden!", - WW_MSG_NOPOISONS = "Keine Gifte im Beutel gefunden!", - WW_MSG_IMPORTSUCCESS = "Alle Gegenstände erfolgreich importiert.", - WW_MSG_IMPORTGEARENOENT = "Es konnten nicht alle Gegenstände importiert werden. Sorge dafür, dass du alle Items im Inventar oder in der Bank hast. Der Trait spielt keine Rolle.", - WW_MSG_WITHDRAW_SETUP = "Nehme Setup [%s] aus der Bank.", - WW_MSG_WITHDRAW_PAGE = "Nehme Setups der Seite [%s] aus der Bank.", - WW_MSG_WITHDRAW_FULL = "Item konnte nicht verschoben werden. Bitte sorge für genügend Platz im Beutel.", - WW_MSG_WITHDRAW_ENOENT = "Nicht alle Items konnten in der Bank gefunden werden.", - WW_MSG_DEPOSIT_SETUP = "Räume Setup [%s] in die Bank.", - WW_MSG_DEPOSIT_PAGE = "Räume Setups der Seite [%s] in die Bank.", - WW_MSG_DEPOSIT_FULL = "Item konnte nicht in die Bank geräumt werden. Bitte sorge für genügend Platz.", - WW_MSG_TRANSFER_FINISHED = "Alle Items wurden erfolgreich verschoben.", - WW_MSG_TRANSFER_TIMEOUT = "Mindestens ein Item steckt fest. Bitte erneut versuchen.", - WW_MSG_FOOD_FADED = "Dein Bufffood ist ausgelaufen. Genieße dein %s!", - WW_MSG_FOOD_COMBAT = "Dein Bufffood ist im Kampf ausgelaufen. Wenn nötig wird dich der Zauberer nach dem Kampf mit %s versorgen.", - WW_MSG_NOFOOD = "Kein passendes Bufffood im Inventar gefunden!", + WW_MSG_FIRSTSTART = "If you are using Wizard's Wardrobe for the first time please be sure to check out the FAQ and feature list on the %s page. Most questions are already answered there.", + WW_MSG_ENOENT = "There is no such entry.", + WW_MSG_ERROR = "ERROR!", + WW_MSG_LOADSETUP = "Loading setup [%s] from [%s].", + WW_MSG_LOADINFIGHT = "Loading setup [%s] from [%s] after combat.", + WW_MSG_SAVESETUP = "Saving setup [%s].", + WW_MSG_DELETESETUP = "Deleting setup [%s].", + WW_MSG_EMPTYSETUP = "Setup is empty.", + WW_MSG_FOODENOENT = "Could not find matching buff food in your inventory!", + WW_MSG_NOFOODRUNNING = "No food running. Eat food and try again or drag & drop food onto food button.", + WW_MSG_NOTFOOD = "This item is no buff food or is currently not supported.", + WW_MSG_LOADSKILLS = "Loading skills %s from [%s].", + WW_MSG_SAVESKILLS = "Saving skills to setup %s.", + WW_MSG_SKILLENOENT = "Could not slot [%s]. Skill not unlocked.", + WW_MSG_SKILLSTUCK = "Could not slot skill [%s].", + WW_MSG_LOADGEAR = "Loading gear %s from [%s].", + WW_MSG_SAVEGEAR = "Saving gear to setup %s.", + WW_MSG_GEARENOENT = "Could not find %s in your inventory!", + WW_MSG_GEARSTUCK = "Could not move item %s.", + WW_MSG_FULLINV = "Your inventory is full. Gear may have not been moved properly.", + WW_MSG_LOADCP = "Loading CP %s from [%s].", + WW_MSG_SAVECP = "Saving CP to setup %s.", + WW_MSG_CPENOENT = "Could not slot [%s]. Star is not unlocked.", + WW_MSG_CPCOOLDOWN = "Champion points will be changed in %ss.", + WW_MSG_CPCOOLDOWNOVER = "Champion points changed.", + WW_MSG_TELEPORT_PLAYER = "Teleporting to %s.", + WW_MSG_TELEPORT_WAYSHRINE = "Teleporting to wayshrine.", + WW_MSG_TELEPORT_WAYSHRINE_ERROR = "Wayshrine not unlocked.", + WW_MSG_TELEPORT_HOUSE = "Teleporting into primary residence.", + WW_MSG_TOGGLEAUTOEQUIP = "%s auto-equip.", + WW_MSG_TOGGLEAUTOEQUIP_ON = "Enabled", + WW_MSG_TOGGLEAUTOEQUIP_OFF = "Disabled", + WW_MSG_CLEARQUEUE = "Cleared %d queue entries.", + WW_MSG_NOREPKITS = "Could not find any repair kits in your inventory!", + WW_MSG_NOTENOUGHREPKITS = "Could not find enough repair kits in your inventory!", + WW_MSG_NOSOULGEMS = "Could not find any soul gems in your inventory!", + WW_MSG_NOTENOUGHSOULGEMS = "Could not find enough soul gems in your inventory!", + WW_MSG_NOPOISONS = "Could not find any poisons in your inventory!", + WW_MSG_IMPORTSUCCESS = "All items imported successfully.", + WW_MSG_IMPORTGEARENOENT = "Not all items could be imported. Make sure you have all of the items in your inventory or in your bank. Traits don't matter.", + WW_MSG_WITHDRAW_SETUP = "Withdrawing setup [%s] from bank.", + WW_MSG_WITHDRAW_PAGE = "Withdrawing all setups of [%s] from bank.", + WW_MSG_WITHDRAW_FULL = "Could not move items. Be sure there is enough space in your inventory.", + WW_MSG_WITHDRAW_ENOENT = "Not all items could be found in the bank.", + WW_MSG_DEPOSIT_SETUP = "Depositing setup [%s] to bank.", + WW_MSG_DEPOSIT_PAGE = "Depositing all setups of [%s] from bank.", + WW_MSG_DEPOSIT_FULL = "Could not deposit items to bank. Be sure there is enough space.", + WW_MSG_TRANSFER_FINISHED = "All items were moved successfully.", + WW_MSG_TRANSFER_TIMEOUT = "At least one item is stuck. Please try again.", + WW_MSG_FOOD_FADED = "Your buff food ran out. Enjoy your %s!", + WW_MSG_FOOD_COMBAT = "Your buff food just ran out mid combat. The wizard will provide you with %s after the combat if still needed.", + WW_MSG_NOFOOD = "Could not find any matching buff food in your inventory!", -- ADDON MENU - WW_MENU_GENERAL = "Allgemein", - WW_MENU_PRINTCHAT = "Meldungen", - WW_MENU_PRINTCHAT_TT = "Gibt Meldungen über geladene Setups im Chat oder Benachrichtigungsfenster aus.", - WW_MENU_PRINTCHAT_OFF = "Deaktiviert", + WW_MENU_GENERAL = "General", + WW_MENU_PRINTCHAT = "Print messages", + WW_MENU_PRINTCHAT_TT = "Prints messages about loaded setups into the chat or the alert notifications", + WW_MENU_PRINTCHAT_OFF = "Disabled", WW_MENU_PRINTCHAT_CHAT = "Chat", - WW_MENU_PRINTCHAT_ALERT = "Benachrichtigung", - WW_MENU_OVERWRITEWARNING = "Warnung beim Überschreiben", - WW_MENU_OVERWRITEWARNING_TT = "Zeigt eine Warnung wenn ein bereits gespeichertes Setup überschrieben wird.", - WW_MENU_INVENTORYMARKER = "Inventarmarker", - WW_MENU_INVENTORYMARKER_TT = "Zeigt ein kleines Symbol über Items im Inventar, die in Setups gespeichert sind.", - WW_MENU_UNEQUIPEMPTY = "Leere Slots ablegen", - WW_MENU_UNEQUIPEMPTY_TT = "Wenn im Setup etwas als leer gespeichert ist wird der Gegenstand/Champion Punkt/Skill abgelegt.", - WW_MENU_RESETUI = "UI zurücksetzen", - WW_MENU_RESETUI_TT = "|cFF0000Dies setzt das Fenster und alle seine Positionen auf den Scenes zurück.|r\nEs muss dann erneut mit /wizard oder dem Hotkey geöffnet werden.", - WW_MENU_AUTOEQUIP = "Automatisches Laden", - WW_MENU_AUTOEQUIP_DESC = "Diese Einstellungen steuern, was genau aus dem Setup geladen/gespeichert wird", - WW_MENU_AUTOEQUIP_GEAR = "Ausrüsrung", + WW_MENU_PRINTCHAT_ALERT = "Alert", + WW_MENU_OVERWRITEWARNING = "Show warning on overwrite", + WW_MENU_OVERWRITEWARNING_TT = "Shows a warning if an already saved setup is overwritten.", + WW_MENU_INVENTORYMARKER = "Inventory marker", + WW_MENU_INVENTORYMARKER_TT = "Shows a small icon over items in the inventory that are saved in setups.", + WW_MENU_UNEQUIPEMPTY = "Unequip empty slots", + WW_MENU_UNEQUIPEMPTY_TT = "If something is saved as empty in the setup, the item/champion point/skill will be unequipped.", + WW_MENU_RESETUI = "Reset UI", + WW_MENU_RESETUI_TT = "|cFF0000This resets the window and all its positions on the scenes.|r\nIt must then be opened again with /wizard or the hotkey.", + WW_MENU_AUTOEQUIP = "Auto-Equip", + WW_MENU_AUTOEQUIP_DESC = "These settings control what exactly is loaded/saved from the setup.", + WW_MENU_AUTOEQUIP_GEAR = "Gear", WW_MENU_AUTOEQUIP_SKILLS = "Skills", - WW_MENU_AUTOEQUIP_CP = "Championpunkte", - WW_MENU_AUTOEQUIP_BUFFFOOD = "Bufffood", - WW_MENU_SUBSTITUTE = "Ersatzsetups", - WW_MENU_SUBSTITUTE_OVERLAND = "Offene Welt", - WW_MENU_SUBSTITUTE_OVERLAND_TT = "Umfasst auch Gewölbe und öffentliche Verliese.", - WW_MENU_SUBSTITUTE_DUNGEONS = "Verliese", - WW_MENU_SUBSTITUTE_WARNING = "Diese Optionen aktivieren das Laden von Ersatzsetups außerhalb der unterstützten Zonen. Es ist |cFF0000experimentell|r und wird nicht überall zu 100% funktionieren. Neue Dungeons funktionieren in der Regel besser als alte.", - WW_MENU_PANEL = "Info Panel", - WW_MENU_PANEL_ENABLE = "Panel aktivieren", - WW_MENU_PANEL_ENABLE_TT = "Zeigt den aktuellen Set- und Seitenname sowie die Zone.\nEin |cF8FF70gelber|r Setname weißt auf ein verzögertes Laden des Setups hin. Ein |cFF7070roter|r Setname bedeutet, dass das aktuelle Setup nicht mehr dem gespeicherten entspricht.", - WW_MENU_PANEL_MINI = "Panel verkleinern", - WW_MENU_PANEL_MINI_TT = "Blendet Icon und Schriftzug aus und verkleinert die Anzeige.", - WW_MENU_PANEL_LOCK = "Anpinnen", - WW_MENU_MODULES = "Module", - WW_MENU_CHARGEWEAPONS = "Waffen automatisch aufladen", - WW_MENU_REPAIRARMOR = "Rüstung automatisch reparieren", - WW_MENU_REPAIRARMOR_TT = "Am Händler und mit Reparaturmaterialien.", - WW_MENU_FILLPOISONS = "Gifte automatisch nachlegen", - WW_MENU_FILLPOISONS_TT = "Versucht automatisch Gifte aus dem Inventar nachzulegen.\n|H1:item:76827:308:50:0:0:0:0:0:0:0:0:0:0:0:0:36:1:0:0:0:138240|h|h wird auch mit |H1:item:79690:6:1:0:0:0:0:0:0:0:0:0:0:0:1:36:0:1:0:0:0|h|h ausgetauscht (und andersrum) wenn sonst nicht vorhanden.", - WW_MENU_BUFFFOOD = "Bufffood automatisch verlängern", - WW_MENU_BUFFFOOD_TT = "Isst automatisch wieder das passende Bufffood, wenn es ausläuft. Funktioniert nur in Raids und Dungeons.\nSchau in \"WizardsWardrobeConst.lua\" nach welche Bufffoods aktuell supported werden.", + WW_MENU_AUTOEQUIP_CP = "Champion points", + WW_MENU_AUTOEQUIP_BUFFFOOD = "Buff food", + WW_MENU_SUBSTITUTE = "Substitute setups", + WW_MENU_SUBSTITUTE_OVERLAND = "Overland", + WW_MENU_SUBSTITUTE_OVERLAND_TT = "Also includes delves and public dungeons.", + WW_MENU_SUBSTITUTE_DUNGEONS = "Dungeons", + WW_MENU_SUBSTITUTE_WARNING = "These options enable loading of substitute setups outside the supported zones. It is |cFF0000experimental|r and will not work on all bosses. New dungeons usually work better than old ones.", + WW_MENU_PANEL = "Info panel", + WW_MENU_PANEL_ENABLE = "Enable panel", + WW_MENU_PANEL_ENABLE_TT = "Shows the set and page name as well as the current zone.\nA |cF8FF70yellow|r set name indicates a delayed loading of the setup. A |cFF7070red|r set name means that the current setup no longer matches the saved one.", + WW_MENU_PANEL_MINI = "Lite mode", + WW_MENU_PANEL_MINI_TT = "Hides icon and reduces the size of the panel.", + WW_MENU_PANEL_LOCK = "Lock movement", + WW_MENU_MODULES = "Modules", + WW_MENU_CHARGEWEAPONS = "Automatically charge weapons", + WW_MENU_REPAIRARMOR = "Automatically repair armor", + WW_MENU_REPAIRARMOR_TT = "Repairing at vendor and using repair kits.", + WW_MENU_FILLPOISONS = "Automatically refill poisons", + WW_MENU_FILLPOISONS_TT = "Automatically tries to refill poisons from the inventory.\n|H1:item:76827:308:50:0:0:0:0:0:0:0:0:0:0:0:0:36:1:0:0:0:138240|h|h is also exchanged with |H1:item:79690:6:1:0:0:0:0:0:0:0:0:0:0:0:1:36:0:1:0:0:0|h|h (and vice versa) if otherwise not available.", + WW_MENU_BUFFFOOD = "Automatically renew buff food", + WW_MENU_BUFFFOOD_TT = "Automatically eats the matching food again when it runs out. Only works in trials and dungeons.\nLook into \"WizardsWardrobeConst.lua\" to see which foods are supported. More to come.", WW_MENU_FIXES_FIXSURFINGWEAPONS = "Fix surfing on weapons", WW_MENU_FIXES_FIXSURFINGWEAPONS_TT = "This will toggle \"Hide Your Helm\" twice every zone swap in order to fix the weapon surf bug.", -- USER INTERFACE - WW_CHANGELOG = "Achtung! Dieses Update enthält einige große Änderungen. Bitte lies dir das aktuelle Änderungsprotokoll durch, da manche Dinge vielleicht nun anders funktionieren als gewohnt.", - WW_BUTTON_HELP = "|cFFFFFF[Klick]|r um Wiki zu öffnen", - WW_BUTTON_SETTINGS = "Einstellungen", - WW_BUTTON_CLEARQUEUE = "Warteschlange zurücksetzen\n(Kann eingesetzt werden, falls zu viele Setwechsel eingereiht wurden.)", - WW_BUTTON_UNDRESS = "Ausrüstung ablegen", + WW_CHANGELOG = "Attention! This update contains some major changes. Please read the current changelog as some things may now work differently from what they used to.", + WW_BUTTON_HELP = "|cFFFFFF[Click]|r to open wiki", + WW_BUTTON_SETTINGS = "Settings", + WW_BUTTON_CLEARQUEUE = "Reset queue\n(Can be used if too many set changes have been queued.)", + WW_BUTTON_UNDRESS = "Undress", WW_BUTTON_PREBUFF = "Prebuff", - WW_BUTTON_LABEL = "|cFFFFFF[Klick]|r um Setup zu laden", - WW_BUTTON_BANKING = "|cFFFFFF[Klick]|r um Ausrüstung zu entnehmen,\n|cFFFFFF[Shift + Klick]|r zum Einlagern", - WW_BUTTON_PREVIEW = "Vorschau", - WW_BUTTON_SAVE = "Speichern", - WW_BUTTON_MODIFY = "Ändern", - WW_BUTTON_RENAME = "Umbenennen", - WW_BUTTON_REARRANGE = "Anordnen", - WW_BUTTON_TELEPORT = "Teleportieren", - WW_BUTTON_TOGGLEAUTOEQUIP = "Automatisches Laden\nein-/ausschalten", - WW_BUTTON_ADDPAGE = "Seite hinzufügen", - WW_BUTTON_ADDSETUP = "Setup hinzufügen", - WW_BUTTON_GEAR = "Keine Rüstung gespeichert!\n|cFFFFFF[Shift + Klick]|r drücken um ausgerüstete Gegenstände abzuspeichern oder Items per Drag & Drop auf diesen Button ziehen.", - WW_BUTTON_SKILLS = "Keine Skills gespeichert!\n|cFFFFFF[Shift + Klick]|r drücken um ausgerüstete Skills abzuspeichern oder per Drag & Drop auf die Hotbars ziehen.", - WW_BUTTON_CP = "Keine CPs gespeichert!\n|cFFFFFF[Shift + Klick]|r drücken um ausgerüstete Sterne abzuspeichern.", - WW_BUTTON_BUFFFOOD = "Kein Bufffood gespeichert!\n|cFFFFFF[Shift + Klick]|r drücken um das aktuelle Bufffood abzuspeichern oder Bufffood per Drag & Drop auf diesen Button ziehen.", - WW_RENAME_PAGE = "Neuer Name für die Seite:", - WW_DELETEPAGE_WARNING = "Seite [%s] wirklich löschen?", - WW_OVERWRITESETUP_WARNING = "Setup [%s] wirklich überschreiben?", - WW_DELETE = "Löschen", - WW_ENABLE = "Aktivieren", - WW_DISABLE = "Deaktivieren", - WW_MISSING_GEAR_TT = "Folgende Gegenstände fehlen:\n\n%s\n\n|cFFFFFF[Klick]|r zum Aktualisieren", - WW_SUBSTITUTE_EXPLAIN = "Diese Setups werden geladen, wenn auf der jeweiligen Raidseite kein Setup gespeichert ist.\nWenn du diese Funktion nicht nutzen willst, lasse es einfach leer.", + WW_BUTTON_LABEL = "|cFFFFFF[Click]|r to load setup", + WW_BUTTON_BANKING = "|cFFFFFF[Click]|r to withdraw gear,\n|cFFFFFF[Shift + Click]|r to deposit", + WW_BUTTON_PREVIEW = "Preview", + WW_BUTTON_SAVE = "Save", + WW_BUTTON_MODIFY = "Modify", + WW_BUTTON_RENAME = "Rename", + WW_BUTTON_REARRANGE = "Rearrange", + WW_BUTTON_TELEPORT = "Teleport", + WW_BUTTON_TOGGLEAUTOEQUIP = "Toggle auto-equip", + WW_BUTTON_ADDPAGE = "Add page", + WW_BUTTON_ADDSETUP = "Add setup", + WW_BUTTON_GEAR = "No gear saved!\nPress |cFFFFFF[Shift + Click]|r to save current gear or drag & drop items onto this button.", + WW_BUTTON_SKILLS = "No skills saved!\nPress |cFFFFFF[Shift + Click]|r to save current hotbars or drag & drop spells onto this button.", + WW_BUTTON_CP = "No CPs saved!\nPress |cFFFFFF[Shift + Click]|r to save current slottables.", + WW_BUTTON_BUFFFOOD = "No buff food saved!\nPress |cFFFFFF[Shift + Click]|r to save current food or drag & drop food onto this button.", + WW_RENAME_PAGE = "Enter new name for page:", + WW_DELETEPAGE_WARNING = "Really delete page [%s]?", + WW_OVERWRITESETUP_WARNING = "Really overwrite setup [%s]?", + WW_DELETE = "Delete", + WW_ENABLE = "Enable", + WW_DISABLE = "Disable", + WW_MISSING_GEAR_TT = "Following items are missing:\n\n%s\n\n|cFFFFFF[Click]|r to refresh", + WW_SUBSTITUTE_EXPLAIN = "These setups are loaded if there is no setup stored on the selected trial page.\nIf you don't want to use this feature, just leave it empty.", WW_CONDITION_NAME = "Name", WW_CONDITION_BOSS = "Boss", - WW_CONDITION_AFTER = "Nach", - WW_CONDITION_NONE = "Kein Boss", - WW_CONDITION_EVERYWHERE = "Überall", - WW_IMPORT = "Importieren", - WW_IMPORT_HELP = "Füge hier den exportierten Text mit |cFFFFFF[STRG + V]|r ein. Bitte beachte, dass der Text nicht manipuliert werden darf, da der Import ansonsten fehlschlagen könnte.\nDu benötigst alle Items im Inventar. Die Traits aus dem exportierten Setup werden priorisiert, falls der Gegenstand im Inventar jedoch nicht den richtigen Trait hat werden auch Items mit einem \"falschen\" Trait verwendet.", - WW_IMPORT_TT = "|cFF0000Achtung! Diese Aktion wird das ausgewählte Setup überschreiben.|r", - WW_EXPORT = "Exportieren", - WW_EXPORT_HELP = "Kopiere den ausgewählten Text mit |cFFFFFF[STRG + C]|r und teile ihn mit anderen.\nEr enthält Ausrüstung, Skills und CP in einem kompakten Format um ihn an einer anderen Stelle wieder zu importieren.", + WW_CONDITION_AFTER = "After", + WW_CONDITION_NONE = "None", + WW_CONDITION_EVERYWHERE = "Everywhere", + WW_IMPORT = "Import", + WW_IMPORT_HELP = "Paste |cFFFFFF[CTRL + V]|r the exported text here. Make sure that the text is not manipulated, otherwise the import may fail.\nYou need all items in the inventory. The traits of the exported setup will be prioritized, but if the item in the inventory does not have the correct trait, items with a \"wrong\" trait will also be used.", + WW_IMPORT_TT = "|cFF0000Attention! This will overwrite the selected setup.|r", + WW_EXPORT = "Export", + WW_EXPORT_HELP = "Copy the selected text with |cFFFFFF[CTRL + C]|r and share it with others.\nIt contains gear, skills and champion points in a compact format to import it elsewhere.", WW_CUSTOMCODE = "Lua Code", - WW_CUSTOMCODE_HELP = "Dieser Code wird ausgeführt nachdem das Setup geladen wurde.", - WW_DUPLICATE = "Duplizieren", - WW_DUPLICATE_NAME = "Kopie von %s", - WW_LINK_IMPORT = "Zur Garderobe hinzufügen", - WW_PREBUFF_HELP = "Spells per Drag and Drop auf die Prebuff Hotbars ziehen.\nWenn Toggle aktiviert ist werden die Spells erst zurückgewechselt, wenn der entsprechende Hotkey erneut gedrückt wird. Ansonsten wird nach dem Casten gewechselt.\nDelay für \"normale\" Spells liegt bei ~500ms, kanalisierende Spells brauchen eventuell mehr.", + WW_CUSTOMCODE_HELP = "This code is executed after the setup is loaded.", + WW_DUPLICATE = "Duplicate", + WW_DUPLICATE_NAME = "Copy of %s", + WW_LINK_IMPORT = "Add to Wardrobe", + WW_PREBUFF_HELP = "Drag and drop spells onto the prebuff bars.\nIf toggle is checked it will keep the prebuff spells on your hotbar until you press that hotbar again. Otherwise it will be unslotted after casting.\nDelay for \"normal\" spells is ~500ms, channeled abilities need more.", -- BOSS & TRIAL NAMES - WW_PAGE = "Seite %s", - WW_EMPTY = "Leer", - WW_UNNAMED = "Unbenannt", + WW_PAGE = "Page %s", + WW_EMPTY = "Empty", + WW_UNNAMED = "Unnamed", WW_TRASH = "Trash", - WW_GENERAL = "Allgemein", + WW_GENERAL = "General", - WW_SUB_NAME = "Ersatzsetups", - WW_SUB_BOSS = "Boss", - WW_SUB_TRASH = "Trash", + WW_SUB_NAME = "Substitute Setups", + WW_SUB_BOSS = "Substitute Boss", + WW_SUB_TRASH = "Substitute Trash", - WW_PVP_NAME = "Spieler gegen Spieler", + WW_PVP_NAME = "Player versus Player", - WW_AA_NAME = "Ätherisches Archiv", - WW_AA_STORMATRO = "Gewitteratronach", - WW_AA_STONEATRO = "Grundsteinatronach", + WW_AA_NAME = "Aetherian Archive", + WW_AA_STORMATRO = "Lightning Storm Atronach", + WW_AA_STONEATRO = "Foundation Stone Atronach", WW_AA_VARLARIEL = "Varlariel", - WW_AA_MAGE = "Die Magierin", + WW_AA_MAGE = "The Mage", WW_SO_NAME = "Sanctum Ophidia", - WW_SO_MANTIKORA = "Besessener Mantikor", - WW_SO_TROLL = "Steinbrecher", + WW_SO_MANTIKORA = "Possessed Mantikora", + WW_SO_TROLL = "Stonebreaker", WW_SO_OZARA = "Ozara", - WW_SO_SERPENT = "Die Schlange", + WW_SO_SERPENT = "The Serpent", - WW_HRC_NAME = "Zitadelle von Hel Ra", + WW_HRC_NAME = "Hel Ra Citadel", WW_HRC_RAKOTU = "Ra Kotu", WW_HRC_LOWER = "Yokeda Rok'dun", WW_HRC_UPPER = "Yokeda Kai", - WW_HRC_WARRIOR = "Der Krieger", + WW_HRC_WARRIOR = "The Warrior", - WW_MOL_NAME = "Schlund von Lorkhaj", - WW_MOL_ZHAJHASSA = "Zhaj'hassa der Vergessene", - WW_MOL_TWINS = "Zwillinge", + WW_MOL_NAME = "Maw of Lokhaj", + WW_MOL_ZHAJHASSA = "Zhaj'hassa the Forgotten", + WW_MOL_TWINS = "Twins", WW_MOL_RAKKHAT = "Rakkhat", - WW_HOF_NAME = "Hallen der Fertigung", - WW_HOF_HUNTERKILLER = "Abfänger Negatrix", - WW_HOF_HUNTERKILLER_DN = "Negatrix & Positrox", - WW_HOF_FACTOTUM = "Perfektioniertes Faktotum", - WW_HOF_SPIDER = "Erzaufseher", - WW_HOF_COMMITEE = "Reaktor", - WW_HOF_COMMITEE_DN = "Komitee", - WW_HOF_GENERAL = "Montagegeneral", + WW_HOF_NAME = "Halls of Fabrication", + WW_HOF_HUNTERKILLER = "Hunter-Killer Negatrix", + WW_HOF_HUNTERKILLER_DN = "Hunter-Killer", + WW_HOF_FACTOTUM = "Pinnacle Factotum", + WW_HOF_SPIDER = "Archcustodian", + WW_HOF_COMMITEE = "Reactor", + WW_HOF_COMMITEE_DN = "Commitee", + WW_HOF_GENERAL = "Assembly General", - WW_AS_NAME = "Anstalt Sanctorium", - WW_AS_OLMS = "Heiliger Olms der Gerechte", - WW_AS_FELMS = "Heiliger Felms der Tapfere", - WW_AS_LLOTHIS = "Heiliger Llothis der Fromme", + WW_AS_NAME = "Asylum Sanctorium", + WW_AS_OLMS = "Saint Olms the Just", + WW_AS_FELMS = "Saint Felms the Bold", + WW_AS_LLOTHIS = "Saint Llothis the Pious", - WW_CR_NAME = "Wolkenruh", - WW_CR_GALENWE = "Schatten von Galenwe", - WW_CR_RELEQUEN = "Schatten von Relequen", - WW_CR_SIRORIA = "Schatten von Siroria", + WW_CR_NAME = "Cloudrest", + WW_CR_GALENWE = "Shade of Galenwe", + WW_CR_RELEQUEN = "Shade of Relequen", + WW_CR_SIRORIA = "Shade of Siroria", WW_CR_ZMAJA = "Z'Maja", - WW_SS_NAME = "Sonnspitz", + WW_SS_NAME = "Sunspire", WW_SS_LOKKESTIIZ = "Lokkestiiz", WW_SS_YOLNAHKRIIN = "Yolnahkriin", WW_SS_NAHVIINTAAS = "Nahviintaas", - WW_KA_NAME = "Kynes Ägis", - WW_KA_YANDIR = "Yandir der Ausweider", - WW_KA_VROL = "Kapitän Vrol", - WW_KA_FALGRAVN = "Fürst Falgravn", + WW_KA_NAME = "Kyne's Aegis", + WW_KA_YANDIR = "Yandir the Butcher", + WW_KA_VROL = "Captain Vrol", + WW_KA_FALGRAVN = "Lord Falgravn", - WW_RG_NAME = "Felshain", + WW_RG_NAME = "Rockgrove", WW_RG_OAXILTSO = "Oaxiltso", - WW_RG_BAHSEI = "Flammenheroldin Bahsei", + WW_RG_BAHSEI = "Flame-Herald Bahsei", WW_RG_XALVAKKA = "Xalvakka", - WW_RG_SNAKE = "Sonnt-in-Schlangen", - WW_RG_ASHTITAN = "Aschtitan", + WW_RG_SNAKE = "Basks-In-Snakes", + WW_RG_ASHTITAN = "Ash Titan", - WW_DSR_NAME = "Grauenssegelriff", + WW_DSR_NAME = "Dreadsail Reef", WW_DSR_LYLANARTURLASSIL = "Lylanar", - WW_DSR_LYLANARTURLASSIL_DN = "Lylanar und Turlassil", - WW_DSR_GUARDIAN = "Riffwächter", - WW_DSR_TALERIA = "Gezeitengeborene Taleria", - WW_DSR_SAILRIPPER = "Segelreißerin", - WW_DSR_BOWBREAKER = "Bogenbrecher", + WW_DSR_LYLANARTURLASSIL_DN = "Lylanar and Turlassil", + WW_DSR_GUARDIAN = "Reef Guardian", + WW_DSR_TALERIA = "Tideborn Taleria", + WW_DSR_SAILRIPPER = "Sail Ripper", + WW_DSR_BOWBREAKER = "Bow Breaker", + + WW_SE_NAME = "Sanity's Edge", + WW_SE_DESCENDER = "Gewundender Herablasser", + WW_SE_YASEYLA = "Exarchanikerin Yaseyla", + WW_SE_TWELVANE = "Erzzaubermeisterin Twelvane", + WW_SE_ANSUUL = "Ansuul die Quälende", - WW_MSA_NAME = "Mahlstrom-Arena", + WW_MSA_NAME = "Maelstrom Arena", - WW_VH_NAME = "Grund des Vateshran", + WW_VH_NAME = "Vateshran Hollows", - WW_DSA_NAME = "Drachenstern-Arena", + WW_DSA_NAME = "Dragonstar Arena", - WW_BRP_NAME = "Schwarzrosengefängnis", - WW_BRP_FIRST = "Kampfmagierin Ennodius", - WW_BRP_SECOND = "Zähmt-die-Bestien", - WW_BRP_THIRD = "Fürstin Minara", - WW_BRP_FOURTH = "Alle zusammen", - WW_BRP_FIFTH = "Drakeeh der Entfesselte", - WW_BRP_FINALROUND = "Letzte Runde", + WW_BRP_NAME = "Blackrose Prison", + WW_BRP_FIRST = "Battlemage Ennodius", + WW_BRP_SECOND = "Tames-The-Beast", + WW_BRP_THIRD = "Lady Minara", + WW_BRP_FOURTH = "All of them", + WW_BRP_FIFTH = "Drakeeh the Unchained", + WW_BRP_FINALROUND = "Final Round", -- KEYBINDS - SI_BINDING_NAME_WW_HOTKEY_SHOW_UI = "Wizard's Wardrobe öffnen", - SI_BINDING_NAME_WW_HOTKEY_FIXES_FLIP_SHOULDERS = "Schulter reparieren", + SI_BINDING_NAME_WW_HOTKEY_SHOW_UI = "Open Wizard's Wardrobe", + SI_BINDING_NAME_WW_HOTKEY_FIXES_FLIP_SHOULDERS = "Fix Shoulder", SI_BINDING_NAME_WW_HOTKEY_SETUP_1 = "Setup 1 (Trash)", SI_BINDING_NAME_WW_HOTKEY_SETUP_2 = "Setup 2", SI_BINDING_NAME_WW_HOTKEY_SETUP_3 = "Setup 3", diff --git a/src/lang/en.lua b/src/lang/en.lua index d92d588..8e38d17 100644 --- a/src/lang/en.lua +++ b/src/lang/en.lua @@ -228,6 +228,12 @@ local language = { WW_DSR_TALERIA = "Tideborn Taleria", WW_DSR_SAILRIPPER = "Sail Ripper", WW_DSR_BOWBREAKER = "Bow Breaker", + + WW_SE_NAME = "Sanity's Edge", + WW_SE_DESCENDER = "Spiral Descender", + WW_SE_YASEYLA = "Exarchanic Yaseyla", + WW_SE_TWELVANE = "Archwizard Twelvane", + WW_SE_ANSUUL = "Ansuul the Tormentor", WW_MSA_NAME = "Maelstrom Arena", diff --git a/src/zones/BRP.lua b/src/zones/BRP.lua index 4627ae7..e547ba3 100644 --- a/src/zones/BRP.lua +++ b/src/zones/BRP.lua @@ -1,32 +1,32 @@ local WW = WizardsWardrobe -WW.zones["BRP"] = {} -local BRP = WW.zones["BRP"] +WW.zones[ "BRP" ] = {} +local BRP = WW.zones[ "BRP" ] -BRP.name = GetString(WW_BRP_NAME) +BRP.name = GetString( WW_BRP_NAME ) BRP.tag = "BRP" BRP.icon = "/esoui/art/icons/achievement_blackrose_veteran.dds" -BRP.priority = 12 +BRP.priority = 13 BRP.id = 1082 BRP.node = 378 BRP.bosses = { - [1] = { - name = GetString(WW_TRASH), + [ 1 ] = { + name = GetString( WW_TRASH ), }, - [2] = { - name = GetString(WW_BRP_FIRST), + [ 2 ] = { + name = GetString( WW_BRP_FIRST ), }, - [3] = { - name = GetString(WW_BRP_SECOND), + [ 3 ] = { + name = GetString( WW_BRP_SECOND ), }, - [4] = { - name = GetString(WW_BRP_THIRD), + [ 4 ] = { + name = GetString( WW_BRP_THIRD ), }, - [5] = { - name = GetString(WW_BRP_FOURTH), + [ 5 ] = { + name = GetString( WW_BRP_FOURTH ), }, - [6] = { - name = GetString(WW_BRP_FIFTH), + [ 6 ] = { + name = GetString( WW_BRP_FIFTH ), }, } @@ -67,38 +67,38 @@ BRP.PORTALID = 114578 function BRP.Init() BRP.lastArena = 0 - + BRP.lastPortalSpawn = 0 BRP.currentRound = 0 BRP.currentWave = 0 - - EVENT_MANAGER:UnregisterForEvent(WW.name, EVENT_BOSSES_CHANGED) - EVENT_MANAGER:RegisterForUpdate(WW.name .. BRP.tag .. "MovementLoop", 2000, BRP.OnMovement) - EVENT_MANAGER:RegisterForEvent(WW.name .. BRP.tag, EVENT_PLAYER_COMBAT_STATE, BRP.OnCombatChange) - - EVENT_MANAGER:RegisterForEvent(WW.name .. BRP.tag.. "PortalSpawn", EVENT_COMBAT_EVENT, BRP.OnPortalSpawn) - EVENT_MANAGER:AddFilterForEvent(WW.name .. BRP.tag.. "PortalSpawn", EVENT_COMBAT_EVENT, REGISTER_FILTER_ABILITY_ID, BRP.PORTALID) - EVENT_MANAGER:RegisterForEvent(WW.name .. BRP.tag .. "LastWave", EVENT_DISPLAY_ANNOUNCEMENT, BRP.OnLastWave) + + EVENT_MANAGER:UnregisterForEvent( WW.name, EVENT_BOSSES_CHANGED ) + EVENT_MANAGER:RegisterForUpdate( WW.name .. BRP.tag .. "MovementLoop", 2000, BRP.OnMovement ) + EVENT_MANAGER:RegisterForEvent( WW.name .. BRP.tag, EVENT_PLAYER_COMBAT_STATE, BRP.OnCombatChange ) + + EVENT_MANAGER:RegisterForEvent( WW.name .. BRP.tag .. "PortalSpawn", EVENT_COMBAT_EVENT, BRP.OnPortalSpawn ) + EVENT_MANAGER:AddFilterForEvent( WW.name .. BRP.tag .. "PortalSpawn", EVENT_COMBAT_EVENT, REGISTER_FILTER_ABILITY_ID, BRP.PORTALID ) + EVENT_MANAGER:RegisterForEvent( WW.name .. BRP.tag .. "LastWave", EVENT_DISPLAY_ANNOUNCEMENT, BRP.OnLastWave ) end function BRP.Reset() - EVENT_MANAGER:UnregisterForEvent(WW.name .. BRP.tag, EVENT_PLAYER_COMBAT_STATE) - EVENT_MANAGER:UnregisterForUpdate(WW.name .. BRP.tag .. "MovementLoop") - EVENT_MANAGER:RegisterForEvent(WW.name, EVENT_BOSSES_CHANGED, WW.OnBossChange) - - EVENT_MANAGER:UnregisterForEvent(WW.name .. BRP.tag.. "PortalSpawn") - EVENT_MANAGER:UnregisterForEvent(WW.name .. BRP.tag .. "LastWave") + EVENT_MANAGER:UnregisterForEvent( WW.name .. BRP.tag, EVENT_PLAYER_COMBAT_STATE ) + EVENT_MANAGER:UnregisterForUpdate( WW.name .. BRP.tag .. "MovementLoop" ) + EVENT_MANAGER:RegisterForEvent( WW.name, EVENT_BOSSES_CHANGED, WW.OnBossChange ) + + EVENT_MANAGER:UnregisterForEvent( WW.name .. BRP.tag .. "PortalSpawn" ) + EVENT_MANAGER:UnregisterForEvent( WW.name .. BRP.tag .. "LastWave" ) end -function BRP.OnBossChange(bossName) - WW.conditions.OnBossChange(bossName) +function BRP.OnBossChange( bossName ) + WW.conditions.OnBossChange( bossName ) end -function BRP.OnCombatChange(_, inCombat) +function BRP.OnCombatChange( _, inCombat ) if inCombat == true then - EVENT_MANAGER:UnregisterForUpdate(WW.name .. BRP.tag .. "MovementLoop") + EVENT_MANAGER:UnregisterForUpdate( WW.name .. BRP.tag .. "MovementLoop" ) else - EVENT_MANAGER:RegisterForUpdate(WW.name .. BRP.tag .. "MovementLoop", 2000, BRP.OnMovement) + EVENT_MANAGER:RegisterForUpdate( WW.name .. BRP.tag .. "MovementLoop", 2000, BRP.OnMovement ) end end @@ -107,56 +107,44 @@ function BRP.OnMovement() --d("Arena " .. tostring(arena) .. " / Last arena " .. BRP.lastArena) if arena == 0 and BRP.lastArena > 0 then --d("Trash!") - WW.OnBossChange(_, true, "") + WW.OnBossChange( _, true, "" ) end BRP.lastArena = arena end function BRP.GetStageByLocation() - local zone, x, y, z = GetUnitWorldPosition("player") - + local zone, x, y, z = GetUnitWorldPosition( "player" ) + if x > BRP.LOCATIONS.FIRST.x1 and x < BRP.LOCATIONS.FIRST.x2 and z > BRP.LOCATIONS.FIRST.z1 and z < BRP.LOCATIONS.FIRST.z2 then - return 1 - elseif x > BRP.LOCATIONS.SECOND.x1 and x < BRP.LOCATIONS.SECOND.x2 and z > BRP.LOCATIONS.SECOND.z1 and z < BRP.LOCATIONS.SECOND.z2 then - return 2 - elseif x > BRP.LOCATIONS.THIRD.x1 and x < BRP.LOCATIONS.THIRD.x2 and z > BRP.LOCATIONS.THIRD.z1 and z < BRP.LOCATIONS.THIRD.z2 then - return 3 - elseif x > BRP.LOCATIONS.FORTH.x1 and x < BRP.LOCATIONS.FORTH.x2 and z > BRP.LOCATIONS.FORTH.z1 and z < BRP.LOCATIONS.FORTH.z2 then - return 4 - elseif x > BRP.LOCATIONS.FIFTH.x1 and x < BRP.LOCATIONS.FIFTH.x2 and z > BRP.LOCATIONS.FIFTH.z1 and z < BRP.LOCATIONS.FIFTH.z2 then - return 5 - else - return 0 - end end -- Stuff below stolen from BRHelper (with permission) -- https://www.esoui.com/downloads/info2181-BlackrosePrisonHelper.html -function BRP.OnLastWave(_, title) - if title == GetString(WW_BRP_FINALROUND) then +function BRP.OnLastWave( _, title ) + if title == GetString( WW_BRP_FINALROUND ) then BRP.currentRound = 5 BRP.currentWave = 0 else - local round = string.match(title, '^.+%s(%d)$') + local round = string.match( title, "^.+%s(%d)$" ) if round then - BRP.currentRound = tonumber(round) + BRP.currentRound = tonumber( round ) BRP.currentWave = 0 end end @@ -166,30 +154,30 @@ function BRP.Wave() local stage = BRP.GetStageByLocation() local round = BRP.currentRound local wave = BRP.currentWave - + -- STAGE 1 if stage == 1 then - if round == 4 and wave == 3 then WW.OnBossChange(_, true, GetString(WW_BRP_FIRST)) end - - -- STAGE 2 + if round == 4 and wave == 3 then WW.OnBossChange( _, true, GetString( WW_BRP_FIRST ) ) end + + -- STAGE 2 elseif stage == 2 then - if round == 4 and wave == 2 then WW.OnBossChange(_, true, GetString(WW_BRP_SECOND)) end - - -- STAGE 3 + if round == 4 and wave == 2 then WW.OnBossChange( _, true, GetString( WW_BRP_SECOND ) ) end + + -- STAGE 3 elseif stage == 3 then - if round == 4 and wave == 3 then WW.OnBossChange(_, true, GetString(WW_BRP_THIRD)) end - - -- STAGE 4 + if round == 4 and wave == 3 then WW.OnBossChange( _, true, GetString( WW_BRP_THIRD ) ) end + + -- STAGE 4 elseif stage == 4 then - if round == 4 and wave == 3 then WW.OnBossChange(_, true, GetString(WW_BRP_FOURTH)) end - - -- STAGE 5 + if round == 4 and wave == 3 then WW.OnBossChange( _, true, GetString( WW_BRP_FOURTH ) ) end + + -- STAGE 5 elseif stage == 5 then - if round == 4 and wave == 3 then WW.OnBossChange(_, true, GetString(WW_BRP_FIFTH)) end + if round == 4 and wave == 3 then WW.OnBossChange( _, true, GetString( WW_BRP_FIFTH ) ) end end end -function BRP.OnPortalSpawn(_, result, _, _, _, _, _, _, _, _, _, _, _, _, _, _, abilityId) +function BRP.OnPortalSpawn( _, result, _, _, _, _, _, _, _, _, _, _, _, _, _, _, abilityId ) if result == ACTION_RESULT_EFFECT_GAINED then local spawnTime = GetGameTimeMilliseconds() if spawnTime - BRP.lastPortalSpawn > 2000 then @@ -198,4 +186,4 @@ function BRP.OnPortalSpawn(_, result, _, _, _, _, _, _, _, _, _, _, _, _, _, _, end BRP.lastPortalSpawn = spawnTime end -end \ No newline at end of file +end From 983407cafd8514b86a5bc4c1184d7f2e8641452d Mon Sep 17 00:00:00 2001 From: JNSlevin <84549961+JNSlevin@users.noreply.github.com> Date: Sat, 10 Jun 2023 14:27:28 +0200 Subject: [PATCH 3/4] Update de.lua Accidentally copied the wrong file --- src/lang/de.lua | 390 ++++++++++++++++++++++++------------------------ 1 file changed, 195 insertions(+), 195 deletions(-) diff --git a/src/lang/de.lua b/src/lang/de.lua index dbf9822..d157c73 100644 --- a/src/lang/de.lua +++ b/src/lang/de.lua @@ -1,258 +1,258 @@ local language = { -- MESSAGES - WW_MSG_FIRSTSTART = "If you are using Wizard's Wardrobe for the first time please be sure to check out the FAQ and feature list on the %s page. Most questions are already answered there.", - WW_MSG_ENOENT = "There is no such entry.", - WW_MSG_ERROR = "ERROR!", - WW_MSG_LOADSETUP = "Loading setup [%s] from [%s].", - WW_MSG_LOADINFIGHT = "Loading setup [%s] from [%s] after combat.", - WW_MSG_SAVESETUP = "Saving setup [%s].", - WW_MSG_DELETESETUP = "Deleting setup [%s].", - WW_MSG_EMPTYSETUP = "Setup is empty.", - WW_MSG_FOODENOENT = "Could not find matching buff food in your inventory!", - WW_MSG_NOFOODRUNNING = "No food running. Eat food and try again or drag & drop food onto food button.", - WW_MSG_NOTFOOD = "This item is no buff food or is currently not supported.", - WW_MSG_LOADSKILLS = "Loading skills %s from [%s].", - WW_MSG_SAVESKILLS = "Saving skills to setup %s.", - WW_MSG_SKILLENOENT = "Could not slot [%s]. Skill not unlocked.", - WW_MSG_SKILLSTUCK = "Could not slot skill [%s].", - WW_MSG_LOADGEAR = "Loading gear %s from [%s].", - WW_MSG_SAVEGEAR = "Saving gear to setup %s.", - WW_MSG_GEARENOENT = "Could not find %s in your inventory!", - WW_MSG_GEARSTUCK = "Could not move item %s.", - WW_MSG_FULLINV = "Your inventory is full. Gear may have not been moved properly.", - WW_MSG_LOADCP = "Loading CP %s from [%s].", - WW_MSG_SAVECP = "Saving CP to setup %s.", - WW_MSG_CPENOENT = "Could not slot [%s]. Star is not unlocked.", - WW_MSG_CPCOOLDOWN = "Champion points will be changed in %ss.", - WW_MSG_CPCOOLDOWNOVER = "Champion points changed.", - WW_MSG_TELEPORT_PLAYER = "Teleporting to %s.", - WW_MSG_TELEPORT_WAYSHRINE = "Teleporting to wayshrine.", - WW_MSG_TELEPORT_WAYSHRINE_ERROR = "Wayshrine not unlocked.", - WW_MSG_TELEPORT_HOUSE = "Teleporting into primary residence.", - WW_MSG_TOGGLEAUTOEQUIP = "%s auto-equip.", - WW_MSG_TOGGLEAUTOEQUIP_ON = "Enabled", - WW_MSG_TOGGLEAUTOEQUIP_OFF = "Disabled", - WW_MSG_CLEARQUEUE = "Cleared %d queue entries.", - WW_MSG_NOREPKITS = "Could not find any repair kits in your inventory!", - WW_MSG_NOTENOUGHREPKITS = "Could not find enough repair kits in your inventory!", - WW_MSG_NOSOULGEMS = "Could not find any soul gems in your inventory!", - WW_MSG_NOTENOUGHSOULGEMS = "Could not find enough soul gems in your inventory!", - WW_MSG_NOPOISONS = "Could not find any poisons in your inventory!", - WW_MSG_IMPORTSUCCESS = "All items imported successfully.", - WW_MSG_IMPORTGEARENOENT = "Not all items could be imported. Make sure you have all of the items in your inventory or in your bank. Traits don't matter.", - WW_MSG_WITHDRAW_SETUP = "Withdrawing setup [%s] from bank.", - WW_MSG_WITHDRAW_PAGE = "Withdrawing all setups of [%s] from bank.", - WW_MSG_WITHDRAW_FULL = "Could not move items. Be sure there is enough space in your inventory.", - WW_MSG_WITHDRAW_ENOENT = "Not all items could be found in the bank.", - WW_MSG_DEPOSIT_SETUP = "Depositing setup [%s] to bank.", - WW_MSG_DEPOSIT_PAGE = "Depositing all setups of [%s] from bank.", - WW_MSG_DEPOSIT_FULL = "Could not deposit items to bank. Be sure there is enough space.", - WW_MSG_TRANSFER_FINISHED = "All items were moved successfully.", - WW_MSG_TRANSFER_TIMEOUT = "At least one item is stuck. Please try again.", - WW_MSG_FOOD_FADED = "Your buff food ran out. Enjoy your %s!", - WW_MSG_FOOD_COMBAT = "Your buff food just ran out mid combat. The wizard will provide you with %s after the combat if still needed.", - WW_MSG_NOFOOD = "Could not find any matching buff food in your inventory!", + WW_MSG_FIRSTSTART = "Wenn du zum ersten Mal Wizard's Wardrobe benutzt, sieh dir bitte das FAQ und die Liste der Funktionen auf %s an. Dort werden die meisten Fragen schon beantwortet.", + WW_MSG_ENOENT = "Ein solcher Eintrag existiert nicht.", + WW_MSG_ERROR = "FEHLER!", + WW_MSG_LOADSETUP = "Lade Setup [%s] aus [%s].", + WW_MSG_LOADINFIGHT = "Lade Setup [%s] aus [%s] nach dem Kampf.", + WW_MSG_SAVESETUP = "Speichere Setup [%s].", + WW_MSG_DELETESETUP = "Lösche Setup [%s].", + WW_MSG_EMPTYSETUP = "Das Setup ist leer.", + WW_MSG_FOODENOENT = "Kein passendes Bufffood im Inventar gefunden!", + WW_MSG_NOFOODRUNNING = "Es läuft kein Bufffood. Iss etwas und versuche es erneut oder ziehe Bufffood per Drag & Drop auf diesen Button.", + WW_MSG_NOTFOOD = "Dieser Gegenstand ist kein Bufffood oder wird aktuell noch nicht unterstützt.", + WW_MSG_LOADSKILLS = "Lade Skills [%s] aus [%s].", + WW_MSG_SAVESKILLS = "Speichere Skills in Setup %s.", + WW_MSG_SKILLENOENT = "Skill [%s] nicht freigeschaltet.", + WW_MSG_SKILLSTUCK = "Skill [%s] konnte nicht ausgerüstet werden.", + WW_MSG_LOADGEAR = "Lade Rüstung [%s] aus [%s].", + WW_MSG_SAVEGEAR = "Speichere Rüstung in Setup %s.", + WW_MSG_GEARENOENT = "Gegenstand %s nicht im Inventar gefunden!", + WW_MSG_GEARSTUCK = "Gegenstand %s konnte nicht verschoben werden.", + WW_MSG_FULLINV = "Dein Inventar ist voll. Ausrüstung wurde eventuell nicht korrekt verschoben.", + WW_MSG_LOADCP = "Lade CP [%s] aus [%s].", + WW_MSG_SAVECP = "Speichere CP in Setup %s.", + WW_MSG_CPENOENT = "Stern [%s] ist nicht freigeschaltet.", + WW_MSG_CPCOOLDOWN = "Champion Punkte werden in %ss gewechselt.", + WW_MSG_CPCOOLDOWNOVER = "Champion Punkte gewechselt.", + WW_MSG_TELEPORT_PLAYER = "Teleportiere zu %s.", + WW_MSG_TELEPORT_WAYSHRINE = "Teleportiere zu Wegschrein.", + WW_MSG_TELEPORT_WAYSHRINE_ERROR = "Wegschrein noch nicht erkundet.", + WW_MSG_TELEPORT_HOUSE = "Teleportiere ins Haus.", + WW_MSG_TOGGLEAUTOEQUIP = "Automatisches Laden %s", + WW_MSG_TOGGLEAUTOEQUIP_ON = "aktiviert.", + WW_MSG_TOGGLEAUTOEQUIP_OFF = "deaktiviert.", + WW_MSG_CLEARQUEUE = "%d Einträge aus der Warteschlange gelöscht.", + WW_MSG_NOREPKITS = "Keine Reparaturmaterialien im Beutel gefunden!", + WW_MSG_NOTENOUGHREPKITS = "Nicht genügend Reparaturmaterialien im Beutel gefunden!", + WW_MSG_NOSOULGEMS = "Keine Seelensteine im Beutel gefunden!", + WW_MSG_NOTENOUGHSOULGEMS = "Nicht genügend Seelensteine im Beutel gefunden!", + WW_MSG_NOPOISONS = "Keine Gifte im Beutel gefunden!", + WW_MSG_IMPORTSUCCESS = "Alle Gegenstände erfolgreich importiert.", + WW_MSG_IMPORTGEARENOENT = "Es konnten nicht alle Gegenstände importiert werden. Sorge dafür, dass du alle Items im Inventar oder in der Bank hast. Der Trait spielt keine Rolle.", + WW_MSG_WITHDRAW_SETUP = "Nehme Setup [%s] aus der Bank.", + WW_MSG_WITHDRAW_PAGE = "Nehme Setups der Seite [%s] aus der Bank.", + WW_MSG_WITHDRAW_FULL = "Item konnte nicht verschoben werden. Bitte sorge für genügend Platz im Beutel.", + WW_MSG_WITHDRAW_ENOENT = "Nicht alle Items konnten in der Bank gefunden werden.", + WW_MSG_DEPOSIT_SETUP = "Räume Setup [%s] in die Bank.", + WW_MSG_DEPOSIT_PAGE = "Räume Setups der Seite [%s] in die Bank.", + WW_MSG_DEPOSIT_FULL = "Item konnte nicht in die Bank geräumt werden. Bitte sorge für genügend Platz.", + WW_MSG_TRANSFER_FINISHED = "Alle Items wurden erfolgreich verschoben.", + WW_MSG_TRANSFER_TIMEOUT = "Mindestens ein Item steckt fest. Bitte erneut versuchen.", + WW_MSG_FOOD_FADED = "Dein Bufffood ist ausgelaufen. Genieße dein %s!", + WW_MSG_FOOD_COMBAT = "Dein Bufffood ist im Kampf ausgelaufen. Wenn nötig wird dich der Zauberer nach dem Kampf mit %s versorgen.", + WW_MSG_NOFOOD = "Kein passendes Bufffood im Inventar gefunden!", -- ADDON MENU - WW_MENU_GENERAL = "General", - WW_MENU_PRINTCHAT = "Print messages", - WW_MENU_PRINTCHAT_TT = "Prints messages about loaded setups into the chat or the alert notifications", - WW_MENU_PRINTCHAT_OFF = "Disabled", + WW_MENU_GENERAL = "Allgemein", + WW_MENU_PRINTCHAT = "Meldungen", + WW_MENU_PRINTCHAT_TT = "Gibt Meldungen über geladene Setups im Chat oder Benachrichtigungsfenster aus.", + WW_MENU_PRINTCHAT_OFF = "Deaktiviert", WW_MENU_PRINTCHAT_CHAT = "Chat", - WW_MENU_PRINTCHAT_ALERT = "Alert", - WW_MENU_OVERWRITEWARNING = "Show warning on overwrite", - WW_MENU_OVERWRITEWARNING_TT = "Shows a warning if an already saved setup is overwritten.", - WW_MENU_INVENTORYMARKER = "Inventory marker", - WW_MENU_INVENTORYMARKER_TT = "Shows a small icon over items in the inventory that are saved in setups.", - WW_MENU_UNEQUIPEMPTY = "Unequip empty slots", - WW_MENU_UNEQUIPEMPTY_TT = "If something is saved as empty in the setup, the item/champion point/skill will be unequipped.", - WW_MENU_RESETUI = "Reset UI", - WW_MENU_RESETUI_TT = "|cFF0000This resets the window and all its positions on the scenes.|r\nIt must then be opened again with /wizard or the hotkey.", - WW_MENU_AUTOEQUIP = "Auto-Equip", - WW_MENU_AUTOEQUIP_DESC = "These settings control what exactly is loaded/saved from the setup.", - WW_MENU_AUTOEQUIP_GEAR = "Gear", + WW_MENU_PRINTCHAT_ALERT = "Benachrichtigung", + WW_MENU_OVERWRITEWARNING = "Warnung beim Überschreiben", + WW_MENU_OVERWRITEWARNING_TT = "Zeigt eine Warnung wenn ein bereits gespeichertes Setup überschrieben wird.", + WW_MENU_INVENTORYMARKER = "Inventarmarker", + WW_MENU_INVENTORYMARKER_TT = "Zeigt ein kleines Symbol über Items im Inventar, die in Setups gespeichert sind.", + WW_MENU_UNEQUIPEMPTY = "Leere Slots ablegen", + WW_MENU_UNEQUIPEMPTY_TT = "Wenn im Setup etwas als leer gespeichert ist wird der Gegenstand/Champion Punkt/Skill abgelegt.", + WW_MENU_RESETUI = "UI zurücksetzen", + WW_MENU_RESETUI_TT = "|cFF0000Dies setzt das Fenster und alle seine Positionen auf den Scenes zurück.|r\nEs muss dann erneut mit /wizard oder dem Hotkey geöffnet werden.", + WW_MENU_AUTOEQUIP = "Automatisches Laden", + WW_MENU_AUTOEQUIP_DESC = "Diese Einstellungen steuern, was genau aus dem Setup geladen/gespeichert wird", + WW_MENU_AUTOEQUIP_GEAR = "Ausrüsrung", WW_MENU_AUTOEQUIP_SKILLS = "Skills", - WW_MENU_AUTOEQUIP_CP = "Champion points", - WW_MENU_AUTOEQUIP_BUFFFOOD = "Buff food", - WW_MENU_SUBSTITUTE = "Substitute setups", - WW_MENU_SUBSTITUTE_OVERLAND = "Overland", - WW_MENU_SUBSTITUTE_OVERLAND_TT = "Also includes delves and public dungeons.", - WW_MENU_SUBSTITUTE_DUNGEONS = "Dungeons", - WW_MENU_SUBSTITUTE_WARNING = "These options enable loading of substitute setups outside the supported zones. It is |cFF0000experimental|r and will not work on all bosses. New dungeons usually work better than old ones.", - WW_MENU_PANEL = "Info panel", - WW_MENU_PANEL_ENABLE = "Enable panel", - WW_MENU_PANEL_ENABLE_TT = "Shows the set and page name as well as the current zone.\nA |cF8FF70yellow|r set name indicates a delayed loading of the setup. A |cFF7070red|r set name means that the current setup no longer matches the saved one.", - WW_MENU_PANEL_MINI = "Lite mode", - WW_MENU_PANEL_MINI_TT = "Hides icon and reduces the size of the panel.", - WW_MENU_PANEL_LOCK = "Lock movement", - WW_MENU_MODULES = "Modules", - WW_MENU_CHARGEWEAPONS = "Automatically charge weapons", - WW_MENU_REPAIRARMOR = "Automatically repair armor", - WW_MENU_REPAIRARMOR_TT = "Repairing at vendor and using repair kits.", - WW_MENU_FILLPOISONS = "Automatically refill poisons", - WW_MENU_FILLPOISONS_TT = "Automatically tries to refill poisons from the inventory.\n|H1:item:76827:308:50:0:0:0:0:0:0:0:0:0:0:0:0:36:1:0:0:0:138240|h|h is also exchanged with |H1:item:79690:6:1:0:0:0:0:0:0:0:0:0:0:0:1:36:0:1:0:0:0|h|h (and vice versa) if otherwise not available.", - WW_MENU_BUFFFOOD = "Automatically renew buff food", - WW_MENU_BUFFFOOD_TT = "Automatically eats the matching food again when it runs out. Only works in trials and dungeons.\nLook into \"WizardsWardrobeConst.lua\" to see which foods are supported. More to come.", + WW_MENU_AUTOEQUIP_CP = "Championpunkte", + WW_MENU_AUTOEQUIP_BUFFFOOD = "Bufffood", + WW_MENU_SUBSTITUTE = "Ersatzsetups", + WW_MENU_SUBSTITUTE_OVERLAND = "Offene Welt", + WW_MENU_SUBSTITUTE_OVERLAND_TT = "Umfasst auch Gewölbe und öffentliche Verliese.", + WW_MENU_SUBSTITUTE_DUNGEONS = "Verliese", + WW_MENU_SUBSTITUTE_WARNING = "Diese Optionen aktivieren das Laden von Ersatzsetups außerhalb der unterstützten Zonen. Es ist |cFF0000experimentell|r und wird nicht überall zu 100% funktionieren. Neue Dungeons funktionieren in der Regel besser als alte.", + WW_MENU_PANEL = "Info Panel", + WW_MENU_PANEL_ENABLE = "Panel aktivieren", + WW_MENU_PANEL_ENABLE_TT = "Zeigt den aktuellen Set- und Seitenname sowie die Zone.\nEin |cF8FF70gelber|r Setname weißt auf ein verzögertes Laden des Setups hin. Ein |cFF7070roter|r Setname bedeutet, dass das aktuelle Setup nicht mehr dem gespeicherten entspricht.", + WW_MENU_PANEL_MINI = "Panel verkleinern", + WW_MENU_PANEL_MINI_TT = "Blendet Icon und Schriftzug aus und verkleinert die Anzeige.", + WW_MENU_PANEL_LOCK = "Anpinnen", + WW_MENU_MODULES = "Module", + WW_MENU_CHARGEWEAPONS = "Waffen automatisch aufladen", + WW_MENU_REPAIRARMOR = "Rüstung automatisch reparieren", + WW_MENU_REPAIRARMOR_TT = "Am Händler und mit Reparaturmaterialien.", + WW_MENU_FILLPOISONS = "Gifte automatisch nachlegen", + WW_MENU_FILLPOISONS_TT = "Versucht automatisch Gifte aus dem Inventar nachzulegen.\n|H1:item:76827:308:50:0:0:0:0:0:0:0:0:0:0:0:0:36:1:0:0:0:138240|h|h wird auch mit |H1:item:79690:6:1:0:0:0:0:0:0:0:0:0:0:0:1:36:0:1:0:0:0|h|h ausgetauscht (und andersrum) wenn sonst nicht vorhanden.", + WW_MENU_BUFFFOOD = "Bufffood automatisch verlängern", + WW_MENU_BUFFFOOD_TT = "Isst automatisch wieder das passende Bufffood, wenn es ausläuft. Funktioniert nur in Raids und Dungeons.\nSchau in \"WizardsWardrobeConst.lua\" nach welche Bufffoods aktuell supported werden.", WW_MENU_FIXES_FIXSURFINGWEAPONS = "Fix surfing on weapons", WW_MENU_FIXES_FIXSURFINGWEAPONS_TT = "This will toggle \"Hide Your Helm\" twice every zone swap in order to fix the weapon surf bug.", -- USER INTERFACE - WW_CHANGELOG = "Attention! This update contains some major changes. Please read the current changelog as some things may now work differently from what they used to.", - WW_BUTTON_HELP = "|cFFFFFF[Click]|r to open wiki", - WW_BUTTON_SETTINGS = "Settings", - WW_BUTTON_CLEARQUEUE = "Reset queue\n(Can be used if too many set changes have been queued.)", - WW_BUTTON_UNDRESS = "Undress", + WW_CHANGELOG = "Achtung! Dieses Update enthält einige große Änderungen. Bitte lies dir das aktuelle Änderungsprotokoll durch, da manche Dinge vielleicht nun anders funktionieren als gewohnt.", + WW_BUTTON_HELP = "|cFFFFFF[Klick]|r um Wiki zu öffnen", + WW_BUTTON_SETTINGS = "Einstellungen", + WW_BUTTON_CLEARQUEUE = "Warteschlange zurücksetzen\n(Kann eingesetzt werden, falls zu viele Setwechsel eingereiht wurden.)", + WW_BUTTON_UNDRESS = "Ausrüstung ablegen", WW_BUTTON_PREBUFF = "Prebuff", - WW_BUTTON_LABEL = "|cFFFFFF[Click]|r to load setup", - WW_BUTTON_BANKING = "|cFFFFFF[Click]|r to withdraw gear,\n|cFFFFFF[Shift + Click]|r to deposit", - WW_BUTTON_PREVIEW = "Preview", - WW_BUTTON_SAVE = "Save", - WW_BUTTON_MODIFY = "Modify", - WW_BUTTON_RENAME = "Rename", - WW_BUTTON_REARRANGE = "Rearrange", - WW_BUTTON_TELEPORT = "Teleport", - WW_BUTTON_TOGGLEAUTOEQUIP = "Toggle auto-equip", - WW_BUTTON_ADDPAGE = "Add page", - WW_BUTTON_ADDSETUP = "Add setup", - WW_BUTTON_GEAR = "No gear saved!\nPress |cFFFFFF[Shift + Click]|r to save current gear or drag & drop items onto this button.", - WW_BUTTON_SKILLS = "No skills saved!\nPress |cFFFFFF[Shift + Click]|r to save current hotbars or drag & drop spells onto this button.", - WW_BUTTON_CP = "No CPs saved!\nPress |cFFFFFF[Shift + Click]|r to save current slottables.", - WW_BUTTON_BUFFFOOD = "No buff food saved!\nPress |cFFFFFF[Shift + Click]|r to save current food or drag & drop food onto this button.", - WW_RENAME_PAGE = "Enter new name for page:", - WW_DELETEPAGE_WARNING = "Really delete page [%s]?", - WW_OVERWRITESETUP_WARNING = "Really overwrite setup [%s]?", - WW_DELETE = "Delete", - WW_ENABLE = "Enable", - WW_DISABLE = "Disable", - WW_MISSING_GEAR_TT = "Following items are missing:\n\n%s\n\n|cFFFFFF[Click]|r to refresh", - WW_SUBSTITUTE_EXPLAIN = "These setups are loaded if there is no setup stored on the selected trial page.\nIf you don't want to use this feature, just leave it empty.", + WW_BUTTON_LABEL = "|cFFFFFF[Klick]|r um Setup zu laden", + WW_BUTTON_BANKING = "|cFFFFFF[Klick]|r um Ausrüstung zu entnehmen,\n|cFFFFFF[Shift + Klick]|r zum Einlagern", + WW_BUTTON_PREVIEW = "Vorschau", + WW_BUTTON_SAVE = "Speichern", + WW_BUTTON_MODIFY = "Ändern", + WW_BUTTON_RENAME = "Umbenennen", + WW_BUTTON_REARRANGE = "Anordnen", + WW_BUTTON_TELEPORT = "Teleportieren", + WW_BUTTON_TOGGLEAUTOEQUIP = "Automatisches Laden\nein-/ausschalten", + WW_BUTTON_ADDPAGE = "Seite hinzufügen", + WW_BUTTON_ADDSETUP = "Setup hinzufügen", + WW_BUTTON_GEAR = "Keine Rüstung gespeichert!\n|cFFFFFF[Shift + Klick]|r drücken um ausgerüstete Gegenstände abzuspeichern oder Items per Drag & Drop auf diesen Button ziehen.", + WW_BUTTON_SKILLS = "Keine Skills gespeichert!\n|cFFFFFF[Shift + Klick]|r drücken um ausgerüstete Skills abzuspeichern oder per Drag & Drop auf die Hotbars ziehen.", + WW_BUTTON_CP = "Keine CPs gespeichert!\n|cFFFFFF[Shift + Klick]|r drücken um ausgerüstete Sterne abzuspeichern.", + WW_BUTTON_BUFFFOOD = "Kein Bufffood gespeichert!\n|cFFFFFF[Shift + Klick]|r drücken um das aktuelle Bufffood abzuspeichern oder Bufffood per Drag & Drop auf diesen Button ziehen.", + WW_RENAME_PAGE = "Neuer Name für die Seite:", + WW_DELETEPAGE_WARNING = "Seite [%s] wirklich löschen?", + WW_OVERWRITESETUP_WARNING = "Setup [%s] wirklich überschreiben?", + WW_DELETE = "Löschen", + WW_ENABLE = "Aktivieren", + WW_DISABLE = "Deaktivieren", + WW_MISSING_GEAR_TT = "Folgende Gegenstände fehlen:\n\n%s\n\n|cFFFFFF[Klick]|r zum Aktualisieren", + WW_SUBSTITUTE_EXPLAIN = "Diese Setups werden geladen, wenn auf der jeweiligen Raidseite kein Setup gespeichert ist.\nWenn du diese Funktion nicht nutzen willst, lasse es einfach leer.", WW_CONDITION_NAME = "Name", WW_CONDITION_BOSS = "Boss", - WW_CONDITION_AFTER = "After", - WW_CONDITION_NONE = "None", - WW_CONDITION_EVERYWHERE = "Everywhere", - WW_IMPORT = "Import", - WW_IMPORT_HELP = "Paste |cFFFFFF[CTRL + V]|r the exported text here. Make sure that the text is not manipulated, otherwise the import may fail.\nYou need all items in the inventory. The traits of the exported setup will be prioritized, but if the item in the inventory does not have the correct trait, items with a \"wrong\" trait will also be used.", - WW_IMPORT_TT = "|cFF0000Attention! This will overwrite the selected setup.|r", - WW_EXPORT = "Export", - WW_EXPORT_HELP = "Copy the selected text with |cFFFFFF[CTRL + C]|r and share it with others.\nIt contains gear, skills and champion points in a compact format to import it elsewhere.", + WW_CONDITION_AFTER = "Nach", + WW_CONDITION_NONE = "Kein Boss", + WW_CONDITION_EVERYWHERE = "Überall", + WW_IMPORT = "Importieren", + WW_IMPORT_HELP = "Füge hier den exportierten Text mit |cFFFFFF[STRG + V]|r ein. Bitte beachte, dass der Text nicht manipuliert werden darf, da der Import ansonsten fehlschlagen könnte.\nDu benötigst alle Items im Inventar. Die Traits aus dem exportierten Setup werden priorisiert, falls der Gegenstand im Inventar jedoch nicht den richtigen Trait hat werden auch Items mit einem \"falschen\" Trait verwendet.", + WW_IMPORT_TT = "|cFF0000Achtung! Diese Aktion wird das ausgewählte Setup überschreiben.|r", + WW_EXPORT = "Exportieren", + WW_EXPORT_HELP = "Kopiere den ausgewählten Text mit |cFFFFFF[STRG + C]|r und teile ihn mit anderen.\nEr enthält Ausrüstung, Skills und CP in einem kompakten Format um ihn an einer anderen Stelle wieder zu importieren.", WW_CUSTOMCODE = "Lua Code", - WW_CUSTOMCODE_HELP = "This code is executed after the setup is loaded.", - WW_DUPLICATE = "Duplicate", - WW_DUPLICATE_NAME = "Copy of %s", - WW_LINK_IMPORT = "Add to Wardrobe", - WW_PREBUFF_HELP = "Drag and drop spells onto the prebuff bars.\nIf toggle is checked it will keep the prebuff spells on your hotbar until you press that hotbar again. Otherwise it will be unslotted after casting.\nDelay for \"normal\" spells is ~500ms, channeled abilities need more.", + WW_CUSTOMCODE_HELP = "Dieser Code wird ausgeführt nachdem das Setup geladen wurde.", + WW_DUPLICATE = "Duplizieren", + WW_DUPLICATE_NAME = "Kopie von %s", + WW_LINK_IMPORT = "Zur Garderobe hinzufügen", + WW_PREBUFF_HELP = "Spells per Drag and Drop auf die Prebuff Hotbars ziehen.\nWenn Toggle aktiviert ist werden die Spells erst zurückgewechselt, wenn der entsprechende Hotkey erneut gedrückt wird. Ansonsten wird nach dem Casten gewechselt.\nDelay für \"normale\" Spells liegt bei ~500ms, kanalisierende Spells brauchen eventuell mehr.", -- BOSS & TRIAL NAMES - WW_PAGE = "Page %s", - WW_EMPTY = "Empty", - WW_UNNAMED = "Unnamed", + WW_PAGE = "Seite %s", + WW_EMPTY = "Leer", + WW_UNNAMED = "Unbenannt", WW_TRASH = "Trash", - WW_GENERAL = "General", + WW_GENERAL = "Allgemein", - WW_SUB_NAME = "Substitute Setups", - WW_SUB_BOSS = "Substitute Boss", - WW_SUB_TRASH = "Substitute Trash", + WW_SUB_NAME = "Ersatzsetups", + WW_SUB_BOSS = "Boss", + WW_SUB_TRASH = "Trash", - WW_PVP_NAME = "Player versus Player", + WW_PVP_NAME = "Spieler gegen Spieler", - WW_AA_NAME = "Aetherian Archive", - WW_AA_STORMATRO = "Lightning Storm Atronach", - WW_AA_STONEATRO = "Foundation Stone Atronach", + WW_AA_NAME = "Ätherisches Archiv", + WW_AA_STORMATRO = "Gewitteratronach", + WW_AA_STONEATRO = "Grundsteinatronach", WW_AA_VARLARIEL = "Varlariel", - WW_AA_MAGE = "The Mage", + WW_AA_MAGE = "Die Magierin", WW_SO_NAME = "Sanctum Ophidia", - WW_SO_MANTIKORA = "Possessed Mantikora", - WW_SO_TROLL = "Stonebreaker", + WW_SO_MANTIKORA = "Besessener Mantikor", + WW_SO_TROLL = "Steinbrecher", WW_SO_OZARA = "Ozara", - WW_SO_SERPENT = "The Serpent", + WW_SO_SERPENT = "Die Schlange", - WW_HRC_NAME = "Hel Ra Citadel", + WW_HRC_NAME = "Zitadelle von Hel Ra", WW_HRC_RAKOTU = "Ra Kotu", WW_HRC_LOWER = "Yokeda Rok'dun", WW_HRC_UPPER = "Yokeda Kai", - WW_HRC_WARRIOR = "The Warrior", + WW_HRC_WARRIOR = "Der Krieger", - WW_MOL_NAME = "Maw of Lokhaj", - WW_MOL_ZHAJHASSA = "Zhaj'hassa the Forgotten", - WW_MOL_TWINS = "Twins", + WW_MOL_NAME = "Schlund von Lorkhaj", + WW_MOL_ZHAJHASSA = "Zhaj'hassa der Vergessene", + WW_MOL_TWINS = "Zwillinge", WW_MOL_RAKKHAT = "Rakkhat", - WW_HOF_NAME = "Halls of Fabrication", - WW_HOF_HUNTERKILLER = "Hunter-Killer Negatrix", - WW_HOF_HUNTERKILLER_DN = "Hunter-Killer", - WW_HOF_FACTOTUM = "Pinnacle Factotum", - WW_HOF_SPIDER = "Archcustodian", - WW_HOF_COMMITEE = "Reactor", - WW_HOF_COMMITEE_DN = "Commitee", - WW_HOF_GENERAL = "Assembly General", + WW_HOF_NAME = "Hallen der Fertigung", + WW_HOF_HUNTERKILLER = "Abfänger Negatrix", + WW_HOF_HUNTERKILLER_DN = "Negatrix & Positrox", + WW_HOF_FACTOTUM = "Perfektioniertes Faktotum", + WW_HOF_SPIDER = "Erzaufseher", + WW_HOF_COMMITEE = "Reaktor", + WW_HOF_COMMITEE_DN = "Komitee", + WW_HOF_GENERAL = "Montagegeneral", - WW_AS_NAME = "Asylum Sanctorium", - WW_AS_OLMS = "Saint Olms the Just", - WW_AS_FELMS = "Saint Felms the Bold", - WW_AS_LLOTHIS = "Saint Llothis the Pious", + WW_AS_NAME = "Anstalt Sanctorium", + WW_AS_OLMS = "Heiliger Olms der Gerechte", + WW_AS_FELMS = "Heiliger Felms der Tapfere", + WW_AS_LLOTHIS = "Heiliger Llothis der Fromme", - WW_CR_NAME = "Cloudrest", - WW_CR_GALENWE = "Shade of Galenwe", - WW_CR_RELEQUEN = "Shade of Relequen", - WW_CR_SIRORIA = "Shade of Siroria", + WW_CR_NAME = "Wolkenruh", + WW_CR_GALENWE = "Schatten von Galenwe", + WW_CR_RELEQUEN = "Schatten von Relequen", + WW_CR_SIRORIA = "Schatten von Siroria", WW_CR_ZMAJA = "Z'Maja", - WW_SS_NAME = "Sunspire", + WW_SS_NAME = "Sonnspitz", WW_SS_LOKKESTIIZ = "Lokkestiiz", WW_SS_YOLNAHKRIIN = "Yolnahkriin", WW_SS_NAHVIINTAAS = "Nahviintaas", - WW_KA_NAME = "Kyne's Aegis", - WW_KA_YANDIR = "Yandir the Butcher", - WW_KA_VROL = "Captain Vrol", - WW_KA_FALGRAVN = "Lord Falgravn", + WW_KA_NAME = "Kynes Ägis", + WW_KA_YANDIR = "Yandir der Ausweider", + WW_KA_VROL = "Kapitän Vrol", + WW_KA_FALGRAVN = "Fürst Falgravn", - WW_RG_NAME = "Rockgrove", + WW_RG_NAME = "Felshain", WW_RG_OAXILTSO = "Oaxiltso", - WW_RG_BAHSEI = "Flame-Herald Bahsei", + WW_RG_BAHSEI = "Flammenheroldin Bahsei", WW_RG_XALVAKKA = "Xalvakka", - WW_RG_SNAKE = "Basks-In-Snakes", - WW_RG_ASHTITAN = "Ash Titan", + WW_RG_SNAKE = "Sonnt-in-Schlangen", + WW_RG_ASHTITAN = "Aschtitan", - WW_DSR_NAME = "Dreadsail Reef", + WW_DSR_NAME = "Grauenssegelriff", WW_DSR_LYLANARTURLASSIL = "Lylanar", - WW_DSR_LYLANARTURLASSIL_DN = "Lylanar and Turlassil", - WW_DSR_GUARDIAN = "Reef Guardian", - WW_DSR_TALERIA = "Tideborn Taleria", - WW_DSR_SAILRIPPER = "Sail Ripper", - WW_DSR_BOWBREAKER = "Bow Breaker", + WW_DSR_LYLANARTURLASSIL_DN = "Lylanar und Turlassil", + WW_DSR_GUARDIAN = "Riffwächter", + WW_DSR_TALERIA = "Gezeitengeborene Taleria", + WW_DSR_SAILRIPPER = "Segelreißerin", + WW_DSR_BOWBREAKER = "Bogenbrecher", - WW_SE_NAME = "Sanity's Edge", + WW_SE_NAME = "Rand des Wahnsinns", WW_SE_DESCENDER = "Gewundender Herablasser", WW_SE_YASEYLA = "Exarchanikerin Yaseyla", WW_SE_TWELVANE = "Erzzaubermeisterin Twelvane", WW_SE_ANSUUL = "Ansuul die Quälende", - WW_MSA_NAME = "Maelstrom Arena", + WW_MSA_NAME = "Mahlstrom-Arena", - WW_VH_NAME = "Vateshran Hollows", + WW_VH_NAME = "Grund des Vateshran", - WW_DSA_NAME = "Dragonstar Arena", + WW_DSA_NAME = "Drachenstern-Arena", - WW_BRP_NAME = "Blackrose Prison", - WW_BRP_FIRST = "Battlemage Ennodius", - WW_BRP_SECOND = "Tames-The-Beast", - WW_BRP_THIRD = "Lady Minara", - WW_BRP_FOURTH = "All of them", - WW_BRP_FIFTH = "Drakeeh the Unchained", - WW_BRP_FINALROUND = "Final Round", + WW_BRP_NAME = "Schwarzrosengefängnis", + WW_BRP_FIRST = "Kampfmagierin Ennodius", + WW_BRP_SECOND = "Zähmt-die-Bestien", + WW_BRP_THIRD = "Fürstin Minara", + WW_BRP_FOURTH = "Alle zusammen", + WW_BRP_FIFTH = "Drakeeh der Entfesselte", + WW_BRP_FINALROUND = "Letzte Runde", -- KEYBINDS - SI_BINDING_NAME_WW_HOTKEY_SHOW_UI = "Open Wizard's Wardrobe", - SI_BINDING_NAME_WW_HOTKEY_FIXES_FLIP_SHOULDERS = "Fix Shoulder", + SI_BINDING_NAME_WW_HOTKEY_SHOW_UI = "Wizard's Wardrobe öffnen", + SI_BINDING_NAME_WW_HOTKEY_FIXES_FLIP_SHOULDERS = "Schulter reparieren", SI_BINDING_NAME_WW_HOTKEY_SETUP_1 = "Setup 1 (Trash)", SI_BINDING_NAME_WW_HOTKEY_SETUP_2 = "Setup 2", SI_BINDING_NAME_WW_HOTKEY_SETUP_3 = "Setup 3", @@ -278,4 +278,4 @@ local language = { for key, value in pairs(language) do SafeAddVersion(key, 1) ZO_CreateStringId(key, value) -end \ No newline at end of file +end From 9edea8bd6fb943836fa4d7897a23e92bf30111f5 Mon Sep 17 00:00:00 2001 From: JNSlevin <84549961+JNSlevin@users.noreply.github.com> Date: Sat, 10 Jun 2023 14:29:55 +0200 Subject: [PATCH 4/4] Update BRP.lua Removed unnecessary formating changes, now only the priority is changed --- src/zones/BRP.lua | 126 +++++++++++++++++++++++++--------------------- 1 file changed, 69 insertions(+), 57 deletions(-) diff --git a/src/zones/BRP.lua b/src/zones/BRP.lua index e547ba3..8b3c31c 100644 --- a/src/zones/BRP.lua +++ b/src/zones/BRP.lua @@ -1,8 +1,8 @@ local WW = WizardsWardrobe -WW.zones[ "BRP" ] = {} -local BRP = WW.zones[ "BRP" ] +WW.zones["BRP"] = {} +local BRP = WW.zones["BRP"] -BRP.name = GetString( WW_BRP_NAME ) +BRP.name = GetString(WW_BRP_NAME) BRP.tag = "BRP" BRP.icon = "/esoui/art/icons/achievement_blackrose_veteran.dds" BRP.priority = 13 @@ -10,23 +10,23 @@ BRP.id = 1082 BRP.node = 378 BRP.bosses = { - [ 1 ] = { - name = GetString( WW_TRASH ), + [1] = { + name = GetString(WW_TRASH), }, - [ 2 ] = { - name = GetString( WW_BRP_FIRST ), + [2] = { + name = GetString(WW_BRP_FIRST), }, - [ 3 ] = { - name = GetString( WW_BRP_SECOND ), + [3] = { + name = GetString(WW_BRP_SECOND), }, - [ 4 ] = { - name = GetString( WW_BRP_THIRD ), + [4] = { + name = GetString(WW_BRP_THIRD), }, - [ 5 ] = { - name = GetString( WW_BRP_FOURTH ), + [5] = { + name = GetString(WW_BRP_FOURTH), }, - [ 6 ] = { - name = GetString( WW_BRP_FIFTH ), + [6] = { + name = GetString(WW_BRP_FIFTH), }, } @@ -67,38 +67,38 @@ BRP.PORTALID = 114578 function BRP.Init() BRP.lastArena = 0 - + BRP.lastPortalSpawn = 0 BRP.currentRound = 0 BRP.currentWave = 0 - - EVENT_MANAGER:UnregisterForEvent( WW.name, EVENT_BOSSES_CHANGED ) - EVENT_MANAGER:RegisterForUpdate( WW.name .. BRP.tag .. "MovementLoop", 2000, BRP.OnMovement ) - EVENT_MANAGER:RegisterForEvent( WW.name .. BRP.tag, EVENT_PLAYER_COMBAT_STATE, BRP.OnCombatChange ) - - EVENT_MANAGER:RegisterForEvent( WW.name .. BRP.tag .. "PortalSpawn", EVENT_COMBAT_EVENT, BRP.OnPortalSpawn ) - EVENT_MANAGER:AddFilterForEvent( WW.name .. BRP.tag .. "PortalSpawn", EVENT_COMBAT_EVENT, REGISTER_FILTER_ABILITY_ID, BRP.PORTALID ) - EVENT_MANAGER:RegisterForEvent( WW.name .. BRP.tag .. "LastWave", EVENT_DISPLAY_ANNOUNCEMENT, BRP.OnLastWave ) + + EVENT_MANAGER:UnregisterForEvent(WW.name, EVENT_BOSSES_CHANGED) + EVENT_MANAGER:RegisterForUpdate(WW.name .. BRP.tag .. "MovementLoop", 2000, BRP.OnMovement) + EVENT_MANAGER:RegisterForEvent(WW.name .. BRP.tag, EVENT_PLAYER_COMBAT_STATE, BRP.OnCombatChange) + + EVENT_MANAGER:RegisterForEvent(WW.name .. BRP.tag.. "PortalSpawn", EVENT_COMBAT_EVENT, BRP.OnPortalSpawn) + EVENT_MANAGER:AddFilterForEvent(WW.name .. BRP.tag.. "PortalSpawn", EVENT_COMBAT_EVENT, REGISTER_FILTER_ABILITY_ID, BRP.PORTALID) + EVENT_MANAGER:RegisterForEvent(WW.name .. BRP.tag .. "LastWave", EVENT_DISPLAY_ANNOUNCEMENT, BRP.OnLastWave) end function BRP.Reset() - EVENT_MANAGER:UnregisterForEvent( WW.name .. BRP.tag, EVENT_PLAYER_COMBAT_STATE ) - EVENT_MANAGER:UnregisterForUpdate( WW.name .. BRP.tag .. "MovementLoop" ) - EVENT_MANAGER:RegisterForEvent( WW.name, EVENT_BOSSES_CHANGED, WW.OnBossChange ) - - EVENT_MANAGER:UnregisterForEvent( WW.name .. BRP.tag .. "PortalSpawn" ) - EVENT_MANAGER:UnregisterForEvent( WW.name .. BRP.tag .. "LastWave" ) + EVENT_MANAGER:UnregisterForEvent(WW.name .. BRP.tag, EVENT_PLAYER_COMBAT_STATE) + EVENT_MANAGER:UnregisterForUpdate(WW.name .. BRP.tag .. "MovementLoop") + EVENT_MANAGER:RegisterForEvent(WW.name, EVENT_BOSSES_CHANGED, WW.OnBossChange) + + EVENT_MANAGER:UnregisterForEvent(WW.name .. BRP.tag.. "PortalSpawn") + EVENT_MANAGER:UnregisterForEvent(WW.name .. BRP.tag .. "LastWave") end -function BRP.OnBossChange( bossName ) - WW.conditions.OnBossChange( bossName ) +function BRP.OnBossChange(bossName) + WW.conditions.OnBossChange(bossName) end -function BRP.OnCombatChange( _, inCombat ) +function BRP.OnCombatChange(_, inCombat) if inCombat == true then - EVENT_MANAGER:UnregisterForUpdate( WW.name .. BRP.tag .. "MovementLoop" ) + EVENT_MANAGER:UnregisterForUpdate(WW.name .. BRP.tag .. "MovementLoop") else - EVENT_MANAGER:RegisterForUpdate( WW.name .. BRP.tag .. "MovementLoop", 2000, BRP.OnMovement ) + EVENT_MANAGER:RegisterForUpdate(WW.name .. BRP.tag .. "MovementLoop", 2000, BRP.OnMovement) end end @@ -107,44 +107,56 @@ function BRP.OnMovement() --d("Arena " .. tostring(arena) .. " / Last arena " .. BRP.lastArena) if arena == 0 and BRP.lastArena > 0 then --d("Trash!") - WW.OnBossChange( _, true, "" ) + WW.OnBossChange(_, true, "") end BRP.lastArena = arena end function BRP.GetStageByLocation() - local zone, x, y, z = GetUnitWorldPosition( "player" ) - + local zone, x, y, z = GetUnitWorldPosition("player") + if x > BRP.LOCATIONS.FIRST.x1 and x < BRP.LOCATIONS.FIRST.x2 and z > BRP.LOCATIONS.FIRST.z1 and z < BRP.LOCATIONS.FIRST.z2 then + return 1 + elseif x > BRP.LOCATIONS.SECOND.x1 and x < BRP.LOCATIONS.SECOND.x2 and z > BRP.LOCATIONS.SECOND.z1 and z < BRP.LOCATIONS.SECOND.z2 then + return 2 + elseif x > BRP.LOCATIONS.THIRD.x1 and x < BRP.LOCATIONS.THIRD.x2 and z > BRP.LOCATIONS.THIRD.z1 and z < BRP.LOCATIONS.THIRD.z2 then + return 3 + elseif x > BRP.LOCATIONS.FORTH.x1 and x < BRP.LOCATIONS.FORTH.x2 and z > BRP.LOCATIONS.FORTH.z1 and z < BRP.LOCATIONS.FORTH.z2 then + return 4 + elseif x > BRP.LOCATIONS.FIFTH.x1 and x < BRP.LOCATIONS.FIFTH.x2 and z > BRP.LOCATIONS.FIFTH.z1 and z < BRP.LOCATIONS.FIFTH.z2 then + return 5 + else + return 0 + end end -- Stuff below stolen from BRHelper (with permission) -- https://www.esoui.com/downloads/info2181-BlackrosePrisonHelper.html -function BRP.OnLastWave( _, title ) - if title == GetString( WW_BRP_FINALROUND ) then +function BRP.OnLastWave(_, title) + if title == GetString(WW_BRP_FINALROUND) then BRP.currentRound = 5 BRP.currentWave = 0 else - local round = string.match( title, "^.+%s(%d)$" ) + local round = string.match(title, '^.+%s(%d)$') if round then - BRP.currentRound = tonumber( round ) + BRP.currentRound = tonumber(round) BRP.currentWave = 0 end end @@ -154,30 +166,30 @@ function BRP.Wave() local stage = BRP.GetStageByLocation() local round = BRP.currentRound local wave = BRP.currentWave - + -- STAGE 1 if stage == 1 then - if round == 4 and wave == 3 then WW.OnBossChange( _, true, GetString( WW_BRP_FIRST ) ) end - - -- STAGE 2 + if round == 4 and wave == 3 then WW.OnBossChange(_, true, GetString(WW_BRP_FIRST)) end + + -- STAGE 2 elseif stage == 2 then - if round == 4 and wave == 2 then WW.OnBossChange( _, true, GetString( WW_BRP_SECOND ) ) end - - -- STAGE 3 + if round == 4 and wave == 2 then WW.OnBossChange(_, true, GetString(WW_BRP_SECOND)) end + + -- STAGE 3 elseif stage == 3 then - if round == 4 and wave == 3 then WW.OnBossChange( _, true, GetString( WW_BRP_THIRD ) ) end - - -- STAGE 4 + if round == 4 and wave == 3 then WW.OnBossChange(_, true, GetString(WW_BRP_THIRD)) end + + -- STAGE 4 elseif stage == 4 then - if round == 4 and wave == 3 then WW.OnBossChange( _, true, GetString( WW_BRP_FOURTH ) ) end - - -- STAGE 5 + if round == 4 and wave == 3 then WW.OnBossChange(_, true, GetString(WW_BRP_FOURTH)) end + + -- STAGE 5 elseif stage == 5 then - if round == 4 and wave == 3 then WW.OnBossChange( _, true, GetString( WW_BRP_FIFTH ) ) end + if round == 4 and wave == 3 then WW.OnBossChange(_, true, GetString(WW_BRP_FIFTH)) end end end -function BRP.OnPortalSpawn( _, result, _, _, _, _, _, _, _, _, _, _, _, _, _, _, abilityId ) +function BRP.OnPortalSpawn(_, result, _, _, _, _, _, _, _, _, _, _, _, _, _, _, abilityId) if result == ACTION_RESULT_EFFECT_GAINED then local spawnTime = GetGameTimeMilliseconds() if spawnTime - BRP.lastPortalSpawn > 2000 then