Skip to content

Is it possible to assign a series of spells on to just one key?

Hello guys!

Before any challenging combat I use a number of spells to prepare my characters: Haste, strength, stone skin, shield, luck and so on. Is it possible to bind a set of spells on to one key and just press it and wait for all of them to be cast?

Comments

  • CrevsDaakCrevsDaak Member Posts: 7,155
    edited May 2014
    Yes, but you'll need a script to do this.
    It would be like
     full script in my second post, scroll down a little more... 
    don't copy paste because you'll need to change the spaces before some lines by TABs.
    Post edited by CrevsDaak on
  • Troodon80Troodon80 Member, Developer Posts: 4,110
    @CrevsDaak,
    CrevsDaak said:

    	HaveSpell(Myself,WIZARD_STONE_SKIN)
    HaveSpell(Myself,WIZARD_HASTE)
    HaveSpell(I:Spell*Spell) only takes one integer argument, just the spell name.
  • CrevsDaakCrevsDaak Member Posts: 7,155
    @Troodon80‌ thanks, I wasn't able to check that in my phone and I wasn't sure either about it :P
    Now going for the full thing!

    // Auto casting spells via Hotkeys script by Crevs Daak.
    // Don't share it, modify it if you want.
    IF
    HaveSpell(WIZARD_STONE_SKIN) // checking for the spell
    !Global("7C#HasStoneskin","LOCALS",0) // checking for this var
    THEN
    RESPONSE #100
    SetGlobal("7C#HasStoneskin","LOCALS",1) // setting the var after checking for the HaveSpell
    END

    IF
    HaveSpell(WIZARD_HASTE)
    !Global("7C#HasHaste","LOCALS",1) // same stuff different spell
    THEN
    RESPONSE #100
    SetGlobal("7C#HasHaste","LOCALS",1)
    END

    IF
    !HaveSpell(WIZARD_STONE_SKIN)
    Global("7C#HasStoneskin","LOCALS",1)
    THEN
    RESPONSE #100
    SetGlobal("7C#HasStoneskin","LOCALS",0) // setting to 1 to tell that you don't have it
    END

    IF
    !HaveSpell(WIZARD_HASTE)
    Global("7C#HasHaste","LOCALS",1)
    THEN
    RESPONSE #100
    SetGlobal("7C#HasHaste","LOCALS",0) // setting the same for a different spell
    END

    IF
    HotKey(D)
    Global("7C#HasStoneskin","LOCALS",1) // checks if the spells are able to be cast
    Global("7C#HasHaste","LOCALS",1)
    THEN
    RESPONSE #100
    SetGlobal("7C#CastHasteStoneskin","LOCALS",1) // sets another var to confirm so
    END

    IF
    Global("7C#CastHasteStoneskin","LOCALS",1) // checks for the var that confirmed all the spells
    !GlobalTimerNotExpired("7C#SpellCasting","LOCALS")
    THEN
    RESPONSE #100
    SetGlobalTimer(7C#SpellCasting","LOCALS",ONE_ROUND)
    Spell(Myself,WIZARD_STONE_SKIN) // casting stoneskin first because it lasts much more
    SetGlobal("7C#CastHasteStoneskin","LOCALS",2)
    END

    IF
    Global("7C#CastHasteStoneskin","LOCALS",2)
    !GlobalTimerNotExpired("7C#SpellCasting","LOCALS")
    THEN
    RESPONSE #100
    SetGlobalTimer(7C#SpellCasting","LOCALS",ONE_ROUND)
    Spell(Myself,WIZARD_HASTE) // casting haste after waiting a round
    SetGlobal("7C#CastHasteStoneskin","LOCALS",0)
    END
Sign In or Register to comment.