This commit is contained in:
2023-02-25 00:34:05 -08:00
parent 106b8f3a69
commit 5c724317a7
5 changed files with 319 additions and 242 deletions

7
.gitignore vendored
View File

@@ -1,2 +1,7 @@
/dos/qb45
/dos/qbasic11
/dos/qbasic11
/tmp
/screenshots
/asm
/dos/sbf/sbf
/dos/sbf/sbf_start.command

View File

@@ -1,40 +0,0 @@
/------------------------------------------------------------------------------\
| Name: sadf | Sex: Male Generation: 12 |
| Clan: Brujah | Age: mmmmmm |
|--------------------------------------| Player: fdsa |
| Attributes | Chronicle: jfjf |
| Physical Social Mental | Haven: kkkkkk |
| Str. 5 App. 2 Int. 1 | Concept: llllll |
| Dex. 3 Cha. 2 Per. 1 |---------------------------------------|
| Sta. 2 Man. 4 Wit. 4 | Derangements: |
|--------------------------------------| _____________________________________ |
| Disciplines: | _____________________________________ |
| Obtenebration | _____________________________________ |
| Obtenebration | _____________________________________ |
| Obtenebration | _____________________________________ |
|------------------------------------------------------------------------------|
| Beast: 8 | Nature: Fanatic |
| Willpower: 2 | Demeanor: Architect |
|------------------------------------------------------------------------------|
| Abilities |
| Talents Skills Knowledges |
| Acting: 6 Animal Ken: 2 Bureaucracy: 1 |
| Alertness: 2 Drive: 2 Computer: 2 |
| Athletics: 2 Etiquette: 2 Finance: 1 |
| Brawl: 1 Firearms: 1 Investigation: 1 |
| Dodge: 1 Melee: 1 Law: 0 |
| Empathy: 1 Music: 1 Linguistics: 0 |
| Intimidation: 0 Repair: 0 Medecine: 0 |
| Leadership: 0 Security: 0 Occult: 0 |
| Streetwise: 0 Stealth: 0 Politics: 0 |
| Subterfuge: 0 Survival: 0 Science: 0 |
|------------------------------------------------------------------------------|
| Backgrounds: | Virtues: |
| Allies | Conscience: 0 |
| Contacts | Conviction: 3 |
| Contacts | Instinct: 5 |
| Fame | Self-Control: 0 |
| Generation | Courage: 2 |
|--------------------------------------/ |
| |
\------------------------------------------------------------------------------/

View File

@@ -1,40 +0,0 @@
/------------------------------------------------------------------------------\
| Name: _______________________________| Sex: Female Generation: 13 |
| Clan: Lasombra | Age: ________________________________ |
|--------------------------------------| Player: _____________________________ |
| Attributes | Chronicle: __________________________ |
| Physical Social Mental | Haven: ______________________________ |
| Str. 2 App. 3 Int. 3 | Concept: ____________________________ |
| Dex. 1 Cha. 2 Per. 5 |---------------------------------------|
| Sta. 3 Man. 3 Wit. 2 | Derangements: |
|--------------------------------------| _____________________________________ |
| Disciplines: | _____________________________________ |
| Vicissitude | _____________________________________ |
| Spiritus | _____________________________________ |
| Auspex | _____________________________________ |
|------------------------------------------------------------------------------|
| Chivalry: 7 | Nature: Autocrat |
| Willpower: 3 | Demeanor: Defender |
|------------------------------------------------------------------------------|
| Abilities |
| Talents Skills Knowledges |
| Acting: 0 Animal Ken: 0 Bureaucracy: 2 |
| Alertness: 2 Drive: 0 Computer: 3 |
| Athletics: 1 Etiquette: 1 Finance: 2 |
| Brawl: 1 Firearms: 1 Investigation: 1 |
| Dodge: 2 Melee: 1 Law: 0 |
| Empathy: 0 Music: 0 Linguistics: 2 |
| Intimidation: 1 Repair: 1 Medecine: 1 |
| Leadership: 0 Security: 1 Occult: 1 |
| Streetwise: 0 Stealth: 0 Politics: 0 |
| Subterfuge: 2 Survival: 0 Science: 1 |
|------------------------------------------------------------------------------|
| Backgrounds: | Virtues: |
| Contacts | Conscience: 2 |
| Influence | Conviction: 0 |
| Allies | Instinct: 0 |
| Herd | Self-Control: 5 |
| Status | Courage: 3 |
|--------------------------------------/ |
| |
\------------------------------------------------------------------------------/

View File

@@ -1,40 +0,0 @@
/------------------------------------------------------------------------------\
| Name: Randy | Sex: Female Generation: 12 |
| Clan: Gangrel | Age: ________________________________ |
|--------------------------------------| Player: _____________________________ |
| Attributes | Chronicle: __________________________ |
| Physical Social Mental | Haven: ______________________________ |
| Str. 3 App. 1 Int. 2 | Concept: ____________________________ |
| Dex. 6 Cha. 3 Per. 3 |---------------------------------------|
| Sta. 1 Man. 2 Wit. 3 | Derangements: |
|--------------------------------------| _____________________________________ |
| Disciplines: | _____________________________________ |
| Animalism | _____________________________________ |
| Celerity | _____________________________________ |
| Mortis | _____________________________________ |
|------------------------------------------------------------------------------|
| Devil: 7 | Nature: Traditionalist |
| Willpower: 3 | Demeanor: Bon vivant |
|------------------------------------------------------------------------------|
| Abilities |
| Talents Skills Knowledges |
| Acting: 1 Animal Ken: 0 Bureaucracy: 1 |
| Alertness: 2 Drive: 0 Computer: 0 |
| Athletics: 1 Etiquette: 0 Finance: 1 |
| Brawl: 1 Firearms: 0 Investigation: 3 |
| Dodge: 1 Melee: 0 Law: 1 |
| Empathy: 1 Music: 0 Linguistics: 3 |
| Intimidation: 1 Repair: 0 Medecine: 0 |
| Leadership: 0 Security: 2 Occult: 2 |
| Streetwise: 0 Stealth: 1 Politics: 2 |
| Subterfuge: 1 Survival: 2 Science: 0 |
|------------------------------------------------------------------------------|
| Backgrounds: | Virtues: |
| Retainers | Conscience: 0 |
| Contacts | Conviction: 2 |
| Retainers | Instinct: 5 |
| Generation | Self-Control: 0 |
| Herd | Courage: 3 |
|--------------------------------------/ |
| |
\------------------------------------------------------------------------------/

View File

@@ -3,6 +3,10 @@ $Debug
' TODO: See if other combinations of clan and other variables cause sub questions.
Randomize Timer
'Call Test
'End
' TODO: maybe make these some kind of typedef with an id and a label constants or enums would be great
Const All_Clans_Count = 18
Dim Shared All_Clans(1 To All_Clans_Count) As String
@@ -26,38 +30,38 @@ All_Clans(17) = "Tzismice"
All_Clans(18) = "Ventrue"
' TODO: Find a word that encapsulates both nature and demeanor. There is probably one in the book.
Const All_Natures_Count = 30
Dim Shared All_Natures(1 To All_Natures_Count) As String
All_Natures(1) = "Architect"
All_Natures(2) = "Autocrat"
All_Natures(3) = "Barbarian"
All_Natures(4) = "Bon Vivant"
All_Natures(5) = "Bravo"
All_Natures(6) = "Caregiver"
All_Natures(7) = "Caretaker"
All_Natures(8) = "Celebrant"
All_Natures(9) = "Child"
All_Natures(10) = "Conformist"
All_Natures(11) = "Conniver"
All_Natures(12) = "Curmudgeon"
All_Natures(13) = "Defender"
All_Natures(14) = "Deviant"
All_Natures(15) = "Director"
All_Natures(16) = "Fanatic"
All_Natures(17) = "Gallant"
All_Natures(18) = "Innovator"
All_Natures(19) = "Jester"
All_Natures(20) = "Judge"
All_Natures(21) = "Loner"
All_Natures(22) = "Martyr"
All_Natures(23) = "Monster"
All_Natures(24) = "Penitent"
All_Natures(25) = "Rebel"
All_Natures(26) = "Rogue"
All_Natures(27) = "Survivor"
All_Natures(28) = "Traditionalist"
All_Natures(29) = "Tyrant"
All_Natures(30) = "Visionary"
Const All_Archetypes_Count = 30
Dim Shared All_Archetypes(1 To All_Archetypes_Count) As String
All_Archetypes(1) = "Architect"
All_Archetypes(2) = "Autocrat"
All_Archetypes(3) = "Barbarian"
All_Archetypes(4) = "Bon Vivant"
All_Archetypes(5) = "Bravo"
All_Archetypes(6) = "Caregiver"
All_Archetypes(7) = "Caretaker"
All_Archetypes(8) = "Celebrant"
All_Archetypes(9) = "Child"
All_Archetypes(10) = "Conformist"
All_Archetypes(11) = "Conniver"
All_Archetypes(12) = "Curmudgeon"
All_Archetypes(13) = "Defender"
All_Archetypes(14) = "Deviant"
All_Archetypes(15) = "Director"
All_Archetypes(16) = "Fanatic"
All_Archetypes(17) = "Gallant"
All_Archetypes(18) = "Innovator"
All_Archetypes(19) = "Jester"
All_Archetypes(20) = "Judge"
All_Archetypes(21) = "Loner"
All_Archetypes(22) = "Martyr"
All_Archetypes(23) = "Monster"
All_Archetypes(24) = "Penitent"
All_Archetypes(25) = "Rebel"
All_Archetypes(26) = "Rogue"
All_Archetypes(27) = "Survivor"
All_Archetypes(28) = "Traditionalist"
All_Archetypes(29) = "Tyrant"
All_Archetypes(30) = "Visionary"
Const All_Disciplines_Count = 24
Dim Shared All_Disciplines(1 To All_Disciplines_Count) As String
@@ -86,6 +90,31 @@ All_Disciplines(22) = "Thanantosis"
All_Disciplines(23) = "Thaumaturgy"
All_Disciplines(24) = "Vicissitude"
Type CharacterType
name As String
player As String
chronicle As String
haven As String
concept As String
age As String
sex As Integer
clan As Integer
nature As Integer
demeanor As Integer
'disciplines() as integer
' Attributes
attr_strength As Integer
attr_dexterity As Integer
attr_stamina As Integer
attr_appearance As Integer
attr_charisma As Integer
attr_manipulation As Integer
attr_intelligence As Integer
attr_perception As Integer
attr_wits As Integer
End Type
' Splash screen
Cls
Print " Welcome to Tom's Storyteller's Best Friend. This is a program that is meant"
@@ -190,9 +219,9 @@ Sub PrintMenu (items() As String, num_items As Integer)
Next
For i = 1 To num_items
Print MakeFit$(Str$(i), index_length, " ") + " = " + MakeFitR$(items(i), max_item_length, " ");
Print MakeFitR$(Str$(i), index_length, " ") + " = " + MakeFitL$(items(i), max_item_length, " ");
Next
Print MakeFit$("0", index_length, " ") + " = " + MakeFitR$("Random", max_item_length, " ")
Print MakeFitR$("0", index_length, " ") + " = " + MakeFitL$("Random", max_item_length, " ")
End Sub
Sub PrintMenuWithValues (items() As String, values() As Integer, num_items As Integer)
@@ -206,17 +235,29 @@ Sub PrintMenuWithValues (items() As String, values() As Integer, num_items As In
Next
For i = 1 To num_items
Print MakeFit$(Str$(i), max_index_length, " ") + " = " + MakeFitR$(items(i), max_item_length, " ") + MakeFit$(Str$(values(i)), max_value_length, " ");
Print MakeFitR$(Str$(i), max_index_length, " ") + " = " + MakeFitL$(items(i), max_item_length, " ") + MakeFitR$(Str$(values(i)), max_value_length, " ");
Next
Print MakeFit$("0", index_length, " ") + " = " + MakeFitR$("Random", max_item_length, " ")
Print MakeFitR$("0", index_length, " ") + " = " + MakeFitL$("Random", max_item_length, " ")
End Sub
Function MakeFit$ (text As String, length As Integer, pad As String)
MakeFit = Right$(String$(length, pad) + text, length)
Function MakeFitL$ (text As String, length As Integer, pad As String)
MakeFitL = Left$(text + String$(length, pad), length)
End Function
Function MakeFitC$ (text As String, length As Integer, pad As String)
'Chop text if necessary
TextLength = Len(text)
LeftPadLength = MaxI(0, length - TextLength) \ 2
RightPadLength = MaxI(0, length - TextLength - LeftPadLength)
LeftPad$ = String$(LeftPadLength, pad)
RightPad$ = String$(RightPadLength, pad)
TotalChop = MaxI(0, TextLength - length)
LeftChop = TotalChop \ 2 + 1
MakeFitC = LeftPad$ + Mid$(text, LeftChop, length) + RightPad$
End Function
Function MakeFitR$ (text As String, length As Integer, pad As String)
MakeFitR = Left$(text + String$(length, pad), length)
MakeFitR = Right$(String$(length, pad) + text, length)
End Function
Function MaxI (val1 As Integer, val2 As Integer)
@@ -228,30 +269,32 @@ Function MaxI (val1 As Integer, val2 As Integer)
End Function
Sub CharacterGenerator ()
Input "What is the character's name? ", name$
Input "Who is the player? ", player$
Input "What chronicle is the character going to be used for? ", chronicle$
Input "What is the character's Haven? ", haven$
Input "What is the character's concept? ", concept$
Input "How old is the character? ", age$
Dim ch As CharacterType
Input "What is the character's name? ", ch.name
Input "Who is the player? ", ch.player
Input "What chronicle is the character going to be used for? ", ch.chronicle
Input "What is the character's Haven? ", ch.haven
Input "What is the character's concept? ", ch.concept
Input "How old is the character? ", ch.age
Print "What is the sex of the character? 1 = Male 2 = Female 0 = Random"
sex = GetChoice(0, 2)
If sex > 2 Or sex < 1 Then sex = GetRandomInt(1, 2)
ch.sex = GetChoice(0, 2)
If ch.sex > 2 Or ch.sex < 1 Then ch.sex = GetRandomInt(1, 2)
Cls
Print "What Clan is the character from?"
Call PrintMenu(All_Clans(), All_Clans_Count)
clan = GetChoice(0, All_Clans_Count)
If clan > All_Clans_Count Or clan < 1 Then clan = GetRandomInt(1, All_Clans_Count)
ch.clan = GetChoice(0, All_Clans_Count)
If ch.clan > All_Clans_Count Or ch.clan < 1 Then ch.clan = GetRandomInt(1, All_Clans_Count)
Cls
Print "What is your character's Nature?"
Call PrintMenu(All_Natures(), All_Natures_Count)
nature = GetChoice(0, All_Natures_Count)
If nature > All_Natures_Count Or nature < 1 Then nature = GetRandomInt(1, All_Natures_Count)
Call PrintMenu(All_Archetypes(), All_Archetypes_Count)
ch.nature = GetChoice(0, All_Archetypes_Count)
If ch.nature > All_Archetypes_Count Or ch.nature < 1 Then ch.nature = GetRandomInt(1, All_Archetypes_Count)
Cls
Print "What is your character's Demeanor?"
Call PrintMenu(All_Natures(), All_Natures_Count)
demeanor = GetChoice(0, All_Natures_Count)
If demeanor > All_Natures_Count Or demeanor < 1 Then demeanor = GetRandomInt(1, All_Natures_Count)
Call PrintMenu(All_Archetypes(), All_Archetypes_Count)
ch.demeanor = GetChoice(0, All_Archetypes_Count)
If ch.demeanor > All_Archetypes_Count Or ch.demeanor < 1 Then ch.demeanor = GetRandomInt(1, All_Archetypes_Count)
' The character starts with 3 discipline points and they can spend them on one or more disciplines
Dim disciplines(1 To All_Disciplines_Count) As Integer
@@ -270,27 +313,140 @@ Sub CharacterGenerator ()
discipline_points = discipline_points - 1
Wend
' TODO: Choose primary/secondary/tertiary attributes
'Print "1 = Physical 2 = Social 3 = Mental 0 = Random"
'Print "Which is your primary Attribute? "
'Print "Which is your secondary attribute? "
'Print "Which is your tertiary attribute? "
Const All_Attributes_Count = 3
Dim All_Attributes(1 To All_Attributes_Count) As String
All_Attributes(1) = "Physical"
All_Attributes(2) = "Social"
All_Attributes(3) = "Mental"
' TODO: Spend attribute points order should be physical mental social not primary secondary tertiary
'Print "Your mental attributes are:"
'Print "Intelligence 1 Perception 1 Wits 1"
'Print "Which would you like to add 1 of your 7 points to?"
'Print "1 = Intelligence 2 = Perception 3 = Wits 0 = Random"
' TODO: Find a more general form for this that stores the chosen attributes in an array
Dim PrimaryAttribute As Integer
Do
Cls
Print "1 = " + All_Attributes(1) + " ";
Print "2 = " + All_Attributes(2) + " ";
Print "3 = " + All_Attributes(3) + " ";
Print "0 = Random"
Input "Choose your primary attribute?"; PrimaryAttribute
If PrimaryAttribute = 0 Then PrimaryAttribute = GetRandomInt(1, All_Attributes_Count)
Loop While (PrimaryAttribute > All_Attributes_Count And PrimaryAttribute < 1)
'Print "Your physical attributes are:"
'Print "Strength 1 Dexterity 1 Stamina 1"
'Print "Which would you like to add 1 of your 5 points to?"
'Print "1 = Strength 2 = Dexterity 3 = Stamina 0 = Random"
Dim SecondaryAttribute As Integer
Dim TertiaryAttribute As Integer
Do
Cls
If PrimaryAttribute <> 1 Then Print "1 = " + All_Attributes(1) + " ";
If PrimaryAttribute <> 2 Then Print "2 = " + All_Attributes(2) + " ";
If PrimaryAttribute <> 3 Then Print "3 = " + All_Attributes(3) + " ";
Print "0 = Random"
Input "Choose your secondary attribute?"; SecondaryAttribute
If SecondaryAttribute = 0 Or SecondaryAttribute = PrimaryAttribute Then
SecondaryAttribute = GetRandomInt(1, All_Attributes_Count - 1)
If SecondaryAttribute >= PrimaryAttribute Then
PrimaryAttribute = PrimaryAttribute + 1
End If
End If
Loop Until SecondaryAttribute >= 1 And SecondaryAttribute <= 3
' General formula for last choice is
' Sum(1..AllAttributesCount)-Sum(Choice[1]..Choice[AllAttributesCount-1])
TertiaryAttribute = 2 * All_Attributes_Count - PrimaryAttribute - SecondaryAttribute
'Print "Your social attributes are:"
'Print "Appearance 1 Charisma 1 Manipulation 1"
'Print "Which would you like to add 1 of your 3 points to?"
'Print "1 = Appearance 2 = Charisma 3 = Manipulation 0 = Random"
' Initialize all attributes to 1
ch.attr_strength = 1
ch.attr_dexterity = 1
ch.attr_stamina = 1
ch.attr_appearance = 1
ch.attr_charisma = 1
ch.attr_manipulation = 1
ch.attr_intelligence = 1
ch.attr_perception = 1
ch.attr_wits = 1
' Initialize physical, social, and mental points
Select Case PrimaryAttribute
Case 1
PhysicalPoints = 7
Case 2
SocialPoints = 7
Case 3
MentalPoints = 7
End Select
Select Case SecondaryAttribute
Case 1
PhysicalPoints = 5
Case 2
SocialPoints = 5
Case 3
MentalPoints = 5
End Select
Select Case TertiaryAttribute
Case 1
PhysicalPoints = 3
Case 2
SocialPoints = 3
Case 3
MentalPoints = 3
End Select
' Spend physical points
Do
Cls
Print "Your physical attributes are:"
Print "Strength " + Str$(ch.attr_strength) + ", Dexterity " + Str$(ch.attr_dexterity) + ", Stamina " + Str$(ch.attr_stamina)
Print "Which attribute would you like to add 1 of your " + Str$(PhysicalPoints) + " points to?"
Print "1 = Strength 2 = Dexterity 3 = Stamina 0 = Random"
attr = GetChoice(0, 3)
If attr = 0 Then attr = GetRandomInt(1, 3)
Select Case attr
Case 1
ch.attr_strength = ch.attr_strength + 1
Case 2
ch.attr_dexterity = ch.attr_dexterity + 1
Case 3
ch.attr_stamina = ch.attr_stamina + 1
End Select
PhysicalPoints = PhysicalPoints - 1
Loop While PhysicalPoints > 0
' Spend social points
Do
Cls
Print "Your social attributes are:"
Print "Appearance " + Str$(appearance) + ", Charisma " + Str$(charisma) + ", Manipulation " + Str$(manipulation)
Print "Which attribute would you like to add 1 of your " + Str$(SocialPoints) + " points to?"
Print "1 = Appearance 2 = Charisma 3 = Manipulation 0 = Random"
attr = GetChoice(0, 3)
If attr = 0 Then attr = GetRandomInt(1, 3)
Select Case attr
Case 1
ch.attr_appearance = ch.attr_appearance + 1
Case 2
ch.attr_charisma = ch.attr_charisma + 1
Case 3
ch.attr_manipulation = ch.attr_manipulation + 1
End Select
SocialPoints = SocialPoints - 1
Loop While SocialPoints > 0
' Spend mental points
Do
Cls
Print "Your mental attributes are:"
Print "Intelligence " + Str$(intelligence) + ", Perception " + Str$(perception) + ", Wits " + Str$(wits)
Print "Which attribute would you like to add 1 of you " + Str$(MentalPoints) + " points to?"
Print "1 = Intelligence 2 = Perception 3 = Wits 0 = Random"
attr = GetChoice(0, 3)
If attr = 0 Then attr = GetRandomInt(1, 3)
Select Case attr
Case 1
ch.attr_intelligence = ch.attr_intelligence + 1
Case 2
ch.attr_perception = ch.attr_perception + 1
Case 3
ch.attr_wits = ch.attr_wits + 1
End Select
MentalPoints = MentalPoints - 1
Loop While MentalPoints > 0
' TODO: Choose priorities for talents/skills/knowledges
'Print "1 = Talents 2 = Skills 3 = Knowledges 0 = Random"
@@ -379,57 +535,79 @@ Sub CharacterGenerator ()
'210 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
'220 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
'230 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD>
'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ
'<27> Name: Steve <20> Sex: Male Generation 13 <20>
'<27> Clan: Giovanni <20> Age: 182 <20>
'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͹ Player: kevin <20>
'<27> Attributes <20> Chronicle: chron <20>
'<27> Physical Social Mental <20> Haven: haven <20>
'<27> Str. 3 App. 3 Int. 4 <20> Concept: concept <20>
'<27> Dex. 3 Cha. 1 Per. 4 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͹
'<27> Sta. 2 Man. 2 Wit. 2 <20> Derangements: <20>
'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͹ _______ <20>
'<27> Disciplines: <20> _______ <20>
'<27> Thaumaturgy <20> _______ <20>
'<27> Fortitude <20> _______ <20>
'<27> Celerity <20> _______ <20>
'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͹
'<27> Heaven: 6 <20> Nature: Architect <20>
'<27> Willpower: 4 <20> Demeanor: Autocrat <20>
'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͹
'<27> <20>
'<27> <20>
'<27> <20>
'<27> <<PRESS ANY KEY TO CONTINUE>> <20>
'<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ
'|------------------------------------------------------------------------------|
'| Abilities |
'| Talents Skills Knowledges
'| Acting: 0 Animal Ken: 0 Bureaucracy: 0
'| Alertness: 0 Drive: 0 Computer: 0
'| Athletics: 0 Etiquette: 0 Finance: 0
'| Brawl: 0 Firearms: 0 Investigation: 0
'| Dodge: 0 Melee: 0 Law: 0
'| Empathy: 0 Music: 0 Linguistics: 0
'| Intimidation: 0 Repair: 0 Medicine: 0
'| Leadership: 0 Security: 0 Occult: 0
'| Streetwise: 0 Stealth: 0 Politics: 0
'| Subterfuge: 0 Survival: 0 Science: 0
'|---|---|
'| Backgrounds: | Virtues:
'| Status | Conscience: 3
'| Resources | Conviction: 0
'| Status | Instinct: 0
'| Contacts | Self-Control: 3
'| Retainers | Courage: 4
'|------|---|
'| <<PRESS ANY KEY TO CONTINUE>>
'|----|
' Do you want to save the character to a file? (Y/N)
' Where do you want the file to be saved? (default is C:\Windows\Desktop)?
' What do you want the file to be called? (default is CHAR1)?
' enquote forms s/^([ɺ<><C9BA><EFBFBD>].*[<5B><><EFBFBD><EFBFBD>])$/print "$1"/g
Input a
' TODO: figure out how to actually calculate generation
generation$ = "13"
If ch.sex = 1 Then sex_string$ = "Male" Else sex_string$ = "Female"
clan_string$ = All_Clans(ch.clan)
Dim discipline_strings$(3)
discipline_1_string$ = ""
discipline_2_string$ = ""
discipline_3_string$ = ""
discipline_strings_index = 0
For index = 1 To All_Disciplines_Count
If disciplines(index) > 0 Then
suffix$ = ""
If disciplines(index) > 1 Then
suffix$ = " x" + Str$(disciplines(index))
End If
discipline_strings$(discipline_strings_index) = All_Disciplines(index) + suffix$
End If
Next
Cls
Print "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ"
Print "<22> Name: " + MakeFitL$(ch.name, 30, " ") + " <20> Sex: " + MakeFitL$(sex_string$, 10, " ") + " Generation: " + MakeFitL$(generation$, 9, " ") + " <20>"
Print "<22> Clan: " + MakeFitL$(clan_string$, 30, " ") + " <20> Age: " + MakeFitL$(age$, 32, " ") + " <20>"
Print "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͹ Player: " + MakeFitL$(player$, 29, " ") + " <20>"
Print "<22> Attributes <20> Chronicle: " + MakeFitL$(chronicle$, 26, " ") + " <20>"
Print "<22> Physical Social Mental <20> Haven: " + MakeFitL$(haven$, 30, " ") + " <20>"
Print "<22> Str. " + MakeFitL$(Str$(ch.attr_strength), 7, " ") + " App. " + MakeFitL$(Str$(ch.attr_appearance), 7, " ") + " Int. " + MakeFitL$(Str$(ch.attr_intelligence), 5, " ") + " <20> Concept: " + MakeFitL$(concept$, 28, " ") + " <20>"
Print "<22> Dex. " + MakeFitL$(Str$(ch.attr_dexterity), 7, " ") + " Cha. " + MakeFitL$(Str$(ch.attr_charisma), 7, " ") + " Per. " + MakeFitL$(Str$(ch.attr_perception), 5, " ") + " <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͹"
Print "<22> Sta. " + MakeFitL$(Str$(ch.attr_stamina), 7, " ") + " Man. " + MakeFitL$(Str$(ch.attr_manipulation), 7, " ") + " Wit. " + MakeFitL$(Str$(ch.attr_wits), 5, " ") + " <20> Derangements: <20>"
Print "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͹ Regression,__________________________ <20>"
Print "<22> Disciplines: <20> _____________________________________ <20>"
Print "<22> " + MakeFitL$(discipline_strings$(0), 36, " ") + " <20> _____________________________________ <20>"
Print "<22> " + MakeFitL$(discipline_strings$(1), 36, " ") + " <20> _____________________________________ <20>"
Print "<22> " + MakeFitL$(discipline_strings$(2), 36, " ") + " <20> _____________________________________ <20>"
Print "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͹"
Print "<22> Typhon: 7 <20> Nature: " + MakeFitL$(All_Archetypes(ch.nature), 29, " ") + " <20>"
Print "<22> Willpower: 3 <20> Demeanor: " + MakeFitL$(All_Archetypes(ch.demeanor), 27, " ") + " <20>"
Print "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͹"
Print "<22> <20>"
Print "<22> <20>"
Print "<22> <20>"
Print "<22> <<PRESS ANY KEY TO CONTINUE>> <20>"
Print "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ"
Input a
Print "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ"
Print "<22> Abilities <20>"
Print "<22> Talents Skills Knowledges <20>"
Print "<22> Acting: 2 Animal Ken: 1 Bureaucracy: 0 <20>"
Print "<22> Alertness: 1 Drive: 1 Computer: 1 <20>"
Print "<22> Athletics: 1 Etiquette: 0 Finance: 0 <20>"
Print "<22> Brawl: 2 Firearms: 2 Investigation: 0 <20>"
Print "<22> Dodge: 3 Melee: 0 Law: 0 <20>"
Print "<22> Empathy: 0 Music: 0 Linguistics: 2 <20>"
Print "<22> Intimidation: 0 Repair: 2 Medecine: 1 <20>"
Print "<22> Leadership: 1 Security: 1 Occult: 0 <20>"
Print "<22> Streetwise: 1 Stealth: 2 Politics: 1 <20>"
Print "<22> Subterfuge: 2 Survival: 0 Science: 0 <20>"
Print "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͹"
Print "<22> Backgrounds: <20> Virtues: <20>"
Print "<22> Allies <20> Conscience: 0 <20>"
Print "<22> Allies <20> Conviction: 4 <20>"
Print "<22> Contacts <20> Instinct: 3 <20>"
Print "<22> Resources <20> Self-Control: 0 <20>"
Print "<22> Status <20> Courage: 3 <20>"
Print "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͹"
Print "<22> <<PRESS ANY KEY TO CONTINUE>> <20>"
Print "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ"
@@ -476,5 +654,19 @@ Sub VehicleGenerator
Print "VehicleGenerator"
End Sub
Sub Test
Print "|" + MakeFitL$("a left aligned string", 50, " ") + "|"
Print "|" + MakeFitC$("a center aligned string", 50, " ") + "|"
Print "|" + MakeFitR$("a right aligned string", 50, " ") + "|"
Print "test"
Print "|" + MakeFitC$("This is a long string", 10, " ") + "|"
Print "|" + MakeFitC$("hello", 10, " ") + "|"
Print "|" + MakeFitC$("1234567890", 10, " ") + "|"
Print "|" + Mid$("1234567890", 1, 10) + "|" ' 123456789
Print "|" + Mid$("12345678901", 1, 10) + "|" ' 123456789
Print "|" + Mid$("A1234567890", 2, 10) + "|" ' A123456789
Print "|" + Mid$("A1234567890Z", 2, 10) + "|" 'A123456789
End Sub