Toolchange with 4 nozzles driven by 4 servos that need different servoangles

Hi, made my own 4 nozzle printhead that allows to lift each nozzle +- 7mm so only the active one will hover directly over the print, whilst all others are out of reach for any plastics that may warp.

For all my previous 3in1 or 4to4 printheads (Printer runs Marlin 2 development branch) I just skipped any firmware toolchanging commands and definded all of them by help of gcode in Octoprint scripts. This always had been quite easy for after each T command the steps to be done were identical and were automatically assigned to the tool before and the tool after T - no matter what tool in detail was related.

Now there is a problem, cause to have minimal distance between the 4 nozzles the servos for nozzle 1 and 3 are located right from the lifting mechanism, for nozzle 2 and 4 they are located left. Nozzle 1 and 3 needs servo angle to be 0 to be print ready, Nozzle 2 and 4 needs servo angle 90 to be print ready.

So I need a way to make Octoprint tool change script before and after aware of the tool number to be swapped out and the tool number to be swapped in.

On my CNC Mill, driven by Mach 4, I´ve programmed a tool change script for M6 command, that can handle "currentTool" and "selectedTool", currend it the one before toolchange and selected the one to be swapped in. Any of about 999 different tool numbers can be assigned to them so it´s pretty easy to determine what´s to be done individually for each tool by help of good ol´ If-Then commands.

Any Idea to have multi M280 commands in octoprint tool changing scripts that are triggered by tool number?

Different firmware servo angles in marlin are available only for two servos, so there´s no change to handle it there. Too Marlin doesn´t know any M6.