***************************************************** * * * Sample FlexForm Character Sheet * * (Fewer Graphic Elements) * * * * by Armin D. Sykes (armin@teleport.com) * * * ***************************************************** var Num var SectionSpacer = .2 *set up fonts FontName Arial FontSize 10 FontStyle prn_Normal *lines per inch LPI 6 *set up columns ColumnWidth 3.25 *MoveDown lpi ************************************************************ ***** ***** STATS ***** ******************** ***** Define needed variables *************** var CostCol var StatCol var ScoreCol var BoxTop var BoxLeft var BoxBottom var BoxRight var MidLine1 var MidLine2 ******************** ***** initialize postion variables *************** set CostCol = (curLeftMargin + .25 - .05) set StatCol = (#CostCol# + .4) set ScoreCol = (#StatCol# + .9) ****************************** ***** Print ST and Fatigue ****************************** ******************** ***** ST box *************** set BoxLeft = (curLeftMargin + .25) set BoxTop = %curline% set BoxRight = (#BoxLeft# + 3) set BoxBottom = (%curline% + .5) set MidLine1 = (#BoxRight# - 1.5) *Box #BoxLeft# + .05, #BoxTop# + .05, #BoxRight# + .05, #BoxBottom# + .05, LTGREY, FILL BoxBorder #BoxLeft#, #BoxTop#, #BoxRight#, #BoxBottom#, WHITE, FILL ***** divide into ST and Fatigue boxes Line #MidLine1#, #BoxTop#, #MidLine1#, #BoxBottom# ********** ***** fill it ***** ***** print Cost and Fatigue headings FontSize 8 PrintAtRight "Cost", #CostCol#, %curline% + .01 PrintAtCenter "Fatigue (of " & Fatigue.Score & ")", (#BoxRight# - #MidLine1#) / 2 + #MidLine1#, %curline% + .01 ***** print ST cost FontSize 10 PrintAtRight ST.Points, #CostCol#, %curline% + lpi + .01 ***** print ST score and text FontSize 18 FontStyle PRN_BOLD PrintAtLeft "ST", #StatCol#, %curline% + lpi PrintAtCenter ST.Score, #ScoreCol#, %curline% + lpi FontStyle PRN_NORMAL ** * move down to the next section ** MoveDown .55 ****************************** ***** Print DX, IQ, and Basic Damage ****************************** ******************** ***** DX box *************** set BoxLeft = (curLeftMargin + .25) set BoxTop = %curLine% set BoxRight = (#BoxLeft# + 1.5) set BoxBottom = (%curLine% + .5) *Box #BoxLeft# + .05, #BoxTop# + .05, #BoxRight# + .05, #BoxBottom# + .05, LTGREY, FILL BoxBorder #BoxLeft#, #BoxTop#, #BoxRight#, #BoxBottom#, WHITE, FILL ********** ***** fill it ***** ***** print DX cost FontSize 10 PrintAtRight DX.Points, #CostCol#, #BoxTop# + lpi + .01 ***** print DX score and text FontSize 18 FontStyle PRN_BOLD PrintAtLeft "DX", #StatCol#, #BoxTop# + lpi PrintAtCenter DX.Score, #ScoreCol#, #BoxTop# + lpi FontStyle PRN_NORMAL ******************** ***** IQ box *************** set BoxLeft = (curLeftMargin + .25) set BoxTop = (%curLine% + .55) set BoxRight = (#BoxLeft# + 1.5) set BoxBottom = (%curLine% + .55 + .5) *Box #BoxLeft# + .05, #BoxTop# + .05, #BoxRight# + .05, #BoxBottom# + .05, LTGREY, FILL BoxBorder #BoxLeft#, #BoxTop#, #BoxRight#, #BoxBottom#, WHITE, FILL ********** ***** fill it ***** ***** print IQ cost FontSize 10 PrintAtRight IQ.Points, #CostCol#, #BoxTop# + lpi + .01 ***** print IQ score and text FontSize 18 FontStyle PRN_BOLD PrintAtLeft "IQ", #StatCol#, #BoxTop# + lpi PrintAtCenter IQ.Score, #ScoreCol#, #BoxTop# + lpi FontStyle PRN_NORMAL ******************** ***** basic damage box *************** set BoxLeft = (curLeftMargin + 1.75 + .05) set BoxTop = %curLine% set BoxRight = (#BoxLeft# + 1.5 - .05) set BoxBottom = (%curLine% + .55 + .5) *Box #BoxLeft# + .05, #BoxTop# + .05, #BoxRight# + .05, #BoxBottom# + .05, LTGREY, FILL BoxBorder #BoxLeft#, #BoxTop#, #BoxRight#, #BoxBottom#, WHITE, FILL FontSize 8 PrintAtCenter "Damage", (#BoxRight# - #BoxLeft#) / 2 + #BoxLeft#, %curLine% + .01 ********** ***** fill it ***** FontSize 10 PrintAtCenter "Thrust: " & BaseTH, (#BoxRight# - #BoxLeft#) / 2 + #BoxLeft#, %curline% + lpi PrintAtCenter "Swing: " & BaseSW, (#BoxRight# - #BoxLeft#) / 2 + #BoxLeft#, %curline% + lpi * 2 ** * move down to the next section ** MoveDown (.55 * 2) ****************************** ***** Print HT and Hits Taken ****************************** ******************** ***** HT box *************** set BoxLeft = (curLeftMargin + .25) set BoxTop = %curline% set BoxRight = (#BoxLeft# + 3) set BoxBottom = (%curline% + .5) set MidLine1 = (#BoxRight# - 1.5) *Box #BoxLeft# + .05, #BoxTop# + .05, #BoxRight# + .05, #BoxBottom# + .05, LTGREY, FILL BoxBorder #BoxLeft#, #BoxTop#, #BoxRight#, #BoxBottom#, WHITE, FILL ***** divide into HT and Hits boxes Line #MidLine1#, #BoxTop#, #MidLine1#, #BoxBottom# ********** ***** fill it ***** ***** print Hits Taken FontSize 8 PrintAtCenter "Hits Taken (of " & Hit Points.Score & ")", (#BoxRight# - #MidLine1#) / 2 + #MidLine1#, %curline% + .01 ***** print Hit Points FontSize 10 PrintAtRight HT.Points, #CostCol#, %curline% + lpi + .01 ***** print HT score and text FontSize 18 FontStyle PRN_BOLD PrintAtLeft "HT", #StatCol#, %curline% + lpi PrintAtCenter HT.Score, #ScoreCol#, %curline% + lpi FontStyle PRN_NORMAL ***** ***** END STATS ***** ************************************************************ ** * move down to the next section ** MoveTo (#BoxBottom# + #SectionSpacer#) ************************************************************ ***** ***** MOVEMENT ***** ******************** ***** MVMT box *************** set BoxLeft = (curLeftMargin + .25) set BoxTop = %curline% set BoxRight = (#BoxLeft# + 3) set BoxBottom = (%curline% + 1) set MidLine1 = (#BoxLeft# + (#BoxRight# - #BoxLeft#) / 3) set MidLine2 = (#BoxLeft# + (#BoxRight# - #BoxLeft#) / 3 * 2) *Box #BoxLeft# + .05, #BoxTop# + .05, #BoxRight# + .05, #BoxBottom# + .05, LTGREY, FILL BoxBorder #BoxLeft#, #BoxTop#, #BoxRight#, #BoxBottom#, WHITE, FILL ***** divide into thirds Line #MidLine1#, #BoxTop#, #MidLine1#, #BoxBottom# Line #MidLine2#, #BoxTop#, #MidLine2#, #BoxBottom# ***** divide in sixths across horizontal Line #BoxLeft#, #BoxTop# + .5, #BoxRight#, #BoxTop# + .5 ********** ***** fill it ***** ***** print Mvmt text FontSize 14 FontStyle PRN_BOLD PrintAtCenter "Mvmt", (#MidLine1# - #BoxLeft#) / 2 + #BoxLeft#, %curline% + lpi ***** print Basic Speed and text FontSize 8 FontStyle PRN_NORMAL PrintAtCenter "Basic Speed", (#MidLine2# - #MidLine1#) / 2 + #MidLine1#, %curline% + .01 FontSize 12 PrintAtCenter Speed.Score, (#MidLine2# - #MidLine1#) / 2 + #MidLine1#, %curline% + lpi FontSize 8 FontStyle PRN_ITALIC PrintAtCenter "(HT+DX)/4", (#MidLine2# - #MidLine1#) / 2 + #MidLine1#, %curline% + lpi * 2 + .01 FontStyle PRN_NORMAL ***** print Move and text FontSize 8 FontStyle PRN_NORMAL PrintAtCenter "Move", (#BoxRight# - #MidLine2#) / 2 + #MidLine2#, %curline% + .01 FontSize 12 PrintAtCenter Move.Score, (#BoxRight# - #MidLine2#) / 2 + #MidLine2#, %curline% + lpi FontSize 8 FontStyle PRN_ITALIC PrintAtCenter "Round Off", (#BoxRight# - #MidLine2#) / 2 + #MidLine2#, %curline% + lpi * 2 + .01 FontStyle PRN_NORMAL ***** print Swim and text MoveDown .5 FontSize 8 FontStyle PRN_FONTNORMAL PrintAtCenter "Swim", (#MidLine1# - #BoxLeft#) / 2 + #BoxLeft#, %curline% + .01 FontSize 12 PrintAtCenter Swim.Score, (#MidLine1# - #BoxLeft#) / 2 + #BoxLeft#, %curline% + lpi FontSize 8 FontStyle PRN_FONTITALIC PrintAtCenter "(Base)", (#MidLine1# - #BoxLeft#) / 2 + #BoxLeft#, %curline% + lpi * 2 + .01 FontStyle PRN_NORMAL ***** ***** END MOVEMENT ***** ************************************************************ ** * move down to the next section ** MoveTo (#BoxBottom# + #SectionSpacer#) ************************************************************ ***** ***** ENCUMBRANCE ***** var chkBoxTop var chkBoxLeft var chkBoxBottom var chkBoxRight var i *create a rectangle around the active defense stuff set BoxLeft = (curLeftMargin + .25) set BoxTop = %curline% set BoxRight = (#BoxLeft# + 3) set BoxBottom = (%curline% + 1.3) *Box #BoxLeft# + .05, #BoxTop# + .05, #BoxRight# + .05, #BoxBottom# + .05, LTGREY, FILL BoxBorder #BoxLeft#, #BoxTop#, #BoxRight#, #BoxBottom#, WHITE, FILL *fill it FontSize 12 FontStyle PRN_BOLD PrintAtLeft "Encumbrance", #BoxLeft# + .125, %curline% + .03 PrintAtRight "Move", #BoxRight# - .125, %curline% + .03 MoveDown (lpi * 2) For i = 1 To 5 *create a chkbox set chkBoxLeft = (curLeftMargin + .25 + .125) set chkBoxTop = %curline% set chkBoxRight = (#chkBoxLeft# + lpi * .8) set chkBoxBottom = (%curline% + lpi * .8) *Box #chkBoxLeft# + .02, #chkBoxTop# + .02, #chkBoxRight# + .02, #chkBoxBottom# + .02, LTGREY, FILL BoxBorder #chkBoxLeft#, #chkBoxTop#, #chkBoxRight#, #chkBoxBottom#, WHITE, FILL *fill in information FontSize 10 FontStyle PRN_NORMAL if #i# = 1 then PrintAtLeft "None (" & No Encumbrance Move Reduction.Score & ")", #chkBoxLeft# + .25, %curline% PrintAtRight NEncMult & " x ST", #chkBoxLeft# + 1.5, %curline% PrintAtRight No Encumbrance.Score & " lbs", #chkBoxLeft# + 2.125, %curline% PrintAtRight No Encumbrance Move.Score, #chkBoxLeft# + 2.5, %curline% endif if #i# = 2 then PrintAtLeft "Light (" & Light Encumbrance Move Reduction.Score & ")", #chkBoxLeft# + .25, %curline% PrintAtRight LEncMult & " x ST", #chkBoxLeft# + 1.5, %curline% PrintAtRight Light Encumbrance.Score & " lbs", #chkBoxLeft# + 2.125, %curline% PrintAtRight Light Encumbrance Move.Score, #chkBoxLeft# + 2.5, %curline% endif if #i# = 3 then PrintAtLeft "Med (" & Medium Encumbrance Move Reduction.Score & ")", #chkBoxLeft# + .25, %curline% PrintAtRight MEncMult & " x ST", #chkBoxLeft# + 1.5, %curline% PrintAtRight Medium Encumbrance.Score & " lbs", #chkBoxLeft# + 2.125, %curline% PrintAtRight Medium Encumbrance Move.Score, #chkBoxLeft# + 2.5, %curline% endif if #i# = 4 then PrintAtLeft "Hvy (" & Heavy Encumbrance Move Reduction.Score & ")", #chkBoxLeft# + .25, %curline% PrintAtRight HEncMult & " x ST", #chkBoxLeft# + 1.5, %curline% PrintAtRight Heavy Encumbrance.Score & " lbs", #chkBoxLeft# + 2.125, %curline% PrintAtRight Heavy Encumbrance Move.Score, #chkBoxLeft# + 2.5, %curline% endif if #i# = 5 then PrintAtLeft "X-Hvy (" & X-Heavy Encumbrance Move Reduction.Score & ")", #chkBoxLeft# + .25, %curline% PrintAtRight XEncMult & " x ST", #chkBoxLeft# + 1.5, %curline% PrintAtRight X-Heavy Encumbrance.Score & " lbs", #chkBoxLeft# + 2.125, %curline% PrintAtRight X-Heavy Encumbrance Move.Score, #chkBoxLeft# + 2.5, %curline% endif MoveDown lpi Next ***** ***** END ENCUMBRANCE ***** ************************************************************ ** * move down to the next section ** MoveTo (#BoxBottom# + #SectionSpacer#) ************************************************************ ***** ***** ACTIVE DEFENSES ***** *create a rectangle around the active defense stuff set BoxLeft = (curLeftMargin + .25) set BoxTop = %curline% set BoxRight = (#BoxLeft# + 3) set BoxBottom = (%curline% + .5 + .25) set MidLine1 = (#BoxLeft# + (#BoxRight# - #BoxLeft#) / 3) set MidLine2 = (#BoxLeft# + (#BoxRight# - #BoxLeft#) / 3 * 2) *Box #BoxLeft# + .05, #BoxTop# + .05, #BoxRight# + .05, #BoxBottom# + .05, LTGREY, FILL BoxBorder #BoxLeft#, #BoxTop#, #BoxRight#, #BoxBottom#, WHITE, FILL *divide into thirds Line #MidLine1#, #BoxTop# + .25, #MidLine1#, #BoxBottom# Line #MidLine2#, #BoxTop# + .25, #MidLine2#, #BoxBottom# *put in SplitLine Line #BoxLeft#, #BoxTop# + .25, #BoxRight#, #BoxTop# + .25 *fill it FontSize 12 FontStyle PRN_BOLD PrintAtLeft "Active Defenses", #BoxLeft# + .125, %curline% + .03 FontSize 8 FontStyle PRN_NORMAL PrintAtCenter "Dodge", (#MidLine1# - #BoxLeft#) / 2 + #BoxLeft#, %curline% + .25 + .01 FontSize 12 PrintAtCenter Dodge.Score, (#MidLine1# - #BoxLeft#) / 2 + #BoxLeft#, %curline% + .25 + lpi FontSize 8 FontStyle PRN_ITALIC PrintAtCenter "= Move", (#MidLine1# - #BoxLeft#) / 2 + #BoxLeft#, %curline% + .25 + lpi * 2 + .01 FontStyle PRN_NORMAL FontSize 8 FontStyle PRN_NORMAL PrintAtCenter "Parry", (#MidLine2# - #MidLine1#) / 2 + #MidLine1#, %curline% + .25 + .01 FontSize 12 PrintAtCenter ParryScore, (#MidLine2# - #MidLine1#) / 2 + #MidLine1#, %curline% + .25 + lpi FontSize 8 FontStyle PRN_ITALIC PrintAtCenter ParryUsing & "*" & ParryAt, (#MidLine2# - #MidLine1#) / 2 + #MidLine1#, %curline% + .25 + lpi * 2 + .01 FontStyle PRN_NORMAL FontSize 8 FontStyle PRN_NORMAL PrintAtCenter "Block", (#BoxRight# - #MidLine2#) / 2 + #MidLine2#, %curline% + .25 + .01 FontSize 12 PrintAtCenter BlockScore, (#BoxRight# - #MidLine2#) / 2 + #MidLine2#, %curline% + .25 + lpi FontSize 8 FontStyle PRN_ITALIC PrintAtCenter BlockUsing & "*" & BlockAt, (#BoxRight# - #MidLine2#) / 2 + #MidLine2#, %curline% + .25 + lpi * 2 + .01 FontStyle PRN_NORMAL ***** ***** END ACTIVE DEFENSES ***** ************************************************************ ** * move down to the next section ** MoveTo (#BoxBottom# + #SectionSpacer#) if ((%curline% + 1.8) > Bottom_Margin) then nextCol movedown lpi endif ************************************************************ ***** ***** BODY PROTECTION ***** var MidLine3 var MidLine4 var MidLine5 var MidLine6 var MidLine7 *create a rectangle around the active defense stuff set BoxLeft = (curLeftMargin + .25) set BoxTop = %curline% set BoxRight = (#BoxLeft# + 3) set BoxBottom = (#BoxTop# + 1.8) set MidLine1 = (#BoxLeft# + (((#BoxRight# - #BoxLeft#) / 8) * 1)) set MidLine2 = (#BoxLeft# + (((#BoxRight# - #BoxLeft#) / 8) * 2)) set MidLine3 = (#BoxLeft# + (((#BoxRight# - #BoxLeft#) / 8) * 3)) set MidLine4 = (#BoxLeft# + (((#BoxRight# - #BoxLeft#) / 8) * 4)) set MidLine5 = (#BoxLeft# + (((#BoxRight# - #BoxLeft#) / 8) * 5)) set MidLine6 = (#BoxLeft# + (((#BoxRight# - #BoxLeft#) / 8) * 6)) set MidLine7 = (#BoxLeft# + (((#BoxRight# - #BoxLeft#) / 8) * 7)) *Box #BoxLeft# + .05, #BoxTop# + .05, #BoxRight# + .05, #BoxBottom# + .05, LTGREY, FILL BoxBorder #BoxLeft#, #BoxTop#, #BoxRight#, #BoxBottom#, WHITE, FILL *put in SplitLines Line #BoxLeft#, #BoxTop# + .4, #BoxRight#, #BoxTop# + .4 Line #BoxLeft#, #BoxTop# + .65, #BoxRight#, #BoxTop# + .65 Line #BoxLeft#, #BoxTop# + .9, #BoxRight#, #BoxTop# + .9 *divide into armor sections Line #MidLine1#, #BoxTop# + .4, #MidLine1#, #BoxTop# + .9 Line #MidLine2#, #BoxTop# + .4, #MidLine2#, #BoxTop# + .9 Line #MidLine3#, #BoxTop# + .4, #MidLine3#, #BoxTop# + .9 Line #MidLine4#, #BoxTop# + .4, #MidLine4#, #BoxBottom# Line #MidLine5#, #BoxTop# + .4, #MidLine5#, #BoxTop# + .9 Line #MidLine6#, #BoxTop# + .4, #MidLine6#, #BoxTop# + .9 Line #MidLine7#, #BoxTop# + .4, #MidLine7#, #BoxTop# + .9 *fill it FontSize 12 FontStyle PRN_BOLD PrintAtLeft "Body Protection", #BoxLeft# + .125, %curline% + .02 FontSize 8 FontStyle PRN_NORMAL PrintAtCenter "Head", (#MidLine2# - #MidLine1#) / 2 + #MidLine1#, %curline% + .25 PrintAtCenter "Body", (#MidLine3# - #MidLine2#) / 2 + #MidLine2#, %curline% + .25 PrintAtCenter "Arms", (#MidLine4# - #MidLine3#) / 2 + #MidLine3#, %curline% + .25 PrintAtCenter "Legs", (#MidLine5# - #MidLine4#) / 2 + #MidLine4#, %curline% + .25 PrintAtCenter "Hands", (#MidLine6# - #MidLine5#) / 2 + #MidLine5#, %curline% + .25 PrintAtCenter "Feet", (#MidLine7# - #MidLine6#) / 2 + #MidLine6#, %curline% + .25 PrintAtCenter "ALL", (#BoxRight# - #MidLine7#) / 2 + #MidLine7#, %curline% + .25 MoveDown .45 FontSize 8 PrintAtCenter "PD", (#MidLine1# - #BoxLeft#) / 2 + #BoxLeft#, %curline% FontSize 10 PrintAtCenter PDHead, (#MidLine2# - #MidLine1#) / 2 + #MidLine1#, %curline% PrintAtCenter PDBody, (#MidLine3# - #MidLine2#) / 2 + #MidLine2#, %curline% PrintAtCenter PDArms, (#MidLine4# - #MidLine3#) / 2 + #MidLine3#, %curline% PrintAtCenter PDLegs, (#MidLine5# - #MidLine4#) / 2 + #MidLine4#, %curline% PrintAtCenter PDHands, (#MidLine6# - #MidLine5#) / 2 + #MidLine5#, %curline% PrintAtCenter PDFeet, (#MidLine7# - #MidLine6#) / 2 + #MidLine6#, %curline% PrintAtCenter PD.Score, (#BoxRight# - #MidLine7#) / 2 + #MidLine7#, %curline% MoveDown .25 FontSize 8 PrintAtCenter "DR", (#MidLine1# - #BoxLeft#) / 2 + #BoxLeft#, %curline% FontSize 10 PrintAtCenter DRHead, (#MidLine2# - #MidLine1#) / 2 + #MidLine1#, %curline% PrintAtCenter DRBody, (#MidLine3# - #MidLine2#) / 2 + #MidLine2#, %curline% PrintAtCenter DRArms, (#MidLine4# - #MidLine3#) / 2 + #MidLine3#, %curline% PrintAtCenter DRLegs, (#MidLine5# - #MidLine4#) / 2 + #MidLine4#, %curline% PrintAtCenter DRHands, (#MidLine6# - #MidLine5#) / 2 + #MidLine5#, %curline% PrintAtCenter DRFeet, (#MidLine7# - #MidLine6#) / 2 + #MidLine6#, %curline% PrintAtCenter DR.Score, (#BoxRight# - #MidLine7#) / 2 + #MidLine7#, %curline% MoveDown .25 FontSize 10 FontStyle (PRN_NORMAL + PRN_UNDERLINE) PrintAtLeft "Other PD", #BoxLeft# + .1, %curline% PrintAtLeft "Other DR", #MidLine4# + .1, %curline% FontStyle PRN_NORMAL ******************** ***** Define the table to use in printing *************** table Field head(spacer), width(.35), align(prn_left) Field head(OtherPD), width(#MidLine4# - #BoxLeft# - .2), align(prn_left) Field head(spacer), width(.2), align(prn_left) Field head(OtherDR), width(#MidLine4# - #BoxLeft# - .2), align(prn_left) endtable MoveDown lpi tableprint , OtherPD, , OtherDR ***** ***** END BODY PROTECTION ***** ************************************************************ ** * move down to the next section ** *MoveTo (#BoxBottom# + #SectionSpacer#) if (%curcol% <> 1) then MoveTo (#BoxBottom# + #SectionSpacer#) endif if (%curcol% = 1) then NextCol MoveDown lpi endif ********** ***** restore font info ***** LPI 6 FontSize 10 ************************************************************ ***** ***** DESCRIPTION ***** *movedown #SectionSpacer# *nextcol FontStyle prn_Bold + prn_Underline Print "Description" FontStyle prn_Normal PrintWrapAtLeft Description, curLeftMargin, %curLine%, 3 ***** ***** END DESCRIPTION ***** ************************************************************ movedown #SectionSpacer# ************************************************************ ***** ***** POWERS ***** ******************** ***** Define the format for them *************** BeginList Powers Field head(Pts), include(Cost), position(.4), width(.4), align(prn_right) Field head(Power), include(DefaultView), position(.5) EndList ******************** ***** Make them get printed *************** If NumPowers then FontStyle prn_Bold + prn_Underline Print "POWERS" FontStyle prn_Normal endif DoList Powers ***** ***** END POWERS ***** ************************************************************ if NumPowers then ** * move down to the next section ** movedown #SectionSpacer# endif ************************************************************ ***** ***** ADVANTAGES ***** ******************** ***** Define the format for them *************** BeginList Ads Field head(Pts), include(Cost), position(.4), width(.4), align(prn_right) Field head(Advantage), include(DefaultView), position(.5) EndList ******************** ***** Make them get printed *************** FontStyle prn_Bold + prn_Underline Print "ADVANTAGES" FontStyle prn_Normal DoList Ads ***** ***** END ADVANTAGES ***** ************************************************************ if NumAds then ** * move down to the next section ** movedown #SectionSpacer# endif ************************************************************ ***** ***** DISADVANTAGES ***** ******************** ***** Define the format for them *************** BeginList Disads Field head(Pts), include(Cost), position(.4), width(.4), align(prn_right) Field head(Disadvantage), include(DefaultView), position(.5) EndList ******************** ***** Make them get printed *************** FontStyle prn_Bold + prn_Underline Print "DISADVANTAGES" FontStyle prn_Normal DoList Disads ***** ***** END DISADVANTAGES ***** ************************************************************ if NumDisads then ** * move down to the next section ** movedown #SectionSpacer# endif ************************************************************ ***** ***** QUIRKS ***** ******************** ***** Define the format for them *************** BeginList Quirks Field head(Pts), include(Cost), position(.4), width(.4), align(prn_right) Field head(Quirk), include(DefaultView), position(.5) EndList ******************** ***** Make them get printed *************** FontStyle prn_Bold + prn_Underline Print "QUIRKS" FontStyle prn_Normal DoList Quirks ***** ***** END QUIRKS ***** ************************************************************ if NumQuirks then ** * move down to the next section ** movedown #SectionSpacer# endif ************************************************************ ***** ***** POINT SUMMARY ***** FontStyle prn_Bold + prn_Underline Print "Point Summary" FontStyle prn_Normal ******************** ***** Define the table to use in printing *************** table Field width(1.25), align(prn_left) Field width(.5), align(prn_right) endtable ******************** ***** Print our point values using the tabled printing *************** tableprint "Attributes", StatsCost if NumPowers then tableprint "Powers", PowersCost endif tableprint "Advantages", AdsCost tableprint "Disadvantages", DisadsCost tableprint "Quirks", QuirksCost tableprint "Skills", SkillsCost if NumSpells then tableprint "Spells", SpellsCost endif FontStyle prn_Bold tableprint "Total", TotalCost FontStyle prn_Normal ***** ***** END POINT SUMMARY ***** ************************************************************ ************************************************************ ***** ***** SKILLS ***** ** * we want to start in a fresh column ** nextcol *if ((%curLine% + lpi*2) > Bottom_Margin) then * nextcol * movedown lpi *endif ******************** ***** Define the table to use in printing *************** table Field head(Skill), width(2.5), align(prn_left) Field head(Pts), width(.25), align(prn_right) Field head(Level), width(.5), align(prn_right) endtable ******************** ***** Print the header at the top of the section *************** FontStyle prn_Bold + prn_Underline Print "SKILLS" FontStyle prn_Normal FontStyle (PRN_BOLD + PRN_UNDERLINE) tableprint "Skill", "Pts", "Level" FontStyle PRN_NORMAL ******************** ***** Print all the skills using our table format *************** with Skills for num = 1 to NumSkills tableprint Skill(#Num#).View, Skill(#Num#).Points, Skill(#Num#).Level next ***** ***** END SKILLS ***** ************************************************************ ************************************************************ ***** ***** SPELLS ***** ** * don't print if no spells ** if NumSpells then ** * we want to start in a fresh column ** nextcol FontStyle prn_Bold + prn_Underline Print "SPELLS" FontStyle prn_Normal ******************** ***** Define the table to use in printing *************** table Field width(.25), align(prn_left) Field width(1), align(prn_left) Field width(1), align(prn_center) Field width(1), align(prn_right) endtable ******************** ***** Print all the spells using our table format and ***** wrapping of longer sections without a table *************** with Spells for num = 1 to NumSpells ********** ***** print the spell name info as a header ***** FontStyle prn_Bold Print Spell(#Num#).View FontStyle prn_Normal ********** ***** print these items using the table format ***** (the first comma makes the first column of the table print a blank section ***** acting as an indent) ***** tableprint , Spell(#Num#).Type , "Points: " & Spell(#Num#).Points, "Level: " & Spell(#Num#).Level tableprint , "Dur:" & Spell(#Num#).Duration, "Time: " & Spell(#Num#).Time, "Cost: " & Spell(#Num#).Cost ********** ***** print these items as paragraphs, indented from the left ***** PrintWrapAtLeft "Notes: " & Spell(#Num#).Notes & " (page " & Spells(#Num#).Page & ")", curLeftMargin +.25, %curLine%, 3 next endif ***** ***** END SPELLS ***** ************************************************************ ************************************************************ ***** ***** NOTES ***** movedown #SectionSpacer# *nextcol FontStyle prn_Bold + prn_Underline Print "Notes" FontStyle prn_Normal PrintWrapAtLeft Notes, curLeftMargin, %curLine%, 3 ***** ***** END NOTES ***** ************************************************************