Well trying to do it in Legion is a bit silly.
I've been working on this for a while, but I'm missing some MP pieces to pull it off decently even on a Mithra MP pool. You have just two sets involved:
EntropyImpact (equips twilight cloak, mp gear, INT, no head)
Impact (still twilight cloak, MP gear, elemental gear)
Note that this won't affect your existing Entropy set, and you only need a macro for Impact.
Pseudocode:
Code
If spell Impact and mp < 666 and tp > 100
equip entropyimpact
raw input entropy
changespell Stone 6
elseif spell impact and mp > 666
equip precast Impact
else
cancelspell
Equip TP/idle
echo 'Not enough MP or TP'
if spell stone 6
windower script: cast fire 6 in 2.5 seconds
cancelspell
echo 'Performing Entropy for Impact MP'
if spell fire 6 and mp > 666
input impact
else
cancelspell
Equip TP/idle
echo 'Failed to get enough MP'
There's a lot of loop protection in it. Notice that impact determines what gear it goes to by MP and TP, then
raw inputs entropy after putting on the special set so it won't do any other swapping (but you don't have to tool with locking or variables) before changing to a proxy spell and chilling out for 2.5 seconds before rechecking MP on another proxy spell and attempting to cast impact again.
It uses two different proxy spells for a bit more verbosity when something goes wrong (easier to tell what 'stage' it failed at). The external windower script is as simple as '/wait 2.5; input /ma "Fire VI" <t>'
In all actuality, you'd sub SCH to Dark Arts it. This also lowers your MP cost a bit.