From 9e06106a1c40ad31b5c481b1e8035df044ea4c47 Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Sat, 12 Mar 2022 13:49:18 +0300 Subject: [PATCH] Save & restore RAH-specific damage pattern through do-undo actions --- gui/fitCommands/helpers.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/gui/fitCommands/helpers.py b/gui/fitCommands/helpers.py index e01037e64..58a48b935 100644 --- a/gui/fitCommands/helpers.py +++ b/gui/fitCommands/helpers.py @@ -58,7 +58,9 @@ class InternalCommandHistory: class ModuleInfo: - def __init__(self, itemID, baseItemID=None, mutaplasmidID=None, mutations=None, chargeID=None, state=None, spoolType=None, spoolAmount=None): + def __init__( + self, itemID, baseItemID=None, mutaplasmidID=None, mutations=None, chargeID=None, + state=None, spoolType=None, spoolAmount=None, rahPattern=None): self.itemID = itemID self.baseItemID = baseItemID self.mutaplasmidID = mutaplasmidID @@ -67,6 +69,7 @@ class ModuleInfo: self.state = state self.spoolType = spoolType self.spoolAmount = spoolAmount + self.rahPattern = rahPattern @classmethod def fromModule(cls, mod, unmutate=False): @@ -81,7 +84,8 @@ class ModuleInfo: chargeID=mod.chargeID, state=mod.state, spoolType=mod.spoolType, - spoolAmount=mod.spoolAmount) + spoolAmount=mod.spoolAmount, + rahPattern=mod.rahPatternOverride) else: info = cls( itemID=mod.itemID, @@ -91,7 +95,8 @@ class ModuleInfo: chargeID=mod.chargeID, state=mod.state, spoolType=mod.spoolType, - spoolAmount=mod.spoolAmount) + spoolAmount=mod.spoolAmount, + rahPattern=mod.rahPatternOverride) return info def toModule(self, fallbackState=None): @@ -119,6 +124,8 @@ class ModuleInfo: mod.spoolType = self.spoolType mod.spoolAmount = self.spoolAmount + mod.rahPatternOverride = self.rahPattern + if self.state is not None: if mod.isValidState(self.state): mod.state = self.state @@ -148,12 +155,13 @@ class ModuleInfo: self.chargeID == other.chargeID, self.state == other.state, self.spoolType == other.spoolType, - self.spoolAmount == other.spoolAmount)) + self.spoolAmount == other.spoolAmount, + self.rahPattern == other.rahPattern)) def __repr__(self): return makeReprStr(self, [ 'itemID', 'baseItemID', 'mutaplasmidID', 'mutations', - 'chargeID', 'state', 'spoolType', 'spoolAmount']) + 'chargeID', 'state', 'spoolType', 'spoolAmount', 'rahPattern']) class DroneInfo: