Author Topic: Trailmyx's Runebook/Spellcast Subs  (Read 94284 times)

0 Members and 1 Guest are viewing this topic.

Offline TrailMyxTopic starter

  • Officially retired from UO
  • Administrator
  • *
  • *
  • Posts: 13301
  • Activity:
    0%
  • Reputation Power: 154
  • TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!
  • Gender: Male
  • Viper!
  • Respect: +1349
  • Referrals: 33
    • View Profile
    • ScriptUO
Trailmyx's Runebook/Spellcast Subs
« on: June 09, 2008, 12:15:13 PM »
+1
Code: [Select]
;=================================================================
; Script Name: TrailMyx's Runebook/Spellcast Subs
; Author: TrailMyx
; Version: 2.5
; Shard OSI / FS: OSI / FS
; Revision Date: 09/27/2007
; Purpose:
;   Runebook subs to manage your runebook travel needs.  You need either to know
;   the runebook ID or runebook name.
;
; Subroutines:
;     TM_NewCastSpell - casts spells with appropriate waits, delays, retrys.
;     TM_TravelFromRunebook - Uses specified runbook #FINDID to travel from .  If a location is blocked
;                             the next location will be tried until success.
;     TM_TravelFromNamedRunebook - Same as TM_TravelFromRunebook, but allows you to specify a runebook name
;
;  Examples:
;     gosub TM_NewCastSpell 31 !rbook 10 20 20 ; recall
;     gosub TM_TravelFromRunebook RE 1 3 %runebookid ; travel (recall) to location from #FINDID runebook using slots 1-3
;     gosub TM_TravelFromNamedRunebook GA 1 2 LUMBERJACKING1 ; gate using LUMBERJACKING1 runebook starting at rune 1
;     gosub TM_RandomRunebookTravel SJ 1 6 %runebookid  ; Randomly choose a rune from 1-6 in runebook
;     gosub TM_TravelFromObject RE %runeid ; travels to rune specified by %runeid
;
;  Use of these subrountes is allowed, but please give me (TrailMyx) credit somewhere in your script.
;
;  Release History:
;     2.0 - Initial public release
;     2.1 - Bug in TM_FindValidTextNoAdvance, added return value to TM_TravelFromNamedRunebook
;     2.2 - Bug in TM_NewCastSpell when mana gets too low
;     2.3 - Better spellcasting for chivalry, necro
;           Added TM_TravelFromNamedRunebook
;           Added TM_RandomRunebookTravel
;     2.4 - Little fix for journal handler
;     2.5 - Hack to allow for transport through a red moongate.
;
;  Requirements:
;
;    This script requires that you have your character name
;    setup in a variable called %charname.  Place this bit of code
;    in your script initialization somewhere:
;
;   gosub TM_AddUnderscore #CHARNAME
;   set %charname #RESULT
;=================================================================

There are 1 attachment(s) in this post. You must register and post an acceptable introduction to download
tool_runebook_travel26.txt
Please read the ScriptUO site RULES
Come play RIFT with me!

Offline 12TimesOver

  • Another Day, Another Vendetta
  • Global Moderator
  • *
  • *
  • Posts: 3694
  • Activity:
    0%
  • Reputation Power: 41
  • 12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.
  • Gender: Male
  • Respect: +321
  • Referrals: 2
    • View Profile
Re: Trailmyx's Runebook/Spellcast Subs
« Reply #1 on: September 03, 2008, 10:57:45 AM »
+1
Hello sir!!

These subs are staples in all of my projects requiring this functionality, thanks SO much!

I was working on integrating these subs into a project today when I was really supposed to be working and I had a couple of thoughts/questions...

First, I see that your attached file is called 2.6 however your version Change Control states changes only up to 2.5. Is the attached really 2.6 and, if so, what is the difference from 2.5? Just want to make sure I stay consistent with your updates.

The other question is really a series of thoughts. Have you considered (or would you consider) changing the TravelFromRunebook subs to return more detail than #TRUE if error or #FALSE if success in order to allow for the development of more ellaborate error checking routines? Just thinking about how that could make for more decisioning options returning from the subs. For example, #TRUE gets returned if a) the travel method is not one of those listed (coder error), b) the rune number is not 1-16 (coder error) c) location is blocked (script logic change could allow for next rune in book), d) spirit_lacks (script logic change could simply try again), etc. If different issues allowed for different return status then appropriate logic could be adopted by the coder. This could be further augmented by putting limitations on the number of RE/GA/SJ attempts each time as well (rather than fizzling for eternity for example if, come to find out, you really can't cast Gate Travel with 22.6 Magery) with another return value ("return skill2low").

Does that make sense? I was thinking about just going and modifying the sub for my needs but I really don't want to "dirty your code" with my feebleness and, frankly,  I don't want to have to track my customizations for recoding every time you update your subs  ;D (so selfish, I know)!!

You could also simply pass this off as the ramblings of a rapidly aging wannabe with OCD and that would be ok too, hehe.

Let me know whatcha think.

XII
When they come for me I'll be sitting at my desk
     with a gun in my hand wearing a bulletproof vest
My, my, my how the time does fly
     when you know you're gonna die by the end of the night

Offline TrailMyxTopic starter

  • Officially retired from UO
  • Administrator
  • *
  • *
  • Posts: 13301
  • Activity:
    0%
  • Reputation Power: 154
  • TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!
  • Gender: Male
  • Viper!
  • Respect: +1349
  • Referrals: 33
    • View Profile
    • ScriptUO
Re: Trailmyx's Runebook/Spellcast Subs
« Reply #2 on: September 03, 2008, 12:21:15 PM »
+1
Hello sir!!

These subs are staples in all of my projects requiring this functionality, thanks SO much!

I was working on integrating these subs into a project today when I was really supposed to be working and I had a couple of thoughts/questions...

First, I see that your attached file is called 2.6 however your version Change Control states changes only up to 2.5. Is the attached really 2.6 and, if so, what is the difference from 2.5? Just want to make sure I stay consistent with your updates.

The other question is really a series of thoughts. Have you considered (or would you consider) changing the TravelFromRunebook subs to return more detail than #TRUE if error or #FALSE if success in order to allow for the development of more ellaborate error checking routines? Just thinking about how that could make for more decisioning options returning from the subs. For example, #TRUE gets returned if a) the travel method is not one of those listed (coder error), b) the rune number is not 1-16 (coder error) c) location is blocked (script logic change could allow for next rune in book), d) spirit_lacks (script logic change could simply try again), etc. If different issues allowed for different return status then appropriate logic could be adopted by the coder. This could be further augmented by putting limitations on the number of RE/GA/SJ attempts each time as well (rather than fizzling for eternity for example if, come to find out, you really can't cast Gate Travel with 22.6 Magery) with another return value ("return skill2low").

Does that make sense? I was thinking about just going and modifying the sub for my needs but I really don't want to "dirty your code" with my feebleness and, frankly,  I don't want to have to track my customizations for recoding every time you update your subs  ;D (so selfish, I know)!!

You could also simply pass this off as the ramblings of a rapidly aging wannabe with OCD and that would be ok too, hehe.

Let me know whatcha think.

XII

Well, I'm certainly not in the position to do much with these.  However, most of your suggestions can be formed into a sub that's called upon failure of a Runebook usage.  So things like skill, mana, blocked all can be looked at by a separate sub and you can form whatever additional conditions you might want. 

For me, I needed to be able to keep this very simple for the casual user without over complicating it.  Everything you ask is a great idea, but I think it would be better supported by some follow up functions after the call.

What you might do is have a wrapper function for mine so you check the items before, and then do a follow up call to an additional function that will determine why a recall didn't go well.  Really, if you were to setup a separate journal scanner, you can watch all that yourself.

So if you can figure out a way to wrap my subs, then you can keep your changes separate.
Please read the ScriptUO site RULES
Come play RIFT with me!

Offline 12TimesOver

  • Another Day, Another Vendetta
  • Global Moderator
  • *
  • *
  • Posts: 3694
  • Activity:
    0%
  • Reputation Power: 41
  • 12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.12TimesOver is a force to reckon with.
  • Gender: Male
  • Respect: +321
  • Referrals: 2
    • View Profile
Re: Trailmyx's Runebook/Spellcast Subs
« Reply #3 on: September 03, 2008, 12:29:10 PM »
+1
Ah simplicity; I heard the door open and there she stood...

Sounds good, thanks for the reply and the suggestion. I'll play around with it.

How about the version question, is this actually 2.6?

XII
When they come for me I'll be sitting at my desk
     with a gun in my hand wearing a bulletproof vest
My, my, my how the time does fly
     when you know you're gonna die by the end of the night

Offline TrailMyxTopic starter

  • Officially retired from UO
  • Administrator
  • *
  • *
  • Posts: 13301
  • Activity:
    0%
  • Reputation Power: 154
  • TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!
  • Gender: Male
  • Viper!
  • Respect: +1349
  • Referrals: 33
    • View Profile
    • ScriptUO
Re: Trailmyx's Runebook/Spellcast Subs
« Reply #4 on: September 03, 2008, 12:33:27 PM »
+1
Ah simplicity; I heard the door open and there she stood...

Sounds good, thanks for the reply and the suggestion. I'll play around with it.

How about the version question, is this actually 2.6?

XII

Ah, I guess I need to release those.  2.6 uses the advanced journal scanner.  You might check, I may have released 2.5 with the AdvJS, but as 2.5.  Anyhow, I did bump the revision eventually.

Edit:  Ok, those are the correct ones posted, I just forgot to revision change the text.
Please read the ScriptUO site RULES
Come play RIFT with me!

Offline Khameleon

  • Script Tester - Team Leader
  • Elite
  • *
  • *
  • Posts: 2574
  • Activity:
    0%
  • Reputation Power: 30
  • Khameleon is a rising star!Khameleon is a rising star!Khameleon is a rising star!Khameleon is a rising star!Khameleon is a rising star!Khameleon is a rising star!
  • Gender: Male
  • Respect: +238
  • Referrals: 0
    • View Profile
Re: Trailmyx's Runebook/Spellcast Subs
« Reply #5 on: September 03, 2008, 03:05:13 PM »
+1
ahh.. I love Subs.. its a shame Alexandria never did to well.. I was really into that, though it did suck that they Relied on ContKinds....

Offline _C2_

  • AFK FtW
  • Global Moderator
  • *
  • *
  • Posts: 4077
  • Activity:
    0%
  • Reputation Power: 48
  • _C2_ has great potential!_C2_ has great potential!_C2_ has great potential!_C2_ has great potential!_C2_ has great potential!_C2_ has great potential!_C2_ has great potential!_C2_ has great potential!_C2_ has great potential!
  • RIP Pen Trick
  • Respect: +254
  • Referrals: 4
    • View Profile
Re: Trailmyx's Runebook/Spellcast Subs
« Reply #6 on: November 10, 2008, 11:09:33 AM »
+1
I looked for a bit but did not see your travel subs posted here so I was unable to see if they have been updated at this point.  Edit:  I found them LOL but they are the same as what I have.

I was wondering if you or anyone else was having an issue with it making the sacred journey successfully but not having the script recognize success and it trying to sacred until it changes to the back up rune.

If that hasn't been the case do you think that there maybe a difference needed in a waittime for chiv vs recall and if so where do you suggest looking. 

I am thinking that it scans for success or checks coords too fast do to slight lag of UO of late.  I will be looking into it more but haven't had the time to dive in and look for where to add some more wait.

You may be able to point the spot or spots out in a few seconds.  I am also curious if it scans journal before the message comes up then it pops up after scan and gets synched out.  Anyway I need to look a bit but I was checking in on this issue first.
« Last Edit: November 10, 2008, 11:14:02 AM by _C2_ »

Offline TrailMyxTopic starter

  • Officially retired from UO
  • Administrator
  • *
  • *
  • Posts: 13301
  • Activity:
    0%
  • Reputation Power: 154
  • TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!
  • Gender: Male
  • Viper!
  • Respect: +1349
  • Referrals: 33
    • View Profile
    • ScriptUO
Re: Trailmyx's Runebook/Spellcast Subs
« Reply #7 on: November 10, 2008, 11:46:50 AM »
+1
The problem with using recall or SJ, there is some lag that you can't really predict.  The only thing you can do is to increase the wait time and hope you don't have a super long lag time.  Actually, I have noticed longer lag these days for some reason.  There's a 10 second timer that should catch this.

For debugging purposes, you might see if it's failing in the Spellcast sub (i.e. tries to cast SJ again).  If that's the case, you might want to try changing the second timeout (in TM_TravelFromRunebook):

Code: [Select]
  if !method = SJ
    gosub TM_NewCastSpell 210 !rbook -1 10 10 ; was 50

Please read the ScriptUO site RULES
Come play RIFT with me!

Offline luv2luvlong

  • Sr. Member
  • *
  • Posts: 272
  • Activity:
    0%
  • Reputation Power: 4
  • luv2luvlong has no influence.
  • Gender: Male
  • Respect: +14
  • Referrals: 0
    • View Profile
Re: Trailmyx's Runebook/Spellcast Subs
« Reply #8 on: November 10, 2008, 12:21:59 PM »
+1
if you have a chance look at man whore's lumberjacker on easyuo's page. he has a position change sub that waits for you to port before continuing.
"If you know the enemy and know yourself, you need not fear the result of a hundred battles. If you know yourself but not the enemy, for every victory gained you will also suffer a defeat. If you know neither the enemy nor yourself, you will succumb in every battle" - Sun Tzu in reference to his five points of victory.

Offline TrailMyxTopic starter

  • Officially retired from UO
  • Administrator
  • *
  • *
  • Posts: 13301
  • Activity:
    0%
  • Reputation Power: 154
  • TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!
  • Gender: Male
  • Viper!
  • Respect: +1349
  • Referrals: 33
    • View Profile
    • ScriptUO
Re: Trailmyx's Runebook/Spellcast Subs
« Reply #9 on: November 10, 2008, 12:26:45 PM »
+1
That's also built into my subs as well.  Sounds like it's waiting too long to sense that the chivalry spell has been successful.  Chiv and necro spells are a bit different in that there isn't the same response back that you have successfully done a spell.  i.e. There's no "your spell fizzles."  So you're left with sensing your mana drop, or your target is gone.  If you wait too long to sense the mana, and you have high enough meditation/focus/mana regeneration items, you can possibly come back and have full mana in 2.5 seconds.   
Please read the ScriptUO site RULES
Come play RIFT with me!

Offline TrailMyxTopic starter

  • Officially retired from UO
  • Administrator
  • *
  • *
  • Posts: 13301
  • Activity:
    0%
  • Reputation Power: 154
  • TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!
  • Gender: Male
  • Viper!
  • Respect: +1349
  • Referrals: 33
    • View Profile
    • ScriptUO
Re: Trailmyx's Runebook/Spellcast Subs
« Reply #10 on: November 10, 2008, 12:56:17 PM »
+1
Another thing to try C2 is to replace the TM_NewCastSpell with this one.  I wrote this sub before I knew about the A in #CHARSTATUS, so there could be a point when you are still frozen because of lag, but the sub continues.  This one has a wait also to be sure you are still not frozen instead of just relying on your initial spell delay.

Edit: This probably won't help though since you're waiting for a target cursor anyhow...


Code: [Select]
;-------------------------------------------------------------------------------
; %1 = spell number
; %2 = #TARGETID or SELF or NONE
; %3 = retry count (-1 = cast until successful)
; %4 = cast delay
; %5 = recovery delay
sub TM_NewCastSpell
  namespace push
  namespace local NCS
  set !lpc #LPC
  set #LPC 100
  set !whichspell %1
  set !whichtarget %2
  set !castretrymax %3
  set !waitdelay %4
  set !recovery_delay %5

  set !castretry 0
  set !temp_ltargetid #LTARGETID
  set !temp_ltargetkind #LTARGETKIND

  NewCastSpell_loop1:
    if !castretrymax < 0
      goto NewCastSpell_cont1
    if !castretry > !castretrymax
      goto NewCastSpell_end1
    NewCastSpell_cont1:
      gosub TM_SyncTextScan
      set #LTARGETKIND 1
      set #LTARGETID !whichtarget
      set !tempmana #MANA
      event macro 15 !whichspell ; cast the spell
      wait !waitdelay
      repeat
      until A notin #CHARSTATUS
      set !targettimeout #SCNT + 7
      NewCastSpell_wait1:
        gosub TM_FindValidTextNoAdvance spell_fizzles you_have_not_yet mana your_spirit more_reagents
        if #RESULT = #TRUE || #SCNT > !targettimeout
        {
          set !casttimeout #SCNT2 + !recovery_delay
          repeat
          until #SCNT2 > !casttimeout     ; finish up cast delay
          set !castretry !castretry + 1
          goto NewCastSpell_loop1
        }
        if !whichtarget = NONE
          goto NewCastSpell_skip1
        if #TARGCURS = 1
          goto NewCastSpell_targ1
        goto NewCastSpell_wait1 ; wait for target cursor

  NewCastSpell_targ1:
    if !whichtarget = SELF
      event macro 23
    else
      event macro 22

  NewCastSpell_skip1:
    wait 5
    set !casttimeout #SCNT2 + !recovery_delay
    NewCastSpell_skip2:
      if !whichspell >= 0 && !whichspell <= 63 ; Magery
      {
        gosub TM_FindValidTextNoAdvance spell_fizzles there_is_already mana your_spirit more_reagents
      }
      else
      {
        set !cont #FALSE  ; Chivalry, Necromancy, etc
        finditem !whichtarget *
        if !whichtarget in SELF_NONE || #FINDKIND <> -1
          set !cont #TRUE

        if #MANA >= !tempmana && !cont = #TRUE ; check if target is still there
          set #RESULT #TRUE
        else
          set #RESULT #FALSE
      }
      repeat
      until #SCNT2 > !casttimeout     ; finish up cast delay
      if #RESULT = #TRUE
      {
        if !castretrymax > -1
        {
          set !castretry !castretry + 1 ; %castretrymax of -1 will cast until successful
          if !castretry > !castretrymax
            goto NewCastSpell_end1
        }
        goto NewCastSpell_loop1
      }
      if #SCNT2 <= !casttimeout     ; finish up cast delay
        goto NewCastSpell_skip2
  NewCastSpell_end1:
    set #LTARGETID !temp_ltargetid
    set #LTARGETKIND !temp_ltargetkind
    set #LPC !lpc
    namespace pop
return
« Last Edit: November 10, 2008, 04:48:01 PM by TrailMyx »
Please read the ScriptUO site RULES
Come play RIFT with me!

Offline Endless Night

  • Global Moderator
  • *
  • *
  • Posts: 5467
  • Activity:
    0%
  • Reputation Power: 62
  • Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!Endless Night is awe-inspiring!
  • Respect: +393
  • Referrals: 1
    • View Profile
Re: Trailmyx's Runebook/Spellcast Subs
« Reply #11 on: November 10, 2008, 07:20:39 PM »
+1
Ignore ME

Edit .. properly read thread and my comments we already inthier no porint repeating.

SPAM POST LOL
« Last Edit: November 10, 2008, 07:23:19 PM by Endless Night »
Outlaw Josey Wales - "Manwink, A Long Gone Scripty, and Endless are always teasing us with their private sections lol. What there realy saying is scripters rule and users drool."
Briza - "Your a living breathing vortex of usefulness."

Offline TrailMyxTopic starter

  • Officially retired from UO
  • Administrator
  • *
  • *
  • Posts: 13301
  • Activity:
    0%
  • Reputation Power: 154
  • TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!
  • Gender: Male
  • Viper!
  • Respect: +1349
  • Referrals: 33
    • View Profile
    • ScriptUO
Re: Trailmyx's Runebook/Spellcast Subs
« Reply #12 on: November 10, 2008, 10:29:26 PM »
+1
Ignore ME

Edit .. properly read thread and my comments we already inthier no porint repeating.

SPAM POST LOL


Haha,  oops.  Ohh, SPAM.  That stuff is good grilled!
Please read the ScriptUO site RULES
Come play RIFT with me!

Offline Nicar

  • Full Member
  • ***
  • Posts: 198
  • Activity:
    0%
  • Reputation Power: 0
  • Nicar has no influence.
  • Respect: +20
  • Referrals: 0
    • View Profile
Re: Trailmyx's Runebook/Spellcast Subs
« Reply #13 on: November 11, 2008, 08:15:54 AM »
+1
Ignore ME

Edit .. properly read thread and my comments we already inthier no porint repeating.

SPAM POST LOL


Haha,  oops.  Ohh, SPAM.  That stuff is good grilled!

SPAM potato and eggs in a tortilla? 

Offline _C2_

  • AFK FtW
  • Global Moderator
  • *
  • *
  • Posts: 4077
  • Activity:
    0%
  • Reputation Power: 48
  • _C2_ has great potential!_C2_ has great potential!_C2_ has great potential!_C2_ has great potential!_C2_ has great potential!_C2_ has great potential!_C2_ has great potential!_C2_ has great potential!_C2_ has great potential!
  • RIP Pen Trick
  • Respect: +254
  • Referrals: 4
    • View Profile
Re: Trailmyx's Runebook/Spellcast Subs
« Reply #14 on: November 11, 2008, 06:50:45 PM »
+1
Well the quick solution was to just put protection on.  LOL  but I have been watching the steps  and see the differences between chiv and mage.  I will add your sub though!  Thx TM