a_troll_01
Active member
- Joined
- Oct 5, 2006
- RedCents
- 21¢
Work your spell casting skills after powerleveling or for that matter just leveling.
spell_skills.mac
spell_skills.inc
Include File:
Spell_Routines.Inc
spell_skills.mac
Rich (BB code):
//
// Name: spell_skills.Mac
//
// Author: a_troll_01
//
// Purpose: Max your spell casting skills
//
// Include file: spell_skills.inc
#turbo
#Event Undead "This spell only works on the undead."
#DEFINE INIFILE spell_skills.ini
#DEFINE DEBUG_1 /SQUELCH /ECHO
#DEFINE ALTERATION 1
#DEFINE ABJURATION 2
#DEFINE CONJURATION 3
#DEFINE DIVINATION 4
#DEFINE EVOCATION 5
#include spell_routines.inc
Sub Main
/declare ToonClass int outer
/declare CastDelay int outer
/declare i int local
/declare Maxskill int outer
/declare MySpellList[5] outer
/declare MySpellDesc[5] outer
/declare SkillMaxed[5] bool
/declare PetSpell outer
/varset MySpellDesc[ALTERATION] Alteration
/varset MySpellDesc[ABJURATION] Abjuration
/varset MySpellDesc[CONJURATION] Conjuration
/varset MySpellDesc[DIVINATION] Divination
/varset MySpellDesc[EVOCATION] Evocation
/varset Maxskill ${Math.Calc[(${Me.Level}*5)+4]}
/If (${Maxskill} > 314) /Varset Maxskill 314
/call loadspells
/IF (${Target.ID} == NULL) /target ${Me}
:mainloop
/doevents
| Let's see if we maxed anything that round
/for i ALTERATION TO EVOCATION
/IF (${Me.Skill[${MySpellDesc[${i}]}]}>${Maxskill}) /varset SkillMaxed[${i}] TRUE
/next i
| If everything is maxed we can end this macro
/If (${SkillMaxed[1]} && ${SkillMaxed[2]} && ${SkillMaxed[3]} && ${SkillMaxed[4]} && ${SkillMaxed[5]}) {
/Echo All Skill up completed!!!
/Endmacro
}
| Cast our spells
/for i ALTERATION TO EVOCATION
/IF (${Target.ID} == NULL) /target ${Me}
/IF (!${SkillMaxed[${i}]}) /Call CastSpell ${i}
/next i
/autoinventory
/goto :mainloop
/return
sub MedBreak
/Echo Med Break!!!!
:Medup
/if (!${Me.Sitting}) /sit
:KeepMedding
/doevents
/if (${Me.CurrentMana} < ${Me.MaxMana}) {
/delay 5s
/goto :KeepMedding
}
/return
sub loadspells
/declare spellID int local
/declare i int local
/Echo Loading ${Me.Class.Name} spells. Please Wait .....
/for i ALTERATION TO EVOCATION
/Echo Loading Spell Gem ${i} for ${MySpellDesc[${i}]}
/varset MySpellList[${i}] ${Ini[INIFILE, ${Me.Class.Name}, ${MySpellDesc[${i}]}]}
/IF (${MySpellList[${i}].Equal[NULL]}) {
/varset SkillMaxed[${i}] TRUE
/Echo No spell loaded for ${MySpellDesc}. Please check INI for class ${Me.Class.Name}.
} else {
/memspell ${i} "${MySpellList[${i}]}"
/delay 25
}
/next i
/Echo ${MySpellList[ALTERATION]}, ${MySpellList[ABJURATION]}, ${MySpellList[CONJURATION]}, ${MySpellList[DIVINATION]}, ${MySpellList[EVOCATION]}
| Load the Pet spell but don't complain if we don't have one.
/varset PetSpell ${Ini[INIFILE, ${Me.Class.Name}, Pet]}
/IF (!${PetSpell.Equal[NULL]}) {
/Echo Summoning ${PetSpell}. Please Wait........
/memspell 6 "${PetSpell}"
:petnotready
/IF (!${Me.SpellReady[${PetSpell}]}) {
/delay 1s
/goto :petnotready
}
/call Cast "${PetSpell}" 6
/varset spellID ${Spell[${PetSpell}].ID}
/varcalc CastDelay ${Spell[${spellID}].RecoveryTime}
/Echo Spell Information Cast Time: ${Spell[${spellID}].MyCastTime}, Recover Time: ${Spell[${spellID}].RecoveryTime}
/Echo ${CastDelay}s
/delay ${CastDelay}s
/tar ${me.pet}
}
/return
Sub CastSpell(SKILL)
/declare spellID local int
/varset spellID ${Spell[${MySpellList[${SKILL}]}].ID}
:waitforspell
DEBUG_1 CastSpell ${MySpellList[${SKILL}]}, ${Me.SpellReady[${SKILL}]}, Mana: ${Me.CurrentMana} ${Spell[${MySpellList[${SKILL}]}].Mana}
/IF (!${Me.SpellReady[${SKILL}]}) {
/delay 1s
/goto :waitforspell
}
/IF (${Me.CurrentMana} < ${Spell[${MySpellList[${SKILL}]}].Mana}) /Call MedBreak
/Cast "${MySpellList[${SKILL}]}"
/varcalc CastDelay 10*${Spell[${spellID}].RecoveryTime}
/delay ${CastDelay}
/doevents
/return
/Sub event_undead
/Target ${Me.Pet}
/return
spell_skills.inc
Rich (BB code):
[Beastlord]
Alteration= Minor Healing
Abjuration= Inner Fire
Evocation= Spirit Strike
Divination= Flash of Light
Conjuration= Sicken
Pet =
[Cleric]
Alteration= Minor Healing
Abjuration= Courage
Evocation= Strike
Divination= True North
Conjuration= Halo of Light
[Druid]
Alteration= Minor Healing
Abjuration= Skin like Wood
Evocation= Firefist
Divination= See Invisible
Conjuration= Summon Drink
[Enchanter]
Alteration= Strengthen
Abjuration= Minor Shielding
Evocation= Chaotic Feedback
Divination= See Invisible
Conjuration= Summon Companion
[Magician]
Alteration= Renew Elements
Abjuration= Minor Shielding
Evocation= Flare
Divination= True North
Conjuration= Summon Drink
Pet =
[Necromancer]
Alteration= Impart Strength
Abjuration= Minor Shielding
Evocation= Ward Undead
Divination= Sense The Dead
Conjuration= ColdLight
Pet = Cavorting Bones
ManaRegen = Allure of Death
ManaBuff =
[Paladin]
Alteration= Minor Healing
Abjuration= Courage
Evocation= Cease
Divination= Flash of Light
Conjuration= Hammer of Wrath
[Ranger]
Alteration= Minor Healing
Abjuration= Skin like Wood
Evocation= Flame lick
Divination= Camouflage
Conjuration= Dance of the fireflies
[Shadow Knight]
Alteration= Lifetap
Abjuration= Numb the dead
Evocation= Ward Undead
Divination= Locate Corpse
Conjuration= Disease Cloud
Pet =
[Shaman]
Alteration= Minor Healing
Abjuration= Inner Fire
Evocation= Burst of Flame
Divination= Flash of Light
Conjuration= Tainted Breath
Pet = Companion Spirit
ManaRegen = Cannibalize II
[Wizard]
Alteration= Fade
Abjuration= Minor Shielding
Evocation= Blast of Cold
Divination= True North
Conjuration= Halo of Light
Pet =
Include File:
Spell_Routines.Inc
Last edited:



Also good for training up weapon/range skills as well.