#spellBook ! Make a table of Spells to Cast from a given list. the list is in the form of the lists as done in the spellList file. ! ! $ARGS[0] = Type of List: cast, learn, list ! This determines the info to be displayed as wel las the HTML formatting ! $ARGS[1] = the name of the array to use for the spell list. ! $ARGS[2] = (optional) return Action Code - a dynamic piece of code to run instead of generic return. ! $ARGS[3] = (optional) Additional code to put in spell link (all spells) ! $spellBookVar['Type'] = $ARGS[0] $spellBookVar['Array'] = $ARGS[1] $spellBookVar['ActionCode'] = $ARGS[2] $spellBookVar['CodeAfterSpell'] = $ARGS[3] ! Make sure opptional variables have defaults if $spellBookVar['ActionCode'] = '': $spellBookVar['ActionCode'] = 'gt $loc, $metka' end if $spellBookVar['CodeAfterSpell'] = '': $spellBookVar['CodeAfterSpell'] = 'gt $loc, $metka' end ! lets the user back out if they don''t want ot cast. act 'Never mind':dynamic spellBookVar['ActionCode'] ! This just makes sure the current spellLists are loaded gs 'spellList' !----------------------------------------------------------------------------------------------- ! Choose the type of spell list to determine what info will be displayed and the HTML formatting ! 1) 'TableText' = The header for the table. The header row ! 2) 'RowCode' = The code used inside the loop to build the HTML text for that Row. !! 'learn' type is for displaying which seplls the user is currently learning. if $spellBookVar['Type'] = 'learn': $spellBookVar['TableText'] = "
" $spellBookVar['RowCode'] = { if spellLearn[$ThisSpellName] > 0 and spellKnown[$ThisSpellName] ! 1: $result = " " spellBookVar['Counter'] += 1 else $result = '' end } !! 'list' type is list of castable spells. This makes a table of spells for the user to cast. elseif $spellBookVar['Type'] = 'cast': $spellBookVar['TableText'] = "
Spell Percent Learned
<<$spellName[$ThisSpellName]>> <>
" $spellBookVar['RowCode'] = { if spellKnown[$ThisSpellName] = 1: if $spellOptDesc[$ThisSpellName] = '': ! If the spell has no Options, we jsut list it out for casting $tmpHTMLCode = " " else ! If the spell does have options, we make a row for spell info, and loop through additional rows ! with options for the user to pick $tmpHTMLCode = " " n=0 :RowCodeLoop98 if n < arrsize('<<$spellOptDesc[$ThisSpellName]>>'): $spellBookVar['tmpVal'] = dyneval('$result = <<$spellOptVal[$ThisSpellName]>>[<>]') $spellBookVar['tmpName']= dyneval('$result = <<$spellOptDesc[$ThisSpellName]>>[<>]') $tmpHTMLCode += " " n += 1 jump 'RowCodeLoop98' end end $result = $tmpHTMLCode spellBookVar['Counter'] += 1 killvar '$tmpHTMLCode' killvar 'n' else $result = '' end } !! Default is a list of spells with descriptio nand mana cost listed. else $spellBookVar['TableText'] = "
Spell Mana Description
>'& <<$spellBookVar['CodeAfterSpell']>>""><<$spellName[$ThisSpellName]>> <> <<$spellDesc[$ThisSpellName]>>
<<$spellName[$ThisSpellName]>> <> <<$spellDesc[$ThisSpellName]>>
>', '<<$spellBookVar['tmpVal']>>' & <<$spellBookVar['CodeAfterSpell']>>""><<$spellBookVar['tmpName']>>
" $spellBookVar['RowCode'] = { if spellKnown[$ThisSpellName] = 1: if $spellOptDesc[$ThisSpellName] = '': ! If the spell has no Options, we jsut list it out for casting $tmpHTMLCode = " " else ! If the spell does have options, we make a row for spell info, and loop through additional rows ! with options for the user to pick $tmpHTMLCode = " " n=0 :RowCodeLoop99 if n < arrsize('<<$spellOptDesc[$ThisSpellName]>>'): $spellBookVar['tmpVal'] = dyneval('$result = <<$spellOptVal[$ThisSpellName]>>[<>]') $spellBookVar['tmpName']= dyneval('$result = <<$spellOptDesc[$ThisSpellName]>>[<>]') $tmpHTMLCode += " " n += 1 jump 'RowCodeLoop99' end end $result = $tmpHTMLCode spellBookVar['Counter'] += 1 killvar '$tmpHTMLCode' killvar 'n' else $result = '' end } end i = 0 spellBookVar['ArraySize'] = dyneval("result = arrsize('<<$spellBookVar['Array']>>')") spellBookVar['Counter'] = 0 :SpellListLoop $ThisSpellName = dyneval("$result = <<$spellBookVar['Array']>>[<>]") if i < spellBookVar['ArraySize']: !$spellBookVar['RowCode'] $spellBookVar['TableText'] += dyneval($spellBookVar['RowCode']) i += 1 jump 'SpellListLoop' end $spellBookVar['TableText'] += "
Spell Mana Description
<<$spellName[$ThisSpellName]>> <> <<$spellDesc[$ThisSpellName]>>
<<$spellName[$ThisSpellName]>> <> <<$spellDesc[$ThisSpellName]>>
<<$spellBookVar['tmpName']>>
" if spellBookVar['Counter'] = 0: $spellBookVar['TableText'] = "
You have no spells in this list.
" end $result = func('cleanHTML',$spellBookVar['TableText']) killvar 'i' killvar '$ThisSpellName' killvar '$spellBookVar' killvar 'spellBookVar' --- spellBook ---------------------------------