Magic Training *KS* (script): Difference between revisions
m (minor exp check bugfix) |
(added functionality to force specific magic skill training before cycling spells if started with appropriate variable) |
||
(8 intermediate revisions by the same user not shown) | |||
Line 9: | Line 9: | ||
Once you've set it up with which spells to cast, and for how much mana, it will then cycle through casting the three chosen spells. Before it prepares each spell it does a quick exp check to verify if it needs to cast this spell or if it should move to the next spell in the cycle. All three magic skills are trained as uniformly as possible, rather than train one skill at a time. |
Once you've set it up with which spells to cast, and for how much mana, it will then cycle through casting the three chosen spells. Before it prepares each spell it does a quick exp check to verify if it needs to cast this spell or if it should move to the next spell in the cycle. All three magic skills are trained as uniformly as possible, rather than train one skill at a time. |
||
You may start it using a magic skill as a variable (".magic ''ward''" or ".magic ''utility''") to force it to train the declared magic skill all the way to mind lock before cycling through the other skills. |
|||
⚫ | |||
⚫ | |||
Note: unfortunately, if a spell backfires, the script does not detect it yet. I intend to work on that in the future. |
Note: unfortunately, if a spell backfires, the script does not detect it yet. I intend to work on that in the future. |
||
Line 23: | Line 25: | ||
==Keeping it up-to-date== |
==Keeping it up-to-date== |
||
'''Last Updated: |
'''Last Updated: 6-3-2019:''' |
||
* added functionality to force training of one skill all the way to mind lock before beginning on other magic skills. |
|||
* made 'release spell' always clear camb, rather than just release the spell - should reduce backfire chances when script continues after a mana break. |
|||
* Script created and added to the Elanthipedia |
* Script created and added to the Elanthipedia |
||
* May or may not work for Necromancers - when preparing the spell it looks for specific messaging that changes according to one's guild.. and I don't have that for necros. |
* May or may not work for Necromancers - when preparing the spell it looks for specific messaging that changes according to one's guild.. and I don't have that for necros. |
||
Line 59: | Line 63: | ||
setvariable AUGBattle no |
setvariable AUGBattle no |
||
setvariable UTILBattle no |
setvariable UTILBattle no |
||
setvariable WARDBattle |
setvariable WARDBattle no |
||
# Augmentation: |
# Augmentation: |
||
setvariable AUGSpell auspice |
setvariable AUGSpell auspice |
||
setvariable AUGMana 17 |
setvariable AUGMana 17 |
||
setvariable AUGCamb1 |
setvariable AUGCamb1 15 |
||
setvariable AUGCamb2 15 |
setvariable AUGCamb2 15 |
||
# Utility: |
# Utility: |
||
Line 74: | Line 78: | ||
setvariable WARDSpell pfe |
setvariable WARDSpell pfe |
||
setvariable WARDMana 15 |
setvariable WARDMana 15 |
||
setvariable WARDCamb1 |
setvariable WARDCamb1 12 |
||
setvariable WARDCamb2 |
setvariable WARDCamb2 12 |
||
#DONE SETTING VARIABLES - SCRIPT BEGINS HERE |
|||
goto GetCamb%CAMBRemove |
goto GetCamb%CAMBRemove |
||
Line 91: | Line 97: | ||
Start: |
Start: |
||
echo |
|||
echo **************************************** |
|||
echo *** To train just one skill before starting on any of the others |
|||
echo *** restart script with one of the following options: |
|||
echo |
|||
echo *** (1) Augment, (2) Utility, or (3) Warding |
|||
echo *************************************** |
|||
echo |
|||
pause 2 |
|||
setvariable ONLY All |
|||
goto AUGPrep |
|||
StartAug: |
StartAug: |
||
StartAugment: |
StartAugment: |
||
StartAugmentation: |
|||
setvariable ONLY Augment |
|||
PrepAugment: |
|||
PrepAugmentation: |
|||
goto AUGPrep |
|||
AUGPrep: |
AUGPrep: |
||
put exp augment |
put exp augment |
||
Line 105: | Line 130: | ||
put prep %AUGSpell %AUGMana |
put prep %AUGSpell %AUGMana |
||
match AUGPrep ...wait |
match AUGPrep ...wait |
||
match StrainRelease strain |
|||
match AUGCharge you raise your arms |
match AUGCharge you raise your arms |
||
match AUGCharge you trace a geometric |
match AUGCharge you trace a geometric |
||
Line 154: | Line 180: | ||
AUGInvoke1: |
AUGInvoke1: |
||
AUGCast: |
AUGCast: |
||
setvariable NEXT Utility |
|||
waitfor fully prepared to cast your |
waitfor fully prepared to cast your |
||
put cast |
put cast |
||
Line 159: | Line 186: | ||
match AUGCastwait ...wait |
match AUGCastwait ...wait |
||
match Ugh but are too mentally fatigued |
match Ugh but are too mentally fatigued |
||
match |
match NextPrep You gesture |
||
matchwait |
matchwait |
||
NextPrep: |
|||
goto Prep%ONLY |
|||
Prep: |
|||
PrepAll: |
|||
goto Prep%NEXT |
|||
StartUt: |
StartUt: |
||
StartUtil: |
StartUtil: |
||
StartUtility: |
StartUtility: |
||
setvariable ONLY Utility |
|||
PrepUtility: |
|||
UTILPrep: |
UTILPrep: |
||
put exp utility |
put exp utility |
||
Line 177: | Line 214: | ||
put prep %UTILITYSpell %UTILMana |
put prep %UTILITYSpell %UTILMana |
||
match UTILPrep ...wait |
match UTILPrep ...wait |
||
match StrainRelease strain |
|||
match UTILCharge you raise your arms |
match UTILCharge you raise your arms |
||
match UTILCharge you trace a geometric |
match UTILCharge you trace a geometric |
||
Line 226: | Line 264: | ||
UTILInvoke1: |
UTILInvoke1: |
||
UTILCast: |
UTILCast: |
||
setvariable NEXT Warding |
|||
waitfor fully prepared to cast your |
waitfor fully prepared to cast your |
||
put cast |
put cast |
||
Line 231: | Line 270: | ||
match UTILCastwait ...wait |
match UTILCastwait ...wait |
||
match Ugh but are too mentally fatigued |
match Ugh but are too mentally fatigued |
||
match |
match NextPrep You gesture |
||
matchwait |
matchwait |
||
StartWard: |
StartWard: |
||
StartWarding: |
StartWarding: |
||
setvariable ONLY Warding |
|||
PrepWarding: |
|||
WARDPrep: |
WARDPrep: |
||
put exp warding |
put exp warding |
||
Line 248: | Line 290: | ||
put prep %WARDSpell %WARDMana |
put prep %WARDSpell %WARDMana |
||
match WARDPrep ...wait |
match WARDPrep ...wait |
||
match StrainRelease strain |
|||
match WARDCharge you raise your arms |
match WARDCharge you raise your arms |
||
match WARDCharge you trace a geometric |
match WARDCharge you trace a geometric |
||
Line 297: | Line 340: | ||
WARDInvoke1: |
WARDInvoke1: |
||
WARDCast: |
WARDCast: |
||
setvariable NEXT Augment |
|||
waitfor fully prepared to cast your |
waitfor fully prepared to cast your |
||
put cast |
put cast |
||
Line 304: | Line 348: | ||
match ExpCheck You gesture |
match ExpCheck You gesture |
||
matchwait |
matchwait |
||
AUGCastwait: |
AUGCastwait: |
||
pause 1 |
pause 1 |
||
Line 317: | Line 362: | ||
ExpCheck: |
ExpCheck: |
||
goto EXPOnly%ONLY |
|||
EXPOnlyall: |
|||
EXPOnlyAugment: |
|||
put exp augment |
put exp augment |
||
match CheckUtility 33/34 |
match CheckUtility 33/34 |
||
Line 324: | Line 372: | ||
CheckUtility: |
CheckUtility: |
||
EXPOnlyUtility: |
|||
put exp utility |
put exp utility |
||
match CheckWarding 33/34 |
match CheckWarding 33/34 |
||
Line 331: | Line 380: | ||
CheckWarding: |
CheckWarding: |
||
EXPOnlyWarding: |
|||
put exp ward |
put exp ward |
||
match Done 33/34 |
match Done 33/34 |
||
Line 362: | Line 412: | ||
Ugh: |
Ugh: |
||
setvariable UGHWait yes |
|||
setvariableUGHWait yes |
|||
goto UGHSpell |
goto UGHSpell |
||
Line 387: | Line 437: | ||
put cast |
put cast |
||
goto UGHWait%UGHWait |
goto UGHWait%UGHWait |
||
StrainRelease: |
|||
pause 2 |
|||
put rel spel |
|||
goto UGHSpell |
|||
UGHWaitYes: |
UGHWaitYes: |
||
Line 393: | Line 448: | ||
UGHWaitNo: |
UGHWaitNo: |
||
goto |
goto Prep%SPELL |
||
WearCambyes: |
WearCambyes: |
Latest revision as of 01:54, 3 June 2019
Magic Training *KS* (script) | |
---|---|
Category | Magic |
Front-end | StormFront |
Author | Kashna |
What This Script Does
This script trains Augmentation, Utility and Warding magics until they are mind locked. The first page of the script is designed for you to input the variables relevant to your character's cambrinth use, spell choices, and mana to utilize.
Once you've set it up with which spells to cast, and for how much mana, it will then cycle through casting the three chosen spells. Before it prepares each spell it does a quick exp check to verify if it needs to cast this spell or if it should move to the next spell in the cycle. All three magic skills are trained as uniformly as possible, rather than train one skill at a time.
You may start it using a magic skill as a variable (".magic ward" or ".magic utility") to force it to train the declared magic skill all the way to mind lock before cycling through the other skills.
It is designed to be as universal as possible, but isn't fit for all guilds (not built to include necros due to my being unfamiliar with their casting gestures).
Note: unfortunately, if a spell backfires, the script does not detect it yet. I intend to work on that in the future.
Options
1. Do you wish to use 1 cambrinth item or 2?
- You also define how to interact with the cambrinth that you are going to use. This script assumes that your cambrinth is worn and there is an option to remove/wear it or not as necessary. If it is not worn, you can manually edit the script fairly easily at the top and bottom.
2. What is your easiest spell to cast?
- If you strain to cast, or to charge a cambrinth, there's a release built in to drain cambrinth of mana so that you don't backfire on your next cast, but we have to define which spell to use to drain the mana.
3. What spell do you wish to use to train each of the three magic skills?
- After defining the spells to use, you also state how much mana to prepare the spell for, and how much to charge each cambrinth for.
4. Lastly, I discovered that battle spells do not permit enough time to charge more than one cambrinth. As a result, you must tell the script if any of the spells are battle spells or not. If one IS a battle spell, then that spell will ignore the 2nd cambrinth and only utilize the the first cambrinth defined.
Keeping it up-to-date
Last Updated: 6-3-2019:
- added functionality to force training of one skill all the way to mind lock before beginning on other magic skills.
- made 'release spell' always clear camb, rather than just release the spell - should reduce backfire chances when script continues after a mana break.
- Script created and added to the Elanthipedia
- May or may not work for Necromancers - when preparing the spell it looks for specific messaging that changes according to one's guild.. and I don't have that for necros.
Magic (Script)
# Do you want to use 1 or 2 cambrinth items? setvariable CAMBTotal 2 # What is the description of your first cambrinth? setvariable CAMB1Desc cambrinth setvariable CAMB1Item armband # What is the description of your second cambrinth? setvariable CAMB2Desc cambrinth setvariable CAMB2Item wristc # This script assumes that cambrinth is worn. Must your cambrinth be removed or no? Respond with "yes" or "no" setvariable CAMBRemove no # To clear cambrinth of mana (in case of strain/low mana) # this script uses an easy-to-cast-spell, pauses for a time # then continues the loop. # What is the easiest spell in your spellbook to cast? setvariable MyEasiestSpell bless # Use the following sets of variables to determine # which spells to cast as the mana used. # If only using 1 cambrinth, you may leave the second blank # Note: Battle Spells may only use 1 cambrinth # Otherwise roundtimes are too long. Note here # if any of the spells used are Battle Spells (yes/no) # If yes, then only Camb1 will be used for that spell setvariable AUGBattle no setvariable UTILBattle no setvariable WARDBattle no # Augmentation: setvariable AUGSpell auspice setvariable AUGMana 17 setvariable AUGCamb1 15 setvariable AUGCamb2 15 # Utility: setvariable UTILITYSpell dr setvariable UTILMana 11 setvariable UTILCamb1 10 setvariable UTILCamb2 10 # Warding: setvariable WARDSpell pfe setvariable WARDMana 15 setvariable WARDCamb1 12 setvariable WARDCamb2 12 #DONE SETTING VARIABLES - SCRIPT BEGINS HERE goto GetCamb%CAMBRemove GetCambYes: put remove my %CAMB1Desc %CAMB1Item goto RemoveSecondCamb%CAMBTotal RemoveSecondCamb2: put remove my %CAMB2Desc %CAMB2Item RemoveSecondCamb1: GetCambNo: goto Start%1 Start: echo echo **************************************** echo *** To train just one skill before starting on any of the others echo *** restart script with one of the following options: echo echo *** (1) Augment, (2) Utility, or (3) Warding echo *************************************** echo pause 2 setvariable ONLY All goto AUGPrep StartAug: StartAugment: StartAugmentation: setvariable ONLY Augment PrepAugment: PrepAugmentation: goto AUGPrep AUGPrep: put exp augment match StartUtility 33/34 match StartUtility 34/34 match AUGGo /3 matchwait AUGGo: pause 1 setvariable SPELL Augmentation put prep %AUGSpell %AUGMana match AUGPrep ...wait match StrainRelease strain match AUGCharge you raise your arms match AUGCharge you trace a geometric match AUGCharge you trace an angular match AUGCharge you begin chanting match AUGCharge with meditative movements match AUGCharge you raise your head matchwait AUGCharge: pause 1 put charg my %CAMB1Desc %CAMB1Item %AUGCamb1 match AUGCharge%CAMBTotal absorbs match Ugh2 while the rest dissipates harmlessly match Ugh strain match AUGCharge ...wait matchwait AUGCharge2: goto AUGBattleCharge%AUGBattle AUGBattleChargeNo: pause 1 put charg my %CAMB2Desc %CAMB2Item %AUGCamb2 match AUGInvoke absorbs match Ugh2 while the rest dissipates harmlessly match Ugh strain match AUGBattleChargeNo ...wait matchwait AUGBattleChargeYes: AUGCharge1: AUGInvoke: put invoke my %CAMB1Desc %CAMB1Item match AUGInvoke%CAMBTotal Roundtime match AUGInvoke ...wait matchwait AUGInvoke2: goto AUGBattleInvoke%AUGBattle AUGBattleInvokeNo: put invoke my %CAMB2Desc %CAMB2Item match AUGCast Roundtime match AUGBattleInvokeNo ...wait matchwait AUGBattleInvokeYes: AUGInvoke1: AUGCast: setvariable NEXT Utility waitfor fully prepared to cast your put cast match Backfire backfires match AUGCastwait ...wait match Ugh but are too mentally fatigued match NextPrep You gesture matchwait NextPrep: goto Prep%ONLY Prep: PrepAll: goto Prep%NEXT StartUt: StartUtil: StartUtility: setvariable ONLY Utility PrepUtility: UTILPrep: put exp utility match StartWarding 33/34 match StartWarding 34/34 match UTILGo /3 matchwait UTILGo: setvariable SPELL Utility pause 1 put prep %UTILITYSpell %UTILMana match UTILPrep ...wait match StrainRelease strain match UTILCharge you raise your arms match UTILCharge you trace a geometric match UTILCharge you trace an angular match UTILCharge you begin chanting match UTILCharge with meditative movements match UTILCharge you raise your head matchwait UTILCharge: pause 1 put charg my %CAMB1Desc %CAMB1Item %UTILCamb1 match UTILCharge%CAMBTotal absorbs match Ugh2 while the rest dissipates harmlessly match Ugh strain match UTILCharge ...wait matchwait UTILCharge2: goto UTILBattleCharge%UTILBattle UTILBattleChargeNo: pause 1 put charg my %CAMB2Desc %CAMB2Item %UTILCamb2 match UTILInvoke absorbs match Ugh2 while the rest dissipates harmlessly match Ugh strain match UTILBattleChargeNo ...wait matchwait UTILBattleChargeYes: UTILCharge1: UTILInvoke: put invoke my %CAMB1Desc %CAMB1Item match UTILInvoke%CAMBTotal Roundtime match UTILInvoke ...wait matchwait UTILInvoke2: goto UTILBattleInvoke%UTILBattle UTILBattleInvokeNo: put invoke my %CAMB2Desc %CAMB2Item match UTILCast Roundtime match UTILBattleInvokeNo ...wait matchwait UTILBattleInvokeYes: UTILInvoke1: UTILCast: setvariable NEXT Warding waitfor fully prepared to cast your put cast match Backfire backfires match UTILCastwait ...wait match Ugh but are too mentally fatigued match NextPrep You gesture matchwait StartWard: StartWarding: setvariable ONLY Warding PrepWarding: WARDPrep: put exp warding match EXPCheck 33/34 match EXPCheck 34/34 match WARDGo /3 matchwait WARDGo: setvariable SPELL Warding pause 1 put prep %WARDSpell %WARDMana match WARDPrep ...wait match StrainRelease strain match WARDCharge you raise your arms match WARDCharge you trace a geometric match WARDCharge you trace an angular match WARDCharge you begin chanting match WARDCharge with meditative movements match WARDCharge you raise your head matchwait WARDCharge: pause 1 put charg my %CAMB1Desc %CAMB1Item %WARDCamb1 match WARDCharge%CAMBTotal absorbs match Ugh2 while the rest dissipates harmlessly match Ugh strain match WARDCharge ...wait matchwait WARDCharge2: goto WARDBattleCharge%WARDBattle WARDBattleChargeNo: pause 1 put charg my %CAMB2Desc %CAMB2Item %WARDCamb2 match WARDInvoke absorbs match Ugh2 while the rest dissipates harmlessly match Ugh strain match WARDBattleChargeNo ...wait matchwait WARDBattleChargeYes: WARDCharge1: WARDInvoke: put invoke my %CAMB1Desc %CAMB1Item match WARDInvoke%CAMBTotal Roundtime match WARDInvoke ...wait matchwait WARDInvoke2: goto WARDBattleInvoke%WARDBattle WARDBattleInvokeNo: put invoke my %CAMB2Desc %CAMB2Item match WARDCast Roundtime match WARDBattleInvokeNo ...wait matchwait WARDBattleInvokeYes: WARDInvoke1: WARDCast: setvariable NEXT Augment waitfor fully prepared to cast your put cast match Backfire Backfires match WARDCastwait ...wait match Ugh but are too mentally fatigued match ExpCheck You gesture matchwait AUGCastwait: pause 1 goto AUGCast UTILCastwait: pause 1 goto UTILCast WARDCastwait: pause 1 goto WARDCast ExpCheck: goto EXPOnly%ONLY EXPOnlyall: EXPOnlyAugment: put exp augment match CheckUtility 33/34 match CheckUtility 34/34 match AUGGo /3 matchwait CheckUtility: EXPOnlyUtility: put exp utility match CheckWarding 33/34 match CheckWarding 34/34 match UTILGo /3 matchwait CheckWarding: EXPOnlyWarding: put exp ward match Done 33/34 match Done 34/34 match WardGo /3 matchwait Done: pause 1 echo echo *************************************** echo *** Augmentation, Utility, and Warding mind locked echo *************************************** echo pause 10 goto WearCamb%CAMBRemove Backfire: pause 1 echo echo ************************************ echo *** Backfire - must adjust %SPELL mana echo ************************************ echo pause 10 goto WearCamb%CAMBRemove Ugh2: setvariable UGHWait no goto UGHSpell Ugh: setvariable UGHWait yes goto UGHSpell UGHSpell: pause 5 put release spell put prep %MyEasiestSpell UghInvoke: pause 1 put invok my %CAMB1Desc %CAMB1Item match UghInvoke2 Roundtime match UghInvoke ...wait matchwait UghInvoke2: pause 1 put invok my %CAMB2Desc %CAMB2Item match UghCastWait Roundtime match UghInvoke2 ...wait matchwait UghCastWait: waitfor fully prepared to cast your UghCast: pause 1 put cast goto UGHWait%UGHWait StrainRelease: pause 2 put rel spel goto UGHSpell UGHWaitYes: pause 150 goto EXPCheck UGHWaitNo: goto Prep%SPELL WearCambyes: put wear my %CAMB1Desc %CAMB1Item put wear my %CAMB2Desc %CAMB2Item WearCambno: