diff --git a/CHANGELOG.md b/CHANGELOG.md index 15f54b51..374b93f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,250 +1,265 @@ +## 0.5.16 (2020-02-13) + +- add fast-tag support to exchange rate (#228) +- add count to evaluation results (#220) +- add missing pseudo mods (#230) +- add elemental color to mods +- add bookmark module (#206) + - `https://www.poelab.com/` on `num1` + - `https://wraeclast.com/` on `num2` +- update ux design (#211) + - new accent color + - menu keeps height after tab change + - custom scrollbar +- fix nearby enemies counted as chaos resistance (#213) + ## 0.5.15 (2020-02-10) -* add version toggle (#205) -* add result view select (Graph, List) (#204) -* add poe db (ALT + G) (#199) -* add poe ninja by clicking the exchange rate (#206) -* update angular to 9.0.0 -* update electron to 8.0.0 -* fix local mod used as pseudo (#201) -* fix xml tags in copied item info +- add version toggle (#205) +- add result view select (Graph, List) (#204) +- add poe db (ALT + G) (#199) +- add poe ninja by clicking the exchange rate (#206) +- update angular to 9.0.0 +- update electron to 8.0.0 +- fix local mod used as pseudo (#201) +- fix xml tags in copied item info ## 0.5.14 (2020-02-08) -* add account listing count threshold (#196) -* add listing age mean to tooltip (#196) -* add `price fixing rating` (*** > 75%, ** > 50%, * > 25%) -* add alternate evaluate list view (#196) -* add oil exchange rate support (#192) -* update data to 3.9.2e -* remove pseudo count filter (#197) -* fix exchange rate using wrong link count (#187) -* fix using wrong mouse position with scaled os (#195) +- add account listing count threshold (#196) +- add listing age mean to tooltip (#196) +- add `price fixing rating` (**\* > 75%, ** > 50%, \* > 25%) +- add alternate evaluate list view (#196) +- add oil exchange rate support (#192) +- update data to 3.9.2e +- remove pseudo count filter (#197) +- fix exchange rate using wrong link count (#187) +- fix using wrong mouse position with scaled os (#195) ## 0.5.13 (2020-02-04) -* add divination card header -* add delay before registering hotkeys after showing window (#177) -* update pseudo mod behaviour - * use pseudo value instead of single value (#182) - * remove stat from list if used as pseudo stat (#175) -* increase command throttle time (#188) -* fix authenticated request hitting rate limit (#185) -* fix exchange rate using 6L if no links are present (#187) +- add divination card header +- add delay before registering hotkeys after showing window (#177) +- update pseudo mod behaviour + - use pseudo value instead of single value (#182) + - remove stat from list if used as pseudo stat (#175) +- increase command throttle time (#188) +- fix authenticated request hitting rate limit (#185) +- fix exchange rate using 6L if no links are present (#187) ## 0.5.12 (2020-02-03) -* add kakao client support (#181) -* add essence support (#180) -* add [project wiki](https://github.com/Kyusung4698/PoE-Overlay/wiki) to faq -* increase keyboard delay (#177) -* remove `restore focus` (#177) -* fix `herald of thunder` wrong item category (#176) -* fix atps instead of crit (#183) +- add kakao client support (#181) +- add essence support (#180) +- add [project wiki](https://github.com/Kyusung4698/PoE-Overlay/wiki) to faq +- increase keyboard delay (#177) +- remove `restore focus` (#177) +- fix `herald of thunder` wrong item category (#176) +- fix atps instead of crit (#183) ## 0.5.11 (2020-01-30) -* add option based stat support (#110) - * influenced by # - * occupied by # -* add currency selector for evaluate (#145) -* update translations -* fix resonators not recognized as currency (#166) -* fix attributes not recognized in pseudo parser (#163) -* fix space closing window outside of the game (#162) +- add option based stat support (#110) + - influenced by # + - occupied by # +- add currency selector for evaluate (#145) +- update translations +- fix resonators not recognized as currency (#166) +- fix attributes not recognized in pseudo parser (#163) +- fix space closing window outside of the game (#162) ## 0.5.10 (2020-01-29) -* add space as hotkey to close all dialogs (#160) -* add translations files (#158) -* update graph value to be grouped by chaos equivalent (#145) -* update stash width calculation (#159) -* fix `fingerless silk gloves` recognized as `silk gloves` (#157) +- add space as hotkey to close all dialogs (#160) +- add translations files (#158) +- update graph value to be grouped by chaos equivalent (#145) +- update stash width calculation (#159) +- fix `fingerless silk gloves` recognized as `silk gloves` (#157) ## 0.5.9 (2020-01-27) -* add fast price tagging by clicking the desired bar (#147) - * only works if the item has no note - * only works if the item is inside a premium stash tab -* fix default values are not added as query parameter (#151) -* fix minion stat is recognized as local stat (#149) +- add fast price tagging by clicking the desired bar (#147) + - only works if the item has no note + - only works if the item is inside a premium stash tab +- fix default values are not added as query parameter (#151) +- fix minion stat is recognized as local stat (#149) ## 0.5.8 (2020-01-26) -* add item base values with 7 day history (#84) -* add online/offline toggle (#104) -* add clear selected button (#105) -* fix undefined id check (#144) -* fix local mod is used instead of global if local is infront of the global (#143) +- add item base values with 7 day history (#84) +- add online/offline toggle (#104) +- add clear selected button (#105) +- fix undefined id check (#144) +- fix local mod is used instead of global if local is infront of the global (#143) ## 0.5.7 (2020-01-25) -* update map mods to use negated text version if default (#138) -* fix overlay not showing on non steam version (#139) +- update map mods to use negated text version if default (#138) +- fix overlay not showing on non steam version (#139) ## 0.5.6 (2020-01-25) -* add vaal support (#134) -* add value range support for quality and gem level (#129) -* add pseudo total energy shield and increased energy shield (#135) -* update evaluate dialog position calculation to be based on actual item values (#131) -* update active check to use executable name instead of window name (#132) -* update poe assets to patch `3.9.2c` -* update default indexed range to 3 days -* fix `clipboard empty...` even though the game is focused (#133) +- add vaal support (#134) +- add value range support for quality and gem level (#129) +- add pseudo total energy shield and increased energy shield (#135) +- update evaluate dialog position calculation to be based on actual item values (#131) +- update active check to use executable name instead of window name (#132) +- update poe assets to patch `3.9.2c` +- update default indexed range to 3 days +- fix `clipboard empty...` even though the game is focused (#133) ## 0.5.5 (2020-01-23) -* add autohide overlay if poe is not active (#60, #61, #122) -* update item clipboard handling - * to be more responsive - * to retry automatically -* update item level to be unmodified by the modifer settings and uncapped by default (#118) -* fix `Corrupted Blood cannot be inflicted on you (implicit)` mismatched with `Corrupted` (#124) +- add autohide overlay if poe is not active (#60, #61, #122) +- update item clipboard handling + - to be more responsive + - to retry automatically +- update item level to be unmodified by the modifer settings and uncapped by default (#118) +- fix `Corrupted Blood cannot be inflicted on you (implicit)` mismatched with `Corrupted` (#124) ## 0.5.4 (2020-01-22) -* add map mod warnings (#120, #18) -* update pseudo mods for quality type to be toggleable pseudo mods (#98) -* remove `CTRL + C` and `CTRL + V` as possible keybindings (#117) -* fix `CTRL + W` closes the application (#116) -* fix item type not set as filter if default item type toggle is off (#113) +- add map mod warnings (#120, #18) +- update pseudo mods for quality type to be toggleable pseudo mods (#98) +- remove `CTRL + C` and `CTRL + V` as possible keybindings (#117) +- fix `CTRL + W` closes the application (#116) +- fix item type not set as filter if default item type toggle is off (#113) ## 0.5.3 (2020-01-21) -* add map info support (#18) -* add beast support (#86) -* add alternate quality support (#98) -* add stash highlight (CTRL + F) (#106) -* add open item in wiki (ALT + W; CTRL + ALT + W) (#72) -* add support for multi-modifier key bindings -* update tools to misc +- add map info support (#18) +- add beast support (#86) +- add alternate quality support (#98) +- add stash highlight (CTRL + F) (#106) +- add open item in wiki (ALT + W; CTRL + ALT + W) (#72) +- add support for multi-modifier key bindings +- update tools to misc ## 0.5.2 (2020-01-20) -* add faq to menu -* add title to currency click -* add settings to disable item level, item type and item socket as default (#101) -* add config to pre-select stats -* update item level to use ranged value instead of fixed value -* fix local mod selector not working (#32) -* fix link count (#100) -* fix negated values use wrong range filter (#88) +- add faq to menu +- add title to currency click +- add settings to disable item level, item type and item socket as default (#101) +- add config to pre-select stats +- update item level to use ranged value instead of fixed value +- fix local mod selector not working (#32) +- fix link count (#100) +- fix negated values use wrong range filter (#88) ## 0.5.1 (2020-01-18) -* add alternative text versions of stats to support negate or plural cases (#55, #68, #88, #96, #97) -* add local stat support (#32) -* add common pseudo filters (#7, #29) -* add multiline stat support (#97) -* add `Disable Max Range` as settings (#83) -* add regex caching for better parser performance -* fix evaluate item frame changing size during loading (#83) -* fix commands use wrong text (#95) -* fix blighted map searched as gem (#92) +- add alternative text versions of stats to support negate or plural cases (#55, #68, #88, #96, #97) +- add local stat support (#32) +- add common pseudo filters (#7, #29) +- add multiline stat support (#97) +- add `Disable Max Range` as settings (#83) +- add regex caching for better parser performance +- fix evaluate item frame changing size during loading (#83) +- fix commands use wrong text (#95) +- fix blighted map searched as gem (#92) ## 0.5.0 (2020-01-15) -* add veiled mod support (#38) -* add smart multi-currency support (#82) -* add on uses remaining (#44) -* add base type as filter (#74) -* add mod ranges with ±10% (#54, #83) - * de/increase value by `0.1` via `Alt + Wheel` - * de/increase value by `1` via `Wheel` - * de/increase value by `5` via `Shift + Wheel` - * de/enable via `Right Click` - * reset via `Wheel Click` -* add select all sockets / links via `Shift + Click` (#57) -* fix `Ctrl + Scroll` moving two tabs by checkin stash window (#77) -* fix commands overwrite clipboard (#89) +- add veiled mod support (#38) +- add smart multi-currency support (#82) +- add on uses remaining (#44) +- add base type as filter (#74) +- add mod ranges with ±10% (#54, #83) + - de/increase value by `0.1` via `Alt + Wheel` + - de/increase value by `1` via `Wheel` + - de/increase value by `5` via `Shift + Wheel` + - de/enable via `Right Click` + - reset via `Wheel Click` +- add select all sockets / links via `Shift + Click` (#57) +- fix `Ctrl + Scroll` moving two tabs by checkin stash window (#77) +- fix commands overwrite clipboard (#89) ## 0.5.0-alpha.0 (2020-01-12) -* add stats type support for (explicit, implicit, crafted, fractured and enchant) (#27, #36, #59, #65) -* add total count to chart (#9) -* fix keybindings not working after tabbing (#76) -* update query to use 1 week listed, only with prices and on/offline. +- add stats type support for (explicit, implicit, crafted, fractured and enchant) (#27, #36, #59, #65) +- add total count to chart (#9) +- fix keybindings not working after tabbing (#76) +- update query to use 1 week listed, only with prices and on/offline. ## 0.4.4 (2020-01-12) -* add splash icon (#51) -* fix currency convert check (#66) -* fix alt key not working as keybinding (#58) -* fix decimal values not being parsed (#62) +- add splash icon (#51) +- fix currency convert check (#66) +- fix alt key not working as keybinding (#58) +- fix decimal values not being parsed (#62) ## 0.4.3 (2020-01-11) -* add throttling to stash tab scrolling (#50) -* fix item type used as term (#48) +- add throttling to stash tab scrolling (#50) +- fix item type used as term (#48) ## 0.4.2 (2020-01-11) -* add item category as filter (#11, #39) -* add prophecies item type base (#37) -* add ctrl + scroll as stash tab change (#31) -* add esc to close dialogs (#30) -* add defaults to query toggle (#45) -* add active window check (#10) -* update global hotkeys to be passive (#10) thanks to @Calyx- -* fix mods without values (#39) +- add item category as filter (#11, #39) +- add prophecies item type base (#37) +- add ctrl + scroll as stash tab change (#31) +- add esc to close dialogs (#30) +- add defaults to query toggle (#45) +- add active window check (#10) +- update global hotkeys to be passive (#10) thanks to @Calyx- +- fix mods without values (#39) ## 0.4.1 (2020-01-09) -* add weapon dps, pdps and edps as filter -* add map tier, item quantity, item rarity and monster pack size as filter (#26) -* add influenced shaper, crusader, hunter, elder, redeemer and warlord as filter (#28) -* add auto-select for: corrupted, item level > 80, gem level, map tier, quality if gem, influenced and sockets (#33) -* add clipboard clear after item copying -* update gem level parser (#34) -* update base-item-types (#23, #25) +- add weapon dps, pdps and edps as filter +- add map tier, item quantity, item rarity and monster pack size as filter (#26) +- add influenced shaper, crusader, hunter, elder, redeemer and warlord as filter (#28) +- add auto-select for: corrupted, item level > 80, gem level, map tier, quality if gem, influenced and sockets (#33) +- add clipboard clear after item copying +- update gem level parser (#34) +- update base-item-types (#23, #25) ## 0.4.0 (2020-01-08) -* add offical poe trade api -* add min, max, mode, mean and median to evaluate dialog (#9) -* add item level to query (#12) -* add gem level, gem experience to query (#8, #15) -* add item quality to query (#8, #15) -* add item corrupted to query (#8) -* add already running check -* add tray icon (exit, open settings) (#10) -* add open settings keybinding and exit keybinding as user settings (#10) -* add open search in external browser on CTRL + Click -* add stats-id service maps text to id. -* update base-item-types (#5) -* update validation check for jewels and maps (#16) -* remove poe.trade +- add offical poe trade api +- add min, max, mode, mean and median to evaluate dialog (#9) +- add item level to query (#12) +- add gem level, gem experience to query (#8, #15) +- add item quality to query (#8, #15) +- add item corrupted to query (#8) +- add already running check +- add tray icon (exit, open settings) (#10) +- add open settings keybinding and exit keybinding as user settings (#10) +- add open search in external browser on CTRL + Click +- add stats-id service maps text to id. +- update base-item-types (#5) +- update validation check for jewels and maps (#16) +- remove poe.trade ## 0.3.0 (2020-01-06) -* add basic filters -* add advanced search -* add evaluate chart -* add sockets to item frame -* add custom shortcuts -* add command module with /hideout /dnd -* add feature settings to layout -* add version check against latest github release -* add user settings window cache for faster display times -* update user settings as own window to mask focusable -* update evaluate dialog to be draggable +- add basic filters +- add advanced search +- add evaluate chart +- add sockets to item frame +- add custom shortcuts +- add command module with /hideout /dnd +- add feature settings to layout +- add version check against latest github release +- add user settings window cache for faster display times +- update user settings as own window to mask focusable +- update evaluate dialog to be draggable ## 0.2.0 (2020-01-03) -* add favicon -* add country specific trade api -* add user settings dialog with league and language -* add localforage to store user settings -* add "client string", "words" and "base item type" from content.ggpk as service -* add "stats-descriptions" to translate item mods -* add "map" and "divination cards" translation support -* add languages English, Portuguese, Russian, Thai, German, French, Spanish and Korean -* update use translated item names for poe.trade -* update theme based on poe color palette +- add favicon +- add country specific trade api +- add user settings dialog with league and language +- add localforage to store user settings +- add "client string", "words" and "base item type" from content.ggpk as service +- add "stats-descriptions" to translate item mods +- add "map" and "divination cards" translation support +- add languages English, Portuguese, Russian, Thai, German, French, Spanish and Korean +- update use translated item names for poe.trade +- update theme based on poe color palette ## 0.1.0 (2019-12-28) -* add item evaluation -* add currency conversion -* add ingame search +- add item evaluation +- add currency conversion +- add ingame search diff --git a/README.md b/README.md index b5943154..ca4c4f17 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# PoE Overlay 0.5.15 +# PoE Overlay 0.5.16 An Overlay for Path of Exile. The ***core aspect*** is to blend in with the game. Built with Electron and Angular. @@ -79,9 +79,9 @@ These instructions will set you up to run and enjoy the overlay. 1. Head over to [Releases](https://github.com/Kyusung4698/PoE-Overlay/releases) and download the latest zip 2. Extract zip -3. Run `poe-overlay 0.5.15.exe` +3. Run `poe-overlay 0.5.16.exe` 4. Start Path of Exile -5. Wait until you can see `POE Overlay 0.5.15` in the bottom left corner +5. Wait until you can see `POE Overlay 0.5.16` in the bottom left corner 6. Hit `f7` and set `Language` and `League` to meet your game settings #### Shortcuts diff --git a/doc/poe/game_ctlr_c_item.txt b/doc/poe/game_ctlr_c_item.txt index d20068f1..2f87c850 100644 --- a/doc/poe/game_ctlr_c_item.txt +++ b/doc/poe/game_ctlr_c_item.txt @@ -1031,4 +1031,77 @@ Adds 21 to 40 Physical Damage On the mirrored edge of infinity, one man sinks forever into darkness, one man rises into light. -But which one am I? \ No newline at end of file +But which one am I? + +Rarity: Rare +Woe Veil +Siege Helmet +-------- +Quality: +20% (augmented) +Armour: 332 (augmented) +-------- +Requirements: +Level: 69 +Str: 101 +Int: 134 +-------- +Sockets: B-R-R-B +-------- +Item Level: 85 +-------- +Scourge Arrow creates an additional spore pod at Maximum Stages +-------- ++95 to maximum Life ++25% to Chaos Resistance +Regenerate 1% of Life per second +Nearby Enemies have -9% to Chaos Resistance +20% increased Armour (crafted) ++16 to maximum Life (crafted) + +Rarity: Rare +Woe Veil +Siege Helmet +-------- +Quality: +20% (augmented) +Armour: 332 (augmented) +-------- +Requirements: +Level: 69 +Str: 101 +Int: 134 +-------- +Sockets: B-R-R-B +-------- +Item Level: 85 +-------- +Scourge Arrow creates an additional spore pod at Maximum Stages +-------- +Nearby Enemies have -9% to Chaos Resistance + +Rarity: Unique +The Saviour +Legion Sword +-------- +Critical Strike Chance: 5.40% (augmented) +-------- +8% increased Critical Strike Chance + +Rarity: Rare +Foe Bane +Vaal Greatsword +-------- +Two Handed Sword +Physical Damage: 55-113 +Elemental Damage: 58-109 (augmented), 18-35 (augmented) +Critical Strike Chance: 5.00% +Attacks per Second: 1.30 +Weapon Range: 13 +-------- +Requirements: +Level: 68 +Str: 122 +Dex: 104 (unmet) +-------- +Sockets: R-R +-------- +Adds 58 to 109 Fire Damage \ No newline at end of file diff --git a/main.ts b/main.ts index ee0e4e46..71e4a827 100644 --- a/main.ts +++ b/main.ts @@ -21,7 +21,7 @@ ipcMain.on('click-at', (event, button, position) => { robot.moveMouse(position.x, position.y); } robot.mouseClick(button, false); - + event.returnValue = true; }); diff --git a/overlay.babel b/overlay.babel index f7030d33..12b3d315 100644 --- a/overlay.babel +++ b/overlay.babel @@ -15,6 +15,175 @@ + + bookmark + + + add + false + + + + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + ko-KR + false + + + pt-BR + false + + + ru-RU + false + + + th-TH + false + + + + + name + false + + + + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + ko-KR + false + + + pt-BR + false + + + ru-RU + false + + + th-TH + false + + + + + shortcut + false + + + + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + ko-KR + false + + + pt-BR + false + + + ru-RU + false + + + th-TH + false + + + + + url + false + + + + + + de-DE + false + + + en-US + false + + + es-ES + false + + + fr-FR + false + + + ko-KR + false + + + pt-BR + false + + + ru-RU + false + + + th-TH + false + + + + + clipboard diff --git a/package-lock.json b/package-lock.json index 04238c31..c7a2a79d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "poe-overlay", - "version": "0.5.14", + "version": "0.5.16", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index c3a4e716..49019653 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "author": { "name": "Kyusung4698" }, - "version": "0.5.15", + "version": "0.5.16", "scripts": { "postinstall": "npm run ng:cc && npm run electron:deps", "ng:cc": "ngcc --properties es2015 browser module main --first-only --create-ivy-entry-points", diff --git a/src/app/app.module.ts b/src/app/app.module.ts index fa666f6b..4e4be4d0 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -10,6 +10,7 @@ import { AppComponent } from './app.component'; import { LayoutModule } from './layout/layout.module'; import { OverlayComponent } from './layout/page/overlay/overlay.component'; import { UserSettingsComponent } from './layout/page/user-settings/user-settings.component'; +import { BookmarkModule } from '@modules/bookmark/bookmark.module'; const routes: Routes = [ { @@ -41,7 +42,8 @@ const routes: Routes = [ EvaluateModule, CommandModule, MapModule, - MiscModule + MiscModule, + BookmarkModule ], providers: [], bootstrap: [AppComponent] diff --git a/src/app/layout/component/user-settings-dialog/user-settings-dialog.component.html b/src/app/layout/component/user-settings-dialog/user-settings-dialog.component.html index 2c9a87a5..ed916b75 100644 --- a/src/app/layout/component/user-settings-dialog/user-settings-dialog.component.html +++ b/src/app/layout/component/user-settings-dialog/user-settings-dialog.component.html @@ -1,5 +1,5 @@ -
- +
+
diff --git a/src/app/layout/component/user-settings-dialog/user-settings-dialog.component.scss b/src/app/layout/component/user-settings-dialog/user-settings-dialog.component.scss index f87d7cec..bc0a7aec 100644 --- a/src/app/layout/component/user-settings-dialog/user-settings-dialog.component.scss +++ b/src/app/layout/component/user-settings-dialog/user-settings-dialog.component.scss @@ -1,3 +1,8 @@ +.dialog-content { + height: 700px; + width: 1210px; +} + .content { padding: 20px 16px 0 16px; -} \ No newline at end of file +} diff --git a/src/app/layout/page/overlay/overlay.component.scss b/src/app/layout/page/overlay/overlay.component.scss index 229e0ca4..f88b7857 100644 --- a/src/app/layout/page/overlay/overlay.component.scss +++ b/src/app/layout/page/overlay/overlay.component.scss @@ -1,11 +1,12 @@ +@import "./../../../../styles/variables"; + .version { - color: #ff7; - position: fixed; - bottom: 2px; - left: 2px; - font-size: 9px; - opacity: 0.5; - text-shadow: #000; - font-family: FontinSmallCaps; - } - \ No newline at end of file + color: $yellow; + position: fixed; + bottom: 2px; + left: 2px; + font-size: 9px; + opacity: 0.5; + text-shadow: $black; + font-family: FontinSmallCaps; +} diff --git a/src/app/layout/page/overlay/overlay.component.ts b/src/app/layout/page/overlay/overlay.component.ts index a765737b..b9b16173 100644 --- a/src/app/layout/page/overlay/overlay.component.ts +++ b/src/app/layout/page/overlay/overlay.component.ts @@ -119,6 +119,7 @@ export class OverlayComponent implements OnInit, OnDestroy { private registerShortcuts(): void { this.userSettingsService.get().subscribe(settings => { + this.unregisterShortcuts(); this.registerFeatures(settings); this.registerSettings(settings); this.registerExit(settings); diff --git a/src/app/modules/bookmark/bookmark.module.ts b/src/app/modules/bookmark/bookmark.module.ts new file mode 100644 index 00000000..608a2b55 --- /dev/null +++ b/src/app/modules/bookmark/bookmark.module.ts @@ -0,0 +1,53 @@ +import { NgModule } from '@angular/core'; +import { FEATURE_MODULES } from '@app/token'; +import { Feature, FeatureModule } from '@app/type'; +import { SharedModule } from '@shared/shared.module'; +import { UserSettingsFeature } from 'src/app/layout/type'; +import { BookmarkSettingsComponent, BookmarkUserSettings } from './component/bookmark-settings/bookmark-settings.component'; +import { BookmarkService } from './service/bookmark.service'; + +@NgModule({ + providers: [{ provide: FEATURE_MODULES, useClass: BookmarkModule, multi: true }], + declarations: [BookmarkSettingsComponent], + imports: [SharedModule] +}) +export class BookmarkModule implements FeatureModule { + + constructor(private readonly bookmarkService: BookmarkService) { } + + public getSettings(): UserSettingsFeature { + const defaultSettings: BookmarkUserSettings = { + bookmarks: [ + { + url: 'https://www.poelab.com/', + shortcut: 'num1' + }, + { + url: 'https://wraeclast.com/', + shortcut: 'num2' + } + ] + }; + return { + name: 'bookmark.name', + component: BookmarkSettingsComponent, + defaultSettings + }; + } + + public getFeatures(settings: BookmarkUserSettings): Feature[] { + return settings.bookmarks + .filter(bookmark => bookmark.url && bookmark.shortcut) + .map(bookmark => { + const feature: Feature = { + name: bookmark.url, + shortcut: bookmark.shortcut + }; + return feature; + }); + } + + public run(feature: string): void { + this.bookmarkService.open(feature); + } +} diff --git a/src/app/modules/bookmark/component/bookmark-settings/bookmark-settings.component.html b/src/app/modules/bookmark/component/bookmark-settings/bookmark-settings.component.html new file mode 100644 index 00000000..7603f0c3 --- /dev/null +++ b/src/app/modules/bookmark/component/bookmark-settings/bookmark-settings.component.html @@ -0,0 +1,16 @@ + + + + {{'bookmark.url' | translate}} + + + + + + +
+ +
+
\ No newline at end of file diff --git a/src/app/modules/bookmark/component/bookmark-settings/bookmark-settings.component.scss b/src/app/modules/bookmark/component/bookmark-settings/bookmark-settings.component.scss new file mode 100644 index 00000000..40ad41ee --- /dev/null +++ b/src/app/modules/bookmark/component/bookmark-settings/bookmark-settings.component.scss @@ -0,0 +1,10 @@ +.card { + position: relative; + + .remove { + position: absolute; + top: 0; + right: 0; + z-index: 1; + } +} diff --git a/src/app/modules/bookmark/component/bookmark-settings/bookmark-settings.component.spec.ts b/src/app/modules/bookmark/component/bookmark-settings/bookmark-settings.component.spec.ts new file mode 100644 index 00000000..277a2598 --- /dev/null +++ b/src/app/modules/bookmark/component/bookmark-settings/bookmark-settings.component.spec.ts @@ -0,0 +1,39 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { TranslateFakeLoader, TranslateLoader, TranslateModule } from '@ngx-translate/core'; +import { SharedModule } from '@shared/shared.module'; +import { BookmarkSettingsComponent } from './bookmark-settings.component'; + + +describe('BookmarkSettingsComponent', () => { + let component: BookmarkSettingsComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [BookmarkSettingsComponent], + imports: [ + SharedModule, + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useFactory: () => new TranslateFakeLoader() + } + }) + ], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(BookmarkSettingsComponent); + component = fixture.componentInstance; + component.settings = { + bookmarks: [] + }; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/modules/bookmark/component/bookmark-settings/bookmark-settings.component.ts b/src/app/modules/bookmark/component/bookmark-settings/bookmark-settings.component.ts new file mode 100644 index 00000000..6b657638 --- /dev/null +++ b/src/app/modules/bookmark/component/bookmark-settings/bookmark-settings.component.ts @@ -0,0 +1,44 @@ +import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { UserSettings, UserSettingsComponent } from 'src/app/layout/type'; + +export interface BookmarkUserSettings extends UserSettings { + bookmarks: BookmarkUserBookmark[]; +} + +export interface BookmarkUserBookmark { + url: string; + shortcut: string; +} + +@Component({ + selector: 'app-bookmark-settings', + templateUrl: './bookmark-settings.component.html', + styleUrls: ['./bookmark-settings.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class BookmarkSettingsComponent implements UserSettingsComponent { + public settings: BookmarkUserSettings; + + public load(): void { + // stub + } + + public onAddClick(): void { + this.addBookmark(); + } + + public onRemoveClick(index: number): void { + this.removeBookmark(index); + } + + private addBookmark(): void { + this.settings.bookmarks.push({ + url: 'https://github.com/Kyusung4698/PoE-Overlay', + shortcut: undefined + }); + } + + private removeBookmark(index: number): void { + this.settings.bookmarks.splice(index, 1); + } +} diff --git a/src/app/modules/bookmark/service/bookmark.service.ts b/src/app/modules/bookmark/service/bookmark.service.ts new file mode 100644 index 00000000..b9a567c8 --- /dev/null +++ b/src/app/modules/bookmark/service/bookmark.service.ts @@ -0,0 +1,29 @@ +import { Injectable } from '@angular/core'; +import { BrowserService } from '@app/service'; +import { Subject } from 'rxjs'; +import { tap, throttleTime } from 'rxjs/operators'; + +@Injectable({ + providedIn: 'root' +}) +export class BookmarkService { + private readonly url$ = new Subject(); + + constructor( + private readonly browser: BrowserService) { + this.init(); + } + + public open(url: string): void { + this.url$.next(url); + } + + private init(): void { + this.url$.pipe( + throttleTime(350), + tap(url => { + this.browser.open(url); + }) + ).subscribe(); + } +} \ No newline at end of file diff --git a/src/app/modules/evaluate/component/evaluate-dialog/evaluate-dialog.component.html b/src/app/modules/evaluate/component/evaluate-dialog/evaluate-dialog.component.html index 2d99f67a..e6b76ef5 100644 --- a/src/app/modules/evaluate/component/evaluate-dialog/evaluate-dialog.component.html +++ b/src/app/modules/evaluate/component/evaluate-dialog/evaluate-dialog.component.html @@ -4,7 +4,7 @@ [modifier]="data.settings.evaluateModifierRange / 100" [modifierMaxRange]="!data.settings.evaluateModifierDisableMaxRange"> - + compare_arrows - - - - + +
@@ -20,10 +18,8 @@ compare_arrows - - - - + +
diff --git a/src/app/modules/evaluate/component/evaluate-exchange-rate/evaluate-exchange-rate.component.scss b/src/app/modules/evaluate/component/evaluate-exchange-rate/evaluate-exchange-rate.component.scss index 3be8e520..fb605cb3 100644 --- a/src/app/modules/evaluate/component/evaluate-exchange-rate/evaluate-exchange-rate.component.scss +++ b/src/app/modules/evaluate/component/evaluate-exchange-rate/evaluate-exchange-rate.component.scss @@ -1,3 +1,5 @@ +@import "./../../../../../styles/variables"; + .exchange-rate { display: flex; align-items: center; @@ -8,14 +10,6 @@ max-width: 340px; margin: 0 auto; - &:hover { - .currency { - background-color: rgba(170, 158, 130, 0.3); - outline: auto; - display: inline-flex; - } - } - .spacer { flex-grow: 1; } @@ -25,7 +19,7 @@ align-items: center; .amount { - color: #c8c8c8; + color: $light-grey; } } @@ -59,3 +53,18 @@ } } } + +::ng-deep { + app-evaluate-exchange-rate { + .exchange-rate { + &:hover { + app-currency-frame { + .currency { + background-color: rgba(170, 158, 130, 0.3); + outline: auto; + } + } + } + } + } +} diff --git a/src/app/modules/evaluate/component/evaluate-exchange-rate/evaluate-exchange-rate.component.ts b/src/app/modules/evaluate/component/evaluate-exchange-rate/evaluate-exchange-rate.component.ts index 984b5c09..2742f218 100644 --- a/src/app/modules/evaluate/component/evaluate-exchange-rate/evaluate-exchange-rate.component.ts +++ b/src/app/modules/evaluate/component/evaluate-exchange-rate/evaluate-exchange-rate.component.ts @@ -1,5 +1,6 @@ -import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; +import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core'; import { BrowserService } from '@app/service'; +import { EvaluateResult } from '@modules/evaluate/type/evaluate.type'; import { SnackBarService } from '@shared/module/material/service'; import { ItemExchangeRateResult, ItemExchangeRateService } from '@shared/module/poe/service'; import { Currency, Item, ItemRarity } from '@shared/module/poe/type'; @@ -35,6 +36,9 @@ export class EvaluateExchangeRateComponent { return this._currencies; } + @Output() + public evaluateResult = new EventEmitter(); + constructor( private readonly exchangeRateService: ItemExchangeRateService, private readonly browser: BrowserService, @@ -64,6 +68,13 @@ export class EvaluateExchangeRateComponent { } } + public onAmountClick(): void { + this.evaluateResult.next({ + amount: this.result$.value.rate.amount, + currency: this.result$.value.rate.currency, + }); + } + private evaluate(item: Item, currency?: Currency): void { this.exchangeRateService .get(item, currency ? [currency] : this.currencies) diff --git a/src/app/modules/evaluate/component/evaluate-search-chart/evaluate-search-chart.component.scss b/src/app/modules/evaluate/component/evaluate-search-chart/evaluate-search-chart.component.scss index af39e3a4..2e0129f9 100644 --- a/src/app/modules/evaluate/component/evaluate-search-chart/evaluate-search-chart.component.scss +++ b/src/app/modules/evaluate/component/evaluate-search-chart/evaluate-search-chart.component.scss @@ -1,10 +1,12 @@ +@import "./../../../../../styles/variables"; + ::ng-deep { app-evaluate-search-chart { margin: 0 auto; .ngx-charts { text { - fill: #fff; + fill: $white; } } } diff --git a/src/app/modules/evaluate/component/evaluate-search-table/evaluate-search-table.component.scss b/src/app/modules/evaluate/component/evaluate-search-table/evaluate-search-table.component.scss index 623a1ee7..29dfae5b 100644 --- a/src/app/modules/evaluate/component/evaluate-search-table/evaluate-search-table.component.scss +++ b/src/app/modules/evaluate/component/evaluate-search-table/evaluate-search-table.component.scss @@ -1,3 +1,5 @@ +@import './../../../../../styles/variables'; + table { width: 100%; @@ -7,7 +9,7 @@ table { } &.header { - border-bottom: 1px solid #7f7f7f; + border-bottom: 1px solid $light-dark-grey; } .seller { @@ -18,7 +20,7 @@ table { min-width: 70px; .value { - color: #c8c8c8; + color: $light-grey; } } @@ -27,6 +29,6 @@ table { } .fixer { - color: #b00; + color: $red; } } diff --git a/src/app/modules/evaluate/component/evaluate-search/evaluate-search.component.html b/src/app/modules/evaluate/component/evaluate-search/evaluate-search.component.html index 422eb0e8..8537ee59 100644 --- a/src/app/modules/evaluate/component/evaluate-search/evaluate-search.component.html +++ b/src/app/modules/evaluate/component/evaluate-search/evaluate-search.component.html @@ -1,64 +1,72 @@
- filter_list -
- - - wifi - - - - - wifi_off - - - - - {{indexed}} - - - - restore - -
-
- - -
-
- - - - - - -
-
- - - - - - -
-
-
- bar_chart - list -
- - + filter_list +
+ + + wifi + - -
- {{'evaluate.not-found' | translate}} -
-
- -
{{'evaluate.error' | translate}}
+ + + wifi_off + + + + + {{ indexed }} + + + restore + +
+ + + +
+
+ + + + + + +
+
+ + + + + + +
+
+
+ + {{result.items.length}}/{{result.total}} + + + + bar_chart + list + +
+ + + + +
+ +
+ {{ 'evaluate.not-found' | translate }} +
+
+ +
{{ 'evaluate.error' | translate }}
+
-
{{'evaluate.loading' | translate}}
+
{{ 'evaluate.loading' | translate }}
\ No newline at end of file diff --git a/src/app/modules/evaluate/component/evaluate-search/evaluate-search.component.scss b/src/app/modules/evaluate/component/evaluate-search/evaluate-search.component.scss index e6d5224f..51c52f12 100644 --- a/src/app/modules/evaluate/component/evaluate-search/evaluate-search.component.scss +++ b/src/app/modules/evaluate/component/evaluate-search/evaluate-search.component.scss @@ -1,3 +1,5 @@ +@import "./../../../../../styles/variables"; + .options { position: absolute; top: 3px; @@ -10,7 +12,7 @@ justify-content: center; background-color: rgba(0, 0, 0, 0.97); z-index: 1; - color: #c8c8c8; + color: $light-grey; border-radius: 5px; padding: 3px; @@ -23,18 +25,38 @@ } } +.tools { + display: flex; + align-items: center; + margin: 0 auto; + width: 360px; + + > span { + display: flex; + } + + > .spacer { + flex-grow: 1; + } +} + .active { - color: #c8c8c8; + color: $light-grey; background-color: rgba(170, 158, 130, 0.3); outline: auto; } -.values { - &:hover { - .currency { - background-color: rgba(170, 158, 130, 0.3); - outline: auto; - display: inline-flex; +::ng-deep { + app-evaluate-search { + .values{ + &:hover { + app-currency-frame { + .currency { + background-color: rgba(170, 158, 130, 0.3); + outline: auto; + } + } + } } } } diff --git a/src/app/modules/evaluate/component/evaluate-settings/evaluate-settings.component.scss b/src/app/modules/evaluate/component/evaluate-settings/evaluate-settings.component.scss index 8e3568b2..2b07c00f 100644 --- a/src/app/modules/evaluate/component/evaluate-settings/evaluate-settings.component.scss +++ b/src/app/modules/evaluate/component/evaluate-settings/evaluate-settings.component.scss @@ -1,3 +1,5 @@ +@import './../../../../../styles/variables'; + $label-color: rgba(200, 200, 200, 0.54); .toggle { @@ -29,29 +31,30 @@ label { display: inline-block; padding: 3px; margin-right: 6px; + border-radius: 4px; &.explicit { display: none; } &.pseudo { - background-color: #232420; + background-color: $pseudo; } &.implicit { - background-color: #65621e; + background-color: $implicit; } &.crafted { - background-color: #0060bf; + background-color: $crafted; } &.enchant { - background-color: #8b579c; + background-color: $enchant; } &.fractured { - background-color: #a29162; + background-color: $fractured; } } } diff --git a/src/app/modules/map/component/map-dialog/map-dialog.component.scss b/src/app/modules/map/component/map-dialog/map-dialog.component.scss index 3c63f6c8..31fa555e 100644 --- a/src/app/modules/map/component/map-dialog/map-dialog.component.scss +++ b/src/app/modules/map/component/map-dialog/map-dialog.component.scss @@ -1,14 +1,16 @@ +@import "./../../../../../styles/variables"; + ::ng-deep { .map-frame { .purpel, .blue { - color: #d20000 !important; + color: $red !important; } } } .white { - color: #fff; + color: $white; } .description { diff --git a/src/app/shared/module/poe/component/currency-frame/currency-frame.component.html b/src/app/shared/module/poe/component/currency-frame/currency-frame.component.html index 333527eb..141e9dfe 100644 --- a/src/app/shared/module/poe/component/currency-frame/currency-frame.component.html +++ b/src/app/shared/module/poe/component/currency-frame/currency-frame.component.html @@ -1,7 +1,13 @@
- {{label}}:  - {{amount | number : '1.2-2'}}  - - - + {{ label }}:  + + {{ amount | number: "1.2-2" }} + + {{ count | number: "1.0-0" }}  + {{ range.min | number: "1.2-2" }} - {{ + range.max | number: "1.2-2" + }} + + +
\ No newline at end of file diff --git a/src/app/shared/module/poe/component/currency-frame/currency-frame.component.scss b/src/app/shared/module/poe/component/currency-frame/currency-frame.component.scss index 839a662a..73910f0b 100644 --- a/src/app/shared/module/poe/component/currency-frame/currency-frame.component.scss +++ b/src/app/shared/module/poe/component/currency-frame/currency-frame.component.scss @@ -1,3 +1,5 @@ +@import "./../../../../../../styles/variables"; + .content { display: inline-flex; justify-content: center; @@ -5,10 +7,14 @@ height: 32px; .amount { - color: #c8c8c8; + color: $light-grey; } img { height: 32px; } + + .currency { + display: inline-flex; + } } diff --git a/src/app/shared/module/poe/component/currency-frame/currency-frame.component.ts b/src/app/shared/module/poe/component/currency-frame/currency-frame.component.ts index 28833248..b513ae79 100644 --- a/src/app/shared/module/poe/component/currency-frame/currency-frame.component.ts +++ b/src/app/shared/module/poe/component/currency-frame/currency-frame.component.ts @@ -1,5 +1,5 @@ import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; -import { Currency } from '../../type'; +import { Currency, CurrencyRange } from '../../type'; @Component({ selector: 'app-currency-frame', @@ -16,4 +16,10 @@ export class CurrencyFrameComponent { @Input() public label: string; + + @Input() + range: CurrencyRange; + + @Input() + count: number; } diff --git a/src/app/shared/module/poe/component/item-frame-header/item-frame-header.component.scss b/src/app/shared/module/poe/component/item-frame-header/item-frame-header.component.scss index 4d48c330..bccfad7c 100644 --- a/src/app/shared/module/poe/component/item-frame-header/item-frame-header.component.scss +++ b/src/app/shared/module/poe/component/item-frame-header/item-frame-header.component.scss @@ -1,3 +1,5 @@ +@import "./../../../../../../styles/variables"; + .header { font-size: 19px; line-height: 1em; @@ -23,7 +25,7 @@ url(../../../../../../assets/poe/item/header-normal-middle.png) top center repeat-x; > .name { - color: #c8c8c8; + color: $light-grey; } } @@ -33,7 +35,7 @@ url(../../../../../../assets/poe/item/header-magic-middle.png) top center repeat-x; > .name { - color: #88f; + color: $purple; } } @@ -49,7 +51,7 @@ } > .name { - color: #ff7; + color: $yellow; } } @@ -65,7 +67,7 @@ } > .name { - color: #af6025; + color: $orange; } } @@ -75,7 +77,7 @@ url(../../../../../../assets/poe/item/header-currency-middle.png) top center repeat-x; > .name { - color: #aa9e82; + color: $light-orange; } } @@ -85,7 +87,7 @@ url(../../../../../../assets/poe/item/header-card-middle.png) top center repeat-x; > .name { - color: #000; + color: $black; } } @@ -95,7 +97,7 @@ url(../../../../../../assets/poe/item/header-gem-middle.png) top center repeat-x; > .name { - color: #1ba29b; + color: $aqua; } } } diff --git a/src/app/shared/module/poe/component/item-frame-influences/item-frame-influences.component.scss b/src/app/shared/module/poe/component/item-frame-influences/item-frame-influences.component.scss index 557fc19b..6171b518 100644 --- a/src/app/shared/module/poe/component/item-frame-influences/item-frame-influences.component.scss +++ b/src/app/shared/module/poe/component/item-frame-influences/item-frame-influences.component.scss @@ -1,3 +1,5 @@ +@import "./../../../../../../styles/variables"; + .rose { - color: #e63244; + color: $red } diff --git a/src/app/shared/module/poe/component/item-frame-level-requirements/item-frame-level-requirements.component.scss b/src/app/shared/module/poe/component/item-frame-level-requirements/item-frame-level-requirements.component.scss index df64e479..633f3271 100644 --- a/src/app/shared/module/poe/component/item-frame-level-requirements/item-frame-level-requirements.component.scss +++ b/src/app/shared/module/poe/component/item-frame-level-requirements/item-frame-level-requirements.component.scss @@ -1,3 +1,5 @@ +@import "./../../../../../../styles/variables"; + .white { - color: #fff; + color: $white; } diff --git a/src/app/shared/module/poe/component/item-frame-properties/item-frame-properties.component.scss b/src/app/shared/module/poe/component/item-frame-properties/item-frame-properties.component.scss index 5e57f890..9bff1d95 100644 --- a/src/app/shared/module/poe/component/item-frame-properties/item-frame-properties.component.scss +++ b/src/app/shared/module/poe/component/item-frame-properties/item-frame-properties.component.scss @@ -1,7 +1,9 @@ +@import "./../../../../../../styles/variables"; + .white { - color: #fff; + color: $white; } .purpel { - color: #88f; + color: $purple; } diff --git a/src/app/shared/module/poe/component/item-frame-state/item-frame-state.component.scss b/src/app/shared/module/poe/component/item-frame-state/item-frame-state.component.scss index 02b5421e..4228c7fe 100644 --- a/src/app/shared/module/poe/component/item-frame-state/item-frame-state.component.scss +++ b/src/app/shared/module/poe/component/item-frame-state/item-frame-state.component.scss @@ -1,5 +1,7 @@ +@import "./../../../../../../styles/variables"; + .corrupted { - color: #d20000; + color: $red; } .veiled { diff --git a/src/app/shared/module/poe/component/item-frame-stats/item-frame-stats.component.html b/src/app/shared/module/poe/component/item-frame-stats/item-frame-stats.component.html index dae09a38..f92f6c4c 100644 --- a/src/app/shared/module/poe/component/item-frame-stats/item-frame-stats.component.html +++ b/src/app/shared/module/poe/component/item-frame-stats/item-frame-stats.component.html @@ -58,9 +58,11 @@ {{part}} - - + + + + diff --git a/src/app/shared/module/poe/component/item-frame-stats/item-frame-stats.component.scss b/src/app/shared/module/poe/component/item-frame-stats/item-frame-stats.component.scss index 77936949..7d0442b5 100644 --- a/src/app/shared/module/poe/component/item-frame-stats/item-frame-stats.component.scss +++ b/src/app/shared/module/poe/component/item-frame-stats/item-frame-stats.component.scss @@ -1,7 +1,41 @@ +@import "./../../../../../../styles/variables"; + .purpel { - color: #88f; + color: $purple; } .blue { - color: #b4b4ff; + color: $blue; +} + +::ng-deep { + app-item-frame-stats { + .cold { + .value, + .value.changed { + color: #366492; + } + } + + .lightning { + .value, + .value.changed { + color: #ffd700; + } + } + + .chaos { + .value, + .value.changed { + color: #d02090; + } + } + + .fire { + .value, + .value.changed { + color: #960000; + } + } + } } diff --git a/src/app/shared/module/poe/component/item-frame-stats/item-frame-stats.component.ts b/src/app/shared/module/poe/component/item-frame-stats/item-frame-stats.component.ts index d1cd9606..383f75de 100644 --- a/src/app/shared/module/poe/component/item-frame-stats/item-frame-stats.component.ts +++ b/src/app/shared/module/poe/component/item-frame-stats/item-frame-stats.component.ts @@ -1,4 +1,4 @@ -import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; import { Item, Language } from '../../type'; @Component({ @@ -22,4 +22,25 @@ export class ItemFrameStatsComponent { @Input() public modifierMaxRange: boolean; + + public getValueClass(id: string): string { + if (!id || id.length === 0) { + return ''; + } + + if (id.includes('fire_')) { + return 'fire'; + } + if (id.includes('cold_')) { + return 'cold'; + } + if (id.includes('lightning_')) { + return 'lightning'; + } + if (id.includes('chaos_')) { + return 'chaos'; + } + + return ''; + } } diff --git a/src/app/shared/module/poe/component/item-frame-value/item-frame-value.component.scss b/src/app/shared/module/poe/component/item-frame-value/item-frame-value.component.scss index 49d55e39..6f2ebf8f 100644 --- a/src/app/shared/module/poe/component/item-frame-value/item-frame-value.component.scss +++ b/src/app/shared/module/poe/component/item-frame-value/item-frame-value.component.scss @@ -1,5 +1,7 @@ +@import "./../../../../../../styles/variables"; + .value { &.changed { - color: #c8c8c8; + color: $light-grey; } } diff --git a/src/app/shared/module/poe/component/item-frame/item-frame.component.scss b/src/app/shared/module/poe/component/item-frame/item-frame.component.scss index 9a88a225..3fb95d86 100644 --- a/src/app/shared/module/poe/component/item-frame/item-frame.component.scss +++ b/src/app/shared/module/poe/component/item-frame/item-frame.component.scss @@ -1,6 +1,8 @@ +@import "./../../../../../../styles/variables"; + .frame { background: rgba(0, 0, 0, 0.8); - color: #7f7f7f; + color: $light-dark-grey; text-align: center; font-style: 14.3px; font-family: FontinSmallCaps; diff --git a/src/app/shared/module/poe/config/pseudo.config.ts b/src/app/shared/module/poe/config/pseudo.config.ts index 39de6411..1648256a 100644 --- a/src/app/shared/module/poe/config/pseudo.config.ts +++ b/src/app/shared/module/poe/config/pseudo.config.ts @@ -19,6 +19,7 @@ export interface PseudoModifier { count?: number; } +/* tslint:disable */ export const PSEUDO_MODIFIERS: { [id: string]: PseudoModifier } = { @@ -104,22 +105,11 @@ export const PSEUDO_MODIFIERS: { pseudo_total_energy_shield: { mods: [ { id: 'base_maximum_energy_shield', type: ModifierType.Addition }, - { id: 'local_energy_shield', type: ModifierType.Addition }, ] }, pseudo_increased_energy_shield: { mods: [ { id: 'maximum_energy_shield_+%', type: ModifierType.Addition }, - { id: 'local_energy_shield_+%', type: ModifierType.Addition }, - ] - }, - pseudo_total_fire_resistance: { - mods: [ - { id: 'base_fire_damage_resistance_%', type: ModifierType.Addition }, - { id: 'base_resist_all_elements_%', type: ModifierType.Addition }, - { id: 'fire_and_chaos_damage_resistance_%', type: ModifierType.Addition }, - { id: 'fire_and_cold_damage_resistance_%', type: ModifierType.Addition }, - { id: 'fire_and_lightning_damage_resistance_%', type: ModifierType.Addition }, ] }, pseudo_total_lightning_resistance: { @@ -140,6 +130,15 @@ export const PSEUDO_MODIFIERS: { { id: 'cold_and_lightning_damage_resistance_%', type: ModifierType.Addition }, ] }, + pseudo_total_fire_resistance: { + mods: [ + { id: 'base_fire_damage_resistance_%', type: ModifierType.Addition }, + { id: 'base_resist_all_elements_%', type: ModifierType.Addition }, + { id: 'fire_and_chaos_damage_resistance_%', type: ModifierType.Addition }, + { id: 'fire_and_cold_damage_resistance_%', type: ModifierType.Addition }, + { id: 'fire_and_lightning_damage_resistance_%', type: ModifierType.Addition }, + ] + }, pseudo_total_elemental_resistance: { mods: [ { id: 'pseudo_total_fire_resistance', type: ModifierType.Addition }, @@ -170,4 +169,245 @@ export const PSEUDO_MODIFIERS: { ], count: 2 }, + pseudo_total_attack_speed: { + mods: [ + { id: 'attack_speed_+%', type: ModifierType.Addition }, + { id: 'attack_and_cast_speed_+%', type: ModifierType.Addition }, + ] + }, + pseudo_total_cast_speed: { + mods: [ + { id: 'base_cast_speed_+%', type: ModifierType.Addition }, + { id: 'attack_and_cast_speed_+%', type: ModifierType.Addition }, + ] + }, + pseudo_increased_movement_speed: { + mods: [ + { id: 'base_movement_velocity_+%', type: ModifierType.Addition }, + ] + }, + pseudo_increased_physical_damage: { + mods: [ + { id: 'physical_damage_+%', type: ModifierType.Addition }, + ] + }, + pseudo_global_critical_strike_chance: { + mods: [ + { id: 'global_critical_strike_chance_+%', type: ModifierType.Addition }, + ] + }, + pseudo_critical_strike_chance_for_spells: { + mods: [ + { id: 'spell_critical_strike_chance_+%', type: ModifierType.Addition }, + ] + }, + pseudo_global_critical_strike_multiplier: { + mods: [ + { id: 'global_critical_strike_multiplier_+', type: ModifierType.Addition }, + ] + }, + /* damage */ + pseudo_adds_physical_damage: { + mods: [ + { id: 'global_minimum_added_physical_damage global_maximum_added_physical_damage', type: ModifierType.Addition }, + ] + }, + pseudo_adds_lightning_damage: { + mods: [ + { id: 'global_minimum_added_lightning_damage global_maximum_added_lightning_damage', type: ModifierType.Addition }, + ] + }, + pseudo_adds_cold_damage: { + mods: [ + { id: 'global_minimum_added_cold_damage global_maximum_added_cold_damage', type: ModifierType.Addition }, + ] + }, + pseudo_adds_fire_damage: { + mods: [ + { id: 'global_minimum_added_fire_damage global_maximum_added_fire_damage', type: ModifierType.Addition }, + ] + }, + pseudo_adds_elemental_damage: { + mods: [ + { id: 'pseudo_adds_lightning_damage', type: ModifierType.Addition }, + { id: 'pseudo_adds_cold_damage', type: ModifierType.Addition }, + { id: 'pseudo_adds_fire_damage', type: ModifierType.Addition }, + ], + count: 2 + }, + pseudo_adds_chaos_damage: { + mods: [ + { id: 'global_minimum_added_chaos_damage global_maximum_added_chaos_damage', type: ModifierType.Addition }, + ] + }, + pseudo_adds_damage: { + mods: [ + { id: 'pseudo_adds_elemental_damage', type: ModifierType.Addition }, + { id: 'pseudo_adds_chaos_damage', type: ModifierType.Addition }, + ], + count: 2 + }, + /* damage attacks */ + pseudo_adds_physical_damage_to_attacks: { + mods: [ + { id: 'attack_minimum_added_physical_damage attack_maximum_added_physical_damage', type: ModifierType.Addition }, + { id: 'local_minimum_added_physical_damage local_maximum_added_physical_damage', type: ModifierType.Addition }, + ] + }, + pseudo_adds_lightning_damage_to_attacks: { + mods: [ + { id: 'attack_minimum_added_lightning_damage attack_maximum_added_lightning_damage', type: ModifierType.Addition }, + { id: 'spell_and_attack_minimum_added_lightning_damage spell_and_attack_maximum_added_lightning_damage', type: ModifierType.Addition }, + { id: 'local_minimum_added_lightning_damage local_maximum_added_lightning_damage', type: ModifierType.Addition }, + ] + }, + pseudo_adds_cold_damage_to_attacks: { + mods: [ + { id: 'attack_minimum_added_cold_damage attack_maximum_added_cold_damage', type: ModifierType.Addition }, + { id: 'spell_and_attack_minimum_added_cold_damage spell_and_attack_maximum_added_cold_damage', type: ModifierType.Addition }, + { id: 'local_minimum_added_cold_damage local_maximum_added_cold_damage', type: ModifierType.Addition }, + ] + }, + pseudo_adds_fire_damage_to_attacks: { + mods: [ + { id: 'attack_minimum_added_fire_damage attack_maximum_added_fire_damage', type: ModifierType.Addition }, + { id: 'spell_and_attack_minimum_added_fire_damage spell_and_attack_maximum_added_fire_damage', type: ModifierType.Addition }, + { id: 'local_minimum_added_fire_damage local_maximum_added_fire_damage', type: ModifierType.Addition }, + ] + }, + pseudo_adds_elemental_damage_to_attacks: { + mods: [ + { id: 'pseudo_adds_lightning_damage_to_attacks', type: ModifierType.Addition }, + { id: 'pseudo_adds_cold_damage_to_attacks', type: ModifierType.Addition }, + { id: 'pseudo_adds_fire_damage_to_attacks', type: ModifierType.Addition }, + ], + count: 2 + }, + pseudo_adds_chaos_damage_to_attacks: { + mods: [ + { id: 'attack_minimum_added_chaos_damage attack_maximum_added_chaos_damage', type: ModifierType.Addition }, + { id: 'local_minimum_added_chaos_damage local_maximum_added_chaos_damage', type: ModifierType.Addition }, + ] + }, + pseudo_adds_damage_to_attacks: { + mods: [ + { id: 'pseudo_adds_elemental_damage_to_attacks', type: ModifierType.Addition }, + { id: 'pseudo_adds_chaos_damage_to_attacks', type: ModifierType.Addition }, + ], + count: 2 + }, + /* damage spells */ + pseudo_adds_physical_damage_to_spells: { + mods: [ + { id: 'spell_minimum_added_physical_damage spell_maximum_added_physical_damage', type: ModifierType.Addition }, + ] + }, + pseudo_adds_lightning_damage_to_spells: { + mods: [ + { id: 'spell_minimum_added_lightning_damage spell_maximum_added_lightning_damage', type: ModifierType.Addition }, + { id: 'spell_and_attack_minimum_added_lightning_damage spell_and_attack_maximum_added_lightning_damage', type: ModifierType.Addition }, + ] + }, + pseudo_adds_cold_damage_to_spells: { + mods: [ + { id: 'spell_minimum_added_cold_damage spell_maximum_added_cold_damage', type: ModifierType.Addition }, + { id: 'spell_and_attack_minimum_added_cold_damage spell_and_attack_maximum_added_cold_damage', type: ModifierType.Addition }, + ] + }, + pseudo_adds_fire_damage_to_spells: { + mods: [ + { id: 'spell_minimum_added_fire_damage spell_maximum_added_fire_damage', type: ModifierType.Addition }, + { id: 'spell_and_attack_minimum_added_fire_damage spell_and_attack_maximum_added_fire_damage', type: ModifierType.Addition }, + ] + }, + pseudo_adds_elemental_damage_to_spells: { + mods: [ + { id: 'pseudo_adds_lightning_damage_to_spells', type: ModifierType.Addition }, + { id: 'pseudo_adds_cold_damage_to_spells', type: ModifierType.Addition }, + { id: 'pseudo_adds_fire_damage_to_spells', type: ModifierType.Addition }, + ], + count: 2 + }, + pseudo_adds_chaos_damage_to_spells: { + mods: [ + { id: 'spell_minimum_added_chaos_damage spell_maximum_added_chaos_damage', type: ModifierType.Addition }, + ] + }, + pseudo_adds_damage_to_spells: { + mods: [ + { id: 'pseudo_adds_elemental_damage_to_spells', type: ModifierType.Addition }, + { id: 'pseudo_adds_chaos_damage_to_spells', type: ModifierType.Addition }, + ], + count: 2 + }, + pseudo_increased_elemental_damage: { + mods: [ + { id: 'elemental_damage_+%', type: ModifierType.Addition }, + ] + }, + pseudo_increased_lightning_damage: { + mods: [ + { id: 'pseudo_increased_elemental_damage', type: ModifierType.Addition }, + { id: 'lightning_damage_+%', type: ModifierType.Addition }, + ] + }, + pseudo_increased_cold_damage: { + mods: [ + { id: 'pseudo_increased_elemental_damage', type: ModifierType.Addition }, + { id: 'cold_damage_+%', type: ModifierType.Addition }, + ] + }, + pseudo_increased_fire_damage: { + mods: [ + { id: 'pseudo_increased_elemental_damage', type: ModifierType.Addition }, + { id: 'fire_damage_+%', type: ModifierType.Addition }, + ] + }, + pseudo_increased_spell_damage: { + mods: [ + { id: 'spell_damage_+%', type: ModifierType.Addition }, + ] + }, + pseudo_increased_lightning_spell_damage: { + mods: [ + { id: 'pseudo_increased_spell_damage', type: ModifierType.Addition }, + { id: 'pseudo_increased_lightning_damage', type: ModifierType.Addition }, + ] + }, + pseudo_increased_cold_spell_damage: { + mods: [ + { id: 'pseudo_increased_spell_damage', type: ModifierType.Addition }, + { id: 'pseudo_increased_cold_damage', type: ModifierType.Addition }, + ] + }, + pseudo_increased_fire_spell_damage: { + mods: [ + { id: 'pseudo_increased_spell_damage', type: ModifierType.Addition }, + { id: 'pseudo_increased_fire_damage', type: ModifierType.Addition }, + ], + }, + pseudo_increased_elemental_damage_with_attack_skills: { + mods: [ + { id: 'elemental_damage_with_attack_skills_+%', type: ModifierType.Addition }, + ] + }, + pseudo_increased_lightning_damage_with_attack_skills: { + mods: [ + { id: 'elemental_damage_with_attack_skills_+%', type: ModifierType.Addition }, + { id: 'lightning_damage_with_attack_skills_+%', type: ModifierType.Addition }, + ] + }, + pseudo_increased_cold_damage_with_attack_skills: { + mods: [ + { id: 'elemental_damage_with_attack_skills_+%', type: ModifierType.Addition }, + { id: 'cold_damage_with_attack_skills_+%', type: ModifierType.Addition }, + ] + }, + pseudo_increased_fire_damage_with_attack_skills: { + mods: [ + { id: 'elemental_damage_with_attack_skills_+%', type: ModifierType.Addition }, + { id: 'fire_damage_with_attack_skills_+%', type: ModifierType.Addition }, + ] + }, }; +/* tslint:enable */ diff --git a/src/app/shared/module/poe/service/item/item-clipboard.service.ts b/src/app/shared/module/poe/service/item/item-clipboard.service.ts index ae2c2506..c506cc8b 100644 --- a/src/app/shared/module/poe/service/item/item-clipboard.service.ts +++ b/src/app/shared/module/poe/service/item/item-clipboard.service.ts @@ -36,7 +36,7 @@ export class ItemClipboardService { flatMap(() => { const point = this.mouse.position(); const rawPoint = this.mouse.position(true); - this.keyboard.setKeyboardDelay(15); + this.keyboard.setKeyboardDelay(25); this.keyboard.keyTap('c', ['control']); return of(null).pipe( diff --git a/src/app/shared/module/poe/service/item/parser/item-post-parser-pseudo.service.ts b/src/app/shared/module/poe/service/item/parser/item-post-parser-pseudo.service.ts index fb2f30dd..b8f4955e 100644 --- a/src/app/shared/module/poe/service/item/parser/item-post-parser-pseudo.service.ts +++ b/src/app/shared/module/poe/service/item/parser/item-post-parser-pseudo.service.ts @@ -20,8 +20,7 @@ export class ItemPostParserPseudoService implements ItemPostParserService { if (pseudo.mods) { for (const mod of pseudo.mods) { - // TODO: local and nonlocal share the same id - const stats = itemStats.filter(x => x.id === mod.id && x.values.length > 0 && x.mod !== 'local'); + const stats = itemStats.filter(x => x.id === mod.id && x.values.length > 0); if (stats.length <= 0) { if (mod.type === ModifierType.MinimumRequired) { values = []; diff --git a/src/app/shared/module/poe/type/currency.type.d.ts b/src/app/shared/module/poe/type/currency.type.d.ts index 2aeb2935..d366d10d 100644 --- a/src/app/shared/module/poe/type/currency.type.d.ts +++ b/src/app/shared/module/poe/type/currency.type.d.ts @@ -13,4 +13,9 @@ export type CurrencyTrade = { export type CurrencyChaosEquivalents = { [nameType: string]: number; -} \ No newline at end of file +} + +export type CurrencyRange = { + min: number; + max: number; +} diff --git a/src/assets/i18n/english.json b/src/assets/i18n/english.json index bede5290..efa86c70 100644 --- a/src/assets/i18n/english.json +++ b/src/assets/i18n/english.json @@ -1,4 +1,10 @@ { + "bookmark": { + "add": "Add Bookmark", + "name": "Bookmark", + "shortcut": "Shortcut", + "url": "Url" + }, "clipboard": { "empty": "Clipboard was empty. Please make sure the game is focused.", "error": "An error occurred while parsing the item.", diff --git a/src/assets/i18n/french.json b/src/assets/i18n/french.json index de49e10f..bd158814 100644 --- a/src/assets/i18n/french.json +++ b/src/assets/i18n/french.json @@ -1,4 +1,10 @@ { + "bookmark": { + "add": "Ajouter un marque-page", + "name": "Signet", + "shortcut": "raccourci", + "url": "URL" + }, "clipboard": { "empty": "Le presse-papiers était vide. Veuillez vous assurer que le jeu est ciblé.", "error": "Une erreur s'est produite lors de l'analyse de l'élément.", diff --git a/src/assets/i18n/german.json b/src/assets/i18n/german.json index fe574b3f..9e6df868 100644 --- a/src/assets/i18n/german.json +++ b/src/assets/i18n/german.json @@ -1,4 +1,10 @@ { + "bookmark": { + "add": "Lesezeichen hinzufügen", + "name": "Lesezeichen", + "shortcut": "Tastaturkürzel", + "url": "Url" + }, "clipboard": { "empty": "Zwischenablage war leer. Bitte stellen Sie sicher, dass das Spiel fokussiert ist.", "error": "Beim Parsen des Gegenstandes ist ein Fehler aufgetreten.", diff --git a/src/assets/i18n/korean.json b/src/assets/i18n/korean.json index 15d305c6..b7ad4888 100644 --- a/src/assets/i18n/korean.json +++ b/src/assets/i18n/korean.json @@ -1,4 +1,10 @@ { + "bookmark": { + "add": "북마크에 추가하다", + "name": "서표", + "shortcut": "지름길", + "url": "URL" + }, "clipboard": { "empty": "클립 보드가 비어있었습니다. 게임이 집중되어 있는지 확인하십시오.", "error": "항목을 구문 분석하는 중에 오류가 발생했습니다.", diff --git a/src/assets/i18n/portuguese.json b/src/assets/i18n/portuguese.json index 24f51051..a0df4324 100644 --- a/src/assets/i18n/portuguese.json +++ b/src/assets/i18n/portuguese.json @@ -1,4 +1,10 @@ { + "bookmark": { + "add": "Adicionar marcador", + "name": "marca páginas", + "shortcut": "Atalho", + "url": "URL" + }, "clipboard": { "empty": "A área de transferência estava vazia. Por favor, verifique se o jogo está focado.", "error": "Ocorreu um erro ao analisar o item.", diff --git a/src/assets/i18n/russian.json b/src/assets/i18n/russian.json index de368ae8..066e7d11 100644 --- a/src/assets/i18n/russian.json +++ b/src/assets/i18n/russian.json @@ -1,4 +1,10 @@ { + "bookmark": { + "add": "Добавить закладку", + "name": "закладка", + "shortcut": "кратчайший путь", + "url": "Веб-сайт" + }, "clipboard": { "empty": "Буфер обмена был пуст. Пожалуйста, убедитесь, что игра сфокусирована.", "error": "Произошла ошибка при разборе элемента.", diff --git a/src/assets/i18n/spanish.json b/src/assets/i18n/spanish.json index 5a3bbe60..f67164cb 100644 --- a/src/assets/i18n/spanish.json +++ b/src/assets/i18n/spanish.json @@ -1,4 +1,10 @@ { + "bookmark": { + "add": "Añadir marcador", + "name": "Marcador", + "shortcut": "Atajo", + "url": "Url" + }, "clipboard": { "empty": "El portapapeles estaba vacío. Asegúrate de que el juego esté enfocado.", "error": "Se produjo un error al analizar el elemento.", diff --git a/src/assets/i18n/thai.json b/src/assets/i18n/thai.json index 32a7161e..17b391fd 100644 --- a/src/assets/i18n/thai.json +++ b/src/assets/i18n/thai.json @@ -1,4 +1,10 @@ { + "bookmark": { + "add": "เพิ่มคั่นหน้า", + "name": "ที่คั่นหนังสือ", + "shortcut": "ทางลัด", + "url": "url" + }, "clipboard": { "empty": "คลิปบอร์ดว่างเปล่า โปรดตรวจสอบให้แน่ใจว่าเกมนั้นเน้น", "error": "เกิดข้อผิดพลาดขณะแยกวิเคราะห์รายการ", diff --git a/src/assets/poe/stats.json b/src/assets/poe/stats.json index b982d6ec..a3719ba9 100644 --- a/src/assets/poe/stats.json +++ b/src/assets/poe/stats.json @@ -1131,8 +1131,11 @@ "N#|-1": "^(\\S+)% de Réduction des Dégâts physiques$" }, "7": { - "1|#": "^Daño Físico aumentado un (\\S+)%$", - "N#|-1": "^Daño Físico reducido un (\\S+)%$" + "# 1|#": "^Sin Daño Físico$", + "# #|-1": "^Sin Daño Físico$", + "#|-100 #": "^Sin Daño Físico$", + "1|# 0": "^Daño Físico aumentado un (\\S+)%$", + "N-99|-1 0": "^Daño Físico reducido un (\\S+)%$" }, "8": { "1|#": "^물리 피해 (\\S+)% 증가$", @@ -2758,488 +2761,6 @@ }, "option": false }, - "stat_2826979740": { - "id": "blinded", - "negated": false, - "text": { - "1": { - "#": "^Nearby Enemies are Blinded$" - }, - "2": { - "#": "^Inimigos Próximos são Cegados$" - }, - "3": { - "#": "^Ближайшие враги получают ослепление$" - }, - "4": { - "#": "^ศัตรูที่อยู่ใกล้ๆจะตาบอด$" - }, - "5": { - "#": "^Gegner im Umkreis sind geblendet$" - }, - "6": { - "#": "^Les Ennemis à proximité sont Aveuglés$" - }, - "7": { - "#": "^Los Enemigos cercanos están Cegados$" - }, - "8": { - "#": "^주변의 적을 실명시킴$" - } - }, - "option": false - }, - "stat_734614379": { - "id": "strength_+%", - "negated": false, - "text": { - "1": { - "1|#": "^(\\S+)% increased Strength$", - "N#|-1": "^(\\S+)% reduced Strength$" - }, - "2": { - "1|#": "^Força aumentada em (\\S+)%$", - "N#|-1": "^Força reduzida em (\\S+)%$" - }, - "3": { - "1|#": "^(\\S+)% повышение силы$", - "N#|-1": "^(\\S+)% снижение силы$" - }, - "4": { - "1|#": "^เพิ่ม Strength ขึ้น (\\S+)%$", - "N#|-1": "^ลด Strength ลง (\\S+)%$" - }, - "5": { - "1|#": "^(\\S+)% erhöhte Stärke$", - "N#|-1": "^(\\S+)% verringerte Stärke$" - }, - "6": { - "1|#": "^(\\S+)% d'Augmentation de la Force$", - "N#|-1": "^(\\S+)% de Réduction de la Force$" - }, - "7": { - "1|#": "^Fuerza aumentada un (\\S+)%$", - "N#|-1": "^Fuerza reducida un (\\S+)%$" - }, - "8": { - "1|#": "^힘 (\\S+)% 증가$", - "N#|-1": "^힘 (\\S+)% 감소$" - } - }, - "option": false - }, - "stat_4139681126": { - "id": "dexterity_+%", - "negated": false, - "text": { - "1": { - "1|#": "^(\\S+)% increased Dexterity$", - "N#|-1": "^(\\S+)% reduced Dexterity$" - }, - "2": { - "1|#": "^Destreza aumentada em (\\S+)%$", - "N#|-1": "^Destreza reduzida em (\\S+)%$" - }, - "3": { - "1|#": "^(\\S+)% повышение ловкости$", - "N#|-1": "^(\\S+)% снижение ловкости$" - }, - "4": { - "1|#": "^เพิ่ม Dexterity ขึ้น (\\S+)%$", - "N#|-1": "^ลด Dexterity ลง (\\S+)%$" - }, - "5": { - "1|#": "^(\\S+)% erhöhtes Geschick$", - "N#|-1": "^(\\S+)% verringertes Geschick$" - }, - "6": { - "1|#": "^(\\S+)% d'Augmentation de la Dextérité$", - "N#|-1": "^(\\S+)% de Réduction de la Dextérité$" - }, - "7": { - "1|#": "^Destreza aumentada un (\\S+)%$", - "N#|-1": "^Destreza reducida un (\\S+)%$" - }, - "8": { - "1|#": "^민첩 (\\S+)% 증가$", - "N#|-1": "^민첩 (\\S+)% 감소$" - } - }, - "option": false - }, - "stat_656461285": { - "id": "intelligence_+%", - "negated": false, - "text": { - "1": { - "1|#": "^(\\S+)% increased Intelligence$", - "N#|-1": "^(\\S+)% reduced Intelligence$" - }, - "2": { - "1|#": "^Inteligência aumentada em (\\S+)%$", - "N#|-1": "^Inteligência reduzida em (\\S+)%$" - }, - "3": { - "1|#": "^(\\S+)% повышение интеллекта$", - "N#|-1": "^(\\S+)% снижение интеллекта$" - }, - "4": { - "1|#": "^เพิ่ม Intelligence ขึ้น (\\S+)%$", - "N#|-1": "^ลด Intelligence ลง (\\S+)%$" - }, - "5": { - "1|#": "^(\\S+)% erhöhte Intelligenz$", - "N#|-1": "^(\\S+)% verringerte Intelligenz$" - }, - "6": { - "1|#": "^(\\S+)% d'Augmentation de l'Intelligence$", - "N#|-1": "^(\\S+)% de Réduction de l'Intelligence$" - }, - "7": { - "1|#": "^Inteligencia aumentada un (\\S+)%$", - "N#|-1": "^Inteligencia reducida un (\\S+)%$" - }, - "8": { - "1|#": "^지능 (\\S+)% 증가$", - "N#|-1": "^지능 (\\S+)% 감소$" - } - }, - "option": false - }, - "stat_3188455409": { - "id": "mana_regeneration_rate_per_minute_%", - "negated": false, - "text": { - "1": { - "1|#": "^Regenerate (\\S+)% of Mana per second$" - }, - "2": { - "1|#": "^(\\S+)% de Mana Regenerada por segundo$" - }, - "3": { - "1|#": "^Регенерация (\\S+)% маны в секунду$" - }, - "4": { - "1|#": "^ฟื้นฟูมานา (\\S+)% ต่อวินาที$" - }, - "5": { - "1|#": "^(\\S+)% des Manas regeneriert pro Sekunde$" - }, - "6": { - "1|#": "^(\\S+)% du Mana est Régénéré par seconde$" - }, - "7": { - "1|#": "^(\\S+)% de Maná Regenerado por segundo$" - }, - "8": { - "1|#": "^초당 마나의 (\\S+)% 재생$" - } - }, - "option": false - }, - "stat_1515657623": { - "id": "max_endurance_charges", - "negated": false, - "text": { - "1": { - "#": "^(\\S+) to Maximum Endurance Charges$" - }, - "2": { - "#": "^(\\S+) ao Máximo de Cargas de Tolerância$" - }, - "3": { - "#": "^(\\S+) к максимуму зарядов выносливости$" - }, - "4": { - "#": "^จำนวน Endurance Charges สูงสุด (\\S+)$" - }, - "5": { - "#": "^(\\S+) zu maximaler Anzahl an Widerstands-Ladungen$" - }, - "6": { - "#": "^(\\S+) au nombre maximal de Charges d'endurance$" - }, - "7": { - "#": "^(\\S+) al Máximo de Cargas de Aguante$" - }, - "8": { - "#": "^인내 충전 최대치 (\\S+)$" - } - }, - "option": false - }, - "stat_4078695": { - "id": "max_frenzy_charges", - "negated": false, - "text": { - "1": { - "#": "^(\\S+) to Maximum Frenzy Charges$" - }, - "2": { - "#": "^(\\S+) ao Máximo de Cargas de Frenesi$" - }, - "3": { - "#": "^(\\S+) к максимуму зарядов ярости$" - }, - "4": { - "#": "^จำนวน Frenzy Charges สูงสุด (\\S+)$" - }, - "5": { - "#": "^(\\S+) zu maximaler Anzahl an Raserei-Ladungen$" - }, - "6": { - "#": "^(\\S+) au nombre maximal de Charges de frénésie$" - }, - "7": { - "#": "^(\\S+) al Máximo de Cargas de Frenesí$" - }, - "8": { - "#": "^격분 충전 최대치 (\\S+)$" - } - }, - "option": false - }, - "stat_227523295": { - "id": "max_power_charges", - "negated": false, - "text": { - "1": { - "#": "^(\\S+) to Maximum Power Charges$" - }, - "2": { - "#": "^(\\S+) ao Máximo de Cargas de Poder$" - }, - "3": { - "#": "^(\\S+) к максимуму зарядов энергии$" - }, - "4": { - "#": "^จำนวน Power Charges สูงสุด (\\S+)$" - }, - "5": { - "#": "^(\\S+) zu maximaler Anzahl an Energie-Ladungen$" - }, - "6": { - "#": "^(\\S+) au nombre maximal de Charges de pouvoir$" - }, - "7": { - "#": "^(\\S+) al Máximo de Cargas de Poder$" - }, - "8": { - "#": "^권능 충전 최대치 (\\S+)$" - } - }, - "option": false - }, - "stat_1778298516": { - "id": "staff_block_%", - "negated": false, - "text": { - "1": { - "#": "^(\\S+)% Chance to Block Attack Damage while wielding a Staff$" - }, - "2": { - "#": "^(\\S+)% de Chance de Bloquear o Dano de Ataques enquanto portando um Cajado$" - }, - "3": { - "#": "^(\\S+)% шанс блокировать урон от атак с посохом в руках$" - }, - "4": { - "#": "^โอกาสบล็อค การโจมตี (\\S+)% ขณะถือ ไม้พลอง$" - }, - "5": { - "#": "^(\\S+)% Chance, Angriffsschaden zu blocken beim Tragen eines Stabs$" - }, - "6": { - "#": "^(\\S+)% de Chances de Bloquer les Dégâts d'Attaque en maniant un bâton$" - }, - "7": { - "#": "^(\\S+)% a la probabilidad de Bloquear Daño de Ataques mientras empuñas un Báculo$" - }, - "8": { - "#": "^지팡이 장착 시 공격 피해를 막아낼 확률 (\\S+)%$" - } - }, - "option": false - }, - "stat_1001829678": { - "id": "staff_block_%", - "mod": "staves", - "negated": false, - "text": { - "1": { - "#": "^(\\S+)% Chance to Block Attack Damage while wielding a Staff$" - }, - "2": { - "#": "^(\\S+)% de Chance de Bloquear o Dano de Ataques enquanto portando um Cajado$" - }, - "3": { - "#": "^(\\S+)% шанс блокировать урон от атак с посохом в руках$" - }, - "4": { - "#": "^โอกาสบล็อค การโจมตี (\\S+)% ขณะถือ ไม้พลอง$" - }, - "5": { - "#": "^(\\S+)% Chance, Angriffsschaden zu blocken beim Tragen eines Stabs$" - }, - "6": { - "#": "^(\\S+)% de Chances de Bloquer les Dégâts d'Attaque en maniant un bâton$" - }, - "7": { - "#": "^(\\S+)% a la probabilidad de Bloquear Daño de Ataques mientras empuñas un Báculo$" - }, - "8": { - "#": "^지팡이 장착 시 공격 피해를 막아낼 확률 (\\S+)%\\(지팡이\\)$" - } - }, - "option": false - }, - "stat_4061558269": { - "id": "shield_block_%", - "negated": false, - "text": { - "1": { - "#": "^(\\S+)% Chance to Block Attack Damage while holding a Shield$" - }, - "2": { - "#": "^(\\S+)% de Chance de Bloquear o Dano de Ataques enquanto portando um Escudo$" - }, - "3": { - "#": "^(\\S+)% шанс заблокировать урона от атак со щитом в руках$" - }, - "4": { - "#": "^โอกาสบล็อค การโจมตี (\\S+)% ขณะถือ โล่$" - }, - "5": { - "#": "^(\\S+)% Chance, Angriffsschaden zu blocken beim Tragen eines Schilds$" - }, - "6": { - "#": "^(\\S+)% de Chances de Bloquer les Dégâts d'Attaque en tenant un bouclier$" - }, - "7": { - "#": "^(\\S+)% de probabilidad de Bloquear Daño de Ataques mientras portas un Escudo$" - }, - "8": { - "#": "^방패를 들고 있는 동안 공격 피해를 막아낼 확률 (\\S+)%$" - } - }, - "option": false - }, - "stat_74338099": { - "id": "number_of_additional_projectiles", - "negated": false, - "text": { - "1": { - "1": "^Skills fire an additional Projectile$", - "2|#": "^Skills fire(\\S+) additional Projectiles$" - }, - "2": { - "1": "^Habilidades disparam um Projétil adicional$", - "2|#": "^Habilidades disparam (\\S+) Projéteis adicionais$" - }, - "3": { - "1": "^Умения выпускают дополнительный снаряд$", - "2|#": "^Умения выпускают дополнительных снарядов: (\\S+)$" - }, - "4": { - "#": "^สกิลยิงกระสุนเพิ่มขึ้น (\\S+) ลูก$" - }, - "5": { - "1": "^Fertigkeiten feuern ein zusätzliches Projektil$", - "2|#": "^Fertigkeiten feuern (\\S+) zusätzliche Projektile$" - }, - "6": { - "1": "^Les Aptitudes tirent un Projectile supplémentaire$", - "2|#": "^Les Aptitudes tirent (\\S+) Projectiles supplémentaires$" - }, - "7": { - "1": "^Las Habilidades disparan un Proyectil adicional$", - "2|#": "^Las Habilidades diasparan (\\S+) Proyectiles adicionales$" - }, - "8": { - "1": "^스킬이 투사체 1개 추가 발사$", - "2|#": "^스킬이 투사체 (\\S+)개 추가 발사$" - } - }, - "option": false - }, - "stat_828179689": { - "id": "chill_effect_+%", - "negated": false, - "text": { - "1": { - "1|#": "^(\\S+)% increased Effect of Chill$", - "N#|-1": "^(\\S+)% reduced Effect of Chill$" - }, - "2": { - "1|#": "^Efeito de Resfriamento aumentado em (\\S+)%$", - "N#|-1": "^Efeito de Resfriamento reduzido em (\\S+)%$" - }, - "3": { - "1|#": "^(\\S+)% усиление эффекта охлаждения$", - "N#|-1": "^(\\S+)% ослабление эффекта охлаждения$" - }, - "4": { - "1|#": "^เพิ่มผลสถานะ หนาวเย็น (\\S+)%$", - "N#|-1": "^ลดผลสถานะ หนาวเย็น (\\S+)%$" - }, - "5": { - "1|#": "^(\\S+)% erhöhte Unterkühlungswirkung$", - "N#|-1": "^(\\S+)% verringerte Unterkühlungswirkung$" - }, - "6": { - "1|#": "^(\\S+)% d'Augmentation de l'Effet de la Frigorification$", - "N#|-1": "^(\\S+)% de Réduction de l'Effet de la Frigorification$" - }, - "7": { - "1|#": "^Efecto de Escarchamiento aumentado un (\\S+)%$", - "N#|-1": "^Efecto de Escarchamiento reducido un (\\S+)%$" - }, - "8": { - "1|#": "^냉각 효과 (\\S+)% 증가$", - "N#|-1": "^냉각 효과 (\\S+)% 감소$" - } - }, - "option": false - }, - "stat_2527686725": { - "id": "shock_effect_+%", - "negated": false, - "text": { - "1": { - "1|#": "^(\\S+)% increased Effect of Shock$", - "N#|-1": "^(\\S+)% reduced Effect of Shock$" - }, - "2": { - "1|#": "^Efeito de Eletrização aumentado em (\\S+)%$", - "N#|-1": "^Efeito de Eletrização reduzido em (\\S+)%$" - }, - "3": { - "1|#": "^(\\S+)% усиление эффекта шока$", - "N#|-1": "^(\\S+)% ослабление эффекта шока$" - }, - "4": { - "1|#": "^เพิ่มเอฟเฟคไฟช็อต (\\S+)%$", - "N#|-1": "^ลดเอฟเฟคไฟช็อต (\\S+)%$" - }, - "5": { - "1|#": "^(\\S+)% erhöhte Schockwirkung$", - "N#|-1": "^(\\S+)% verringerte Schockwirkung$" - }, - "6": { - "1|#": "^(\\S+)% d'Augmentation de l'Effet de l'Électrocution$", - "N#|-1": "^(\\S+)% de Réduction de l'Effet de l'Électrocution$" - }, - "7": { - "1|#": "^Efecto de Electrocución aumentado un (\\S+)%$", - "N#|-1": "^Efecto de Electrocución reducido un (\\S+)%$" - }, - "8": { - "1|#": "^감전 효과 (\\S+)% 증가$", - "N#|-1": "^감전 효과 (\\S+)% 감소$" - } - }, - "option": false - }, "stat_2891184298": { "id": "cast_speed_+%_granted_from_skill", "negated": false, @@ -3373,6 +2894,45 @@ }, "option": false }, + "stat_828179689": { + "id": "chill_effect_+%", + "negated": false, + "text": { + "1": { + "1|#": "^(\\S+)% increased Effect of Chill$", + "N#|-1": "^(\\S+)% reduced Effect of Chill$" + }, + "2": { + "1|#": "^Efeito de Resfriamento aumentado em (\\S+)%$", + "N#|-1": "^Efeito de Resfriamento reduzido em (\\S+)%$" + }, + "3": { + "1|#": "^(\\S+)% усиление эффекта охлаждения$", + "N#|-1": "^(\\S+)% ослабление эффекта охлаждения$" + }, + "4": { + "1|#": "^เพิ่มผลสถานะ หนาวเย็น (\\S+)%$", + "N#|-1": "^ลดผลสถานะ หนาวเย็น (\\S+)%$" + }, + "5": { + "1|#": "^(\\S+)% erhöhte Unterkühlungswirkung$", + "N#|-1": "^(\\S+)% verringerte Unterkühlungswirkung$" + }, + "6": { + "1|#": "^(\\S+)% d'Augmentation de l'Effet de la Frigorification$", + "N#|-1": "^(\\S+)% de Réduction de l'Effet de la Frigorification$" + }, + "7": { + "1|#": "^Efecto de Escarchamiento aumentado un (\\S+)%$", + "N#|-1": "^Efecto de Escarchamiento reducido un (\\S+)%$" + }, + "8": { + "1|#": "^냉각 효과 (\\S+)% 증가$", + "N#|-1": "^냉각 효과 (\\S+)% 감소$" + } + }, + "option": false + }, "stat_1826802197": { "id": "add_frenzy_charge_on_kill_%_chance", "negated": false, @@ -3559,6 +3119,37 @@ }, "option": false }, + "stat_4061558269": { + "id": "shield_block_%", + "negated": false, + "text": { + "1": { + "#": "^(\\S+)% Chance to Block Attack Damage while holding a Shield$" + }, + "2": { + "#": "^(\\S+)% de Chance de Bloquear o Dano de Ataques enquanto portando um Escudo$" + }, + "3": { + "#": "^(\\S+)% шанс заблокировать урона от атак со щитом в руках$" + }, + "4": { + "#": "^โอกาสบล็อค การโจมตี (\\S+)% ขณะถือ โล่$" + }, + "5": { + "#": "^(\\S+)% Chance, Angriffsschaden zu blocken beim Tragen eines Schilds$" + }, + "6": { + "#": "^(\\S+)% de Chances de Bloquer les Dégâts d'Attaque en tenant un bouclier$" + }, + "7": { + "#": "^(\\S+)% de probabilidad de Bloquear Daño de Ataques mientras portas un Escudo$" + }, + "8": { + "#": "^방패를 들고 있는 동안 공격 피해를 막아낼 확률 (\\S+)%$" + } + }, + "option": false + }, "stat_938645499": { "id": "shield_spell_block_%", "negated": false, @@ -4593,6 +4184,45 @@ }, "option": false }, + "stat_2527686725": { + "id": "shock_effect_+%", + "negated": false, + "text": { + "1": { + "1|#": "^(\\S+)% increased Effect of Shock$", + "N#|-1": "^(\\S+)% reduced Effect of Shock$" + }, + "2": { + "1|#": "^Efeito de Eletrização aumentado em (\\S+)%$", + "N#|-1": "^Efeito de Eletrização reduzido em (\\S+)%$" + }, + "3": { + "1|#": "^(\\S+)% усиление эффекта шока$", + "N#|-1": "^(\\S+)% ослабление эффекта шока$" + }, + "4": { + "1|#": "^เพิ่มเอฟเฟคไฟช็อต (\\S+)%$", + "N#|-1": "^ลดเอฟเฟคไฟช็อต (\\S+)%$" + }, + "5": { + "1|#": "^(\\S+)% erhöhte Schockwirkung$", + "N#|-1": "^(\\S+)% verringerte Schockwirkung$" + }, + "6": { + "1|#": "^(\\S+)% d'Augmentation de l'Effet de l'Électrocution$", + "N#|-1": "^(\\S+)% de Réduction de l'Effet de l'Électrocution$" + }, + "7": { + "1|#": "^Efecto de Electrocución aumentado un (\\S+)%$", + "N#|-1": "^Efecto de Electrocución reducido un (\\S+)%$" + }, + "8": { + "1|#": "^감전 효과 (\\S+)% 증가$", + "N#|-1": "^감전 효과 (\\S+)% 감소$" + } + }, + "option": false + }, "stat_165402179": { "id": "global_minimum_added_fire_damage_vs_burning_enemies global_maximum_added_fire_damage_vs_burning_enemies", "negated": false, @@ -5216,6 +4846,69 @@ }, "option": false }, + "stat_1778298516": { + "id": "staff_block_%", + "negated": false, + "text": { + "1": { + "#": "^(\\S+)% Chance to Block Attack Damage while wielding a Staff$" + }, + "2": { + "#": "^(\\S+)% de Chance de Bloquear o Dano de Ataques enquanto portando um Cajado$" + }, + "3": { + "#": "^(\\S+)% шанс блокировать урон от атак с посохом в руках$" + }, + "4": { + "#": "^โอกาสบล็อค การโจมตี (\\S+)% ขณะถือ ไม้พลอง$" + }, + "5": { + "#": "^(\\S+)% Chance, Angriffsschaden zu blocken beim Tragen eines Stabs$" + }, + "6": { + "#": "^(\\S+)% de Chances de Bloquer les Dégâts d'Attaque en maniant un bâton$" + }, + "7": { + "#": "^(\\S+)% a la probabilidad de Bloquear Daño de Ataques mientras empuñas un Báculo$" + }, + "8": { + "#": "^지팡이 장착 시 공격 피해를 막아낼 확률 (\\S+)%$" + } + }, + "option": false + }, + "stat_1001829678": { + "id": "staff_block_%", + "mod": "staves", + "negated": false, + "text": { + "1": { + "#": "^(\\S+)% Chance to Block Attack Damage while wielding a Staff$" + }, + "2": { + "#": "^(\\S+)% de Chance de Bloquear o Dano de Ataques enquanto portando um Cajado$" + }, + "3": { + "#": "^(\\S+)% шанс блокировать урон от атак с посохом в руках$" + }, + "4": { + "#": "^โอกาสบล็อค การโจมตี (\\S+)% ขณะถือ ไม้พลอง$" + }, + "5": { + "#": "^(\\S+)% Chance, Angriffsschaden zu blocken beim Tragen eines Stabs$" + }, + "6": { + "#": "^(\\S+)% de Chances de Bloquer les Dégâts d'Attaque en maniant un bâton$" + }, + "7": { + "#": "^(\\S+)% a la probabilidad de Bloquear Daño de Ataques mientras empuñas un Báculo$" + }, + "8": { + "#": "^지팡이 장착 시 공격 피해를 막아낼 확률 (\\S+)%\\(지팡이\\)$" + } + }, + "option": false + }, "stat_1061631617": { "id": "block_chance_%_per_50_strength", "negated": false, @@ -5737,6 +5430,123 @@ }, "option": false }, + "stat_734614379": { + "id": "strength_+%", + "negated": false, + "text": { + "1": { + "1|#": "^(\\S+)% increased Strength$", + "N#|-1": "^(\\S+)% reduced Strength$" + }, + "2": { + "1|#": "^Força aumentada em (\\S+)%$", + "N#|-1": "^Força reduzida em (\\S+)%$" + }, + "3": { + "1|#": "^(\\S+)% повышение силы$", + "N#|-1": "^(\\S+)% снижение силы$" + }, + "4": { + "1|#": "^เพิ่ม Strength ขึ้น (\\S+)%$", + "N#|-1": "^ลด Strength ลง (\\S+)%$" + }, + "5": { + "1|#": "^(\\S+)% erhöhte Stärke$", + "N#|-1": "^(\\S+)% verringerte Stärke$" + }, + "6": { + "1|#": "^(\\S+)% d'Augmentation de la Force$", + "N#|-1": "^(\\S+)% de Réduction de la Force$" + }, + "7": { + "1|#": "^Fuerza aumentada un (\\S+)%$", + "N#|-1": "^Fuerza reducida un (\\S+)%$" + }, + "8": { + "1|#": "^힘 (\\S+)% 증가$", + "N#|-1": "^힘 (\\S+)% 감소$" + } + }, + "option": false + }, + "stat_4139681126": { + "id": "dexterity_+%", + "negated": false, + "text": { + "1": { + "1|#": "^(\\S+)% increased Dexterity$", + "N#|-1": "^(\\S+)% reduced Dexterity$" + }, + "2": { + "1|#": "^Destreza aumentada em (\\S+)%$", + "N#|-1": "^Destreza reduzida em (\\S+)%$" + }, + "3": { + "1|#": "^(\\S+)% повышение ловкости$", + "N#|-1": "^(\\S+)% снижение ловкости$" + }, + "4": { + "1|#": "^เพิ่ม Dexterity ขึ้น (\\S+)%$", + "N#|-1": "^ลด Dexterity ลง (\\S+)%$" + }, + "5": { + "1|#": "^(\\S+)% erhöhtes Geschick$", + "N#|-1": "^(\\S+)% verringertes Geschick$" + }, + "6": { + "1|#": "^(\\S+)% d'Augmentation de la Dextérité$", + "N#|-1": "^(\\S+)% de Réduction de la Dextérité$" + }, + "7": { + "1|#": "^Destreza aumentada un (\\S+)%$", + "N#|-1": "^Destreza reducida un (\\S+)%$" + }, + "8": { + "1|#": "^민첩 (\\S+)% 증가$", + "N#|-1": "^민첩 (\\S+)% 감소$" + } + }, + "option": false + }, + "stat_656461285": { + "id": "intelligence_+%", + "negated": false, + "text": { + "1": { + "1|#": "^(\\S+)% increased Intelligence$", + "N#|-1": "^(\\S+)% reduced Intelligence$" + }, + "2": { + "1|#": "^Inteligência aumentada em (\\S+)%$", + "N#|-1": "^Inteligência reduzida em (\\S+)%$" + }, + "3": { + "1|#": "^(\\S+)% повышение интеллекта$", + "N#|-1": "^(\\S+)% снижение интеллекта$" + }, + "4": { + "1|#": "^เพิ่ม Intelligence ขึ้น (\\S+)%$", + "N#|-1": "^ลด Intelligence ลง (\\S+)%$" + }, + "5": { + "1|#": "^(\\S+)% erhöhte Intelligenz$", + "N#|-1": "^(\\S+)% verringerte Intelligenz$" + }, + "6": { + "1|#": "^(\\S+)% d'Augmentation de l'Intelligence$", + "N#|-1": "^(\\S+)% de Réduction de l'Intelligence$" + }, + "7": { + "1|#": "^Inteligencia aumentada un (\\S+)%$", + "N#|-1": "^Inteligencia reducida un (\\S+)%$" + }, + "8": { + "1|#": "^지능 (\\S+)% 증가$", + "N#|-1": "^지능 (\\S+)% 감소$" + } + }, + "option": false + }, "stat_819529588": { "id": "on_weapon_global_damage_+%", "negated": false, @@ -8718,7 +8528,7 @@ "option": false }, "stat_587431675": { - "id": "critical_strike_chance_+%", + "id": "global_critical_strike_chance_+%", "negated": false, "text": { "1": { @@ -9099,6 +8909,37 @@ }, "option": false }, + "stat_3556824919": { + "id": "global_critical_strike_multiplier_+", + "negated": false, + "text": { + "1": { + "#": "^(\\S+)% to Global Critical Strike Multiplier$" + }, + "2": { + "#": "^(\\S+)% ao Multiplicador Global de Crítico$" + }, + "3": { + "#": "^(\\S+)% к глобальному множителю критического удара$" + }, + "4": { + "#": "^ตัวคูณคริติคอล ทุกอย่าง (\\S+)%$" + }, + "5": { + "#": "^(\\S+)% zu globalem Multiplikator für kritische Treffer$" + }, + "6": { + "#": "^(\\S+)% au Multiplicateur de coup critique Global$" + }, + "7": { + "#": "^(\\S+)% al Multiplicador Global de Golpe Crítico$" + }, + "8": { + "#": "^일반 치명타 피해 배율 (\\S+)%$" + } + }, + "option": false + }, "stat_274716455": { "id": "spell_critical_strike_multiplier_+", "negated": false, @@ -10183,6 +10024,37 @@ }, "option": false }, + "stat_3188455409": { + "id": "mana_regeneration_rate_per_minute_%", + "negated": false, + "text": { + "1": { + "1|#": "^Regenerate (\\S+)% of Mana per second$" + }, + "2": { + "1|#": "^(\\S+)% de Mana Regenerada por segundo$" + }, + "3": { + "1|#": "^Регенерация (\\S+)% маны в секунду$" + }, + "4": { + "1|#": "^ฟื้นฟูมานา (\\S+)% ต่อวินาที$" + }, + "5": { + "1|#": "^(\\S+)% des Manas regeneriert pro Sekunde$" + }, + "6": { + "1|#": "^(\\S+)% du Mana est Régénéré par seconde$" + }, + "7": { + "1|#": "^(\\S+)% de Maná Regenerado por segundo$" + }, + "8": { + "1|#": "^초당 마나의 (\\S+)% 재생$" + } + }, + "option": false + }, "stat_789117908": { "id": "mana_regeneration_rate_+%", "negated": false, @@ -12284,6 +12156,44 @@ }, "option": false }, + "stat_74338099": { + "id": "number_of_additional_projectiles", + "negated": false, + "text": { + "1": { + "1": "^Skills fire an additional Projectile$", + "2|#": "^Skills fire (\\S+) additional Projectiles$" + }, + "2": { + "1": "^Habilidades disparam um Projétil adicional$", + "2|#": "^Habilidades disparam (\\S+) Projéteis adicionais$" + }, + "3": { + "1": "^Умения выпускают дополнительный снаряд$", + "2|#": "^Умения выпускают дополнительных снарядов: (\\S+)$" + }, + "4": { + "#": "^สกิลยิงกระสุนเพิ่มขึ้น (\\S+) ลูก$" + }, + "5": { + "1": "^Fertigkeiten feuern ein zusätzliches Projektil$", + "2|#": "^Fertigkeiten feuern (\\S+) zusätzliche Projektile$" + }, + "6": { + "1": "^Les Aptitudes tirent un Projectile supplémentaire$", + "2|#": "^Les Aptitudes tirent (\\S+) Projectiles supplémentaires$" + }, + "7": { + "1": "^Las Habilidades disparan un Proyectil adicional$", + "2|#": "^Las Habilidades disparan (\\S+) Proyectiles adicionales$" + }, + "8": { + "1": "^스킬이 투사체 1개 추가 발사$", + "2|#": "^스킬이 투사체 (\\S+)개 추가 발사$" + } + }, + "option": false + }, "stat_649025131": { "id": "movement_velocity_+%_when_on_low_life", "negated": false, @@ -12424,6 +12334,99 @@ }, "option": false }, + "stat_1515657623": { + "id": "max_endurance_charges", + "negated": false, + "text": { + "1": { + "#": "^(\\S+) to Maximum Endurance Charges$" + }, + "2": { + "#": "^(\\S+) ao Máximo de Cargas de Tolerância$" + }, + "3": { + "#": "^(\\S+) к максимуму зарядов выносливости$" + }, + "4": { + "#": "^จำนวน Endurance Charges สูงสุด (\\S+)$" + }, + "5": { + "#": "^(\\S+) zu maximaler Anzahl an Widerstands-Ladungen$" + }, + "6": { + "#": "^(\\S+) au nombre maximal de Charges d'endurance$" + }, + "7": { + "#": "^(\\S+) al Máximo de Cargas de Aguante$" + }, + "8": { + "#": "^인내 충전 최대치 (\\S+)$" + } + }, + "option": false + }, + "stat_4078695": { + "id": "max_frenzy_charges", + "negated": false, + "text": { + "1": { + "#": "^(\\S+) to Maximum Frenzy Charges$" + }, + "2": { + "#": "^(\\S+) ao Máximo de Cargas de Frenesi$" + }, + "3": { + "#": "^(\\S+) к максимуму зарядов ярости$" + }, + "4": { + "#": "^จำนวน Frenzy Charges สูงสุด (\\S+)$" + }, + "5": { + "#": "^(\\S+) zu maximaler Anzahl an Raserei-Ladungen$" + }, + "6": { + "#": "^(\\S+) au nombre maximal de Charges de frénésie$" + }, + "7": { + "#": "^(\\S+) al Máximo de Cargas de Frenesí$" + }, + "8": { + "#": "^격분 충전 최대치 (\\S+)$" + } + }, + "option": false + }, + "stat_227523295": { + "id": "max_power_charges", + "negated": false, + "text": { + "1": { + "#": "^(\\S+) to Maximum Power Charges$" + }, + "2": { + "#": "^(\\S+) ao Máximo de Cargas de Poder$" + }, + "3": { + "#": "^(\\S+) к максимуму зарядов энергии$" + }, + "4": { + "#": "^จำนวน Power Charges สูงสุด (\\S+)$" + }, + "5": { + "#": "^(\\S+) zu maximaler Anzahl an Energie-Ladungen$" + }, + "6": { + "#": "^(\\S+) au nombre maximal de Charges de pouvoir$" + }, + "7": { + "#": "^(\\S+) al Máximo de Cargas de Poder$" + }, + "8": { + "#": "^권능 충전 최대치 (\\S+)$" + } + }, + "option": false + }, "stat_2542650946": { "id": "chance_to_gain_endurance_charge_on_crit_%", "negated": false, @@ -45554,8 +45557,8 @@ "#": "^มีโอกาส (\\S+)% ที่จะ Blind Chilled ศัตรู เมื่อโจมตีโดน$" }, "5": { - "#|99": "^(\\S+)% Chance, Gegner bei Treffer zu blenden$", - "100|#": "^Blendet Gegner bei Treffer$" + "100": "^Blendet Gegner bei Treffer$", + "#": "^(\\S+)% Chance, Gegner bei Treffer zu blenden$" }, "6": { "100": "^Aveugle les Ennemis Frigorifiés au Toucher$", @@ -73858,99 +73861,6 @@ }, "option": false }, - "stat_2674336304": { - "id": "base_cold_damage_resistance_%", - "negated": false, - "text": { - "1": { - "#": "^Nearby Enemies have (\\S+)% to Cold Resistance$" - }, - "2": { - "#": "^Inimigos Próximos possuem (\\S+)% de Resistência a Gelo$" - }, - "3": { - "#": "^Ближайшие враги имеют (\\S+)% к сопротивлению холоду$" - }, - "4": { - "#": "^ศัตรูที่อยู่ใกล้มี ต้านทาน น้ำแข็ง (\\S+)%$" - }, - "5": { - "#": "^Gegner im Umkreis haben (\\S+)% zu Kältewiderstand$" - }, - "6": { - "#": "^Les Ennemis à proximité ont (\\S+)% à la Résistance au froid$" - }, - "7": { - "#": "^Los Enemigos cercanos tienen (\\S+)% a la Resistencia al Hielo$" - }, - "8": { - "#": "^주변의 적의 냉기 저항 (\\S+)%$" - } - }, - "option": false - }, - "stat_1902595112": { - "id": "base_chaos_damage_resistance_%", - "negated": false, - "text": { - "1": { - "#": "^Nearby Enemies have (\\S+)% to Chaos Resistance$" - }, - "2": { - "#": "^Inimigos Próximos possuem (\\S+)% de Resistência a Caos$" - }, - "3": { - "#": "^Ближайшие враги имеют (\\S+)% к сопротивлению хаосу$" - }, - "4": { - "#": "^ศัตรูที่อยู่ใกล้มี ต้านทาน เคออส (\\S+)%$" - }, - "5": { - "#": "^Gegner im Umkreis haben (\\S+)% zu Chaoswiderstand$" - }, - "6": { - "#": "^Les Ennemis à proximité ont (\\S+)% à la Résistance au chaos$" - }, - "7": { - "#": "^Los Enemigos cercanos tienen (\\S+)% a la Resistencia al Caos$" - }, - "8": { - "#": "^주변의 적의 카오스 저항 (\\S+)%$" - } - }, - "option": false - }, - "stat_2821079699": { - "id": "base_number_of_golems_allowed", - "negated": false, - "text": { - "1": { - "#": "^(\\S+) to maximum number of Golems$" - }, - "2": { - "#": "^(\\S+) ao número máximo de Golens$" - }, - "3": { - "#": "^(\\S+) к максимальному количеству големов$" - }, - "4": { - "#": "^จำนวน โกเลม สูงสุด (\\S+)$" - }, - "5": { - "#": "^(\\S+) zu maximaler Anzahl an Golems$" - }, - "6": { - "#": "^(\\S+) au nombre maximum de Golems$" - }, - "7": { - "#": "^(\\S+) al número máximo de gólems$" - }, - "8": { - "#": "^골렘 수 최대치 (\\S+)$" - } - }, - "option": false - }, "stat_1443060084": { "id": "base_stun_threshold_reduction_+%", "negated": false, @@ -86501,37 +86411,6 @@ }, "option": false }, - "stat_3556824919": { - "id": "base_critical_strike_multiplier_+", - "negated": false, - "text": { - "1": { - "#": "^(\\S+)% to Global Critical Strike Multiplier$" - }, - "2": { - "#": "^(\\S+)% ao Multiplicador Global de Crítico$" - }, - "3": { - "#": "^(\\S+)% к глобальному множителю критического удара$" - }, - "4": { - "#": "^ตัวคูณคริติคอล ทุกอย่าง (\\S+)%$" - }, - "5": { - "#": "^(\\S+)% zu globalem Multiplikator für kritische Treffer$" - }, - "6": { - "#": "^(\\S+)% au Multiplicateur de coup critique Global$" - }, - "7": { - "#": "^(\\S+)% al Multiplicador Global de Golpe Crítico$" - }, - "8": { - "#": "^일반 치명타 피해 배율 (\\S+)%$" - } - }, - "option": false - }, "stat_3855016469": { "id": "base_self_critical_strike_multiplier_-%", "negated": false, @@ -90427,8 +90306,7 @@ "#": "^Verbündete im Umkreis erhalten (\\S+)% erhöhten Schaden$" }, "6": { - "1|#": "^Les Alliés à proximité ont (\\S+)% d'Augmentation de Dégâts$", - "N#|-1": "^Les Alliés à proximité ont (\\S+)% de Réduction de Dégâts$" + "#": "^Les Alliés à proximité ont (\\S+)% d'Augmentation de Dégâts$" }, "7": { "#": "^Los aliados cercanos ganan (\\S+)% de Daño aumentado$" @@ -93370,6 +93248,37 @@ }, "option": false }, + "stat_2826979740": { + "id": "local_display_nearby_enemies_are_blinded", + "negated": false, + "text": { + "1": { + "#": "^Nearby Enemies are Blinded$" + }, + "2": { + "#": "^Inimigos Próximos são Cegados$" + }, + "3": { + "#": "^Ближайшие враги получают ослепление$" + }, + "4": { + "#": "^ศัตรูที่อยู่ใกล้ๆจะตาบอด$" + }, + "5": { + "#": "^Gegner im Umkreis sind geblendet$" + }, + "6": { + "#": "^Les Ennemis à proximité sont Aveuglés$" + }, + "7": { + "#": "^Los Enemigos cercanos están Cegados$" + }, + "8": { + "#": "^주변의 적을 실명시킴$" + } + }, + "option": false + }, "stat_992435560": { "id": "local_display_hits_against_nearby_enemies_critical_strike_chance_+50%", "negated": false, @@ -93736,6 +93645,37 @@ }, "option": false }, + "stat_2821079699": { + "id": "base_number_of_golems_allowed", + "negated": false, + "text": { + "1": { + "#": "^(\\S+) to maximum number of Golems$" + }, + "2": { + "#": "^(\\S+) ao número máximo de Golens$" + }, + "3": { + "#": "^(\\S+) к максимальному количеству големов$" + }, + "4": { + "#": "^จำนวน โกเลม สูงสุด (\\S+)$" + }, + "5": { + "#": "^(\\S+) zu maximaler Anzahl an Golems$" + }, + "6": { + "#": "^(\\S+) au nombre maximum de Golems$" + }, + "7": { + "#": "^(\\S+) al número máximo de gólems$" + }, + "8": { + "#": "^골렘 수 최대치 (\\S+)$" + } + }, + "option": false + }, "stat_625037258": { "id": "local_double_damage_to_chilled_enemies", "negated": false, @@ -95770,6 +95710,68 @@ }, "option": false }, + "stat_1902595112": { + "id": "local_display_nearby_enemy_chaos_damage_resistance_%", + "negated": false, + "text": { + "1": { + "#": "^Nearby Enemies have (\\S+)% to Chaos Resistance$" + }, + "2": { + "#": "^Inimigos Próximos possuem (\\S+)% de Resistência a Caos$" + }, + "3": { + "#": "^Ближайшие враги имеют (\\S+)% к сопротивлению хаосу$" + }, + "4": { + "#": "^ศัตรูที่อยู่ใกล้มี ต้านทาน เคออส (\\S+)%$" + }, + "5": { + "#": "^Gegner im Umkreis haben (\\S+)% zu Chaoswiderstand$" + }, + "6": { + "#": "^Les Ennemis à proximité ont (\\S+)% à la Résistance au chaos$" + }, + "7": { + "#": "^Los Enemigos cercanos tienen (\\S+)% a la Resistencia al Caos$" + }, + "8": { + "#": "^주변의 적의 카오스 저항 (\\S+)%$" + } + }, + "option": false + }, + "stat_2674336304": { + "id": "local_display_nearby_enemy_cold_damage_resistance_%", + "negated": false, + "text": { + "1": { + "#": "^Nearby Enemies have (\\S+)% to Cold Resistance$" + }, + "2": { + "#": "^Inimigos Próximos possuem (\\S+)% de Resistência a Gelo$" + }, + "3": { + "#": "^Ближайшие враги имеют (\\S+)% к сопротивлению холоду$" + }, + "4": { + "#": "^ศัตรูที่อยู่ใกล้มี ต้านทาน น้ำแข็ง (\\S+)%$" + }, + "5": { + "#": "^Gegner im Umkreis haben (\\S+)% zu Kältewiderstand$" + }, + "6": { + "#": "^Les Ennemis à proximité ont (\\S+)% à la Résistance au froid$" + }, + "7": { + "#": "^Los Enemigos cercanos tienen (\\S+)% a la Resistencia al Hielo$" + }, + "8": { + "#": "^주변의 적의 냉기 저항 (\\S+)%$" + } + }, + "option": false + }, "stat_3914021960": { "id": "local_display_nearby_enemy_fire_damage_resistance_%", "negated": false, @@ -98834,6 +98836,64 @@ }, "option": false }, + "pseudo_timeless_jewel_zerphi": { + "text": { + "1": { + "#": "^Bathed in the blood of (\\S+) sacrificed in the name of Zerphi$" + }, + "2": { + "#": "^Banhado no sangue de (\\S+) sacrificados em nome de Zerphi$" + }, + "3": { + "#": "^Омыт в крови (\\S+) жертв во имя Зерфи$" + }, + "4": { + "#": "^อาบเลือดเครื่องสังเวยในนามแห่ง Zerphi จำนวน (\\S+) ชีวิต$" + }, + "5": { + "#": "^Gebadet im Blut der (\\S+), die im Namen von Zerphi geopfert wurden$" + }, + "6": { + "#": "^A été baigné dans le sang des (\\S+) sacrifiés au nom de Zerphi$" + }, + "7": { + "#": "^Bañada en la sangre de (\\S+) sacrificados en el nombre de Zerphi$" + }, + "8": { + "#": "^제르피의 이름으로 희생된 (\\S+)의 피로 목욕$" + } + }, + "option": false + }, + "pseudo_timeless_jewel_kaom": { + "text": { + "1": { + "#": "^Commanded leadership over (\\S+) warriors under Kaom$" + }, + "2": { + "#": "^Liderança do comando de mais de (\\S+) guerreiros de Kaom$" + }, + "3": { + "#": "^Повелевает (\\S+) воинами Каома$" + }, + "4": { + "#": "^นำทัพนักรบใต้บัญชาแห่ง Kaom จำนวน (\\S+) นาย$" + }, + "5": { + "#": "^Übernahm die Führung über (\\S+) Krieger unter Kaom$" + }, + "6": { + "#": "^A dirigé (\\S+) guerriers sous les ordres de Kaom$" + }, + "7": { + "#": "^Otorgada por liderar a (\\S+) guerreros de Kaom$" + }, + "8": { + "#": "^카옴 휘하 (\\S+) 전사들에 대한 지휘 통솔력$" + } + }, + "option": false + }, "pseudo_timeless_jewel_rakiata": { "text": { "1": { @@ -98979,31 +99039,31 @@ }, "option": false }, - "pseudo_timeless_jewel_zerphi": { + "pseudo_timeless_jewel_dominus": { "text": { "1": { - "#": "^Bathed in the blood of (\\S+) sacrificed in the name of Zerphi$" + "#": "^Carved to glorify (\\S+) new faithful converted by High Templar Dominus$" }, "2": { - "#": "^Banhado no sangue de (\\S+) sacrificados em nome de Zerphi$" + "#": "^Talhado para glorificar (\\S+) novos fiéis convertidos pelo Alto Templário Dominus$" }, "3": { - "#": "^Омыт в крови (\\S+) жертв во имя Зерфи$" + "#": "^Выточен во славу (\\S+) послушников, обращённых Верховным жрецом Владыкой$" }, "4": { - "#": "^อาบเลือดเครื่องสังเวยในนามแห่ง Zerphi จำนวน (\\S+) ชีวิต$" + "#": "^กระหายที่จะเชิดชูผู้ถูกแปรพักตร์โดยหัวหน้าเทมพลาร์ Dominus จำนวน (\\S+) คน$" }, "5": { - "#": "^Gebadet im Blut der (\\S+), die im Namen von Zerphi geopfert wurden$" + "#": "^Im Namen von (\\S+) neuen Gläubigen, konvertiert durch den Hohen Templer Dominus$" }, "6": { - "#": "^A été baigné dans le sang des (\\S+) sacrifiés au nom de Zerphi$" + "#": "^A été sculpté afin de glorifier les (\\S+) nouveaux fidèles convertis par le Haut Templier Dominus$" }, "7": { - "#": "^Bañada en la sangre de (\\S+) sacrificados en el nombre de Zerphi$" + "#": "^Tallada para glorificar a los (\\S+) nuevos fieles convertidos por el Alto Templario Dóminus$" }, "8": { - "#": "^제르피의 이름으로 희생된 (\\S+)의 피로 목욕$" + "#": "^고위 템플러 도미누스가 개종시킨 (\\S+)의 새로운 신도들을 찬미하기 위해 조각됨$" } }, "option": false @@ -99037,63 +99097,50 @@ }, "option": false }, - "pseudo_timeless_jewel_kaom": { - "text": { - "1": { - "#": "^Commanded leadership over (\\S+) warriors under Kaom$" - }, - "2": { - "#": "^Liderança do comando de mais de (\\S+) guerreiros de Kaom$" - }, - "3": { - "#": "^Повелевает (\\S+) воинами Каома$" - }, - "4": { - "#": "^นำทัพนักรบใต้บัญชาแห่ง Kaom จำนวน (\\S+) นาย$" - }, - "5": { - "#": "^Übernahm die Führung über (\\S+) Krieger unter Kaom$" - }, - "6": { - "#": "^A dirigé (\\S+) guerriers sous les ordres de Kaom$" - }, - "7": { - "#": "^Otorgada por liderar a (\\S+) guerreros de Kaom$" - }, - "8": { - "#": "^카옴 휘하 (\\S+) 전사들에 대한 지휘 통솔력$" - } - }, - "option": false - }, - "pseudo_timeless_jewel_dominus": { + "stat_2878779644": { "text": { "1": { - "#": "^Carved to glorify (\\S+) new faithful converted by High Templar Dominus$" + "1": "^Grants Level 20 Summon Bestial Rhoa Skill$", + "2": "^Grants Level 20 Summon Bestial Ursa Skill$", + "3": "^Grants Level 20 Summon Bestial Snake Skill$" }, "2": { - "#": "^Talhado para glorificar (\\S+) novos fiéis convertidos pelo Alto Templário Dominus$" + "1": "^Concede Convocar Rhoa Bestial Nível 20$", + "2": "^Concede Convocar Marsupial Bestial Nível 20$", + "3": "^Concede Convocar Cobra Bestial Nível 20$" }, "3": { - "#": "^Выточен во славу (\\S+) послушников, обращённых Верховным жрецом Владыкой$" + "1": "^Дарует умение Призыв дикого\\(-й\\) Роа 20 уровня$", + "2": "^Дарует умение Призыв дикого\\(-й\\) Медведя 20 уровня$", + "3": "^Дарует умение Призыв дикого\\(-й\\) Змеи 20 уровня$" }, "4": { - "#": "^กระหายที่จะเชิดชูผู้ถูกแปรพักตร์โดยหัวหน้าเทมพลาร์ Dominus จำนวน (\\S+) คน$" + "1": "^ได้รับสกิล Summon Bestial Rhoa เลเวล 20$", + "2": "^ได้รับสกิล Summon Bestial Ursa เลเวล 20$", + "3": "^ได้รับสกิล Summon Bestial Snake เลเวล 20$" }, "5": { - "#": "^Im Namen von (\\S+) neuen Gläubigen, konvertiert durch den Hohen Templer Dominus$" + "1": "^Gewährt die Fertigkeit Rhoa Biest beschwören Stufe 20$", + "2": "^Gewährt die Fertigkeit Ursa Biest beschwören Stufe 20$", + "3": "^Gewährt die Fertigkeit Schlange Biest beschwören Stufe 20$" }, "6": { - "#": "^A été sculpté afin de glorifier les (\\S+) nouveaux fidèles convertis par le Haut Templier Dominus$" + "1": "^Octroie l'Aptitude Invocation de Rhoa bestial$", + "2": "^Octroie l'Aptitude Invocation d'Ursidé bestial$", + "3": "^Octroie l'Aptitude Invocation de Serpent bestial$" }, "7": { - "#": "^Tallada para glorificar a los (\\S+) nuevos fieles convertidos por el Alto Templario Dóminus$" + "1": "^Otorga la habilidad Invocar Rhoa bestial de nivel 20$", + "2": "^Otorga la habilidad Invocar Ursa bestial de nivel 20$", + "3": "^Otorga la habilidad Invocar Serpiente bestial de nivel 20$" }, "8": { - "#": "^고위 템플러 도미누스가 개종시킨 (\\S+)의 새로운 신도들을 찬미하기 위해 조각됨$" + "1": "^20레벨 흉포한 로아 소환 스킬 사용 가능$", + "2": "^20레벨 흉포한 곰 소환 스킬 사용 가능$", + "3": "^20레벨 흉포한 뱀 소환 스킬 사용 가능$" } }, - "option": false + "option": true }, "pseudo_timeless_jewel_venarius": { "text": { @@ -99182,51 +99229,6 @@ }, "option": false }, - "stat_2878779644": { - "text": { - "1": { - "1": "^Grants Level 20 Summon Bestial Rhoa Skill$", - "2": "^Grants Level 20 Summon Bestial Ursa Skill$", - "3": "^Grants Level 20 Summon Bestial Snake Skill$" - }, - "2": { - "1": "^Concede Convocar Rhoa Bestial Nível 20$", - "2": "^Concede Convocar Marsupial Bestial Nível 20$", - "3": "^Concede Convocar Cobra Bestial Nível 20$" - }, - "3": { - "1": "^Дарует умение Призыв дикого\\(-й\\) Роа 20 уровня$", - "2": "^Дарует умение Призыв дикого\\(-й\\) Медведя 20 уровня$", - "3": "^Дарует умение Призыв дикого\\(-й\\) Змеи 20 уровня$" - }, - "4": { - "1": "^ได้รับสกิล Summon Bestial Rhoa เลเวล 20$", - "2": "^ได้รับสกิล Summon Bestial Ursa เลเวล 20$", - "3": "^ได้รับสกิล Summon Bestial Snake เลเวล 20$" - }, - "5": { - "1": "^Gewährt die Fertigkeit Rhoa Biest beschwören Stufe 20$", - "2": "^Gewährt die Fertigkeit Ursa Biest beschwören Stufe 20$", - "3": "^Gewährt die Fertigkeit Schlange Biest beschwören Stufe 20$" - }, - "6": { - "1": "^Octroie l'Aptitude Invocation de Rhoa bestial$", - "2": "^Octroie l'Aptitude Invocation d'Ursidé bestial$", - "3": "^Octroie l'Aptitude Invocation de Serpent bestial$" - }, - "7": { - "1": "^Otorga la habilidad Invocar Rhoa bestial de nivel 20$", - "2": "^Otorga la habilidad Invocar Ursa bestial de nivel 20$", - "3": "^Otorga la habilidad Invocar Serpiente bestial de nivel 20$" - }, - "8": { - "1": "^20레벨 흉포한 로아 소환 스킬 사용 가능$", - "2": "^20레벨 흉포한 곰 소환 스킬 사용 가능$", - "3": "^20레벨 흉포한 뱀 소환 스킬 사용 가능$" - } - }, - "option": true - }, "pseudo_timeless_jewel_asenath": { "text": { "1": { @@ -100202,8 +100204,11 @@ "N#|-1": "^(\\S+)% de Réduction des Dégâts physiques \\(implicit\\)$" }, "7": { - "1|#": "^Daño Físico aumentado un (\\S+)% \\(implicit\\)$", - "N#|-1": "^Daño Físico reducido un (\\S+)% \\(implicit\\)$" + "# 1|#": "^Sin Daño Físico \\(implicit\\)$", + "# #|-1": "^Sin Daño Físico \\(implicit\\)$", + "#|-100 #": "^Sin Daño Físico \\(implicit\\)$", + "1|# 0": "^Daño Físico aumentado un (\\S+)% \\(implicit\\)$", + "N-99|-1 0": "^Daño Físico reducido un (\\S+)% \\(implicit\\)$" }, "8": { "1|#": "^물리 피해 (\\S+)% 증가 \\(implicit\\)$", @@ -100757,313 +100762,41 @@ }, "option": false }, - "stat_734614379": { - "id": "strength_+%", - "negated": false, - "text": { - "1": { - "1|#": "^(\\S+)% increased Strength \\(implicit\\)$", - "N#|-1": "^(\\S+)% reduced Strength \\(implicit\\)$" - }, - "2": { - "1|#": "^Força aumentada em (\\S+)% \\(implicit\\)$", - "N#|-1": "^Força reduzida em (\\S+)% \\(implicit\\)$" - }, - "3": { - "1|#": "^(\\S+)% повышение силы \\(implicit\\)$", - "N#|-1": "^(\\S+)% снижение силы \\(implicit\\)$" - }, - "4": { - "1|#": "^เพิ่ม Strength ขึ้น (\\S+)% \\(implicit\\)$", - "N#|-1": "^ลด Strength ลง (\\S+)% \\(implicit\\)$" - }, - "5": { - "1|#": "^(\\S+)% erhöhte Stärke \\(implicit\\)$", - "N#|-1": "^(\\S+)% verringerte Stärke \\(implicit\\)$" - }, - "6": { - "1|#": "^(\\S+)% d'Augmentation de la Force \\(implicit\\)$", - "N#|-1": "^(\\S+)% de Réduction de la Force \\(implicit\\)$" - }, - "7": { - "1|#": "^Fuerza aumentada un (\\S+)% \\(implicit\\)$", - "N#|-1": "^Fuerza reducida un (\\S+)% \\(implicit\\)$" - }, - "8": { - "1|#": "^힘 (\\S+)% 증가 \\(implicit\\)$", - "N#|-1": "^힘 (\\S+)% 감소 \\(implicit\\)$" - } - }, - "option": false - }, - "stat_4139681126": { - "id": "dexterity_+%", - "negated": false, - "text": { - "1": { - "1|#": "^(\\S+)% increased Dexterity \\(implicit\\)$", - "N#|-1": "^(\\S+)% reduced Dexterity \\(implicit\\)$" - }, - "2": { - "1|#": "^Destreza aumentada em (\\S+)% \\(implicit\\)$", - "N#|-1": "^Destreza reduzida em (\\S+)% \\(implicit\\)$" - }, - "3": { - "1|#": "^(\\S+)% повышение ловкости \\(implicit\\)$", - "N#|-1": "^(\\S+)% снижение ловкости \\(implicit\\)$" - }, - "4": { - "1|#": "^เพิ่ม Dexterity ขึ้น (\\S+)% \\(implicit\\)$", - "N#|-1": "^ลด Dexterity ลง (\\S+)% \\(implicit\\)$" - }, - "5": { - "1|#": "^(\\S+)% erhöhtes Geschick \\(implicit\\)$", - "N#|-1": "^(\\S+)% verringertes Geschick \\(implicit\\)$" - }, - "6": { - "1|#": "^(\\S+)% d'Augmentation de la Dextérité \\(implicit\\)$", - "N#|-1": "^(\\S+)% de Réduction de la Dextérité \\(implicit\\)$" - }, - "7": { - "1|#": "^Destreza aumentada un (\\S+)% \\(implicit\\)$", - "N#|-1": "^Destreza reducida un (\\S+)% \\(implicit\\)$" - }, - "8": { - "1|#": "^민첩 (\\S+)% 증가 \\(implicit\\)$", - "N#|-1": "^민첩 (\\S+)% 감소 \\(implicit\\)$" - } - }, - "option": false - }, - "stat_656461285": { - "id": "intelligence_+%", - "negated": false, - "text": { - "1": { - "1|#": "^(\\S+)% increased Intelligence \\(implicit\\)$", - "N#|-1": "^(\\S+)% reduced Intelligence \\(implicit\\)$" - }, - "2": { - "1|#": "^Inteligência aumentada em (\\S+)% \\(implicit\\)$", - "N#|-1": "^Inteligência reduzida em (\\S+)% \\(implicit\\)$" - }, - "3": { - "1|#": "^(\\S+)% повышение интеллекта \\(implicit\\)$", - "N#|-1": "^(\\S+)% снижение интеллекта \\(implicit\\)$" - }, - "4": { - "1|#": "^เพิ่ม Intelligence ขึ้น (\\S+)% \\(implicit\\)$", - "N#|-1": "^ลด Intelligence ลง (\\S+)% \\(implicit\\)$" - }, - "5": { - "1|#": "^(\\S+)% erhöhte Intelligenz \\(implicit\\)$", - "N#|-1": "^(\\S+)% verringerte Intelligenz \\(implicit\\)$" - }, - "6": { - "1|#": "^(\\S+)% d'Augmentation de l'Intelligence \\(implicit\\)$", - "N#|-1": "^(\\S+)% de Réduction de l'Intelligence \\(implicit\\)$" - }, - "7": { - "1|#": "^Inteligencia aumentada un (\\S+)% \\(implicit\\)$", - "N#|-1": "^Inteligencia reducida un (\\S+)% \\(implicit\\)$" - }, - "8": { - "1|#": "^지능 (\\S+)% 증가 \\(implicit\\)$", - "N#|-1": "^지능 (\\S+)% 감소 \\(implicit\\)$" - } - }, - "option": false - }, - "stat_3188455409": { - "id": "mana_regeneration_rate_per_minute_%", - "negated": false, - "text": { - "1": { - "1|#": "^Regenerate (\\S+)% of Mana per second \\(implicit\\)$" - }, - "2": { - "1|#": "^(\\S+)% de Mana Regenerada por segundo \\(implicit\\)$" - }, - "3": { - "1|#": "^Регенерация (\\S+)% маны в секунду \\(implicit\\)$" - }, - "4": { - "1|#": "^ฟื้นฟูมานา (\\S+)% ต่อวินาที \\(implicit\\)$" - }, - "5": { - "1|#": "^(\\S+)% des Manas regeneriert pro Sekunde \\(implicit\\)$" - }, - "6": { - "1|#": "^(\\S+)% du Mana est Régénéré par seconde \\(implicit\\)$" - }, - "7": { - "1|#": "^(\\S+)% de Maná Regenerado por segundo \\(implicit\\)$" - }, - "8": { - "1|#": "^초당 마나의 (\\S+)% 재생 \\(implicit\\)$" - } - }, - "option": false - }, - "stat_1515657623": { - "id": "max_endurance_charges", - "negated": false, - "text": { - "1": { - "#": "^(\\S+) to Maximum Endurance Charges \\(implicit\\)$" - }, - "2": { - "#": "^(\\S+) ao Máximo de Cargas de Tolerância \\(implicit\\)$" - }, - "3": { - "#": "^(\\S+) к максимуму зарядов выносливости \\(implicit\\)$" - }, - "4": { - "#": "^จำนวน Endurance Charges สูงสุด (\\S+) \\(implicit\\)$" - }, - "5": { - "#": "^(\\S+) zu maximaler Anzahl an Widerstands-Ladungen \\(implicit\\)$" - }, - "6": { - "#": "^(\\S+) au nombre maximal de Charges d'endurance \\(implicit\\)$" - }, - "7": { - "#": "^(\\S+) al Máximo de Cargas de Aguante \\(implicit\\)$" - }, - "8": { - "#": "^인내 충전 최대치 (\\S+) \\(implicit\\)$" - } - }, - "option": false - }, - "stat_4078695": { - "id": "max_frenzy_charges", - "negated": false, - "text": { - "1": { - "#": "^(\\S+) to Maximum Frenzy Charges \\(implicit\\)$" - }, - "2": { - "#": "^(\\S+) ao Máximo de Cargas de Frenesi \\(implicit\\)$" - }, - "3": { - "#": "^(\\S+) к максимуму зарядов ярости \\(implicit\\)$" - }, - "4": { - "#": "^จำนวน Frenzy Charges สูงสุด (\\S+) \\(implicit\\)$" - }, - "5": { - "#": "^(\\S+) zu maximaler Anzahl an Raserei-Ladungen \\(implicit\\)$" - }, - "6": { - "#": "^(\\S+) au nombre maximal de Charges de frénésie \\(implicit\\)$" - }, - "7": { - "#": "^(\\S+) al Máximo de Cargas de Frenesí \\(implicit\\)$" - }, - "8": { - "#": "^격분 충전 최대치 (\\S+) \\(implicit\\)$" - } - }, - "option": false - }, - "stat_227523295": { - "id": "max_power_charges", - "negated": false, - "text": { - "1": { - "#": "^(\\S+) to Maximum Power Charges \\(implicit\\)$" - }, - "2": { - "#": "^(\\S+) ao Máximo de Cargas de Poder \\(implicit\\)$" - }, - "3": { - "#": "^(\\S+) к максимуму зарядов энергии \\(implicit\\)$" - }, - "4": { - "#": "^จำนวน Power Charges สูงสุด (\\S+) \\(implicit\\)$" - }, - "5": { - "#": "^(\\S+) zu maximaler Anzahl an Energie-Ladungen \\(implicit\\)$" - }, - "6": { - "#": "^(\\S+) au nombre maximal de Charges de pouvoir \\(implicit\\)$" - }, - "7": { - "#": "^(\\S+) al Máximo de Cargas de Poder \\(implicit\\)$" - }, - "8": { - "#": "^권능 충전 최대치 (\\S+) \\(implicit\\)$" - } - }, - "option": false - }, - "stat_1001829678": { - "id": "staff_block_%", - "mod": "staves", - "negated": false, - "text": { - "1": { - "#": "^(\\S+)% Chance to Block Attack Damage while wielding a Staff \\(implicit\\)$" - }, - "2": { - "#": "^(\\S+)% de Chance de Bloquear o Dano de Ataques enquanto portando um Cajado \\(implicit\\)$" - }, - "3": { - "#": "^(\\S+)% шанс блокировать урон от атак с посохом в руках \\(implicit\\)$" - }, - "4": { - "#": "^โอกาสบล็อค การโจมตี (\\S+)% ขณะถือ ไม้พลอง \\(implicit\\)$" - }, - "5": { - "#": "^(\\S+)% Chance, Angriffsschaden zu blocken beim Tragen eines Stabs \\(implicit\\)$" - }, - "6": { - "#": "^(\\S+)% de Chances de Bloquer les Dégâts d'Attaque en maniant un bâton \\(implicit\\)$" - }, - "7": { - "#": "^(\\S+)% a la probabilidad de Bloquear Daño de Ataques mientras empuñas un Báculo \\(implicit\\)$" - }, - "8": { - "#": "^지팡이 장착 시 공격 피해를 막아낼 확률 (\\S+)%\\(지팡이\\) \\(implicit\\)$" - } - }, - "option": false - }, - "stat_74338099": { - "id": "number_of_additional_projectiles", + "stat_2891184298": { + "id": "cast_speed_+%_granted_from_skill", "negated": false, "text": { "1": { - "1": "^Skills fire an additional Projectile \\(implicit\\)$", - "2|#": "^Skills fire(\\S+) additional Projectiles \\(implicit\\)$" + "1|#": "^(\\S+)% increased Cast Speed \\(implicit\\)$", + "N#|-1": "^(\\S+)% reduced Cast Speed \\(implicit\\)$" }, "2": { - "1": "^Habilidades disparam um Projétil adicional \\(implicit\\)$", - "2|#": "^Habilidades disparam (\\S+) Projéteis adicionais \\(implicit\\)$" + "1|#": "^Velocidade de Conjuração aumentada em (\\S+)% \\(implicit\\)$", + "N#|-1": "^Velocidade de Conjuração reduzida em (\\S+)% \\(implicit\\)$" }, "3": { - "1": "^Умения выпускают дополнительный снаряд \\(implicit\\)$", - "2|#": "^Умения выпускают дополнительных снарядов: (\\S+) \\(implicit\\)$" + "1|#": "^(\\S+)% повышение скорости сотворения чар \\(implicit\\)$", + "N#|-1": "^(\\S+)% снижение скорости сотворения чар \\(implicit\\)$" }, "4": { - "#": "^สกิลยิงกระสุนเพิ่มขึ้น (\\S+) ลูก \\(implicit\\)$" + "1|#": "^เพิ่มความเร็วในการร่าย (\\S+)% \\(implicit\\)$", + "N#|-1": "^ลดความเร็วในการร่าย (\\S+)% \\(implicit\\)$" }, "5": { - "1": "^Fertigkeiten feuern ein zusätzliches Projektil \\(implicit\\)$", - "2|#": "^Fertigkeiten feuern (\\S+) zusätzliche Projektile \\(implicit\\)$" + "1|#": "^(\\S+)% erhöhte Zaubergeschwindigkeit \\(implicit\\)$", + "N#|-1": "^(\\S+)% verringerte Zaubergeschwindigkeit \\(implicit\\)$" }, "6": { - "1": "^Les Aptitudes tirent un Projectile supplémentaire \\(implicit\\)$", - "2|#": "^Les Aptitudes tirent (\\S+) Projectiles supplémentaires \\(implicit\\)$" + "1|#": "^(\\S+)% d'Augmentation de la Vitesse d'incantation \\(implicit\\)$", + "N#|-1": "^(\\S+)% de Réduction de la Vitesse d'incantation \\(implicit\\)$" }, "7": { - "1": "^Las Habilidades disparan un Proyectil adicional \\(implicit\\)$", - "2|#": "^Las Habilidades diasparan (\\S+) Proyectiles adicionales \\(implicit\\)$" + "1|#": "^Velocidad de Lanzamiento de Hechizos aumentada un (\\S+)% \\(implicit\\)$", + "N#|-1": "^Velocidad de Lanzamiento de Hechizos reducida un (\\S+)% \\(implicit\\)$" }, "8": { - "1": "^스킬이 투사체 1개 추가 발사 \\(implicit\\)$", - "2|#": "^스킬이 투사체 (\\S+)개 추가 발사 \\(implicit\\)$" + "1|#": "^시전 속도 (\\S+)% 증가 \\(implicit\\)$", + "N#|-1": "^시전 속도 (\\S+)% 감소 \\(implicit\\)$" } }, "option": false @@ -101107,84 +100840,6 @@ }, "option": false }, - "stat_2527686725": { - "id": "shock_effect_+%", - "negated": false, - "text": { - "1": { - "1|#": "^(\\S+)% increased Effect of Shock \\(implicit\\)$", - "N#|-1": "^(\\S+)% reduced Effect of Shock \\(implicit\\)$" - }, - "2": { - "1|#": "^Efeito de Eletrização aumentado em (\\S+)% \\(implicit\\)$", - "N#|-1": "^Efeito de Eletrização reduzido em (\\S+)% \\(implicit\\)$" - }, - "3": { - "1|#": "^(\\S+)% усиление эффекта шока \\(implicit\\)$", - "N#|-1": "^(\\S+)% ослабление эффекта шока \\(implicit\\)$" - }, - "4": { - "1|#": "^เพิ่มเอฟเฟคไฟช็อต (\\S+)% \\(implicit\\)$", - "N#|-1": "^ลดเอฟเฟคไฟช็อต (\\S+)% \\(implicit\\)$" - }, - "5": { - "1|#": "^(\\S+)% erhöhte Schockwirkung \\(implicit\\)$", - "N#|-1": "^(\\S+)% verringerte Schockwirkung \\(implicit\\)$" - }, - "6": { - "1|#": "^(\\S+)% d'Augmentation de l'Effet de l'Électrocution \\(implicit\\)$", - "N#|-1": "^(\\S+)% de Réduction de l'Effet de l'Électrocution \\(implicit\\)$" - }, - "7": { - "1|#": "^Efecto de Electrocución aumentado un (\\S+)% \\(implicit\\)$", - "N#|-1": "^Efecto de Electrocución reducido un (\\S+)% \\(implicit\\)$" - }, - "8": { - "1|#": "^감전 효과 (\\S+)% 증가 \\(implicit\\)$", - "N#|-1": "^감전 효과 (\\S+)% 감소 \\(implicit\\)$" - } - }, - "option": false - }, - "stat_2891184298": { - "id": "cast_speed_+%_granted_from_skill", - "negated": false, - "text": { - "1": { - "1|#": "^(\\S+)% increased Cast Speed \\(implicit\\)$", - "N#|-1": "^(\\S+)% reduced Cast Speed \\(implicit\\)$" - }, - "2": { - "1|#": "^Velocidade de Conjuração aumentada em (\\S+)% \\(implicit\\)$", - "N#|-1": "^Velocidade de Conjuração reduzida em (\\S+)% \\(implicit\\)$" - }, - "3": { - "1|#": "^(\\S+)% повышение скорости сотворения чар \\(implicit\\)$", - "N#|-1": "^(\\S+)% снижение скорости сотворения чар \\(implicit\\)$" - }, - "4": { - "1|#": "^เพิ่มความเร็วในการร่าย (\\S+)% \\(implicit\\)$", - "N#|-1": "^ลดความเร็วในการร่าย (\\S+)% \\(implicit\\)$" - }, - "5": { - "1|#": "^(\\S+)% erhöhte Zaubergeschwindigkeit \\(implicit\\)$", - "N#|-1": "^(\\S+)% verringerte Zaubergeschwindigkeit \\(implicit\\)$" - }, - "6": { - "1|#": "^(\\S+)% d'Augmentation de la Vitesse d'incantation \\(implicit\\)$", - "N#|-1": "^(\\S+)% de Réduction de la Vitesse d'incantation \\(implicit\\)$" - }, - "7": { - "1|#": "^Velocidad de Lanzamiento de Hechizos aumentada un (\\S+)% \\(implicit\\)$", - "N#|-1": "^Velocidad de Lanzamiento de Hechizos reducida un (\\S+)% \\(implicit\\)$" - }, - "8": { - "1|#": "^시전 속도 (\\S+)% 증가 \\(implicit\\)$", - "N#|-1": "^시전 속도 (\\S+)% 감소 \\(implicit\\)$" - } - }, - "option": false - }, "stat_1826802197": { "id": "add_frenzy_charge_on_kill_%_chance", "negated": false, @@ -101993,6 +101648,45 @@ }, "option": false }, + "stat_2527686725": { + "id": "shock_effect_+%", + "negated": false, + "text": { + "1": { + "1|#": "^(\\S+)% increased Effect of Shock \\(implicit\\)$", + "N#|-1": "^(\\S+)% reduced Effect of Shock \\(implicit\\)$" + }, + "2": { + "1|#": "^Efeito de Eletrização aumentado em (\\S+)% \\(implicit\\)$", + "N#|-1": "^Efeito de Eletrização reduzido em (\\S+)% \\(implicit\\)$" + }, + "3": { + "1|#": "^(\\S+)% усиление эффекта шока \\(implicit\\)$", + "N#|-1": "^(\\S+)% ослабление эффекта шока \\(implicit\\)$" + }, + "4": { + "1|#": "^เพิ่มเอฟเฟคไฟช็อต (\\S+)% \\(implicit\\)$", + "N#|-1": "^ลดเอฟเฟคไฟช็อต (\\S+)% \\(implicit\\)$" + }, + "5": { + "1|#": "^(\\S+)% erhöhte Schockwirkung \\(implicit\\)$", + "N#|-1": "^(\\S+)% verringerte Schockwirkung \\(implicit\\)$" + }, + "6": { + "1|#": "^(\\S+)% d'Augmentation de l'Effet de l'Électrocution \\(implicit\\)$", + "N#|-1": "^(\\S+)% de Réduction de l'Effet de l'Électrocution \\(implicit\\)$" + }, + "7": { + "1|#": "^Efecto de Electrocución aumentado un (\\S+)% \\(implicit\\)$", + "N#|-1": "^Efecto de Electrocución reducido un (\\S+)% \\(implicit\\)$" + }, + "8": { + "1|#": "^감전 효과 (\\S+)% 증가 \\(implicit\\)$", + "N#|-1": "^감전 효과 (\\S+)% 감소 \\(implicit\\)$" + } + }, + "option": false + }, "stat_30642521": { "id": "virtual_number_of_additional_curses_allowed", "negated": false, @@ -102095,6 +101789,38 @@ }, "option": false }, + "stat_1001829678": { + "id": "staff_block_%", + "mod": "staves", + "negated": false, + "text": { + "1": { + "#": "^(\\S+)% Chance to Block Attack Damage while wielding a Staff \\(implicit\\)$" + }, + "2": { + "#": "^(\\S+)% de Chance de Bloquear o Dano de Ataques enquanto portando um Cajado \\(implicit\\)$" + }, + "3": { + "#": "^(\\S+)% шанс блокировать урон от атак с посохом в руках \\(implicit\\)$" + }, + "4": { + "#": "^โอกาสบล็อค การโจมตี (\\S+)% ขณะถือ ไม้พลอง \\(implicit\\)$" + }, + "5": { + "#": "^(\\S+)% Chance, Angriffsschaden zu blocken beim Tragen eines Stabs \\(implicit\\)$" + }, + "6": { + "#": "^(\\S+)% de Chances de Bloquer les Dégâts d'Attaque en maniant un bâton \\(implicit\\)$" + }, + "7": { + "#": "^(\\S+)% a la probabilidad de Bloquear Daño de Ataques mientras empuñas un Báculo \\(implicit\\)$" + }, + "8": { + "#": "^지팡이 장착 시 공격 피해를 막아낼 확률 (\\S+)%\\(지팡이\\) \\(implicit\\)$" + } + }, + "option": false + }, "stat_561307714": { "id": "additional_spell_block_%", "negated": false, @@ -102484,6 +102210,123 @@ }, "option": false }, + "stat_734614379": { + "id": "strength_+%", + "negated": false, + "text": { + "1": { + "1|#": "^(\\S+)% increased Strength \\(implicit\\)$", + "N#|-1": "^(\\S+)% reduced Strength \\(implicit\\)$" + }, + "2": { + "1|#": "^Força aumentada em (\\S+)% \\(implicit\\)$", + "N#|-1": "^Força reduzida em (\\S+)% \\(implicit\\)$" + }, + "3": { + "1|#": "^(\\S+)% повышение силы \\(implicit\\)$", + "N#|-1": "^(\\S+)% снижение силы \\(implicit\\)$" + }, + "4": { + "1|#": "^เพิ่ม Strength ขึ้น (\\S+)% \\(implicit\\)$", + "N#|-1": "^ลด Strength ลง (\\S+)% \\(implicit\\)$" + }, + "5": { + "1|#": "^(\\S+)% erhöhte Stärke \\(implicit\\)$", + "N#|-1": "^(\\S+)% verringerte Stärke \\(implicit\\)$" + }, + "6": { + "1|#": "^(\\S+)% d'Augmentation de la Force \\(implicit\\)$", + "N#|-1": "^(\\S+)% de Réduction de la Force \\(implicit\\)$" + }, + "7": { + "1|#": "^Fuerza aumentada un (\\S+)% \\(implicit\\)$", + "N#|-1": "^Fuerza reducida un (\\S+)% \\(implicit\\)$" + }, + "8": { + "1|#": "^힘 (\\S+)% 증가 \\(implicit\\)$", + "N#|-1": "^힘 (\\S+)% 감소 \\(implicit\\)$" + } + }, + "option": false + }, + "stat_4139681126": { + "id": "dexterity_+%", + "negated": false, + "text": { + "1": { + "1|#": "^(\\S+)% increased Dexterity \\(implicit\\)$", + "N#|-1": "^(\\S+)% reduced Dexterity \\(implicit\\)$" + }, + "2": { + "1|#": "^Destreza aumentada em (\\S+)% \\(implicit\\)$", + "N#|-1": "^Destreza reduzida em (\\S+)% \\(implicit\\)$" + }, + "3": { + "1|#": "^(\\S+)% повышение ловкости \\(implicit\\)$", + "N#|-1": "^(\\S+)% снижение ловкости \\(implicit\\)$" + }, + "4": { + "1|#": "^เพิ่ม Dexterity ขึ้น (\\S+)% \\(implicit\\)$", + "N#|-1": "^ลด Dexterity ลง (\\S+)% \\(implicit\\)$" + }, + "5": { + "1|#": "^(\\S+)% erhöhtes Geschick \\(implicit\\)$", + "N#|-1": "^(\\S+)% verringertes Geschick \\(implicit\\)$" + }, + "6": { + "1|#": "^(\\S+)% d'Augmentation de la Dextérité \\(implicit\\)$", + "N#|-1": "^(\\S+)% de Réduction de la Dextérité \\(implicit\\)$" + }, + "7": { + "1|#": "^Destreza aumentada un (\\S+)% \\(implicit\\)$", + "N#|-1": "^Destreza reducida un (\\S+)% \\(implicit\\)$" + }, + "8": { + "1|#": "^민첩 (\\S+)% 증가 \\(implicit\\)$", + "N#|-1": "^민첩 (\\S+)% 감소 \\(implicit\\)$" + } + }, + "option": false + }, + "stat_656461285": { + "id": "intelligence_+%", + "negated": false, + "text": { + "1": { + "1|#": "^(\\S+)% increased Intelligence \\(implicit\\)$", + "N#|-1": "^(\\S+)% reduced Intelligence \\(implicit\\)$" + }, + "2": { + "1|#": "^Inteligência aumentada em (\\S+)% \\(implicit\\)$", + "N#|-1": "^Inteligência reduzida em (\\S+)% \\(implicit\\)$" + }, + "3": { + "1|#": "^(\\S+)% повышение интеллекта \\(implicit\\)$", + "N#|-1": "^(\\S+)% снижение интеллекта \\(implicit\\)$" + }, + "4": { + "1|#": "^เพิ่ม Intelligence ขึ้น (\\S+)% \\(implicit\\)$", + "N#|-1": "^ลด Intelligence ลง (\\S+)% \\(implicit\\)$" + }, + "5": { + "1|#": "^(\\S+)% erhöhte Intelligenz \\(implicit\\)$", + "N#|-1": "^(\\S+)% verringerte Intelligenz \\(implicit\\)$" + }, + "6": { + "1|#": "^(\\S+)% d'Augmentation de l'Intelligence \\(implicit\\)$", + "N#|-1": "^(\\S+)% de Réduction de l'Intelligence \\(implicit\\)$" + }, + "7": { + "1|#": "^Inteligencia aumentada un (\\S+)% \\(implicit\\)$", + "N#|-1": "^Inteligencia reducida un (\\S+)% \\(implicit\\)$" + }, + "8": { + "1|#": "^지능 (\\S+)% 증가 \\(implicit\\)$", + "N#|-1": "^지능 (\\S+)% 감소 \\(implicit\\)$" + } + }, + "option": false + }, "stat_3496944181": { "id": "spell_staff_damage_+%", "negated": false, @@ -104219,7 +104062,7 @@ "option": false }, "stat_587431675": { - "id": "critical_strike_chance_+%", + "id": "global_critical_strike_chance_+%", "negated": false, "text": { "1": { @@ -104257,6 +104100,37 @@ }, "option": false }, + "stat_3556824919": { + "id": "global_critical_strike_multiplier_+", + "negated": false, + "text": { + "1": { + "#": "^(\\S+)% to Global Critical Strike Multiplier \\(implicit\\)$" + }, + "2": { + "#": "^(\\S+)% ao Multiplicador Global de Crítico \\(implicit\\)$" + }, + "3": { + "#": "^(\\S+)% к глобальному множителю критического удара \\(implicit\\)$" + }, + "4": { + "#": "^ตัวคูณคริติคอล ทุกอย่าง (\\S+)% \\(implicit\\)$" + }, + "5": { + "#": "^(\\S+)% zu globalem Multiplikator für kritische Treffer \\(implicit\\)$" + }, + "6": { + "#": "^(\\S+)% au Multiplicateur de coup critique Global \\(implicit\\)$" + }, + "7": { + "#": "^(\\S+)% al Multiplicador Global de Golpe Crítico \\(implicit\\)$" + }, + "8": { + "#": "^일반 치명타 피해 배율 (\\S+)% \\(implicit\\)$" + } + }, + "option": false + }, "stat_3998601568": { "id": "critical_strike_multiplier_with_dagger_+", "negated": false, @@ -105014,6 +104888,37 @@ }, "option": false }, + "stat_3188455409": { + "id": "mana_regeneration_rate_per_minute_%", + "negated": false, + "text": { + "1": { + "1|#": "^Regenerate (\\S+)% of Mana per second \\(implicit\\)$" + }, + "2": { + "1|#": "^(\\S+)% de Mana Regenerada por segundo \\(implicit\\)$" + }, + "3": { + "1|#": "^Регенерация (\\S+)% маны в секунду \\(implicit\\)$" + }, + "4": { + "1|#": "^ฟื้นฟูมานา (\\S+)% ต่อวินาที \\(implicit\\)$" + }, + "5": { + "1|#": "^(\\S+)% des Manas regeneriert pro Sekunde \\(implicit\\)$" + }, + "6": { + "1|#": "^(\\S+)% du Mana est Régénéré par seconde \\(implicit\\)$" + }, + "7": { + "1|#": "^(\\S+)% de Maná Regenerado por segundo \\(implicit\\)$" + }, + "8": { + "1|#": "^초당 마나의 (\\S+)% 재생 \\(implicit\\)$" + } + }, + "option": false + }, "stat_789117908": { "id": "mana_regeneration_rate_+%", "negated": false, @@ -105672,6 +105577,137 @@ }, "option": false }, + "stat_74338099": { + "id": "number_of_additional_projectiles", + "negated": false, + "text": { + "1": { + "1": "^Skills fire an additional Projectile \\(implicit\\)$", + "2|#": "^Skills fire (\\S+) additional Projectiles \\(implicit\\)$" + }, + "2": { + "1": "^Habilidades disparam um Projétil adicional \\(implicit\\)$", + "2|#": "^Habilidades disparam (\\S+) Projéteis adicionais \\(implicit\\)$" + }, + "3": { + "1": "^Умения выпускают дополнительный снаряд \\(implicit\\)$", + "2|#": "^Умения выпускают дополнительных снарядов: (\\S+) \\(implicit\\)$" + }, + "4": { + "#": "^สกิลยิงกระสุนเพิ่มขึ้น (\\S+) ลูก \\(implicit\\)$" + }, + "5": { + "1": "^Fertigkeiten feuern ein zusätzliches Projektil \\(implicit\\)$", + "2|#": "^Fertigkeiten feuern (\\S+) zusätzliche Projektile \\(implicit\\)$" + }, + "6": { + "1": "^Les Aptitudes tirent un Projectile supplémentaire \\(implicit\\)$", + "2|#": "^Les Aptitudes tirent (\\S+) Projectiles supplémentaires \\(implicit\\)$" + }, + "7": { + "1": "^Las Habilidades disparan un Proyectil adicional \\(implicit\\)$", + "2|#": "^Las Habilidades disparan (\\S+) Proyectiles adicionales \\(implicit\\)$" + }, + "8": { + "1": "^스킬이 투사체 1개 추가 발사 \\(implicit\\)$", + "2|#": "^스킬이 투사체 (\\S+)개 추가 발사 \\(implicit\\)$" + } + }, + "option": false + }, + "stat_1515657623": { + "id": "max_endurance_charges", + "negated": false, + "text": { + "1": { + "#": "^(\\S+) to Maximum Endurance Charges \\(implicit\\)$" + }, + "2": { + "#": "^(\\S+) ao Máximo de Cargas de Tolerância \\(implicit\\)$" + }, + "3": { + "#": "^(\\S+) к максимуму зарядов выносливости \\(implicit\\)$" + }, + "4": { + "#": "^จำนวน Endurance Charges สูงสุด (\\S+) \\(implicit\\)$" + }, + "5": { + "#": "^(\\S+) zu maximaler Anzahl an Widerstands-Ladungen \\(implicit\\)$" + }, + "6": { + "#": "^(\\S+) au nombre maximal de Charges d'endurance \\(implicit\\)$" + }, + "7": { + "#": "^(\\S+) al Máximo de Cargas de Aguante \\(implicit\\)$" + }, + "8": { + "#": "^인내 충전 최대치 (\\S+) \\(implicit\\)$" + } + }, + "option": false + }, + "stat_4078695": { + "id": "max_frenzy_charges", + "negated": false, + "text": { + "1": { + "#": "^(\\S+) to Maximum Frenzy Charges \\(implicit\\)$" + }, + "2": { + "#": "^(\\S+) ao Máximo de Cargas de Frenesi \\(implicit\\)$" + }, + "3": { + "#": "^(\\S+) к максимуму зарядов ярости \\(implicit\\)$" + }, + "4": { + "#": "^จำนวน Frenzy Charges สูงสุด (\\S+) \\(implicit\\)$" + }, + "5": { + "#": "^(\\S+) zu maximaler Anzahl an Raserei-Ladungen \\(implicit\\)$" + }, + "6": { + "#": "^(\\S+) au nombre maximal de Charges de frénésie \\(implicit\\)$" + }, + "7": { + "#": "^(\\S+) al Máximo de Cargas de Frenesí \\(implicit\\)$" + }, + "8": { + "#": "^격분 충전 최대치 (\\S+) \\(implicit\\)$" + } + }, + "option": false + }, + "stat_227523295": { + "id": "max_power_charges", + "negated": false, + "text": { + "1": { + "#": "^(\\S+) to Maximum Power Charges \\(implicit\\)$" + }, + "2": { + "#": "^(\\S+) ao Máximo de Cargas de Poder \\(implicit\\)$" + }, + "3": { + "#": "^(\\S+) к максимуму зарядов энергии \\(implicit\\)$" + }, + "4": { + "#": "^จำนวน Power Charges สูงสุด (\\S+) \\(implicit\\)$" + }, + "5": { + "#": "^(\\S+) zu maximaler Anzahl an Energie-Ladungen \\(implicit\\)$" + }, + "6": { + "#": "^(\\S+) au nombre maximal de Charges de pouvoir \\(implicit\\)$" + }, + "7": { + "#": "^(\\S+) al Máximo de Cargas de Poder \\(implicit\\)$" + }, + "8": { + "#": "^권능 충전 최대치 (\\S+) \\(implicit\\)$" + } + }, + "option": false + }, "stat_1514829491": { "id": "avoid_freeze_%", "negated": false, @@ -117418,37 +117454,6 @@ }, "option": false }, - "stat_3556824919": { - "id": "base_critical_strike_multiplier_+", - "negated": false, - "text": { - "1": { - "#": "^(\\S+)% to Global Critical Strike Multiplier \\(implicit\\)$" - }, - "2": { - "#": "^(\\S+)% ao Multiplicador Global de Crítico \\(implicit\\)$" - }, - "3": { - "#": "^(\\S+)% к глобальному множителю критического удара \\(implicit\\)$" - }, - "4": { - "#": "^ตัวคูณคริติคอล ทุกอย่าง (\\S+)% \\(implicit\\)$" - }, - "5": { - "#": "^(\\S+)% zu globalem Multiplikator für kritische Treffer \\(implicit\\)$" - }, - "6": { - "#": "^(\\S+)% au Multiplicateur de coup critique Global \\(implicit\\)$" - }, - "7": { - "#": "^(\\S+)% al Multiplicador Global de Golpe Crítico \\(implicit\\)$" - }, - "8": { - "#": "^일반 치명타 피해 배율 (\\S+)% \\(implicit\\)$" - } - }, - "option": false - }, "stat_3855016469": { "id": "base_self_critical_strike_multiplier_-%", "negated": false, @@ -121268,8 +121273,11 @@ "N#|-1": "^(\\S+)% de Réduction des Dégâts physiques \\(crafted\\)$" }, "7": { - "1|#": "^Daño Físico aumentado un (\\S+)% \\(crafted\\)$", - "N#|-1": "^Daño Físico reducido un (\\S+)% \\(crafted\\)$" + "# 1|#": "^Sin Daño Físico \\(crafted\\)$", + "# #|-1": "^Sin Daño Físico \\(crafted\\)$", + "#|-100 #": "^Sin Daño Físico \\(crafted\\)$", + "1|# 0": "^Daño Físico aumentado un (\\S+)% \\(crafted\\)$", + "N-99|-1 0": "^Daño Físico reducido un (\\S+)% \\(crafted\\)$" }, "8": { "1|#": "^물리 피해 (\\S+)% 증가 \\(crafted\\)$", @@ -123108,7 +123116,7 @@ "option": false }, "stat_587431675": { - "id": "critical_strike_chance_+%", + "id": "global_critical_strike_chance_+%", "negated": false, "text": { "1": { @@ -123146,6 +123154,37 @@ }, "option": false }, + "stat_3556824919": { + "id": "global_critical_strike_multiplier_+", + "negated": false, + "text": { + "1": { + "#": "^(\\S+)% to Global Critical Strike Multiplier \\(crafted\\)$" + }, + "2": { + "#": "^(\\S+)% ao Multiplicador Global de Crítico \\(crafted\\)$" + }, + "3": { + "#": "^(\\S+)% к глобальному множителю критического удара \\(crafted\\)$" + }, + "4": { + "#": "^ตัวคูณคริติคอล ทุกอย่าง (\\S+)% \\(crafted\\)$" + }, + "5": { + "#": "^(\\S+)% zu globalem Multiplikator für kritische Treffer \\(crafted\\)$" + }, + "6": { + "#": "^(\\S+)% au Multiplicateur de coup critique Global \\(crafted\\)$" + }, + "7": { + "#": "^(\\S+)% al Multiplicador Global de Golpe Crítico \\(crafted\\)$" + }, + "8": { + "#": "^일반 치명타 피해 배율 (\\S+)% \\(crafted\\)$" + } + }, + "option": false + }, "stat_2362265695": { "id": "avoid_knockback_%", "negated": false, @@ -127919,37 +127958,6 @@ }, "option": false }, - "stat_3556824919": { - "id": "base_critical_strike_multiplier_+", - "negated": false, - "text": { - "1": { - "#": "^(\\S+)% to Global Critical Strike Multiplier \\(crafted\\)$" - }, - "2": { - "#": "^(\\S+)% ao Multiplicador Global de Crítico \\(crafted\\)$" - }, - "3": { - "#": "^(\\S+)% к глобальному множителю критического удара \\(crafted\\)$" - }, - "4": { - "#": "^ตัวคูณคริติคอล ทุกอย่าง (\\S+)% \\(crafted\\)$" - }, - "5": { - "#": "^(\\S+)% zu globalem Multiplikator für kritische Treffer \\(crafted\\)$" - }, - "6": { - "#": "^(\\S+)% au Multiplicateur de coup critique Global \\(crafted\\)$" - }, - "7": { - "#": "^(\\S+)% al Multiplicador Global de Golpe Crítico \\(crafted\\)$" - }, - "8": { - "#": "^일반 치명타 피해 배율 (\\S+)% \\(crafted\\)$" - } - }, - "option": false - }, "stat_809229260": { "id": "base_physical_damage_reduction_rating", "negated": false, @@ -129625,8 +129633,11 @@ "N#|-1": "^(\\S+)% de Réduction des Dégâts physiques \\(fractured\\)$" }, "7": { - "1|#": "^Daño Físico aumentado un (\\S+)% \\(fractured\\)$", - "N#|-1": "^Daño Físico reducido un (\\S+)% \\(fractured\\)$" + "# 1|#": "^Sin Daño Físico \\(fractured\\)$", + "# #|-1": "^Sin Daño Físico \\(fractured\\)$", + "#|-100 #": "^Sin Daño Físico \\(fractured\\)$", + "1|# 0": "^Daño Físico aumentado un (\\S+)% \\(fractured\\)$", + "N-99|-1 0": "^Daño Físico reducido un (\\S+)% \\(fractured\\)$" }, "8": { "1|#": "^물리 피해 (\\S+)% 증가 \\(fractured\\)$", @@ -129954,64 +129965,41 @@ }, "option": false }, - "stat_1778298516": { - "id": "staff_block_%", - "negated": false, - "text": { - "1": { - "#": "^(\\S+)% Chance to Block Attack Damage while wielding a Staff \\(fractured\\)$" - }, - "2": { - "#": "^(\\S+)% de Chance de Bloquear o Dano de Ataques enquanto portando um Cajado \\(fractured\\)$" - }, - "3": { - "#": "^(\\S+)% шанс блокировать урон от атак с посохом в руках \\(fractured\\)$" - }, - "4": { - "#": "^โอกาสบล็อค การโจมตี (\\S+)% ขณะถือ ไม้พลอง \\(fractured\\)$" - }, - "5": { - "#": "^(\\S+)% Chance, Angriffsschaden zu blocken beim Tragen eines Stabs \\(fractured\\)$" - }, - "6": { - "#": "^(\\S+)% de Chances de Bloquer les Dégâts d'Attaque en maniant un bâton \\(fractured\\)$" - }, - "7": { - "#": "^(\\S+)% a la probabilidad de Bloquear Daño de Ataques mientras empuñas un Báculo \\(fractured\\)$" - }, - "8": { - "#": "^지팡이 장착 시 공격 피해를 막아낼 확률 (\\S+)% \\(fractured\\)$" - } - }, - "option": false - }, - "stat_4061558269": { - "id": "shield_block_%", + "stat_2891184298": { + "id": "cast_speed_+%_granted_from_skill", "negated": false, "text": { "1": { - "#": "^(\\S+)% Chance to Block Attack Damage while holding a Shield \\(fractured\\)$" + "1|#": "^(\\S+)% increased Cast Speed \\(fractured\\)$", + "N#|-1": "^(\\S+)% reduced Cast Speed \\(fractured\\)$" }, "2": { - "#": "^(\\S+)% de Chance de Bloquear o Dano de Ataques enquanto portando um Escudo \\(fractured\\)$" + "1|#": "^Velocidade de Conjuração aumentada em (\\S+)% \\(fractured\\)$", + "N#|-1": "^Velocidade de Conjuração reduzida em (\\S+)% \\(fractured\\)$" }, "3": { - "#": "^(\\S+)% шанс заблокировать урона от атак со щитом в руках \\(fractured\\)$" + "1|#": "^(\\S+)% повышение скорости сотворения чар \\(fractured\\)$", + "N#|-1": "^(\\S+)% снижение скорости сотворения чар \\(fractured\\)$" }, "4": { - "#": "^โอกาสบล็อค การโจมตี (\\S+)% ขณะถือ โล่ \\(fractured\\)$" + "1|#": "^เพิ่มความเร็วในการร่าย (\\S+)% \\(fractured\\)$", + "N#|-1": "^ลดความเร็วในการร่าย (\\S+)% \\(fractured\\)$" }, "5": { - "#": "^(\\S+)% Chance, Angriffsschaden zu blocken beim Tragen eines Schilds \\(fractured\\)$" + "1|#": "^(\\S+)% erhöhte Zaubergeschwindigkeit \\(fractured\\)$", + "N#|-1": "^(\\S+)% verringerte Zaubergeschwindigkeit \\(fractured\\)$" }, "6": { - "#": "^(\\S+)% de Chances de Bloquer les Dégâts d'Attaque en tenant un bouclier \\(fractured\\)$" + "1|#": "^(\\S+)% d'Augmentation de la Vitesse d'incantation \\(fractured\\)$", + "N#|-1": "^(\\S+)% de Réduction de la Vitesse d'incantation \\(fractured\\)$" }, "7": { - "#": "^(\\S+)% de probabilidad de Bloquear Daño de Ataques mientras portas un Escudo \\(fractured\\)$" + "1|#": "^Velocidad de Lanzamiento de Hechizos aumentada un (\\S+)% \\(fractured\\)$", + "N#|-1": "^Velocidad de Lanzamiento de Hechizos reducida un (\\S+)% \\(fractured\\)$" }, "8": { - "#": "^방패를 들고 있는 동안 공격 피해를 막아낼 확률 (\\S+)% \\(fractured\\)$" + "1|#": "^시전 속도 (\\S+)% 증가 \\(fractured\\)$", + "N#|-1": "^시전 속도 (\\S+)% 감소 \\(fractured\\)$" } }, "option": false @@ -130055,84 +130043,6 @@ }, "option": false }, - "stat_2527686725": { - "id": "shock_effect_+%", - "negated": false, - "text": { - "1": { - "1|#": "^(\\S+)% increased Effect of Shock \\(fractured\\)$", - "N#|-1": "^(\\S+)% reduced Effect of Shock \\(fractured\\)$" - }, - "2": { - "1|#": "^Efeito de Eletrização aumentado em (\\S+)% \\(fractured\\)$", - "N#|-1": "^Efeito de Eletrização reduzido em (\\S+)% \\(fractured\\)$" - }, - "3": { - "1|#": "^(\\S+)% усиление эффекта шока \\(fractured\\)$", - "N#|-1": "^(\\S+)% ослабление эффекта шока \\(fractured\\)$" - }, - "4": { - "1|#": "^เพิ่มเอฟเฟคไฟช็อต (\\S+)% \\(fractured\\)$", - "N#|-1": "^ลดเอฟเฟคไฟช็อต (\\S+)% \\(fractured\\)$" - }, - "5": { - "1|#": "^(\\S+)% erhöhte Schockwirkung \\(fractured\\)$", - "N#|-1": "^(\\S+)% verringerte Schockwirkung \\(fractured\\)$" - }, - "6": { - "1|#": "^(\\S+)% d'Augmentation de l'Effet de l'Électrocution \\(fractured\\)$", - "N#|-1": "^(\\S+)% de Réduction de l'Effet de l'Électrocution \\(fractured\\)$" - }, - "7": { - "1|#": "^Efecto de Electrocución aumentado un (\\S+)% \\(fractured\\)$", - "N#|-1": "^Efecto de Electrocución reducido un (\\S+)% \\(fractured\\)$" - }, - "8": { - "1|#": "^감전 효과 (\\S+)% 증가 \\(fractured\\)$", - "N#|-1": "^감전 효과 (\\S+)% 감소 \\(fractured\\)$" - } - }, - "option": false - }, - "stat_2891184298": { - "id": "cast_speed_+%_granted_from_skill", - "negated": false, - "text": { - "1": { - "1|#": "^(\\S+)% increased Cast Speed \\(fractured\\)$", - "N#|-1": "^(\\S+)% reduced Cast Speed \\(fractured\\)$" - }, - "2": { - "1|#": "^Velocidade de Conjuração aumentada em (\\S+)% \\(fractured\\)$", - "N#|-1": "^Velocidade de Conjuração reduzida em (\\S+)% \\(fractured\\)$" - }, - "3": { - "1|#": "^(\\S+)% повышение скорости сотворения чар \\(fractured\\)$", - "N#|-1": "^(\\S+)% снижение скорости сотворения чар \\(fractured\\)$" - }, - "4": { - "1|#": "^เพิ่มความเร็วในการร่าย (\\S+)% \\(fractured\\)$", - "N#|-1": "^ลดความเร็วในการร่าย (\\S+)% \\(fractured\\)$" - }, - "5": { - "1|#": "^(\\S+)% erhöhte Zaubergeschwindigkeit \\(fractured\\)$", - "N#|-1": "^(\\S+)% verringerte Zaubergeschwindigkeit \\(fractured\\)$" - }, - "6": { - "1|#": "^(\\S+)% d'Augmentation de la Vitesse d'incantation \\(fractured\\)$", - "N#|-1": "^(\\S+)% de Réduction de la Vitesse d'incantation \\(fractured\\)$" - }, - "7": { - "1|#": "^Velocidad de Lanzamiento de Hechizos aumentada un (\\S+)% \\(fractured\\)$", - "N#|-1": "^Velocidad de Lanzamiento de Hechizos reducida un (\\S+)% \\(fractured\\)$" - }, - "8": { - "1|#": "^시전 속도 (\\S+)% 증가 \\(fractured\\)$", - "N#|-1": "^시전 속도 (\\S+)% 감소 \\(fractured\\)$" - } - }, - "option": false - }, "stat_1589917703": { "id": "minion_damage_+%", "negated": false, @@ -130211,6 +130121,37 @@ }, "option": false }, + "stat_4061558269": { + "id": "shield_block_%", + "negated": false, + "text": { + "1": { + "#": "^(\\S+)% Chance to Block Attack Damage while holding a Shield \\(fractured\\)$" + }, + "2": { + "#": "^(\\S+)% de Chance de Bloquear o Dano de Ataques enquanto portando um Escudo \\(fractured\\)$" + }, + "3": { + "#": "^(\\S+)% шанс заблокировать урона от атак со щитом в руках \\(fractured\\)$" + }, + "4": { + "#": "^โอกาสบล็อค การโจมตี (\\S+)% ขณะถือ โล่ \\(fractured\\)$" + }, + "5": { + "#": "^(\\S+)% Chance, Angriffsschaden zu blocken beim Tragen eines Schilds \\(fractured\\)$" + }, + "6": { + "#": "^(\\S+)% de Chances de Bloquer les Dégâts d'Attaque en tenant un bouclier \\(fractured\\)$" + }, + "7": { + "#": "^(\\S+)% de probabilidad de Bloquear Daño de Ataques mientras portas un Escudo \\(fractured\\)$" + }, + "8": { + "#": "^방패를 들고 있는 동안 공격 피해를 막아낼 확률 (\\S+)% \\(fractured\\)$" + } + }, + "option": false + }, "stat_938645499": { "id": "shield_spell_block_%", "negated": false, @@ -130553,6 +130494,45 @@ }, "option": false }, + "stat_2527686725": { + "id": "shock_effect_+%", + "negated": false, + "text": { + "1": { + "1|#": "^(\\S+)% increased Effect of Shock \\(fractured\\)$", + "N#|-1": "^(\\S+)% reduced Effect of Shock \\(fractured\\)$" + }, + "2": { + "1|#": "^Efeito de Eletrização aumentado em (\\S+)% \\(fractured\\)$", + "N#|-1": "^Efeito de Eletrização reduzido em (\\S+)% \\(fractured\\)$" + }, + "3": { + "1|#": "^(\\S+)% усиление эффекта шока \\(fractured\\)$", + "N#|-1": "^(\\S+)% ослабление эффекта шока \\(fractured\\)$" + }, + "4": { + "1|#": "^เพิ่มเอฟเฟคไฟช็อต (\\S+)% \\(fractured\\)$", + "N#|-1": "^ลดเอฟเฟคไฟช็อต (\\S+)% \\(fractured\\)$" + }, + "5": { + "1|#": "^(\\S+)% erhöhte Schockwirkung \\(fractured\\)$", + "N#|-1": "^(\\S+)% verringerte Schockwirkung \\(fractured\\)$" + }, + "6": { + "1|#": "^(\\S+)% d'Augmentation de l'Effet de l'Électrocution \\(fractured\\)$", + "N#|-1": "^(\\S+)% de Réduction de l'Effet de l'Électrocution \\(fractured\\)$" + }, + "7": { + "1|#": "^Efecto de Electrocución aumentado un (\\S+)% \\(fractured\\)$", + "N#|-1": "^Efecto de Electrocución reducido un (\\S+)% \\(fractured\\)$" + }, + "8": { + "1|#": "^감전 효과 (\\S+)% 증가 \\(fractured\\)$", + "N#|-1": "^감전 효과 (\\S+)% 감소 \\(fractured\\)$" + } + }, + "option": false + }, "stat_138741818": { "id": "spell_block_while_dual_wielding_%", "negated": false, @@ -130615,6 +130595,37 @@ }, "option": false }, + "stat_1778298516": { + "id": "staff_block_%", + "negated": false, + "text": { + "1": { + "#": "^(\\S+)% Chance to Block Attack Damage while wielding a Staff \\(fractured\\)$" + }, + "2": { + "#": "^(\\S+)% de Chance de Bloquear o Dano de Ataques enquanto portando um Cajado \\(fractured\\)$" + }, + "3": { + "#": "^(\\S+)% шанс блокировать урон от атак с посохом в руках \\(fractured\\)$" + }, + "4": { + "#": "^โอกาสบล็อค การโจมตี (\\S+)% ขณะถือ ไม้พลอง \\(fractured\\)$" + }, + "5": { + "#": "^(\\S+)% Chance, Angriffsschaden zu blocken beim Tragen eines Stabs \\(fractured\\)$" + }, + "6": { + "#": "^(\\S+)% de Chances de Bloquer les Dégâts d'Attaque en maniant un bâton \\(fractured\\)$" + }, + "7": { + "#": "^(\\S+)% a la probabilidad de Bloquear Daño de Ataques mientras empuñas un Báculo \\(fractured\\)$" + }, + "8": { + "#": "^지팡이 장착 시 공격 피해를 막아낼 확률 (\\S+)% \\(fractured\\)$" + } + }, + "option": false + }, "stat_561307714": { "id": "additional_spell_block_%", "negated": false, @@ -133074,7 +133085,7 @@ "option": false }, "stat_587431675": { - "id": "critical_strike_chance_+%", + "id": "global_critical_strike_chance_+%", "negated": false, "text": { "1": { @@ -133455,6 +133466,37 @@ }, "option": false }, + "stat_3556824919": { + "id": "global_critical_strike_multiplier_+", + "negated": false, + "text": { + "1": { + "#": "^(\\S+)% to Global Critical Strike Multiplier \\(fractured\\)$" + }, + "2": { + "#": "^(\\S+)% ao Multiplicador Global de Crítico \\(fractured\\)$" + }, + "3": { + "#": "^(\\S+)% к глобальному множителю критического удара \\(fractured\\)$" + }, + "4": { + "#": "^ตัวคูณคริติคอล ทุกอย่าง (\\S+)% \\(fractured\\)$" + }, + "5": { + "#": "^(\\S+)% zu globalem Multiplikator für kritische Treffer \\(fractured\\)$" + }, + "6": { + "#": "^(\\S+)% au Multiplicateur de coup critique Global \\(fractured\\)$" + }, + "7": { + "#": "^(\\S+)% al Multiplicador Global de Golpe Crítico \\(fractured\\)$" + }, + "8": { + "#": "^일반 치명타 피해 배율 (\\S+)% \\(fractured\\)$" + } + }, + "option": false + }, "stat_274716455": { "id": "spell_critical_strike_multiplier_+", "negated": false, @@ -139860,37 +139902,6 @@ }, "option": false }, - "stat_3556824919": { - "id": "base_critical_strike_multiplier_+", - "negated": false, - "text": { - "1": { - "#": "^(\\S+)% to Global Critical Strike Multiplier \\(fractured\\)$" - }, - "2": { - "#": "^(\\S+)% ao Multiplicador Global de Crítico \\(fractured\\)$" - }, - "3": { - "#": "^(\\S+)% к глобальному множителю критического удара \\(fractured\\)$" - }, - "4": { - "#": "^ตัวคูณคริติคอล ทุกอย่าง (\\S+)% \\(fractured\\)$" - }, - "5": { - "#": "^(\\S+)% zu globalem Multiplikator für kritische Treffer \\(fractured\\)$" - }, - "6": { - "#": "^(\\S+)% au Multiplicateur de coup critique Global \\(fractured\\)$" - }, - "7": { - "#": "^(\\S+)% al Multiplicador Global de Golpe Crítico \\(fractured\\)$" - }, - "8": { - "#": "^일반 치명타 피해 배율 (\\S+)% \\(fractured\\)$" - } - }, - "option": false - }, "stat_809229260": { "id": "base_physical_damage_reduction_rating", "negated": false, @@ -166434,7 +166445,7 @@ }, "option": false }, - "stat_1207515735": { + "stat_1669553893": { "id": "map_area_contains_x_additional_clusters_of_beacon_barrels", "negated": false, "text": { @@ -166465,7 +166476,7 @@ }, "option": false }, - "stat_1669553893": { + "stat_1207515735": { "id": "map_area_contains_x_additional_clusters_of_beacon_barrels", "negated": false, "text": { @@ -176095,6 +176106,35 @@ }, "option": false }, + "mod_48007": { + "text": { + "1": { + "#": "^of Aisling's Veil$" + }, + "2": { + "#": "^do Ocultamento de Aisling$" + }, + "3": { + "#": "^вуали Ашлинг$" + }, + "4": { + "#": "^of Aisling's Veil$" + }, + "5": { + "#": "^\\{von Aislings Verhüllung\\}\\{von Aislings Verhüllung\\}\\{von Aislings Verhüllung\\}\\{von Aislings Verhüllung\\}\\{von Aislings Verhüllung\\}\\{von Aislings Verhüllung\\}$" + }, + "6": { + "#": "^\\{du Cryptage d'Aisling\\}\\{du Cryptage d'Aisling\\}\\{du Cryptage d'Aisling\\}\\{du Cryptage d'Aisling\\}$" + }, + "7": { + "#": "^\\{de la Encriptación de Aisling\\}\\{de la Encriptación de Aisling\\}\\{de la Encriptación de Aisling\\}\\{de la Encriptación de Aisling\\}$" + }, + "8": { + "#": "^- 아이슬링의 장막$" + } + }, + "option": false + }, "mod_62955": { "text": { "1": { @@ -176182,89 +176222,118 @@ }, "option": false }, - "mod_48007": { + "mod_11536": { "text": { "1": { - "#": "^of Aisling's Veil$" + "#": "^of Janus' Veil$" }, "2": { - "#": "^do Ocultamento de Aisling$" + "#": "^do Ocultamento de Janus$" }, "3": { - "#": "^вуали Ашлинг$" + "#": "^вуали Януса$" }, "4": { - "#": "^of Aisling's Veil$" + "#": "^of Janus' Veil$" }, "5": { - "#": "^\\{von Aislings Verhüllung\\}\\{von Aislings Verhüllung\\}\\{von Aislings Verhüllung\\}\\{von Aislings Verhüllung\\}\\{von Aislings Verhüllung\\}\\{von Aislings Verhüllung\\}$" + "#": "^\\{von Janus' Verhüllung\\}\\{von Janus' Verhüllung\\}\\{von Janus' Verhüllung\\}\\{von Janus' Verhüllung\\}\\{von Janus' Verhüllung\\}\\{von Janus' Verhüllung\\}$" }, "6": { - "#": "^\\{du Cryptage d'Aisling\\}\\{du Cryptage d'Aisling\\}\\{du Cryptage d'Aisling\\}\\{du Cryptage d'Aisling\\}$" + "#": "^\\{du Cryptage de Janus\\}\\{du Cryptage de Janus\\}\\{du Cryptage de Janus\\}\\{du Cryptage de Janus\\}$" }, "7": { - "#": "^\\{de la Encriptación de Aisling\\}\\{de la Encriptación de Aisling\\}\\{de la Encriptación de Aisling\\}\\{de la Encriptación de Aisling\\}$" + "#": "^\\{de la Encriptación de Janus\\}\\{de la Encriptación de Janus\\}\\{de la Encriptación de Janus\\}\\{de la Encriptación de Janus\\}$" }, "8": { - "#": "^- 아이슬링의 장막$" + "#": "^- 야누스의 장막$" } }, "option": false }, - "mod_11536": { + "mod_44855": { "text": { "1": { - "#": "^of Janus' Veil$" + "#": "^Korell's Veiled$" }, "2": { - "#": "^do Ocultamento de Janus$" + "#": "^\\{Ocultado por Korell\\}\\{Ocultada por Korell\\}\\{Ocultados por Korell\\}\\{Ocultadas por Korell\\}$" }, "3": { - "#": "^вуали Януса$" + "#": "^\\{Завуалированный Кореллом\\}\\{Завуалированная Кореллом\\}\\{Завуалированное Кореллом\\}\\{Завуалированные Кореллом\\}\\{Завуалированные Кореллом\\}\\{Завуалированные Кореллом\\}$" }, "4": { - "#": "^of Janus' Veil$" + "#": "^Korell's Veiled$" }, "5": { - "#": "^\\{von Janus' Verhüllung\\}\\{von Janus' Verhüllung\\}\\{von Janus' Verhüllung\\}\\{von Janus' Verhüllung\\}\\{von Janus' Verhüllung\\}\\{von Janus' Verhüllung\\}$" + "#": "^\\{Korells verhüllter\\}\\{Korells verhüllte\\}\\{Korells verhülltes\\}\\{Korells verhüllte\\}\\{Korells verhüllte\\}\\{Korells verhüllte\\}$" }, "6": { - "#": "^\\{du Cryptage de Janus\\}\\{du Cryptage de Janus\\}\\{du Cryptage de Janus\\}\\{du Cryptage de Janus\\}$" + "#": "^\\{Crypté de Korell\\}\\{Cryptée de Korell\\}\\{Cryptés de Korell\\}\\{Cryptées de Korell\\}$" }, "7": { - "#": "^\\{de la Encriptación de Janus\\}\\{de la Encriptación de Janus\\}\\{de la Encriptación de Janus\\}\\{de la Encriptación de Janus\\}$" + "#": "^\\{Encriptado de Korell\\}\\{Encriptado de Korell\\}\\{Encriptados de Korell\\}\\{Encriptados de Korell\\}$" }, "8": { - "#": "^- 야누스의 장막$" + "#": "^코렐의 장막의$" } }, "option": false }, - "mod_44855": { + "mod_47933": { "text": { "1": { - "#": "^Korell's Veiled$" + "#": "^Vorici's Veiled$" }, "2": { - "#": "^\\{Ocultado por Korell\\}\\{Ocultada por Korell\\}\\{Ocultados por Korell\\}\\{Ocultadas por Korell\\}$" + "#": "^\\{Ocultado por Vorici\\}\\{Ocultada por Vorici\\}\\{Ocultados por Vorici\\}\\{Ocultadas por Vorici\\}$" }, "3": { - "#": "^\\{Завуалированный Кореллом\\}\\{Завуалированная Кореллом\\}\\{Завуалированное Кореллом\\}\\{Завуалированные Кореллом\\}\\{Завуалированные Кореллом\\}\\{Завуалированные Кореллом\\}$" + "#": "^\\{Завуалированный Воричи\\}\\{Завуалированная Воричи\\}\\{Завуалированное Воричи\\}\\{Завуалированные Воричи\\}\\{Завуалированные Воричи\\}\\{Завуалированные Воричи\\}$" }, "4": { - "#": "^Korell's Veiled$" + "#": "^Vorici's Veiled$" }, "5": { - "#": "^\\{Korells verhüllter\\}\\{Korells verhüllte\\}\\{Korells verhülltes\\}\\{Korells verhüllte\\}\\{Korells verhüllte\\}\\{Korells verhüllte\\}$" + "#": "^\\{Voricis verhüllter\\}\\{Voricis verhüllte\\}\\{Voricis verhülltes\\}\\{Voricis verhüllte\\}\\{Voricis verhüllte\\}\\{Voricis verhüllte\\}$" }, "6": { - "#": "^\\{Crypté de Korell\\}\\{Cryptée de Korell\\}\\{Cryptés de Korell\\}\\{Cryptées de Korell\\}$" + "#": "^\\{Crypté de Vorici\\}\\{Cryptée de Vorici\\}\\{Cryptés de Vorici\\}\\{Cryptées de Vorici\\}$" }, "7": { - "#": "^\\{Encriptado de Korell\\}\\{Encriptado de Korell\\}\\{Encriptados de Korell\\}\\{Encriptados de Korell\\}$" + "#": "^\\{Encriptado de Vorici\\}\\{Encriptado de Vorici\\}\\{Encriptados de Vorici\\}\\{Encriptados de Vorici\\}$" }, "8": { - "#": "^코렐의 장막의$" + "#": "^보리치의 장막의$" + } + }, + "option": false + }, + "mod_3975": { + "text": { + "1": { + "#": "^of Hillock's Veil$" + }, + "2": { + "#": "^do Ocultamento de Hillock$" + }, + "3": { + "#": "^вуали Хиллока$" + }, + "4": { + "#": "^of Hillock's Veil$" + }, + "5": { + "#": "^\\{von Hillocks Verhüllung\\}\\{von Hillocks Verhüllung\\}\\{von Hillocks Verhüllung\\}\\{von Hillocks Verhüllung\\}\\{von Hillocks Verhüllung\\}\\{von Hillocks Verhüllung\\}$" + }, + "6": { + "#": "^\\{du Cryptage d'Hillock\\}\\{du Cryptage d'Hillock\\}\\{du Cryptage d'Hillock\\}\\{du Cryptage d'Hillock\\}$" + }, + "7": { + "#": "^\\{de la Encriptación de Hillock\\}\\{de la Encriptación de Hillock\\}\\{de la Encriptación de Hillock\\}\\{de la Encriptación de Hillock\\}$" + }, + "8": { + "#": "^- 힐록의 장막$" } }, "option": false @@ -176327,31 +176396,31 @@ }, "option": false }, - "mod_3975": { + "mod_6131": { "text": { "1": { - "#": "^of Hillock's Veil$" + "#": "^Rin's Veiled$" }, "2": { - "#": "^do Ocultamento de Hillock$" + "#": "^\\{Ocultado por Rin\\}\\{Ocultada por Rin\\}\\{Ocultados por Rin\\}\\{Ocultadas por Rin\\}$" }, "3": { - "#": "^вуали Хиллока$" + "#": "^\\{Завуалированный Рин\\}\\{Завуалированная Рин\\}\\{Завуалированное Рин\\}\\{Завуалированные Рин\\}\\{Завуалированные Рин\\}\\{Завуалированные Рин\\}$" }, "4": { - "#": "^of Hillock's Veil$" + "#": "^Rin's Veiled$" }, "5": { - "#": "^\\{von Hillocks Verhüllung\\}\\{von Hillocks Verhüllung\\}\\{von Hillocks Verhüllung\\}\\{von Hillocks Verhüllung\\}\\{von Hillocks Verhüllung\\}\\{von Hillocks Verhüllung\\}$" + "#": "^\\{Rins verhüllter\\}\\{Rins verhüllte\\}\\{Rins verhülltes\\}\\{Rins verhüllte\\}\\{Rins verhüllte\\}\\{Rins verhüllte\\}$" }, "6": { - "#": "^\\{du Cryptage d'Hillock\\}\\{du Cryptage d'Hillock\\}\\{du Cryptage d'Hillock\\}\\{du Cryptage d'Hillock\\}$" + "#": "^\\{Crypté de Rin\\}\\{Cryptée de Rin\\}\\{Cryptés de Rin\\}\\{Cryptées de Rin\\}$" }, "7": { - "#": "^\\{de la Encriptación de Hillock\\}\\{de la Encriptación de Hillock\\}\\{de la Encriptación de Hillock\\}\\{de la Encriptación de Hillock\\}$" + "#": "^\\{Encriptado de Rin\\}\\{Encriptado de Rin\\}\\{Encriptados de Rin\\}\\{Encriptados de Rin\\}$" }, "8": { - "#": "^- 힐록의 장막$" + "#": "^린의 장막의$" } }, "option": false @@ -176414,35 +176483,6 @@ }, "option": false }, - "mod_6131": { - "text": { - "1": { - "#": "^Rin's Veiled$" - }, - "2": { - "#": "^\\{Ocultado por Rin\\}\\{Ocultada por Rin\\}\\{Ocultados por Rin\\}\\{Ocultadas por Rin\\}$" - }, - "3": { - "#": "^\\{Завуалированный Рин\\}\\{Завуалированная Рин\\}\\{Завуалированное Рин\\}\\{Завуалированные Рин\\}\\{Завуалированные Рин\\}\\{Завуалированные Рин\\}$" - }, - "4": { - "#": "^Rin's Veiled$" - }, - "5": { - "#": "^\\{Rins verhüllter\\}\\{Rins verhüllte\\}\\{Rins verhülltes\\}\\{Rins verhüllte\\}\\{Rins verhüllte\\}\\{Rins verhüllte\\}$" - }, - "6": { - "#": "^\\{Crypté de Rin\\}\\{Cryptée de Rin\\}\\{Cryptés de Rin\\}\\{Cryptées de Rin\\}$" - }, - "7": { - "#": "^\\{Encriptado de Rin\\}\\{Encriptado de Rin\\}\\{Encriptados de Rin\\}\\{Encriptados de Rin\\}$" - }, - "8": { - "#": "^린의 장막의$" - } - }, - "option": false - }, "mod_55787": { "text": { "1": { @@ -176529,35 +176569,6 @@ } }, "option": false - }, - "mod_47933": { - "text": { - "1": { - "#": "^Vorici's Veiled$" - }, - "2": { - "#": "^\\{Ocultado por Vorici\\}\\{Ocultada por Vorici\\}\\{Ocultados por Vorici\\}\\{Ocultadas por Vorici\\}$" - }, - "3": { - "#": "^\\{Завуалированный Воричи\\}\\{Завуалированная Воричи\\}\\{Завуалированное Воричи\\}\\{Завуалированные Воричи\\}\\{Завуалированные Воричи\\}\\{Завуалированные Воричи\\}$" - }, - "4": { - "#": "^Vorici's Veiled$" - }, - "5": { - "#": "^\\{Voricis verhüllter\\}\\{Voricis verhüllte\\}\\{Voricis verhülltes\\}\\{Voricis verhüllte\\}\\{Voricis verhüllte\\}\\{Voricis verhüllte\\}$" - }, - "6": { - "#": "^\\{Crypté de Vorici\\}\\{Cryptée de Vorici\\}\\{Cryptés de Vorici\\}\\{Cryptées de Vorici\\}$" - }, - "7": { - "#": "^\\{Encriptado de Vorici\\}\\{Encriptado de Vorici\\}\\{Encriptados de Vorici\\}\\{Encriptados de Vorici\\}$" - }, - "8": { - "#": "^보리치의 장막의$" - } - }, - "option": false } }, "monster": { @@ -176677,292 +176688,292 @@ }, "option": false }, - "metamorph_reward_rare_weapons": { + "metamorph_reward_incursion_armour": { "text": { "1": { - "#": "^Drops additional Rare Weapons \\(×(\\S+)\\)$" + "#": "^Drops additional Incursion Armour \\(×(\\S+)\\)$" }, "2": { - "#": "^Drops additional Rare Weapons \\(×(\\S+)\\)$" + "#": "^Drops additional Incursion Armour \\(×(\\S+)\\)$" }, "3": { - "#": "^Drops additional Rare Weapons \\(×(\\S+)\\)$" + "#": "^Drops additional Incursion Armour \\(×(\\S+)\\)$" }, "4": { - "#": "^Drops additional Rare Weapons \\(×(\\S+)\\)$" + "#": "^Drops additional Incursion Armour \\(×(\\S+)\\)$" }, "5": { - "#": "^Drops additional Rare Weapons \\(×(\\S+)\\)$" + "#": "^Drops additional Incursion Armour \\(×(\\S+)\\)$" }, "6": { - "#": "^Drops additional Rare Weapons \\(×(\\S+)\\)$" + "#": "^Drops additional Incursion Armour \\(×(\\S+)\\)$" }, "7": { - "#": "^Drops additional Rare Weapons \\(×(\\S+)\\)$" + "#": "^Drops additional Incursion Armour \\(×(\\S+)\\)$" }, "8": { - "#": "^Drops additional Rare Weapons \\(×(\\S+)\\)$" + "#": "^Drops additional Incursion Armour \\(×(\\S+)\\)$" } }, "option": false }, - "metamorph_reward_incursion_armour": { + "metamorph_reward_incursion_weapon": { "text": { "1": { - "#": "^Drops additional Incursion Armour \\(×(\\S+)\\)$" + "#": "^Drops an Incursion Weapon \\(×(\\S+)\\)$" }, "2": { - "#": "^Drops additional Incursion Armour \\(×(\\S+)\\)$" + "#": "^Drops an Incursion Weapon \\(×(\\S+)\\)$" }, "3": { - "#": "^Drops additional Incursion Armour \\(×(\\S+)\\)$" + "#": "^Drops an Incursion Weapon \\(×(\\S+)\\)$" }, "4": { - "#": "^Drops additional Incursion Armour \\(×(\\S+)\\)$" + "#": "^Drops an Incursion Weapon \\(×(\\S+)\\)$" }, "5": { - "#": "^Drops additional Incursion Armour \\(×(\\S+)\\)$" + "#": "^Drops an Incursion Weapon \\(×(\\S+)\\)$" }, "6": { - "#": "^Drops additional Incursion Armour \\(×(\\S+)\\)$" + "#": "^Drops an Incursion Weapon \\(×(\\S+)\\)$" }, "7": { - "#": "^Drops additional Incursion Armour \\(×(\\S+)\\)$" + "#": "^Drops an Incursion Weapon \\(×(\\S+)\\)$" }, "8": { - "#": "^Drops additional Incursion Armour \\(×(\\S+)\\)$" + "#": "^Drops an Incursion Weapon \\(×(\\S+)\\)$" } }, "option": false }, - "metamorph_reward_maps": { + "metamorph_reward_rare_weapons": { "text": { "1": { - "#": "^Drops additional Maps \\(×(\\S+)\\)$" + "#": "^Drops additional Rare Weapons \\(×(\\S+)\\)$" }, "2": { - "#": "^Drops additional Maps \\(×(\\S+)\\)$" + "#": "^Drops additional Rare Weapons \\(×(\\S+)\\)$" }, "3": { - "#": "^Drops additional Maps \\(×(\\S+)\\)$" + "#": "^Drops additional Rare Weapons \\(×(\\S+)\\)$" }, "4": { - "#": "^Drops additional Maps \\(×(\\S+)\\)$" + "#": "^Drops additional Rare Weapons \\(×(\\S+)\\)$" }, "5": { - "#": "^Drops additional Maps \\(×(\\S+)\\)$" + "#": "^Drops additional Rare Weapons \\(×(\\S+)\\)$" }, "6": { - "#": "^Drops additional Maps \\(×(\\S+)\\)$" + "#": "^Drops additional Rare Weapons \\(×(\\S+)\\)$" }, "7": { - "#": "^Drops additional Maps \\(×(\\S+)\\)$" + "#": "^Drops additional Rare Weapons \\(×(\\S+)\\)$" }, "8": { - "#": "^Drops additional Maps \\(×(\\S+)\\)$" + "#": "^Drops additional Rare Weapons \\(×(\\S+)\\)$" } }, "option": false }, - "metamorph_reward_jewels": { + "metamorph_reward_fossils": { "text": { "1": { - "#": "^Drops additional Jewels \\(×(\\S+)\\)$" + "#": "^Drops additional Fossils \\(×(\\S+)\\)$" }, "2": { - "#": "^Drops additional Jewels \\(×(\\S+)\\)$" + "#": "^Drops additional Fossils \\(×(\\S+)\\)$" }, "3": { - "#": "^Drops additional Jewels \\(×(\\S+)\\)$" + "#": "^Drops additional Fossils \\(×(\\S+)\\)$" }, "4": { - "#": "^Drops additional Jewels \\(×(\\S+)\\)$" + "#": "^Drops additional Fossils \\(×(\\S+)\\)$" }, "5": { - "#": "^Drops additional Jewels \\(×(\\S+)\\)$" + "#": "^Drops additional Fossils \\(×(\\S+)\\)$" }, "6": { - "#": "^Drops additional Jewels \\(×(\\S+)\\)$" + "#": "^Drops additional Fossils \\(×(\\S+)\\)$" }, "7": { - "#": "^Drops additional Jewels \\(×(\\S+)\\)$" + "#": "^Drops additional Fossils \\(×(\\S+)\\)$" }, "8": { - "#": "^Drops additional Jewels \\(×(\\S+)\\)$" + "#": "^Drops additional Fossils \\(×(\\S+)\\)$" } }, "option": false }, - "metamorph_reward_catalysts": { + "metamorph_reward_uniques": { "text": { "1": { - "#": "^Drops additional Catalysts \\(×(\\S+)\\)$" + "#": "^Drops additional Unique Items \\(×(\\S+)\\)$" }, "2": { - "#": "^Drops additional Catalysts \\(×(\\S+)\\)$" + "#": "^Drops additional Unique Items \\(×(\\S+)\\)$" }, "3": { - "#": "^Drops additional Catalysts \\(×(\\S+)\\)$" + "#": "^Drops additional Unique Items \\(×(\\S+)\\)$" }, "4": { - "#": "^Drops additional Catalysts \\(×(\\S+)\\)$" + "#": "^Drops additional Unique Items \\(×(\\S+)\\)$" }, "5": { - "#": "^Drops additional Catalysts \\(×(\\S+)\\)$" + "#": "^Drops additional Unique Items \\(×(\\S+)\\)$" }, "6": { - "#": "^Drops additional Catalysts \\(×(\\S+)\\)$" + "#": "^Drops additional Unique Items \\(×(\\S+)\\)$" }, "7": { - "#": "^Drops additional Catalysts \\(×(\\S+)\\)$" + "#": "^Drops additional Unique Items \\(×(\\S+)\\)$" }, "8": { - "#": "^Drops additional Catalysts \\(×(\\S+)\\)$" + "#": "^Drops additional Unique Items \\(×(\\S+)\\)$" } }, "option": false }, - "metamorph_reward_unique": { + "metamorph_reward_maps": { "text": { "1": { - "#": "^Drops a Unique Item \\(×(\\S+)\\)$" + "#": "^Drops additional Maps \\(×(\\S+)\\)$" }, "2": { - "#": "^Drops a Unique Item \\(×(\\S+)\\)$" + "#": "^Drops additional Maps \\(×(\\S+)\\)$" }, "3": { - "#": "^Drops a Unique Item \\(×(\\S+)\\)$" + "#": "^Drops additional Maps \\(×(\\S+)\\)$" }, "4": { - "#": "^Drops a Unique Item \\(×(\\S+)\\)$" + "#": "^Drops additional Maps \\(×(\\S+)\\)$" }, "5": { - "#": "^Drops a Unique Item \\(×(\\S+)\\)$" + "#": "^Drops additional Maps \\(×(\\S+)\\)$" }, "6": { - "#": "^Drops a Unique Item \\(×(\\S+)\\)$" + "#": "^Drops additional Maps \\(×(\\S+)\\)$" }, "7": { - "#": "^Drops a Unique Item \\(×(\\S+)\\)$" + "#": "^Drops additional Maps \\(×(\\S+)\\)$" }, "8": { - "#": "^Drops a Unique Item \\(×(\\S+)\\)$" + "#": "^Drops additional Maps \\(×(\\S+)\\)$" } }, "option": false }, - "metamorph_reward_uniques": { + "metamorph_reward_jewels": { "text": { "1": { - "#": "^Drops additional Unique Items \\(×(\\S+)\\)$" + "#": "^Drops additional Jewels \\(×(\\S+)\\)$" }, "2": { - "#": "^Drops additional Unique Items \\(×(\\S+)\\)$" + "#": "^Drops additional Jewels \\(×(\\S+)\\)$" }, "3": { - "#": "^Drops additional Unique Items \\(×(\\S+)\\)$" + "#": "^Drops additional Jewels \\(×(\\S+)\\)$" }, "4": { - "#": "^Drops additional Unique Items \\(×(\\S+)\\)$" + "#": "^Drops additional Jewels \\(×(\\S+)\\)$" }, "5": { - "#": "^Drops additional Unique Items \\(×(\\S+)\\)$" + "#": "^Drops additional Jewels \\(×(\\S+)\\)$" }, "6": { - "#": "^Drops additional Unique Items \\(×(\\S+)\\)$" + "#": "^Drops additional Jewels \\(×(\\S+)\\)$" }, "7": { - "#": "^Drops additional Unique Items \\(×(\\S+)\\)$" + "#": "^Drops additional Jewels \\(×(\\S+)\\)$" }, "8": { - "#": "^Drops additional Unique Items \\(×(\\S+)\\)$" + "#": "^Drops additional Jewels \\(×(\\S+)\\)$" } }, "option": false }, - "metamorph_reward_rare_talismans": { + "metamorph_reward_catalysts": { "text": { "1": { - "#": "^Drops additional Rare Talismans \\(×(\\S+)\\)$" + "#": "^Drops additional Catalysts \\(×(\\S+)\\)$" }, "2": { - "#": "^Drops additional Rare Talismans \\(×(\\S+)\\)$" + "#": "^Drops additional Catalysts \\(×(\\S+)\\)$" }, "3": { - "#": "^Drops additional Rare Talismans \\(×(\\S+)\\)$" + "#": "^Drops additional Catalysts \\(×(\\S+)\\)$" }, "4": { - "#": "^Drops additional Rare Talismans \\(×(\\S+)\\)$" + "#": "^Drops additional Catalysts \\(×(\\S+)\\)$" }, "5": { - "#": "^Drops additional Rare Talismans \\(×(\\S+)\\)$" + "#": "^Drops additional Catalysts \\(×(\\S+)\\)$" }, "6": { - "#": "^Drops additional Rare Talismans \\(×(\\S+)\\)$" + "#": "^Drops additional Catalysts \\(×(\\S+)\\)$" }, "7": { - "#": "^Drops additional Rare Talismans \\(×(\\S+)\\)$" + "#": "^Drops additional Catalysts \\(×(\\S+)\\)$" }, "8": { - "#": "^Drops additional Rare Talismans \\(×(\\S+)\\)$" + "#": "^Drops additional Catalysts \\(×(\\S+)\\)$" } }, "option": false }, - "metamorph_reward_fossils": { + "metamorph_reward_unique": { "text": { "1": { - "#": "^Drops additional Fossils \\(×(\\S+)\\)$" + "#": "^Drops a Unique Item \\(×(\\S+)\\)$" }, "2": { - "#": "^Drops additional Fossils \\(×(\\S+)\\)$" + "#": "^Drops a Unique Item \\(×(\\S+)\\)$" }, "3": { - "#": "^Drops additional Fossils \\(×(\\S+)\\)$" + "#": "^Drops a Unique Item \\(×(\\S+)\\)$" }, "4": { - "#": "^Drops additional Fossils \\(×(\\S+)\\)$" + "#": "^Drops a Unique Item \\(×(\\S+)\\)$" }, "5": { - "#": "^Drops additional Fossils \\(×(\\S+)\\)$" + "#": "^Drops a Unique Item \\(×(\\S+)\\)$" }, "6": { - "#": "^Drops additional Fossils \\(×(\\S+)\\)$" + "#": "^Drops a Unique Item \\(×(\\S+)\\)$" }, "7": { - "#": "^Drops additional Fossils \\(×(\\S+)\\)$" + "#": "^Drops a Unique Item \\(×(\\S+)\\)$" }, "8": { - "#": "^Drops additional Fossils \\(×(\\S+)\\)$" + "#": "^Drops a Unique Item \\(×(\\S+)\\)$" } }, "option": false }, - "metamorph_reward_incursion_weapon": { + "metamorph_reward_rare_talismans": { "text": { "1": { - "#": "^Drops an Incursion Weapon \\(×(\\S+)\\)$" + "#": "^Drops additional Rare Talismans \\(×(\\S+)\\)$" }, "2": { - "#": "^Drops an Incursion Weapon \\(×(\\S+)\\)$" + "#": "^Drops additional Rare Talismans \\(×(\\S+)\\)$" }, "3": { - "#": "^Drops an Incursion Weapon \\(×(\\S+)\\)$" + "#": "^Drops additional Rare Talismans \\(×(\\S+)\\)$" }, "4": { - "#": "^Drops an Incursion Weapon \\(×(\\S+)\\)$" + "#": "^Drops additional Rare Talismans \\(×(\\S+)\\)$" }, "5": { - "#": "^Drops an Incursion Weapon \\(×(\\S+)\\)$" + "#": "^Drops additional Rare Talismans \\(×(\\S+)\\)$" }, "6": { - "#": "^Drops an Incursion Weapon \\(×(\\S+)\\)$" + "#": "^Drops additional Rare Talismans \\(×(\\S+)\\)$" }, "7": { - "#": "^Drops an Incursion Weapon \\(×(\\S+)\\)$" + "#": "^Drops additional Rare Talismans \\(×(\\S+)\\)$" }, "8": { - "#": "^Drops an Incursion Weapon \\(×(\\S+)\\)$" + "#": "^Drops additional Rare Talismans \\(×(\\S+)\\)$" } }, "option": false @@ -176996,60 +177007,60 @@ }, "option": false }, - "metamorph_reward_legion_incubators": { + "metamorph_reward_enchanted_helmet": { "text": { "1": { - "#": "^Drops additional Legion Incubators \\(×(\\S+)\\)$" + "#": "^Drops an Enchanted Helmet \\(×(\\S+)\\)$" }, "2": { - "#": "^Drops additional Legion Incubators \\(×(\\S+)\\)$" + "#": "^Drops an Enchanted Helmet \\(×(\\S+)\\)$" }, "3": { - "#": "^Drops additional Legion Incubators \\(×(\\S+)\\)$" + "#": "^Drops an Enchanted Helmet \\(×(\\S+)\\)$" }, "4": { - "#": "^Drops additional Legion Incubators \\(×(\\S+)\\)$" + "#": "^Drops an Enchanted Helmet \\(×(\\S+)\\)$" }, "5": { - "#": "^Drops additional Legion Incubators \\(×(\\S+)\\)$" + "#": "^Drops an Enchanted Helmet \\(×(\\S+)\\)$" }, "6": { - "#": "^Drops additional Legion Incubators \\(×(\\S+)\\)$" + "#": "^Drops an Enchanted Helmet \\(×(\\S+)\\)$" }, "7": { - "#": "^Drops additional Legion Incubators \\(×(\\S+)\\)$" + "#": "^Drops an Enchanted Helmet \\(×(\\S+)\\)$" }, "8": { - "#": "^Drops additional Legion Incubators \\(×(\\S+)\\)$" + "#": "^Drops an Enchanted Helmet \\(×(\\S+)\\)$" } }, "option": false }, - "metamorph_reward_enchanted_helmet": { + "metamorph_reward_legion_incubators": { "text": { "1": { - "#": "^Drops an Enchanted Helmet \\(×(\\S+)\\)$" + "#": "^Drops additional Legion Incubators \\(×(\\S+)\\)$" }, "2": { - "#": "^Drops an Enchanted Helmet \\(×(\\S+)\\)$" + "#": "^Drops additional Legion Incubators \\(×(\\S+)\\)$" }, "3": { - "#": "^Drops an Enchanted Helmet \\(×(\\S+)\\)$" + "#": "^Drops additional Legion Incubators \\(×(\\S+)\\)$" }, "4": { - "#": "^Drops an Enchanted Helmet \\(×(\\S+)\\)$" + "#": "^Drops additional Legion Incubators \\(×(\\S+)\\)$" }, "5": { - "#": "^Drops an Enchanted Helmet \\(×(\\S+)\\)$" + "#": "^Drops additional Legion Incubators \\(×(\\S+)\\)$" }, "6": { - "#": "^Drops an Enchanted Helmet \\(×(\\S+)\\)$" + "#": "^Drops additional Legion Incubators \\(×(\\S+)\\)$" }, "7": { - "#": "^Drops an Enchanted Helmet \\(×(\\S+)\\)$" + "#": "^Drops additional Legion Incubators \\(×(\\S+)\\)$" }, "8": { - "#": "^Drops an Enchanted Helmet \\(×(\\S+)\\)$" + "#": "^Drops additional Legion Incubators \\(×(\\S+)\\)$" } }, "option": false @@ -177141,6 +177152,64 @@ }, "option": false }, + "metamorph_reward_elder_weapon": { + "text": { + "1": { + "#": "^Drops an Elder Weapon \\(×(\\S+)\\)$" + }, + "2": { + "#": "^Drops an Elder Weapon \\(×(\\S+)\\)$" + }, + "3": { + "#": "^Drops an Elder Weapon \\(×(\\S+)\\)$" + }, + "4": { + "#": "^Drops an Elder Weapon \\(×(\\S+)\\)$" + }, + "5": { + "#": "^Drops an Elder Weapon \\(×(\\S+)\\)$" + }, + "6": { + "#": "^Drops an Elder Weapon \\(×(\\S+)\\)$" + }, + "7": { + "#": "^Drops an Elder Weapon \\(×(\\S+)\\)$" + }, + "8": { + "#": "^Drops an Elder Weapon \\(×(\\S+)\\)$" + } + }, + "option": false + }, + "metamorph_reward_elder_armour": { + "text": { + "1": { + "#": "^Drops additional Elder Armour \\(×(\\S+)\\)$" + }, + "2": { + "#": "^Drops additional Elder Armour \\(×(\\S+)\\)$" + }, + "3": { + "#": "^Drops additional Elder Armour \\(×(\\S+)\\)$" + }, + "4": { + "#": "^Drops additional Elder Armour \\(×(\\S+)\\)$" + }, + "5": { + "#": "^Drops additional Elder Armour \\(×(\\S+)\\)$" + }, + "6": { + "#": "^Drops additional Elder Armour \\(×(\\S+)\\)$" + }, + "7": { + "#": "^Drops additional Elder Armour \\(×(\\S+)\\)$" + }, + "8": { + "#": "^Drops additional Elder Armour \\(×(\\S+)\\)$" + } + }, + "option": false + }, "metamorph_reward_shaper_or_elder_jewellery": { "text": { "1": { @@ -177315,31 +177384,31 @@ }, "option": false }, - "metamorph_reward_elder_armour": { + "metamorph_reward_unique_weapon": { "text": { "1": { - "#": "^Drops additional Elder Armour \\(×(\\S+)\\)$" + "#": "^Drops a Unique Weapon \\(×(\\S+)\\)$" }, "2": { - "#": "^Drops additional Elder Armour \\(×(\\S+)\\)$" + "#": "^Drops a Unique Weapon \\(×(\\S+)\\)$" }, "3": { - "#": "^Drops additional Elder Armour \\(×(\\S+)\\)$" + "#": "^Drops a Unique Weapon \\(×(\\S+)\\)$" }, "4": { - "#": "^Drops additional Elder Armour \\(×(\\S+)\\)$" + "#": "^Drops a Unique Weapon \\(×(\\S+)\\)$" }, "5": { - "#": "^Drops additional Elder Armour \\(×(\\S+)\\)$" + "#": "^Drops a Unique Weapon \\(×(\\S+)\\)$" }, "6": { - "#": "^Drops additional Elder Armour \\(×(\\S+)\\)$" + "#": "^Drops a Unique Weapon \\(×(\\S+)\\)$" }, "7": { - "#": "^Drops additional Elder Armour \\(×(\\S+)\\)$" + "#": "^Drops a Unique Weapon \\(×(\\S+)\\)$" }, "8": { - "#": "^Drops additional Elder Armour \\(×(\\S+)\\)$" + "#": "^Drops a Unique Weapon \\(×(\\S+)\\)$" } }, "option": false @@ -177489,6 +177558,35 @@ }, "option": false }, + "metamorph_reward_stygian_vise": { + "text": { + "1": { + "#": "^Drops a Stygian Vise \\(×(\\S+)\\)$" + }, + "2": { + "#": "^Drops a Stygian Vise \\(×(\\S+)\\)$" + }, + "3": { + "#": "^Drops a Stygian Vise \\(×(\\S+)\\)$" + }, + "4": { + "#": "^Drops a Stygian Vise \\(×(\\S+)\\)$" + }, + "5": { + "#": "^Drops a Stygian Vise \\(×(\\S+)\\)$" + }, + "6": { + "#": "^Drops a Stygian Vise \\(×(\\S+)\\)$" + }, + "7": { + "#": "^Drops a Stygian Vise \\(×(\\S+)\\)$" + }, + "8": { + "#": "^Drops a Stygian Vise \\(×(\\S+)\\)$" + } + }, + "option": false + }, "metamorph_reward_enchanted_gloves": { "text": { "1": { @@ -177547,60 +177645,60 @@ }, "option": false }, - "metamorph_reward_blighted_map": { + "metamorph_reward_breachstone": { "text": { "1": { - "#": "^Drops a Blighted Map \\(×(\\S+)\\)$" + "#": "^Drops a Breachstone \\(×(\\S+)\\)$" }, "2": { - "#": "^Drops a Blighted Map \\(×(\\S+)\\)$" + "#": "^Drops a Breachstone \\(×(\\S+)\\)$" }, "3": { - "#": "^Drops a Blighted Map \\(×(\\S+)\\)$" + "#": "^Drops a Breachstone \\(×(\\S+)\\)$" }, "4": { - "#": "^Drops a Blighted Map \\(×(\\S+)\\)$" + "#": "^Drops a Breachstone \\(×(\\S+)\\)$" }, "5": { - "#": "^Drops a Blighted Map \\(×(\\S+)\\)$" + "#": "^Drops a Breachstone \\(×(\\S+)\\)$" }, "6": { - "#": "^Drops a Blighted Map \\(×(\\S+)\\)$" + "#": "^Drops a Breachstone \\(×(\\S+)\\)$" }, "7": { - "#": "^Drops a Blighted Map \\(×(\\S+)\\)$" + "#": "^Drops a Breachstone \\(×(\\S+)\\)$" }, "8": { - "#": "^Drops a Blighted Map \\(×(\\S+)\\)$" + "#": "^Drops a Breachstone \\(×(\\S+)\\)$" } }, "option": false }, - "metamorph_reward_breachstone": { + "metamorph_reward_blighted_map": { "text": { "1": { - "#": "^Drops a Breachstone \\(×(\\S+)\\)$" + "#": "^Drops a Blighted Map \\(×(\\S+)\\)$" }, "2": { - "#": "^Drops a Breachstone \\(×(\\S+)\\)$" + "#": "^Drops a Blighted Map \\(×(\\S+)\\)$" }, "3": { - "#": "^Drops a Breachstone \\(×(\\S+)\\)$" + "#": "^Drops a Blighted Map \\(×(\\S+)\\)$" }, "4": { - "#": "^Drops a Breachstone \\(×(\\S+)\\)$" + "#": "^Drops a Blighted Map \\(×(\\S+)\\)$" }, "5": { - "#": "^Drops a Breachstone \\(×(\\S+)\\)$" + "#": "^Drops a Blighted Map \\(×(\\S+)\\)$" }, "6": { - "#": "^Drops a Breachstone \\(×(\\S+)\\)$" + "#": "^Drops a Blighted Map \\(×(\\S+)\\)$" }, "7": { - "#": "^Drops a Breachstone \\(×(\\S+)\\)$" + "#": "^Drops a Blighted Map \\(×(\\S+)\\)$" }, "8": { - "#": "^Drops a Breachstone \\(×(\\S+)\\)$" + "#": "^Drops a Blighted Map \\(×(\\S+)\\)$" } }, "option": false @@ -177837,60 +177935,60 @@ }, "option": false }, - "metamorph_reward_map": { + "metamorph_reward_divination_cards": { "text": { "1": { - "#": "^Drops a Map Item \\(×(\\S+)\\)$" + "#": "^Drops additional Divination Cards \\(×(\\S+)\\)$" }, "2": { - "#": "^Drops a Map Item \\(×(\\S+)\\)$" + "#": "^Drops additional Divination Cards \\(×(\\S+)\\)$" }, "3": { - "#": "^Drops a Map Item \\(×(\\S+)\\)$" + "#": "^Drops additional Divination Cards \\(×(\\S+)\\)$" }, "4": { - "#": "^Drops a Map Item \\(×(\\S+)\\)$" + "#": "^Drops additional Divination Cards \\(×(\\S+)\\)$" }, "5": { - "#": "^Drops a Map Item \\(×(\\S+)\\)$" + "#": "^Drops additional Divination Cards \\(×(\\S+)\\)$" }, "6": { - "#": "^Drops a Map Item \\(×(\\S+)\\)$" + "#": "^Drops additional Divination Cards \\(×(\\S+)\\)$" }, "7": { - "#": "^Drops a Map Item \\(×(\\S+)\\)$" + "#": "^Drops additional Divination Cards \\(×(\\S+)\\)$" }, "8": { - "#": "^Drops a Map Item \\(×(\\S+)\\)$" + "#": "^Drops additional Divination Cards \\(×(\\S+)\\)$" } }, "option": false }, - "metamorph_reward_divination_cards": { + "metamorph_reward_map": { "text": { "1": { - "#": "^Drops additional Divination Cards \\(×(\\S+)\\)$" + "#": "^Drops a Map Item \\(×(\\S+)\\)$" }, "2": { - "#": "^Drops additional Divination Cards \\(×(\\S+)\\)$" + "#": "^Drops a Map Item \\(×(\\S+)\\)$" }, "3": { - "#": "^Drops additional Divination Cards \\(×(\\S+)\\)$" + "#": "^Drops a Map Item \\(×(\\S+)\\)$" }, "4": { - "#": "^Drops additional Divination Cards \\(×(\\S+)\\)$" + "#": "^Drops a Map Item \\(×(\\S+)\\)$" }, "5": { - "#": "^Drops additional Divination Cards \\(×(\\S+)\\)$" + "#": "^Drops a Map Item \\(×(\\S+)\\)$" }, "6": { - "#": "^Drops additional Divination Cards \\(×(\\S+)\\)$" + "#": "^Drops a Map Item \\(×(\\S+)\\)$" }, "7": { - "#": "^Drops additional Divination Cards \\(×(\\S+)\\)$" + "#": "^Drops a Map Item \\(×(\\S+)\\)$" }, "8": { - "#": "^Drops additional Divination Cards \\(×(\\S+)\\)$" + "#": "^Drops a Map Item \\(×(\\S+)\\)$" } }, "option": false @@ -178040,60 +178138,60 @@ }, "option": false }, - "metamorph_reward_talisman_unique": { + "metamorph_reward_prophecies": { "text": { "1": { - "#": "^Drops a Talisman Unique Item \\(×(\\S+)\\)$" + "#": "^Drops Itemised Prophecies \\(×(\\S+)\\)$" }, "2": { - "#": "^Drops a Talisman Unique Item \\(×(\\S+)\\)$" + "#": "^Drops Itemised Prophecies \\(×(\\S+)\\)$" }, "3": { - "#": "^Drops a Talisman Unique Item \\(×(\\S+)\\)$" + "#": "^Drops Itemised Prophecies \\(×(\\S+)\\)$" }, "4": { - "#": "^Drops a Talisman Unique Item \\(×(\\S+)\\)$" + "#": "^Drops Itemised Prophecies \\(×(\\S+)\\)$" }, "5": { - "#": "^Drops a Talisman Unique Item \\(×(\\S+)\\)$" + "#": "^Drops Itemised Prophecies \\(×(\\S+)\\)$" }, "6": { - "#": "^Drops a Talisman Unique Item \\(×(\\S+)\\)$" + "#": "^Drops Itemised Prophecies \\(×(\\S+)\\)$" }, "7": { - "#": "^Drops a Talisman Unique Item \\(×(\\S+)\\)$" + "#": "^Drops Itemised Prophecies \\(×(\\S+)\\)$" }, "8": { - "#": "^Drops a Talisman Unique Item \\(×(\\S+)\\)$" + "#": "^Drops Itemised Prophecies \\(×(\\S+)\\)$" } }, "option": false }, - "metamorph_reward_prophecies": { + "metamorph_reward_talisman_unique": { "text": { "1": { - "#": "^Drops Itemised Prophecies \\(×(\\S+)\\)$" + "#": "^Drops a Talisman Unique Item \\(×(\\S+)\\)$" }, "2": { - "#": "^Drops Itemised Prophecies \\(×(\\S+)\\)$" + "#": "^Drops a Talisman Unique Item \\(×(\\S+)\\)$" }, "3": { - "#": "^Drops Itemised Prophecies \\(×(\\S+)\\)$" + "#": "^Drops a Talisman Unique Item \\(×(\\S+)\\)$" }, "4": { - "#": "^Drops Itemised Prophecies \\(×(\\S+)\\)$" + "#": "^Drops a Talisman Unique Item \\(×(\\S+)\\)$" }, "5": { - "#": "^Drops Itemised Prophecies \\(×(\\S+)\\)$" + "#": "^Drops a Talisman Unique Item \\(×(\\S+)\\)$" }, "6": { - "#": "^Drops Itemised Prophecies \\(×(\\S+)\\)$" + "#": "^Drops a Talisman Unique Item \\(×(\\S+)\\)$" }, "7": { - "#": "^Drops Itemised Prophecies \\(×(\\S+)\\)$" + "#": "^Drops a Talisman Unique Item \\(×(\\S+)\\)$" }, "8": { - "#": "^Drops Itemised Prophecies \\(×(\\S+)\\)$" + "#": "^Drops a Talisman Unique Item \\(×(\\S+)\\)$" } }, "option": false @@ -178214,35 +178312,6 @@ }, "option": false }, - "metamorph_reward_unique_weapon": { - "text": { - "1": { - "#": "^Drops a Unique Weapon \\(×(\\S+)\\)$" - }, - "2": { - "#": "^Drops a Unique Weapon \\(×(\\S+)\\)$" - }, - "3": { - "#": "^Drops a Unique Weapon \\(×(\\S+)\\)$" - }, - "4": { - "#": "^Drops a Unique Weapon \\(×(\\S+)\\)$" - }, - "5": { - "#": "^Drops a Unique Weapon \\(×(\\S+)\\)$" - }, - "6": { - "#": "^Drops a Unique Weapon \\(×(\\S+)\\)$" - }, - "7": { - "#": "^Drops a Unique Weapon \\(×(\\S+)\\)$" - }, - "8": { - "#": "^Drops a Unique Weapon \\(×(\\S+)\\)$" - } - }, - "option": false - }, "metamorph_reward_valuable_currency_shards": { "text": { "1": { @@ -178301,35 +178370,6 @@ }, "option": false }, - "metamorph_reward_elder_weapon": { - "text": { - "1": { - "#": "^Drops an Elder Weapon \\(×(\\S+)\\)$" - }, - "2": { - "#": "^Drops an Elder Weapon \\(×(\\S+)\\)$" - }, - "3": { - "#": "^Drops an Elder Weapon \\(×(\\S+)\\)$" - }, - "4": { - "#": "^Drops an Elder Weapon \\(×(\\S+)\\)$" - }, - "5": { - "#": "^Drops an Elder Weapon \\(×(\\S+)\\)$" - }, - "6": { - "#": "^Drops an Elder Weapon \\(×(\\S+)\\)$" - }, - "7": { - "#": "^Drops an Elder Weapon \\(×(\\S+)\\)$" - }, - "8": { - "#": "^Drops an Elder Weapon \\(×(\\S+)\\)$" - } - }, - "option": false - }, "metamorph_reward_shaper_weapon": { "text": { "1": { @@ -178359,35 +178399,6 @@ }, "option": false }, - "metamorph_reward_stygian_vise": { - "text": { - "1": { - "#": "^Drops a Stygian Vise \\(×(\\S+)\\)$" - }, - "2": { - "#": "^Drops a Stygian Vise \\(×(\\S+)\\)$" - }, - "3": { - "#": "^Drops a Stygian Vise \\(×(\\S+)\\)$" - }, - "4": { - "#": "^Drops a Stygian Vise \\(×(\\S+)\\)$" - }, - "5": { - "#": "^Drops a Stygian Vise \\(×(\\S+)\\)$" - }, - "6": { - "#": "^Drops a Stygian Vise \\(×(\\S+)\\)$" - }, - "7": { - "#": "^Drops a Stygian Vise \\(×(\\S+)\\)$" - }, - "8": { - "#": "^Drops a Stygian Vise \\(×(\\S+)\\)$" - } - }, - "option": false - }, "metamorph_reward_resonator": { "text": { "1": { diff --git a/src/styles.scss b/src/styles.scss index dc206aab..a657592a 100644 --- a/src/styles.scss +++ b/src/styles.scss @@ -1,5 +1,6 @@ @import "./styles/fonts"; @import "./styles/theme"; +@import "./styles/scrollbar"; html, body { @@ -8,10 +9,6 @@ body { font-family: Roboto, "Helvetica Neue", sans-serif; } -::-webkit-scrollbar { - width: 0px; - background: transparent; -} .clickable { cursor: pointer; diff --git a/src/styles/_scrollbar.scss b/src/styles/_scrollbar.scss new file mode 100644 index 00000000..62b8b1e7 --- /dev/null +++ b/src/styles/_scrollbar.scss @@ -0,0 +1,11 @@ +@import 'variables'; + +::-webkit-scrollbar { + width: 6px; + background: transparent; +} + +::-webkit-scrollbar-thumb { + background: $light-dark-grey; + border-radius: 3px; +} diff --git a/src/styles/_theme.scss b/src/styles/_theme.scss index a2cc6187..dd1d7769 100644 --- a/src/styles/_theme.scss +++ b/src/styles/_theme.scss @@ -142,20 +142,26 @@ $mat-dark-theme-background: ( // Theme Config +@import 'variables'; + +$accent: $purple; +$accent-darker: darken($accent, 20%); +$accent-lighter: lighten($accent, 10%); + body { - --primary-color: #aa9e82; - --primary-lighter-color: #e6e2da; - --primary-darker-color: #908265; + --primary-color: $accent; + --primary-lighter-color: $accent-lighter; + --primary-darker-color: $accent-darker; --text-primary-color: #{$dark-primary-text}; --text-primary-lighter-color: #{$dark-primary-text}; --text-primary-darker-color: #{$dark-primary-text}; } $mat-primary: ( - main: #aa9e82, - lighter: #e6e2da, - darker: #908265, - 200: #aa9e82, // For slide toggle, + main: $accent, + lighter: $accent-lighter, + darker: $accent-darker, + 200: $accent, // For slide toggle, contrast : ( main: $dark-primary-text, lighter: $dark-primary-text, @@ -165,19 +171,19 @@ $mat-primary: ( $theme-primary: mat-palette($mat-primary, main, lighter, darker); body { - --accent-color: #aa9e82; - --accent-lighter-color: #e6e2da; - --accent-darker-color: #908265; + --accent-color: $accent; + --accent-lighter-color: $accent-lighter; + --accent-darker-color: $accent-darker; --text-accent-color: #{$dark-primary-text}; --text-accent-lighter-color: #{$dark-primary-text}; --text-accent-darker-color: #{$dark-primary-text}; } $mat-accent: ( - main: #aa9e82, - lighter: #e6e2da, - darker: #908265, - 200: #aa9e82, // For slide toggle, + main: $accent, + lighter: $accent-lighter, + darker: $accent-darker, + 200: $accent, // For slide toggle, contrast : ( main: $dark-primary-text, lighter: $dark-primary-text, diff --git a/src/styles/_variables.scss b/src/styles/_variables.scss new file mode 100644 index 00000000..8ade4a1d --- /dev/null +++ b/src/styles/_variables.scss @@ -0,0 +1,23 @@ +/* poe */ + +$pseudo: #232420; +$implicit: #65621e; +$crafted: #0060bf; +$enchant: #8b579c; +$fractured: #a29162; + +$purple: #88f; +$blue: #b4b4ff; +$yellow: #ff7; +$orange: #af6025; +$light-orange: #aa9e82; +$red: #e63244; +$aqua: #1ba29b; +$black-transparent: rgba(0,0,0,0.8); + +/* colors */ + +$white: #fff; +$light-grey: #c8c8c8; +$light-dark-grey: #7f7f7f; +$black: #000; \ No newline at end of file