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/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. ' TODO: See if other combinations of clan and other variables cause sub questions.
Randomize Timer 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 ' 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 Const All_Clans_Count = 18
Dim Shared All_Clans(1 To All_Clans_Count) As String Dim Shared All_Clans(1 To All_Clans_Count) As String
@@ -26,38 +30,38 @@ All_Clans(17) = "Tzismice"
All_Clans(18) = "Ventrue" All_Clans(18) = "Ventrue"
' TODO: Find a word that encapsulates both nature and demeanor. There is probably one in the book. ' TODO: Find a word that encapsulates both nature and demeanor. There is probably one in the book.
Const All_Natures_Count = 30 Const All_Archetypes_Count = 30
Dim Shared All_Natures(1 To All_Natures_Count) As String Dim Shared All_Archetypes(1 To All_Archetypes_Count) As String
All_Natures(1) = "Architect" All_Archetypes(1) = "Architect"
All_Natures(2) = "Autocrat" All_Archetypes(2) = "Autocrat"
All_Natures(3) = "Barbarian" All_Archetypes(3) = "Barbarian"
All_Natures(4) = "Bon Vivant" All_Archetypes(4) = "Bon Vivant"
All_Natures(5) = "Bravo" All_Archetypes(5) = "Bravo"
All_Natures(6) = "Caregiver" All_Archetypes(6) = "Caregiver"
All_Natures(7) = "Caretaker" All_Archetypes(7) = "Caretaker"
All_Natures(8) = "Celebrant" All_Archetypes(8) = "Celebrant"
All_Natures(9) = "Child" All_Archetypes(9) = "Child"
All_Natures(10) = "Conformist" All_Archetypes(10) = "Conformist"
All_Natures(11) = "Conniver" All_Archetypes(11) = "Conniver"
All_Natures(12) = "Curmudgeon" All_Archetypes(12) = "Curmudgeon"
All_Natures(13) = "Defender" All_Archetypes(13) = "Defender"
All_Natures(14) = "Deviant" All_Archetypes(14) = "Deviant"
All_Natures(15) = "Director" All_Archetypes(15) = "Director"
All_Natures(16) = "Fanatic" All_Archetypes(16) = "Fanatic"
All_Natures(17) = "Gallant" All_Archetypes(17) = "Gallant"
All_Natures(18) = "Innovator" All_Archetypes(18) = "Innovator"
All_Natures(19) = "Jester" All_Archetypes(19) = "Jester"
All_Natures(20) = "Judge" All_Archetypes(20) = "Judge"
All_Natures(21) = "Loner" All_Archetypes(21) = "Loner"
All_Natures(22) = "Martyr" All_Archetypes(22) = "Martyr"
All_Natures(23) = "Monster" All_Archetypes(23) = "Monster"
All_Natures(24) = "Penitent" All_Archetypes(24) = "Penitent"
All_Natures(25) = "Rebel" All_Archetypes(25) = "Rebel"
All_Natures(26) = "Rogue" All_Archetypes(26) = "Rogue"
All_Natures(27) = "Survivor" All_Archetypes(27) = "Survivor"
All_Natures(28) = "Traditionalist" All_Archetypes(28) = "Traditionalist"
All_Natures(29) = "Tyrant" All_Archetypes(29) = "Tyrant"
All_Natures(30) = "Visionary" All_Archetypes(30) = "Visionary"
Const All_Disciplines_Count = 24 Const All_Disciplines_Count = 24
Dim Shared All_Disciplines(1 To All_Disciplines_Count) As String 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(23) = "Thaumaturgy"
All_Disciplines(24) = "Vicissitude" 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 ' Splash screen
Cls Cls
Print " Welcome to Tom's Storyteller's Best Friend. This is a program that is meant" 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 Next
For i = 1 To num_items 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 Next
Print MakeFit$("0", index_length, " ") + " = " + MakeFitR$("Random", max_item_length, " ") Print MakeFitR$("0", index_length, " ") + " = " + MakeFitL$("Random", max_item_length, " ")
End Sub End Sub
Sub PrintMenuWithValues (items() As String, values() As Integer, num_items As Integer) 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 Next
For i = 1 To num_items 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 Next
Print MakeFit$("0", index_length, " ") + " = " + MakeFitR$("Random", max_item_length, " ") Print MakeFitR$("0", index_length, " ") + " = " + MakeFitL$("Random", max_item_length, " ")
End Sub End Sub
Function MakeFit$ (text As String, length As Integer, pad As String) Function MakeFitL$ (text As String, length As Integer, pad As String)
MakeFit = Right$(String$(length, pad) + text, length) 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 End Function
Function MakeFitR$ (text As String, length As Integer, pad As String) 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 End Function
Function MaxI (val1 As Integer, val2 As Integer) Function MaxI (val1 As Integer, val2 As Integer)
@@ -228,30 +269,32 @@ Function MaxI (val1 As Integer, val2 As Integer)
End Function End Function
Sub CharacterGenerator () Sub CharacterGenerator ()
Input "What is the character's name? ", name$ Dim ch As CharacterType
Input "Who is the player? ", player$
Input "What chronicle is the character going to be used for? ", chronicle$ Input "What is the character's name? ", ch.name
Input "What is the character's Haven? ", haven$ Input "Who is the player? ", ch.player
Input "What is the character's concept? ", concept$ Input "What chronicle is the character going to be used for? ", ch.chronicle
Input "How old is the character? ", age$ 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" Print "What is the sex of the character? 1 = Male 2 = Female 0 = Random"
sex = GetChoice(0, 2) ch.sex = GetChoice(0, 2)
If sex > 2 Or sex < 1 Then sex = GetRandomInt(1, 2) If ch.sex > 2 Or ch.sex < 1 Then ch.sex = GetRandomInt(1, 2)
Cls Cls
Print "What Clan is the character from?" Print "What Clan is the character from?"
Call PrintMenu(All_Clans(), All_Clans_Count) Call PrintMenu(All_Clans(), All_Clans_Count)
clan = GetChoice(0, All_Clans_Count) ch.clan = GetChoice(0, All_Clans_Count)
If clan > All_Clans_Count Or clan < 1 Then clan = GetRandomInt(1, All_Clans_Count) If ch.clan > All_Clans_Count Or ch.clan < 1 Then ch.clan = GetRandomInt(1, All_Clans_Count)
Cls Cls
Print "What is your character's Nature?" Print "What is your character's Nature?"
Call PrintMenu(All_Natures(), All_Natures_Count) Call PrintMenu(All_Archetypes(), All_Archetypes_Count)
nature = GetChoice(0, All_Natures_Count) ch.nature = GetChoice(0, All_Archetypes_Count)
If nature > All_Natures_Count Or nature < 1 Then nature = GetRandomInt(1, All_Natures_Count) If ch.nature > All_Archetypes_Count Or ch.nature < 1 Then ch.nature = GetRandomInt(1, All_Archetypes_Count)
Cls Cls
Print "What is your character's Demeanor?" Print "What is your character's Demeanor?"
Call PrintMenu(All_Natures(), All_Natures_Count) Call PrintMenu(All_Archetypes(), All_Archetypes_Count)
demeanor = GetChoice(0, All_Natures_Count) ch.demeanor = GetChoice(0, All_Archetypes_Count)
If demeanor > All_Natures_Count Or demeanor < 1 Then demeanor = GetRandomInt(1, All_Natures_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 ' 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 Dim disciplines(1 To All_Disciplines_Count) As Integer
@@ -270,27 +313,140 @@ Sub CharacterGenerator ()
discipline_points = discipline_points - 1 discipline_points = discipline_points - 1
Wend Wend
' TODO: Choose primary/secondary/tertiary attributes Const All_Attributes_Count = 3
'Print "1 = Physical 2 = Social 3 = Mental 0 = Random" Dim All_Attributes(1 To All_Attributes_Count) As String
'Print "Which is your primary Attribute? " All_Attributes(1) = "Physical"
'Print "Which is your secondary attribute? " All_Attributes(2) = "Social"
'Print "Which is your tertiary attribute? " All_Attributes(3) = "Mental"
' TODO: Spend attribute points order should be physical mental social not primary secondary tertiary ' TODO: Find a more general form for this that stores the chosen attributes in an array
'Print "Your mental attributes are:" Dim PrimaryAttribute As Integer
'Print "Intelligence 1 Perception 1 Wits 1" Do
'Print "Which would you like to add 1 of your 7 points to?" Cls
'Print "1 = Intelligence 2 = Perception 3 = Wits 0 = Random" 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:" Dim SecondaryAttribute As Integer
'Print "Strength 1 Dexterity 1 Stamina 1" Dim TertiaryAttribute As Integer
'Print "Which would you like to add 1 of your 5 points to?" Do
'Print "1 = Strength 2 = Dexterity 3 = Stamina 0 = Random" 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:" ' Initialize all attributes to 1
'Print "Appearance 1 Charisma 1 Manipulation 1" ch.attr_strength = 1
'Print "Which would you like to add 1 of your 3 points to?" ch.attr_dexterity = 1
'Print "1 = Appearance 2 = Charisma 3 = Manipulation 0 = Random" 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 ' TODO: Choose priorities for talents/skills/knowledges
'Print "1 = Talents 2 = Skills 3 = Knowledges 0 = Random" '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> '210 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
'220 <20><><EFBFBD><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> '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)? ' 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)? ' 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" Print "VehicleGenerator"
End Sub 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