Magic Training *KS* (script): Difference between revisions

From Elanthipedia
Jump to navigation Jump to search
m (made 'release spell' also include a mandatory camb cast)
(added functionality to force specific magic skill training before cycling spells if started with appropriate variable)
 
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.
It is designed to be as universal as possible, but isn't fit for all guilds (sorry barbs and thieves, not for you).

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.
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: 5-14-2019:'''
'''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.
* 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
Line 65: Line 68:
setvariable AUGSpell auspice
setvariable AUGSpell auspice
setvariable AUGMana 17
setvariable AUGMana 17
setvariable AUGCamb1 17
setvariable AUGCamb1 15
setvariable AUGCamb2 15
setvariable AUGCamb2 15
# Utility:
# Utility:
Line 75: Line 78:
setvariable WARDSpell pfe
setvariable WARDSpell pfe
setvariable WARDMana 15
setvariable WARDMana 15
setvariable WARDCamb1 14
setvariable WARDCamb1 12
setvariable WARDCamb2 14
setvariable WARDCamb2 12


#DONE SETTING VARIABLES - SCRIPT BEGINS HERE
#DONE SETTING VARIABLES - SCRIPT BEGINS HERE
Line 94: 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:
StartAugmentation:
setvariable ONLY Augment

PrepAugment:
PrepAugmentation:
goto AUGPrep

AUGPrep:
AUGPrep:
put exp augment
put exp augment
Line 159: 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 164: Line 186:
match AUGCastwait ...wait
match AUGCastwait ...wait
match Ugh but are too mentally fatigued
match Ugh but are too mentally fatigued
match UTILPrep You gesture
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 232: 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 237: Line 270:
match UTILCastwait ...wait
match UTILCastwait ...wait
match Ugh but are too mentally fatigued
match Ugh but are too mentally fatigued
match StartWarding You gesture
match NextPrep You gesture
matchwait
matchwait


StartWard:
StartWard:
StartWarding:
StartWarding:
setvariable ONLY Warding

PrepWarding:
WARDPrep:
WARDPrep:
put exp warding
put exp warding
Line 304: 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 311: Line 348:
match ExpCheck You gesture
match ExpCheck You gesture
matchwait
matchwait

AUGCastwait:
AUGCastwait:
pause 1
pause 1
Line 324: Line 362:


ExpCheck:
ExpCheck:
goto EXPOnly%ONLY
EXPOnlyall:
EXPOnlyAugment:
put exp augment
put exp augment
match CheckUtility 33/34
match CheckUtility 33/34
Line 331: Line 372:


CheckUtility:
CheckUtility:
EXPOnlyUtility:
put exp utility
put exp utility
match CheckWarding 33/34
match CheckWarding 33/34
Line 338: Line 380:


CheckWarding:
CheckWarding:
EXPOnlyWarding:
put exp ward
put exp ward
match Done 33/34
match Done 33/34
Line 405: Line 448:


UGHWaitNo:
UGHWaitNo:
goto Start%SPELL
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: