public BattalionState GetWithModifiersApplied(IEnumerable <BattalionStateModifier> modifiers) { AttributesTable newAttributes = GetModifiedAttributes(attributes, modifiers); SelfModify(newAttributes); return(new BattalionState(Id, Position, newAttributes.AsReadonly(), EffectSources)); }