Playing with the cap simulator, I noticed that turrets of the same type
stack and have staggering applied when running through the cap
simulator. This is not realistic behaviour as most (all?) pilots will
have grouped their turrets in-game, meaning they will all activate
simultaneously rather than activating individually, offset from
each other.
This change introduces a 'disable stagger' field to the drain tuple that
is passed through to the cap simulator, allowing us to disable
staggering on certain modules. This will enable us to add GUI options in the
future to allow users to choose whether to stagger certain modules (eg,
cap boosters, neuts) or have them all fire simultaneously. Currently
this defaults to False (existing behavior) for all modules except for
turrets, which will now behave more like in-game turrets for cap
simulation purposes.
- Added logging and replaced Timer class with more useful one
- Move projected fit loop out of runtimes
- Eliminate recursions from Fit.clear()
- Clean up overall fit calc logic
Missile launchers do not have a "capacitorNeed" attribute (while other
capless weapon systems do), so getModifiedItemAttr will return None
rather than 0. Added a check for this.
Todo: A few exceptions are thrown when trying to remove mode via double click, spawn context menu, move to a different position, etc. All simply because Mode is not a Module. Will need to add try-except blocks to cover these instances
Also decided to have two separate functions that return the mode items as Items or Modes. Returning them as Items makes it easier to check if provided modeID from user database is valid (since we cannot easily map the modeID to create a Mode), returning as Modes allows us to easily use them for setters. There's probably a better way to do this, but w/e
* Modifies fits table to add "mode" column, which contains typeID of mode for fit
* Introduces Mode type, similar to Ship and Module type
* Includes effects for Amarr Tactical Destroyer Propulsion Mode
Still a lot to do: GUI switching, constraints on which ships get modes, etc