Compare commits

...

150 Commits

Author SHA1 Message Date
DarkPhoenix
7120000202 Bundle svg image loader lib for linux 2023-12-05 01:36:52 +06:00
DarkPhoenix
c3f7078053 Bundle webkit lib for linux 2023-12-05 01:06:24 +06:00
DarkPhoenix
b70f02fa3e Bump version 2023-12-05 00:17:51 +06:00
DarkPhoenix
8d893ce648 Replace tiff/jpg libs by full GTK package 2023-12-05 00:01:10 +06:00
DarkPhoenix
c230480464 Do not modify package after it was built 2023-12-04 23:11:34 +06:00
DarkPhoenix
da7a4a2df0 Bundle certificates with AppImage 2023-12-04 17:28:18 +06:00
DarkPhoenix
62bde4b8c9 Bump version 2023-12-04 16:35:05 +06:00
DarkPhoenix
43967b70ae Add tiff lib 2023-12-04 15:58:21 +06:00
DarkPhoenix
782c007200 Add libjpeg dependency 2023-12-04 08:51:17 +06:00
DarkPhoenix
5812d333d9 Keep pyfa source in /opt/ 2023-12-04 08:36:00 +06:00
DarkPhoenix
c461bf469e Adjust path to artifact 2023-12-04 08:18:12 +06:00
DarkPhoenix
d5c8c92b48 Build linux binaries first 2023-12-04 08:08:47 +06:00
DarkPhoenix
1abffd6c5d Fix file extension 2023-12-04 08:08:00 +06:00
DarkPhoenix
a824cc5e48 Fix path to python, and disable debugging once again 2023-12-04 08:06:18 +06:00
DarkPhoenix
db7afffd65 Re-enable debugging again 2023-12-04 07:42:22 +06:00
DarkPhoenix
4d02a1292f A few minor fixes, and disable ssh 2023-12-04 07:16:12 +06:00
DarkPhoenix
00f72294d4 Fix variable name 2023-12-04 06:55:52 +06:00
DarkPhoenix
0d45be0597 Add missing dependency 2023-12-04 06:52:57 +06:00
DarkPhoenix
f60090fc79 Move lots of preprocessing out of appimg recipe (to support calculation of app version) 2023-12-04 06:39:28 +06:00
DarkPhoenix
713807df13 Get pip since provided python doesn't have it 2023-12-04 05:53:30 +06:00
DarkPhoenix
c020bd8898 More progress on linux build job 2023-12-04 05:29:11 +06:00
DarkPhoenix
39ee8586d4 Do build process using system interpreter, then install dependencies into bundled one 2023-12-04 04:59:04 +06:00
DarkPhoenix
653a1585dc Use appdir variable instead of "hardcoded" path 2023-12-04 04:03:01 +06:00
DarkPhoenix
2dcf011020 Move script to execute after runtime 2023-12-04 02:26:45 +06:00
DarkPhoenix
555e72a27a Another attempt to bundle python with appimg 2023-12-04 00:57:09 +06:00
DarkPhoenix
85e740d75a Add keys to repositories 2023-12-03 23:41:47 +06:00
DarkPhoenix
d604ed300a Fetch full repo right away 2023-12-03 22:15:05 +06:00
DarkPhoenix
3aea4e5f23 Remove empty section 2023-12-03 21:50:51 +06:00
DarkPhoenix
a54adddc74 Use python package from repo 2023-12-03 21:50:35 +06:00
DarkPhoenix
dda397fea3 Use AppDir variable instead of BuildDir 2023-12-03 17:03:31 +06:00
Anton Vorobyov
3cd718350e Merge pull request #2545 from Grange-Nagy/dep_facelift
fix infinite redraws on macos
2023-12-03 14:01:38 +04:00
Grange Nagy
e87860a700 Merge branch 'pyfa-org:dep_facelift' into dep_facelift 2023-12-03 02:24:54 -05:00
Grange Nagy
451d21eaa0 let go of drag object 2023-12-03 02:24:13 -05:00
Grange Nagy
718f9ef859 allow fit drag bmp to be smaller 2023-12-03 02:18:51 -05:00
Grange Nagy
193adc4ba5 fix fit drag bitmap causing redraws on macos 2023-12-03 01:47:32 -05:00
Grange Nagy
cdfa52e9ed remove drag rendering entirely for now 2023-12-02 21:53:31 -05:00
Anton Vorobyov
2752b288ad Merge pull request #2544 from Grange-Nagy/dep_facelift
fix runtime bitmap scaling error on macos sonoma
2023-12-03 06:49:06 +04:00
DarkPhoenix
8dce968780 Add one dependency just to detect bundle arch 2023-12-03 08:46:12 +06:00
Grange Nagy
b889da7e68 fix runtime bitmap scaling error on mac 2023-12-02 18:09:02 -05:00
DarkPhoenix
0dd7dea708 More work on new appimage build process 2023-12-02 11:16:31 +06:00
DarkPhoenix
8af1c8da7d Add script which extracts config values 2023-12-02 01:09:46 +06:00
DarkPhoenix
8d4f83156d Strip python appimage from linux build 2023-12-01 18:44:46 +06:00
DarkPhoenix
798bdf3fe0 Enable SSH for debugging 2023-12-01 17:25:42 +06:00
DarkPhoenix
a7cf4aab76 Specify architecture 2023-12-01 03:43:36 +06:00
DarkPhoenix
d910e324f3 Specify apt architecture 2023-12-01 01:49:01 +06:00
DarkPhoenix
d800db5ccb Do not specify package name 2023-12-01 00:56:56 +06:00
DarkPhoenix
6c5d0a3e4f Try to make use of AppImageBuilder for linux 2023-12-01 00:41:00 +06:00
DarkPhoenix
9389a0421f Merge branch 'master' into dep_facelift 2023-12-01 00:13:09 +06:00
DarkPhoenix
6f3ab6cee8 Remove evemarketer price source, add evetycoon 2023-12-01 00:11:50 +06:00
DarkPhoenix
258dcd49a0 Merge branch 'master' into dep_facelift 2023-11-30 23:05:34 +06:00
DarkPhoenix
5f0320d1e3 Bump version 2023-11-30 22:59:01 +06:00
DarkPhoenix
54052899f9 Add new suppression effect as dark code (looks like it's not active yet) 2023-11-30 22:58:22 +06:00
DarkPhoenix
eda53e9318 Merge branch 'master' into dep_facelift 2023-11-30 22:32:43 +06:00
DarkPhoenix
4d8a891fd8 Update effects 2023-11-30 22:32:04 +06:00
DarkPhoenix
2d4b97afe6 Update renders 2023-11-30 17:55:01 +06:00
DarkPhoenix
49d1ec17e8 Update static data to 2438956 2023-11-30 17:53:30 +06:00
DarkPhoenix
cfecacacf9 Add appimagebuilder spec file 2023-11-30 17:39:10 +06:00
DarkPhoenix
a9112c04a3 Set it up to debug manually 2023-11-30 06:44:13 +06:00
DarkPhoenix
5f2a74691c Fix python appimage download command 2023-11-30 06:23:25 +06:00
DarkPhoenix
17c22df0f4 Update debug key 2023-11-30 06:08:39 +06:00
DarkPhoenix
c53bc82929 Try out new package tool 2023-11-30 05:51:45 +06:00
DarkPhoenix
7113f41b9a Try adding libjpeg (current appimage fails to launch due to this dep) 2023-11-30 05:02:58 +06:00
DarkPhoenix
aa66d63085 Do not hardcode python version for startup script 2023-11-30 04:28:49 +06:00
DarkPhoenix
140ee70dc3 Update python appimage 2023-11-30 03:50:18 +06:00
DarkPhoenix
5023a6cbae Try to fix binary distributive of wx on linux 2023-11-30 03:20:56 +06:00
DarkPhoenix
aafa77baed Try to fix binary distributive of wx on linux 2023-11-30 02:48:51 +06:00
DarkPhoenix
16dabd57ca Attempt to fix macos pyinstaller 2023-11-30 02:10:48 +06:00
DarkPhoenix
8668d2dd55 Try to fix binary distributive of wx on linux 2023-11-30 02:09:52 +06:00
DarkPhoenix
5c5f37a9ae Use binary distributive of wx on linux 2023-11-30 00:19:15 +06:00
DarkPhoenix
621c36f1cd Use newer pyinstaller on macos 2023-11-29 23:27:17 +06:00
DarkPhoenix
be2cc523c2 Fix skill level suffix 2023-11-29 23:03:32 +06:00
DarkPhoenix
bd83c403a1 Fix spec file again 2023-11-29 22:51:10 +06:00
DarkPhoenix
043f533a10 Move contents-directory specification to spec file 2023-11-29 22:31:09 +06:00
DarkPhoenix
57a23affd0 Adapt to changes in pyinstaller 2023-11-29 21:47:16 +06:00
DarkPhoenix
b678152ac6 Change pyinstaller command for windows 2023-11-29 20:50:14 +06:00
DarkPhoenix
747bbc8200 Revert to python 3.11 2023-11-29 20:36:25 +06:00
DarkPhoenix
871cf42d88 Fix crowdin script on newer python versions 2023-11-29 20:16:17 +06:00
DarkPhoenix
28533d60d3 Update appveyor images 2023-11-29 20:07:39 +06:00
DarkPhoenix
ca12b3c94f Pin older sqlalchemy 2023-11-29 20:01:44 +06:00
DarkPhoenix
81e449dd83 Merge branch 'master' into dep_facelift 2023-11-14 20:13:50 +06:00
DarkPhoenix
368f2c33a9 Attempt to work around postgres issue on linux 2023-11-14 19:45:22 +06:00
DarkPhoenix
c445bb4423 Add some debug commands to work around postgres issue in image 2023-11-14 19:28:44 +06:00
DarkPhoenix
9b216b5d48 Merge branch 'master' into dep_facelift 2023-11-14 18:54:35 +06:00
DarkPhoenix
4b932d210f Bump version 2023-11-14 18:54:09 +06:00
DarkPhoenix
a1ca29fb30 Update effects 2023-11-14 18:53:50 +06:00
DarkPhoenix
876c85ee19 Update icons 2023-11-14 18:41:56 +06:00
DarkPhoenix
ac1d935712 Update static data to 2420589 2023-11-14 18:39:57 +06:00
DarkPhoenix
2ccc829d3b Merge branch 'singularity' 2023-11-14 18:39:01 +06:00
DarkPhoenix
061ab27286 Merge branch 'singularity' into dep_facelift 2023-11-13 21:45:51 +06:00
DarkPhoenix
d127dd9a7e Implement RR diminishing returns 2023-11-13 21:45:40 +06:00
DarkPhoenix
6d13ab8bcb Merge branch 'master' into dep_facelift 2023-10-31 00:06:47 +06:00
DarkPhoenix
e5d95dd4d8 Fix something which was not supposed to be committed 2023-10-31 00:06:31 +06:00
DarkPhoenix
08c5c9a4b7 Fix an omission 2023-10-31 00:05:21 +06:00
DarkPhoenix
115ea9a36c Merge branch 'master' into dep_facelift 2023-10-31 00:02:35 +06:00
DarkPhoenix
a484698a9d Add option to export implants/boosters via ESI 2023-10-31 00:01:16 +06:00
DarkPhoenix
bafaed1d81 Fix character editor search crash 2023-10-30 23:33:35 +06:00
DarkPhoenix
c56f274a5f Merge branch 'singularity' into dep_facelift 2023-10-23 06:46:36 +06:00
DarkPhoenix
02f7fbf1b1 Do not stacking penalize shield/armor HP bonuses 2023-10-23 06:46:00 +06:00
DarkPhoenix
96214eaa27 Merge branch 'singularity' into dep_facelift 2023-10-19 05:46:01 +06:00
DarkPhoenix
2fef60eaaa Merge branch 'master' into dep_facelift 2023-10-10 02:59:39 +06:00
DarkPhoenix
807622a1ec Merge branch 'master' into dep_facelift 2023-09-19 23:56:38 +03:00
DarkPhoenix
d126b62d63 Merge branch 'master' into dep_facelift 2023-09-10 17:30:53 +06:00
DarkPhoenix
9e50de96f3 Merge branch 'master' into dep_facelift 2023-09-10 17:27:49 +06:00
DarkPhoenix
e67083a79b Add effects for new AT ships 2023-09-10 09:11:42 +06:00
DarkPhoenix
b103e576d2 Merge branch 'master' into dep_facelift 2023-09-10 08:42:32 +06:00
DarkPhoenix
b472adb404 Merge branch 'master' into dep_facelift 2023-06-14 01:09:58 +06:00
DarkPhoenix
7e5150be8c Merge branch 'master' into dep_facelift 2023-06-14 01:05:32 +06:00
DarkPhoenix
261d510ccb Merge branch 'master' into dep_facelift 2023-06-13 22:07:40 +06:00
DarkPhoenix
858b0b243a Merge branch 'singularity' into dep_facelift 2023-06-11 06:41:09 +06:00
DarkPhoenix
53385f2458 Merge branch 'singularity' into dep_facelift 2023-06-11 04:28:36 +06:00
DarkPhoenix
7d3371c379 Merge branch 'singularity' into dep_facelift 2023-06-11 00:29:49 +06:00
Anton Vorobyov
d94116ea1c Merge branch 'master' into dep_facelift 2023-05-23 01:11:07 +06:00
DarkPhoenix
b21b756fa6 Merge branch 'singularity' into dep_facelift 2022-10-25 01:53:45 +04:00
DarkPhoenix
492adb4dfd Merge branch 'singularity' into dep_facelift 2022-10-25 01:33:18 +04:00
DarkPhoenix
5fa7b2c86a Merge branch 'master' into dep_facelift 2022-10-23 10:19:39 +04:00
DarkPhoenix
f6120f09ac Bump version 2022-10-23 07:58:00 +04:00
DarkPhoenix
4995c7994f Merge branch 'master' into dep_facelift 2022-10-22 21:36:54 +04:00
DarkPhoenix
620ce89a05 Merge branch 'master' into dep_facelift 2022-10-21 23:09:03 +04:00
DarkPhoenix
73dc056e61 Fix creating of new implant sets / damage patterns / target profiles on new wx 2022-10-21 07:21:57 +04:00
DarkPhoenix
97625d11ab Merge branch 'master' into dep_facelift 2022-10-15 07:12:26 +04:00
DarkPhoenix
21bd4272d9 Merge branch 'master' into dep_facelift 2022-09-30 20:52:40 +04:00
DarkPhoenix
332c91d661 Merge branch 'master' into dep_facelift 2022-09-30 20:50:36 +04:00
DarkPhoenix
719125657f Merge branch 'master' into dep_facelift 2022-09-30 17:50:31 +04:00
DarkPhoenix
9621a54257 Merge branch 'master' into dep_facelift 2022-09-30 16:50:07 +04:00
DarkPhoenix
bfc580cf7c Merge branch 'master' into dep_facelift 2022-08-29 15:49:54 +04:00
DarkPhoenix
fd2f76ee41 Merge branch 'master' into dep_facelift 2022-08-29 02:53:09 +04:00
DarkPhoenix
9e01d15e60 Merge branch 'master' into dep_facelift 2022-08-29 02:32:12 +04:00
DarkPhoenix
23ee164a76 Merge branch 'master' into dep_facelift 2022-07-13 00:58:29 +04:00
DarkPhoenix
99ddc36027 Merge branch 'master' into dep_facelift 2022-07-10 02:52:44 +04:00
DarkPhoenix
a33f48a83b Merge branch 'master' into dep_facelift 2022-07-04 22:32:43 +04:00
DarkPhoenix
11c060103a Merge branch 'master' into dep_facelift 2022-07-04 05:55:43 +04:00
DarkPhoenix
ac6b6f70eb Merge branch 'master' into dep_facelift 2022-07-04 05:24:52 +04:00
DarkPhoenix
baf10b24d6 Merge branch 'master' into dep_facelift 2022-07-04 04:09:49 +04:00
DarkPhoenix
0ab485115c Merge branch 'master' into dep_facelift 2022-06-27 01:13:26 +04:00
DarkPhoenix
f8895a14c5 Merge branch 'master' into dep_facelift 2022-05-05 21:54:14 +04:00
DarkPhoenix
22eabcea8d Merge branch 'master' into dep_facelift 2022-05-05 21:17:17 +04:00
DarkPhoenix
ccd3498594 Even more fixes for silent coercion, which is no more 2022-05-05 18:41:17 +04:00
DarkPhoenix
71d088b90a More fixes for silent coercion, which is no more 2022-04-24 02:19:26 +04:00
DarkPhoenix
17712d8b7d More fixes for silent coercion, which is no more 2022-04-20 15:58:46 +04:00
DarkPhoenix
4a224ea9a5 Fix preferences panel 2022-04-20 15:25:52 +04:00
DarkPhoenix
6664b5620a Fix type casts for graphs
See #2391 for more info
2022-04-20 15:23:03 +04:00
DarkPhoenix
a98e898bd8 Cast coordinates passed to various wx objects into ints
See #2391 for more info
2022-04-20 02:12:46 +04:00
DarkPhoenix
e98ae5de39 Cast colors into ints before passing to wx
See #2391 for more info
2022-04-20 01:26:52 +04:00
DarkPhoenix
a51fbbc238 Merge branch 'master' into dep_facelift
# Conflicts:
#	.appveyor.yml
#	requirements.txt
2022-04-20 00:42:04 +04:00
DarkPhoenix
f9b4c7b5ea Merge branch 'singularity' into dep_facelift 2022-03-01 13:23:03 +03:00
DarkPhoenix
4e83f52532 Silence more SQLAlchemy warnings 2022-02-22 23:54:33 +03:00
DarkPhoenix
ec0b543393 Silence some of SQLAlchemy warnings 2022-02-22 23:45:09 +03:00
DarkPhoenix
cff94a12ee Set a few gamedata relations view-only
New sqlalchemy complains about them, and we never set them via those relations anyway
2022-02-22 01:12:02 +03:00
DarkPhoenix
da39975ba8 Update requirements specified in CI specification 2022-02-21 23:26:27 +03:00
DarkPhoenix
82515343ee Update requirements to "latest" version of every package 2022-02-21 23:00:25 +03:00
80 changed files with 17321 additions and 3219 deletions

View File

@@ -1,75 +1,48 @@
image:
- Visual Studio 2019
- Ubuntu
- macos
clone_depth: 1
- Ubuntu2204
- Visual Studio 2022
- macos-catalina
for:
-
matrix:
only:
- image: Ubuntu
- image: Ubuntu2204
environment:
APPVEYOR_SSH_KEY: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJDW/+oYNGOiPvwuwAL9tc/LQgg58aosIVpMYfepQZ20V+VZnHpZh8IRDA8Jo5xht19p2PksA+hFgqA0kpKtrSkuiWdE8rATQItfk4gf7yB0yGasJGGQZYazy9k/9XtmYkq2HHOOeEqdxvrICddJQ88MLCLT9lJENSUP/YS/yGcjZFXVxE11pTeIcqlCRU+3eYa1v7BeNvXIKNhZoK5orXWrtuH3cy8jrSns/u70aYfJ6B2jA8CnWnDbuvpeQtEY61SQqlKUsSArNa8NAsXj41wr3Ar9gAG9330w7EMTqlutk8HZO35uHI0q5qinUhaQYufPPrVkb2L/N+ZCfu0fnh appveyor"
APPIMAGE_TOOL: appimagetool-x86_64.AppImage
PYTHON_APPIMAGE: python3.7.17-cp37-cp37m-manylinux2014_x86_64.AppImage
APPVEYOR_SSH_KEY: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDhb96UEXy8yOy/f+riX/8kKbNx/lOfIZ4pP4Cw3Gj3DmnTwEnxtRtyc+xtaxOsKbt+7+EAXFpCzYX+jHMhtd0QtWB7dbey8DBg31g0f8C5EPquqROibVbhzr/F3f6/d52FFfq6Y/CWaAvLjezvipr+zOOsIFcVusqtXdPJQ/LtUJ0LS5d4lFiw5ELHSxHIpqwGwyb7PbR3ufEFoqbr8eYiCH+vlBob72ArPfo2f3u0sMvpGYmjVVu2jj4FEY2h89sLrGyFdNWBoyumRhkb38+WSAuyPa/Y21+g+S8sRzIlkwbxicGNMtrMIi6zHEIGAgA06Sw2psP807h730PPOVaWjUcU3ojNW8hH3nPizF74pT82+iP7/fFC4PXLP+tBa+8OoHC5yiO7QKUKprMSqVa1qOm8fHbrzglplKJXfzSfUtSE+AQ+HtHhuUWKI+0LBLDrsOJwI5hbsPOAuiZ5I3VfqfAOck6SH9TcmlapVmQEypc7d7oeeUtZSOuIWKXp068= dfx@aw"
APPIMAGE_TOOL: appimage-builder-x86_64.AppImage
DEPLOY_DIR: AppDir/opt/pyfa
# APPVEYOR_SSH_BLOCK: true
# APPVEYOR_SSH_BLOCK: true
cache:
- /home/appveyor/.cache/pip -> requirements.txt
init:
- sh: curl -sflL 'https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-ssh.sh' | bash -e -
# init:
# - sh: curl -sflL 'https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-ssh.sh' | bash -e -
install:
- sh: git fetch --prune --unshallow # to fix the version dump issues
- sh: sudo DEBIAN_FRONTEND=noninteractive apt-get -y update
- sh: sudo DEBIAN_FRONTEND=noninteractive apt-get -y install python3.7-dev libgtk-3-dev python3-pip libwebkit2gtk-4.0-dev
# AppImage dependencies
- sh: sudo DEBIAN_FRONTEND=noninteractive apt-get -y install libfuse2
# Preparation script dependencies
- sh: sudo DEBIAN_FRONTEND=noninteractive apt-get -y install python3-wxgtk4.0 python3-sqlalchemy python3-logbook
before_build:
- sh: mkdir build && cd build
- sh: curl -LO https://github.com/AppImage/AppImageKit/releases/download/13/$APPIMAGE_TOOL && chmod +x $APPIMAGE_TOOL
- sh: curl -LO https://github.com/niess/python-appimage/releases/download/python3.7/$PYTHON_APPIMAGE && chmod +x $PYTHON_APPIMAGE
build_script:
# Prepare Python base AppImage, stripping Python metadata
- sh: ./$PYTHON_APPIMAGE --appimage-extract
- sh: mv squashfs-root AppDir
- sh: rm AppDir/python*.desktop
- sh: rm AppDir/usr/share/applications/*.desktop
- sh: rm AppDir/usr/share/metainfo/*.appdata.xml
- sh: unlink AppDir/AppRun
- sh: mkdir -p $DEPLOY_DIR
# run install pyfa packages and any other requirements
- sh: AppDir/usr/bin/python -s -m pip install -U pip setuptools==41.6.0 wheel pathlib2
- sh: AppDir/usr/bin/python -s -m pip install -r ../requirements.txt
# Speedup, but causes runtime incompatiblities
#- sh: AppDir/usr/bin/python -s -m pip install -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-18.04 -r ../requirements.txt
# Run scripts to prep pyfa data and build database
- sh: cd ../
# Prepare pyfa data
- sh: find locale/ -type f -name "*.po" -exec msgen "{}" -o "{}" \;
- sh: build/AppDir/usr/bin/python scripts/compile_lang.py
- sh: build/AppDir/usr/bin/python scripts/dump_crowdin_progress.py
- sh: build/AppDir/usr/bin/python db_update.py
- sh: export PYFA_VERSION="$(python3.7 scripts/dump_version.py)"
# Copy pyfa files to host
- sh: cp -r eos graphs gui imgs locale service utils eve.db config.py pyfa.py db_update.py README.md LICENSE version.yml ./build/$DEPLOY_DIR
- sh: find ./build/$DEPLOY_DIR | grep -E "(__pycache__|\.pyc|\.pyo$)" | xargs rm -rf
# Copy static AppImage files
- sh: cd dist_assets/linux
- sh: chmod +x AppRun
- sh: cp AppRun pyfa.desktop ../../build/AppDir/
- sh: cp pyfa.desktop ../../build/AppDir/usr/share/applications/
- sh: cp pyfa.appdata.xml ../../build/AppDir/usr/share/metainfo/
- sh: chmod +x pyfa && cp pyfa ../../build/AppDir/usr/bin
- sh: cd ../../
# Package it all up
- sh: mkdir dist
- sh: ./build/$APPIMAGE_TOOL build/AppDir dist/pyfa-$PYFA_VERSION-linux.AppImage
- sh: python3 -B scripts/compile_lang.py
- sh: python3 -B scripts/dump_crowdin_progress.py
- sh: python3 -B db_update.py
- sh: export PYFA_VERSION="$(python3 -B scripts/dump_version.py)"
- sh: mkdir build
# Download packaging tool
- sh: curl -o $APPIMAGE_TOOL -L https://github.com/AppImageCrafters/appimage-builder/releases/download/v1.1.0/appimage-builder-1.1.0-x86_64.AppImage
- sh: chmod +x $APPIMAGE_TOOL
build_script:
- sh: mkdir -p AppDir/opt/pyfa
- sh: cp -r eos graphs gui imgs locale service utils eve.db config.py pyfa.py db_update.py README.md LICENSE version.yml AppDir/opt/pyfa/
- sh: mkdir -p AppDir/usr/share/icons/hicolor/64x64/apps/
- sh: cp imgs/gui/pyfa64.png AppDir/usr/share/icons/hicolor/64x64/apps/pyfa.png
- sh: ./$APPIMAGE_TOOL --recipe dist_assets/linux/AppImageBuilder.yml
after_build:
- sh: ls -la build
- sh: ls -la
artifacts:
- path: dist/pyfa-$PYFA_VERSION-linux.AppImage
- path: pyfa-$PYFA_VERSION-linux.AppImage
deploy:
tag: $PYFA_VERSION
release: pyfa $PYFA_VERSION
@@ -85,17 +58,15 @@ for:
-
matrix:
only:
- image: Visual Studio 2019
- image: Visual Studio 2022
environment:
PYTHON: "C:\\Python37-x64"
PYTHON: "C:\\Python311-x64"
# Should be enabled only for build process debugging
# init:
# - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
cache:
- C:\users\appveyor\appdata\local\pip\cache\ -> requirements.txt
install:
- cmd: git fetch --prune --unshallow # to fix the version dump issues
- ps: echo("OS version:")
- ps: "[System.Environment]::OSVersion.Version"
@@ -131,10 +102,8 @@ for:
# pip will build them from source using the MSVC compiler matching the
# target Python version and architecture
- ps: echo("Install pip requirements:")
# This one is needed to build wxpython 4.0.6 on windows
- cmd: "python -m pip install pathlib2"
- cmd: "python -m pip install -r requirements.txt"
- cmd: "python -m pip install PyInstaller==3.6"
- cmd: "python -m pip install PyInstaller"
before_build:
# directory that will contain the built files
- ps: $env:PYFA_DIST_DIR = "c:\projects\$env:APPVEYOR_PROJECT_SLUG\dist"
@@ -150,7 +119,7 @@ for:
# Build gamedata DB
- cmd: "python db_update.py"
# Build command for PyInstaller
- cmd: "python -m PyInstaller --noupx --clean --windowed --noconsole -y pyfa.spec"
- cmd: "python -m PyInstaller --clean -y pyfa.spec"
# Copy over manifest (See pyfa-org/pyfa#1622)
- ps: xcopy /y dist_assets\win\pyfa.exe.manifest $env:PYFA_DIST_DIR\pyfa\
# InnoScript EXE building. This is in a separate script because I don't feel like copying over the logic to AppVeyor script right now...
@@ -177,16 +146,15 @@ for:
-
matrix:
only:
- image: macos
- image: macos-catalina
environment:
APPVEYOR_SSH_KEY: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJDW/+oYNGOiPvwuwAL9tc/LQgg58aosIVpMYfepQZ20V+VZnHpZh8IRDA8Jo5xht19p2PksA+hFgqA0kpKtrSkuiWdE8rATQItfk4gf7yB0yGasJGGQZYazy9k/9XtmYkq2HHOOeEqdxvrICddJQ88MLCLT9lJENSUP/YS/yGcjZFXVxE11pTeIcqlCRU+3eYa1v7BeNvXIKNhZoK5orXWrtuH3cy8jrSns/u70aYfJ6B2jA8CnWnDbuvpeQtEY61SQqlKUsSArNa8NAsXj41wr3Ar9gAG9330w7EMTqlutk8HZO35uHI0q5qinUhaQYufPPrVkb2L/N+ZCfu0fnh appveyor"
cache:
- /Users/appveyor/Library/Caches/pip/ -> requirements.txt
init:
# - sh: curl -sflL 'https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-ssh.sh' | bash -e -
- sh: source ~/venv3.7/bin/activate
- sh: source ~/venv3.11/bin/activate
install:
- sh: git fetch --prune --unshallow # to fix the version dump issues
- sh: bash scripts/osx-setup.sh
build_script:
- sh: bash scripts/osx-translations.sh

View File

@@ -794,8 +794,8 @@ def update_db():
_hardcodeAttribs(cybeleTypeID, attrMap)
_hardcodeEffects(cybeleTypeID, effectMap)
hardcodeShapash()
hardcodeCybele()
# hardcodeShapash()
# hardcodeCybele()
eos.db.gamedata_session.commit()
eos.db.gamedata_engine.execute('VACUUM')

View File

@@ -0,0 +1,55 @@
version: 1
AppDir:
path: ./AppDir
app_info:
id: pyfa
name: pyfa
icon: pyfa
version: '{{PYFA_VERSION}}'
exec: usr/bin/python3.11
exec_args: "-s $APPDIR/opt/pyfa/pyfa.py $@"
apt:
arch: [ amd64 ]
sources:
- sourceline: 'deb http://us.archive.ubuntu.com/ubuntu jammy main restricted universe multiverse'
key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x871920d1991bc93c'
- sourceline: 'deb http://us.archive.ubuntu.com/ubuntu jammy-updates main restricted universe multiverse'
key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x871920d1991bc93c'
- sourceline: 'deb http://us.archive.ubuntu.com/ubuntu jammy-backports main restricted universe multiverse'
key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x871920d1991bc93c'
- sourceline: 'deb http://us.archive.ubuntu.com/ubuntu jammy-security main restricted universe multiverse'
key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x871920d1991bc93c'
- sourceline: 'deb https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu jammy main'
key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xf23c5a6cf475977595c89f51ba6932366a755776'
include:
- python3.11
# wx dependencies
- libgtk-3-0
- libwebkit2gtk-4.0-37 # Needed for wx's HTML lib
- librsvg2-common # Without it, search in char editor crashes due to inability to load some images
exclude: []
after_bundle:
# Install python dependencies to bundled interpreter
- export PYTHONHOME="AppDir/usr"
- export PYTHONPATH="AppDir/usr/lib/python3.11/site-packages"
- curl -L https://bootstrap.pypa.io/get-pip.py -o get-pip.py
- AppDir/usr/bin/python3.11 get-pip.py
# Just to bundle certificates with AppImage
- AppDir/usr/bin/python3.11 -s -m pip install certifi
- AppDir/usr/bin/python3.11 -s -m pip install -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-22.04 -r requirements.txt
runtime:
env:
PYTHONHOME: '${APPDIR}/usr'
PYTHONPATH: '${APPDIR}/usr/lib/python3.11/site-packages'
SSL_CERT_FILE: '${APPDIR}/usr/lib/python3.11/site-packages/certifi/cacert.pem'
AppImage:
sign-key: None
arch: x86_64
file_name: 'pyfa-{{PYFA_VERSION}}-linux.AppImage'

View File

@@ -1,3 +1,3 @@
#! /bin/bash
${APPDIR}/usr/bin/python3.7 -s "${APPDIR}/opt/pyfa/pyfa.py" "$@"
${APPDIR}/usr/bin/python3 -s "${APPDIR}/opt/pyfa/pyfa.py" "$@"

View File

@@ -80,6 +80,7 @@ exe = EXE(pyz,
app = BUNDLE(
exe,
name='pyfa.app',
version=os.getenv('PYFA_VERSION'),
icon=icon,
bundle_identifier=None,
info_plist={
@@ -88,5 +89,7 @@ app = BUNDLE(
'CFBundleName': 'pyfa',
'CFBundleDisplayName': 'pyfa',
'CFBundleIdentifier': 'org.pyfaorg.pyfa',
'CFBundleVersion': os.getenv('PYFA_VERSION'),
'CFBundleShortVersionString': os.getenv('PYFA_VERSION'),
}
)

View File

@@ -42,10 +42,10 @@ CloseApplications=yes
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
AllowNoIcons=yes
LicenseFile={#MyAppDir}\LICENSE
LicenseFile={#MyAppDir}\app\LICENSE
OutputDir={#MyOutputDir}
OutputBaseFilename={#MyOutputFile}
SetupIconFile={#MyAppDir}\pyfa.ico
SetupIconFile={#MyAppDir}\app\pyfa.ico
SolidCompression=yes
[Languages]

View File

@@ -51,7 +51,7 @@ mapper(DynamicItemAttribute, dynamicAttributes_table,
properties={"info": relation(AttributeInfo, lazy=False)})
mapper(DynamicItemItem, dynamicApplicable_table, properties={
"mutaplasmid": relation(DynamicItem),
"mutaplasmid": relation(DynamicItem, viewonly=True),
})
DynamicItemAttribute.ID = association_proxy("info", "attributeID")

View File

@@ -69,7 +69,8 @@ props = {
primaryjoin=dynamicApplicable_table.c.applicableTypeID == items_table.c.typeID,
secondaryjoin=dynamicApplicable_table.c.typeID == DynamicItem.typeID,
secondary=dynamicApplicable_table,
backref="applicableItems"
backref="applicableItems",
viewonly=True
)
}

View File

@@ -175,12 +175,13 @@ mapper(es_Fit, fits_table,
collection_class=HandledModuleList,
primaryjoin=and_(modules_table.c.fitID == fits_table.c.ID, modules_table.c.projected == False), # noqa
order_by=modules_table.c.position,
overlaps='owner',
cascade='all, delete, delete-orphan'),
"_Fit__projectedModules": relation(
Module,
collection_class=HandledProjectedModList,
overlaps='owner, _Fit__modules',
cascade='all, delete, delete-orphan',
single_parent=True,
primaryjoin=and_(modules_table.c.fitID == fits_table.c.ID, modules_table.c.projected == True)), # noqa
"owner": relation(
User,
@@ -190,37 +191,37 @@ mapper(es_Fit, fits_table,
"_Fit__boosters": relation(
Booster,
collection_class=HandledBoosterList,
cascade='all, delete, delete-orphan',
single_parent=True),
overlaps='owner',
cascade='all, delete, delete-orphan'),
"_Fit__drones": relation(
Drone,
collection_class=HandledDroneCargoList,
overlaps='owner',
cascade='all, delete, delete-orphan',
single_parent=True,
primaryjoin=and_(drones_table.c.fitID == fits_table.c.ID, drones_table.c.projected == False)), # noqa
"_Fit__fighters": relation(
Fighter,
collection_class=HandledDroneCargoList,
overlaps='owner',
cascade='all, delete, delete-orphan',
single_parent=True,
primaryjoin=and_(fighters_table.c.fitID == fits_table.c.ID, fighters_table.c.projected == False)), # noqa
"_Fit__cargo": relation(
Cargo,
collection_class=HandledDroneCargoList,
overlaps='owner',
cascade='all, delete, delete-orphan',
single_parent=True,
primaryjoin=and_(cargo_table.c.fitID == fits_table.c.ID)),
"_Fit__projectedDrones": relation(
Drone,
collection_class=HandledProjectedDroneList,
overlaps='owner, _Fit__drones',
cascade='all, delete, delete-orphan',
single_parent=True,
primaryjoin=and_(drones_table.c.fitID == fits_table.c.ID, drones_table.c.projected == True)), # noqa
"_Fit__projectedFighters": relation(
Fighter,
collection_class=HandledProjectedDroneList,
overlaps='owner, _Fit__fighters',
cascade='all, delete, delete-orphan',
single_parent=True,
primaryjoin=and_(fighters_table.c.fitID == fits_table.c.ID, fighters_table.c.projected == True)), # noqa
"_Fit__implants": relation(
Implant,

View File

@@ -1511,6 +1511,7 @@ class Effect512(BaseEffect):
Ship: Atron
Ship: Federation Navy Comet
Ship: Pacifier
Ship: Shapash
Ship: Taranis
"""
@@ -1712,6 +1713,7 @@ class Effect562(BaseEffect):
Variations of ship: Vexor (3 of 4)
Ship: Adrestia
Ship: Arazu
Ship: Cybele
Ship: Deimos
Ship: Enforcer
Ship: Exequror Navy Issue
@@ -5630,8 +5632,8 @@ class Effect1882(BaseEffect):
miningYieldMultiplyPercent
Used by:
Modules from group: Mining Upgrade (7 of 12)
Variations of module: Mining Laser Upgrade I (5 of 5)
Module: Frostline 'Omnivore' Harvester Upgrade
"""
type = 'passive'
@@ -7034,8 +7036,8 @@ class Effect2444(BaseEffect):
minerCpuUsageMultiplyPercent2
Used by:
Modules from group: Mining Upgrade (7 of 12)
Variations of module: Mining Laser Upgrade I (5 of 5)
Module: Frostline 'Omnivore' Harvester Upgrade
"""
type = 'passive'
@@ -14883,6 +14885,7 @@ class Effect4473(BaseEffect):
Used by:
Ship: Adrestia
Ship: Cybele
Ship: Mimir
"""
@@ -15443,6 +15446,7 @@ class Effect4620(BaseEffect):
Used by:
Ship: Garmur
Ship: Shapash
Ship: Utu
"""
@@ -15461,6 +15465,7 @@ class Effect4621(BaseEffect):
Used by:
Ship: Cambion
Ship: Etana
Ship: Shapash
Ship: Utu
"""
@@ -15542,6 +15547,7 @@ class Effect4626(BaseEffect):
Used by:
Ship: Adrestia
Ship: Cybele
Ship: Orthrus
"""
@@ -24749,7 +24755,7 @@ class Effect6185(BaseEffect):
srcFalloffRange=module.getModifiedItemAttr('falloffEffectiveness'),
distance=projectionRange)
duration = module.getModifiedItemAttr('duration') / 1000.0
fit.extraAttributes.increase('hullRepair', bonus / duration, **kwargs)
fit._hullRr.append((bonus, duration))
class Effect6186(BaseEffect):
@@ -24774,7 +24780,7 @@ class Effect6186(BaseEffect):
srcFalloffRange=container.getModifiedItemAttr('falloffEffectiveness'),
distance=projectionRange)
duration = container.getModifiedItemAttr('duration') / 1000.0
fit.extraAttributes.increase('shieldRepair', bonus / duration, **kwargs)
fit._shieldRr.append((bonus, duration))
class Effect6187(BaseEffect):
@@ -24828,10 +24834,9 @@ class Effect6188(BaseEffect):
srcFalloffRange=container.getModifiedItemAttr('falloffEffectiveness'),
distance=projectionRange)
duration = container.getModifiedItemAttr('duration') / 1000.0
rps = bonus / duration
fit.extraAttributes.increase('armorRepair', rps, **kwargs)
fit.extraAttributes.increase('armorRepairPreSpool', rps, **kwargs)
fit.extraAttributes.increase('armorRepairFullSpool', rps, **kwargs)
fit._armorRr.append((bonus, duration))
fit._armorRrPreSpool.append((bonus, duration))
fit._armorRrFullSpool.append((bonus, duration))
class Effect6195(BaseEffect):
@@ -29788,10 +29793,9 @@ class Effect6651(BaseEffect):
srcFalloffRange=module.getModifiedItemAttr('falloffEffectiveness'),
distance=projectionRange)
speed = module.getModifiedItemAttr('duration') / 1000.0
rps = amount / speed
fit.extraAttributes.increase('armorRepair', rps, **kwargs)
fit.extraAttributes.increase('armorRepairPreSpool', rps, **kwargs)
fit.extraAttributes.increase('armorRepairFullSpool', rps, **kwargs)
fit._armorRr.append((amount, speed))
fit._armorRrPreSpool.append((amount, speed))
fit._armorRrFullSpool.append((amount, speed))
class Effect6652(BaseEffect):
@@ -29817,7 +29821,7 @@ class Effect6652(BaseEffect):
srcFalloffRange=module.getModifiedItemAttr('falloffEffectiveness'),
distance=projectionRange)
speed = module.getModifiedItemAttr('duration') / 1000.0
fit.extraAttributes.increase('shieldRepair', amount / speed, **kwargs)
fit._shieldRr.append((amount, speed))
class Effect6653(BaseEffect):
@@ -30446,10 +30450,9 @@ class Effect6687(BaseEffect):
return
bonus = container.getModifiedItemAttr('armorDamageAmount')
duration = container.getModifiedItemAttr('duration') / 1000.0
rps = bonus / duration
fit.extraAttributes.increase('armorRepair', rps, **kwargs)
fit.extraAttributes.increase('armorRepairPreSpool', rps, **kwargs)
fit.extraAttributes.increase('armorRepairFullSpool', rps, **kwargs)
fit._armorRr.append((bonus, duration))
fit._armorRrPreSpool.append((bonus, duration))
fit._armorRrFullSpool.append((bonus, duration))
class Effect6688(BaseEffect):
@@ -30472,7 +30475,7 @@ class Effect6688(BaseEffect):
return
bonus = container.getModifiedItemAttr('shieldBonus')
duration = container.getModifiedItemAttr('duration') / 1000.0
fit.extraAttributes.increase('shieldRepair', bonus / duration, **kwargs)
fit._shieldRr.append((bonus, duration))
class Effect6689(BaseEffect):
@@ -30496,7 +30499,7 @@ class Effect6689(BaseEffect):
return
bonus = module.getModifiedItemAttr('structureDamageAmount')
duration = module.getModifiedItemAttr('duration') / 1000.0
fit.extraAttributes.increase('hullRepair', bonus / duration, **kwargs)
fit._hullRr.append((bonus, duration))
class Effect6690(BaseEffect):
@@ -35047,12 +35050,12 @@ class Effect7166(BaseEffect):
repSpoolPerCycle = container.getModifiedItemAttr('repairMultiplierBonusPerCycle')
defaultSpoolValue = eos.config.settings['globalDefaultSpoolupPercentage']
spoolType, spoolAmount = resolveSpoolOptions(SpoolOptions(SpoolType.SPOOL_SCALE, defaultSpoolValue, False), container)
rps = repAmountBase * (1 + calculateSpoolup(repSpoolMax, repSpoolPerCycle, cycleTime, spoolType, spoolAmount)[0]) / cycleTime
rpsPreSpool = repAmountBase * (1 + calculateSpoolup(repSpoolMax, repSpoolPerCycle, cycleTime, SpoolType.SPOOL_SCALE, 0)[0]) / cycleTime
rpsFullSpool = repAmountBase * (1 + calculateSpoolup(repSpoolMax, repSpoolPerCycle, cycleTime, SpoolType.SPOOL_SCALE, 1)[0]) / cycleTime
fit.extraAttributes.increase('armorRepair', rps, **kwargs)
fit.extraAttributes.increase('armorRepairPreSpool', rpsPreSpool, **kwargs)
fit.extraAttributes.increase('armorRepairFullSpool', rpsFullSpool, **kwargs)
amount = repAmountBase * (1 + calculateSpoolup(repSpoolMax, repSpoolPerCycle, cycleTime, spoolType, spoolAmount)[0])
amountPreSpool = repAmountBase * (1 + calculateSpoolup(repSpoolMax, repSpoolPerCycle, cycleTime, SpoolType.SPOOL_SCALE, 0)[0])
amountFullSpool = repAmountBase * (1 + calculateSpoolup(repSpoolMax, repSpoolPerCycle, cycleTime, SpoolType.SPOOL_SCALE, 1)[0])
fit._armorRr.append((amount, cycleTime))
fit._armorRrPreSpool.append((amountPreSpool, cycleTime))
fit._armorRrFullSpool.append((amountFullSpool, cycleTime))
class Effect7167(BaseEffect):
@@ -36009,6 +36012,7 @@ class Effect8039(BaseEffect):
upwellSkillaoeVelocityaoeCloudSizeBonus
Used by:
Implants named like: Halcyon G Booster (5 of 5)
Skill: Vorton Arc Guidance
"""
@@ -36258,12 +36262,30 @@ class Effect8065(BaseEffect):
'maxRange', skill.getModifiedItemAttr('rangeSkillBonus') * skill.level, **kwargs)
class Effect8064(BaseEffect):
"""
vortonProjectorOptimalRangeBonus
Used by:
Implants named like: Halcyon B Booster (5 of 5)
"""
type = 'passive'
@staticmethod
def handler(fit, booster, context, projectionRange, **kwargs):
fit.modules.filteredItemBoost(
lambda mod: mod.item.requiresSkill('Vorton Projector Operation'), 'maxRange',
booster.getModifiedItemAttr('rangeSkillBonus'), **kwargs)
class Effect8066(BaseEffect):
"""
vortonProjectorDamageBonus
Used by:
Implants named like: Agency 'Pyrolancea' DB Dose (4 of 4)
Implants named like: Halcyon Y Booster (5 of 5)
Implant: AIR Pyrolancea Booster II
"""
@@ -40101,6 +40123,23 @@ class Effect11764(BaseEffect):
'speed', ship.getModifiedItemAttr('shipBonusRole7'), **kwargs)
class Effect11767(BaseEffect):
"""
shipBonusHybridTrackingATC3
Used by:
Ship: Cybele
"""
type = 'passive'
@staticmethod
def handler(fit, src, context, projectionRange, **kwargs):
fit.modules.filteredItemBoost(
lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'), 'trackingSpeed',
src.getModifiedItemAttr('eliteBonusHeavyGunship1'), skill='Heavy Assault Cruisers', **kwargs)
class Effect11919(BaseEffect):
"""
shipBonusDestroyerMD1Falloff
@@ -40326,11 +40365,12 @@ class Effect11953(BaseEffect):
stackingPenalties=True, penaltyGroup='postMul', **kwargs)
class Effect100100(BaseEffect):
class Effect11992(BaseEffect):
"""
pyfaCustomShapashAfArAmount
shipBonusArmorPlateMassAT
Used by:
Ship: Cybele
Ship: Shapash
"""
@@ -40339,13 +40379,47 @@ class Effect100100(BaseEffect):
@staticmethod
def handler(fit, ship, context, projectionRange, **kwargs):
fit.modules.filteredItemBoost(
lambda mod: mod.item.requiresSkill('Repair Systems'),
'armorDamageAmount', 10, skill='Assault Frigates', **kwargs)
lambda mod: mod.item.group.name == 'Armor Plate', 'massAddition',
ship.getModifiedItemAttr('shipBonusATF3'), **kwargs)
class Effect100101(BaseEffect):
class Effect11993(BaseEffect):
"""
pyfaCustomShapashAfShtTrackingOptimal
shipBonusRepairSystemsBonusATC3
Used by:
Ship: Cybele
"""
type = 'passive'
@staticmethod
def handler(fit, src, context, projectionRange, **kwargs):
fit.modules.filteredItemBoost(
lambda mod: mod.item.requiresSkill('Repair Systems'), 'armorDamageAmount',
src.getModifiedItemAttr('shipBonusGC3'), skill='Gallente Cruiser', **kwargs)
class Effect11994(BaseEffect):
"""
shipBonusHybridFalloffATC3
Used by:
Ship: Cybele
"""
type = 'passive'
@staticmethod
def handler(fit, src, context, projectionRange, **kwargs):
fit.modules.filteredItemBoost(
lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'), 'falloff',
src.getModifiedItemAttr('eliteBonusHeavyGunship2'), skill='Heavy Assault Cruisers', **kwargs)
class Effect11995(BaseEffect):
"""
shipBonusHeatAfterburnerATGF
Used by:
Ship: Shapash
@@ -40354,18 +40428,15 @@ class Effect100101(BaseEffect):
type = 'passive'
@staticmethod
def handler(fit, ship, context, projectionRange, **kwargs):
def handler(fit, src, context, projectionRange, **kwargs):
fit.modules.filteredItemBoost(
lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
'maxRange', 10, skill='Assault Frigates', **kwargs)
fit.modules.filteredItemBoost(
lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
'trackingSpeed', 10, skill='Assault Frigates', **kwargs)
lambda mod: mod.item.requiresSkill('Afterburner'), 'overloadSpeedFactorBonus',
src.getModifiedItemAttr('shipBonusGF2'), skill='Gallente Frigate', **kwargs)
class Effect100102(BaseEffect):
class Effect11996(BaseEffect):
"""
pyfaCustomShapashGfShtDamage
shipBonusMWDHeatATGF
Used by:
Ship: Shapash
@@ -40374,15 +40445,15 @@ class Effect100102(BaseEffect):
type = 'passive'
@staticmethod
def handler(fit, ship, context, projectionRange, **kwargs):
def handler(fit, src, context, projectionRange, **kwargs):
fit.modules.filteredItemBoost(
lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
'damageMultiplier', 10, skill='Gallente Frigate', **kwargs)
lambda mod: mod.item.requiresSkill('High Speed Maneuvering'), 'overloadSpeedFactorBonus',
src.getModifiedItemAttr('shipBonusGF2'), skill='Gallente Frigate', **kwargs)
class Effect100103(BaseEffect):
class Effect11997(BaseEffect):
"""
pyfaCustomShapashGfPointRange
shipBonusArmorRepATGF
Used by:
Ship: Shapash
@@ -40391,15 +40462,15 @@ class Effect100103(BaseEffect):
type = 'passive'
@staticmethod
def handler(fit, ship, context, projectionRange, **kwargs):
def handler(fit, src, context, projectionRange, **kwargs):
fit.modules.filteredItemBoost(
lambda mod: mod.item.group.name == 'Warp Scrambler',
'maxRange', 10, skill='Gallente Frigate', **kwargs)
lambda mod: mod.item.requiresSkill('Repair Systems'), 'armorDamageAmount',
src.getModifiedItemAttr('eliteBonusGunship1'), skill='Assault Frigates', **kwargs)
class Effect100104(BaseEffect):
class Effect11998(BaseEffect):
"""
pyfaCustomShapashGfPropOverheat
shipBonusSmallHybridMaxRangeATF3
Used by:
Ship: Shapash
@@ -40408,15 +40479,15 @@ class Effect100104(BaseEffect):
type = 'passive'
@staticmethod
def handler(fit, ship, context, projectionRange, **kwargs):
def handler(fit, src, context, projectionRange, **kwargs):
fit.modules.filteredItemBoost(
lambda mod: mod.item.requiresSkill('Afterburner') or mod.item.requiresSkill('High Speed Maneuvering'),
'overloadSpeedFactorBonus', 10, skill='Gallente Frigate', **kwargs)
lambda mod: mod.item.requiresSkill('Small Hybrid Turret'), 'maxRange',
src.getModifiedItemAttr('eliteBonusGunship2'), skill='Assault Frigates', **kwargs)
class Effect100105(BaseEffect):
class Effect11999(BaseEffect):
"""
pyfaCustomShapashRolePlateMass
shipBonusSmallHybridTrackingSpeedATF3
Used by:
Ship: Shapash
@@ -40425,135 +40496,24 @@ class Effect100105(BaseEffect):
type = 'passive'
@staticmethod
def handler(fit, ship, context, projectionRange, **kwargs):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Armor Plate', 'massAddition', -100, **kwargs)
class Effect100106(BaseEffect):
"""
pyfaCustomShapashRoleHeat
Used by:
Ship: Shapash
"""
type = 'passive'
@staticmethod
def handler(fit, ship, context, projectionRange, **kwargs):
fit.modules.filteredItemBoost(lambda mod: True, 'heatDamage', -50, **kwargs)
class Effect100200(BaseEffect):
"""
pyfaCustomCybeleHacMhtFalloff
Used by:
Ship: Cybele
"""
type = 'passive'
@staticmethod
def handler(fit, ship, context, projectionRange, **kwargs):
def handler(fit, src, context, projectionRange, **kwargs):
fit.modules.filteredItemBoost(
lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
'falloff', 10, skill='Heavy Assault Cruisers', **kwargs)
lambda mod: mod.item.requiresSkill('Small Hybrid Turret'), 'trackingSpeed',
src.getModifiedItemAttr('eliteBonusGunship2'), skill='Assault Frigates', **kwargs)
class Effect100201(BaseEffect):
class Effect12003(BaseEffect):
"""
pyfaCustomCybeleHacMhtTracking
vortonTurretSpeeBonusPostPercentSpeedLocationShipModulesRequiringVortonProjectorOperation
Used by:
Ship: Cybele
Implants named like: Halcyon R Booster (5 of 5)
"""
type = 'passive'
@staticmethod
def handler(fit, ship, context, projectionRange, **kwargs):
def handler(fit, booster, context, projectionRange, **kwargs):
fit.modules.filteredItemBoost(
lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
'trackingSpeed', 7.5, skill='Heavy Assault Cruisers', **kwargs)
class Effect100202(BaseEffect):
"""
pyfaCustomCybeleGcMhtDamage
Used by:
Ship: Cybele
"""
type = 'passive'
@staticmethod
def handler(fit, ship, context, projectionRange, **kwargs):
fit.modules.filteredItemBoost(
lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
'damageMultiplier', 20, skill='Gallente Cruiser', **kwargs)
class Effect100203(BaseEffect):
"""
pyfaCustomCybeleGcArAmount
Used by:
Ship: Cybele
"""
type = 'passive'
@staticmethod
def handler(fit, ship, context, projectionRange, **kwargs):
fit.modules.filteredItemBoost(
lambda mod: mod.item.requiresSkill('Repair Systems'),
'armorDamageAmount', 10, skill='Gallente Cruiser', **kwargs)
class Effect100204(BaseEffect):
"""
pyfaCustomCybeleGcPointRange
Used by:
Ship: Cybele
"""
type = 'passive'
@staticmethod
def handler(fit, ship, context, projectionRange, **kwargs):
fit.modules.filteredItemBoost(
lambda mod: mod.item.group.name == 'Warp Scrambler',
'maxRange', 25, skill='Gallente Cruiser', **kwargs)
class Effect100205(BaseEffect):
"""
pyfaCustomCybeleRoleVelocity
Used by:
Ship: Cybele
"""
type = 'passive'
@staticmethod
def handler(fit, ship, context, projectionRange, **kwargs):
fit.ship.boostItemAttr('maxVelocity', 30, **kwargs)
class Effect100206(BaseEffect):
"""
pyfaCustomCybeleRolePlateMass
Used by:
Ship: Cybele
"""
type = 'passive'
@staticmethod
def handler(fit, ship, context, projectionRange, **kwargs):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Armor Plate', 'massAddition', -100, **kwargs)
lambda mod: mod.item.requiresSkill('Vorton Projector Operation'), 'speed',
booster.getModifiedItemAttr('turretSpeeBonus'), **kwargs)

View File

@@ -159,6 +159,12 @@ class Fit:
self.gangBoosts = None
self.__ecmProjectedList = []
self.commandBonuses = {}
# Reps received, as a list of (amount, cycle time in seconds)
self._hullRr = []
self._armorRr = []
self._armorRrPreSpool = []
self._armorRrFullSpool = []
self._shieldRr = []
def clearFactorReloadDependentData(self):
# Here we clear all data known to rely on cycle parameters
@@ -550,6 +556,12 @@ class Fit:
if stuff is not None and stuff != self:
stuff.clear()
self._hullRr.clear()
self._armorRr.clear()
self._armorRrPreSpool.clear()
self._armorRrFullSpool.clear()
self._shieldRr.clear()
# If this is the active fit that we are clearing, not a projected fit,
# then this will run and clear the projected ships and flag the next
# iteration to skip this part to prevent recursion.
@@ -621,7 +633,7 @@ class Fit:
"duration", value)
if warfareBuffID == 12: # Shield Burst: Shield Extension: Shield HP
self.ship.boostItemAttr("shieldCapacity", value, stackingPenalties=True)
self.ship.boostItemAttr("shieldCapacity", value)
if warfareBuffID == 13: # Armor Burst: Armor Energizing: Armor Resistance
for damageType in ("Em", "Thermal", "Explosive", "Kinetic"):
@@ -640,7 +652,7 @@ class Fit:
"duration", value)
if warfareBuffID == 15: # Armor Burst: Armor Reinforcement: Armor HP
self.ship.boostItemAttr("armorHP", value, stackingPenalties=True)
self.ship.boostItemAttr("armorHP", value)
if warfareBuffID == 16: # Information Burst: Sensor Optimization: Scan Resolution
self.ship.boostItemAttr("scanResolution", value, stackingPenalties=True)
@@ -734,7 +746,7 @@ class Fit:
self.ship.boostItemAttr(attr, value, stackingPenalties=True)
if warfareBuffID == 42: # Erebus Effect Generator : Armor HP bonus
self.ship.boostItemAttr("armorHP", value, stackingPenalties=True)
self.ship.boostItemAttr("armorHP", value)
if warfareBuffID == 43: # Erebus Effect Generator : Explosive resistance bonus
for attr in ("armorExplosiveDamageResonance", "shieldExplosiveDamageResonance", "explosiveDamageResonance"):
@@ -756,7 +768,7 @@ class Fit:
self.ship.boostItemAttr(attr, value, stackingPenalties=True)
if warfareBuffID == 48: # Leviathan Effect Generator : Shield HP bonus
self.ship.boostItemAttr("shieldCapacity", value, stackingPenalties=True)
self.ship.boostItemAttr("shieldCapacity", value)
if warfareBuffID == 49: # Leviathan Effect Generator : EM resistance bonus
for attr in ("armorEmDamageResonance", "shieldEmDamageResonance", "emDamageResonance"):
@@ -870,6 +882,14 @@ class Fit:
if warfareBuffID == 100: # Weather_caustic_toxin_scan_resolution_bonus
self.ship.boostItemAttr("scanResolution", value, stackingPenalties=True)
if warfareBuffID == 2405: # Insurgency Suppression Bonus: Interdiction Range
self.modules.filteredItemBoost(
lambda mod: mod.item.requiresSkill("Navigation"),
"maxRange", value, stackingPenalties=True)
self.modules.filteredItemBoost(
lambda mod: mod.item.group.name == "Stasis Web",
"maxRange", value, stackingPenalties=True)
del self.commandBonuses[warfareBuffID]
def __resetDependentCalcs(self):
@@ -1478,11 +1498,11 @@ class Fit:
def tank(self):
reps = {
"passiveShield": self.calculateShieldRecharge(),
"shieldRepair": self.extraAttributes["shieldRepair"],
"armorRepair": self.extraAttributes["armorRepair"],
"armorRepairPreSpool": self.extraAttributes["armorRepairPreSpool"],
"armorRepairFullSpool": self.extraAttributes["armorRepairFullSpool"],
"hullRepair": self.extraAttributes["hullRepair"]
"shieldRepair": self.extraAttributes["shieldRepair"] + self._getAppliedShieldRr(),
"armorRepair": self.extraAttributes["armorRepair"] + self._getAppliedArmorRr(),
"armorRepairPreSpool": self.extraAttributes["armorRepairPreSpool"] + self._getAppliedArmorPreSpoolRr(),
"armorRepairFullSpool": self.extraAttributes["armorRepairFullSpool"] + self._getAppliedArmorFullSpoolRr(),
"hullRepair": self.extraAttributes["hullRepair"] + self._getAppliedHullRr()
}
return reps
@@ -1519,11 +1539,11 @@ class Fit:
if self.__sustainableTank is None:
sustainable = {
"passiveShield": self.calculateShieldRecharge(),
"shieldRepair": self.extraAttributes["shieldRepair"],
"armorRepair": self.extraAttributes["armorRepair"],
"armorRepairPreSpool": self.extraAttributes["armorRepairPreSpool"],
"armorRepairFullSpool": self.extraAttributes["armorRepairFullSpool"],
"hullRepair": self.extraAttributes["hullRepair"]
"shieldRepair": self.extraAttributes["shieldRepair"] + self._getAppliedShieldRr(),
"armorRepair": self.extraAttributes["armorRepair"] + self._getAppliedArmorRr(),
"armorRepairPreSpool": self.extraAttributes["armorRepairPreSpool"] + self._getAppliedArmorPreSpoolRr(),
"armorRepairFullSpool": self.extraAttributes["armorRepairFullSpool"] + self._getAppliedArmorFullSpoolRr(),
"hullRepair": self.extraAttributes["hullRepair"] + self._getAppliedHullRr()
}
if not self.capStable or self.factorReload:
# Map a local repairer type to the attribute it uses
@@ -1760,6 +1780,38 @@ class Fit:
mults.setdefault(stackingGroup, []).append((1 + strength / 100, None))
return calculateMultiplier(mults)
def _getAppliedHullRr(self):
return self.__getAppliedRr(self._hullRr)
def _getAppliedArmorRr(self):
return self.__getAppliedRr(self._armorRr)
def _getAppliedArmorPreSpoolRr(self):
return self.__getAppliedRr(self._armorRrPreSpool)
def _getAppliedArmorFullSpoolRr(self):
return self.__getAppliedRr(self._armorRrFullSpool)
def _getAppliedShieldRr(self):
return self.__getAppliedRr(self._shieldRr)
@staticmethod
def __getAppliedRr(rrList):
totalRaw = 0
for amount, cycleTime in rrList:
# That's right, for considerations of RR diminishing returns cycle time is rounded this way
totalRaw += amount / int(cycleTime)
RR_ADDITION = 7000
RR_MULTIPLIER = 10
appliedRr = 0
for amount, cycleTime in rrList:
rrps = amount / int(cycleTime)
modified_rrps = RR_ADDITION + (rrps * RR_MULTIPLIER)
rrps_mult = 1 - (((rrps + modified_rrps) / (totalRaw + modified_rrps)) - 1) ** 2
appliedRr += rrps_mult * amount / cycleTime
return appliedRr
def __deepcopy__(self, memo=None):
fitCopy = Fit()
# Character and owner are not copied

View File

@@ -114,7 +114,7 @@ class GraphFrame(AuxiliaryFrame):
newW = max(curW, bestW)
newH = max(curH, bestH)
if newW > curW or newH > curH:
newSize = wx.Size(newW, newH)
newSize = wx.Size(round(newW), round(newH))
self.SetSize(newSize)
self.SetMinSize(newSize)

View File

@@ -39,7 +39,7 @@ class VectorPicker(wx.Window):
self._directionOnly = kwargs.pop('directionOnly', False)
super().__init__(*args, **kwargs)
self._fontsize = max(1, float(kwargs.pop('fontsize', 8 / self.GetContentScaleFactor())))
self._font = wx.Font(self._fontsize, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False)
self._font = wx.Font(round(self._fontsize), wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False)
self._angle = 0
self.__length = 1
self._left = False
@@ -76,7 +76,7 @@ class VectorPicker(wx.Window):
self.__length = newLength
def DoGetBestSize(self):
return wx.Size(self._size, self._size)
return wx.Size(round(self._size), round(self._size))
def AcceptsFocusFromKeyboard(self):
return False
@@ -121,35 +121,37 @@ class VectorPicker(wx.Window):
radius = min(width, height) / 2 - 2
dc.SetBrush(wx.WHITE_BRUSH)
dc.DrawCircle(radius + 2, radius + 2, radius)
dc.DrawCircle(round(radius + 2), round(radius + 2), round(radius))
a = math.radians(self._angle + self._offset)
x = math.cos(a) * radius
y = math.sin(a) * radius
# See PR #2260 on why this is needed
pointRadius = 2 / self.GetContentScaleFactor() if 'wxGTK' in wx.PlatformInfo else 2
dc.DrawLine(radius + 2, radius + 2, radius + 2 + x * self._length, radius + 2 - y * self._length)
dc.DrawLine(
round(radius + 2), round(radius + 2),
round(radius + 2 + x * self._length), round(radius + 2 - y * self._length))
dc.SetBrush(wx.BLACK_BRUSH)
dc.DrawCircle(radius + 2 + x * self._length, radius + 2 - y * self._length, pointRadius)
dc.DrawCircle(round(radius + 2 + x * self._length), round(radius + 2 - y * self._length), round(pointRadius))
if self._label:
labelText = self._label
labelTextW, labelTextH = dc.GetTextExtent(labelText)
labelTextX = (radius * 2 + 4 - labelTextW) if (self._labelpos & 1) else 0
labelTextY = (radius * 2 + 4 - labelTextH) if (self._labelpos & 2) else 0
dc.DrawText(labelText, labelTextX, labelTextY)
dc.DrawText(labelText, round(labelTextX), round(labelTextY))
if not self._directionOnly:
lengthText = '%d%%' % (100 * self._length,)
lengthTextW, lengthTextH = dc.GetTextExtent(lengthText)
lengthTextX = radius + 2 + x / 2 - y / 3 - lengthTextW / 2
lengthTextY = radius + 2 - y / 2 - x / 3 - lengthTextH / 2
dc.DrawText(lengthText, lengthTextX, lengthTextY)
dc.DrawText(lengthText, round(lengthTextX), round(lengthTextY))
angleText = '%d\u00B0' % (self._angle,)
angleTextW, angleTextH = dc.GetTextExtent(angleText)
angleTextX = radius + 2 - x / 2 - angleTextW / 2
angleTextY = radius + 2 + y / 2 - angleTextH / 2
dc.DrawText(angleText, angleTextX, angleTextY)
dc.DrawText(angleText, round(angleTextX), round(angleTextY))
def OnEraseBackground(self, event):
pass

View File

@@ -212,7 +212,7 @@ class AttributeGauge(wx.Window):
for x in range(1, 20):
dc.SetBrush(wx.Brush(wx.LIGHT_GREY))
dc.SetPen(wx.Pen(wx.LIGHT_GREY))
dc.DrawRectangle(x * 10, 1, 1, rect.height)
dc.DrawRectangle(round(x * 10), 1, 1, round(rect.height))
dc.SetBrush(wx.Brush(colour))
dc.SetPen(wx.Pen(colour))
@@ -222,19 +222,19 @@ class AttributeGauge(wx.Window):
if value >= 0:
padding = (half if is_even else math.ceil(half - 1)) + 1
dc.DrawRectangle(padding, 1, w, rect.height)
dc.DrawRectangle(round(padding), 1, round(w), round(rect.height))
else:
padding = half - w + 1 if is_even else math.ceil(half) - (w - 1)
dc.DrawRectangle(padding, 1, w, rect.height)
dc.DrawRectangle(round(padding), 1, round(w), round(rect.height))
if self.leading_edge and (self.edge_on_neutral or value != 0):
dc.SetPen(wx.Pen(wx.WHITE))
dc.SetBrush(wx.Brush(wx.WHITE))
if value > 0:
dc.DrawRectangle(min(padding + w, rect.width), 1, 1, rect.height)
dc.DrawRectangle(round(min(padding + w, rect.width)), 1, 1, round(rect.height))
else:
dc.DrawRectangle(max(padding - 1, 1), 1, 1, rect.height)
dc.DrawRectangle(round(max(padding - 1, 1)), 1, 1, round(rect.height))
def OnTimer(self, event):
old_value = self._old_percentage

View File

@@ -103,10 +103,9 @@ class BitmapLoader:
pyfalog.warning("Missing icon file: {0}/{1}".format(location, filename))
return None
bmp: wx.Bitmap = img.ConvertToBitmap()
if scale > 1:
bmp.SetSize((bmp.GetWidth() // scale, bmp.GetHeight() // scale))
return bmp
return img.Scale(img.GetWidth() // scale, img.GetHeight() // scale).ConvertToBitmap()
return img.ConvertToBitmap()
@classmethod
def loadScaledBitmap(cls, name, location, scale=0):

View File

@@ -124,6 +124,8 @@ class AddEnvironmentEffect(ContextMenuUnconditional):
data.groups[_t('Sansha Incursion')] = self.getEffectBeacons(
_t('ContextMenu|ProjectedEffectManipulation|Sansha Incursion'))
data.groups[_t('Triglavian Invasion')] = self.getInvasionBeacons()
# data.groups[_t('Pirate Insurgency')] = self.getEffectBeacons(
# _t('ContextMenu|ProjectedEffectManipulation|Insurgency'))
return data
def getEffectBeacons(self, *groups, extra_garbage=()):
@@ -238,5 +240,12 @@ class AddEnvironmentEffect(ContextMenuUnconditional):
data.items.append(Entry(item.ID, item.name, item.name))
return data
def getInsurgencyBeacons(self):
data = self.getDestructibleBeacons()
# Suppression Interdiction Range Beacon
item = Market.getInstance().getItem(79839)
data.items.append(Entry(item.ID, item.name, item.name))
return data
AddEnvironmentEffect.register()

View File

@@ -253,8 +253,8 @@ class PFSearchBox(wx.Window):
else:
spad = 0
dc.DrawBitmap(self.searchBitmapShadow, self.searchButtonX + 1, self.searchButtonY + 1)
dc.DrawBitmap(self.searchBitmap, self.searchButtonX + spad, self.searchButtonY + spad)
dc.DrawBitmap(self.searchBitmapShadow, round(self.searchButtonX + 1), round(self.searchButtonY + 1))
dc.DrawBitmap(self.searchBitmap, round(self.searchButtonX + spad), round(self.searchButtonY + spad))
if self.isCancelButtonVisible:
if self.cancelBitmap:
@@ -262,8 +262,8 @@ class PFSearchBox(wx.Window):
cpad = 1
else:
cpad = 0
dc.DrawBitmap(self.cancelBitmapShadow, self.cancelButtonX + 1, self.cancelButtonY + 1)
dc.DrawBitmap(self.cancelBitmap, self.cancelButtonX + cpad, self.cancelButtonY + cpad)
dc.DrawBitmap(self.cancelBitmapShadow, round(self.cancelButtonX + 1), round(self.cancelButtonY + 1))
dc.DrawBitmap(self.cancelBitmap, round(self.cancelButtonX + cpad), round(self.cancelButtonY + cpad))
dc.SetPen(wx.Pen(sepColor, 1))
dc.DrawLine(0, rect.height - 1, rect.width, rect.height - 1)

View File

@@ -64,7 +64,7 @@ class PFGeneralPref(PreferenceView):
langBox.Add(hl.HyperLinkCtrl(panel, -1,
_t("Interested in helping with translations?"),
URL="https://github.com/pyfa-org/Pyfa/blob/master/locale/README.md"
), 0, wx.LEFT | wx.ALIGN_CENTER_VERTICAL, 15)
), 0, wx.LEFT, 15)
else:
self.stLangLabel = wx.StaticText(panel, wx.ID_ANY, _t("Pyfa language selection disabled. Please check if .mo files have been generated.\nRefer to locale/README.md for info."), wx.DefaultPosition, wx.DefaultSize, 0)
self.stLangLabel.Wrap(-1)
@@ -93,7 +93,7 @@ class PFGeneralPref(PreferenceView):
langBox.Add(wx.StaticText(panel, wx.ID_ANY,
_t("Auto will use the same language pyfa uses if available, otherwise English"),
wx.DefaultPosition,
wx.DefaultSize, 0), 0, wx.LEFT | wx.ALIGN_CENTER_VERTICAL, 15)
wx.DefaultSize, 0), 0, wx.LEFT, 15)
self.cbGlobalChar = wx.CheckBox(panel, wx.ID_ANY, _t("Use global character"), wx.DefaultPosition, wx.DefaultSize,
0)

View File

@@ -104,14 +104,14 @@ class CategoryItem(SFBrowserItem):
textColor = colorUtils.GetSuitable(windowColor, 1)
mdc.SetTextForeground(textColor)
mdc.DrawBitmap(self.dropShadowBitmap, self.shipBmpx + 1, self.shipBmpy + 1)
mdc.DrawBitmap(self.shipBmp, self.shipBmpx, self.shipBmpy, 0)
mdc.DrawBitmap(self.dropShadowBitmap, round(self.shipBmpx + 1), round(self.shipBmpy + 1))
mdc.DrawBitmap(self.shipBmp, round(self.shipBmpx), round(self.shipBmpy), 0)
mdc.SetFont(self.fontBig)
categoryName, fittings = self.fittingInfo
mdc.DrawText(categoryName, self.catx, self.caty)
mdc.DrawText(categoryName, round(self.catx), round(self.caty))
# =============================================================================

View File

@@ -416,9 +416,18 @@ class FitItem(SFItem.SFBrowserItem):
if self.dragging:
if not self.dragged:
if self.dragMotionTrigger < 0:
if not self.dragTLFBmp:
tdc = wx.MemoryDC()
bmpWidth = self.toolbarx if self.toolbarx < 200 else 200
self.dragTLFBmp = wx.Bitmap(bmpWidth, self.GetRect().height)
tdc.SelectObject(self.dragTLFBmp)
tdc.SetBrush(wx.Brush(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)))
tdc.DrawRectangle(0, 0, bmpWidth, self.GetRect().height)
self.DrawItem(tdc)
tdc.SelectObject(wx.NullBitmap)
if not self.HasCapture():
self.CaptureMouse()
self.dragWindow = PFBitmapFrame(self, pos, self.dragTLFBmp)
self.dragWindow = PFBitmapFrame(self, pos, self.dragTLFBmp)
self.dragWindow.Show()
self.dragged = True
self.dragMotionTrigger = self.dragMotionTrail
@@ -493,9 +502,9 @@ class FitItem(SFItem.SFBrowserItem):
else:
shipEffBk = self.shipEffBk
mdc.DrawBitmap(shipEffBk, self.shipEffx, self.shipEffy, 0)
mdc.DrawBitmap(shipEffBk, round(self.shipEffx), round(self.shipEffy), 0)
mdc.DrawBitmap(self.shipBmp, self.shipBmpx, self.shipBmpy, 0)
mdc.DrawBitmap(self.shipBmp, round(self.shipBmpx), round(self.shipBmpy), 0)
mdc.SetFont(self.fontNormal)
@@ -504,26 +513,21 @@ class FitItem(SFItem.SFBrowserItem):
pfdate = drawUtils.GetPartialText(mdc, fitLocalDate,
self.toolbarx - self.textStartx - self.padding * 2 - self.thoverw)
mdc.DrawText(pfdate, self.textStartx, self.timestampy)
mdc.DrawText(pfdate, round(self.textStartx), round(self.timestampy))
mdc.SetFont(self.fontSmall)
mdc.DrawText(self.toolbar.hoverLabel, self.thoverx, self.thovery)
mdc.DrawText(self.toolbar.hoverLabel, round(self.thoverx), round(self.thovery))
mdc.SetFont(self.fontBig)
psname = drawUtils.GetPartialText(mdc, self.fitName,
self.toolbarx - self.textStartx - self.padding * 2 - self.thoverw)
mdc.DrawText(psname, self.textStartx, self.fitNamey)
mdc.DrawText(psname, round(self.textStartx), round(self.fitNamey))
if self.tcFitName.IsShown():
self.AdjustControlSizePos(self.tcFitName, self.textStartx, self.toolbarx - self.editWidth - self.padding)
tdc = wx.MemoryDC()
self.dragTLFBmp = wx.Bitmap((self.toolbarx if self.toolbarx < 200 else 200), rect.height, 24)
tdc.SelectObject(self.dragTLFBmp)
tdc.Blit(0, 0, (self.toolbarx if self.toolbarx < 200 else 200), rect.height, mdc, 0, 0, wx.COPY)
tdc.SelectObject(wx.NullBitmap)
def AdjustControlSizePos(self, editCtl, start, end):
fnEditSize = editCtl.GetSize()

View File

@@ -231,7 +231,7 @@ class NavigationPanel(SFItem.SFBrowserItem):
self.toolbar.SetPosition((self.toolbarx, self.toolbary))
mdc.SetFont(self.fontSmall)
mdc.DrawText(self.toolbar.hoverLabel, self.thoverx, self.thovery)
mdc.DrawText(self.toolbar.hoverLabel, round(self.thoverx), round(self.thovery))
mdc.SetPen(wx.Pen(sepColor, 1))
mdc.DrawLine(0, rect.height - 1, rect.width, rect.height - 1)

View File

@@ -63,4 +63,4 @@ class PFBitmapFrame(wx.Frame):
mdc.DrawBitmap(self.bitmap, 0, 0)
mdc.SetPen(wx.Pen("#000000", width=1))
mdc.SetBrush(wx.TRANSPARENT_BRUSH)
mdc.DrawRectangle(0, 0, rect.width, rect.height)
mdc.DrawRectangle(0, 0, round(rect.width), round(rect.height))

View File

@@ -57,7 +57,7 @@ class PFListPane(wx.ScrolledWindow):
posy = self.GetScrollPos(wx.VERTICAL)
posy -= self.itemsHeight
self.Scroll(0, posy)
self.Scroll(0, round(posy))
event.Skip()
@@ -65,7 +65,7 @@ class PFListPane(wx.ScrolledWindow):
posy = self.GetScrollPos(wx.VERTICAL)
posy += self.itemsHeight
self.Scroll(0, posy)
self.Scroll(0, round(posy))
event.Skip()
@@ -109,7 +109,7 @@ class PFListPane(wx.ScrolledWindow):
# if we need to adjust
if new_vs_x != -1 or new_vs_y != -1:
self.Scroll(new_vs_x, new_vs_y)
self.Scroll(round(new_vs_x), round(new_vs_y))
def AddWidget(self, widget):
widget.Reparent(self)

View File

@@ -194,25 +194,25 @@ class RaceSelector(wx.Window):
bmp = wx.Bitmap(img)
if self.layout == wx.VERTICAL:
mdc.DrawBitmap(dropShadow, rect.width - self.buttonsPadding - bmp.GetWidth() + 1, y + 1)
mdc.DrawBitmap(bmp, rect.width - self.buttonsPadding - bmp.GetWidth(), y)
mdc.DrawBitmap(dropShadow, round(rect.width - self.buttonsPadding - bmp.GetWidth() + 1), round(y + 1))
mdc.DrawBitmap(bmp, round(rect.width - self.buttonsPadding - bmp.GetWidth()), round(y))
y += raceBmp.GetHeight() + self.buttonsPadding
mdc.SetPen(wx.Pen(sepColor, 1))
mdc.DrawLine(rect.width - 1, 0, rect.width - 1, rect.height)
else:
mdc.DrawBitmap(dropShadow, x + 1, self.buttonsPadding + 1)
mdc.DrawBitmap(bmp, x, self.buttonsPadding)
mdc.DrawBitmap(dropShadow, round(x + 1), round(self.buttonsPadding + 1))
mdc.DrawBitmap(bmp, round(x), round(self.buttonsPadding))
x += raceBmp.GetWidth() + self.buttonsPadding
mdc.SetPen(wx.Pen(sepColor, 1))
mdc.DrawLine(0, 0, rect.width, 0)
if self.direction < 1:
if self.layout == wx.VERTICAL:
mdc.DrawBitmap(self.bmpArrow, -2, (rect.height - self.bmpArrow.GetHeight()) / 2)
mdc.DrawBitmap(self.bmpArrow, -2, round((rect.height - self.bmpArrow.GetHeight()) / 2))
else:
mdc.SetPen(wx.Pen(sepColor, 1))
mdc.DrawLine(0, 0, rect.width, 0)
mdc.DrawBitmap(self.bmpArrow, (rect.width - self.bmpArrow.GetWidth()) / 2, -2)
mdc.DrawBitmap(self.bmpArrow, round((rect.width - self.bmpArrow.GetWidth()) / 2), -2)
def OnTimer(self, event):
if event.GetId() == self.animTimerID:

View File

@@ -233,8 +233,8 @@ class PFToolbar:
bmpWidth = bmp.GetWidth()
pdc.DrawBitmap(dropShadowBmp, bx + self.padding / 2, self.toolbarY + self.padding / 2)
pdc.DrawBitmap(bmp, tbx, by)
pdc.DrawBitmap(dropShadowBmp, round(bx + self.padding / 2), round(self.toolbarY + self.padding / 2))
pdc.DrawBitmap(bmp, round(tbx), round(by))
bx += bmpWidth + self.padding

View File

@@ -247,12 +247,12 @@ class ShipItem(SFItem.SFBrowserItem):
else:
shipEffBk = self.shipEffBk
mdc.DrawBitmap(shipEffBk, self.shipEffx, self.shipEffy, 0)
mdc.DrawBitmap(shipEffBk, round(self.shipEffx), round(self.shipEffy), 0)
mdc.DrawBitmap(self.shipBmp, self.shipBmpx, self.shipBmpy, 0)
mdc.DrawBitmap(self.shipBmp, round(self.shipBmpx), round(self.shipBmpy), 0)
mdc.DrawBitmap(self.raceDropShadowBmp, self.raceBmpx + 1, self.raceBmpy + 1)
mdc.DrawBitmap(self.raceBmp, self.raceBmpx, self.raceBmpy)
mdc.DrawBitmap(self.raceDropShadowBmp, round(self.raceBmpx + 1), round(self.raceBmpy + 1))
mdc.DrawBitmap(self.raceBmp, round(self.raceBmpx), round(self.raceBmpy))
shipName, shipTrait, fittings = self.shipFittingInfo
@@ -264,17 +264,17 @@ class ShipItem(SFItem.SFBrowserItem):
fformat = "%d fits"
mdc.SetFont(self.fontNormal)
mdc.DrawText(fformat % fittings if fittings > 0 else fformat, self.textStartx, self.fittingsy)
mdc.DrawText(fformat % fittings if fittings > 0 else fformat, round(self.textStartx), round(self.fittingsy))
mdc.SetFont(self.fontSmall)
mdc.DrawText(self.toolbar.hoverLabel, self.thoverx, self.thovery)
mdc.DrawText(self.toolbar.hoverLabel, round(self.thoverx), round(self.thovery))
mdc.SetFont(self.fontBig)
psname = drawUtils.GetPartialText(mdc, shipName,
self.toolbarx - self.textStartx - self.padding * 2 - self.thoverw)
mdc.DrawText(psname, self.textStartx, self.shipNamey)
mdc.DrawText(psname, round(self.textStartx), round(self.shipNamey))
if self.tcFitName.IsShown():
self.AdjustControlSizePos(self.tcFitName, self.textStartx, self.toolbarx - self.editWidth - self.padding)

View File

@@ -146,8 +146,8 @@ class ResistancesViewFull(StatsView):
lbl = PyGauge(contentPanel, font, 100)
lbl.SetMinSize((48, 16))
lbl.SetBackgroundColour(wx.Colour(bc[0], bc[1], bc[2]))
lbl.SetBarColour(wx.Colour(fc[0], fc[1], fc[2]))
lbl.SetBackgroundColour(wx.Colour(round(bc[0]), round(bc[1]), round(bc[2])))
lbl.SetBarColour(wx.Colour(round(fc[0]), round(fc[1]), round(fc[2])))
lbl.SetBarGradient()
lbl.SetFractionDigits(1)

View File

@@ -956,7 +956,7 @@ class FittingView(d.Display):
cx = padding
if slotMap[st.slot]:
mdc.DrawRectangle(cx, cy, maxWidth - cx, maxRowHeight)
mdc.DrawRectangle(round(cx), round(cy), round(maxWidth - cx), round(maxRowHeight))
for i, col in enumerate(self.activeColumns):
if i > maxColumns:

View File

@@ -516,7 +516,10 @@ class SkillTreeView(wx.Panel):
def populateSkillTreeSkillSearch(self, event=None):
sChar = Character.getInstance()
char = self.charEditor.entityEditor.getActiveEntity()
search = self.searchInput.GetLineText(0)
try:
search = self.searchInput.GetLineText(0)
except AttributeError:
search = self.searchInput.GetValue()
root = self.root
tree = self.skillTreeListCtrl
@@ -530,7 +533,7 @@ class SkillTreeView(wx.Panel):
iconId = self.skillBookDirtyImageId
childId = tree.AppendItem(root, name, iconId, data=('skill', id))
tree.SetItemText(childId, 1, _t("Level {}d").format(int(level)) if isinstance(level, float) else level)
tree.SetItemText(childId, 1, _t("Level {}").format(int(level)) if isinstance(level, float) else level)
def populateSkillTree(self, event=None):
sChar = Character.getInstance()
@@ -588,7 +591,6 @@ class SkillTreeView(wx.Panel):
iconId = self.skillBookDirtyImageId
childId = tree.AppendItem(root, name, iconId, data=('skill', id))
tree.SetItemText(childId, 1, _t("Level {}").format(int(level)) if isinstance(level, float) else level)
def spawnMenu(self, event):

View File

@@ -530,11 +530,11 @@ class _TabRenderer:
mbmp = wx.Bitmap(mimg)
# draw middle bitmap, offset by left
mdc.DrawBitmap(mbmp, self.left_width, 0)
mdc.DrawBitmap(mbmp, round(self.left_width), 0)
# draw right bitmap offset by left + middle
mdc.DrawBitmap(self.ctab_right_bmp,
self.content_width + self.left_width, 0)
round(self.content_width + self.left_width), 0)
mdc.SelectObject(wx.NullBitmap)
@@ -555,7 +555,7 @@ class _TabRenderer:
+ self.left_width \
- self.ctab_close_bmp.GetWidth() / 2
y_offset = (self.tab_height - self.ctab_close_bmp.GetHeight()) / 2
self.close_region.Offset(x_offset, y_offset)
self.close_region.Offset(round(x_offset), round(y_offset))
def InitColors(self):
"""Determines colors used for tab, based on system settings"""
@@ -590,8 +590,8 @@ class _TabRenderer:
# Draw tab icon
mdc.DrawBitmap(
bmp,
self.left_width + self.padding - bmp.GetWidth() / 2,
(height - bmp.GetHeight()) / 2)
round(self.left_width + self.padding - bmp.GetWidth() / 2),
round((height - bmp.GetHeight()) / 2))
# draw close button
if self.closeable:
@@ -604,8 +604,8 @@ class _TabRenderer:
mdc.DrawBitmap(
cbmp,
self.content_width + self.left_width - cbmp.GetWidth() / 2,
(height - cbmp.GetHeight()) / 2)
round(self.content_width + self.left_width - cbmp.GetWidth() / 2),
round((height - cbmp.GetHeight()) / 2))
mdc.SelectObject(wx.NullBitmap)
@@ -640,7 +640,7 @@ class _TabRenderer:
# draw text (with no ellipses)
text = draw.GetPartialText(dc, self.text, maxsize, "")
tx, ty = dc.GetTextExtent(text)
dc.DrawText(text, text_start + self.padding, height / 2 - ty / 2)
dc.DrawText(text, round(text_start + self.padding), round(height / 2 - ty / 2))
def __repr__(self):
return "_TabRenderer(text={}, disabled={}) at {}".format(
@@ -1005,7 +1005,7 @@ class _TabsContainer(wx.Panel):
region = tab.GetCloseButtonRegion()
posx, posy = tab.GetPosition()
region.Offset(posx, posy)
region.Offset(round(posx), round(posy))
if region.Contains(x, y):
index = self.tabs.index(tab)
@@ -1036,7 +1036,7 @@ class _TabsContainer(wx.Panel):
region = self.add_button.GetRegion()
ax, ay = self.add_button.GetPosition()
region.Offset(ax, ay)
region.Offset(round(ax), round(ay))
if region.Contains(x, y):
ev = PageAdding()
@@ -1058,7 +1058,7 @@ class _TabsContainer(wx.Panel):
for tab in self.tabs:
region = tab.GetCloseButtonRegion()
posx, posy = tab.GetPosition()
region.Offset(posx, posy)
region.Offset(round(posx), round(posy))
if region.Contains(x, y):
if not tab.GetCloseButtonHoverStatus():
@@ -1093,7 +1093,7 @@ class _TabsContainer(wx.Panel):
tabRegion = tab.GetTabRegion()
tabPos = tab.GetPosition()
tabPosX, tabPosY = tabPos
tabRegion.Offset(tabPosX, tabPosY)
tabRegion.Offset(round(tabPosX), round(tabPosY))
if tabRegion.Contains(x, y):
return True
@@ -1166,7 +1166,7 @@ class _TabsContainer(wx.Panel):
region = self.add_button.GetRegion()
ax, ay = self.add_button.GetPosition()
region.Offset(ax, ay)
region.Offset(round(ax), round(ay))
if region.Contains(x, y):
if not self.add_button.IsHighlighted():
@@ -1198,7 +1198,7 @@ class _TabsContainer(wx.Panel):
if self.show_add_button:
ax, ay = self.add_button.GetPosition()
mdc.DrawBitmap(self.add_button.Render(), ax, ay, True)
mdc.DrawBitmap(self.add_button.Render(), round(ax), round(ay), True)
for i in range(len(self.tabs) - 1, -1, -1):
tab = self.tabs[i]
@@ -1206,12 +1206,12 @@ class _TabsContainer(wx.Panel):
if not tab.IsSelected():
# drop shadow first
mdc.DrawBitmap(self.fxBmps[tab], posx, posy, True)
mdc.DrawBitmap(self.fxBmps[tab], round(posx), (posy), True)
bmp = tab.Render()
img = bmp.ConvertToImage()
img = img.AdjustChannels(1, 1, 1, 0.85)
bmp = wx.Bitmap(img)
mdc.DrawBitmap(bmp, posx, posy, True)
mdc.DrawBitmap(bmp, round(posx), (posy), True)
mdc.SetDeviceOrigin(posx, posy)
tab.DrawText(mdc)
@@ -1224,7 +1224,7 @@ class _TabsContainer(wx.Panel):
if selected:
posx, posy = selected.GetPosition()
# drop shadow first
mdc.DrawBitmap(self.fxBmps[selected], posx, posy, True)
mdc.DrawBitmap(self.fxBmps[selected], round(posx), round(posy), True)
bmp = selected.Render()
@@ -1233,7 +1233,7 @@ class _TabsContainer(wx.Panel):
img = img.AdjustChannels(1.2, 1.2, 1.2, 0.7)
bmp = wx.Bitmap(img)
mdc.DrawBitmap(bmp, posx, posy, True)
mdc.DrawBitmap(bmp, round(posx), round(posy), True)
mdc.SetDeviceOrigin(posx, posy)
selected.DrawText(mdc)
@@ -1514,7 +1514,7 @@ class PFNotebookPagePreview(wx.Frame):
x, y = mdc.GetTextExtent(self.title)
mdc.SetBrush(wx.Brush(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOWTEXT)))
mdc.DrawRectangle(0, 0, rect.width, 16)
mdc.DrawRectangle(0, 0, round(rect.width), 16)
mdc.SetTextForeground(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW))
@@ -1523,4 +1523,4 @@ class PFNotebookPagePreview(wx.Frame):
mdc.SetPen(wx.Pen("#000000", width=1))
mdc.SetBrush(wx.TRANSPARENT_BRUSH)
mdc.DrawRectangle(0, 16, rect.width, rect.height - 16)
mdc.DrawRectangle(0, 16, round(rect.width), round(rect.height - 16))

View File

@@ -193,7 +193,7 @@ class CopySelectDialog(wx.Dialog):
def exportEsi(self, options, callback):
fit = getFit(self.mainFrame.getActiveFit())
Port.exportESI(fit, True, callback)
Port.exportESI(fit, False, False, False, callback)
def exportXml(self, options, callback):
fit = getFit(self.mainFrame.getActiveFit())

View File

@@ -283,7 +283,7 @@ class ExportToEve(AuxiliaryFrame):
def __init__(self, parent):
super().__init__(
parent, id=wx.ID_ANY, title=_t("Export fit to EVE"), pos=wx.DefaultPosition,
size=wx.Size(400, 140) if "wxGTK" in wx.PlatformInfo else wx.Size(350, 115), resizeable=True)
size=wx.Size(400, 175) if "wxGTK" in wx.PlatformInfo else wx.Size(350, 145), resizeable=True)
self.mainFrame = parent
@@ -305,6 +305,16 @@ class ExportToEve(AuxiliaryFrame):
self.exportChargesCb.Bind(wx.EVT_CHECKBOX, self.OnChargeExportChange)
mainSizer.Add(self.exportChargesCb, 0, 0, 5)
self.exportImplantsCb = wx.CheckBox(self, wx.ID_ANY, _t('Export Implants'), wx.DefaultPosition, wx.DefaultSize, 0)
self.exportImplantsCb.SetValue(EsiSettings.getInstance().get('exportImplants'))
self.exportImplantsCb.Bind(wx.EVT_CHECKBOX, self.OnImplantsExportChange)
mainSizer.Add(self.exportImplantsCb, 0, 0, 5)
self.exportBoostersCb = wx.CheckBox(self, wx.ID_ANY, _t('Export Boosters'), wx.DefaultPosition, wx.DefaultSize, 0)
self.exportBoostersCb.SetValue(EsiSettings.getInstance().get('exportBoosters'))
self.exportBoostersCb.Bind(wx.EVT_CHECKBOX, self.OnBoostersExportChange)
mainSizer.Add(self.exportBoostersCb, 0, 0, 5)
self.exportBtn.Bind(wx.EVT_BUTTON, self.exportFitting)
self.statusbar = wx.StatusBar(self)
@@ -324,6 +334,14 @@ class ExportToEve(AuxiliaryFrame):
EsiSettings.getInstance().set('exportCharges', self.exportChargesCb.GetValue())
event.Skip()
def OnImplantsExportChange(self, event):
EsiSettings.getInstance().set('exportImplants', self.exportImplantsCb.GetValue())
event.Skip()
def OnBoostersExportChange(self, event):
EsiSettings.getInstance().set('exportBoosters', self.exportBoostersCb.GetValue())
event.Skip()
def updateCharList(self):
sEsi = Esi.getInstance()
chars = sEsi.getSsoCharacters()
@@ -360,8 +378,10 @@ class ExportToEve(AuxiliaryFrame):
sFit = Fit.getInstance()
exportCharges = self.exportChargesCb.GetValue()
exportImplants = self.exportImplantsCb.GetValue()
exportBoosters = self.exportBoostersCb.GetValue()
try:
data = sPort.exportESI(sFit.getFit(fitID), exportCharges)
data = sPort.exportESI(sFit.getFit(fitID), exportCharges, exportImplants, exportBoosters)
except ESIExportException as e:
msg = str(e)
if not msg:

View File

@@ -42,7 +42,7 @@ class DmgPatternNameValidator(BaseValidator):
return DmgPatternNameValidator()
def Validate(self, win):
entityEditor = win.parent
entityEditor = win.Parent.parent
textCtrl = self.GetWindow()
text = textCtrl.GetValue().strip()

View File

@@ -257,7 +257,7 @@ class PyGauge(wx.Window):
else:
w = rect.width * (float(value) / 100)
r = copy.copy(rect)
r.width = w
r.width = round(w)
dc.DrawRectangle(r)
else:
# if bar color is not set, then we use pre-defined transitions
@@ -269,7 +269,7 @@ class PyGauge(wx.Window):
else:
w = rect.width * (float(value) / 100)
r = copy.copy(rect)
r.width = w
r.width = round(w)
# determine transition range number and calculate xv (which is the
# progress between the two transition ranges)
@@ -317,7 +317,7 @@ class PyGauge(wx.Window):
gradient_color
)
if gradient_bitmap is not None:
dc.DrawBitmap(gradient_bitmap, r.left, r.top)
dc.DrawBitmap(gradient_bitmap, round(r.left), round(r.top))
# font stuff begins here
dc.SetFont(self.font)

View File

@@ -39,7 +39,7 @@ class ImplantTextValidor(BaseValidator):
return ImplantTextValidor()
def Validate(self, win):
entityEditor = win.parent
entityEditor = win.Parent.parent
textCtrl = self.GetWindow()
text = textCtrl.GetValue().strip()

View File

@@ -62,7 +62,7 @@ class TargetProfileNameValidator(BaseValidator):
return TargetProfileNameValidator()
def Validate(self, win):
entityEditor = win.parent
entityEditor = win.Parent.parent
textCtrl = self.GetWindow()
text = textCtrl.GetValue().strip()

View File

@@ -80,7 +80,7 @@ class LoadAnimation(wx.Window):
bh = rect.height
y = 0
dc.DrawRectangle(x, y, barWidth, bh)
dc.DrawRectangle(round(x), round(y), round(barWidth), round(bh))
x += barWidth
textColor = wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOWTEXT)

View File

@@ -12,7 +12,7 @@ def Brighten(color, factor):
b += (255 - b) * factor
g += (255 - g) * factor
return wx.Colour(r, g, b, a)
return wx.Colour(round(r), round(g), round(b), round(a))
def Darken(color, factor):
@@ -30,7 +30,7 @@ def Darken(color, factor):
b = min(max(b, 0), 255)
g = min(max(g, 0), 255)
return wx.Colour(r, g, b, a)
return wx.Colour(round(r), round(g), round(b), round(a))
def _getBrightness(color):
@@ -70,4 +70,4 @@ def CalculateTransition(s_color, e_color, delta):
tG = sG + (eG - sG) * delta
tB = sB + (eB - sB) * delta
return wx.Colour(tR, tG, tB, (sA + eA) / 2)
return wx.Colour(round(tR), round(tG), round(tB), round((sA + eA) / 2))

View File

@@ -43,14 +43,14 @@ def DrawGradientBar(width, height, gStart, gEnd, gMid=None, fillRatio=4):
mdc.SelectObject(canvas)
r = wx.Rect(0, 0, width, height)
r.SetHeight(height / fillRatio)
r.SetHeight(round(height / fillRatio))
if gMid is None:
gMid = gStart
mdc.GradientFillLinear(r, gStart, gMid, wx.SOUTH)
r.SetTop(r.GetHeight())
r.SetHeight(height * (fillRatio - 1) / fillRatio + (1 if height % fillRatio != 0 else 0))
r.SetHeight(round(height * (fillRatio - 1) / fillRatio + (1 if height % fillRatio != 0 else 0)))
mdc.GradientFillLinear(r, gMid, gEnd, wx.SOUTH)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

BIN
imgs/renders/26445@1x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
imgs/renders/26445@2x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

BIN
imgs/renders/26515@1x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
imgs/renders/26515@2x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

BIN
imgs/renders/26516@1x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
imgs/renders/26516@2x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

View File

@@ -92,7 +92,8 @@ exe = EXE(
upx=upx,
icon= icon,
# version='win-version-info.txt',
console=False
console=False,
contents_directory='app',
)
coll = COLLECT(

View File

@@ -1,15 +1,15 @@
wxPython == 4.0.6
logbook >= 1.0.0
numpy == 1.19.2
matplotlib == 3.2.2
wxPython
logbook
numpy
matplotlib
python-dateutil
requests == 2.28.1
sqlalchemy == 1.3.23
cryptography >= 2.3
markdown2 >= 2.3.5
packaging >= 16.8
roman >= 2.0.0
beautifulsoup4 >= 4.6.0
pyyaml >= 5.1
python-jose==3.0.1
requests-cache==0.8.1
requests
sqlalchemy==1.4.50
cryptography
markdown2
packaging
roman
beautifulsoup4
pyyaml
python-jose
requests-cache

View File

@@ -19,7 +19,7 @@ params = {
resp = requests.get('https://api.crowdin.com/api/project/pyfa/status', params=params)
data = resp.json()
if resp.status_code is not 200:
if resp.status_code != 200:
print("Error fetching Crowdin progress. Error: {}; {}".format(data['error']['message']))
sys.exit()
@@ -36,4 +36,4 @@ data = {x['canonical_name']: x for x in data}
with open("locale/progress.json", 'w') as file:
file.seek(0)
file.truncate()
json.dump(data, file)
json.dump(data, file)

View File

@@ -4,10 +4,8 @@ echo "${PYFA_VERSION}"
echo "Pyfa version (YAML):"
cat version.yml
echo "Building distributive..."
python3 -m PyInstaller -y --clean --windowed dist_assets/mac/pyfa.spec
python3 -m PyInstaller -y --clean dist_assets/mac/pyfa.spec
echo "Compressing distributive..."
cd dist
/usr/libexec/PlistBuddy -c "Add :CFBundleVersion string ${PYFA_VERSION}" "pyfa.app/Contents/Info.plist" # Add missing
/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString ${PYFA_VERSION}" "pyfa.app/Contents/Info.plist" # Modify existing
zip -r "pyfa-$PYFA_VERSION-mac.zip" pyfa.app
md5 -r "pyfa-$PYFA_VERSION-mac.zip"

View File

@@ -3,9 +3,7 @@ echo "Python version:"
python3 --version
echo "Upgrading pip..."
python3 -m pip install --upgrade pip
echo "Installing pathlib2 (wxpython issue workaround)..."
python3 -m pip install pathlib2
echo "Installing app requirements..."
python3 -m pip install -r requirements.txt
echo "Installing packaging tools..."
python3 -m pip install PyInstaller==3.6
python3 -m pip install PyInstaller

View File

@@ -88,7 +88,7 @@ class Fit:
"enableGaugeAnimation": True,
"openFitInNew": False,
"priceSystem": "Jita",
"priceSource": "evemarketer",
"priceSource": "fuzzwork market",
"showShipBrowserTooltip": True,
"marketSearchDelay": 250,
"ammoChangeAll": False,

View File

@@ -1 +1 @@
__all__ = ['evemarketer', 'evemarketdata', 'fuzzwork', 'cevemarket']
__all__ = ['evetycoon', 'evemarketdata', 'fuzzwork', 'cevemarket']

View File

@@ -1,75 +0,0 @@
# =============================================================================
# Copyright (C) 2010 Diego Duclos
#
# This file is part of pyfa.
#
# pyfa is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# pyfa is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with pyfa. If not, see <http://www.gnu.org/licenses/>.
# =============================================================================
from xml.dom import minidom
from logbook import Logger
from eos.saveddata.price import PriceStatus
from service.network import Network
from service.price import Price
pyfalog = Logger(__name__)
class EveMarketer:
name = 'evemarketer'
group = 'tranquility'
def __init__(self, priceMap, system, fetchTimeout):
# Try selected system first
self.fetchPrices(priceMap, max(2 * fetchTimeout / 3, 2), system)
# If price was not available - try globally
if priceMap:
self.fetchPrices(priceMap, max(fetchTimeout / 3, 2))
@staticmethod
def fetchPrices(priceMap, fetchTimeout, system=None):
params = {'typeid': {typeID for typeID in priceMap}}
if system is not None:
params['usesystem'] = system
baseurl = 'https://api.evemarketer.com/ec/marketstat'
network = Network.getInstance()
data = network.get(url=baseurl, type=network.PRICES, params=params, timeout=fetchTimeout)
xml = minidom.parseString(data.text)
types = xml.getElementsByTagName('marketstat').item(0).getElementsByTagName('type')
# Cycle through all types we've got from request
for type_ in types:
# Get data out of each typeID details tree
typeID = int(type_.getAttribute('id'))
sell = type_.getElementsByTagName('sell').item(0)
# If price data wasn't there, skip the item
try:
percprice = float(sell.getElementsByTagName('percentile').item(0).firstChild.data)
except (TypeError, ValueError):
pyfalog.warning('Failed to get price for: {0}', type_)
continue
# Price is 0 if evemarketer has info on this item, but it is not available
# for current scope limit. If we provided scope limit - make sure to skip
# such items to check globally, and do not skip if requested globally
if percprice == 0 and system is not None:
continue
priceMap[typeID].update(PriceStatus.fetchSuccess, percprice)
del priceMap[typeID]
Price.register(EveMarketer)

View File

@@ -0,0 +1,68 @@
# =============================================================================
# Copyright (C) 2010 Diego Duclos
#
# This file is part of pyfa.
#
# pyfa is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# pyfa is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with pyfa. If not, see <http://www.gnu.org/licenses/>.
# =============================================================================
from xml.dom import minidom
from logbook import Logger
from eos.saveddata.price import PriceStatus
from service.network import Network
from service.price import Price
pyfalog = Logger(__name__)
locations = {
30000142: (10000002, 60003760), # Jita 4-4 CNAP
30002187: (10000043, 60008494), # Amarr VIII
30002659: (10000032, 60011866), # Dodixie
30002510: (10000030, 60004588), # Rens
30002053: (10000042, 60005686)} # Hek
class EveTycoon:
name = 'evetycoon'
group = 'tranquility'
def __init__(self, priceMap, system, fetchTimeout):
# Try selected system first
self.fetchPrices(priceMap, max(2 * fetchTimeout / 3, 2), system)
@staticmethod
def fetchPrices(priceMap, fetchTimeout, system=None):
# Default to jita when system is not found
regionID, stationID = locations.get(system, locations[30000142])
baseurl = 'https://evetycoon.com/api/v1/market/stats'
network = Network.getInstance()
# Cycle through all types we've got from request
for typeID in tuple(priceMap):
url = f'{baseurl}/{regionID}/{typeID}'
resp = network.get(url=url, params={'locationId': stationID}, type=network.PRICES, timeout=fetchTimeout)
if resp.status_code != 200:
continue
price = resp.json()['sellAvgFivePercent']
# Price is 0 - no data
if price == 0:
continue
priceMap[typeID].update(PriceStatus.fetchSuccess, price)
del priceMap[typeID]
Price.register(EveTycoon)

View File

@@ -56,7 +56,7 @@ INV_FLAG_DRONEBAY = 87
INV_FLAG_FIGHTER = 158
def exportESI(ofit, exportCharges, callback):
def exportESI(ofit, exportCharges, exportImplants, exportBoosters, callback):
# A few notes:
# max fit name length is 50 characters
# Most keys are created simply because they are required, but bogus data is okay
@@ -133,6 +133,22 @@ def exportESI(ofit, exportCharges, callback):
item['type_id'] = fighter.item.ID
fit['items'].append(item)
if exportImplants:
for implant in ofit.implants:
item = nested_dict()
item['flag'] = INV_FLAG_CARGOBAY
item['quantity'] = 1
item['type_id'] = implant.item.ID
fit['items'].append(item)
if exportBoosters:
for booster in ofit.boosters:
item = nested_dict()
item['flag'] = INV_FLAG_CARGOBAY
item['quantity'] = 1
item['type_id'] = booster.item.ID
fit['items'].append(item)
if len(fit['items']) == 0:
raise ESIExportException("Cannot export fitting: module list cannot be empty.")

View File

@@ -323,8 +323,8 @@ class Port:
return importESI(string)
@staticmethod
def exportESI(fit, exportCharges, callback=None):
return exportESI(fit, exportCharges, callback=callback)
def exportESI(fit, exportCharges, exportImplants, exportBoosters, callback=None):
return exportESI(fit, exportCharges, exportImplants, exportBoosters, callback=callback)
# XML-related methods
@staticmethod

View File

@@ -276,4 +276,4 @@ class PriceWorkerThread(threading.Thread):
# Import market sources only to initialize price source modules, they register on their own
from service.marketSources import evemarketer, evemarketdata, fuzzwork, cevemarket # noqa: E402
from service.marketSources import evemarketdata, fuzzwork, cevemarket, evetycoon # noqa: E402

View File

@@ -376,6 +376,8 @@ class EsiSettings:
"timeout": 60,
"server": "Tranquility",
"exportCharges": True,
"exportImplants": True,
"exportBoosters": True,
"enforceJwtExpiration": True
}

View File

@@ -47291,6 +47291,53 @@
"published": 0,
"stackable": 0
},
"5469": {
"attributeID": 5469,
"categoryID": 52,
"dataType": 5,
"defaultValue": 0.0,
"description": "Alliance Tournament Ship Overheat Bonus",
"displayName_de": "Überhitzungsbonus",
"displayName_en-us": "Overheat Bonus",
"displayName_es": "Bonificación de sobrecalentamiento",
"displayName_fr": "Bonus de surchauffe",
"displayName_it": "Overheat Bonus",
"displayName_ja": "Overheat Bonus",
"displayName_ko": "과부하 보너스",
"displayName_ru": "Повышение эффективности при перегрузке",
"displayName_zh": "过载损伤降低",
"displayNameID": 665013,
"displayWhenZero": 1,
"highIsGood": 1,
"name": "roleBonusOverheatATHAC",
"published": 0,
"stackable": 1,
"unitID": 105
},
"5470": {
"attributeID": 5470,
"categoryID": 6,
"dataType": 0,
"defaultValue": 0.0,
"description": "Tracking Speed Bonus",
"displayName_de": "Zielverfolgungsgeschwindigkeit-Bonus",
"displayName_en-us": "Tracking Speed Bonus",
"displayName_es": "Bonificación de velocidad de rastreo",
"displayName_fr": "Bonus de vitesse de poursuite",
"displayName_it": "Tracking Speed Bonus",
"displayName_ja": "Tracking Speed Bonus",
"displayName_ko": "트래킹 속도 보너스",
"displayName_ru": "Влияние на скорость слежения",
"displayName_zh": "跟踪速度加成",
"displayNameID": 665059,
"displayWhenZero": 0,
"highIsGood": 1,
"iconID": 1398,
"name": "shipBonusTrackingATC1",
"published": 1,
"stackable": 1,
"unitID": 105
},
"5561": {
"attributeID": 5561,
"categoryID": 9,
@@ -47396,5 +47443,40 @@
"name": "captureProximityInteractivesOnly",
"published": 0,
"stackable": 0
},
"5603": {
"attributeID": 5603,
"categoryID": 9,
"dataType": 5,
"defaultValue": 0.0,
"description": "used for alliance tournament ships 2023, plate mass reduction",
"displayWhenZero": 0,
"highIsGood": 1,
"name": "shipBonusATF3",
"published": 0,
"stackable": 1
},
"5604": {
"attributeID": 5604,
"categoryID": 7,
"dataType": 0,
"defaultValue": 0.0,
"description": "Alliance Tournament Ship Bonus",
"displayName_de": "Bonus für besondere Fähigkeit",
"displayName_en-us": "Special Ability Bonus",
"displayName_es": "Bonificación de capacidad especial",
"displayName_fr": "Bonus d'aptitude particulière",
"displayName_it": "Special Ability Bonus",
"displayName_ja": "Special Ability Bonus",
"displayName_ko": "특수 능력 보너스",
"displayName_ru": "Усиление особого умения",
"displayName_zh": "特殊能力加成",
"displayNameID": 696793,
"displayWhenZero": 0,
"highIsGood": 1,
"name": "shipBonusATC3",
"published": 0,
"stackable": 1,
"unitID": 105
}
}

View File

@@ -94012,7 +94012,7 @@
"modifierInfo": [
{
"domain": "charID",
"func": "LocationRequiredSkillModifier",
"func": "OwnerRequiredSkillModifier",
"modifiedAttributeID": 117,
"modifyingAttributeID": 747,
"operation": 6,
@@ -94125,6 +94125,98 @@
"published": 0,
"rangeChance": 0
},
"11765": {
"description_de": "Automatisch erzeugter Effekt",
"description_en-us": "Automatically generated effect",
"description_es": "Efecto generado automáticamente.",
"description_fr": "Effet généré automatiquement",
"description_it": "Automatically generated effect",
"description_ja": "Automatically generated effect",
"description_ko": "자동 생성 효과",
"description_ru": "Автоматически созданный эффект",
"description_zh": "自动生成效果",
"descriptionID": 665014,
"disallowAutoRepeat": 0,
"effectCategory": 0,
"effectID": 11765,
"effectName": "shipMWDHeatBonusATShip",
"electronicChance": 0,
"guid": "",
"isAssistance": 0,
"isOffensive": 0,
"isWarpSafe": 0,
"modifierInfo": [
{
"domain": "shipID",
"func": "LocationRequiredSkillModifier",
"modifiedAttributeID": 1223,
"modifyingAttributeID": 5469,
"operation": 6,
"skillTypeID": 3454
}
],
"propulsionChance": 0,
"published": 0,
"rangeAttributeID": 54,
"rangeChance": 0
},
"11766": {
"description_de": "Automatisch erzeugter Effekt",
"description_en-us": "Automatically generated effect",
"description_es": "Efecto generado automáticamente.",
"description_fr": "Effet généré automatiquement",
"description_it": "Automatically generated effect",
"description_ja": "Automatically generated effect",
"description_ko": "자동 생성 효과",
"description_ru": "Автоматически созданный эффект",
"description_zh": "自动生成效果",
"descriptionID": 665015,
"disallowAutoRepeat": 0,
"effectCategory": 0,
"effectID": 11766,
"effectName": "shipABHeatBonusATShip",
"electronicChance": 0,
"isAssistance": 0,
"isOffensive": 0,
"isWarpSafe": 0,
"modifierInfo": [
{
"domain": "shipID",
"func": "LocationRequiredSkillModifier",
"modifiedAttributeID": 1223,
"modifyingAttributeID": 5469,
"operation": 6,
"skillTypeID": 3450
}
],
"propulsionChance": 0,
"published": 0,
"rangeChance": 0
},
"11767": {
"disallowAutoRepeat": 0,
"effectCategory": 0,
"effectID": 11767,
"effectName": "shipBonusHybridTrackingATC3",
"electronicChance": 0,
"isAssistance": 0,
"isOffensive": 0,
"isWarpSafe": 0,
"modifierInfo": [
{
"domain": "shipID",
"func": "LocationRequiredSkillModifier",
"modifiedAttributeID": 160,
"modifyingAttributeID": 692,
"operation": 6,
"skillTypeID": 3304
}
],
"propulsionChance": 0,
"published": 0,
"rangeAttributeID": 54,
"rangeChance": 0
},
"11774": {
"disallowAutoRepeat": 0,
"effectCategory": 0,
@@ -94461,5 +94553,364 @@
"published": 0,
"rangeAttributeID": 54,
"rangeChance": 0
},
"11992": {
"disallowAutoRepeat": 0,
"effectCategory": 0,
"effectID": 11992,
"effectName": "shipBonusArmorPlateMassAT",
"electronicChance": 0,
"isAssistance": 0,
"isOffensive": 0,
"isWarpSafe": 0,
"modifierInfo": [
{
"domain": "shipID",
"func": "LocationGroupModifier",
"groupID": 329,
"modifiedAttributeID": 796,
"modifyingAttributeID": 5603,
"operation": 6
}
],
"propulsionChance": 0,
"published": 0,
"rangeChance": 0
},
"11993": {
"description_de": "Automatisch erzeugter Effekt",
"description_en-us": "Automatically generated effect",
"description_es": "Efecto generado automáticamente.",
"description_fr": "Effet généré automatiquement",
"description_it": "Automatically generated effect",
"description_ja": "Automatically generated effect",
"description_ko": "자동 생성 효과",
"description_ru": "Автоматически созданный эффект",
"description_zh": "自动生成效果",
"descriptionID": 696792,
"disallowAutoRepeat": 0,
"effectCategory": 0,
"effectID": 11993,
"effectName": "shipBonusRepairSystemsBonusATC3",
"electronicChance": 0,
"isAssistance": 0,
"isOffensive": 0,
"isWarpSafe": 0,
"modifierInfo": [
{
"domain": "shipID",
"func": "LocationRequiredSkillModifier",
"modifiedAttributeID": 84,
"modifyingAttributeID": 2014,
"operation": 6,
"skillTypeID": 3393
}
],
"propulsionChance": 0,
"published": 0,
"rangeAttributeID": 54,
"rangeChance": 0
},
"11994": {
"disallowAutoRepeat": 0,
"effectCategory": 0,
"effectID": 11994,
"effectName": "shipBonusHybridFalloffATC3",
"electronicChance": 0,
"isAssistance": 0,
"isOffensive": 0,
"isWarpSafe": 0,
"modifierInfo": [
{
"domain": "shipID",
"func": "LocationRequiredSkillModifier",
"modifiedAttributeID": 158,
"modifyingAttributeID": 693,
"operation": 6,
"skillTypeID": 3304
}
],
"propulsionChance": 0,
"published": 0,
"rangeChance": 0
},
"11995": {
"description_de": "Automatisch erzeugter Effekt",
"description_en-us": "Automatically generated effect",
"description_es": "Efecto generado automáticamente.",
"description_fr": "Effet généré automatiquement",
"description_it": "Automatically generated effect",
"description_ja": "Automatically generated effect",
"description_ko": "자동 생성 효과",
"description_ru": "Автоматически созданный эффект",
"description_zh": "自动生成效果",
"descriptionID": 696810,
"disallowAutoRepeat": 0,
"effectCategory": 0,
"effectID": 11995,
"effectName": "shipBonusHeatAfterburnerATGF",
"electronicChance": 0,
"isAssistance": 0,
"isOffensive": 0,
"isWarpSafe": 0,
"modifierInfo": [
{
"domain": "shipID",
"func": "LocationRequiredSkillModifier",
"modifiedAttributeID": 1223,
"modifyingAttributeID": 586,
"operation": 6,
"skillTypeID": 3450
}
],
"propulsionChance": 0,
"published": 0,
"rangeAttributeID": 54,
"rangeChance": 0
},
"11996": {
"description_de": "Automatisch erzeugter Effekt",
"description_en-us": "Automatically generated effect",
"description_es": "Efecto generado automáticamente.",
"description_fr": "Effet généré automatiquement",
"description_it": "Automatically generated effect",
"description_ja": "Automatically generated effect",
"description_ko": "자동 생성 효과",
"description_ru": "Автоматически созданный эффект",
"description_zh": "自动生成效果",
"descriptionID": 696813,
"disallowAutoRepeat": 0,
"effectCategory": 0,
"effectID": 11996,
"effectName": "shipBonusMWDHeatATGF",
"electronicChance": 0,
"isAssistance": 0,
"isOffensive": 0,
"isWarpSafe": 0,
"modifierInfo": [
{
"domain": "shipID",
"func": "LocationRequiredSkillModifier",
"modifiedAttributeID": 1223,
"modifyingAttributeID": 586,
"operation": 6,
"skillTypeID": 3454
}
],
"propulsionChance": 0,
"published": 0,
"rangeChance": 0
},
"11997": {
"description_de": "Automatisch erzeugter Effekt",
"description_en-us": "Automatically generated effect",
"description_es": "Efecto generado automáticamente.",
"description_fr": "Effet généré automatiquement",
"description_it": "Automatically generated effect",
"description_ja": "Automatically generated effect",
"description_ko": "자동 생성 효과",
"description_ru": "Автоматически созданный эффект",
"description_zh": "自动生成效果",
"descriptionID": 696932,
"disallowAutoRepeat": 0,
"effectCategory": 0,
"effectID": 11997,
"effectName": "shipBonusArmorRepATGF",
"electronicChance": 0,
"isAssistance": 0,
"isOffensive": 0,
"isWarpSafe": 0,
"modifierInfo": [
{
"domain": "shipID",
"func": "LocationRequiredSkillModifier",
"modifiedAttributeID": 84,
"modifyingAttributeID": 673,
"operation": 6,
"skillTypeID": 3393
}
],
"propulsionChance": 0,
"published": 0,
"rangeChance": 0
},
"11998": {
"disallowAutoRepeat": 0,
"effectCategory": 0,
"effectID": 11998,
"effectName": "shipBonusSmallHybridMaxRangeATF3",
"electronicChance": 0,
"isAssistance": 0,
"isOffensive": 0,
"isWarpSafe": 0,
"modifierInfo": [
{
"domain": "shipID",
"func": "LocationRequiredSkillModifier",
"modifiedAttributeID": 54,
"modifyingAttributeID": 675,
"operation": 6,
"skillTypeID": 3301
}
],
"propulsionChance": 0,
"published": 0,
"rangeChance": 0
},
"11999": {
"disallowAutoRepeat": 0,
"effectCategory": 0,
"effectID": 11999,
"effectName": "shipBonusSmallHybridTrackingSpeedATF3",
"electronicChance": 0,
"isAssistance": 0,
"isOffensive": 0,
"isWarpSafe": 0,
"modifierInfo": [
{
"domain": "shipID",
"func": "LocationRequiredSkillModifier",
"modifiedAttributeID": 160,
"modifyingAttributeID": 675,
"operation": 6,
"skillTypeID": 3301
}
],
"propulsionChance": 0,
"published": 0,
"rangeChance": 0
},
"12002": {
"disallowAutoRepeat": 0,
"dischargeAttributeID": 2637,
"durationAttributeID": 2636,
"effectCategory": 1,
"effectID": 12002,
"effectName": "npcBehaviorIndustrialCore",
"electronicChance": 0,
"guid": "effects.SiegeMode",
"isAssistance": 0,
"isOffensive": 0,
"isWarpSafe": 0,
"modifierInfo": [
{
"domain": "shipID",
"func": "ItemModifier",
"modifiedAttributeID": 37,
"modifyingAttributeID": 2643,
"operation": 6
},
{
"domain": "shipID",
"func": "ItemModifier",
"modifiedAttributeID": 104,
"modifyingAttributeID": 2644,
"operation": 2
},
{
"domain": "shipID",
"func": "ItemModifier",
"modifiedAttributeID": 4,
"modifyingAttributeID": 2646,
"operation": 4
},
{
"domain": "shipID",
"func": "ItemModifier",
"modifiedAttributeID": 2116,
"modifyingAttributeID": 2638,
"operation": 6
},
{
"domain": "shipID",
"func": "ItemModifier",
"modifiedAttributeID": 2135,
"modifyingAttributeID": 2639,
"operation": 6
},
{
"domain": "shipID",
"func": "ItemModifier",
"modifiedAttributeID": 2112,
"modifyingAttributeID": 2640,
"operation": 6
},
{
"domain": "shipID",
"func": "ItemModifier",
"modifiedAttributeID": 2253,
"modifyingAttributeID": 2642,
"operation": 7
},
{
"domain": "shipID",
"func": "ItemModifier",
"modifiedAttributeID": 2723,
"modifyingAttributeID": 2647,
"operation": 6
},
{
"domain": "shipID",
"func": "ItemModifier",
"modifiedAttributeID": 2725,
"modifyingAttributeID": 2648,
"operation": 6
},
{
"domain": "shipID",
"func": "ItemModifier",
"modifiedAttributeID": 2495,
"modifyingAttributeID": 2605,
"operation": 6
},
{
"domain": "shipID",
"func": "ItemModifier",
"modifiedAttributeID": 2498,
"modifyingAttributeID": 2605,
"operation": 6
},
{
"domain": "shipID",
"func": "ItemModifier",
"modifiedAttributeID": 2496,
"modifyingAttributeID": 2604,
"operation": 6
},
{
"domain": "shipID",
"func": "ItemModifier",
"modifiedAttributeID": 2497,
"modifyingAttributeID": 2604,
"operation": 6
}
],
"propulsionChance": 0,
"published": 0,
"rangeChance": 0
},
"12003": {
"disallowAutoRepeat": 0,
"effectCategory": 0,
"effectID": 12003,
"effectName": "vortonTurretSpeeBonusPostPercentSpeedLocationShipModulesRequiringVortonProjectorOperation",
"electronicChance": 0,
"guid": "",
"isAssistance": 0,
"isOffensive": 0,
"isWarpSafe": 0,
"modifierInfo": [
{
"domain": "shipID",
"func": "LocationRequiredSkillModifier",
"modifiedAttributeID": 51,
"modifyingAttributeID": 441,
"operation": 6,
"skillTypeID": 55033
}
],
"propulsionChance": 0,
"published": 0,
"rangeChance": 0
}
}

View File

@@ -28966,6 +28966,25 @@
"published": 1,
"useBasePrice": 0
},
"4673": {
"anchorable": 0,
"anchored": 0,
"categoryID": 11,
"fittableNonSingleton": 0,
"groupID": 4673,
"groupName_de": "Insurgency Mining Ship",
"groupName_en-us": "Insurgency Mining Ship",
"groupName_es": "Nave minera de insurgencia",
"groupName_fr": "Vaisseau d'extraction minière d'insurrection",
"groupName_it": "Insurgency Mining Ship",
"groupName_ja": "反乱採掘船",
"groupName_ko": "반란 채굴선",
"groupName_ru": "Insurgency Mining Ship",
"groupName_zh": "叛乱采矿船",
"groupNameID": 697213,
"published": 1,
"useBasePrice": 0
},
"350858": {
"anchorable": 0,
"anchored": 0,

View File

@@ -12109,5 +12109,11 @@
},
"25833": {
"iconFile": "res:/UI/Texture/Corps/deathlessCircleBase.png"
},
"25849": {
"iconFile": "res:/ui/texture/icons/84_64_15.png"
},
"25862": {
"iconFile": "res:/ui/texture/icons/26_64_5.png"
}
}

View File

@@ -44877,5 +44877,35 @@
"name_zh": "特殊护卫舰",
"nameID": 681138,
"parentGroupID": 3548
},
"3567": {
"hasTypes": 1,
"iconID": 21420,
"name_de": "Piratenfraktion",
"name_en-us": "Pirate Faction",
"name_es": "Facción pirata",
"name_fr": "Faction pirate",
"name_it": "Pirate Faction",
"name_ja": "海賊勢力",
"name_ko": "해적 팩션",
"name_ru": "Пиратская организация",
"name_zh": "海盗势力",
"nameID": 697888,
"parentGroupID": 2100
},
"3568": {
"hasTypes": 1,
"iconID": 21420,
"name_de": "Piratenfraktion",
"name_en-us": "Pirate Faction",
"name_es": "Facción pirata",
"name_fr": "Faction pirate",
"name_it": "Pirate Faction",
"name_ja": "海賊勢力",
"name_ko": "해적 팩션",
"name_ru": "Пиратская организация",
"name_zh": "海盗势力",
"nameID": 697889,
"parentGroupID": 3496
}
}

View File

@@ -28493,6 +28493,10 @@
"3398": 4,
"22242": 4
},
"77726": {
"3332": 5,
"16591": 1
},
"77738": {
"11433": 4,
"20533": 4,
@@ -28625,6 +28629,10 @@
"33097": 2,
"33098": 2
},
"78414": {
"3328": 5,
"12095": 1
},
"78576": {
"3344": 1,
"3345": 1,
@@ -28633,6 +28641,9 @@
"78621": {
"3318": 4
},
"78677": {
"22578": 1
},
"78740": {
"3318": 1
},

View File

@@ -156198,6 +156198,10 @@
{
"attributeID": 622,
"value": 5000000.0
},
{
"attributeID": 854,
"value": 1.0
}
],
"dogmaEffects": []
@@ -367378,6 +367382,10 @@
{
"attributeID": 622,
"value": 5000000.0
},
{
"attributeID": 854,
"value": 1.0
}
],
"dogmaEffects": []
@@ -817048,6 +817056,10 @@
{
"attributeID": 622,
"value": 5000000.0
},
{
"attributeID": 854,
"value": 1.0
}
],
"dogmaEffects": []

View File

@@ -89352,6 +89352,10 @@
{
"attributeID": 622,
"value": 5000000.0
},
{
"attributeID": 854,
"value": 1.0
}
],
"dogmaEffects": []
@@ -222377,6 +222381,10 @@
{
"attributeID": 622,
"value": 5000000.0
},
{
"attributeID": 854,
"value": 1.0
}
],
"dogmaEffects": []
@@ -489297,6 +489305,10 @@
{
"attributeID": 622,
"value": 5000000.0
},
{
"attributeID": 854,
"value": 1.0
}
],
"dogmaEffects": []
@@ -849434,6 +849446,10 @@
{
"attributeID": 622,
"value": 5000000.0
},
{
"attributeID": 854,
"value": 1.0
}
],
"dogmaEffects": []
@@ -968633,6 +968649,10 @@
{
"attributeID": 622,
"value": 5000000.0
},
{
"attributeID": 854,
"value": 1.0
}
],
"dogmaEffects": []

File diff suppressed because it is too large Load Diff

View File

@@ -84724,6 +84724,7 @@
"descriptionID": 94305,
"graphicID": 2341,
"groupID": 366,
"isDynamicType": 0,
"mass": 100000.0,
"portionSize": 1,
"published": 0,
@@ -156652,6 +156653,7 @@
"descriptionID": 83536,
"graphicID": 2341,
"groupID": 366,
"isDynamicType": 0,
"mass": 100000.0,
"portionSize": 1,
"published": 0,
@@ -273347,6 +273349,7 @@
"descriptionID": 83537,
"graphicID": 2341,
"groupID": 366,
"isDynamicType": 0,
"mass": 100000.0,
"portionSize": 1,
"published": 0,

View File

@@ -87841,6 +87841,7 @@
"descriptionID": 83539,
"graphicID": 2341,
"groupID": 366,
"isDynamicType": 0,
"mass": 100000.0,
"portionSize": 1,
"published": 0,
@@ -167146,6 +167147,7 @@
"descriptionID": 82631,
"graphicID": 1217,
"groupID": 366,
"isDynamicType": 0,
"mass": 0.0,
"portionSize": 1,
"published": 0,

View File

@@ -32280,6 +32280,7 @@
"descriptionID": 505996,
"graphicID": 3468,
"groupID": 366,
"isDynamicType": 0,
"mass": 100000.0,
"portionSize": 1,
"published": 0,
@@ -61413,17 +61414,18 @@
"basePrice": 0.0,
"capacity": 0.0,
"description_de": "Von Heaven kommend folgen die Kommandeure von Domination einem geheimen Plan, der so dunkel und böse ist wie ihr Ruf. \n\n\n\nRSS-Geheimdienstmeldungen deuten darauf hin, dass die Ingenieure der Salvation Angel großen Nutzen aus der Zusammenarbeit mit der Serpentis Corporation ziehen konnten. Kombiniertes Wissen aus dem Nachbau dem Titan FNS Molyneux und den leichter verfügbaren Titan-Blaupausen der Promethean hat es dem Angel Cartel ermöglicht, ihre eigene tödliche Variante der Ragnarok zu entwickeln.\n\n\n\nBedrohungsstufe: \"Wir werden ein größeres Boot brauchen.\"",
"description_en-us": "Scuttling from Heaven the Domination Commanders pursue a secret agenda as dark and sinister as their reputation. \r\n\r\nRSS intelligence indicate that the Salvation Angel engineers have been benefiting greatly from their partnership with the Serpentis Corporation. Combining technology reverse engineered from the titanic FNS Molyneux with more readily available Promethean titan blueprints has allowed the Angel Cartel to develop their own deadly variation of the Ragnarok.\r\n\r\nThreat level: \"We're going to need a bigger ship\"",
"description_es": "Los planes de los comandantes de los Ángeles Dominantes siempre son un misterio, pero tan oscuros y siniestros como la reputación que los precede. \n\n\n\nLa información de los SSR apunta a que los ingenieros de los Ángeles de la Salvación se han beneficiado considerablemente de su colaboración con la Corporación Serpentis. La combinación de la tecnología copiada del titán FNS Molyneux y los planos del titán Promethean, más fáciles de conseguir, ha permitido que el Cártel de los Ángeles desarrolle su propia variación letal de la Ragnarok.\n\n\n\nNivel de amenaza: «Vamos a necesitar una nave más grande».",
"description_en-us": "Reaching out from Heaven Domination warlords pursue a secret agenda as dark and sinister as their reputation. \r\n\r\nDominations fleets once used heavily-modified <i>Ragnarok</i>-class vessels using technology based on the stolen Promethean \"FNS Molyneux\" and sourced by Salvation Angel engineers from their Serpentis Corporation allies. Since the Angel Cartel gained greater access to remnants of Jove technology through their alliance with the Deathless Circle, their long-awaited <i>Azariel</i>-class Titan has been completed and has replaced the older supercapitals among the ranks of the highest Domination fleet commanders.\r\n\r\n<b>Threat level: \"We're going to need a bigger ship\"</b>\r\n\r\n<i>Fleeing the wrath of the unholy legions we chanced upon the ruins of Heaven and knew that we had found our home among the cursed stars. We took our rest by crumbling monuments to the ancient truths and repaired our arms in the broken halls of a science divine. When once again we took up the fight it was with the power and wisdom of the lords of this lost realm at our backs.\r\n\r\nHere in Utopia was forged the compact of the book and our might. Our law and no other shall guide and command us, as only the law of the fallen guided those who came before us. With the speed of Dramiel shall we strike. With the strength of Machariel shall we rule. With the power of Azariel shall we gather the lost to us.</i>\r\n\r\n excerpts from \"The Secret Doctrine of the Fallen Angels\"",
"description_es": "Desde el cielo, los planes de los señores de la guerra de los Dominantes siempre son un misterio, pero tan oscuros y siniestros como la reputación que los precede. \r\n\r\nLas flotas de los Dominantes alguna vez emplearon naves de clase <i>Ragnarok</i> muy modificadas que usaban tecnología basada en el «FNS Molyneux» prometeico robado y obtenido por los ingenieros de los Ángeles de la Salvación de sus aliados de la Corporación Serpentis. Desde que el Cártel de los Ángeles obtuvo un mayor acceso a los restos de la tecnología joviana a través de su alianza con el Círculo Inmortal, su tan esperado titán de clase <i>Azariel</i> se completó y reemplazó a las naves supercapitales más antiguas entre los comandantes de la flota de Dominio de mayor rango.\r\n\r\n<b>Nivel de amenaza: «Vamos a necesitar una nave más grande».</b>\r\n\r\n<i>Tras huir de la ira de las legiones impías, nos topamos con las ruinas del cielo y supimos que habíamos encontrado nuestro hogar entre las estrellas malditas. Descansamos derrumbando monumentos erigidos a las verdades antiguas y reparamos nuestras armas en los pasillos rotos de una ciencia divina. Cuando una vez más retomamos la lucha, fue con el poder y la sabiduría de los señores de este reino perdido a nuestras espaldas.\r\n\r\nAquí en Utopia se forjó el pacto del libro y nuestro poder. Nuestra ley y ninguna otra nos guiará y ordenará, como solo la ley de los caídos guió a los que vinieron antes que nosotros. Con la velocidad de Dramiel atacaremos. Con la fuerza de Machariel gobernaremos. Con el poder de Azariel reuniremos a los perdidos.</i>\r\n\r\n— Extracto de «La doctrina secreta de los ángeles caídos»",
"description_fr": "Retranchés dans la constellation de Heaven, les sinistres commandants Domination nourrissent leurs noirs desseins. \n\n\n\nLes services de renseignement des SSR révèlent que les ingénieurs angel profitent largement de leur partenariat avec la corporation serpentis. La combinaison des technologies extraites de la rétro-ingénierie du titanesque FNS Molyneux, jadis dérobé à la Navy fédérale par les Serpentis, et des plans de construction facilement accessibles des titans prométhéens, a permis au cartel angel de développer leur propre variante destructrice du Ragnarok.\n\n\n\nNiveau de menace : « Sortez l'artillerie lourde »",
"description_it": "Scuttling from Heaven the Domination Commanders pursue a secret agenda as dark and sinister as their reputation. \r\n\r\nRSS intelligence indicate that the Salvation Angel engineers have been benefiting greatly from their partnership with the Serpentis Corporation. Combining technology reverse engineered from the titanic FNS Molyneux with more readily available Promethean titan blueprints has allowed the Angel Cartel to develop their own deadly variation of the Ragnarok.\r\n\r\nThreat level: \"We're going to need a bigger ship\"",
"description_ja": "ヘブンから脱出したドミネーションの指揮官たちは、自らの評判に似つかわしい陰惨な秘密計画を目論んでいる。RSS諜報部員によると、サルベーションエンジェルのエンジニアらはサーペンティスコーポレーションと協力関係を築くことで相当な恩恵をこうむっているという。巨大なFNSモリヌーのリバースエンジニアリングによって得られた技術と、比較的容易に入手できるプロメテウス・タイタンのブループリントを組み合わせることで、エンジェルカルテルはさらに破壊力が増したラグナロクの亜種を開発することに成功した。危険度 「大型の艦船が必要になってくる」",
"description_ko": "도미네이션 커맨더는 헤븐 성좌를 본거지로 삼고 있는 악명높은 사악한 집단입니다. <br><br>RSS 정보부에 의하면 셀베이션 엔젤의 엔지니어들이 서펜티스 코퍼레이션과의 동업으로 많은 이득을 취하고 있다고 합니다. 엔젤 카르텔은 FNS 몰리뉴를 역설계하여 얻은 기술을 프로메테우스 타이탄 블루프린트에 적용하여 그들만의 강대한 함선 라그나로크를 개발해냈습니다. <br><br>위험도: \"더 큰 함선이 필요할 것 같습니다.\"",
"description_it": "Reaching out from Heaven Domination warlords pursue a secret agenda as dark and sinister as their reputation. \r\n\r\nDominations fleets once used heavily-modified <i>Ragnarok</i>-class vessels using technology based on the stolen Promethean \"FNS Molyneux\" and sourced by Salvation Angel engineers from their Serpentis Corporation allies. Since the Angel Cartel gained greater access to remnants of Jove technology through their alliance with the Deathless Circle, their long-awaited <i>Azariel</i>-class Titan has been completed and has replaced the older supercapitals among the ranks of the highest Domination fleet commanders.\r\n\r\n<b>Threat level: \"We're going to need a bigger ship\"</b>\r\n\r\n<i>Fleeing the wrath of the unholy legions we chanced upon the ruins of Heaven and knew that we had found our home among the cursed stars. We took our rest by crumbling monuments to the ancient truths and repaired our arms in the broken halls of a science divine. When once again we took up the fight it was with the power and wisdom of the lords of this lost realm at our backs.\r\n\r\nHere in Utopia was forged the compact of the book and our might. Our law and no other shall guide and command us, as only the law of the fallen guided those who came before us. With the speed of Dramiel shall we strike. With the strength of Machariel shall we rule. With the power of Azariel shall we gather the lost to us.</i>\r\n\r\n excerpts from \"The Secret Doctrine of the Fallen Angels\"",
"description_ja": "ヘブンドミネーションズを率いる将軍が、評判に違わぬ邪悪な企みを密かに遂行しようと呼び掛けている。 \r\n\r\nドミネーションズのフリートは、かつては大幅に改造した<i>ラグナロク</i>級艦を採用していた。この艦のベースとなった技術は、サルベーションエンジェルの技術者たちがサーペンティスコーポレーション内の協力者から手に入れた、強奪されたプロメシアン級艦『FNS モリニュー』のものだった。エンジェルカルテルはデスレス・サークルとの同盟関係を通じ、ジョビが残したテクノロジーを手に入れやすい状況にあり、待望の<i>アザリエル</i>級タイタンが完成すると、ドミネーションズのフリート司令官が使用していたスーパーキャピタル艦はアザリエルに更新された。\r\n\r\n<b>危険度:「我々にはもっと大きな船が必要となる」</b>\r\n\r\n<i>不浄なる軍団の怒りから逃れている最中、我々は偶然ヘブンの遺跡に出くわし、この呪われた星の海の中で安住の地を見つけたことを悟った。我々は古代の真理を今に伝える朽ちかけた遺跡のそばで休息を取り、科学に仕える聖職者たちの崩壊したホールで武器を修理した。そして闘争を再開した時、この滅びし場所を治めていた者たちの力と英知が我々のものとなっていた。\r\n\r\nここユートピアで啓典は書かれ、我々の力は培われた。以前この場所を訪れた滅びし者が自らの法にのみ従っていたように、我々もまた自らの法にのみ従おう。我々はドラミエルの速さで襲いかかり、マカリエルの強靭さで支配し、そしてアザリエルの力で失われしものを集めるのだ。</i>\r\n\r\n 「堕天使の密やかなるドクトリン」より抜粋",
"description_ko": "악명 높은 도미네이션 워로드가 본거지인 헤븐 지역으로부터 진출해 어둡고 소름 끼치는 교리를 실천하고 있습니다.<br><br>과거 도미네이션 함대는 특수하게 개조된 라그나로크급 함선을 운용했습니다. 개조에 사용된 기술력은 서펜티스가 탈취한 프로메테우스 'FNS 몰리뉴'로부터 확보한 것으로, 엔젤 카르텔은 서펜티스의 동맹 세력이었기에 셀베이션 엔젤을 파견해 몰리뉴의 기술력을 추출할 수 있었습니다. 그러다 이후에 전환점이 찾아왔는데, 데스리스 서클과 동맹을 맺게 되면서 고대 조브 기술을 심층적으로 연구할 수 있게 된 것이었습니다. 엔젤 카르텔은 곧바로 오랜 염원을 이루는 일에 착수했습니다. 각고의 노력은 결실을 보았고, 마침내 </i>아자리엘<i> 타이탄이 완성되었습니다. 도미네이션의 지휘관급이 사용하던 기존의 슈퍼캐피탈급 함선은 곧바로 아자리엘로 대체되었습니다.<br><br><b>위험도: \"더 큰 함선이 필요할 것 같습니다.\"</b><br><br><i>우리는 사악한 군세의 분노를 피해 달아나 천국의 폐허에 도달했다. 저주받은 우주에서 우리가 쉴 수 있는 유일한 안식처는 그곳뿐이었다. 우리는 진실이 잠든 천국의 유적을 하나하나 파헤치며 평안을 찾았고, 신성한 과학의 옛 전당에서 무기를 다시 정비했다. 고대의 지배자들이 남긴 힘과 지혜를 남김없이 습득한 우리는 마침내 다시 일어나 싸웠다.<br><br>이곳 유토피아에서 우리는 우리의 경전을 완성하고 힘을 길렀다. 우리보다 앞선 이들을 이끌었던 것은 오로지 앞선 이들의 법이었듯, 우리를 이끄는 것은 오로지 우리의 법뿐이다. 드라미엘의 신속함으로 우리의 적을 몰아치리라. 마케리엘의 강건함으로 우리의 지배를 굳건히 하리라. 그리고, 아자리엘의 압도적인 힘으로 우리가 잃어버린 모든 것들을 되찾으리라.</i><br><br>- '타락한 천사의 비전 강령'에서 발췌",
"description_ru": "Базируясь в секторе Хэвен, командиры «Господств» реализуют свои тайные планы, такие же зловещие и темные, как и их репутация. \n\n\n\nСогласно разведданным Службы безопасности Республики, инженеры «Ангелов-спасителей» получают огромную выгоду от партнерства с корпорацией «Серпентис». Опираясь на технологии, полученные инженерным ретроанализом гигантского FNS Molyneux, и более доступных чертежей титана «Прометей», «ангелы» смогли разработать собственную смертоносную версию «Рагнарёка».\n\n\n\n«Нам нужен корабль помощнее»",
"description_zh": "从天堂逃出来的主天使指挥官们从事着一项和他们的名声一样黑暗邪恶的秘密计划。 \n\n\n\n共和安全局情报表明天使打捞工程师从和天蛇集团的合作中获利颇丰。从巨大的FNS莫利纽克斯级逆向工程获得了科技又唾手可得普罗米修斯泰坦蓝图天使联合企业终于得以研发属于他们自己的威力无比的拉格纳洛克级的衍生型泰坦。\n\n\n\n威胁等级“我们需要一艘更大的船”",
"description_zh": "主天使军阀们从天堂星座向外扩张,开展着一项和他们的名声一样黑暗邪恶的秘密计划。以往主天使舰队使用的是大幅改装过<i>拉格纳洛克级</i>战舰其使用的技术基于偷窃而来的普罗米修斯“FNS莫利纽克斯级”以及由拯救天使工程师们从他们的天蛇集团盟友处获取的技术。通过与不死循环结盟天使得以接触到更多的朱庇特残留技术而他们期盼已久的<i>艾扎利尔</i>级泰坦也终于完工。在主天使舰队最高指挥官当中,艾扎利尔级已经取代了旧款超级旗舰。<b>威胁等级:“我们需要一艘更大的船”</b><i>在躲避不洁军团猛烈攻击的途中,我们偶然发现了天堂的废墟,我们认识到自己在诅咒的群星中找到了家园。我们在镌刻着古老真理的残破纪念碑旁休憩,在破败的神圣科学殿堂中修整武器。当我们再次与敌人交锋时,这一失落国度领主的力量和智慧将支持我们作战。在这个乌托邦之地,铸就了圣籍与我们力量的契约。惟有我们的律令可指引和命令我们,一如只有逝去之人的律令能够指引我们的先辈。我们当以德拉米尔级的速度征战袭掠。我们当以马克瑞级的力量统御四方。我们当以艾扎利尔级的伟力召集迷途之人。</i>–节选自“堕落天使的秘密教义”",
"descriptionID": 510091,
"graphicID": 21276,
"graphicID": 26445,
"groupID": 1682,
"isDynamicType": 0,
"mass": 2075625000.0,
"portionSize": 1,
"published": 0,
@@ -186391,6 +186393,7 @@
"descriptionID": 519376,
"graphicID": 2907,
"groupID": 366,
"isDynamicType": 0,
"mass": 100000.0,
"portionSize": 1,
"published": 0,
@@ -231116,7 +231119,7 @@
"typeID": 44995,
"typeName_de": "Enforcer",
"typeName_en-us": "Enforcer",
"typeName_es": "Enforcer",
"typeName_es": "Ejecutor",
"typeName_fr": "Enforcer",
"typeName_it": "Enforcer",
"typeName_ja": "エンフォーサー",

View File

@@ -292125,10 +292125,10 @@
"basePrice": 1000.0,
"capacity": 0.0,
"description_de": "Dieser Booster wurde Ihnen als Teil der täglichen Belohnungen zur Verfügung gestellt. Er wird sofort nach der Einlösung aktiv. Grunddauer: 2 Stunden. 1 % Bonus auf die Effektivität lokaler Schild- und Panzerungsreparaturmodule 1 % Bonus auf die Maximalgeschwindigkeit des Schiffs 1 % Bonus auf die Feuerrate von Geschütztürmen und Lenkwaffenwerfern 1 % Bonus auf die Wiederaufladerate des Energiespeichers 1 % Bonus auf den Signaturradius 2 % Bonus auf die Maximalgeschwindigkeit und Nachführungsgeschwindigkeit von Drohnen 2 % Bonus auf die Reichweite von Bergbaulasern und Eisschürfern 2 % Bonus auf die Scanauflösung 2 % Bonus auf die Abweichung und Scangeschwindigkeit von Scansonden",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n1% bonus to local shield and armor repair module effectiveness\r\n1% bonus to ship max velocity\r\n1% bonus to turret and missile launcher rate of fire\r\n1% bonus to capacitor recharge rate\r\n1% bonus to signature radius\r\n2% bonus to drone max velocity and tracking speed\r\n2% bonus to mining laser and ice harvester range\r\n2% bonus to scan resolution\r\n2% bonus to scan probe deviation and scan speed",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n1% bonus to local shield and armor repair module effectiveness\r\n1% bonus to ship max velocity\r\n1% bonus to turret, vorton projector and missile launcher rate of fire\r\n1% bonus to capacitor recharge rate\r\n1% bonus to signature radius\r\n2% bonus to drone max velocity and tracking speed\r\n2% bonus to mining laser and ice harvester range\r\n2% bonus to scan resolution\r\n2% bonus to scan probe deviation and scan speed",
"description_es": "Este potenciador se ha proporcionado por medio de retribuciones diarias. Se aplicará inmediatamente tras canjearlo.\r\n \r\n Duración base: 2 horas.\r\n \r\n 1 % de bonificación a la efectividad del módulo de reparación de escudo y blindaje local.\r\n \r\n 1 % de bonificación a la velocidad máxima de la nave.\r\n \r\n 1 % de bonificación a la cadencia de tiro de las torretas y los lanzamisiles.\r\n \r\n 1 % de bonificación a la velocidad de carga del condensador.\r\n \r\n 1 % de bonificación al radio de la señal.\r\n \r\n 2 % de bonificación a la velocidad máxima y la velocidad de rastreo de los drones.\r\n \r\n 2 % de bonificación al alcance de la cosechadora de hielo y el láser minero.\r\n \r\n 2 % de bonificación a la resolución de escaneo.\r\n \r\n 2 % de bonificación a la desviación de sondas y la velocidad de escaneo.",
"description_fr": "Ce booster vous est fourni dans le cadre des récompenses quotidiennes. Il prendra effet immédiatement, dès sa récupération. Durée de base : 2 heures. 1 % de bonus à l'efficacité du réparateur de bouclier et de blindage local</br>1 % de bonus à la vitesse max du vaisseau</br>1 % de bonus à la cadence de tir des tourelles et des lance-missiles</br>1 % de bonus à la vitesse de recharge du capaciteur</br>1 % de bonus au rayon de signature</br>2 % de bonus à la vitesse maximale et vitesse de poursuite maximale des drones</br>2 % de bonus à la portée des lasers d'extraction et collecteurs de glace</br>2 % de bonus à la résolution du balayage</br>2 % de bonus à la déviation et vitesse de balayage de la sonde",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n1% bonus to local shield and armor repair module effectiveness\r\n1% bonus to ship max velocity\r\n1% bonus to turret and missile launcher rate of fire\r\n1% bonus to capacitor recharge rate\r\n1% bonus to signature radius\r\n2% bonus to drone max velocity and tracking speed\r\n2% bonus to mining laser and ice harvester range\r\n2% bonus to scan resolution\r\n2% bonus to scan probe deviation and scan speed",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n1% bonus to local shield and armor repair module effectiveness\r\n1% bonus to ship max velocity\r\n1% bonus to turret, vorton projector and missile launcher rate of fire\r\n1% bonus to capacitor recharge rate\r\n1% bonus to signature radius\r\n2% bonus to drone max velocity and tracking speed\r\n2% bonus to mining laser and ice harvester range\r\n2% bonus to scan resolution\r\n2% bonus to scan probe deviation and scan speed",
"description_ja": "デイリー報酬を通じて手に入れたブースターです。引き換えると直ちに適用されます。\n基本持続時間2時間。\n\n装備したシールドとアーマーリペアモジュールの効果に1%のボーナス\n艦船の最高速度に1%のボーナス\nタレットとミサイルランチャーの発射間隔に1%のボーナス\nキャパシタ充電速度に1%のボーナス\nシグネチャ半径に1%のボーナス\nドローンの最大速度と追跡速度に2%のボーナス\n採掘レーザーとアイス採掘機の射程に2%のボーナス\nスキャン分解能に2%のボーナス\nスキャンプローブ誤差とスキャン速度に2%のボーナス",
"description_ko": "일일 보상으로 지급되는 부스터로 수령 시 즉시 활성화됩니다.<br>기본 지속시간: 2시간<br><br>지역 실드 및 장갑 수리 모듈 효과 1% 증가<br>함선 최대 속도 1% 증가<br>터렛 및 미사일 발사 속도 1% 증가<br>캐패시터 충전 속도 1% 중가<br>시그니처 반경 1% 감소<br>드론 최대 속도 및 트래킹 속도 2% 증가<br>채굴 레이저 및 아이스 채굴기 사거리 2% 증가<br>스캔 정밀도 2% 증가<br>스캔 프로브 오차 범위 2% 감소 및 스캔 속도 2% 증가",
"description_ru": "Этот стимулятор даётся в качестве одной из ежедневных наград. Применяется сразу же после получения. Базовая длительность: 2 часа. Увеличивает эффективность бортового ремонтного модуля для щитов и брони, максимальную скорость хода, скорострельность турелей и ракетных установок и скорость перезарядки накопителя на 1%. Увеличивает максимальную скорость и скорость наведения дронов, дальность действия буровых лазеров и установок для бурения льда, разрешающую способность сканеров и скорость сканирования на 2%. Снижает радиус сигнатуры на 1% и отклонение при сканировании разведзондами на 2%.",
@@ -292160,10 +292160,10 @@
"basePrice": 1000.0,
"capacity": 0.0,
"description_de": "Dieser Booster wurde Ihnen als Teil der täglichen Belohnungen zur Verfügung gestellt. Er wird sofort nach der Einlösung aktiv. Grunddauer: 2 Stunden. 2 % Bonus auf die Effektivität lokaler Schild- und Panzerungsreparaturmodule 2 % Bonus auf die Maximalgeschwindigkeit des Schiffs 2 % Bonus auf die Feuerrate von Geschütztürmen und Lenkwaffenwerfern 2 % Bonus auf die Wiederaufladerate des Energiespeichers 2 % Bonus auf den Signaturradius 4 % Bonus auf die Maximalgeschwindigkeit und Nachführungsgeschwindigkeit von Drohnen 4 % Bonus auf die Reichweite von Bergbaulasern und Eisschürfern 4 % Bonus auf die Scanauflösung 4 % Bonus auf die Abweichung und Scangeschwindigkeit von Scansonden",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n2% bonus to local shield and armor repair module effectiveness\r\n2% bonus to ship max velocity\r\n2% bonus to turret and missile launcher rate of fire\r\n2% bonus to capacitor recharge rate\r\n2% bonus to signature radius\r\n4% bonus to drone max velocity and tracking speed\r\n4% bonus to mining laser and ice harvester range\r\n4% bonus to scan resolution\r\n4% bonus to scan probe deviation and scan speed",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n2% bonus to local shield and armor repair module effectiveness\r\n2% bonus to ship max velocity\r\n2% bonus to turret, vorton projector and missile launcher rate of fire\r\n2% bonus to capacitor recharge rate\r\n2% bonus to signature radius\r\n4% bonus to drone max velocity and tracking speed\r\n4% bonus to mining laser and ice harvester range\r\n4% bonus to scan resolution\r\n4% bonus to scan probe deviation and scan speed",
"description_es": "Este potenciador se ha proporcionado por medio de retribuciones diarias. Se aplicará inmediatamente tras canjearlo.\n\nDuración base: 2 horas.\n\n2 % de bonificación a la efectividad del módulo de reparación de escudo y de blindaje local.\n\n2 % de bonificación a la velocidad máxima de la nave.\n\n2 % de bonificación a la cadencia de tiro de las torretas y los lanzamisiles.\n\n2 % de bonificación al índice de carga del condensador.\n\n2 % de bonificación al radio de la señal.\n\n4 % de bonificación a la velocidad máxima y de rastreo de los drones.\n\n4 % de bonificación al alcance de la cosechadora de hielo y el láser minero.\n\n4 % de bonificación a la resolución de escaneo.\n\n4 % de bonificación a la desviación de sondas y la velocidad de escaneo.",
"description_fr": "Ce booster vous est fourni dans le cadre des récompenses quotidiennes. Il prendra effet immédiatement, dès sa récupération. Durée de base : 2 heures. 2 % de bonus à l'efficacité du réparateur de bouclier et de blindage local</br>2 % de bonus à la vitesse max du vaisseau</br>2 % de bonus à la cadence de tir des tourelles et des lance-missiles</br>2 % de bonus à la vitesse de recharge du capaciteur</br>2 % de bonus au rayon de signature</br>4 % de bonus à la vitesse maximale et vitesse de poursuite maximale des drones</br>4 % de bonus à la portée des lasers d'extraction et collecteurs de glace</br>4 % de bonus à la résolution du balayage</br>4 % de bonus à la déviation et vitesse de balayage de la sonde",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n2% bonus to local shield and armor repair module effectiveness\r\n2% bonus to ship max velocity\r\n2% bonus to turret and missile launcher rate of fire\r\n2% bonus to capacitor recharge rate\r\n2% bonus to signature radius\r\n4% bonus to drone max velocity and tracking speed\r\n4% bonus to mining laser and ice harvester range\r\n4% bonus to scan resolution\r\n4% bonus to scan probe deviation and scan speed",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n2% bonus to local shield and armor repair module effectiveness\r\n2% bonus to ship max velocity\r\n2% bonus to turret, vorton projector and missile launcher rate of fire\r\n2% bonus to capacitor recharge rate\r\n2% bonus to signature radius\r\n4% bonus to drone max velocity and tracking speed\r\n4% bonus to mining laser and ice harvester range\r\n4% bonus to scan resolution\r\n4% bonus to scan probe deviation and scan speed",
"description_ja": "デイリー報酬を通じて手に入れたブースターです。引き換えると直ちに適用されます。\n基本持続時間2時間。\n\n装備したシールドとアーマーリペアモジュールの効果に2%のボーナス\n艦船の最高速度に2%のボーナス\nタレットとミサイルランチャーの発射間隔に2%のボーナス\nキャパシタ充電速度に2%のボーナス\nシグネチャ半径に2%のボーナス\nドローンの最大速度と追跡速度に4%のボーナス\n採掘レーザーとアイス採掘機の射程に4%のボーナス\nスキャン分解能に4%のボーナス\nスキャンプローブ誤差とスキャン速度に4%のボーナス",
"description_ko": "일일 보상으로 지급되는 부스터로 수령 시 즉시 활성화됩니다.<br>기본 지속시간: 2시간<br><br>지역 실드 및 장갑 수리 모듈 효과 2% 증가<br>함선 최대 속도 2% 증가<br>터렛 및 미사일 발사 속도 2% 증가<br>캐패시터 충전 속도 2% 중가<br>시그니처 반경 2% 감소<br>드론 최대 속도 및 트래킹 속도 4% 증가<br>채굴 레이저 및 아이스 채굴기 사거리 4% 증가<br>스캔 정밀도 4% 증가<br>스캔 프로브 오차 범위 4% 감소 및 스캔 속도 4% 증가",
"description_ru": "Этот стимулятор даётся в качестве одной из ежедневных наград. Применяется сразу же после получения. Базовая длительность: 2 часа. Увеличивает эффективность бортового ремонтного модуля для щитов и брони, максимальную скорость хода, скорострельность турелей и ракетных установок и скорость перезарядки накопителя на 2%. Увеличивает максимальную скорость и скорость наведения дронов, дальность действия буровых лазеров и установок для бурения льда, разрешающую способность сканеров и скорость сканирования на 4%. Снижает радиус сигнатуры на 2% и отклонение при сканировании разведзондами на 4%.",
@@ -292195,10 +292195,10 @@
"basePrice": 1000.0,
"capacity": 0.0,
"description_de": "Dieser Booster wurde Ihnen als Teil der täglichen Belohnungen zur Verfügung gestellt. Er wird sofort nach der Einlösung aktiv. Grunddauer: 2 Stunden. 3 % Bonus auf die Effektivität lokaler Schild- und Panzerungsreparaturmodule 3 % Bonus auf die Maximalgeschwindigkeit des Schiffs 3 % Bonus auf die Feuerrate von Geschütztürmen und Lenkwaffenwerfern 3 % Bonus auf die Wiederaufladerate des Energiespeichers 3 % Bonus auf den Signaturradius 6 % Bonus auf die Maximalgeschwindigkeit und Nachführungsgeschwindigkeit von Drohnen 6 % Bonus auf die Reichweite von Bergbaulasern und Eisschürfern 6 % Bonus auf die Scanauflösung 6 % Bonus auf die Abweichung und Scangeschwindigkeit von Scansonden",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n3% bonus to local shield and armor repair module effectiveness\r\n3% bonus to ship max velocity\r\n3% bonus to turret and missile launcher rate of fire\r\n3% bonus to capacitor recharge rate\r\n3% bonus to signature radius\r\n6% bonus to drone max velocity and tracking speed\r\n6% bonus to mining laser and ice harvester range\r\n6% bonus to scan resolution\r\n6% bonus to scan probe deviation and scan speed",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n3% bonus to local shield and armor repair module effectiveness\r\n3% bonus to ship max velocity\r\n3% bonus to turret, vorton projector and missile launcher rate of fire\r\n3% bonus to capacitor recharge rate\r\n3% bonus to signature radius\r\n6% bonus to drone max velocity and tracking speed\r\n6% bonus to mining laser and ice harvester range\r\n6% bonus to scan resolution\r\n6% bonus to scan probe deviation and scan speed",
"description_es": "Este potenciador se ha proporcionado por medio de retribuciones diarias. Se aplicará inmediatamente tras canjearlo.\n\nDuración base: 2 horas.\n\n3 % de bonificación a la efectividad del módulo de reparación de escudo y blindaje local.\n\n3 % de bonificación a la velocidad máxima de la nave.\n\n3 % de bonificación a la cadencia de tiro de las torretas y los lanzamisiles.\n\n3 % de bonificación a la velocidad de carga del condensador.\n\n3 % de bonificación al radio de la señal\n\n6 % de bonificación a la velocidad máxima y la velocidad de rastreo de los drones.\n\n6 % de bonificación al alcance de la cosechadora de hielo y el láser minero.\n\n6 % de bonificación a la resolución de escaneo.\n\n6 % de bonificación a la desviación de sondas y la velocidad de escaneo.",
"description_fr": "Ce booster vous est fourni dans le cadre des récompenses quotidiennes. Il prendra effet immédiatement, dès sa récupération. Durée de base : 2 heures. 3 % de bonus à l'efficacité du réparateur de bouclier et de blindage local</br>3 % de bonus à la vitesse max du vaisseau</br>3 % de bonus à la cadence de tir des tourelles et des lance-missiles</br>3 % de bonus à la vitesse de recharge du capaciteur</br>3 % de bonus au rayon de signature</br>6 % de bonus à la vitesse maximale et vitesse de poursuite maximale des drones</br>6 % de bonus à la portée des lasers d'extraction et collecteurs de glace</br>6 % de bonus à la résolution du balayage</br>6 % de bonus à la déviation et vitesse de balayage de la sonde",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n3% bonus to local shield and armor repair module effectiveness\r\n3% bonus to ship max velocity\r\n3% bonus to turret and missile launcher rate of fire\r\n3% bonus to capacitor recharge rate\r\n3% bonus to signature radius\r\n6% bonus to drone max velocity and tracking speed\r\n6% bonus to mining laser and ice harvester range\r\n6% bonus to scan resolution\r\n6% bonus to scan probe deviation and scan speed",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n3% bonus to local shield and armor repair module effectiveness\r\n3% bonus to ship max velocity\r\n3% bonus to turret, vorton projector and missile launcher rate of fire\r\n3% bonus to capacitor recharge rate\r\n3% bonus to signature radius\r\n6% bonus to drone max velocity and tracking speed\r\n6% bonus to mining laser and ice harvester range\r\n6% bonus to scan resolution\r\n6% bonus to scan probe deviation and scan speed",
"description_ja": "デイリー報酬を通じて手に入れたブースターです。引き換えると直ちに適用されます。\n基本持続時間2時間。\n\n装備したシールドとアーマーリペアモジュールの効果に3%のボーナス\n艦船の最高速度に3%のボーナス\nタレットとミサイルランチャーの発射間隔に3%のボーナス\nキャパシタ充電速度に3%のボーナス\nシグネチャ半径に3%のボーナス\nドローンの最大速度と追跡速度に6%のボーナス\n採掘レーザーとアイス採掘機の射程に6%のボーナス\nスキャン分解能に6%のボーナス\nスキャンプローブ誤差とスキャン速度に6%のボーナス",
"description_ko": "일일 보상으로 지급되는 부스터로 수령 시 즉시 활성화됩니다.<br>기본 지속시간: 2시간<br><br>지역 실드 및 장갑 수리 모듈 효과 3% 증가<br>함선 최대 속도 3% 증가<br>터렛 및 미사일 발사 속도 3% 증가<br>캐패시터 충전 속도 3% 중가<br>시그니처 반경 3% 감소<br>드론 최대 속도 및 트래킹 속도 6% 증가<br>채굴 레이저 및 아이스 채굴기 사거리 6% 증가<br>스캔 정밀도 6% 증가<br>스캔 프로브 오차 범위 6% 감소 및 스캔 속도 6% 증가",
"description_ru": "Этот стимулятор даётся в качестве одной из ежедневных наград. Применяется сразу же после получения. Базовая длительность: 2 часа. Увеличивает эффективность бортового ремонтного модуля для щитов и брони, максимальную скорость хода, скорострельность турелей и ракетных установок и скорость перезарядки накопителя на 3%. Увеличивает максимальную скорость и скорость наведения дронов, дальность действия буровых лазеров и установок для бурения льда, разрешающую способность сканеров и скорость сканирования на 6%. Снижает радиус сигнатуры на 3% и отклонение при сканировании разведзондами на 6%.",
@@ -292230,10 +292230,10 @@
"basePrice": 1000.0,
"capacity": 0.0,
"description_de": "Dieser Booster wurde Ihnen als Teil der täglichen Belohnungen zur Verfügung gestellt. Er wird sofort nach der Einlösung aktiv. Grunddauer: 2 Stunden. 4 % Bonus auf die Effektivität lokaler Schild- und Panzerungsreparaturmodule 4 % Bonus auf die Maximalgeschwindigkeit des Schiffs 4 % Bonus auf die Feuerrate von Geschütztürmen und Lenkwaffenwerfern 4 % Bonus auf die Wiederaufladerate des Energiespeichers 4 % Bonus auf den Signaturradius 8 % Bonus auf die Maximalgeschwindigkeit und Nachführungsgeschwindigkeit von Drohnen 8 % Bonus auf die Reichweite von Bergbaulasern und Eisschürfern 8 % Bonus auf die Scanauflösung 8 % Bonus auf die Abweichung und Scangeschwindigkeit von Scansonden",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n4% bonus to local shield and armor repair module effectiveness\r\n4% bonus to ship max velocity\r\n4% bonus to turret and missile launcher rate of fire\r\n4% bonus to capacitor recharge rate\r\n4% bonus to signature radius\r\n8% bonus to drone max velocity and tracking speed\r\n8% bonus to mining laser and ice harvester range\r\n8% bonus to scan resolution\r\n8% bonus to scan probe deviation and scan speed",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n4% bonus to local shield and armor repair module effectiveness\r\n4% bonus to ship max velocity\r\n4% bonus to turret, vorton projector and missile launcher rate of fire\r\n4% bonus to capacitor recharge rate\r\n4% bonus to signature radius\r\n8% bonus to drone max velocity and tracking speed\r\n8% bonus to mining laser and ice harvester range\r\n8% bonus to scan resolution\r\n8% bonus to scan probe deviation and scan speed",
"description_es": "Este potenciador se ha proporcionado por medio de retribuciones diarias. Se aplicará inmediatamente tras canjearlo.\n\nDuración base: 2 horas.\n\n4 % de bonificación a la efectividad del módulo de reparación de escudo y blindaje local.\n\n4 % de bonificación a la velocidad máxima de la nave.\n\n4 % de bonificación a la cadencia de tiro de las torretas y los lanzamisiles.\n\n4 % de bonificación a la velocidad de carga del condensador.\n\n4 % de bonificación al radio de la señal.\n\n8 % de bonificación a la velocidad máxima y la velocidad de rastreo de los drones.\n\n8 % de bonificación al alcance de la cosechadora de hielo y el láser minero.\n\n8 % de bonificación a la resolución de escaneo.\n\n8 % de bonificación a la desviación de sondas y la velocidad de escaneo.",
"description_fr": "Ce booster vous est fourni dans le cadre des récompenses quotidiennes. Il prendra effet immédiatement, dès sa récupération. Durée de base : 2 heures. 4 % de bonus à l'efficacité du réparateur de bouclier et de blindage local</br>4 % de bonus à la vitesse max du vaisseau</br>4 % de bonus à la cadence de tir des tourelles et des lance-missiles</br>4 % de bonus à la vitesse de recharge du capaciteur</br>4 % de bonus au rayon de signature</br>8 % de bonus à la vitesse maximale et vitesse de poursuite maximale des drones</br>8 % de bonus à la portée des lasers d'extraction et collecteurs de glace</br>8 % de bonus à la résolution du balayage</br>8 % de bonus à la déviation et vitesse de balayage de la sonde",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n4% bonus to local shield and armor repair module effectiveness\r\n4% bonus to ship max velocity\r\n4% bonus to turret and missile launcher rate of fire\r\n4% bonus to capacitor recharge rate\r\n4% bonus to signature radius\r\n8% bonus to drone max velocity and tracking speed\r\n8% bonus to mining laser and ice harvester range\r\n8% bonus to scan resolution\r\n8% bonus to scan probe deviation and scan speed",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n4% bonus to local shield and armor repair module effectiveness\r\n4% bonus to ship max velocity\r\n4% bonus to turret, vorton projector and missile launcher rate of fire\r\n4% bonus to capacitor recharge rate\r\n4% bonus to signature radius\r\n8% bonus to drone max velocity and tracking speed\r\n8% bonus to mining laser and ice harvester range\r\n8% bonus to scan resolution\r\n8% bonus to scan probe deviation and scan speed",
"description_ja": "デイリー報酬を通じて手に入れたブースターです。引き換えると直ちに適用されます。\n基本持続時間2時間。\n\n装備したシールドとアーマーリペアモジュールの効果に4%のボーナス\n艦船の最高速度に4%のボーナス\nタレットとミサイルランチャーの発射間隔に4%のボーナス\nキャパシタ充電速度に4%のボーナス\nシグネチャ半径に4%のボーナス\nドローンの最高速度と追跡速度に8%のボーナス\n採掘レーザーとアイス採掘機の射程に8%のボーナス\nスキャン分解能に8%のボーナス\nスキャンプローブ誤差とスキャン速度に8%のボーナス",
"description_ko": "일일 보상으로 지급되는 부스터로 수령 시 즉시 활성화됩니다.<br>기본 지속시간: 2시간<br><br>지역 실드 및 장갑 수리 모듈 효과 4% 증가<br>함선 최대 속도 4% 증가<br>터렛 및 미사일 발사 속도 4% 증가<br>캐패시터 충전 속도 4% 중가<br>시그니처 반경 4% 감소<br>드론 최대 속도 및 트래킹 속도 8% 증가<br>채굴 레이저 및 아이스 채굴기 사거리 8% 증가<br>스캔 정밀도 8% 증가<br>스캔 프로브 오차 범위 8% 감소 및 스캔 속도 8% 증가",
"description_ru": "Этот стимулятор даётся в качестве одной из ежедневных наград. Применяется сразу же после получения. Базовая длительность: 2 часа. Увеличивает эффективность бортового ремонтного модуля для щитов и брони, максимальную скорость хода, скорострельность турелей и ракетных установок и скорость перезарядки накопителя на 4%. Увеличивает максимальную скорость и скорость наведения дронов, дальность действия буровых лазеров и установок для бурения льда, разрешающую способность сканеров и скорость сканирования на 8%. Снижает радиус сигнатуры на 4% и отклонение при сканировании разведзондами на 8%.",
@@ -292265,10 +292265,10 @@
"basePrice": 1000.0,
"capacity": 0.0,
"description_de": "Dieser Booster wurde Ihnen als Teil der täglichen Belohnungen zur Verfügung gestellt. Er wird sofort nach der Einlösung aktiv. Grunddauer: 2 Stunden. 5 % Bonus auf die Effektivität lokaler Schild- und Panzerungsreparaturmodule 5 % Bonus auf die Maximalgeschwindigkeit des Schiffs 5 % Bonus auf die Feuerrate von Geschütztürmen und Lenkwaffenwerfern 5 % Bonus auf die Wiederaufladerate des Energiespeichers 5 % Bonus auf den Signaturradius 10 % Bonus auf die Maximalgeschwindigkeit und Nachführungsgeschwindigkeit von Drohnen 10 % Bonus auf die Reichweite von Bergbaulasern und Eisschürfern 10 % Bonus auf die Scanauflösung 10 % Bonus auf die Abweichung und Scangeschwindigkeit von Scansonden",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n5% bonus to local shield and armor repair module effectiveness\r\n5% bonus to ship max velocity\r\n5% bonus to turret and missile launcher rate of fire\r\n5% bonus to capacitor recharge rate\r\n5% bonus to signature radius\r\n10% bonus to drone max velocity and tracking speed\r\n10% bonus to mining laser and ice harvester range\r\n10% bonus to scan resolution\r\n10% bonus to scan probe deviation and scan speed",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n5% bonus to local shield and armor repair module effectiveness\r\n5% bonus to ship max velocity\r\n5% bonus to turret, vorton projector and missile launcher rate of fire\r\n5% bonus to capacitor recharge rate\r\n5% bonus to signature radius\r\n10% bonus to drone max velocity and tracking speed\r\n10% bonus to mining laser and ice harvester range\r\n10% bonus to scan resolution\r\n10% bonus to scan probe deviation and scan speed",
"description_es": "Este potenciador se ha proporcionado por medio de retribuciones diarias. Se aplicará inmediatamente tras canjearlo.\n\nDuración base: 2 horas.\n\n5 % de bonificación a la efectividad del módulo de reparación de escudo y blindaje local.\n\n5 % de bonificación a la velocidad máxima de la nave.\n\n5 % de bonificación a la cadencia de tiro de las torretas y los lanzamisiles.\n\n5 % de bonificación a la velocidad de carga del condensador.\n\n5 % de bonificación al radio de la señal.\n\n10 % de bonificación a la velocidad máxima y la velocidad de rastreo de los drones.\n\n10 % de bonificación al alcance de la cosechadora de hielo y el láser minero.\n\n10 % de bonificación a la resolución de escaneo.\n\n10 % de bonificación a la desviación de sondas y la velocidad de escaneo.",
"description_fr": "Ce booster vous est fourni dans le cadre des récompenses quotidiennes. Il prendra effet immédiatement, dès sa récupération. Durée de base : 2 heures. 5 % de bonus à l'efficacité du réparateur de bouclier et de blindage local</br>5 % de bonus à la vitesse max du vaisseau</br>5 % de bonus à la cadence de tir des tourelles et des lance-missiles</br>5 % de bonus à la vitesse de recharge du capaciteur</br>5 % de bonus au rayon de signature</br>10 % de bonus à la vitesse maximale et vitesse de poursuite maximale des drones</br>10 % de bonus à la portée des lasers d'extraction et collecteurs de glace</br>10 % de bonus à la résolution du balayage</br>10 % de bonus à la déviation et vitesse de balayage de la sonde",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n5% bonus to local shield and armor repair module effectiveness\r\n5% bonus to ship max velocity\r\n5% bonus to turret and missile launcher rate of fire\r\n5% bonus to capacitor recharge rate\r\n5% bonus to signature radius\r\n10% bonus to drone max velocity and tracking speed\r\n10% bonus to mining laser and ice harvester range\r\n10% bonus to scan resolution\r\n10% bonus to scan probe deviation and scan speed",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n5% bonus to local shield and armor repair module effectiveness\r\n5% bonus to ship max velocity\r\n5% bonus to turret, vorton projector and missile launcher rate of fire\r\n5% bonus to capacitor recharge rate\r\n5% bonus to signature radius\r\n10% bonus to drone max velocity and tracking speed\r\n10% bonus to mining laser and ice harvester range\r\n10% bonus to scan resolution\r\n10% bonus to scan probe deviation and scan speed",
"description_ja": "デイリー報酬を通じて手に入れたブースターです。引き換えると直ちに適用されます。\n基本持続時間2時間。\n\n装備したシールドとアーマーリペアモジュールの効果に5%のボーナス\n艦船の最高速度に5%のボーナス\nタレットとミサイルランチャーの発射間隔に5%のボーナス\nキャパシタ充電速度に5%のボーナス\nシグネチャ半径に5%のボーナス\nドローンの最大速度と追跡速度に10%のボーナス\n採掘レーザーとアイス採掘機の射程に10%のボーナス\nスキャン分解能に10%のボーナス\nスキャンプローブ誤差とスキャン速度に10%のボーナス",
"description_ko": "일일 보상으로 지급되는 부스터로 수령 시 즉시 활성화됩니다.<br>기본 지속시간: 2시간<br><br>지역 실드 및 장갑 수리 모듈 효과 5% 증가<br>함선 최대 속도 5% 증가<br>터렛 및 미사일 발사 속도 5% 증가<br>캐패시터 충전 속도 5% 중가<br>시그니처 반경 5% 감소<br>드론 최대 속도 및 트래킹 속도 10% 증가<br>채굴 레이저 및 아이스 채굴기 사거리 10% 증가<br>스캔 정밀도 10% 증가<br>스캔 프로브 오차 범위 10% 감소 및 스캔 속도 10% 증가",
"description_ru": "Этот стимулятор даётся в качестве одной из ежедневных наград. Применяется сразу же после получения. Базовая длительность: 2 часа. Увеличивает эффективность бортового ремонтного модуля для щитов и брони, максимальную скорость хода, скорострельность турелей и ракетных установок и скорость перезарядки накопителя на 5%. Увеличивает максимальную скорость и скорость наведения дронов, дальность действия буровых лазеров и установок для бурения льда, разрешающую способность сканеров и скорость сканирования на 10%. Снижает радиус сигнатуры на 5% и отклонение при сканировании разведзондами на 10%.",
@@ -292300,10 +292300,10 @@
"basePrice": 1000.0,
"capacity": 0.0,
"description_de": "Dieser Booster wurde Ihnen als Teil der täglichen Belohnungen zur Verfügung gestellt. Er wird sofort nach der Einlösung aktiv. Grunddauer: 2 Stunden. 1 % Bonus auf Schildresistenzen 1 % Bonus auf die Warpgeschwindigkeit und -beschleunigung 1 % Bonus auf die optimale Reichweite und den Präzisionsabfall von Geschütztürmen 1 % Bonus auf die Flugdauer von Lenkwaffen 1 % Bonus auf die Energiespeicherkapazität 1 % Bonus auf die HP von Drohnen 1 % Bonus auf die Durchlaufzeit von Bergbaulasern und Eisschürfern 2 % Bonus auf die Scanauflösung 2 % Bonus auf die Sensorstärke +4 Virenkohärenz für Datenanalysegeräte",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n1% bonus to shield resistances\r\n1% bonus to warp speed and acceleration\r\n1% bonus to turret optimal range and falloff\r\n1% bonus to missile flight time\r\n1% bonus to capacitor capacity\r\n1% bonus to drone hitpoints\r\n1% bonus to mining laser and ice harvester cycle time\r\n2% bonus to scan resolution\r\n2% bonus to sensor strength\r\n+4 virus coherence for data analyzers",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n1% bonus to shield resistances\r\n1% bonus to warp speed and acceleration\r\n1% bonus to turret optimal range and falloff\r\n1% bonus to missile flight time\r\n1% bonus to vorton projector optimal range\r\n1% bonus to capacitor capacity\r\n1% bonus to drone hitpoints\r\n1% bonus to mining laser and ice harvester cycle time\r\n2% bonus to scan resolution\r\n2% bonus to sensor strength\r\n+4 virus coherence for data analyzers",
"description_es": "Este potenciador se ha proporcionado por medio de retribuciones diarias. Se aplicará inmediatamente tras canjearlo.\n\nDuración base: 2 horas.\n\n1 % de bonificación a las resistencias de escudo.\n\n1 % de bonificación a la velocidad y la aceleración de warp.\n\n1 % de bonificación a los alcances óptimo y efectivo de las torretas.\n\n1 % de bonificación al tiempo de vuelo de los misiles.\n\n1 % de bonificación a la capacidad del condensador.\n\n1 % de bonificación a los puntos de vida de los drones.\n\n1 % de bonificación al tiempo de ciclo de la cosechadora de hielo y el láser minero.\n\n2 % de bonificación a la resolución de escaneo.\n\n2 % de bonificación a la intensidad del sensor.\n\n+4 de coherencia del virus para analizadores de datos.",
"description_fr": "Ce booster vous est fourni dans le cadre des récompenses quotidiennes. Il prendra effet immédiatement, dès sa récupération. Durée de base : 2 heures. 1 % de bonus aux résistances du bouclier</br>1 % de bonus à la vitesse de warp et à l'accélération de warp</br>1 % de bonus à la portée optimale et de déperdition des tourelles</br>1 % de bonus au temps de vol des missiles</br>1 % de bonus à la charge du capaciteur</br>1 % de bonus aux points de vie des drones</br>1 % de bonus au temps de cycle des lasers d'extraction et collecteurs de glace</br>2 % de bonus à la résolution du balayage</br>2 % de bonus à la puissance de détection</br>+4 à la résistance virale des analyseurs de données",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n1% bonus to shield resistances\r\n1% bonus to warp speed and acceleration\r\n1% bonus to turret optimal range and falloff\r\n1% bonus to missile flight time\r\n1% bonus to capacitor capacity\r\n1% bonus to drone hitpoints\r\n1% bonus to mining laser and ice harvester cycle time\r\n2% bonus to scan resolution\r\n2% bonus to sensor strength\r\n+4 virus coherence for data analyzers",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n1% bonus to shield resistances\r\n1% bonus to warp speed and acceleration\r\n1% bonus to turret optimal range and falloff\r\n1% bonus to missile flight time\r\n1% bonus to vorton projector optimal range\r\n1% bonus to capacitor capacity\r\n1% bonus to drone hitpoints\r\n1% bonus to mining laser and ice harvester cycle time\r\n2% bonus to scan resolution\r\n2% bonus to sensor strength\r\n+4 virus coherence for data analyzers",
"description_ja": "デイリー報酬を通じて手に入れたブースターです。引き換えると直ちに適用されます。\n基本持続時間2時間。\n\nシールドレジスタンスに1%のボーナス\nワープ速度と加速度に1%のボーナス\nタレットの最適射程距離と精度低下範囲に1%のボーナス\nミサイルの飛行時間に1%のボーナス\nキャパシタ容量に1%のボーナス\nドローンのヒットポイントに1%のボーナス\n採掘レーザーとアイス採掘機のサイクル時間に1%のボーナス\nスキャン分解能に2%のボーナス\nセンサー強度に2%のボーナス\nデータアナライザーのウイルスコヒーレンス+4ポイント",
"description_ko": "일일 보상으로 지급되는 부스터로 수령 시 즉시 활성화됩니다.<br>기본 지속시간: 2시간<br><br>실드 저항력 1% 증가<br>워프 속도 및 가속 1% 증가<br>터렛 최적사거리 및 유효사거리 1% 증가<br>미사일 비행시간 1% 증가<br>캐패시터 용량 1% 증가<br>드론 내구도 1% 증가<br>채굴 레이저 및 아이스 채굴기 사이클 시간 1% 감소<br>스캔 정밀도 2% 증가<br>센서 강도 2% 증가<br>데이터 분석기 바이러스 결합도 +4 증가",
"description_ru": "Этот стимулятор даётся в качестве одной из ежедневных наград. Применяется сразу же после получения. Базовая длительность: 2 часа. Увеличивает сопротивляемость щитов, скорость хода в варп-режиме и разгон, оптимальную и остаточную дальность турелей, время полёта ракет, ёмкость накопителя и запас прочности дронов на 1%. Увеличивает разрешающую способность сканеров и мощность сенсоров на 2%. Снижает время цикла буровых лазеров и установок для бурения льда на 1%. Усиливает целостность вируса для анализаторов данных на 4.",
@@ -292335,10 +292335,10 @@
"basePrice": 1000.0,
"capacity": 0.0,
"description_de": "Dieser Booster wurde Ihnen als Teil der täglichen Belohnungen zur Verfügung gestellt. Er wird sofort nach der Einlösung aktiv. Grunddauer: 2 Stunden. 2 % Bonus auf Schildresistenzen 2 % Bonus auf die Warpgeschwindigkeit und -beschleunigung 2 % Bonus auf die optimale Reichweite und den Präzisionsabfall von Geschütztürmen 2 % Bonus auf die Flugdauer von Lenkwaffen 2 % Bonus auf die Energiespeicherkapazität 2 % Bonus auf die HP von Drohnen 2 % Bonus auf die Durchlaufzeit von Bergbaulasern und Eisschürfern 4 % Bonus auf die Scanauflösung 4 % Bonus auf die Sensorstärke +8 Virenkohärenz für Datenanalysegeräte",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n2% bonus to shield resistances\r\n2% bonus to warp speed and acceleration\r\n2% bonus to turret optimal range and falloff\r\n2% bonus to missile flight time\r\n2% bonus to capacitor capacity\r\n2% bonus to drone hitpoints\r\n2% bonus to mining laser and ice harvester cycle time\r\n4% bonus to scan resolution\r\n4% bonus to sensor strength\r\n+8 virus coherence for data analyzers",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n2% bonus to shield resistances\r\n2% bonus to warp speed and acceleration\r\n2% bonus to turret optimal range and falloff\r\n2% bonus to missile flight time\r\n2% bonus to vorton projector optimal range\r\n2% bonus to capacitor capacity\r\n2% bonus to drone hitpoints\r\n2% bonus to mining laser and ice harvester cycle time\r\n4% bonus to scan resolution\r\n4% bonus to sensor strength\r\n+8 virus coherence for data analyzers",
"description_es": "Este potenciador se ha proporcionado por medio de retribuciones diarias. Se aplicará inmediatamente tras canjearlo.\n\nDuración base: 2 horas.\n\n\n\n2 % de bonificación a las resistencias de escudo.\n\n2 % de bonificación a la velocidad y la aceleración de warp.\n\n2 % de bonificación a los alcances óptimo y efectivo de la torreta.\n\n2 % de bonificación al tiempo de vuelo de los misiles.\n\n2 % de bonificación a la capacidad del condensador.\n\n2 % de bonificación a los puntos de vida de los drones.\n\n2 % de bonificación al tiempo de ciclo de la cosechadora de hielo y el láser minero.\n\n4 % de bonificación a la resolución de escaneo.\n\n4 % de bonificación a la intensidad de los sensores.\n\n+8 de coherencia del virus para analizadores de datos.",
"description_fr": "Ce booster vous est fourni dans le cadre des récompenses quotidiennes. Il prendra effet immédiatement, dès sa récupération. Durée de base : 2 heures. 2 % de bonus aux résistances du bouclier</br>2 % de bonus à la vitesse de warp et à l'accélération de warp</br>2 % de bonus à la portée optimale et de déperdition des tourelles</br>2 % de bonus au temps de vol des missiles</br>2 % de bonus à la charge du capaciteur</br>2 % de bonus aux points de vie des drones</br>2 % de bonus au temps de cycle des lasers d'extraction et collecteurs de glace</br>4 % de bonus à la résolution du balayage</br>4 % de bonus à la puissance de détection</br>+8 à la résistance virale des analyseurs de données",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n2% bonus to shield resistances\r\n2% bonus to warp speed and acceleration\r\n2% bonus to turret optimal range and falloff\r\n2% bonus to missile flight time\r\n2% bonus to capacitor capacity\r\n2% bonus to drone hitpoints\r\n2% bonus to mining laser and ice harvester cycle time\r\n4% bonus to scan resolution\r\n4% bonus to sensor strength\r\n+8 virus coherence for data analyzers",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n2% bonus to shield resistances\r\n2% bonus to warp speed and acceleration\r\n2% bonus to turret optimal range and falloff\r\n2% bonus to missile flight time\r\n2% bonus to vorton projector optimal range\r\n2% bonus to capacitor capacity\r\n2% bonus to drone hitpoints\r\n2% bonus to mining laser and ice harvester cycle time\r\n4% bonus to scan resolution\r\n4% bonus to sensor strength\r\n+8 virus coherence for data analyzers",
"description_ja": "デイリー報酬を通じて手に入れたブースターです。引き換えると直ちに適用されます。\n基本持続時間2時間。\n\nシールドレジスタンスに2%のボーナス\nワープ速度と加速度に2%のボーナス\nタレットの最適射程距離と精度低下範囲に2%のボーナス\nミサイルの飛行時間に2%のボーナス\nキャパシタ容量に2%のボーナス\nドローンのヒットポイントに2%のボーナス\n採掘レーザーとアイス採掘機のサイクル時間に2%のボーナス\nスキャン分解能に4%のボーナス\nセンサー強度に4%のボーナス\nデータアナライザーのウイルスコヒーレンス+8ポイント",
"description_ko": "일일 보상으로 지급되는 부스터로 수령 시 즉시 활성화됩니다.<br>기본 지속시간: 2시간<br><br>실드 저항력 2% 증가<br>워프 속도 및 가속 2% 증가<br>터렛 최적사거리 및 유효사거리 2% 증가<br>미사일 비행시간 2% 증가<br>캐패시터 용량 2% 증가<br>드론 내구도 2% 증가<br>채굴 레이저 및 아이스 채굴기 사이클 시간 2% 감소<br>스캔 정밀도 4% 증가<br>센서 강도 4% 증가<br>데이터 분석기 바이러스 결합도 +8 증가",
"description_ru": "Этот стимулятор даётся в качестве одной из ежедневных наград. Применяется сразу же после получения. Базовая длительность: 2 часа. Увеличивает сопротивляемость щитов, скорость хода в варп-режиме и разгон, оптимальную и остаточную дальность турелей, время полёта ракет, ёмкость накопителя и запас прочности дронов на 2%. Увеличивает разрешающую способность сканеров и мощность сенсоров на 4%. Снижает время цикла буровых лазеров и установок для бурения льда на 2%. Усиливает целостность вируса для анализаторов данных на 8.",
@@ -292370,10 +292370,10 @@
"basePrice": 1000.0,
"capacity": 0.0,
"description_de": "Dieser Booster wurde Ihnen als Teil der täglichen Belohnungen zur Verfügung gestellt. Er wird sofort nach der Einlösung aktiv. Grunddauer: 2 Stunden. 3 % Bonus auf Schildresistenzen 3 % Bonus auf die Warpgeschwindigkeit und -beschleunigung 3 % Bonus auf die optimale Reichweite und den Präzisionsabfall von Geschütztürmen 3 % Bonus auf die Flugdauer von Lenkwaffen 3 % Bonus auf die Energiespeicherkapazität 3 % Bonus auf die HP von Drohnen 3 % Bonus auf die Durchlaufzeit von Bergbaulasern und Eisschürfern 6 % Bonus auf die Scanauflösung 6 % Bonus auf die Sensorstärke +12 Virenkohärenz für Datenanalysegeräte",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n3% bonus to shield resistances\r\n3% bonus to warp speed and acceleration\r\n3% bonus to turret optimal range and falloff\r\n3% bonus to missile flight time\r\n3% bonus to capacitor capacity\r\n3% bonus to drone hitpoints\r\n3% bonus to mining laser and ice harvester cycle time\r\n6% bonus to scan resolution\r\n6% bonus to sensor strength\r\n+12 virus coherence for data analyzers",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n3% bonus to shield resistances\r\n3% bonus to warp speed and acceleration\r\n3% bonus to turret optimal range and falloff\r\n3% bonus to missile flight time\r\n3% bonus to vorton projector optimal range\r\n3% bonus to capacitor capacity\r\n3% bonus to drone hitpoints\r\n3% bonus to mining laser and ice harvester cycle time\r\n6% bonus to scan resolution\r\n6% bonus to sensor strength\r\n+12 virus coherence for data analyzers",
"description_es": "Este potenciador se ha proporcionado por medio de retribuciones diarias. Se aplicará inmediatamente tras canjearlo.\n\nDuración base: 2 horas.\n\n\n\n3 % de bonificación a las resistencias de escudo.\n\n3 % de bonificación a la velocidad y la aceleración de warp.\n\n3 % de bonificación a los alcances óptimo y efectivo de la torreta.\n\n3 % de bonificación al tiempo de vuelo de los misiles.\n\n3 % de bonificación a la capacidad del condensador.\n\n3 % de bonificación a los puntos de vida de los drones.\n\n3 % de bonificación al tiempo de ciclo de la cosechadora de hielo y el láser minero.\n\n6 % de bonificación a la resolución de escaneo.\n\n6% de bonificación a la intensidad de los sensores.\n\n+12 de coherencia del virus para analizadores de datos.",
"description_fr": "Ce booster vous est fourni dans le cadre des récompenses quotidiennes. Il prendra effet immédiatement, dès sa récupération. Durée de base : 2 heures. 3 % de bonus aux résistances du bouclier</br>3 % de bonus à la vitesse de warp et à l'accélération de warp</br>3 % de bonus à la portée optimale et de déperdition des tourelles</br>3 % de bonus au temps de vol des missiles</br>3 % de bonus à la charge du capaciteur 3 % de bonus aux points de vie des drones</br>3 % de bonus au temps de cycle des lasers d'extraction et collecteurs de glace</br>6 % de bonus à la résolution du balayage</br>6 % de bonus à la puissance de détection</br>+12 à la résistance virale des analyseurs de données",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n3% bonus to shield resistances\r\n3% bonus to warp speed and acceleration\r\n3% bonus to turret optimal range and falloff\r\n3% bonus to missile flight time\r\n3% bonus to capacitor capacity\r\n3% bonus to drone hitpoints\r\n3% bonus to mining laser and ice harvester cycle time\r\n6% bonus to scan resolution\r\n6% bonus to sensor strength\r\n+12 virus coherence for data analyzers",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n3% bonus to shield resistances\r\n3% bonus to warp speed and acceleration\r\n3% bonus to turret optimal range and falloff\r\n3% bonus to missile flight time\r\n3% bonus to vorton projector optimal range\r\n3% bonus to capacitor capacity\r\n3% bonus to drone hitpoints\r\n3% bonus to mining laser and ice harvester cycle time\r\n6% bonus to scan resolution\r\n6% bonus to sensor strength\r\n+12 virus coherence for data analyzers",
"description_ja": "デイリー報酬を通じて手に入れたブースターです。引き換えると直ちに適用されます。\n基本持続時間2時間。\n\nシールドレジスタンスに3%のボーナス\nワープ速度と加速度に3%のボーナス\nタレットの最適射程距離と精度低下範囲に3%のボーナス\nミサイルの飛行時間に3%のボーナス\nキャパシタ容量に3%のボーナス\nドローンのヒットポイントに3%のボーナス\n採掘レーザーとアイス採掘機のサイクル時間に3%のボーナス\nスキャン分解能に6%のボーナス\nセンサー強度に6%のボーナス\nデータアナライザーのウイルスコヒーレンス+12ポイント",
"description_ko": "일일 보상으로 지급되는 부스터로 수령 시 즉시 활성화됩니다.<br>기본 지속시간: 2시간<br><br>실드 저항력 3% 증가<br>워프 속도 및 가속 3% 증가<br>터렛 최적사거리 및 유효사거리 3% 증가<br>미사일 비행시간 3% 증가<br>캐패시터 용량 3% 증가<br>드론 내구도 3% 증가<br>채굴 레이저 및 아이스 채굴기 사이클 시간 3% 감소<br>스캔 정밀도 6% 증가<br>센서 강도 6% 증가<br>데이터 분석기 바이러스 결합도 +12 증가",
"description_ru": "Этот стимулятор даётся в качестве одной из ежедневных наград. Применяется сразу же после получения. Базовая длительность: 2 часа. Увеличивает сопротивляемость щитов, скорость хода в варп-режиме и разгон, оптимальную и остаточную дальность турелей, время полёта ракет, ёмкость накопителя и запас прочности дронов на 3%. Увеличивает разрешающую способность сканеров и мощность сенсоров на 6%. Снижает время цикла буровых лазеров и установок для бурения льда на 3%. Усиливает целостность вируса для анализаторов данных на 12.",
@@ -292405,10 +292405,10 @@
"basePrice": 1000.0,
"capacity": 0.0,
"description_de": "Dieser Booster wurde Ihnen als Teil der täglichen Belohnungen zur Verfügung gestellt. Er wird sofort nach der Einlösung aktiv. Grunddauer: 2 Stunden. 4 % Bonus auf Schildresistenzen 4 % Bonus auf die Warpgeschwindigkeit und -beschleunigung 4 % Bonus auf die optimale Reichweite und den Präzisionsabfall von Geschütztürmen 4 % Bonus auf die Flugdauer von Lenkwaffen 4 % Bonus auf die Energiespeicherkapazität 4 % Bonus auf die HP von Drohnen 4 % Bonus auf die Durchlaufzeit von Bergbaulasern und Eisschürfern 8 % Bonus auf die Scanauflösung 8 % Bonus auf die Sensorstärke +16 Virenkohärenz für Datenanalysegeräte",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n4% bonus to shield resistances\r\n4% bonus to warp speed and acceleration\r\n4% bonus to turret optimal range and falloff\r\n4% bonus to missile flight time\r\n4% bonus to capacitor capacity\r\n4% bonus to drone hitpoints\r\n4% bonus to mining laser and ice harvester cycle time\r\n8% bonus to scan resolution\r\n8% bonus to sensor strength\r\n+16 virus coherence for data analyzers",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n4% bonus to shield resistances\r\n4% bonus to warp speed and acceleration\r\n4% bonus to turret optimal range and falloff\r\n4% bonus to missile flight time\r\n4% bonus to vorton projector optimal range\r\n4% bonus to capacitor capacity\r\n4% bonus to drone hitpoints\r\n4% bonus to mining laser and ice harvester cycle time\r\n8% bonus to scan resolution\r\n8% bonus to sensor strength\r\n+16 virus coherence for data analyzers",
"description_es": "Este potenciador se ha proporcionado por medio de retribuciones diarias. Se aplicará inmediatamente tras canjearlo.\n\nDuración base: 2 horas.\n\n\n\n4 % de bonificación a las resistencias de escudo.\n\n4 % de bonificación a la velocidad y la aceleración de warp.\n\n4 % de bonificación a los alcances óptimo y efectivo de la torreta.\n\n4 % de bonificación al tiempo de vuelo de los misiles.\n\n4 % de bonificación a la capacidad del condensador.\n\n4 % de bonificación a los puntos de vida de los drones.\n\n4 % de bonificación al tiempo de ciclo de la cosechadora de hielo y el láser minero.\n\n8 % de bonificación a la resolución de escaneo.\n\n8 % de bonificación a la intensidad del sensor.\n\n+16 de coherencia del virus para analizadores de datos.",
"description_fr": "Ce booster vous est fourni dans le cadre des récompenses quotidiennes. Il prendra effet immédiatement, dès sa récupération. Durée de base : 2 heures. 4 % de bonus aux résistances du bouclier</br>4 % de bonus à la vitesse de warp et à l'accélération de warp</br>4 % de bonus à la portée optimale et de déperdition des tourelles</br>4 % de bonus au temps de vol des missiles 4 % de bonus à la charge du capaciteur</br>4 % de bonus aux points de vie des drones</br>4 % de bonus au temps de cycle des lasers d'extraction et collecteurs de glace</br>8 % de bonus à la résolution du balayage</br>8 % de bonus à la puissance de détection</br>+16 à la résistance virale des analyseurs de données",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n4% bonus to shield resistances\r\n4% bonus to warp speed and acceleration\r\n4% bonus to turret optimal range and falloff\r\n4% bonus to missile flight time\r\n4% bonus to capacitor capacity\r\n4% bonus to drone hitpoints\r\n4% bonus to mining laser and ice harvester cycle time\r\n8% bonus to scan resolution\r\n8% bonus to sensor strength\r\n+16 virus coherence for data analyzers",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n4% bonus to shield resistances\r\n4% bonus to warp speed and acceleration\r\n4% bonus to turret optimal range and falloff\r\n4% bonus to missile flight time\r\n4% bonus to vorton projector optimal range\r\n4% bonus to capacitor capacity\r\n4% bonus to drone hitpoints\r\n4% bonus to mining laser and ice harvester cycle time\r\n8% bonus to scan resolution\r\n8% bonus to sensor strength\r\n+16 virus coherence for data analyzers",
"description_ja": "デイリー報酬を通じて手に入れたブースターです。引き換えると直ちに適用されます。\n基本持続時間2時間。\n\nシールドレジスタンスに4%のボーナス\nワープ速度と加速度に4%のボーナス\nタレットの最適射程距離と精度低下範囲に4%のボーナス\nミサイルの飛行時間に4%のボーナス\nキャパシタ容量に4%のボーナス\nドローンのヒットポイントに4%のボーナス\n採掘レーザーとアイス採掘機のサイクル時間に4%のボーナス\nスキャン分解能に8%のボーナス\nセンサー強度に8%のボーナス\nデータアナライザーのウイルスコヒーレンス+16ポイント",
"description_ko": "일일 보상으로 지급되는 부스터로 수령 시 즉시 활성화됩니다.<br>기본 지속시간: 2시간<br><br>실드 저항력 4% 증가<br>워프 속도 및 가속 4% 증가<br>터렛 최적사거리 및 유효사거리 4% 증가<br>미사일 비행시간 4% 증가<br>캐패시터 용량 4% 증가<br>드론 내구도 4% 증가<br>채굴 레이저 및 아이스 채굴기 사이클 시간 4% 감소<br>스캔 정밀도 8% 증가<br>센서 강도 8% 증가<br>데이터 분석기 바이러스 결합도 +16 증가",
"description_ru": "Этот стимулятор даётся в качестве одной из ежедневных наград. Применяется сразу же после получения. Базовая длительность: 2 часа. Увеличивает сопротивляемость щитов, скорость хода в варп-режиме и разгон, оптимальную и остаточную дальность турелей, время полёта ракет, ёмкость накопителя и запас прочности дронов на 4%. Увеличивает разрешающую способность сканеров и мощность сенсоров на 8%. Снижает время цикла буровых лазеров и установок для бурения льда на 4%. Усиливает целостность вируса для анализаторов данных на 16.",
@@ -292440,10 +292440,10 @@
"basePrice": 1000.0,
"capacity": 0.0,
"description_de": "Dieser Booster wurde Ihnen als Teil der täglichen Belohnungen zur Verfügung gestellt. Er wird sofort nach der Einlösung aktiv. Grunddauer: 2 Stunden. 5 % Bonus auf Schildresistenzen 5 % Bonus auf die Warpgeschwindigkeit und -beschleunigung 5 % Bonus auf die optimale Reichweite und den Präzisionsabfall von Geschütztürmen 5 % Bonus auf die Flugdauer von Lenkwaffen 5 % Bonus auf die Energiespeicherkapazität 5 % Bonus auf die HP von Drohnen 5 % Bonus auf die Durchlaufzeit von Bergbaulasern und Eisschürfern 10 % Bonus auf die Scanauflösung 10 % Bonus auf die Sensorstärke +20 Virenkohärenz für Datenanalysegeräte",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n5% bonus to shield resistances\r\n5% bonus to warp speed and acceleration\r\n5% bonus to turret optimal range and falloff\r\n5% bonus to missile flight time\r\n5% bonus to capacitor capacity\r\n5% bonus to drone hitpoints\r\n5% bonus to mining laser and ice harvester cycle time\r\n10% bonus to scan resolution\r\n10% bonus to sensor strength\r\n+20 virus coherence for data analyzers",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n5% bonus to shield resistances\r\n5% bonus to warp speed and acceleration\r\n5% bonus to turret optimal range and falloff\r\n5% bonus to missile flight time\r\n5% bonus to vorton projector optimal range\r\n5% bonus to capacitor capacity\r\n5% bonus to drone hitpoints\r\n5% bonus to mining laser and ice harvester cycle time\r\n10% bonus to scan resolution\r\n10% bonus to sensor strength\r\n+20 virus coherence for data analyzers",
"description_es": "Este potenciador se ha proporcionado por medio de retribuciones diarias. Se aplicará inmediatamente tras canjearlo.\n\nDuración base: 2 horas.\n\n\n\n5 % de bonificación a las resistencias de escudo.\n\n5 % de bonificación a la velocidad y la aceleración de warp.\n\n5 % de bonificación a los alcances óptimo y efectivo de la torreta.\n\n5 % de bonificación al tiempo de vuelo de los misiles.\n\n5 % de bonificación a la capacidad del condensador.\n\n5 % de bonificación a los puntos de vida de los drones.\n\n5 % de bonificación al tiempo de ciclo de la cosechadora de hielo y el láser minero.\n\n10 % de bonificación a la resolución de escaneo.\n\n10 % de bonificación a la intensidad del sensor.\n\n+20 de coherencia del virus para analizadores de datos.",
"description_fr": "Ce booster vous est fourni dans le cadre des récompenses quotidiennes. Il prendra effet immédiatement, dès sa récupération. Durée de base : 2 heures. 5 % de bonus aux résistances du bouclier</br>5 % de bonus à la vitesse de warp et à l'accélération de warp</br>5 % de bonus à la portée optimale et de déperdition des tourelles</br>5 % de bonus au temps de vol des missiles</br>5 % de bonus à la charge du capaciteur</br>5 % de bonus aux points de vie des drones</br>5 % de bonus au temps de cycle des lasers d'extraction et collecteurs de glace</br>10 % de bonus à la résolution du balayage</br>10 % de bonus à la puissance de détection</br>+20 à la résistance virale des analyseurs de données",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n5% bonus to shield resistances\r\n5% bonus to warp speed and acceleration\r\n5% bonus to turret optimal range and falloff\r\n5% bonus to missile flight time\r\n5% bonus to capacitor capacity\r\n5% bonus to drone hitpoints\r\n5% bonus to mining laser and ice harvester cycle time\r\n10% bonus to scan resolution\r\n10% bonus to sensor strength\r\n+20 virus coherence for data analyzers",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n5% bonus to shield resistances\r\n5% bonus to warp speed and acceleration\r\n5% bonus to turret optimal range and falloff\r\n5% bonus to missile flight time\r\n5% bonus to vorton projector optimal range\r\n5% bonus to capacitor capacity\r\n5% bonus to drone hitpoints\r\n5% bonus to mining laser and ice harvester cycle time\r\n10% bonus to scan resolution\r\n10% bonus to sensor strength\r\n+20 virus coherence for data analyzers",
"description_ja": "デイリー報酬を通じて手に入れたブースターです。引き換えると直ちに適用されます。\n基本持続時間2時間。\n\nシールドレジスタンスに5%のボーナス\nワープ速度と加速度に5%のボーナス\nタレットの最適射程距離と精度低下範囲に5%のボーナス\nミサイルの飛行時間に5%のボーナス\nキャパシタ容量に5%のボーナス\nドローンのヒットポイントに5%のボーナス\n採掘レーザーとアイス採掘機のサイクル時間に5%のボーナス\nスキャン分解能に10%のボーナス\nセンサー強度に10%のボーナス\nデータアナライザーのウイルスコヒーレンス+20ポイント",
"description_ko": "일일 보상으로 지급되는 부스터로 수령 시 즉시 활성화됩니다.<br>기본 지속시간: 2시간<br><br>실드 저항력 5% 증가<br>워프 속도 및 가속 5% 증가<br>터렛 최적사거리 및 유효사거리 5% 증가<br>미사일 비행시간 5% 증가<br>캐패시터 용량 5% 증가<br>드론 내구도 5% 증가<br>채굴 레이저 및 아이스 채굴기 사이클 시간 5% 감소<br>스캔 정밀도 10% 증가<br>센서 강도 10% 증가<br>데이터 분석기 바이러스 결합도 +20 증가",
"description_ru": "Этот стимулятор даётся в качестве одной из ежедневных наград. Применяется сразу же после получения. Базовая длительность: 2 часа. Увеличивает сопротивляемость щитов, скорость хода в варп-режиме и разгон, оптимальную и остаточную дальность турелей, время полёта ракет, ёмкость накопителя и запас прочности дронов на 5%. Увеличивает разрешающую способность сканеров и мощность сенсоров на 10%. Снижает время цикла буровых лазеров и установок для бурения льда на 5%. Усиливает целостность вируса для анализаторов данных на 20.",
@@ -292475,10 +292475,10 @@
"basePrice": 1000.0,
"capacity": 0.0,
"description_de": "Dieser Booster wurde Ihnen als Teil der täglichen Belohnungen zur Verfügung gestellt. Er wird sofort nach der Einlösung aktiv. Grunddauer: 2 Stunden. 1 % Bonus auf die HP von Schilden, Panzerungen und Strukturen 1 % Bonus auf die Wendigkeit des Schiffs 1 % Bonus auf die Nachführungsgeschwindigkeit von Geschütztürmen 1 % Bonus auf die Lenkwaffen-Explosionsgeschwindigkeit 1 % Bonus auf die Wiederaufladerate des Energiespeichers 1 % Bonus auf Drohnenschaden 1 % Bonus auf die Durchlaufzeit von Bergbaulasern und Eisschürfern 2 % Bonus auf die maximale Zielerfassungsreichweite 2 % Bonus auf die Sensorstärke 2 % Bonus auf die Stärke von Scansonden",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n1% bonus to shield, armor, and structure hitpoints\r\n1% bonus to ship agility\r\n1% bonus to turret tracking speed\r\n1% bonus to missile explosion velocity\r\n1% bonus to capacitor recharge rate\r\n1% bonus to drone damage\r\n1% bonus to mining laser and ice harvester cycle time\r\n2% bonus to maximum targeting range\r\n2% bonus to sensor strength\r\n2% bonus to scan probe strength",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n1% bonus to shield, armor, and structure hitpoints\r\n1% bonus to ship agility\r\n1% bonus to turret tracking speed\r\n1% bonus to missile explosion velocity\r\n1% bonus to vorton projector explosion radius and explosion velocity\r\n1% bonus to capacitor recharge rate\r\n1% bonus to drone damage\r\n1% bonus to mining laser and ice harvester cycle time\r\n2% bonus to maximum targeting range\r\n2% bonus to sensor strength\r\n2% bonus to scan probe strength",
"description_es": "Este potenciador se ha proporcionado por medio de retribuciones diarias. Se aplicará inmediatamente tras canjearlo.\n\nDuración base: 2 horas.\n\n\n\n1 % de bonificación a los puntos de vida del escudo, el blindaje y la estructura.\n\n1 % de bonificación a la agilidad de la nave.\n\n1 % de bonificación a la velocidad de rastreo de las torretas.\n\n1 % de bonificación a la velocidad de explosión de los misiles.\n\n1 % de bonificación a la velocidad de carga del condensador.\n\n1 % de bonificación al daño de los drones.\n\n1 % de bonificación al tiempo de ciclo de la cosechadora de hielo y el láser minero.\n\n2 % de bonificación a la distancia-objetivo máxima.\n\n2 % de bonificación a la intensidad del sensor.\n\n2 % de bonificación a la intensidad de las sondas de escaneo.",
"description_fr": "Ce booster vous est fourni dans le cadre des récompenses quotidiennes. Il prendra effet immédiatement, dès sa récupération. Durée de base : 2 heures. 1 % de bonus aux points de vie du bouclier, du blindage et de la structure</br>1 % de bonus à la maniabilité du vaisseau</br>1 % de bonus à la vitesse de poursuite des tourelles</br>1 % de bonus à la vitesse d'explosion des missiles</br>1 % de bonus à la vitesse de recharge du capaciteur</br>1 % de bonus aux dégâts infligés par les drones</br>1 % de bonus au temps de cycle des lasers d'extraction et collecteurs de glace</br>2 % de bonus à la portée de ciblage maximum</br>2 % de bonus à la puissance de détection</br>2 % de bonus à la puissance de balayage de sonde",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n1% bonus to shield, armor, and structure hitpoints\r\n1% bonus to ship agility\r\n1% bonus to turret tracking speed\r\n1% bonus to missile explosion velocity\r\n1% bonus to capacitor recharge rate\r\n1% bonus to drone damage\r\n1% bonus to mining laser and ice harvester cycle time\r\n2% bonus to maximum targeting range\r\n2% bonus to sensor strength\r\n2% bonus to scan probe strength",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n1% bonus to shield, armor, and structure hitpoints\r\n1% bonus to ship agility\r\n1% bonus to turret tracking speed\r\n1% bonus to missile explosion velocity\r\n1% bonus to vorton projector explosion radius and explosion velocity\r\n1% bonus to capacitor recharge rate\r\n1% bonus to drone damage\r\n1% bonus to mining laser and ice harvester cycle time\r\n2% bonus to maximum targeting range\r\n2% bonus to sensor strength\r\n2% bonus to scan probe strength",
"description_ja": "デイリー報酬を通じて手に入れたブースターです。引き換えると直ちに適用されます。\n基本持続時間2時間。\n\nシールド、アーマー、そしてストラクチャのヒットポイントに1%のボーナス\n艦船の機動性に1%のボーナス\nタレットの追跡速度に1%のボーナス\nミサイルの爆発速度に1%のボーナス\nキャパシタ充電速度に1%のボーナス\nドローンのダメージに1%のボーナス\n採掘レーザーとアイス採掘機のサイクル時間に1%のボーナス\n最大ターゲット範囲に2%のボーナス\nセンサー強度に2%のボーナス\nスキャンプローブ強度に2%のボーナス",
"description_ko": "일일 보상으로 지급되는 부스터로 수령 시 즉시 활성화됩니다.<br>기본 지속시간: 2시간<br><br>실드, 장갑, 구조물 내구도 1% 증가<br>함선 기동성 1% 증가<br>터렛 트래킹 속도 1% 증가<br>미사일 폭발 속도 1% 증가<br>캐패시터 충전 속도 1% 중가<br>드론 피해량 1% 증가<br>채굴 레이저 및 아이스 채굴기 사이클 시간 1% 감소<br>최대 타겟팅 거리 2% 증가<br>센서 강도 2% 증가<br>프로브 스캔 강도 2% 증가",
"description_ru": "Этот стимулятор даётся в качестве одной из ежедневных наград. Применяется сразу же после получения. Базовая длительность: 2 часа. Увеличивает запас прочности щитов, брони и корпуса, манёвренность корабля, скорость наведения турелей, скорость распространения взрыва ракет, скорость перезарядки накопителя и урон от дронов на 1%. Увеличивает максимальную дальность наведения, мощность сенсоров и чувствительность зондов на 2%. Снижает время цикла буровых лазеров и установок для бурения льда на 1%.",
@@ -292510,10 +292510,10 @@
"basePrice": 1000.0,
"capacity": 0.0,
"description_de": "Dieser Booster wurde Ihnen als Teil der täglichen Belohnungen zur Verfügung gestellt. Er wird sofort nach der Einlösung aktiv. Grunddauer: 2 Stunden. 2 % Bonus auf die HP von Schilden, Panzerungen und Strukturen 2 % Bonus auf die Wendigkeit des Schiffs 2 % Bonus auf die Nachführungsgeschwindigkeit von Geschütztürmen 2 % Bonus auf die Lenkwaffen-Explosionsgeschwindigkeit 2 % Bonus auf die Wiederaufladerate des Energiespeichers 2 % Bonus auf Drohnenschaden 2 % Bonus auf die Durchlaufzeit von Bergbaulasern und Eisschürfern 4 % Bonus auf die maximale Zielerfassungsreichweite 4 % Bonus auf die Sensorstärke 4 % Bonus auf die Stärke von Scansonden",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n2% bonus to shield, armor, and structure hitpoints\r\n2% bonus to ship agility\r\n2% bonus to turret tracking speed\r\n2% bonus to missile explosion velocity\r\n2% bonus to capacitor recharge rate\r\n2% bonus to drone damage\r\n2% bonus to mining laser and ice harvester cycle time\r\n4% bonus to maximum targeting range\r\n4% bonus to sensor strength\r\n4% bonus to scan probe strength",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n2% bonus to shield, armor, and structure hitpoints\r\n2% bonus to ship agility\r\n2% bonus to turret tracking speed\r\n2% bonus to missile explosion velocity\r\n2% bonus to vorton projector explosion radius and explosion velocity\r\n2% bonus to capacitor recharge rate\r\n2% bonus to drone damage\r\n2% bonus to mining laser and ice harvester cycle time\r\n4% bonus to maximum targeting range\r\n4% bonus to sensor strength\r\n4% bonus to scan probe strength",
"description_es": "Este potenciador se ha proporcionado por medio de retribuciones diarias. Se aplicará inmediatamente tras canjearlo.\n\nDuración base: 2 horas.\n\n\n\n2 % de bonificación a los puntos de vida del escudo, el blindaje y la estructura.\n\n2 % de bonificación a la agilidad de la nave.\n\n2 % de bonificación a la velocidad de rastreo de las torretas.\n\n2 % de bonificación a la velocidad de explosión de los misiles.\n\n2 % de bonificación al índice de carga del condensador.\n\n2 % de bonificación al daño de los drones.\n\n2 % de bonificación al tiempo de ciclo de la cosechadora de hielo y el láser minero.\n\n4 % de bonificación a la distancia-objetivo máxima.\n\n4 % de bonificación a la intensidad de los sensores.\n\n4 % de bonificación a la intensidad de las sondas de escaneo.",
"description_fr": "Ce booster vous est fourni dans le cadre des récompenses quotidiennes. Il prendra effet immédiatement, dès sa récupération. Durée de base : 2 heures. 2 % de bonus aux points de vie du bouclier, du blindage et de la structure</br>2 % de bonus à la maniabilité du vaisseau</br>2 % de bonus à la vitesse de poursuite des tourelles</br>2 % de bonus à la vitesse d'explosion des missiles</br>2 % de bonus à la vitesse de recharge du capaciteur</br>2 % de bonus aux dégâts infligés par les drones</br>2 % de bonus au temps de cycle des lasers d'extraction et collecteurs de glace</br>4 % de bonus à la portée de ciblage maximum</br>4 % de bonus à la puissance de détection</br>4 % de bonus à la puissance de balayage de sonde",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n2% bonus to shield, armor, and structure hitpoints\r\n2% bonus to ship agility\r\n2% bonus to turret tracking speed\r\n2% bonus to missile explosion velocity\r\n2% bonus to capacitor recharge rate\r\n2% bonus to drone damage\r\n2% bonus to mining laser and ice harvester cycle time\r\n4% bonus to maximum targeting range\r\n4% bonus to sensor strength\r\n4% bonus to scan probe strength",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n2% bonus to shield, armor, and structure hitpoints\r\n2% bonus to ship agility\r\n2% bonus to turret tracking speed\r\n2% bonus to missile explosion velocity\r\n2% bonus to vorton projector explosion radius and explosion velocity\r\n2% bonus to capacitor recharge rate\r\n2% bonus to drone damage\r\n2% bonus to mining laser and ice harvester cycle time\r\n4% bonus to maximum targeting range\r\n4% bonus to sensor strength\r\n4% bonus to scan probe strength",
"description_ja": "デイリー報酬を通じて手に入れたブースターです。引き換えると直ちに適用されます。\n基本持続時間2時間。\n\nシールド、アーマー、そしてストラクチャにヒットポイントに2%のボーナス\n艦船の機動性に2%のボーナス\nタレットの追跡速度に2%のボーナス\nミサイルの爆風速度に2%のボーナス\nキャパシタ充電速度に2%のボーナス\nドローンのダメージに2%のボーナス\n採掘レーザーとアイス採掘機のサイクル時間に2%のボーナス\n最大ターゲット範囲に4%のボーナス\nセンサー強度に4%のボーナス\nスキャンプローブ強度に4%のボーナス",
"description_ko": "일일 보상으로 지급되는 부스터로 수령 시 즉시 활성화됩니다.<br>기본 지속시간: 2시간<br><br>실드, 장갑, 구조물 내구도 2% 증가<br>함선 기동성 2% 증가<br>터렛 트래킹 속도 2% 증가<br>미사일 폭발 속도 2% 증가<br>캐패시터 충전 속도 2% 중가<br>드론 피해량 2% 증가<br>채굴 레이저 및 아이스 채굴기 사이클 시간 2% 감소<br>최대 타겟팅 거리 4% 증가<br>센서 강도 4% 증가<br>프로브 스캔 강도 4% 증가",
"description_ru": "Этот стимулятор даётся в качестве одной из ежедневных наград. Применяется сразу же после получения. Базовая длительность: 2 часа. Увеличивает запас прочности щитов, брони и корпуса, манёвренность корабля, скорость наведения турелей, скорость распространения взрыва ракет, скорость перезарядки накопителя и урон от дронов на 2%. Увеличивает максимальную дальность наведения, мощность сенсоров и чувствительность зондов на 4%. Снижает время цикла буровых лазеров и установок для бурения льда на 2%.",
@@ -292545,10 +292545,10 @@
"basePrice": 1000.0,
"capacity": 0.0,
"description_de": "Dieser Booster wurde Ihnen als Teil der täglichen Belohnungen zur Verfügung gestellt. Er wird sofort nach der Einlösung aktiv. Grunddauer: 2 Stunden. 3 % Bonus auf die HP von Schilden, Panzerungen und Strukturen 3 % Bonus auf die Wendigkeit des Schiffs 3 % Bonus auf die Nachführungsgeschwindigkeit von Geschütztürmen 3 % Bonus auf die Lenkwaffen-Explosionsgeschwindigkeit 3 % Bonus auf die Wiederaufladerate des Energiespeichers 3 % Bonus auf Drohnenschaden 3 % Bonus auf die Durchlaufzeit von Bergbaulasern und Eisschürfern 6 % Bonus auf die maximale Zielerfassungsreichweite 6 % Bonus auf die Sensorstärke 6 % Bonus auf die Stärke von Scansonden",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n3% bonus to shield, armor, and structure hitpoints\r\n3% bonus to ship agility\r\n3% bonus to turret tracking speed\r\n3% bonus to missile explosion velocity\r\n3% bonus to capacitor recharge rate\r\n3% bonus to drone damage\r\n3% bonus to mining laser and ice harvester cycle time\r\n6% bonus to maximum targeting range\r\n6% bonus to sensor strength\r\n6% bonus to scan probe strength",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n3% bonus to shield, armor, and structure hitpoints\r\n3% bonus to ship agility\r\n3% bonus to turret tracking speed\r\n3% bonus to missile explosion velocity\r\n3% bonus to vorton projector explosion radius and explosion velocity\r\n3% bonus to capacitor recharge rate\r\n3% bonus to drone damage\r\n3% bonus to mining laser and ice harvester cycle time\r\n6% bonus to maximum targeting range\r\n6% bonus to sensor strength\r\n6% bonus to scan probe strength",
"description_es": "Este potenciador se ha proporcionado por medio de retribuciones diarias. Se aplicará inmediatamente tras canjearlo.\n\nDuración base: 2 horas.\n\n\n\n3 % de bonificación a los puntos de vida del escudo, el blindaje y la estructura.\n\n3 % de bonificación a la agilidad de la nave.\n\n3 % de bonificación a la velocidad de rastreo de las torretas.\n\n3 % de bonificación a la velocidad de explosión de los misiles.\n\n3 % de bonificación a la velocidad de carga del condensador.\n\n3 % de bonificación al daño de los drones.\n\n3 % de bonificación al tiempo de ciclo de la cosechadora de hielo y el láser minero.\n\n6 % de bonificación a la distancia-objetivo máxima.\n\n6% de bonificación a la intensidad de los sensores.\n\n6% de bonificación a la intensidad de las sondas de escaneo.",
"description_fr": "Ce booster vous est fourni dans le cadre des récompenses quotidiennes. Il prendra effet immédiatement, dès sa récupération. Durée de base : 2 heures. 3 % de bonus aux points de vie du bouclier, du blindage et de la structure</br>3 % de bonus à la maniabilité du vaisseau</br>3 % de bonus à la vitesse de poursuite des tourelles</br>3 % de bonus à la vitesse d'explosion des missiles</br>3 % de bonus à la vitesse de recharge du capaciteur</br>3 % de bonus aux dégâts infligés par les drones</br>3 % de bonus au temps de cycle des lasers d'extraction et collecteurs de glace</br>6 % de bonus à la portée de ciblage maximum</br>6 % de bonus à la puissance de détection</br>6 % de bonus à la puissance de balayage de sonde",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n3% bonus to shield, armor, and structure hitpoints\r\n3% bonus to ship agility\r\n3% bonus to turret tracking speed\r\n3% bonus to missile explosion velocity\r\n3% bonus to capacitor recharge rate\r\n3% bonus to drone damage\r\n3% bonus to mining laser and ice harvester cycle time\r\n6% bonus to maximum targeting range\r\n6% bonus to sensor strength\r\n6% bonus to scan probe strength",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n3% bonus to shield, armor, and structure hitpoints\r\n3% bonus to ship agility\r\n3% bonus to turret tracking speed\r\n3% bonus to missile explosion velocity\r\n3% bonus to vorton projector explosion radius and explosion velocity\r\n3% bonus to capacitor recharge rate\r\n3% bonus to drone damage\r\n3% bonus to mining laser and ice harvester cycle time\r\n6% bonus to maximum targeting range\r\n6% bonus to sensor strength\r\n6% bonus to scan probe strength",
"description_ja": "デイリー報酬を通じて手に入れたブースターです。引き換えると直ちに適用されます。\n基本持続時間2時間。\n\nシールド、アーマー、そしてストラクチャにヒットポイントに3%のボーナス\n艦船の機動性に3%のボーナス\nタレットの追跡速度に3%のボーナス\nミサイルの爆風速度に3%のボーナス\nキャパシタ充電速度に3%のボーナス\nドローンのダメージに3%のボーナス\n採掘レーザーとアイス採掘機のサイクル時間に3%のボーナス\n最大ターゲット範囲に6%のボーナス\nセンサー強度に6%のボーナス\nスキャンプローブ強度に6%のボーナス",
"description_ko": "일일 보상으로 지급되는 부스터로 수령 시 즉시 활성화됩니다.<br>기본 지속시간: 2시간<br><br>실드, 장갑, 구조물 내구도 3% 증가<br>함선 기동성 3% 증가<br>터렛 트래킹 속도 3% 증가<br>미사일 폭발 속도 3% 증가<br>캐패시터 충전 속도 3% 중가<br>드론 피해량 3% 증가<br>채굴 레이저 및 아이스 채굴기 사이클 시간 3% 감소<br>최대 타겟팅 거리 6% 증가<br>센서 강도 6% 증가<br>프로브 스캔 강도 6% 증가",
"description_ru": "Этот стимулятор даётся в качестве одной из ежедневных наград. Применяется сразу же после получения. Базовая длительность: 2 часа. Увеличивает запас прочности щитов, брони и корпуса, манёвренность корабля, скорость наведения турелей, скорость распространения взрыва ракет, скорость перезарядки накопителя и урон от дронов на 3%. Увеличивает максимальную дальность наведения, мощность сенсоров и чувствительность зондов на 6%. Снижает время цикла буровых лазеров и установок для бурения льда на 3%.",
@@ -292580,10 +292580,10 @@
"basePrice": 1000.0,
"capacity": 0.0,
"description_de": "Dieser Booster wurde Ihnen als Teil der täglichen Belohnungen zur Verfügung gestellt. Er wird sofort nach der Einlösung aktiv. Grunddauer: 2 Stunden. 4 % Bonus auf die HP von Schilden, Panzerungen und Strukturen 4 % Bonus auf die Wendigkeit des Schiffs 4 % Bonus auf die Nachführungsgeschwindigkeit von Geschütztürmen 4 % Bonus auf die Lenkwaffen-Explosionsgeschwindigkeit 4 % Bonus auf die Wiederaufladerate des Energiespeichers 4 % Bonus auf Drohnenschaden 4 % Bonus auf die Durchlaufzeit von Bergbaulasern und Eisschürfern 8 % Bonus auf die maximale Zielerfassungsreichweite 8 % Bonus auf die Sensorstärke 8 % Bonus auf die Stärke von Scansonden",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n4% bonus to shield, armor, and structure hitpoints\r\n4% bonus to ship agility\r\n4% bonus to turret tracking speed\r\n4% bonus to missile explosion velocity\r\n4% bonus to capacitor recharge rate\r\n4% bonus to drone damage\r\n4% bonus to mining laser and ice harvester cycle time\r\n8% bonus to maximum targeting range\r\n8% bonus to sensor strength\r\n8% bonus to scan probe strength",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n4% bonus to shield, armor, and structure hitpoints\r\n4% bonus to ship agility\r\n4% bonus to turret tracking speed\r\n4% bonus to missile explosion velocity\r\n4% bonus to vorton projector explosion radius and explosion velocity\r\n4% bonus to capacitor recharge rate\r\n4% bonus to drone damage\r\n4% bonus to mining laser and ice harvester cycle time\r\n8% bonus to maximum targeting range\r\n8% bonus to sensor strength\r\n8% bonus to scan probe strength",
"description_es": "Este potenciador se ha proporcionado por medio de retribuciones diarias. Se aplicará inmediatamente tras canjearlo.\n\nDuración base: 2 horas.\n\n\n\n4 % de bonificación a los puntos de vida del escudo, el blindaje y la estructura.\n\n4 % de bonificación a la agilidad de la nave.\n\n4 % de bonificación a la velocidad de rastreo de las torretas.\n\n4 % de bonificación a la velocidad de explosión de los misiles.\n\n4 % de bonificación a la velocidad de carga del condensador.\n\n4 % de bonificación al daño de los drones.\n\n4 % de bonificación al tiempo de ciclo de la cosechadora de hielo y el láser minero.\n\n8 % de bonificación a la distancia-objetivo máxima.\n\n8 % de bonificación a la intensidad de los sensores.\n\n8 % de bonificación a la intensidad de las sondas de escaneo.",
"description_fr": "Ce booster vous est fourni dans le cadre des récompenses quotidiennes. Il prendra effet immédiatement, dès sa récupération. Durée de base : 2 heures. 4 % de bonus aux points de vie du bouclier, du blindage et de la structure</br>4 % de bonus à la maniabilité du vaisseau</br>4 % de bonus à la vitesse de poursuite des tourelles</br>4 % de bonus à la vitesse d'explosion des missiles</br>4 % de bonus à la vitesse de recharge du capaciteur</br>4 % de bonus aux dégâts infligés par les drones</br>4 % de bonus au temps de cycle des lasers d'extraction et collecteurs de glace</br>8 % de bonus à la portée de ciblage maximum</br>8 % de bonus à la puissance de détection</br>8 % de bonus à la puissance de balayage de sonde",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n4% bonus to shield, armor, and structure hitpoints\r\n4% bonus to ship agility\r\n4% bonus to turret tracking speed\r\n4% bonus to missile explosion velocity\r\n4% bonus to capacitor recharge rate\r\n4% bonus to drone damage\r\n4% bonus to mining laser and ice harvester cycle time\r\n8% bonus to maximum targeting range\r\n8% bonus to sensor strength\r\n8% bonus to scan probe strength",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n4% bonus to shield, armor, and structure hitpoints\r\n4% bonus to ship agility\r\n4% bonus to turret tracking speed\r\n4% bonus to missile explosion velocity\r\n4% bonus to vorton projector explosion radius and explosion velocity\r\n4% bonus to capacitor recharge rate\r\n4% bonus to drone damage\r\n4% bonus to mining laser and ice harvester cycle time\r\n8% bonus to maximum targeting range\r\n8% bonus to sensor strength\r\n8% bonus to scan probe strength",
"description_ja": "デイリー報酬を通じて手に入れたブースターです。引き換えると直ちに適用されます。\n基本持続時間2時間。\n\nシールド、アーマー、そしてストラクチャにヒットポイントに4%のボーナス\n艦船の機動性に4%のボーナス\nタレットの追跡速度に4%のボーナス\nミサイルの爆風速度に4%のボーナス\nキャパシタ充電速度に4%のボーナス\nドローンのダメージに4%のボーナス\n採掘レーザーとアイス採掘機のサイクル時間に4%のボーナス\n最大ターゲット範囲に8%のボーナス\nセンサー強度に8%のボーナス\nスキャンプローブ強度に8%のボーナス",
"description_ko": "일일 보상으로 지급되는 부스터로 수령 시 즉시 활성화됩니다.<br>기본 지속시간: 2시간<br><br>실드, 장갑, 구조물 내구도 4% 증가<br>함선 기동성 4% 증가<br>터렛 트래킹 속도 4% 증가<br>미사일 폭발 속도 4% 증가<br>캐패시터 충전 속도 4% 중가<br>드론 피해량 4% 증가<br>채굴 레이저 및 아이스 채굴기 사이클 시간 4% 감소<br>최대 타겟팅 거리 8% 증가<br>센서 강도 8% 증가<br>프로브 스캔 강도 8% 증가",
"description_ru": "Этот стимулятор даётся в качестве одной из ежедневных наград. Применяется сразу же после получения. Базовая длительность: 2 часа. Увеличивает запас прочности щитов, брони и корпуса, манёвренность корабля, скорость наведения турелей, скорость распространения взрыва ракет, скорость перезарядки накопителя и урон от дронов на 4%. Увеличивает максимальную дальность наведения, мощность сенсоров и чувствительность зондов на 8%. Снижает время цикла буровых лазеров и установок для бурения льда на 4%.",
@@ -292615,10 +292615,10 @@
"basePrice": 1000.0,
"capacity": 0.0,
"description_de": "Dieser Booster wurde Ihnen als Teil der täglichen Belohnungen zur Verfügung gestellt. Er wird sofort nach der Einlösung aktiv. Grunddauer: 2 Stunden. 5 % Bonus auf die HP von Schilden, Panzerungen und Strukturen 5 % Bonus auf die Wendigkeit des Schiffs 5 % Bonus auf die Nachführungsgeschwindigkeit von Geschütztürmen 5 % Bonus auf die Lenkwaffen-Explosionsgeschwindigkeit 5 % Bonus auf die Wiederaufladerate des Energiespeichers 5 % Bonus auf Drohnenschaden 5 % Bonus auf die Durchlaufzeit von Bergbaulasern und Eisschürfern 10 % Bonus auf die maximale Zielerfassungsreichweite 10 % Bonus auf die Sensorstärke 10 % Bonus auf die Stärke von Scansonden",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n5% bonus to shield, armor, and structure hitpoints\r\n5% bonus to ship agility\r\n5% bonus to turret tracking speed\r\n5% bonus to missile explosion velocity\r\n5% bonus to capacitor recharge rate\r\n5% bonus to drone damage\r\n5% bonus to mining laser and ice harvester cycle time\r\n10% bonus to maximum targeting range\r\n10% bonus to sensor strength\r\n10% bonus to scan probe strength",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n5% bonus to shield, armor, and structure hitpoints\r\n5% bonus to ship agility\r\n5% bonus to turret tracking speed\r\n5% bonus to missile explosion velocity\r\n5% bonus to vorton projector explosion radius and explosion velocity\r\n5% bonus to capacitor recharge rate\r\n5% bonus to drone damage\r\n5% bonus to mining laser and ice harvester cycle time\r\n10% bonus to maximum targeting range\r\n10% bonus to sensor strength\r\n10% bonus to scan probe strength",
"description_es": "Este potenciador se ha proporcionado por medio de retribuciones diarias. Se aplicará inmediatamente tras canjearlo.\n\nDuración base: 2 horas.\n\n\n\n5 % de bonificación a los puntos de vida del escudo, el blindaje y la estructura.\n\n5 % de bonificación a la agilidad de la nave.\n\n5 % de bonificación a la velocidad de rastreo de las torretas.\n\n5 % de bonificación a la velocidad de explosión de los misiles.\n\n5 % de bonificación al índice de carga del condensador.\n\n5 % de bonificación al daño de los drones.\n\n5 % de bonificación al tiempo de ciclo de la cosechadora de hielo y el láser minero.\n\n10 % de bonificación a la distancia-objetivo máxima.\n\n10 % de bonificación a la intensidad del sensor.\n\n10 % de bonificación a la intensidad de las sondas de escaneo.",
"description_fr": "Ce booster vous est fourni dans le cadre des récompenses quotidiennes. Il prendra effet immédiatement, dès sa récupération. Durée de base : 2 heures. 5 % de bonus aux points de vie du bouclier, du blindage et de la structure</br>5 % de bonus à la maniabilité du vaisseau</br>5 % de bonus à la vitesse de poursuite des tourelles</br>5 % de bonus à la vitesse d'explosion des missiles</br>5 % de bonus à la vitesse de recharge du capaciteur</br>5 % de bonus aux dégâts infligés par les drones </br>5 % de bonus au temps de cycle des lasers d'extraction et collecteurs de glace</br>10 % de bonus à la portée de ciblage maximum</br>10 % de bonus à la puissance de détection</br>10 % de bonus à la puissance de balayage de sonde",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n5% bonus to shield, armor, and structure hitpoints\r\n5% bonus to ship agility\r\n5% bonus to turret tracking speed\r\n5% bonus to missile explosion velocity\r\n5% bonus to capacitor recharge rate\r\n5% bonus to drone damage\r\n5% bonus to mining laser and ice harvester cycle time\r\n10% bonus to maximum targeting range\r\n10% bonus to sensor strength\r\n10% bonus to scan probe strength",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n5% bonus to shield, armor, and structure hitpoints\r\n5% bonus to ship agility\r\n5% bonus to turret tracking speed\r\n5% bonus to missile explosion velocity\r\n5% bonus to vorton projector explosion radius and explosion velocity\r\n5% bonus to capacitor recharge rate\r\n5% bonus to drone damage\r\n5% bonus to mining laser and ice harvester cycle time\r\n10% bonus to maximum targeting range\r\n10% bonus to sensor strength\r\n10% bonus to scan probe strength",
"description_ja": "デイリー報酬を通じて手に入れたブースターです。引き換えると直ちに適用されます。\n基本持続時間2時間。\n\nシールド、アーマー、そしてストラクチャのヒットポイントに5%のボーナス\n艦船の機動性に5%のボーナス\nタレットの追跡速度に5%のボーナス\nミサイルの爆風速度に5%のボーナス\nキャパシタ充電速度に5%のボーナス\nドローンのダメージに5%のボーナス\n採掘レーザーとアイス採掘機のサイクル時間に5%のボーナス\n最大ターゲット範囲に10%のボーナス\nセンサー強度に10%のボーナス\nスキャンプローブ強度に10%のボーナス",
"description_ko": "일일 보상으로 지급되는 부스터로 수령 시 즉시 활성화됩니다.<br>기본 지속시간: 2시간<br><br>실드, 장갑, 구조물 내구도 5% 증가<br>함선 기동성 5% 증가<br>터렛 트래킹 속도 5% 증가<br>미사일 폭발 속도 5% 증가<br>캐패시터 충전 속도 5% 중가<br>드론 피해량 5% 증가<br>채굴 레이저 및 아이스 채굴기 사이클 시간 5% 감소<br>최대 타겟팅 거리 10% 증가<br>센서 강도 10% 증가<br>프로브 스캔 강도 10% 증가",
"description_ru": "Этот стимулятор даётся в качестве одной из ежедневных наград. Применяется сразу же после получения. Базовая длительность: 2 часа. Увеличивает запас прочности щитов, брони и корпуса, манёвренность корабля, скорость наведения турелей, скорость распространения взрыва ракет, скорость перезарядки накопителя и урон от дронов на 5%. Увеличивает максимальную дальность наведения, мощность сенсоров и чувствительность зондов на 10%. Снижает время цикла буровых лазеров и установок для бурения льда на 5%.",
@@ -292650,10 +292650,10 @@
"basePrice": 1000.0,
"capacity": 0.0,
"description_de": "Dieser Booster wurde Ihnen als Teil der täglichen Belohnungen zur Verfügung gestellt. Er wird sofort nach der Einlösung aktiv. Grunddauer: 2 Stunden. 1 % Bonus auf Panzerungsresistenzen 1 % Bonus auf die Wendigkeit des Schiffs 1 % Bonus auf den Schaden von Geschütztürmen und Lenkwaffen 1 % Bonus auf die Energiespeicherkapazität 2 % Bonus auf die optimale Reichweite und den Präzisionsabfall von Drohnen +4 km Drohnen-Kontrollreichweite 2 % Bonus auf die Reichweite von Bergbaulasern und Eisschürfern 2 % Bonus auf die maximale Zielerfassungsreichweite 2 % Bonus auf die Resistenz gegen Energiekriegsführung +4 Virenkohärenz für Reliktanalysegeräte",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n1% bonus to armor resistances\r\n1% bonus to ship agility\r\n1% bonus to turret and missile damage\r\n1% bonus to capacitor capacity\r\n2% bonus to drone optimal range and falloff\r\n+4km drone control range\r\n2% bonus to mining laser and ice harvester range\r\n2% bonus to maximum targeting range\r\n2% bonus to energy warfare resistance\r\n+4 virus coherence for relic analyzers",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n1% bonus to armor resistances\r\n1% bonus to ship agility\r\n1% bonus to turret, vorton projector and missile damage\r\n1% bonus to capacitor capacity\r\n2% bonus to drone optimal range and falloff\r\n+4km drone control range\r\n2% bonus to mining laser and ice harvester range\r\n2% bonus to maximum targeting range\r\n2% bonus to energy warfare resistance\r\n+4 virus coherence for relic analyzers",
"description_es": "Este potenciador se ha proporcionado por medio de retribuciones diarias. Se aplicará inmediatamente tras canjearlo.\n\nDuración base: 2 horas.\n\n\n\n1 % de bonificación a las resistencias de blindaje.\n\n1 % de bonificación a la agilidad de la nave.\n\n1 % de bonificación al daño de torretas y misiles.\n\n1 % de bonificación a la capacidad del condensador.\n\n2 % de bonificación a los alcances óptimo y efectivo de los drones.\n\n+4 km de alcance de control de los drones.\n\n2 % de bonificación al alcance de la cosechadora de hielo y el láser minero.\n\n2 % de bonificación a la distancia-objetivo máxima.\n\n2 % de bonificación a la resistencia a la guerra de energía.\n\n+4 de coherencia del virus para analizadores de reliquias.",
"description_fr": "Ce booster vous est fourni dans le cadre des récompenses quotidiennes. Il prendra effet immédiatement, dès sa récupération. Durée de base : 2 heures. 1 % de bonus aux résistances du blindage</br>1 % de bonus à la maniabilité du vaisseau</br>1 % de bonus aux dégâts des tourelles et missiles</br>1 % de bonus à la charge du capaciteur</br>2 % de bonus à la portée optimale et de déperdition des drones</br>+4 km à la portée de contrôle des drones</br>2 % de bonus à la portée des lasers d'extraction et collecteurs de glace</br>2 % de bonus à la portée de ciblage maximum</br>2 % de bonus de résistance à la guerre d'énergie</br>+4 à la résistance virale des analyseurs de reliques",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n1% bonus to armor resistances\r\n1% bonus to ship agility\r\n1% bonus to turret and missile damage\r\n1% bonus to capacitor capacity\r\n2% bonus to drone optimal range and falloff\r\n+4km drone control range\r\n2% bonus to mining laser and ice harvester range\r\n2% bonus to maximum targeting range\r\n2% bonus to energy warfare resistance\r\n+4 virus coherence for relic analyzers",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n1% bonus to armor resistances\r\n1% bonus to ship agility\r\n1% bonus to turret, vorton projector and missile damage\r\n1% bonus to capacitor capacity\r\n2% bonus to drone optimal range and falloff\r\n+4km drone control range\r\n2% bonus to mining laser and ice harvester range\r\n2% bonus to maximum targeting range\r\n2% bonus to energy warfare resistance\r\n+4 virus coherence for relic analyzers",
"description_ja": "デイリー報酬を通じて手に入れたブースターです。引き換えると直ちに適用されます。\n基本持続時間2時間。\n\nアーマーレジスタンスに1%のボーナス\n艦船の機動性に1%のボーナス\nタレットとミサイルのダメージに1%のボーナス\nキャパシタ容量に1%のボーナス\nドローンの最適射程距離と精度低下範囲に2%のボーナス\nドローンの制御可能範囲+4km\n採掘レーザーとアイス採掘機の射程に2%のボーナス\n最大ターゲット範囲に2%のボーナス\nエネルギー戦レジスタンスに2%のボーナス\n遺物アナライザーのウイルスコヒーレンス+4ポイント",
"description_ko": "일일 보상으로 지급되는 부스터로 수령 시 즉시 활성화됩니다.<br>기본 지속시간: 2시간<br><br>장갑 저항력 1% 증가<br>함선 기동성 1% 증가<br>터렛 및 미사일 피해 1% 증가<br>캐패시터 용량 1% 중가<br>드론 최적사거리 및 유효사거리 2% 증가<br>드론 통제 사거리 4km 증가<br>채굴 레이저 및 아이스 채굴기 사거리 2% 증가<br>최대 타겟팅 거리 2% 증가<br>에너지전 저항력 2% 증가<br>유물 분석기 바이러스 결합도 +4 증가",
"description_ru": "Этот стимулятор даётся в качестве одной из ежедневных наград. Применяется сразу же после получения. Базовая длительность: 2 часа. Увеличивает сопротивляемость брони, манёвренность корабля, урон от турелей и ракет и ёмкость накопителя на 1%. Увеличивает оптимальную и остаточную дальность дронов, дальность буровых лазеров и установок для бурения льда, максимальную дальность наведения и сопротивляемость средствам воздействия на накопитель на 2%. Увеличивает радиус управления дронами на 4 км и усиливает целостность вируса для анализаторов артефактов на 4.",
@@ -292685,10 +292685,10 @@
"basePrice": 1000.0,
"capacity": 0.0,
"description_de": "Dieser Booster wurde Ihnen als Teil der täglichen Belohnungen zur Verfügung gestellt. Er wird sofort nach der Einlösung aktiv. Grunddauer: 2 Stunden. 2 % Bonus auf Panzerungsresistenzen 2 % Bonus auf die Wendigkeit des Schiffs 2 % Bonus auf den Schaden von Geschütztürmen und Lenkwaffen 2 % Bonus auf die Energiespeicherkapazität 4 % Bonus auf die optimale Reichweite und den Präzisionsabfall von Drohnen +8 km Drohnen-Kontrollreichweite 4 % Bonus auf die Reichweite von Bergbaulasern und Eisschürfern 4 % Bonus auf die maximale Zielerfassungsreichweite 4 % Bonus auf die Resistenz gegen Energiekriegsführung +8 Virenkohärenz für Reliktanalysegeräte",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n2% bonus to armor resistances\r\n2% bonus to ship agility\r\n2% bonus to turret and missile damage\r\n2% bonus to capacitor capacity\r\n4% bonus to drone optimal range and falloff\r\n+8km drone control range\r\n4% bonus to mining laser and ice harvester range\r\n4% bonus to maximum targeting range\r\n4% bonus to energy warfare resistance\r\n+8 virus coherence for relic analyzers",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n2% bonus to armor resistances\r\n2% bonus to ship agility\r\n2% bonus to turret, vorton projector and missile damage\r\n2% bonus to capacitor capacity\r\n4% bonus to drone optimal range and falloff\r\n+8km drone control range\r\n4% bonus to mining laser and ice harvester range\r\n4% bonus to maximum targeting range\r\n4% bonus to energy warfare resistance\r\n+8 virus coherence for relic analyzers",
"description_es": "Este potenciador se ha proporcionado por medio de retribuciones diarias. Se aplicará inmediatamente tras canjearlo.\n\nDuración base: 2 horas.\n\n2 % de bonificación a las resistencias de blindaje.\n\n2 % de bonificación a la agilidad de la nave.\n\n2 % de bonificación al daño de torretas y misiles.\n\n2 % de bonificación a la capacidad del condensador.\n\n4 % de bonificación a los alcances óptimo y efectivo de los drones.\n\n+8 km de alcance de control de los drones.\n\n4 % de bonificación al alcance de la cosechadora de hielo y el láser minero.\n\n4 % de bonificación a la distancia-objetivo máxima.\n\n4 % de bonificación a la resistencia a la guerra de energía.\n\n+8 de coherencia del virus para analizadores de reliquias.",
"description_fr": "Ce booster vous est fourni dans le cadre des récompenses quotidiennes. Il prendra effet immédiatement, dès sa récupération. Durée de base : 2 heures. 2 % de bonus aux résistances du blindage</br>2 % de bonus à la maniabilité du vaisseau</br>2 % de bonus aux dégâts des tourelles et missiles</br>2 % de bonus à la charge du capaciteur</br>4 % de bonus à la portée optimale et de déperdition des drones</br>+8 km à la portée de contrôle des drones</br>4 % de bonus à la portée des lasers d'extraction et collecteurs de glace</br>4 % de bonus à la portée de ciblage maximum</br>4 % de bonus de résistance à la guerre d'énergie</br>+8 à la résistance virale des analyseurs de reliques",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n2% bonus to armor resistances\r\n2% bonus to ship agility\r\n2% bonus to turret and missile damage\r\n2% bonus to capacitor capacity\r\n4% bonus to drone optimal range and falloff\r\n+8km drone control range\r\n4% bonus to mining laser and ice harvester range\r\n4% bonus to maximum targeting range\r\n4% bonus to energy warfare resistance\r\n+8 virus coherence for relic analyzers",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n2% bonus to armor resistances\r\n2% bonus to ship agility\r\n2% bonus to turret, vorton projector and missile damage\r\n2% bonus to capacitor capacity\r\n4% bonus to drone optimal range and falloff\r\n+8km drone control range\r\n4% bonus to mining laser and ice harvester range\r\n4% bonus to maximum targeting range\r\n4% bonus to energy warfare resistance\r\n+8 virus coherence for relic analyzers",
"description_ja": "デイリー報酬を通じて手に入れたブースターです。引き換えると直ちに適用されます。\n基本持続時間2時間。\n\nアーマーレジスタンスに2%のボーナス\n艦船の機動性に2%のボーナス\nタレットとミサイルのダメージに2%のボーナス\nキャパシタ容量に2%のボーナス\nドローンの最適射程距離と精度低下範囲に4%のボーナス\nドローンの制御可能範囲+8km\n採掘レーザーとアイス採掘機の射程に4%のボーナス\n最大ターゲット範囲に4%のボーナス\nエネルギー戦レジスタンスに4%のボーナス\n遺物アナライザーのウイルスコヒーレンス+8ポイント",
"description_ko": "일일 보상으로 지급되는 부스터로 수령 시 즉시 활성화됩니다.<br>기본 지속시간: 2시간<br><br>장갑 저항력 2% 증가<br>함선 기동성 2% 증가<br>터렛 및 미사일 피해 2% 증가<br>캐패시터 용량 2% 중가<br>드론 최적사거리 및 유효사거리 4% 증가<br>드론 통제 사거리 8km 증가<br>채굴 레이저 및 아이스 채굴기 사거리 4% 증가<br>최대 타겟팅 거리 4% 증가<br>에너지전 저항력 4% 증가<br>유물 분석기 바이러스 결합도 +8 증가",
"description_ru": "Этот стимулятор даётся в качестве одной из ежедневных наград. Применяется сразу же после получения. Базовая длительность: 2 часа. Увеличивает сопротивляемость брони, манёвренность корабля, урон от турелей и ракет и ёмкость накопителя на 2%. Увеличивает оптимальную и остаточную дальность дронов, дальность буровых лазеров и установок для бурения льда, максимальную дальность наведения и сопротивляемость средствам воздействия на накопитель на 4%. Увеличивает радиус управления дронами на 8 км и усиливает целостность вируса для анализаторов артефактов на 8.",
@@ -292720,10 +292720,10 @@
"basePrice": 1000.0,
"capacity": 0.0,
"description_de": "Dieser Booster wurde Ihnen als Teil der täglichen Belohnungen zur Verfügung gestellt. Er wird sofort nach der Einlösung aktiv. Grunddauer: 2 Stunden. 3 % Bonus auf Panzerungsresistenzen 3 % Bonus auf die Wendigkeit des Schiffs 3 % Bonus auf den Schaden von Geschütztürmen und Lenkwaffen 3 % Bonus auf die Energiespeicherkapazität 6 % Bonus auf die optimale Reichweite und den Präzisionsabfall von Drohnen +12 km Drohnen-Kontrollreichweite 6 % Bonus auf die Reichweite von Bergbaulasern und Eisschürfern 6 % Bonus auf die maximale Zielerfassungsreichweite 6 % Bonus auf die Resistenz gegen Energiekriegsführung +12 Virenkohärenz für Reliktanalysegeräte",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n3% bonus to armor resistances\r\n3% bonus to ship agility\r\n3% bonus to turret and missile damage\r\n3% bonus to capacitor capacity\r\n6% bonus to drone optimal range and falloff\r\n+12km drone control range\r\n6% bonus to mining laser and ice harvester range\r\n6% bonus to maximum targeting range\r\n6% bonus to energy warfare resistance\r\n+12 virus coherence for relic analyzers",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n3% bonus to armor resistances\r\n3% bonus to ship agility\r\n3% bonus to turret, vorton projector and missile damage\r\n3% bonus to capacitor capacity\r\n6% bonus to drone optimal range and falloff\r\n+12km drone control range\r\n6% bonus to mining laser and ice harvester range\r\n6% bonus to maximum targeting range\r\n6% bonus to energy warfare resistance\r\n+12 virus coherence for relic analyzers",
"description_es": "Este potenciador se ha proporcionado por medio de retribuciones diarias. Se aplicará inmediatamente tras canjearlo.\n\nDuración base: 2 horas.\n\n3 % de bonificación a las resistencias de blindaje.\n\n3 % de bonificación a la agilidad de la nave.\n\n3 % de bonificación al daño de torretas y misiles.\n\n3 % de bonificación a la capacidad del condensador.\n\n6 % de bonificación a los alcances óptimo y efectivo de los drones.\n\n+12 km de alcance de control de los drones.\n\n6 % de bonificación al alcance de la cosechadora de hielo y el láser minero.\n\n6 % de bonificación a la distancia-objetivo máxima.\n\n6 % de bonificación a la resistencia a la guerra de energía.\n\n+12 de coherencia del virus para analizadores de reliquias.",
"description_fr": "Ce booster vous est fourni dans le cadre des récompenses quotidiennes. Il prendra effet immédiatement, dès sa récupération. Durée de base : 2 heures. 3 % de bonus aux résistances du blindage</br>3 % de bonus à la maniabilité du vaisseau</br>3 % de bonus aux dégâts des tourelles et missiles</br>3 % de bonus à la charge du capaciteur</br>6 % de bonus à la portée optimale et de déperdition des drones</br>+12 km à la portée de contrôle des drones</br>6 % de bonus à la portée des lasers d'extraction et collecteurs de glace</br>6 % de bonus à la portée de ciblage maximum</br>6 % de bonus de résistance à la guerre d'énergie</br>+12 à la résistance virale des analyseurs de reliques",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n3% bonus to armor resistances\r\n3% bonus to ship agility\r\n3% bonus to turret and missile damage\r\n3% bonus to capacitor capacity\r\n6% bonus to drone optimal range and falloff\r\n+12km drone control range\r\n6% bonus to mining laser and ice harvester range\r\n6% bonus to maximum targeting range\r\n6% bonus to energy warfare resistance\r\n+12 virus coherence for relic analyzers",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n3% bonus to armor resistances\r\n3% bonus to ship agility\r\n3% bonus to turret, vorton projector and missile damage\r\n3% bonus to capacitor capacity\r\n6% bonus to drone optimal range and falloff\r\n+12km drone control range\r\n6% bonus to mining laser and ice harvester range\r\n6% bonus to maximum targeting range\r\n6% bonus to energy warfare resistance\r\n+12 virus coherence for relic analyzers",
"description_ja": "デイリー報酬を通じて手に入れたブースターです。引き換えると直ちに適用されます。\n基本持続時間2時間。\n\nアーマーレジスタンスに3%のボーナス\n艦船の機動性に3%のボーナス\nタレットとミサイルのダメージに3%のボーナス\nキャパシタ容量に3%のボーナス\nドローンの最適射程距離と精度低下範囲に6%のボーナス\nドローンの制御可能範囲+12km\n採掘レーザーとアイス採掘機の射程に6%のボーナス\n最大ターゲット範囲に6%のボーナス\nエネルギー戦レジスタンスに6%のボーナス\n遺物アナライザーのウイルスコヒーレンス+12ポイント",
"description_ko": "일일 보상으로 지급되는 부스터로 수령 시 즉시 활성화됩니다.<br>기본 지속시간: 2시간<br><br>장갑 저항력 3% 증가<br>함선 기동성 3% 증가<br>터렛 및 미사일 피해 3% 증가<br>캐패시터 용량 3% 중가<br>드론 최적사거리 및 유효사거리 6% 증가<br>드론 통제 사거리 12km 증가<br>채굴 레이저 및 아이스 채굴기 사거리 6% 증가<br>최대 타겟팅 거리 6% 증가<br>에너지전 저항력 6% 증가<br>유물 분석기 바이러스 결합도 +12 증가",
"description_ru": "Этот стимулятор даётся в качестве одной из ежедневных наград. Применяется сразу же после получения. Базовая длительность: 2 часа. Увеличивает сопротивляемость брони, манёвренность корабля, урон от турелей и ракет и ёмкость накопителя на 3%. Увеличивает оптимальную и остаточную дальность дронов, дальность буровых лазеров и установок для бурения льда, максимальную дальность наведения и сопротивляемость средствам воздействия на накопитель на 6%. Увеличивает радиус управления дронами на 12 км и усиливает целостность вируса для анализаторов артефактов на 12.",
@@ -292755,10 +292755,10 @@
"basePrice": 1000.0,
"capacity": 0.0,
"description_de": "Dieser Booster wurde Ihnen als Teil der täglichen Belohnungen zur Verfügung gestellt. Er wird sofort nach der Einlösung aktiv. Grunddauer: 2 Stunden. 4 % Bonus auf Panzerungsresistenzen 4 % Bonus auf die Wendigkeit des Schiffs 4 % Bonus auf den Schaden von Geschütztürmen und Lenkwaffen 4 % Bonus auf die Energiespeicherkapazität 8 % Bonus auf die optimale Reichweite und den Präzisionsabfall von Drohnen +16 km Drohnen-Kontrollreichweite 8 % Bonus auf die Reichweite von Bergbaulasern und Eisschürfern 8 % Bonus auf die maximale Zielerfassungsreichweite 8 % Bonus auf die Resistenz gegen Energiekriegsführung +16 Virenkohärenz für Reliktanalysegeräte",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n4% bonus to armor resistances\r\n4% bonus to ship agility\r\n4% bonus to turret and missile damage\r\n4% bonus to capacitor capacity\r\n8% bonus to drone optimal range and falloff\r\n+16km drone control range\r\n8% bonus to mining laser and ice harvester range\r\n8% bonus to maximum targeting range\r\n8% bonus to energy warfare resistance\r\n+16 virus coherence for relic analyzers",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n4% bonus to armor resistances\r\n4% bonus to ship agility\r\n4% bonus to turret, vorton projector and missile damage\r\n4% bonus to capacitor capacity\r\n8% bonus to drone optimal range and falloff\r\n+16km drone control range\r\n8% bonus to mining laser and ice harvester range\r\n8% bonus to maximum targeting range\r\n8% bonus to energy warfare resistance\r\n+16 virus coherence for relic analyzers",
"description_es": "Este potenciador se ha proporcionado por medio de retribuciones diarias. Se aplicará inmediatamente tras canjearlo.\n\nDuración base: 2 horas.\n\n\n\n4 % de bonificación a las resistencias de blindaje.\n\n4 % de bonificación a la agilidad de la nave.\n\n4 % de bonificación al daño de torretas y misiles.\n\n4 % de bonificación a la capacidad del condensador.\n\n8 % de bonificación a los alcances óptimo y efectivo de los drones.\n\n+16 km de alcance de control de los drones.\n\n8 % de bonificación al alcance de la cosechadora de hielo y el láser minero.\n\n8 % de bonificación a la distancia-objetivo máxima.\n\n8 % de bonificación a la resistencia a la guerra de energía.\n\n+16 de coherencia del virus para analizadores de reliquias.",
"description_fr": "Ce booster vous est fourni dans le cadre des récompenses quotidiennes. Il prendra effet immédiatement, dès sa récupération. Durée de base : 2 heures. 4 % de bonus aux résistances du blindage</br>4 % de bonus à la maniabilité du vaisseau</br>4 % de bonus aux dégâts des tourelles et missiles</br>4 % de bonus à la charge du capaciteur</br>8 % de bonus à la portée optimale et de déperdition des drones</br>+16 km à la portée de contrôle des drones</br>8 % de bonus à la portée des lasers d'extraction et collecteurs de glace</br>8 % de bonus à la portée de ciblage maximum</br>8 % de bonus de résistance à la guerre d'énergie</br>+16 à la résistance virale des analyseurs de reliques",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n4% bonus to armor resistances\r\n4% bonus to ship agility\r\n4% bonus to turret and missile damage\r\n4% bonus to capacitor capacity\r\n8% bonus to drone optimal range and falloff\r\n+16km drone control range\r\n8% bonus to mining laser and ice harvester range\r\n8% bonus to maximum targeting range\r\n8% bonus to energy warfare resistance\r\n+16 virus coherence for relic analyzers",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n4% bonus to armor resistances\r\n4% bonus to ship agility\r\n4% bonus to turret, vorton projector and missile damage\r\n4% bonus to capacitor capacity\r\n8% bonus to drone optimal range and falloff\r\n+16km drone control range\r\n8% bonus to mining laser and ice harvester range\r\n8% bonus to maximum targeting range\r\n8% bonus to energy warfare resistance\r\n+16 virus coherence for relic analyzers",
"description_ja": "デイリー報酬を通じて手に入れたブースターです。引き換えると直ちに適用されます。\n基本持続時間2時間。\n\nアーマーレジスタンスに4%のボーナス\n艦船の機動性に4%のボーナス\nタレットとミサイルのダメージに4%のボーナス\nキャパシタ容量に4%のボーナス\nドローンの最適射程距離と精度低下範囲に8%のボーナス\nドローンの制御可能範囲+16km\n採掘レーザーとアイス採掘機の射程に8%のボーナス\n最大ターゲット範囲に8%のボーナス\nエネルギー戦レジスタンスに8%のボーナス\n遺物アナライザーのウイルスコヒーレンス+16ポイント",
"description_ko": "일일 보상으로 지급되는 부스터로 수령 시 즉시 활성화됩니다.<br>기본 지속시간: 2시간<br><br>장갑 저항력 4% 증가<br>함선 기동성 4% 증가<br>터렛 및 미사일 피해 4% 증가<br>캐패시터 용량 4% 중가<br>드론 최적사거리 및 유효사거리 8% 증가<br>드론 통제 사거리 16km 증가<br>채굴 레이저 및 아이스 채굴기 사거리 8% 증가<br>최대 타겟팅 거리 8% 증가<br>에너지전 저항력 8% 증가<br>유물 분석기 바이러스 결합도 +16 증가",
"description_ru": "Этот стимулятор даётся в качестве одной из ежедневных наград. Применяется сразу же после получения. Базовая длительность: 2 часа. Увеличивает сопротивляемость брони, манёвренность корабля, урон от турелей и ракет и ёмкость накопителя на 4%. Увеличивает оптимальную и остаточную дальность дронов, дальность буровых лазеров и установок для бурения льда, максимальную дальность наведения и сопротивляемость средствам воздействия на накопитель на 8%. Увеличивает радиус управления дронами на 16 км и усиливает целостность вируса для анализаторов артефактов на 16.",
@@ -292790,10 +292790,10 @@
"basePrice": 1000.0,
"capacity": 0.0,
"description_de": "Dieser Booster wurde Ihnen als Teil der täglichen Belohnungen zur Verfügung gestellt. Er wird sofort nach der Einlösung aktiv. Grunddauer: 2 Stunden. 5 % Bonus auf Panzerungsresistenzen 5 % Bonus auf die Wendigkeit des Schiffs 5 % Bonus auf den Schaden von Geschütztürmen und Lenkwaffen 5 % Bonus auf die Energiespeicherkapazität 10 % Bonus auf die optimale Reichweite und den Präzisionsabfall von Drohnen +20 km Drohnen-Kontrollreichweite 10 % Bonus auf die Reichweite von Bergbaulasern und Eisschürfern 10 % Bonus auf die maximale Zielerfassungsreichweite 10 % Bonus auf die Resistenz gegen Energiekriegsführung +20 Virenkohärenz für Reliktanalysegeräte",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n5% bonus to armor resistances\r\n5% bonus to ship agility\r\n5% bonus to turret and missile damage\r\n5% bonus to capacitor capacity\r\n10% bonus to drone optimal range and falloff\r\n+20km drone control range\r\n10% bonus to mining laser and ice harvester range\r\n10% bonus to maximum targeting range\r\n10% bonus to energy warfare resistance\r\n+20 virus coherence for relic analyzers",
"description_en-us": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n5% bonus to armor resistances\r\n5% bonus to ship agility\r\n5% bonus to turret, vorton projector and missile damage\r\n5% bonus to capacitor capacity\r\n10% bonus to drone optimal range and falloff\r\n+20km drone control range\r\n10% bonus to mining laser and ice harvester range\r\n10% bonus to maximum targeting range\r\n10% bonus to energy warfare resistance\r\n+20 virus coherence for relic analyzers",
"description_es": "Este potenciador se ha proporcionado por medio de retribuciones diarias. Se aplicará inmediatamente tras canjearlo.\n\nDuración base: 2 horas.\n\n\n\n5 % de bonificación a las resistencias de blindaje.\n\n5 % de bonificación a la agilidad de la nave.\n\n5 % de bonificación al daño de torretas y misiles.\n\n5 % de bonificación a la capacidad del condensador.\n\n10 % de bonificación a los alcances óptimo y efectivo de los drones.\n\n+20 km de alcance de control de los drones.\n\n10 % de bonificación al alcance de la cosechadora de hielo y el láser minero.\n\n10 % de bonificación a la distancia-objetivo máxima.\n\n10 % de bonificación a la resistencia a la guerra de energía.\n\n+20 de coherencia del virus para analizadores de reliquias.",
"description_fr": "Ce booster vous est fourni dans le cadre des récompenses quotidiennes. Il prendra effet immédiatement, dès sa récupération. Durée de base : 2 heures. 5 % de bonus aux résistances du blindage</br>5 % de bonus à la maniabilité du vaisseau</br>5 % de bonus aux dégâts des tourelles et missiles</br>5 % de bonus à la charge du capaciteur</br>10 % de bonus à la portée optimale et de déperdition des drones</br>+20 km à la portée de contrôle des drones</br>10 % de bonus à la portée des lasers d'extraction et collecteurs de glace</br>10 % de bonus à la portée de ciblage maximum</br>10 % de bonus de résistance à la guerre d'énergie</br>+20 à la résistance virale des analyseurs de reliques",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n5% bonus to armor resistances\r\n5% bonus to ship agility\r\n5% bonus to turret and missile damage\r\n5% bonus to capacitor capacity\r\n10% bonus to drone optimal range and falloff\r\n+20km drone control range\r\n10% bonus to mining laser and ice harvester range\r\n10% bonus to maximum targeting range\r\n10% bonus to energy warfare resistance\r\n+20 virus coherence for relic analyzers",
"description_it": "This booster has been provided through Daily Rewards. It will apply immediately when redeemed.\r\nBase Duration 2 Hours.\r\n\r\n5% bonus to armor resistances\r\n5% bonus to ship agility\r\n5% bonus to turret, vorton projector and missile damage\r\n5% bonus to capacitor capacity\r\n10% bonus to drone optimal range and falloff\r\n+20km drone control range\r\n10% bonus to mining laser and ice harvester range\r\n10% bonus to maximum targeting range\r\n10% bonus to energy warfare resistance\r\n+20 virus coherence for relic analyzers",
"description_ja": "デイリー報酬を通じて手に入れたブースターです。引き換えると直ちに適用されます。\n基本持続時間2時間。\n\nアーマーレジスタンスに5%のボーナス\n艦船の機動性に5%のボーナス\nタレットとミサイルのダメージに5%のボーナス\nキャパシタ容量に5%のボーナス\nドローンの最適射程距離と精度低下範囲に10%のボーナス\nドローンの制御可能範囲+20km\n採掘レーザーとアイス採掘機の射程に10%のボーナス\n最大ターゲット範囲に10%のボーナス\nエネルギー戦レジスタンスに10%のボーナス\n遺物アナライザーのウイルスコヒーレンス+20ポイント",
"description_ko": "일일 보상으로 지급되는 부스터로 수령 시 즉시 활성화됩니다.<br>기본 지속시간: 2시간<br><br>장갑 저항력 5% 증가<br>함선 기동성 5% 증가<br>터렛 및 미사일 피해량 5% 증가<br>캐패시터 용량 5% 중가<br>드론 최적사거리 및 유효사거리 10% 증가<br>드론 통제 사거리 20km 증가<br>채굴 레이저 및 아이스 채굴기 사거리 10% 증가<br>최대 타겟팅 거리 10% 증가<br>에너지전 저항력 10% 증가<br>유물 분석기 바이러스 결합도 +20 증가",
"description_ru": "Этот стимулятор даётся в качестве одной из ежедневных наград. Применяется сразу же после получения. Базовая длительность: 2 часа. Увеличивает сопротивляемость брони, манёвренность корабля, урон от турелей и ракет и ёмкость накопителя на 5%. Увеличивает оптимальную и остаточную дальность дронов, дальность буровых лазеров и установок для бурения льда, максимальную дальность наведения и сопротивляемость средствам воздействия на накопитель на 10%. Увеличивает радиус управления дронами на 20 км и усиливает целостность вируса для анализаторов артефактов на 20.",

File diff suppressed because it is too large Load Diff

View File

@@ -3558,5 +3558,35 @@
"locationRequiredSkillModifiers": [],
"operationName": "PostPercent",
"showOutputValueInUI": "ShowNormal"
},
"2405": {
"aggregateMode": "Maximum",
"developerDescription": "Insurgency Suppression Bonus: Interdiction Range",
"displayName_de": "Reichweitenbonus auf Stasisnetz und Warpunterbrecher für Anti-Piraten",
"displayName_en-us": "Webifier and scrambler range bonus for anti-pirates",
"displayName_es": "Bonificación al alcance de la red ralentizadora y el distorsionador para antipiratas",
"displayName_fr": "Bonus de portée de générateur de stase et d'inhibiteur pour les antipirates",
"displayName_it": "Webifier and scrambler range bonus for anti-pirates",
"displayName_ja": "対海賊勢力のウェビファイヤーとスクランブラーの射程ボーナス",
"displayName_ko": "진압군 스테이시스 웹 생성기 및 워프 스크램블러 사거리 증가",
"displayName_ru": "Бонус к дальности стазис-индуктора и варп-глушителя для борцов с пиратами",
"displayName_zh": "反海盗势力的停滞缠绕光束和跃迁扰频器距离加成",
"displayNameID": 698669,
"itemModifiers": [],
"locationGroupModifiers": [
{
"dogmaAttributeID": 54,
"groupID": 65
}
],
"locationModifiers": [],
"locationRequiredSkillModifiers": [
{
"dogmaAttributeID": 54,
"skillID": 3449
}
],
"operationName": "PostPercent",
"showOutputValueInUI": "ShowNormal"
}
}

View File

@@ -1,10 +1,10 @@
[
{
"field_name": "client_build",
"field_value": 2395039
"field_value": 2438956
},
{
"field_name": "dump_time",
"field_value": 1697643580
"field_value": 1701344644
}
]

File diff suppressed because it is too large Load Diff

View File

@@ -1 +1 @@
version: v2.55.0dev1
version: v2.57.0dev2