Related to fleet service updates
This commit is contained in:
2
eos
2
eos
Submodule eos updated: c144786682...2b80b0321f
@@ -78,6 +78,7 @@ class Fit(object):
|
||||
def __init__(self):
|
||||
self.pattern = DamagePattern.getInstance().getDamagePattern("Uniform")
|
||||
self.character = Character.getInstance().all0()
|
||||
self.dirtyFitIDs = set()
|
||||
|
||||
def getAllFits(self):
|
||||
fits = eos.db.getFitList()
|
||||
@@ -651,4 +652,4 @@ class Fit(object):
|
||||
|
||||
def recalc(self, fit, withBoosters=False):
|
||||
fit.clear()
|
||||
fit.calculateModifiedAttributes(withBoosters=withBoosters)
|
||||
fit.calculateModifiedAttributes(withBoosters=withBoosters, dirtyStorage=self.dirtyFitIDs)
|
||||
|
||||
@@ -88,11 +88,17 @@ class Fleet(object):
|
||||
self.makeLinearFleet(boostee)
|
||||
squadIDs = set(eos.db.getSquadsIDsWithFitID(boostee.ID))
|
||||
squad = eos.db.getSquad(squadIDs.pop())
|
||||
if squad.wing.gang.leader is not None and booster is None:
|
||||
try:
|
||||
squad.wing.gang.leader.boostsFits.remove(boostee.ID)
|
||||
except KeyError:
|
||||
pass
|
||||
squad.wing.gang.leader = booster
|
||||
if self.anyBoosters(squad):
|
||||
squad.wing.gang.recalculateLinear()
|
||||
else:
|
||||
if self.anyBoosters(squad) is False:
|
||||
self.removeAssociatedFleetData(boostee)
|
||||
from service.fit import Fit
|
||||
sFit = Fit.getInstance()
|
||||
sFit.recalc(boostee, withBoosters=True)
|
||||
|
||||
def setLinearWingCom(self, boostee, booster):
|
||||
if boostee == booster:
|
||||
@@ -102,11 +108,17 @@ class Fleet(object):
|
||||
self.makeLinearFleet(boostee)
|
||||
squadIDs = set(eos.db.getSquadsIDsWithFitID(boostee.ID))
|
||||
squad = eos.db.getSquad(squadIDs.pop())
|
||||
if squad.wing.leader is not None and booster is None:
|
||||
try:
|
||||
squad.wing.leader.boostsFits.remove(boostee.ID)
|
||||
except KeyError:
|
||||
pass
|
||||
squad.wing.leader = booster
|
||||
if self.anyBoosters(squad):
|
||||
squad.wing.gang.recalculateLinear()
|
||||
else:
|
||||
if self.anyBoosters(squad) is False:
|
||||
self.removeAssociatedFleetData(boostee)
|
||||
from service.fit import Fit
|
||||
sFit = Fit.getInstance()
|
||||
sFit.recalc(boostee, withBoosters=True)
|
||||
|
||||
def setLinearSquadCom(self, boostee, booster):
|
||||
if boostee == booster:
|
||||
@@ -116,11 +128,18 @@ class Fleet(object):
|
||||
self.makeLinearFleet(boostee)
|
||||
squadIDs = set(eos.db.getSquadsIDsWithFitID(boostee.ID))
|
||||
squad = eos.db.getSquad(squadIDs.pop())
|
||||
if squad.leader is not None and booster is None:
|
||||
try:
|
||||
squad.leader.boostsFits.remove(boostee.ID)
|
||||
except KeyError:
|
||||
pass
|
||||
squad.leader = booster
|
||||
if self.anyBoosters(squad):
|
||||
squad.wing.gang.recalculateLinear()
|
||||
else:
|
||||
if self.anyBoosters(squad) is False:
|
||||
self.removeAssociatedFleetData(boostee)
|
||||
from service.fit import Fit
|
||||
sFit = Fit.getInstance()
|
||||
sFit.recalc(boostee, withBoosters=True)
|
||||
|
||||
|
||||
def getLinearFleet(self, fit):
|
||||
sqIDs = eos.db.getSquadsIDsWithFitID(fit.ID)
|
||||
@@ -154,12 +173,27 @@ class Fleet(object):
|
||||
squadIDs.add(squad.ID)
|
||||
for squadID in squadIDs:
|
||||
squad = eos.db.getSquad(squadID)
|
||||
if squad.leader is not None:
|
||||
try:
|
||||
squad.leader.boostsFits.remove(fit.ID)
|
||||
except KeyError:
|
||||
pass
|
||||
eos.db.remove(squad)
|
||||
for wingID in wingIDs:
|
||||
wing = eos.db.getWing(wingID)
|
||||
if wing.leader is not None:
|
||||
try:
|
||||
wing.leader.boostsFits.remove(fit.ID)
|
||||
except KeyError:
|
||||
pass
|
||||
eos.db.remove(wing)
|
||||
for fleetID in fleetIDs:
|
||||
fleet = eos.db.getFleet(fleetID)
|
||||
if fleet.leader is not None:
|
||||
try:
|
||||
fleet.leader.boostsFits.remove(fit.ID)
|
||||
except KeyError:
|
||||
pass
|
||||
eos.db.remove(fleet)
|
||||
fit.fleet = None
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user