Compare commits

...

41 Commits

Author SHA1 Message Date
DarkPhoenix
be07d8e338 Bump version 2022-10-26 21:57:32 +04:00
DarkPhoenix
242fbba6d6 Update staticdata to 2143320 2022-10-26 21:57:00 +04:00
DarkPhoenix
7f1e0fcc58 Bump version 2022-10-25 01:53:07 +04:00
DarkPhoenix
072a53eabc Fix a couple of effects 2022-10-25 01:51:18 +04:00
DarkPhoenix
3115268fb8 Implement effect changes 2022-10-25 01:32:52 +04:00
DarkPhoenix
0631bd65e1 Update static data to 2141324 and update effect doctrings 2022-10-24 22:19:23 +04:00
DarkPhoenix
6b7a4b3f9d Bump appimage version 2022-10-23 08:27:05 +04:00
DarkPhoenix
0ba65cab1f Bump version 2022-10-23 08:02:38 +04:00
Anton Vorobyov
d75419d858 Merge pull request #2470 from pyfa-org/crowdin_master
New Crowdin updates
2022-10-22 20:35:35 +03:00
DarkPhoenix
771dfca1c8 Remove obsolete invasion-related system-wide effects and move destructible beacons one level above 2022-10-22 21:34:36 +04:00
DarkPhoenix
73a5f62d90 Update static data & effects to 2138646 2022-10-21 23:08:02 +04:00
Anton Vorobyov
3982670dff New translations lang.pot (Japanese) 2022-10-21 21:43:38 +03:00
Anton Vorobyov
79d2ded836 New translations lang.pot (Japanese) 2022-10-20 21:38:33 +03:00
Anton Vorobyov
55bc0cd40f New translations lang.pot (Japanese) 2022-10-19 21:11:18 +03:00
Anton Vorobyov
9da09a279e New translations lang.pot (Japanese) 2022-10-17 06:43:14 +03:00
Anton Vorobyov
889047f891 New translations lang.pot (Japanese) 2022-10-16 06:14:15 +03:00
DarkPhoenix
8f645fa425 Sort drone/fighter export the same was as in the additions panel 2022-10-15 07:12:12 +04:00
DarkPhoenix
e3e7f92b8d Add missing renders 2022-09-30 20:52:17 +04:00
DarkPhoenix
22f37995cf Bump appimage version 2022-09-30 19:25:43 +04:00
DarkPhoenix
92119c01f6 Change item comparison highlight implementation 2022-09-30 19:03:43 +04:00
DarkPhoenix
95841c44dc Remove eve.db which slipped in with the merge 2022-09-30 17:47:38 +04:00
Anton Vorobyov
e7b3040c0f Merge pull request #2466 from yeaido/feature/compare_highlight
Feature/compare highlight
2022-09-30 16:40:43 +03:00
DarkPhoenix
78af68cac2 Fix #2467 2022-09-30 17:37:20 +04:00
DarkPhoenix
3e5eb989f9 Bump version 2022-09-30 16:49:37 +04:00
DarkPhoenix
975d6f8776 Update images 2022-09-30 16:48:58 +04:00
DarkPhoenix
4e89a87ec1 Update effects 2022-09-30 16:43:05 +04:00
DarkPhoenix
eef644fb4c Update static data to 2123216 2022-09-30 13:56:52 +04:00
yeaido
8131dd4ace tidy 2022-09-05 08:12:57 +01:00
yeaido
c8059d6132 format 2022-09-04 20:18:11 +01:00
yeaido
cc008a57e1 vscode ignore 2022-09-04 20:16:47 +01:00
yeaido
ce6910fd63 Added highlight feature to the compare item window. Double click and item to highlight and bold it. 2022-09-04 12:32:07 +01:00
DarkPhoenix
7892e637b2 Force min query limit to be 1 for CJK languages in the market browser too 2022-08-29 15:33:47 +04:00
DarkPhoenix
6543a2c225 Revert "Use binary distribution of wx for appimage build"
This reverts commit 1e59d3d6ac.
2022-08-29 15:22:32 +04:00
DarkPhoenix
1e59d3d6ac Use binary distribution of wx for appimage build 2022-08-29 14:36:15 +04:00
DarkPhoenix
11d0566433 Bump version 2022-08-29 02:52:48 +04:00
DarkPhoenix
b8d84d3af2 Add new name conversions 2022-08-29 02:51:55 +04:00
DarkPhoenix
1831fea819 Update effects file 2022-08-29 02:50:00 +04:00
DarkPhoenix
d15322a57c Update static data to 2099371 2022-08-29 02:37:11 +04:00
DarkPhoenix
48981460ab Add drone EHP and shield regen columns 2022-08-29 01:56:15 +04:00
Anton Vorobyov
eaca4a179f Merge pull request #2461 from wereii/fix-appimage
Fix AppImage build
2022-08-28 21:10:18 +03:00
wereii
e249cf917b Fix AppImage build 2022-08-15 17:24:47 +02:00
115 changed files with 158348 additions and 79608 deletions

View File

@@ -11,7 +11,7 @@ for:
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.13-cp37-cp37m-manylinux2014_x86_64.AppImage
PYTHON_APPIMAGE: python3.7.15-cp37-cp37m-manylinux2014_x86_64.AppImage
DEPLOY_DIR: AppDir/opt/pyfa
# APPVEYOR_SSH_BLOCK: true
cache:
@@ -33,11 +33,14 @@ for:
- 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 ../
@@ -53,9 +56,10 @@ for:
# 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 org.pyfa.pyfa.appdata.xml ../../build/AppDir/usr/share/metainfo/
- sh: cp pyfa.appdata.xml ../../build/AppDir/usr/share/metainfo/
- sh: chmod +x pyfa && cp pyfa ../../build/AppDir/usr/bin
- sh: cd ../../
@@ -211,4 +215,4 @@ for:
force_update: false
# deploy on tag push only
on:
APPVEYOR_REPO_TAG: true
APPVEYOR_REPO_TAG: true

4
.gitignore vendored
View File

@@ -90,6 +90,7 @@ target/
# pyenv
.python-version
PyfaEnv/
# celery beat schedule file
celerybeat-schedule
@@ -123,3 +124,6 @@ gitversion
*.fsdbinary
/locale/progress.json
# vscode settings
.vscode

View File

@@ -28,6 +28,7 @@ saveInRoot = False
evemonMinVersion = "4081"
minItemSearchLength = 3
minItemSearchLengthCjk = 1
pyfaPath = None
savePath = None

0
dist_assets/linux/AppRun Normal file → Executable file
View File

File diff suppressed because it is too large Load Diff

View File

@@ -216,11 +216,11 @@ class DamagePattern:
pattern.builtin = True
cls._builtins[id] = pattern
def calculateEhp(self, fit):
def calculateEhp(self, item):
ehp = {}
for (type, attr) in (('shield', 'shieldCapacity'), ('armor', 'armorHP'), ('hull', 'hp')):
rawCapacity = fit.ship.getModifiedItemAttr(attr)
ehp[type] = self.effectivify(fit, rawCapacity, type)
rawCapacity = item.getModifiedItemAttr(attr)
ehp[type] = self.effectivify(item, rawCapacity, type)
return ehp
@@ -236,10 +236,10 @@ class DamagePattern:
ereps = {}
for field in tankInfo:
if field in typeMap:
ereps[field] = self.effectivify(fit, tankInfo[field], typeMap[field])
ereps[field] = self.effectivify(fit.ship, tankInfo[field], typeMap[field])
return ereps
def effectivify(self, fit, amount, type):
def effectivify(self, item, amount, type):
type = type if type != "hull" else ""
totalDamage = sum((self.emAmount, self.thermalAmount, self.kineticAmount, self.explosiveAmount))
specificDivider = 0
@@ -248,7 +248,7 @@ class DamagePattern:
attrName = "%s%sDamageResonance" % (type, damageType.capitalize())
attrName = attrName[0].lower() + attrName[1:]
resonance = fit.ship.getModifiedItemAttr(attrName)
resonance = item.getModifiedItemAttr(attrName)
damage = getattr(self, "%sAmount" % damageType)
specificDivider += damage / float(totalDamage or 1) * resonance

View File

@@ -82,6 +82,7 @@ class Drone(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut, Mu
self.__baseRRAmount = None
self.__miningYield = None
self.__miningWaste = None
self.__ehp = None
self.__itemModifiedAttributes = ModifiedAttributeDict()
self.__itemModifiedAttributes.original = self._item.attributes
self.__itemModifiedAttributes.overrides = self._item.overrides
@@ -287,6 +288,29 @@ class Drone(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut, Mu
if delay is not None and speed is not None:
return delay / 1000.0 * speed
@property
def hp(self):
hp = {}
for (type, attr) in (('shield', 'shieldCapacity'), ('armor', 'armorHP'), ('hull', 'hp')):
hp[type] = self.getModifiedItemAttr(attr)
return hp
@property
def ehp(self):
if self.__ehp is None:
if self.owner is None or self.owner.damagePattern is None:
ehp = self.hp
else:
ehp = self.owner.damagePattern.calculateEhp(self)
self.__ehp = ehp
return self.__ehp
def calculateShieldRecharge(self):
capacity = self.getModifiedItemAttr("shieldCapacity")
rechargeRate = self.getModifiedItemAttr("shieldRechargeRate") / 1000.0
return 10 / rechargeRate * math.sqrt(0.25) * (1 - math.sqrt(0.25)) * capacity
# Had to add this to match the falloff property in modules.py
# Fscking ship scanners. If you find any other falloff attributes,
# Put them in the attrs tuple.
@@ -318,6 +342,7 @@ class Drone(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut, Mu
self.__baseRRAmount = None
self.__miningYield = None
self.__miningWaste = None
self.__ehp = None
self.itemModifiedAttributes.clear()
self.chargeModifiedAttributes.clear()

View File

@@ -96,6 +96,7 @@ class Fighter(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut):
self.__charge = None
self.__baseVolley = None
self.__miningyield = None
self.__ehp = None
self.__itemModifiedAttributes = ModifiedAttributeDict()
self.__chargeModifiedAttributes = ModifiedAttributeDict()
@@ -345,6 +346,29 @@ class Fighter(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut):
if falloff is not None:
return falloff
@property
def hp(self):
hp = {}
for (type, attr) in (('shield', 'shieldCapacity'), ('armor', 'armorHP'), ('hull', 'hp')):
hp[type] = self.getModifiedItemAttr(attr)
return hp
@property
def ehp(self):
if self.__ehp is None:
if self.owner is None or self.owner.damagePattern is None:
ehp = self.hp
else:
ehp = self.owner.damagePattern.calculateEhp(self)
self.__ehp = ehp
return self.__ehp
def calculateShieldRecharge(self):
capacity = self.getModifiedItemAttr("shieldCapacity")
rechargeRate = self.getModifiedItemAttr("shieldRechargeRate") / 1000.0
return 10 / rechargeRate * math.sqrt(0.25) * (1 - math.sqrt(0.25)) * capacity
@validates("ID", "itemID", "chargeID", "amount")
def validator(self, key, val):
map = {
@@ -361,6 +385,7 @@ class Fighter(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut):
def clear(self):
self.__baseVolley = None
self.__miningyield = None
self.__ehp = None
self.itemModifiedAttributes.clear()
self.chargeModifiedAttributes.clear()
[x.clear() for x in self.abilities]

View File

@@ -1469,7 +1469,7 @@ class Fit:
if self.damagePattern is None:
ehp = self.hp
else:
ehp = self.damagePattern.calculateEhp(self)
ehp = self.damagePattern.calculateEhp(self.ship)
self.__ehp = ehp
return self.__ehp

View File

@@ -66,7 +66,7 @@ class FitShieldRegenGraph(FitGraph):
('shieldAmount', '%'): lambda v, src, tgt: v / 100 * src.item.ship.getModifiedItemAttr('shieldCapacity'),
('shieldAmountT0', '%'): lambda v, src, tgt: None if v is None else v / 100 * src.item.ship.getModifiedItemAttr('shieldCapacity'),
# Needed only for "x mark" support, to convert EHP x into normalized value
('shieldAmount', 'EHP'): lambda v, src, tgt: v / src.item.damagePattern.effectivify(src.item, 1, 'shield')}
('shieldAmount', 'EHP'): lambda v, src, tgt: v / src.item.damagePattern.effectivify(src.item.ship, 1, 'shield')}
_limiters = {
'shieldAmount': lambda src, tgt: (0, src.item.ship.getModifiedItemAttr('shieldCapacity')),
'shieldAmountT0': lambda src, tgt: (0, src.item.ship.getModifiedItemAttr('shieldCapacity'))}
@@ -77,5 +77,5 @@ class FitShieldRegenGraph(FitGraph):
('shieldAmount', 'shieldRegen'): ShieldAmount2ShieldRegenGetter}
_denormalizers = {
('shieldAmount', '%'): lambda v, src, tgt: v * 100 / src.item.ship.getModifiedItemAttr('shieldCapacity'),
('shieldAmount', 'EHP'): lambda v, src, tgt: src.item.damagePattern.effectivify(src.item, v, 'shield'),
('shieldRegen', 'EHP/s'): lambda v, src, tgt: src.item.damagePattern.effectivify(src.item, v, 'shield')}
('shieldAmount', 'EHP'): lambda v, src, tgt: src.item.damagePattern.effectivify(src.item.ship, v, 'shield'),
('shieldRegen', 'EHP/s'): lambda v, src, tgt: src.item.damagePattern.effectivify(src.item.ship, v, 'shield')}

View File

@@ -199,7 +199,7 @@ def _getAutoResists(fit):
armorHp = hpData['armor']
hullHp = hpData['hull']
uniformDamagePattern = DamagePattern(emAmount=25, thermalAmount=25, kineticAmount=25, explosiveAmount=25)
ehpData = uniformDamagePattern.calculateEhp(fit)
ehpData = uniformDamagePattern.calculateEhp(fit.ship)
shieldEhp = ehpData['shield']
armorEhp = ehpData['armor']
hullEhp = ehpData['hull']

View File

@@ -66,6 +66,8 @@ class DroneView(Display):
"Max Range",
"Miscellanea",
"attr:maxVelocity",
"Drone HP",
"Drone Regen",
"Price",
]

View File

@@ -151,6 +151,8 @@ class FighterDisplay(d.Display):
# "Max Range",
# "Miscellanea",
"attr:maxVelocity",
"Drone HP",
"Drone Regen",
"Fighter Abilities",
"Price",
]

View File

@@ -123,9 +123,7 @@ class AddEnvironmentEffect(ContextMenuUnconditional):
data.groups[_t('Abyssal Weather')] = self.getAbyssalWeather()
data.groups[_t('Sansha Incursion')] = self.getEffectBeacons(
_t('ContextMenu|ProjectedEffectManipulation|Sansha Incursion'))
data.groups[_t('Triglavian Invasion')] = self.getEffectBeacons(
_t('ContextMenu|ProjectedEffectManipulation|Triglavian Invasion'))
data.groups[_t('Triglavian Invasion')].groups[_t('Destructible Beacons')] = self.getDestructibleBeacons()
data.groups[_t('Triglavian Invasion')] = self.getDestructibleBeacons()
return data
def getEffectBeacons(self, *groups, extra_garbage=()):

View File

@@ -36,6 +36,8 @@ class ItemCompare(wx.Panel):
self.item = item
self.items = sorted(items, key=defaultSort)
self.attrs = {}
self.HighlightOn = wx.Colour(255, 255, 0, wx.ALPHA_OPAQUE)
self.highlightedNames = []
# get a dict of attrName: attrInfo of all unique attributes across all items
for item in self.items:
@@ -88,6 +90,21 @@ class ItemCompare(wx.Panel):
self.toggleViewBtn.Bind(wx.EVT_TOGGLEBUTTON, self.ToggleViewMode)
self.Bind(wx.EVT_LIST_COL_CLICK, self.SortCompareCols)
self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.HighlightRow)
def HighlightRow(self, event):
itemIdx = event.GetIndex()
name = self.paramList.GetItem(itemIdx).Text
if name in self.highlightedNames:
self.highlightedNames.remove(name)
else:
self.highlightedNames.append(name)
self.Freeze()
self.paramList.ClearAll()
self.PopulateList()
self.Thaw()
event.Skip()
def SortCompareCols(self, event):
self.Freeze()
self.paramList.ClearAll()
@@ -155,6 +172,8 @@ class ItemCompare(wx.Panel):
self.paramList.InsertColumn(len(self.attrs) + 1, _t("Price"))
self.paramList.SetColumnWidth(len(self.attrs) + 1, 60)
toHighlight = []
for item in self.items:
i = self.paramList.InsertItem(self.paramList.GetItemCount(), item.name)
for x, attr in enumerate(self.attrs.keys()):
@@ -172,10 +191,19 @@ class ItemCompare(wx.Panel):
# Add prices
self.paramList.SetItem(i, len(self.attrs) + 1, formatAmount(item.price.price, 3, 3, 9, currency=True) if item.price.price else "")
if item.name in self.highlightedNames:
toHighlight.append(i)
self.paramList.RefreshRows()
self.Layout()
# Highlight after layout, otherwise colors are getting overwritten
for itemIdx in toHighlight:
listItem = self.paramList.GetItem(itemIdx)
listItem.SetBackgroundColour(self.HighlightOn)
listItem.SetFont(listItem.GetFont().MakeBold())
self.paramList.SetItem(listItem)
@staticmethod
def TranslateValueUnit(value, unitName, unitDisplayName):
def itemIDCallback():

View File

@@ -0,0 +1,87 @@
# =============================================================================
# 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/>.
# =============================================================================
# noinspection PyPackageRequirements
import wx
import gui.mainFrame
from eos.saveddata.drone import Drone
from eos.saveddata.fighter import Fighter
from service.attribute import Attribute
from gui.viewColumn import ViewColumn
from gui.bitmap_loader import BitmapLoader
from gui.utils.numberFormatter import formatAmount
_t = wx.GetTranslation
class DroneEhpColumn(ViewColumn):
name = "Drone HP"
def __init__(self, fittingView, params=None):
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
if params is None:
params = {"showIcon": True, "displayName": False}
ViewColumn.__init__(self, fittingView)
sAttr = Attribute.getInstance()
info = sAttr.getAttributeInfo("shieldCapacity")
self.info = info
if params["showIcon"]:
iconFile = info.iconID
if iconFile:
self.imageId = fittingView.imageList.GetImageIndex(iconFile, "icons")
self.bitmap = BitmapLoader.getBitmap(iconFile, "icons")
else:
self.imageId = -1
self.mask = wx.LIST_MASK_IMAGE
else:
self.imageId = -1
if params["displayName"] or self.imageId == -1:
self.columnText = info.displayName if info.displayName != "" else info.name
self.mask |= wx.LIST_MASK_TEXT
def getText(self, stuff):
if not isinstance(stuff, (Drone, Fighter)):
return ""
if self.mainFrame.statsPane.nameViewMap["resistancesViewFull"].showEffective:
ehp = sum(stuff.ehp.values())
else:
ehp = sum(stuff.hp.values())
return formatAmount(ehp, 3, 0, 9)
def getImageId(self, mod):
return -1
def getParameters(self):
return ("displayName", bool, False), ("showIcon", bool, True)
def getToolTip(self, stuff):
if not isinstance(stuff, (Drone, Fighter)):
return ""
if self.mainFrame.statsPane.nameViewMap["resistancesViewFull"].showEffective:
return _t("Effective HP")
else:
return _t("HP")
DroneEhpColumn.register()

View File

@@ -0,0 +1,81 @@
# =============================================================================
# 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/>.
# =============================================================================
# noinspection PyPackageRequirements
import wx
import gui.mainFrame
from eos.saveddata.drone import Drone
from eos.saveddata.fighter import Fighter
from gui.viewColumn import ViewColumn
from gui.bitmap_loader import BitmapLoader
from gui.utils.numberFormatter import formatAmount
_t = wx.GetTranslation
class DroneRegenColumn(ViewColumn):
name = "Drone Regen"
def __init__(self, fittingView, params=None):
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
if params is None:
params = {"showIcon": True, "displayName": False}
ViewColumn.__init__(self, fittingView)
if params["showIcon"]:
self.imageId = fittingView.imageList.GetImageIndex("shieldPassive_small", "gui")
self.bitmap = BitmapLoader.getBitmap("shieldPassive_small", "gui")
self.mask = wx.LIST_MASK_IMAGE
else:
self.imageId = -1
if params["displayName"] or self.imageId == -1:
self.columnText = _("Misc data")
self.mask |= wx.LIST_MASK_TEXT
def getText(self, stuff):
if not isinstance(stuff, (Drone, Fighter)):
return ""
regen = stuff.calculateShieldRecharge()
if (
self.mainFrame.statsPane.nameViewMap["resistancesViewFull"].showEffective
and stuff.owner and stuff.owner.damagePattern is not None
):
regen = stuff.owner.damagePattern.effectivify(stuff, regen, 'shield')
return '{}/s'.format(formatAmount(regen, 3, 0, 9))
def getImageId(self, mod):
return -1
def getParameters(self):
return ("displayName", bool, False), ("showIcon", bool, True)
def getToolTip(self, stuff):
if not isinstance(stuff, (Drone, Fighter)):
return ""
if self.mainFrame.statsPane.nameViewMap["resistancesViewFull"].showEffective:
return _t("Effective Shield Regeneration")
else:
return _t("Shield Regeneration")
DroneRegenColumn.register()

View File

@@ -78,6 +78,8 @@ from gui.builtinViewColumns import ( # noqa: E402, F401
baseName,
capacitorUse,
dampScanRes,
droneEhp,
droneRegen,
graphColor,
graphLightness,
graphLineStyle,

Binary file not shown.

After

Width:  |  Height:  |  Size: 662 B

BIN
imgs/icons/21831@1x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 812 B

BIN
imgs/icons/21831@2x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
imgs/icons/24296@1x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 667 B

BIN
imgs/icons/24296@2x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
imgs/icons/24497@1x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 827 B

BIN
imgs/icons/24497@2x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
imgs/icons/24585@1x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 878 B

BIN
imgs/icons/24585@2x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 780 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 829 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 821 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 824 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 783 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 814 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 825 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 821 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 782 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 816 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 823 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 814 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

BIN
imgs/icons/25328@1x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 791 B

BIN
imgs/icons/25328@2x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
imgs/icons/25329@1x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 769 B

BIN
imgs/icons/25329@2x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
imgs/icons/25330@1x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 799 B

BIN
imgs/icons/25330@2x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
imgs/icons/25331@1x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 802 B

BIN
imgs/icons/25331@2x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
imgs/icons/25355@1x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 796 B

BIN
imgs/icons/25355@2x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
imgs/icons/25356@1x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 603 B

BIN
imgs/icons/25356@2x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

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.0 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,9 @@
"""
Conversion pack for August 2022 release
"""
CONVERSIONS = {
# Renamed items
"Basic Reactor Control Unit": "'Basic' Reactor Control Unit",
"Basic Co-Processor": "'Basic' Co-Processor",
}

View File

@@ -35,6 +35,7 @@ from eos.gamedata import Category as types_Category, Group as types_Group, Item
from service import conversions
from service.jargon import JargonLoader
from service.settings import SettingsProvider
from utils.cjk import isStringCjk
pyfalog = Logger(__name__)
_t = wx.GetTranslation
@@ -152,7 +153,11 @@ class SearchWorkerThread(threading.Thread):
requestTokens = self.jargonLoader.get_jargon().apply(requestTokens)
all_results = set()
if len(' '.join(requestTokens)) >= config.minItemSearchLength:
joinedTokens = ' '.join(requestTokens)
if (
(isStringCjk(joinedTokens) and len(joinedTokens) >= config.minItemSearchLengthCjk)
or len(joinedTokens) >= config.minItemSearchLength
):
for filter_ in filters:
filtered_results = eos.db.searchItemsRegex(
requestTokens, where=filter_,

View File

@@ -165,16 +165,25 @@ def exportModules(modules, options, mutaData=None):
def exportDrones(drones, exportMutants=True, mutaData=None, standAlone=True):
# Same as in drone additions panel
DRONE_ORDER = ('Light Scout Drones', 'Medium Scout Drones',
'Heavy Attack Drones', 'Sentry Drones', 'Combat Utility Drones',
'Electronic Warfare Drones', 'Logistic Drones', 'Mining Drones', 'Salvage Drones')
def getDroneName(drone):
if drone.isMutated:
return drone.baseItem.typeName
return drone.item.typeName
def droneSorter(drone):
groupName = Market.getInstance().getMarketGroupByItem(drone.item).marketGroupName
return (DRONE_ORDER.index(groupName), drone.isMutated, drone.fullName)
if mutaData is None:
mutaData = MutationExportData()
sections = []
droneLines = []
for drone in sorted(drones, key=getDroneName):
for drone in sorted(drones, key=droneSorter):
if drone.isMutated and exportMutants:
mutaData.mutants[mutaData.reference] = drone
mutationSuffix = ' [{}]'.format(mutaData.reference)
@@ -190,8 +199,15 @@ def exportDrones(drones, exportMutants=True, mutaData=None, standAlone=True):
def exportFighters(fighters):
# Same as in drone additions panel
FIGHTER_ORDER = ('Light Fighter', 'Heavy Fighter', 'Support Fighter')
def fighterSorter(fighter):
groupName = Market.getInstance().getGroupByItem(fighter.item).name
return (FIGHTER_ORDER.index(groupName), fighter.fullName)
fighterLines = []
for fighter in sorted(fighters, key=lambda f: f.item.typeName):
for fighter in sorted(fighters, key=fighterSorter):
fighterLines.append('{} x{}'.format(fighter.item.typeName, fighter.amount))
return '\n'.join(fighterLines)

View File

@@ -36,7 +36,7 @@ def tankSection(fit):
ehp.append(sum(ehp))
ehpStr = [formatAmount(ehpVal, 3, 0, 9) for ehpVal in ehp]
resists = {tankType: [1 - fit.ship.getModifiedItemAttr(s) for s in resonanceNames[tankType]] for tankType in tankTypes}
ehpAgainstDamageType = [sum(pattern.calculateEhp(fit).values()) for pattern in damagePatterns]
ehpAgainstDamageType = [sum(pattern.calculateEhp(fit.ship).values()) for pattern in damagePatterns]
ehpAgainstDamageTypeStr = [formatAmount(ehpVal, 3, 0, 9) for ehpVal in ehpAgainstDamageType]
# not used for now. maybe will be improved later

View File

@@ -17,7 +17,7 @@
"categoryID": 1,
"categoryName_de": "Besitzer",
"categoryName_en-us": "Owner",
"categoryName_es": "Owner",
"categoryName_es": "Propietario",
"categoryName_fr": "Propriétaire",
"categoryName_it": "Owner",
"categoryName_ja": "所有者",
@@ -45,7 +45,7 @@
"categoryID": 3,
"categoryName_de": "Station",
"categoryName_en-us": "Station",
"categoryName_es": "Station",
"categoryName_es": "Estación",
"categoryName_fr": "Station",
"categoryName_it": "Station",
"categoryName_ja": "ステーション",
@@ -74,7 +74,7 @@
"categoryID": 5,
"categoryName_de": "Zubehör",
"categoryName_en-us": "Accessories",
"categoryName_es": "Accessories",
"categoryName_es": "Accesorios",
"categoryName_fr": "Accessoires",
"categoryName_it": "Accessories",
"categoryName_ja": "アクセサリー",
@@ -89,7 +89,7 @@
"categoryID": 6,
"categoryName_de": "Schiff",
"categoryName_en-us": "Ship",
"categoryName_es": "Ship",
"categoryName_es": "Nave",
"categoryName_fr": "Vaisseau",
"categoryName_it": "Ship",
"categoryName_ja": "艦船",
@@ -103,7 +103,7 @@
"categoryID": 7,
"categoryName_de": "Modul",
"categoryName_en-us": "Module",
"categoryName_es": "Module",
"categoryName_es": "Módulo",
"categoryName_fr": "Module",
"categoryName_it": "Module",
"categoryName_ja": "モジュール",
@@ -118,7 +118,7 @@
"categoryID": 8,
"categoryName_de": "Ladung",
"categoryName_en-us": "Charge",
"categoryName_es": "Charge",
"categoryName_es": "Carga",
"categoryName_fr": "Charge",
"categoryName_it": "Charge",
"categoryName_ja": "チャージ",
@@ -132,7 +132,7 @@
"categoryID": 9,
"categoryName_de": "Blueprint",
"categoryName_en-us": "Blueprint",
"categoryName_es": "Blueprint",
"categoryName_es": "Plano",
"categoryName_fr": "Plan de construction",
"categoryName_it": "Blueprint",
"categoryName_ja": "ブループリント",
@@ -147,7 +147,7 @@
"categoryID": 10,
"categoryName_de": "Handel",
"categoryName_en-us": "Trading",
"categoryName_es": "Trading",
"categoryName_es": "Comercio",
"categoryName_fr": "Commerce",
"categoryName_it": "Trading",
"categoryName_ja": "トレード",
@@ -161,7 +161,7 @@
"categoryID": 11,
"categoryName_de": "Einheit",
"categoryName_en-us": "Entity",
"categoryName_es": "Entity",
"categoryName_es": "Entidad",
"categoryName_fr": "Entité",
"categoryName_it": "Entity",
"categoryName_ja": "エンティティ",
@@ -175,7 +175,7 @@
"categoryID": 14,
"categoryName_de": "Bonus",
"categoryName_en-us": "Bonus",
"categoryName_es": "Bonus",
"categoryName_es": "Bonificación",
"categoryName_fr": "Bonus",
"categoryName_it": "Bonus",
"categoryName_ja": "ボーナス",
@@ -190,7 +190,7 @@
"categoryID": 16,
"categoryName_de": "Skill",
"categoryName_en-us": "Skill",
"categoryName_es": "Skill",
"categoryName_es": "Habilidad",
"categoryName_fr": "Compétence",
"categoryName_it": "Skill",
"categoryName_ja": "スキル",
@@ -205,7 +205,7 @@
"categoryID": 17,
"categoryName_de": "Bedarfsartikel",
"categoryName_en-us": "Commodity",
"categoryName_es": "Commodity",
"categoryName_es": "Mercancía",
"categoryName_fr": "Marchandise",
"categoryName_it": "Commodity",
"categoryName_ja": "商品",
@@ -220,7 +220,7 @@
"categoryID": 18,
"categoryName_de": "Drohne",
"categoryName_en-us": "Drone",
"categoryName_es": "Drone",
"categoryName_es": "Dron",
"categoryName_fr": "Drone",
"categoryName_it": "Drone",
"categoryName_ja": "ドローン",
@@ -236,7 +236,7 @@
"categoryID": 20,
"categoryName_de": "Implantat",
"categoryName_en-us": "Implant",
"categoryName_es": "Implant",
"categoryName_es": "Implante",
"categoryName_fr": "Implant",
"categoryName_it": "Implant",
"categoryName_ja": "インプラント",
@@ -251,7 +251,7 @@
"categoryID": 22,
"categoryName_de": "Einsetzbar",
"categoryName_en-us": "Deployable",
"categoryName_es": "Deployable",
"categoryName_es": "Desplegable",
"categoryName_fr": "Déployable",
"categoryName_it": "Deployable",
"categoryName_ja": "配置型ユニット",
@@ -266,7 +266,7 @@
"categoryID": 23,
"categoryName_de": "Sternenbasis",
"categoryName_en-us": "Starbase",
"categoryName_es": "Starbase",
"categoryName_es": "Base estelar",
"categoryName_fr": "Base stellaire",
"categoryName_it": "Starbase",
"categoryName_ja": "スターベース",
@@ -281,7 +281,7 @@
"categoryID": 24,
"categoryName_de": "Reaktion",
"categoryName_en-us": "Reaction",
"categoryName_es": "Reaction",
"categoryName_es": "Reacción",
"categoryName_fr": "Réaction",
"categoryName_it": "Reaction",
"categoryName_ja": "化学反応",
@@ -296,7 +296,7 @@
"categoryID": 25,
"categoryName_de": "Asteroid",
"categoryName_en-us": "Asteroid",
"categoryName_es": "Asteroid",
"categoryName_es": "Asteroide",
"categoryName_fr": "Astéroïde",
"categoryName_it": "Asteroid",
"categoryName_ja": "アステロイド",
@@ -310,7 +310,7 @@
"categoryID": 26,
"categoryName_de": "WeltRaum",
"categoryName_en-us": "WorldSpace",
"categoryName_es": "WorldSpace",
"categoryName_es": "Lugares del mundo",
"categoryName_fr": "Espace planétaire",
"categoryName_it": "WorldSpace",
"categoryName_ja": "ワールドスペース",
@@ -324,7 +324,7 @@
"categoryID": 29,
"categoryName_de": "Kurzbeschreibung",
"categoryName_en-us": "Abstract",
"categoryName_es": "Abstract",
"categoryName_es": "Resumen",
"categoryName_fr": "Résumé",
"categoryName_it": "Abstract",
"categoryName_ja": "アブストラクト",
@@ -338,7 +338,7 @@
"categoryID": 30,
"categoryName_de": "Bekleidung",
"categoryName_en-us": "Apparel",
"categoryName_es": "Apparel",
"categoryName_es": "Indumentaria",
"categoryName_fr": "Équipement",
"categoryName_it": "Apparel",
"categoryName_ja": "アパレル",
@@ -352,7 +352,7 @@
"categoryID": 32,
"categoryName_de": "Untersystem",
"categoryName_en-us": "Subsystem",
"categoryName_es": "Subsystem",
"categoryName_es": "Subsistema",
"categoryName_fr": "Sous-système",
"categoryName_it": "Subsystem",
"categoryName_ja": "サブシステム",
@@ -366,7 +366,7 @@
"categoryID": 34,
"categoryName_de": "Alte Reliquien",
"categoryName_en-us": "Ancient Relics",
"categoryName_es": "Ancient Relics",
"categoryName_es": "Reliquias antiguas",
"categoryName_fr": "Reliques antiques",
"categoryName_it": "Ancient Relics",
"categoryName_ja": "古代の遺物",
@@ -380,7 +380,7 @@
"categoryID": 35,
"categoryName_de": "Entzifferer",
"categoryName_en-us": "Decryptors",
"categoryName_es": "Decryptors",
"categoryName_es": "Desencriptadores",
"categoryName_fr": "Décrypteurs",
"categoryName_it": "Decryptors",
"categoryName_ja": "解読器",
@@ -394,7 +394,7 @@
"categoryID": 39,
"categoryName_de": "Infrastruktur-Upgrades",
"categoryName_en-us": "Infrastructure Upgrades",
"categoryName_es": "Infrastructure Upgrades",
"categoryName_es": "Mejoras de infraestructuras",
"categoryName_fr": "Améliorations d'infrastructure",
"categoryName_it": "Infrastructure Upgrades",
"categoryName_ja": "領域施設強化",
@@ -408,7 +408,7 @@
"categoryID": 40,
"categoryName_de": "Souveränitätsstrukturen ",
"categoryName_en-us": "Sovereignty Structures",
"categoryName_es": "Sovereignty Structures",
"categoryName_es": "Estructuras de soberanía",
"categoryName_fr": "Structures de souveraineté",
"categoryName_it": "Sovereignty Structures",
"categoryName_ja": "領有権管理設備",
@@ -422,7 +422,7 @@
"categoryID": 41,
"categoryName_de": "Planetare Industrie",
"categoryName_en-us": "Planetary Industry",
"categoryName_es": "Planetary Industry",
"categoryName_es": "Industria planetaria",
"categoryName_fr": "Industrie planétaire",
"categoryName_it": "Planetary Industry",
"categoryName_ja": "惑星インダストリー",
@@ -436,7 +436,7 @@
"categoryID": 42,
"categoryName_de": "Planetarische Ressourcen",
"categoryName_en-us": "Planetary Resources",
"categoryName_es": "Planetary Resources",
"categoryName_es": "Recursos planetarios",
"categoryName_fr": "Ressources planétaires",
"categoryName_it": "Planetary Resources",
"categoryName_ja": "惑星資源",
@@ -450,7 +450,7 @@
"categoryID": 43,
"categoryName_de": "Planetarische Güter",
"categoryName_en-us": "Planetary Commodities",
"categoryName_es": "Planetary Commodities",
"categoryName_es": "Mercancías planetarias",
"categoryName_fr": "Marchandises planétaires",
"categoryName_it": "Planetary Commodities",
"categoryName_ja": "惑星商品",
@@ -464,7 +464,7 @@
"categoryID": 46,
"categoryName_de": "Orbitale",
"categoryName_en-us": "Orbitals",
"categoryName_es": "Orbitals",
"categoryName_es": "Orbitales",
"categoryName_fr": "Orbitaux",
"categoryName_it": "Orbitals",
"categoryName_ja": "軌道施設",
@@ -478,7 +478,7 @@
"categoryID": 49,
"categoryName_de": "Platzierbares",
"categoryName_en-us": "Placeables",
"categoryName_es": "Placeables",
"categoryName_es": "Objetos colocables",
"categoryName_fr": "Éléments",
"categoryName_it": "Placeables",
"categoryName_ja": "配置可能",
@@ -492,7 +492,7 @@
"categoryID": 53,
"categoryName_de": "Effekte",
"categoryName_en-us": "Effects",
"categoryName_es": "Effects",
"categoryName_es": "Efectos",
"categoryName_fr": "Effets",
"categoryName_it": "Effects",
"categoryName_ja": "効果",
@@ -506,7 +506,7 @@
"categoryID": 54,
"categoryName_de": "Beleuchtung",
"categoryName_en-us": "Lights",
"categoryName_es": "Lights",
"categoryName_es": "Luces",
"categoryName_fr": "Lumières",
"categoryName_it": "Lights",
"categoryName_ja": "ライト",
@@ -520,7 +520,7 @@
"categoryID": 59,
"categoryName_de": "Zellen",
"categoryName_en-us": "Cells",
"categoryName_es": "Cells",
"categoryName_es": "Celdas",
"categoryName_fr": "Cellules",
"categoryName_it": "Cells",
"categoryName_ja": "セル",
@@ -534,7 +534,7 @@
"categoryID": 63,
"categoryName_de": "Sonderversionen",
"categoryName_en-us": "Special Edition Assets",
"categoryName_es": "Special Edition Assets",
"categoryName_es": "Artículos de edición especial",
"categoryName_fr": "Actifs édition spéciale",
"categoryName_it": "Special Edition Assets",
"categoryName_ja": "特別版資産",
@@ -548,7 +548,7 @@
"categoryID": 65,
"categoryName_de": "Struktur",
"categoryName_en-us": "Structure",
"categoryName_es": "Structure",
"categoryName_es": "Estructura",
"categoryName_fr": "Structure",
"categoryName_it": "Structure",
"categoryName_ja": "ストラクチャ",
@@ -562,7 +562,7 @@
"categoryID": 66,
"categoryName_de": "Strukturmodul",
"categoryName_en-us": "Structure Module",
"categoryName_es": "Structure Module",
"categoryName_es": "Módulo de estructura",
"categoryName_fr": "Module de structure",
"categoryName_it": "Structure Module",
"categoryName_ja": "ストラクチャモジュール",
@@ -576,7 +576,7 @@
"categoryID": 87,
"categoryName_de": "Jäger",
"categoryName_en-us": "Fighter",
"categoryName_es": "Fighter",
"categoryName_es": "Caza",
"categoryName_fr": "Combattant",
"categoryName_it": "Fighter",
"categoryName_ja": "戦闘機",
@@ -590,7 +590,7 @@
"categoryID": 91,
"categoryName_de": "SKINs",
"categoryName_en-us": "SKINs",
"categoryName_es": "SKINs",
"categoryName_es": "SKIN",
"categoryName_fr": "SKINS",
"categoryName_it": "SKINs",
"categoryName_ja": "SKIN",
@@ -604,7 +604,7 @@
"categoryID": 2100,
"categoryName_de": "Expertensysteme",
"categoryName_en-us": "Expert Systems",
"categoryName_es": "Expert Systems",
"categoryName_es": "Sistemas expertos",
"categoryName_fr": "Systèmes experts",
"categoryName_it": "Expert Systems",
"categoryName_ja": "エキスパートシステム",
@@ -618,7 +618,7 @@
"categoryID": 2107,
"categoryName_de": "Bergbau",
"categoryName_en-us": "Mining",
"categoryName_es": "Mining",
"categoryName_es": "Minería",
"categoryName_fr": "Extraction",
"categoryName_it": "Mining",
"categoryName_ja": "採掘",
@@ -628,11 +628,25 @@
"categoryNameID": 587126,
"published": 0
},
"2118": {
"categoryID": 2118,
"categoryName_de": "Personalization",
"categoryName_en-us": "Personalization",
"categoryName_es": "Personalization",
"categoryName_fr": "Personalization",
"categoryName_it": "Personalization",
"categoryName_ja": "Personalization",
"categoryName_ko": "Personalization",
"categoryName_ru": "Personalization",
"categoryName_zh": "Personalization",
"categoryNameID": 631766,
"published": 1
},
"350001": {
"categoryID": 350001,
"categoryName_de": "Infanterie",
"categoryName_en-us": "Infantry",
"categoryName_es": "Infantry",
"categoryName_es": "Infantería",
"categoryName_fr": "Infanterie",
"categoryName_it": "Infantry",
"categoryName_ja": "歩兵",

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -2,7 +2,7 @@
"1": {
"description_de": "Meter",
"description_en-us": "Meter",
"description_es": "Meter",
"description_es": "Metro.",
"description_fr": "Mètre",
"description_it": "Meter",
"description_ja": "メートル",
@@ -12,7 +12,7 @@
"descriptionID": 77965,
"displayName_de": "m",
"displayName_en-us": "m",
"displayName_es": "m",
"displayName_es": " m",
"displayName_fr": "m",
"displayName_it": "m",
"displayName_ja": "m",
@@ -25,7 +25,7 @@
"2": {
"description_de": "Kilogramm",
"description_en-us": "Kilogram",
"description_es": "Kilogram",
"description_es": "Kilogramo.",
"description_fr": "Kilogramme",
"description_it": "Kilogram",
"description_ja": "キログラム",
@@ -35,7 +35,7 @@
"descriptionID": 77966,
"displayName_de": "kg",
"displayName_en-us": "kg",
"displayName_es": "kg",
"displayName_es": " kg",
"displayName_fr": "kg",
"displayName_it": "kg",
"displayName_ja": "kg",
@@ -48,7 +48,7 @@
"3": {
"description_de": "Sekunde",
"description_en-us": "Second",
"description_es": "Second",
"description_es": "Segundo.",
"description_fr": "Seconde",
"description_it": "Second",
"description_ja": "秒",
@@ -58,7 +58,7 @@
"descriptionID": 77967,
"displayName_de": "s",
"displayName_en-us": "sec",
"displayName_es": "sec",
"displayName_es": " s",
"displayName_fr": "sec",
"displayName_it": "sec",
"displayName_ja": "sec",
@@ -71,7 +71,7 @@
"4": {
"description_de": "Ampere",
"description_en-us": "Ampere",
"description_es": "Ampere",
"description_es": "Amperio.",
"description_fr": "Ampère",
"description_it": "Ampere",
"description_ja": "アンペア",
@@ -94,7 +94,7 @@
"5": {
"description_de": "Kelvin",
"description_en-us": "Kelvin",
"description_es": "Kelvin",
"description_es": "Kelvin.",
"description_fr": "Kelvin",
"description_it": "Kelvin",
"description_ja": "ケルビン",
@@ -104,7 +104,7 @@
"descriptionID": 77969,
"displayName_de": "K",
"displayName_en-us": "K",
"displayName_es": "K",
"displayName_es": " K",
"displayName_fr": "K",
"displayName_it": "K",
"displayName_ja": "K",
@@ -117,7 +117,7 @@
"6": {
"description_de": "Mol",
"description_en-us": "Mole",
"description_es": "Mole",
"description_es": "Mole.",
"description_fr": "Mole",
"description_it": "Mole",
"description_ja": "モル",
@@ -127,7 +127,7 @@
"descriptionID": 77970,
"displayName_de": "mol",
"displayName_en-us": "mol",
"displayName_es": "mol",
"displayName_es": " mol",
"displayName_fr": "mol",
"displayName_it": "mol",
"displayName_ja": "mol",
@@ -140,7 +140,7 @@
"7": {
"description_de": "Candela",
"description_en-us": "Candela",
"description_es": "Candela",
"description_es": "Candela.",
"description_fr": "Candela",
"description_it": "Candela",
"description_ja": "カンデラ",
@@ -150,7 +150,7 @@
"descriptionID": 77971,
"displayName_de": "cd",
"displayName_en-us": "cd",
"displayName_es": "cd",
"displayName_es": " cd",
"displayName_fr": "cd",
"displayName_it": "cd",
"displayName_ja": "cd",
@@ -163,7 +163,7 @@
"8": {
"description_de": "Quadratmeter",
"description_en-us": "Square meter",
"description_es": "Square meter",
"description_es": "Metro cuadrado.",
"description_fr": "Mètre carré",
"description_it": "Square meter",
"description_ja": "平方メートル",
@@ -173,7 +173,7 @@
"descriptionID": 77972,
"displayName_de": "m2",
"displayName_en-us": "m2",
"displayName_es": "m2",
"displayName_es": " ",
"displayName_fr": "m2",
"displayName_it": "m2",
"displayName_ja": "m2",
@@ -186,7 +186,7 @@
"9": {
"description_de": "Kubikmeter",
"description_en-us": "Cubic meter",
"description_es": "Cubic meter",
"description_es": "Metro cúbico.",
"description_fr": "Mètre cube",
"description_it": "Cubic meter",
"description_ja": "立方メートル",
@@ -196,7 +196,7 @@
"descriptionID": 77973,
"displayName_de": "m3",
"displayName_en-us": "m3",
"displayName_es": "m3",
"displayName_es": " ",
"displayName_fr": "m³",
"displayName_it": "m3",
"displayName_ja": "m3",
@@ -209,7 +209,7 @@
"10": {
"description_de": "Meter pro Sekunde",
"description_en-us": "Meter per second",
"description_es": "Meter per second",
"description_es": "Metro por segundo.",
"description_fr": "Mètre par seconde",
"description_it": "Meter per second",
"description_ja": "メートル毎秒",
@@ -219,7 +219,7 @@
"descriptionID": 77974,
"displayName_de": "m/s",
"displayName_en-us": "m/sec",
"displayName_es": "m/sec",
"displayName_es": " m/s",
"displayName_fr": "m/sec",
"displayName_it": "m/sec",
"displayName_ja": "m/sec",
@@ -232,7 +232,7 @@
"11": {
"description_de": "Meter pro Quadratsekunde",
"description_en-us": "Meter per second squared",
"description_es": "Meter per second squared",
"description_es": "Metro por segundo al cuadrado.",
"description_fr": "Mètre par seconde carrée",
"description_it": "Meter per second squared",
"description_ja": "メートル毎秒毎秒",
@@ -242,7 +242,7 @@
"descriptionID": 77975,
"displayName_de": "m/s",
"displayName_en-us": "m/sec",
"displayName_es": "m/sec",
"displayName_es": " m/s",
"displayName_fr": "m/sec",
"displayName_it": "m/sec",
"displayName_ja": "m/sec",
@@ -255,7 +255,7 @@
"12": {
"description_de": "Inverser Meter",
"description_en-us": "Reciprocal meter",
"description_es": "Reciprocal meter",
"description_es": "Metro recíproco.",
"description_fr": "Mètre inverse",
"description_it": "Reciprocal meter",
"description_ja": "毎メートル",
@@ -265,7 +265,7 @@
"descriptionID": 77976,
"displayName_de": "m-1",
"displayName_en-us": "m-1",
"displayName_es": "m-1",
"displayName_es": " m-1",
"displayName_fr": "m-1",
"displayName_it": "m-1",
"displayName_ja": "m-1",
@@ -278,7 +278,7 @@
"13": {
"description_de": "Kilogramm pro Kubikmeter",
"description_en-us": "Kilogram per cubic meter",
"description_es": "Kilogram per cubic meter",
"description_es": "Kilogramo por metro cúbico.",
"description_fr": "Kilogramme par mètre cubique",
"description_it": "Kilogram per cubic meter",
"description_ja": "キログラム毎立方メートル",
@@ -288,7 +288,7 @@
"descriptionID": 77977,
"displayName_de": "kg/m3",
"displayName_en-us": "kg/m3",
"displayName_es": "kg/m3",
"displayName_es": " kg/m³",
"displayName_fr": "kg/m³",
"displayName_it": "kg/m3",
"displayName_ja": "kg/m3",
@@ -301,7 +301,7 @@
"14": {
"description_de": "Kubikmeter pro Kilogramm",
"description_en-us": "Cubic meter per kilogram",
"description_es": "Cubic meter per kilogram",
"description_es": "Metro cúbico por kilogramo.",
"description_fr": "Mètre cubique par kilogramme",
"description_it": "Cubic meter per kilogram",
"description_ja": "立方メートル毎キログラム",
@@ -311,7 +311,7 @@
"descriptionID": 77978,
"displayName_de": "m3/kg",
"displayName_en-us": "m3/kg",
"displayName_es": "m3/kg",
"displayName_es": " /kg",
"displayName_fr": "m³/kg",
"displayName_it": "m3/kg",
"displayName_ja": "m3/kg",
@@ -324,7 +324,7 @@
"15": {
"description_de": "Ampere pro Quadratmeter",
"description_en-us": "Ampere per square meter",
"description_es": "Ampere per square meter",
"description_es": "Amperio por metro cuadrado.",
"description_fr": "Ampère par mètre carré",
"description_it": "Ampere per square meter",
"description_ja": "アンペア毎平方メートル",
@@ -334,7 +334,7 @@
"descriptionID": 77979,
"displayName_de": "A/m2",
"displayName_en-us": "A/m2",
"displayName_es": "A/m2",
"displayName_es": " A/m²",
"displayName_fr": "A/m2",
"displayName_it": "A/m2",
"displayName_ja": "A/m2",
@@ -347,7 +347,7 @@
"16": {
"description_de": "Ampere pro Meter",
"description_en-us": "Ampere per meter",
"description_es": "Ampere per meter",
"description_es": "Amperio por metro.",
"description_fr": "Ampère par mètre",
"description_it": "Ampere per meter",
"description_ja": "アンペア毎メートル",
@@ -357,7 +357,7 @@
"descriptionID": 77980,
"displayName_de": "A/m",
"displayName_en-us": "A/m",
"displayName_es": "A/m",
"displayName_es": " A/m",
"displayName_fr": "A/m",
"displayName_it": "A/m",
"displayName_ja": "A/m",
@@ -370,7 +370,7 @@
"17": {
"description_de": "Mol pro Kubikmeter",
"description_en-us": "Mole per cubic meter",
"description_es": "Mole per cubic meter",
"description_es": "Mole por metro cúbico.",
"description_fr": "Mole par mètre cubique",
"description_it": "Mole per cubic meter",
"description_ja": "モル毎立方メートル",
@@ -380,7 +380,7 @@
"descriptionID": 77981,
"displayName_de": "mol/m3",
"displayName_en-us": "mol/m3",
"displayName_es": "mol/m3",
"displayName_es": " mol/m³",
"displayName_fr": "mol/m³",
"displayName_it": "mol/m3",
"displayName_ja": "mol/m3",
@@ -393,7 +393,7 @@
"18": {
"description_de": "Candela pro Quadratmeter",
"description_en-us": "Candela per square meter",
"description_es": "Candela per square meter",
"description_es": "Candela por metro cuadrado.",
"description_fr": "Candela par mètre carré",
"description_it": "Candela per square meter",
"description_ja": "カンデラ毎平方メートル",
@@ -403,7 +403,7 @@
"descriptionID": 77982,
"displayName_de": "cd/m2",
"displayName_en-us": "cd/m2",
"displayName_es": "cd/m2",
"displayName_es": " cd/m²",
"displayName_fr": "cd/m2",
"displayName_it": "cd/m2",
"displayName_ja": "cd/m2",
@@ -416,7 +416,7 @@
"19": {
"description_de": "Kilogramm pro Kilogramm, was durch die Nummer 1 dargestellt werden kann",
"description_en-us": "Kilogram per kilogram, which may be represented by the number 1",
"description_es": "Kilogram per kilogram, which may be represented by the number 1",
"description_es": "Kilogramo por kilogramo, que puede representarse con el número 1.",
"description_fr": "Kilogramme par kilogramme, ce qui peut être représenté par le chiffre 1",
"description_it": "Kilogram per kilogram, which may be represented by the number 1",
"description_ja": "キログラム毎キログラム。数値 1 で表すことができます",
@@ -439,7 +439,7 @@
"101": {
"displayName_de": "s",
"displayName_en-us": "s",
"displayName_es": "s",
"displayName_es": " s",
"displayName_fr": "s",
"displayName_it": "s",
"displayName_ja": "s",
@@ -452,7 +452,7 @@
"102": {
"displayName_de": "mm",
"displayName_en-us": "mm",
"displayName_es": "mm",
"displayName_es": " mm",
"displayName_fr": "mm",
"displayName_it": "mm",
"displayName_ja": "mm",
@@ -468,7 +468,7 @@
"104": {
"description_de": "Zeigt an, dass die Einheit ein Multiplikator ist.",
"description_en-us": "Indicates that the unit is a multiplier.",
"description_es": "Indicates that the unit is a multiplier.",
"description_es": "Indica que la unidad es un multiplicador.",
"description_fr": "Indique que l'unité est un multiplicateur.",
"description_it": "Indicates that the unit is a multiplier.",
"description_ja": "乗数の単位を表します。",
@@ -478,7 +478,7 @@
"descriptionID": 77984,
"displayName_de": "x",
"displayName_en-us": "x",
"displayName_es": "x",
"displayName_es": " x",
"displayName_fr": "x",
"displayName_it": "x",
"displayName_ja": "x",
@@ -491,7 +491,7 @@
"105": {
"displayName_de": "%",
"displayName_en-us": "%",
"displayName_es": "%",
"displayName_es": " %",
"displayName_fr": "%",
"displayName_it": "%",
"displayName_ja": "%",
@@ -504,7 +504,7 @@
"106": {
"displayName_de": "tf",
"displayName_en-us": "tf",
"displayName_es": "tf",
"displayName_es": " tf",
"displayName_fr": "tf",
"displayName_it": "tf",
"displayName_ja": "tf",
@@ -517,7 +517,7 @@
"107": {
"displayName_de": "MW",
"displayName_en-us": "MW",
"displayName_es": "MW",
"displayName_es": " MW",
"displayName_fr": "MW",
"displayName_it": "MW",
"displayName_ja": "MW",
@@ -530,7 +530,7 @@
"108": {
"description_de": "Für Resistenzen verwendet.\r\n0,0 = 100%\r\n1,0 = 0%",
"description_en-us": "Used for resistance.\r\n0.0 = 100% 1.0 = 0%\r\n",
"description_es": "Used for resistance.\r\n0.0 = 100% 1.0 = 0%\r\n",
"description_es": "Se usa en la resistencia.\n\n0,0 = 100% 1,0 = 0%\n\n",
"description_fr": "Utilisé pour la résistance. 0,0 = 100% 1,0 = 0 %\n",
"description_it": "Used for resistance.\r\n0.0 = 100% 1.0 = 0%\r\n",
"description_ja": "抵抗で使用。\n0.0 = 100% 1.0 = 0%\r\n",
@@ -540,7 +540,7 @@
"descriptionID": 77985,
"displayName_de": "%",
"displayName_en-us": "%",
"displayName_es": "%",
"displayName_es": " %",
"displayName_fr": "%",
"displayName_it": "%",
"displayName_ja": "%",
@@ -553,7 +553,7 @@
"109": {
"description_de": "Für Multiplikatoren verwendet, um Prozent anzuzeigen.1,1 = +10%0,9 = -10%",
"description_en-us": "Used for multipliers displayed as %1.1 = +10%0.9 = -10%",
"description_es": "Used for multipliers displayed as %1.1 = +10%0.9 = -10%",
"description_es": "Se usa en los multiplicadores que se muestran como %1,1 = +10 %0,9 = -10 %.",
"description_fr": "Utilisé pour les multiplicateurs affichés en %. 1,1 = +10 %, 0,9 = -10 %",
"description_it": "Used for multipliers displayed as %1.1 = +10%0.9 = -10%",
"description_ja": "% として表示される乗数で使用1.1+10%、0.9-10%",
@@ -563,7 +563,7 @@
"descriptionID": 77986,
"displayName_de": "%",
"displayName_en-us": "%",
"displayName_es": "%",
"displayName_es": " %",
"displayName_fr": "%",
"displayName_it": "%",
"displayName_ja": "%",
@@ -576,7 +576,7 @@
"111": {
"description_de": "Für die Modifikation von Schadensresistenzen verwendet. Schadensresistenzbonus.\r\n0,1 = 90%\r\n0,9 = 10%",
"description_en-us": "Used to modify damage resistance. Damage resistance bonus.\r\n0.1 = 90%\r\n0.9 = 10%",
"description_es": "Used to modify damage resistance. Damage resistance bonus.\r\n0.1 = 90%\r\n0.9 = 10%",
"description_es": "Se usa para modificar la resistencia al daño. Bonificación de resistencia a daños.\n\n0,1 = 90 %.\n\n0,9 = 10 %.",
"description_fr": "Utilisé pour modifier la résistance aux dégâts. Bonus de résistance aux dégâts. 0,1 = 90% 0,9 = 10%",
"description_it": "Used to modify damage resistance. Damage resistance bonus.\r\n0.1 = 90%\r\n0.9 = 10%",
"description_ja": "ダメージレジスタンスを変更するときに使用。ダメージレジスタンスボーナス。\r\n0.1 = 90%\n0.9 = 0%",
@@ -586,7 +586,7 @@
"descriptionID": 77987,
"displayName_de": "%",
"displayName_en-us": "%",
"displayName_es": "%",
"displayName_es": " %",
"displayName_fr": "%",
"displayName_it": "%",
"displayName_ja": "%",
@@ -599,7 +599,7 @@
"112": {
"description_de": "Rotationsgeschwindigkeit.",
"description_en-us": "Rotation speed.",
"description_es": "Rotation speed.",
"description_es": "Velocidad de rotación.",
"description_fr": "Vitesse de rotation.",
"description_it": "Rotation speed.",
"description_ja": "回転速度。",
@@ -609,7 +609,7 @@
"descriptionID": 77988,
"displayName_de": "rad/s",
"displayName_en-us": "rad/sec",
"displayName_es": "rad/sec",
"displayName_es": " rad/s",
"displayName_fr": "rad/sec",
"displayName_it": "rad/sec",
"displayName_ja": "rad/sec",
@@ -622,7 +622,7 @@
"113": {
"displayName_de": "HP",
"displayName_en-us": "HP",
"displayName_es": "HP",
"displayName_es": " PV",
"displayName_fr": "PV",
"displayName_it": "HP",
"displayName_ja": "HP",
@@ -635,7 +635,7 @@
"114": {
"description_de": "Gigajoule",
"description_en-us": "Giga Joule",
"description_es": "Giga Joule",
"description_es": "Gigajulio.",
"description_fr": "Gigajoule",
"description_it": "Giga Joule",
"description_ja": "ギガジュール",
@@ -645,7 +645,7 @@
"descriptionID": 77989,
"displayName_de": "GJ",
"displayName_en-us": "GJ",
"displayName_es": "GJ",
"displayName_es": " GJ",
"displayName_fr": "GJ",
"displayName_it": "GJ",
"displayName_ja": "GJ",
@@ -684,7 +684,7 @@
"117": {
"description_de": "1=small 2=medium 3=large 4=x-large",
"description_en-us": "1=small 2=medium 3=large 4=x-large",
"description_es": "1=small 2=medium 3=large 4=x-large",
"description_es": "1=pequeño 2=mediano 3=grande 4=extragrande",
"description_fr": "1=small 2=medium 3=large 4=x-large",
"description_it": "1=small 2=medium 3=large 4=x-large",
"description_ja": "1=小型 2=中型 3=大型 4=超大型",
@@ -694,7 +694,7 @@
"descriptionID": 318074,
"displayName_de": "1=small 2=medium 3=l",
"displayName_en-us": "1=small 2=medium 3=l",
"displayName_es": "1=small 2=medium 3=l",
"displayName_es": "1=pequeño 2=mediano 3=grande",
"displayName_fr": "1 = petit 2 = intermédiaire 3 = l",
"displayName_it": "1=small 2=medium 3=l",
"displayName_ja": "1=小 2=中 3=大",
@@ -707,7 +707,7 @@
"118": {
"displayName_de": "Ore units",
"displayName_en-us": "Ore units",
"displayName_es": "Ore units",
"displayName_es": "Unidades de mena",
"displayName_fr": "Unités de minérai",
"displayName_it": "Ore units",
"displayName_ja": "鉱石ユニット",
@@ -733,7 +733,7 @@
"120": {
"displayName_de": "Punkte",
"displayName_en-us": "points",
"displayName_es": "points",
"displayName_es": "puntos",
"displayName_fr": "points",
"displayName_it": "points",
"displayName_ja": "ポイント",
@@ -746,7 +746,7 @@
"121": {
"description_de": "Für echte Prozentzahlen verwendet; die Zahl 5 ist beispielsweise 5%.",
"description_en-us": "Used for real percentages, i.e. the number 5 is 5%",
"description_es": "Used for real percentages, i.e. the number 5 is 5%",
"description_es": "Se usa en porcentajes reales. Por ejemplo, el número 5 es un 5 %.",
"description_fr": "Utilisé pour les pourcentages réels (ex. : le nombre 5 est 5 %)",
"description_it": "Used for real percentages, i.e. the number 5 is 5%",
"description_ja": "実際のパーセンテージで使用(数値 5 は 5%",
@@ -756,7 +756,7 @@
"descriptionID": 77990,
"displayName_de": "%",
"displayName_en-us": "%",
"displayName_es": "%",
"displayName_es": " %",
"displayName_fr": "%",
"displayName_it": "%",
"displayName_ja": "%",
@@ -772,7 +772,7 @@
"123": {
"description_de": "Zeigt Sekunden direkt an.",
"description_en-us": "Shows seconds directly",
"description_es": "Shows seconds directly",
"description_es": "Indica directamente los segundos.",
"description_fr": "Indique directement les secondes",
"description_it": "Shows seconds directly",
"description_ja": "秒を表します",
@@ -782,7 +782,7 @@
"descriptionID": 77991,
"displayName_de": "s",
"displayName_en-us": "sec",
"displayName_es": "sec",
"displayName_es": " s",
"displayName_fr": "sec",
"displayName_it": "sec",
"displayName_ja": "sec",
@@ -795,7 +795,7 @@
"124": {
"description_de": "Für relative Prozentzahlen verwendet, welche als % angezeigt werden.",
"description_en-us": "Used for relative percentages displayed as %",
"description_es": "Used for relative percentages displayed as %",
"description_es": "Se usa en los porcentajes relativos como %.",
"description_fr": "Utilisé pour les pourcentages relatifs affichés comme %",
"description_it": "Used for relative percentages displayed as %",
"description_ja": "% として表示される相対的なパーセンテージで使用",
@@ -805,7 +805,7 @@
"descriptionID": 77992,
"displayName_de": "%",
"displayName_en-us": "%",
"displayName_es": "%",
"displayName_es": " %",
"displayName_fr": "%",
"displayName_it": "%",
"displayName_ja": "%",
@@ -818,7 +818,7 @@
"125": {
"displayName_de": "N",
"displayName_en-us": "N",
"displayName_es": "N",
"displayName_es": " N",
"displayName_fr": "N",
"displayName_it": "N",
"displayName_ja": "N",
@@ -831,7 +831,7 @@
"126": {
"displayName_de": "Lj",
"displayName_en-us": "ly",
"displayName_es": "ly",
"displayName_es": "años luz",
"displayName_fr": "a.l.",
"displayName_it": "ly",
"displayName_ja": "ly",
@@ -844,7 +844,7 @@
"127": {
"description_de": "0,0 = 0%; 1,0 = 100%",
"description_en-us": "0.0 = 0% 1.0 = 100%",
"description_es": "0.0 = 0% 1.0 = 100%",
"description_es": "0,0 = 0% 1,0 = 100%",
"description_fr": "0,0 = 0% 1,0 = 100%",
"description_it": "0.0 = 0% 1.0 = 100%",
"description_ja": "0.0 = 0% 1.0 = 100%",
@@ -854,7 +854,7 @@
"descriptionID": 77993,
"displayName_de": "%",
"displayName_en-us": "%",
"displayName_es": "%",
"displayName_es": " %",
"displayName_fr": "%",
"displayName_it": "%",
"displayName_ja": "%",
@@ -867,7 +867,7 @@
"128": {
"description_de": "Megabit pro Sekunde",
"description_en-us": "Mega bits per second",
"description_es": "Mega bits per second",
"description_es": "Megabits por segundo.",
"description_fr": "Mégabits par seconde",
"description_it": "Mega bits per second",
"description_ja": "メガビット毎秒",
@@ -877,7 +877,7 @@
"descriptionID": 77994,
"displayName_de": "Mbit/s",
"displayName_en-us": "Mbit/sec",
"displayName_es": "Mbit/sec",
"displayName_es": "Mbit/s",
"displayName_fr": "Mbit/sec",
"displayName_it": "Mbit/sec",
"displayName_ja": "Mbit/sec",
@@ -890,7 +890,7 @@
"129": {
"description_de": "Stunden",
"description_en-us": "Hours",
"description_es": "Hours",
"description_es": "Horas.",
"description_fr": "Heures",
"description_it": "Hours",
"description_ja": "時間",
@@ -903,7 +903,7 @@
"133": {
"description_de": "ISK",
"description_en-us": "ISK",
"description_es": "ISK",
"description_es": "ISK.",
"description_fr": "ISK",
"description_it": "ISK",
"description_ja": "ISK",
@@ -913,7 +913,7 @@
"descriptionID": 77996,
"displayName_de": "ISK",
"displayName_en-us": "ISK",
"displayName_es": "ISK",
"displayName_es": " ISK",
"displayName_fr": "ISK",
"displayName_it": "ISK",
"displayName_ja": "ISK",
@@ -926,7 +926,7 @@
"134": {
"description_de": "Bandbreite für PI",
"description_en-us": "Bandwidth for PI",
"description_es": "Bandwidth for PI",
"description_es": "Ancho de banda para la IP.",
"description_fr": "Bande passante pour IP",
"description_it": "Bandwidth for PI",
"description_ja": "PI の帯域幅",
@@ -936,7 +936,7 @@
"descriptionID": 77997,
"displayName_de": "m3/Stunde",
"displayName_en-us": "m3/hour",
"displayName_es": "m3/hour",
"displayName_es": " /hora",
"displayName_fr": "m³/heure",
"displayName_it": "m3/hour",
"displayName_ja": "m3/hour",
@@ -949,7 +949,7 @@
"135": {
"description_de": "Für Entfernungen verwendet; 1 AE = Entfernung zwischen Erde und Sonne.",
"description_en-us": "Used to denote distance, 1AU = The distance from the Earth to the Sun.",
"description_es": "Used to denote distance, 1AU = The distance from the Earth to the Sun.",
"description_es": "Se usa para indicar distancias. 1 UA equivale a la distancia entre la Tierra y el Sol.",
"description_fr": "Utilisé pour indiquer la distance, 1 UA = la distance entre la Terre et le Soleil.",
"description_it": "Used to denote distance, 1AU = The distance from the Earth to the Sun.",
"description_ja": "距離を表すときに使用。1 AU = 地球から太陽までの距離。",
@@ -959,7 +959,7 @@
"descriptionID": 77998,
"displayName_de": "AE",
"displayName_en-us": "AU",
"displayName_es": "AU",
"displayName_es": " UA",
"displayName_fr": "UA",
"displayName_it": "AU",
"displayName_ja": "AU",
@@ -972,7 +972,7 @@
"136": {
"description_de": "Slotzahlen-Prefix für diverse Zwecke",
"description_en-us": "Slot number prefix for various purposes",
"description_es": "Slot number prefix for various purposes",
"description_es": "Prefijo del número de ranura para varios propósitos.",
"description_fr": "Préfixe d'emplacement utilisé dans diverses situations",
"description_it": "Slot number prefix for various purposes",
"description_ja": "汎用スロットの番号プレフィックス",
@@ -982,7 +982,7 @@
"descriptionID": 77999,
"displayName_de": "Slot",
"displayName_en-us": "Slot",
"displayName_es": "Slot",
"displayName_es": "Ranura",
"displayName_fr": "Emplacement",
"displayName_it": "Slot",
"displayName_ja": "スロット",
@@ -995,7 +995,7 @@
"137": {
"description_de": "Für die Darstellung Bool'scher Flaggen 1=True 0=False",
"description_en-us": "For displaying boolean flags 1=True 0=False",
"description_es": "For displaying boolean flags 1=True 0=False",
"description_es": "Para mostrar marcas binarias. 1=Verdadero, 0=Falso.",
"description_fr": "For displaying boolean flags 1=True 0=False",
"description_it": "For displaying boolean flags 1=True 0=False",
"description_ja": "ブール値フラグの表示",
@@ -1005,7 +1005,7 @@
"descriptionID": 78000,
"displayName_de": "1=True 0=False",
"displayName_en-us": "1=True 0=False",
"displayName_es": "1=True 0=False",
"displayName_es": "1=Verdadero 0=Falso",
"displayName_fr": "1 = vrai 0 = faux",
"displayName_it": "1=True 0=False",
"displayName_ja": "1=True 0=False",
@@ -1018,7 +1018,7 @@
"138": {
"description_de": "Einheiten von etwas, beispielsweise Treibstoff",
"description_en-us": "Units of something, for example fuel",
"description_es": "Units of something, for example fuel",
"description_es": "Unidades de algún elemento, como combustible.",
"description_fr": "Unités de quelque chose (ex. : de carburant)",
"description_it": "Units of something, for example fuel",
"description_ja": "何かの単位。例えば燃料など。",
@@ -1028,7 +1028,7 @@
"descriptionID": 78001,
"displayName_de": "Einheiten",
"displayName_en-us": "units",
"displayName_es": "units",
"displayName_es": "unidades",
"displayName_fr": "unités",
"displayName_it": "units",
"displayName_ja": "単位",
@@ -1041,7 +1041,7 @@
"139": {
"description_de": "Zwingt ein Plus-Zeichen für positive Werter",
"description_en-us": "Forces a plus sign for positive values",
"description_es": "Forces a plus sign for positive values",
"description_es": "Añade un signo más (+) a los valores positivos.",
"description_fr": "Force un signe plus pour les valeurs positives",
"description_it": "Forces a plus sign for positive values",
"description_ja": "正の値に+記号を強制",
@@ -1064,7 +1064,7 @@
"140": {
"description_de": "Für alles, was durch Stufen getrennt ist",
"description_en-us": "For anything which is divided by levels",
"description_es": "For anything which is divided by levels",
"description_es": "Para todo lo que se divida en niveles.",
"description_fr": "Pour tout ce qui est divisé en niveaux",
"description_it": "For anything which is divided by levels",
"description_ja": "レベルにより分けられているもの",
@@ -1074,7 +1074,7 @@
"descriptionID": 78003,
"displayName_de": "Stufe",
"displayName_en-us": "Level",
"displayName_es": "Level",
"displayName_es": "Nivel",
"displayName_fr": "Niveau",
"displayName_it": "Level",
"displayName_ja": "レベル",
@@ -1087,7 +1087,7 @@
"141": {
"description_de": "Für diverse Zählungen in Verbindung mit Geschützturm-, Werfer- und anderen Waffenmontageplätzen",
"description_en-us": "For various counts to do with turret, launcher and rig hardpoints",
"description_es": "For various counts to do with turret, launcher and rig hardpoints",
"description_es": "Se usa en varios conceptos relacionados con los puntos de montaje de torretas, lanzadores y complementos.",
"description_fr": "Pour diverses mesures liées aux points de fixation des tourelles, des lanceurs et des améliorations.",
"description_it": "For various counts to do with turret, launcher and rig hardpoints",
"description_ja": "タレット、ランチャー、およびリグハードポイントで行う多様なカウント",
@@ -1097,7 +1097,7 @@
"descriptionID": 78004,
"displayName_de": "Montageplätze",
"displayName_en-us": "hardpoints",
"displayName_es": "hardpoints",
"displayName_es": "puntos de montaje",
"displayName_fr": "points de fixation",
"displayName_it": "hardpoints",
"displayName_ja": "ハードポイント",
@@ -1110,7 +1110,7 @@
"142": {
"displayName_de": "0=Weiblich 1=Männlich 2=Geschlechtsneutral",
"displayName_en-us": "1=Male 2=Unisex 3=Female",
"displayName_es": "1=Male 2=Unisex 3=Female",
"displayName_es": "1=Hombre 2=Unisex 3=Mujer",
"displayName_fr": "1 = masculin 2 = unisexe 3 = féminin",
"displayName_it": "1=Male 2=Unisex 3=Female",
"displayName_ja": "1= 男性 2=ユニセックス 3=女性",
@@ -1123,7 +1123,7 @@
"143": {
"description_de": "Datum und Uhrzeit",
"description_en-us": "Date and time",
"description_es": "Date and time",
"description_es": "La fecha y la hora.",
"description_fr": "Date et heure",
"description_it": "Date and time",
"description_ja": "日時",
@@ -1136,7 +1136,7 @@
"144": {
"description_de": "AE pro Sekunde",
"description_en-us": "AU per second",
"description_es": "AU per second",
"description_es": "UA por segundo.",
"description_fr": "UA par seconde",
"description_it": "AU per second",
"description_ja": "天文単位毎秒",
@@ -1146,7 +1146,7 @@
"descriptionID": 561538,
"displayName_de": "AE/s",
"displayName_en-us": "AU/s",
"displayName_es": "AU/s",
"displayName_es": " UA/s",
"displayName_fr": "UA/s",
"displayName_it": "AU/s",
"displayName_ja": "AU/秒",
@@ -1159,7 +1159,7 @@
"205": {
"description_de": "Bei in % angezeigten Multiplikatoren bedeutet 10 +10 %, -10 -10 % und 3,6 +3,6 %",
"description_en-us": "Used for multipliers displayed as % 10 is +10% -10 is -10% 3.6 is +3.6%",
"description_es": "Used for multipliers displayed as % 10 is +10% -10 is -10% 3.6 is +3.6%",
"description_es": "Se usa en los multiplicadores que aparecen como %. 10 es +10 %; -10 es -10 %; 3,6 es +3,6 %.",
"description_fr": "Utilisé pour les multiplicateurs affichés en %. 10 correspond à +10 %, -10 à -10 %, 3,6 à +3,6 %",
"description_it": "Used for multipliers displayed as % 10 is +10% -10 is -10% 3.6 is +3.6%",
"description_ja": "% として表示される乗数で使用10+10%、-10-10%、3.6+3.6%",
@@ -1169,7 +1169,7 @@
"descriptionID": 592242,
"displayName_de": " %",
"displayName_en-us": "%",
"displayName_es": "%",
"displayName_es": " %",
"displayName_fr": " %",
"displayName_it": "%",
"displayName_ja": "%",

View File

@@ -6257,7 +6257,8 @@
40660,
40661,
40664,
40663
40663,
40662
],
"resultingType": 56312
}
@@ -6293,7 +6294,8 @@
40660,
40661,
40664,
40663
40663,
40662
],
"resultingType": 56312
}
@@ -6329,7 +6331,8 @@
40660,
40661,
40664,
40663
40663,
40662
],
"resultingType": 56312
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More