Oooooooh MATRON!! (You have to be old enough to know the British "Carry On" films...)
Great guide thank you Matron and others.
I'm sharing my macros here which incorporate the changes made from these suggestions. This way others will hopefully not have to struggle through all the problems which I encountered on my way - and I'm a programmer
Notably, this would all be a lot easier if there was a hotkey to add the contents of a bag to the use once agent or if you could do this while recording the macro but just running the agent manually but no... it doesn't work like that.
I have another toon healing me with bandaids to keep the cost down and to keep speed to a maximum. If you are healing yourself that will work fine but you will have to add that to the bottom of the macro where the wait for hit points is. Note though that this will slow you down considerably due to the delay in bandaging yourself (15 seconds) or making cure and heal potions or attempting magery both of which will increase the price of your work but not much as you will rarely get poisoned. To give you an example, I have been running my macro almost 24 hours and my healer has used only 94 bandaids.
I started at 50/50 alchemy/poisoning and made normal poison up to 70 poisoning in fact as I didn't notice the macro had passed 68. It didn't take long and didn't cost much. I then switched to greater poison at alchemy 65 poison 70. WARNING: At this point I am using at least 1700 'Shade per hour which is quite painful
In about 8 hours overnight I went from 65/70 above to 87/81
Almost 24 hours in (I started at server up) I am now at 90.1 alchemy, 85.3 poisoning.
Shop bought mortars don't last long at all so I got my tinker to make some exceptionals and chucked 40 into a bag. These have lasted me a long time now and I suspect they will make the 24 hour mark with no problems.
Before you start you will need to set up your Razor Counters for Nightshade if it is not already there, and Green Potions which won't be. So make any green potion you like, lesser or normal doesn't matter because the counter just works with things use the same image. Once in your pack, on the Display/Counters tab click Add then in the new "Add a Counter" window, click Target and target your green potion. Type Poison in the Name field and pp in the Format field. The idem ID will have been entered for you by the target button. Tick "Display image in titlebar" to get a live count. Click OK. You need to do this or the poison counter in the macro won't work.
OK then so here are my macros. Firstly in the form you see in Razor with some notes to show you which bits you need to retarget for your own pile of reagents etc.
After that is the raw macro code which you will need to copy and paste into a text editor and then save with the .macro file extension in a macro folder called "Alchemy" within your normal macro folder. I have folders for different groups of macros in order to keep things tidy. If you don't do this you will need to change the file path in the macro. You will need to do this first, then load up your alchemist toon and edit the macros in Razor.
Note that you will need to start with a pile of 25 empty bottles. The macro switches to poisoning when you have made 15 potions but there will still be a load of mortars going and I sometimes ended up with 22 poison potions so 25 bottles not 20. You will also need a pile of 200 Nightshade in your inventory and a seriously huge pile in your bank or in a container in your house. The macro reloads nightshade regularly using the Restock Agent. I use number 3 for this purely because I already use 1 and 2 for something else.
Make Poison Potion macro: notes on the right hand side
Code: Select all
lf(Hits >= 100) Change this to whatever your max hit points is
lf("Poison count" <= 15) Make 15 because a few will be queued up in pestles.
If ("Nightshade count" <= 150
Exec: Restock Agent-3 Change to whichever agent you set up to load 200 nightshade
Absolute Target You will need to retarget this to your reagent stock bag
End If
Exec: Add to UseOnce We use the UseOnce agent here because use by type
Target by Type mortar and pestle pestle&mortar will often re-use one already in use
Exec: Use Once Agent
Wait for Target
Absolute Target Retarget this to your pile of Nighshade in your inventory
Wait for Menu (Any)
Menu Response 2 Change this to 3 for greater poison at 68 poisoning (65 alch)
Pause .20sec
Else
Exec: Play: Alchemy\PoisonWeap This runs your poisoning macro when enough potions exist
End If
Wait for Hits >= 100 Change this to your max hit points or enter your healing code here
End If
And now the Poison Weapon macro:
Code: Select all
if(Hits >= 100) Change this to your maximum hit points
if ("Poison count" >= 1)
UseSkill Poisoning
Wait for Target
Target by Type Green Potion (0F0A)
Wait for Target
Absolute Target Retarget this to whatever single blade you have
Pause 1 .00sec
Else
Exec: Play: Alchemy\MakePoison When out of poison pots, go off and make some more
End if
Else
Wait for Hits >= 100 Change this to your maximum hit points or put your cure/heal
End If code in here
And here are the two actual macro code files:
Alchemy/MakePoison.macro
Code: Select all
!Loop
Assistant.Macros.IfAction|0|1|100
Assistant.Macros.IfAction|50|0|15|Poison
Assistant.Macros.IfAction|50|0|150|Nightshade
Assistant.Macros.HotKeyAction|0|Restock Agent-3
Assistant.Macros.AbsoluteTargetAction|0|0|1075380431|19|147|0|3702
Assistant.Macros.EndIfAction
Assistant.Macros.HotKeyAction|1394|
Assistant.Macros.TargetTypeAction|False|3739
Assistant.Macros.HotKeyAction|1150|
Assistant.Macros.WaitForTargetAction|2
Assistant.Macros.AbsoluteTargetAction|0|0|1086285886|93|75|0|3976
Assistant.Macros.WaitForMenuAction|0|15
Assistant.Macros.MenuResponseAction|3|3850|0
Assistant.Macros.PauseAction|00:00:00.2000000
Assistant.Macros.ElseAction
Assistant.Macros.HotKeyAction|0|Play: Alchemy\PoisonWeap
Assistant.Macros.EndIfAction
Assistant.Macros.WaitForStatAction|0|1|100|3600
Assistant.Macros.EndIfAction
Alchemy/PoisonWeap.macro
Code: Select all
!Loop
Assistant.Macros.IfAction|0|1|100
Assistant.Macros.IfAction|50|1|1|Poison
Assistant.Macros.UseSkillAction|30
Assistant.Macros.WaitForTargetAction|1
Assistant.Macros.TargetTypeAction|False|3850
Assistant.Macros.WaitForTargetAction|15
Assistant.Macros.AbsoluteTargetAction|0|0|1075026345|100|102|0|3780
Assistant.Macros.PauseAction|00:00:10.1500000
Assistant.Macros.ElseAction
Assistant.Macros.HotKeyAction|0|Play: Alchemy\MakePoison
Assistant.Macros.EndIfAction
Assistant.Macros.ElseAction
Assistant.Macros.WaitForStatAction|0|1|100|3600
Assistant.Macros.EndIfAction
I hope this helps someone!
Please let me know if I've missed or mis-typed something so that I can correct it, but these are my actual macros which work provided I've copy and pasted from the current file
Good luck
Fireball
Guildmaster, BiH