Add support for ihub system-wide effects
This commit is contained in:
@@ -63,11 +63,10 @@ class Effect100001(BaseEffect):
|
||||
|
||||
@staticmethod
|
||||
def handler(fit, beacon, context, projectionRange, **kwargs):
|
||||
for i in (1, 4):
|
||||
for i in range(1, 4):
|
||||
if id := beacon.getModifiedItemAttr(f'warfareBuff{i}ID'):
|
||||
value = beacon.getModifiedItemAttr(f'warfareBuff{i}Value')
|
||||
if id:
|
||||
fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')
|
||||
fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')
|
||||
|
||||
|
||||
class Effect4(BaseEffect):
|
||||
|
||||
@@ -66,8 +66,8 @@ class Module(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut, M
|
||||
"""An instance of this class represents a module together with its charge and modified attributes"""
|
||||
MINING_ATTRIBUTES = ("miningAmount",)
|
||||
SYSTEM_GROUPS = (
|
||||
"Effect Beacon", "MassiveEnvironments", "Abyssal Hazards",
|
||||
"Non-Interactable Object", "Destructible Effect Beacon")
|
||||
"Effect Beacon", "MassiveEnvironments", "Abyssal Hazards", "Non-Interactable Object",
|
||||
"Destructible Effect Beacon", "Sovereignty Hub System Effect Generator Upgrades")
|
||||
|
||||
def __init__(self, item, baseItem=None, mutaplasmid=None):
|
||||
"""Initialize a module from the program"""
|
||||
|
||||
@@ -128,6 +128,7 @@ class AddEnvironmentEffect(ContextMenuUnconditional):
|
||||
data.groups[_t('Pirate Insurgency')] = self.getEffectBeacons(
|
||||
_t('ContextMenu|ProjectedEffectManipulation|Insurgency'),
|
||||
extra_garbage=(_t('ContextMenu|ProjectedEffectManipulation|Beacon'),))
|
||||
data.groups[_t('IHub Upgrades')] = self.getIHubEffects()
|
||||
return data
|
||||
|
||||
def getEffectBeacons(self, *groups, extra_garbage=()):
|
||||
@@ -219,19 +220,6 @@ class AddEnvironmentEffect(ContextMenuUnconditional):
|
||||
subsubdata.items.append(Entry(beacon.ID, beacon.customName, beacon.customName))
|
||||
subdata.sort()
|
||||
|
||||
# PVP weather
|
||||
data.items.append(Entry(49766, _t('PvP Weather'), _t('PvP Weather')))
|
||||
|
||||
return data
|
||||
|
||||
def getDestructibleBeacons(self):
|
||||
data = Group()
|
||||
sMkt = Market.getInstance()
|
||||
for item in sMkt.getItemsByGroup(sMkt.getGroup('Destructible Effect Beacon')):
|
||||
if not item.isType('projected'):
|
||||
continue
|
||||
data.items.append(Entry(item.ID, item.name, item.name))
|
||||
data.sort()
|
||||
return data
|
||||
|
||||
def getDrifterIncursion(self):
|
||||
@@ -242,7 +230,7 @@ class AddEnvironmentEffect(ContextMenuUnconditional):
|
||||
return data
|
||||
|
||||
def getInvasionBeacons(self):
|
||||
data = self.getDestructibleBeacons()
|
||||
data = Group()
|
||||
# Trig Minor Victory
|
||||
item = Market.getInstance().getItem(87177)
|
||||
data.items.append(Entry(item.ID, item.name, item.name))
|
||||
@@ -254,11 +242,20 @@ 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))
|
||||
def getIHubEffects(self):
|
||||
data = Group()
|
||||
# Electric
|
||||
item = Market.getInstance().getItem(87950)
|
||||
data.items.append(Entry(item.ID, item.name, _t('Electric')))
|
||||
# Plasma
|
||||
item = Market.getInstance().getItem(87949)
|
||||
data.items.append(Entry(item.ID, item.name, _t('Plasma')))
|
||||
# Exotic
|
||||
item = Market.getInstance().getItem(87951)
|
||||
data.items.append(Entry(item.ID, item.name, _t('Exotic')))
|
||||
# Gamma
|
||||
item = Market.getInstance().getItem(87815)
|
||||
data.items.append(Entry(item.ID, item.name, _t('Gamma')))
|
||||
return data
|
||||
|
||||
AddEnvironmentEffect.register()
|
||||
|
||||
Reference in New Issue
Block a user