Field changes

- most empty fields now just aren't included if not specified, they're just optional instead
- binary male/female gender selector is now replaced with a pronouns field, and is open to all races
- clearance level removed
- next of kin added

- all fields are now optional (if left blank, they just wont be included. makes records less of a chore)
- removed clearance
- removed pre-nt employment
- removed nt employment
- added general employment history
- removed binary m/f gender selector
- added pronouns
- de-gamified skills
- formal education history renamed to qualifications
This commit is contained in:
Llywelwyn 2022-07-24 15:40:42 +01:00
parent 9b85a836fb
commit e44e57f7ad
6 changed files with 62 additions and 142 deletions

View file

@ -19,14 +19,14 @@ namespace AuroraRecordGenerator
[ProtoMember(4)] [ProtoMember(4)]
public string NameSuffix { get; set; } = string.Empty; public string NameSuffix { get; set; } = string.Empty;
[ProtoMember(5, IsRequired = true)] [ProtoMember(5)]
public SpeciesType Species { get; set; } = SpeciesType.Human; public SpeciesType Species { get; set; } = SpeciesType.Human;
[ProtoMember(16)] [ProtoMember(16)]
public SpeciesSubType Subspecies { get; set; } = SpeciesSubType.None; public SpeciesSubType Subspecies { get; set; } = SpeciesSubType.None;
[ProtoMember(6, IsRequired = true)] [ProtoMember(6, IsRequired = true)]
public GenderType Gender { get; set; } public string Pronouns { get; set; } = string.Empty;
[ProtoMember(7)] [ProtoMember(7)]
public DateTime BirthDate { get; set; } = Info.IcDate; public DateTime BirthDate { get; set; } = Info.IcDate;
@ -58,7 +58,7 @@ namespace AuroraRecordGenerator
// 16 & 17 used to be PictureUrl and PictureCredit, now unused. // 16 & 17 used to be PictureUrl and PictureCredit, now unused.
[ProtoMember(18)] [ProtoMember(18)]
public string Clearance { get; set; } = string.Empty; public string NextOfKin { get; set; } = string.Empty;
[ProtoMember(19)] [ProtoMember(19)]
public string MedicalPublicRecord { get; set; } = string.Empty; public string MedicalPublicRecord { get; set; } = string.Empty;
@ -78,6 +78,8 @@ namespace AuroraRecordGenerator
[ProtoMember(24)] [ProtoMember(24)]
public bool NoBorg { get; set; } = false; public bool NoBorg { get; set; } = false;
// 25 was NoClone, now unused
[ProtoMember(26)] [ProtoMember(26)]
public bool NoRevive { get; set; } = false; public bool NoRevive { get; set; } = false;
@ -102,9 +104,6 @@ namespace AuroraRecordGenerator
[ProtoMember(33)] [ProtoMember(33)]
public string EmploymentExperience { get; set; } = string.Empty; public string EmploymentExperience { get; set; } = string.Empty;
[ProtoMember(34)]
public string EmploymentPreNtEmployment { get; set; } = string.Empty;
[ProtoMember(35)] [ProtoMember(35)]
public string EmploymentFormalEducation { get; set; } = string.Empty; public string EmploymentFormalEducation { get; set; } = string.Empty;

View file

@ -25,7 +25,7 @@
<ScrollViewer> <ScrollViewer>
<StackPanel> <StackPanel>
<GroupBox Header="Basic Information" controls:ControlsHelper.ContentCharacterCasing="Normal" <GroupBox Header="Basic Information" controls:ControlsHelper.ContentCharacterCasing="Normal"
Height="240"> Height="200">
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="160" /> <ColumnDefinition Width="160" />
@ -36,7 +36,7 @@
Margin="10,26,5,0" Margin="10,26,5,0"
TextWrapping="Wrap" VerticalAlignment="Top" TextWrapping="Wrap" VerticalAlignment="Top"
ToolTip="Your character's first name. Required." ToolTip="Your character's first name. Required."
Text="{Binding Path=FirstName}" controls:TextBoxHelper.Watermark="Urist" TabIndex="1" /> Text="{Binding Path=FirstName}" controls:TextBoxHelper.Watermark="John" TabIndex="1" />
<TextBox Height="26" <TextBox Height="26"
Margin="0,26,0,0" Margin="0,26,0,0"
TextWrapping="Wrap" TextWrapping="Wrap"
@ -47,7 +47,7 @@
Margin="125,26,0,0" Margin="125,26,0,0"
TextWrapping="Wrap" VerticalAlignment="Top" TextWrapping="Wrap" VerticalAlignment="Top"
ToolTip="Your character's last name. Required." Grid.Column="1" ToolTip="Your character's last name. Required." Grid.Column="1"
Text="{Binding Path=LastName}" controls:TextBoxHelper.Watermark="McScientist" TabIndex="3" /> Text="{Binding Path=LastName}" controls:TextBoxHelper.Watermark="Doe" TabIndex="3" />
<TextBlock Grid.Column="0" Margin="10,10,10,0" TextWrapping="Wrap" <TextBlock Grid.Column="0" Margin="10,10,10,0" TextWrapping="Wrap"
Text="First" Text="First"
VerticalAlignment="Top" Height="16" /> VerticalAlignment="Top" Height="16" />
@ -61,7 +61,7 @@
Margin="5,26,10.5,0" TextWrapping="Wrap" Margin="5,26,10.5,0" TextWrapping="Wrap"
ToolTip="Your character's name suffix, if present. Optional." Grid.Column="2" ToolTip="Your character's name suffix, if present. Optional." Grid.Column="2"
VerticalAlignment="Top" VerticalAlignment="Top"
Text="{Binding Path=NameSuffix}" controls:TextBoxHelper.Watermark="the Third" TabIndex="4" /> Text="{Binding Path=NameSuffix}" controls:TextBoxHelper.Watermark="Jr." TabIndex="4" />
<TextBlock HorizontalAlignment="Left" Margin="5,10,0,0" TextWrapping="Wrap" <TextBlock HorizontalAlignment="Left" Margin="5,10,0,0" TextWrapping="Wrap"
Text="Suffix (Optional)" VerticalAlignment="Top" Grid.Column="2" Text="Suffix (Optional)" VerticalAlignment="Top" Grid.Column="2"
Height="15.96" Width="150" /> Height="15.96" Width="150" />
@ -71,46 +71,44 @@
<ComboBox Grid.Column="0" x:Name="SpeciesCombo" Margin="10,73,5,0" <ComboBox Grid.Column="0" x:Name="SpeciesCombo" Margin="10,73,5,0"
VerticalAlignment="Top" VerticalAlignment="Top"
ItemsSource="{Binding Source={StaticResource SpeciesEnum}}" ItemsSource="{Binding Source={StaticResource SpeciesEnum}}"
ToolTip="Your character's species. Required." ToolTip="Your character's species."
SelectionChanged="SpeciesSelectChanged" Height="26" TabIndex="5"/> SelectionChanged="SpeciesSelectChanged" Height="26" TabIndex="5"/>
<TextBlock HorizontalAlignment="Left" Margin="0,57,0,0" TextWrapping="Wrap" <TextBlock HorizontalAlignment="Left" Margin="0,57,0,0" TextWrapping="Wrap"
Text="Gender" Text="Pronouns"
VerticalAlignment="Top" Grid.Column="1" Height="15.96" Width="120"/> VerticalAlignment="Top" Grid.Column="1" Height="15.96" Width="120"/>
<ComboBox x:Name="GenderCombo" HorizontalAlignment="Left" Margin="0,73,0,0" <TextBox HorizontalAlignment="Left" Margin="0,73,0,0"
VerticalAlignment="Top" Width="120" VerticalAlignment="Top" Width="120"
ToolTip="Your character's gender. Does not apply to Dionae and IPCs." ToolTip="Your character's preferred pronouns."
Grid.Column="1" Height="26" TabIndex="6"> Text="{Binding Path=Pronouns}"
<ComboBoxItem Content="Male" /> controls:TextBoxHelper.Watermark="he/him"
<!-- Define here instead of loading from enum as we don't want NotApplicable listed --> Grid.Column="1" Height="26" TabIndex="6"/>
<ComboBoxItem Content="Female" />
</ComboBox>
<DatePicker Margin="125,73,0,0" VerticalAlignment="Top" <DatePicker Margin="125,73,0,0" VerticalAlignment="Top"
SelectedDateFormat="Short" DisplayDateEnd="2470-01-01" SelectedDateFormat="Short" DisplayDateEnd="2470-01-01"
DisplayDateStart="1955-01-01" DisplayDate="2458-01-01" Grid.Column="1" DisplayDateStart="1955-01-01" DisplayDate="2464-01-01" Grid.Column="1"
Height="26" Height="26"
SelectedDate="{Binding Path=BirthDate}" TabIndex="7" /> SelectedDate="{Binding Path=BirthDate}" TabIndex="7" />
<TextBlock Margin="125,57,40.96,0" TextWrapping="Wrap" Text="Date of Birth" <TextBlock Margin="125,57,40.96,0" TextWrapping="Wrap" Text="Date of Birth"
VerticalAlignment="Top" Grid.Column="1" Height="15.96" /> VerticalAlignment="Top" Grid.Column="1" Height="15.96" />
<TextBlock Grid.Column="0" Margin="10,0,0,34" TextWrapping="Wrap" Text="Clearance" <TextBlock Grid.Column="1" Margin="0,0,0,45" TextWrapping="Wrap" Text="Next of Kin"
VerticalAlignment="Bottom" HorizontalAlignment="Left" /> VerticalAlignment="Bottom" HorizontalAlignment="Left" />
<TextBox Height="23" Margin="10,0,0,8" TextWrapping="Wrap" <TextBox Height="23" Margin="0,0,0,19" TextWrapping="Wrap"
VerticalAlignment="Bottom" Grid.ColumnSpan="2" VerticalAlignment="Bottom" Grid.ColumnSpan="1"
Grid.Column="0" Grid.Column="1"
controls:TextBoxHelper.Watermark="Staff (Research, Xenobiology), Command (Research)" controls:TextBoxHelper.Watermark="e.g. Jane Doe (mother)"
Text="{Binding Path=Clearance}" TabIndex="11" /> Text="{Binding Path=NextOfKin}" TabIndex="11" />
<TextBlock HorizontalAlignment="Left" Margin="5,0,0,85" <TextBlock HorizontalAlignment="Left" Margin="5,0,0,45"
TextWrapping="Wrap" Text="Employed As" VerticalAlignment="Bottom" Grid.Column="2" /> TextWrapping="Wrap" Text="Employed As" VerticalAlignment="Bottom" Grid.Column="2" />
<TextBox Height="23" Margin="5,0,10,59" TextWrapping="Wrap" <TextBox Height="23" Margin="5,0,10,19" TextWrapping="Wrap"
VerticalAlignment="Bottom" controls:TextBoxHelper.Watermark="Xenobiologist" VerticalAlignment="Bottom" controls:TextBoxHelper.Watermark="Assistant"
Text="{Binding Path=EmployedAs}" Grid.Column="2" TabIndex="10" /> Text="{Binding Path=EmployedAs}" Grid.Column="2" TabIndex="10" />
<TextBox Grid.Column="2" Height="23" Margin="5,73,10.5,0" <TextBox Grid.Column="2" Height="23" Margin="5,73,10.5,0"
TextWrapping="Wrap" VerticalAlignment="Top" controls:TextBoxHelper.Watermark="Sol Alliance" TextWrapping="Wrap" VerticalAlignment="Top" controls:TextBoxHelper.Watermark="Sol Alliance"
Text="{Binding Path=Citizenship}" TabIndex="8" /> Text="{Binding Path=Citizenship}" TabIndex="8" />
<TextBlock Grid.Column="2" HorizontalAlignment="Left" Margin="5,57,0,0" TextWrapping="Wrap" Text="Citizenship" VerticalAlignment="Top" /> <TextBlock Grid.Column="2" HorizontalAlignment="Left" Margin="5,57,0,0" TextWrapping="Wrap" Text="Citizenship" VerticalAlignment="Top" />
<ComboBox Grid.Column="0" x:Name="SubSpeciesCombo" Margin="10,120,140,0" <ComboBox Grid.Column="0" x:Name="SubSpeciesCombo" Margin="10,120,5,0"
VerticalAlignment="Top" VerticalAlignment="Top"
ToolTip="Your character's ethnic group or subtype." ToolTip="Your character's ethnic group or subtype."
SelectionChanged="SpeciesSelectChanged" Height="26" TabIndex="9" Grid.ColumnSpan="2" SelectionChanged="SpeciesSelectChanged" Height="26" TabIndex="9"
/> />
<TextBlock Grid.Column="0" Margin="10,104,10,0" TextWrapping="Wrap" <TextBlock Grid.Column="0" Margin="10,104,10,0" TextWrapping="Wrap"
Text="Subtype/Ethnicity" Text="Subtype/Ethnicity"
@ -184,9 +182,6 @@
<RowDefinition Height="122" MinHeight="60" /> <RowDefinition Height="122" MinHeight="60" />
<RowDefinition Height="122" MinHeight="60" /> <RowDefinition Height="122" MinHeight="60" />
<RowDefinition Height="122" MinHeight="60" /> <RowDefinition Height="122" MinHeight="60" />
<RowDefinition Height="122" MinHeight="60" />
<RowDefinition Height="122" MinHeight="60" />
<RowDefinition Height="0" />
</Grid.RowDefinitions> </Grid.RowDefinitions>
<GridSplitter Grid.Row="0" Grid.ColumnSpan="1" HorizontalAlignment="Stretch" <GridSplitter Grid.Row="0" Grid.ColumnSpan="1" HorizontalAlignment="Stretch"
VerticalAlignment="Bottom" Margin="0" Height="10" /> VerticalAlignment="Bottom" Margin="0" Height="10" />
@ -201,45 +196,32 @@
<GridSplitter Grid.Row="5" Grid.ColumnSpan="1" HorizontalAlignment="Stretch" <GridSplitter Grid.Row="5" Grid.ColumnSpan="1" HorizontalAlignment="Stretch"
VerticalAlignment="Bottom" Margin="0" Height="10" /> VerticalAlignment="Bottom" Margin="0" Height="10" />
<TextBox Margin="0,10,0,10" AcceptsReturn="True" <TextBox Margin="0,10,0,10" AcceptsReturn="True"
TextWrapping="Wrap" controls:TextBoxHelper.Watermark="Public Record" TextWrapping="Wrap"
controls:TextBoxHelper.Watermark="Public Record"
controls:TextBoxHelper.UseFloatingWatermark="True" VerticalScrollBarVisibility="Auto" controls:TextBoxHelper.UseFloatingWatermark="True" VerticalScrollBarVisibility="Auto"
controls:TextBoxHelper.IsSpellCheckContextMenuEnabled="True" Grid.Row="0" controls:TextBoxHelper.IsSpellCheckContextMenuEnabled="True" Grid.Row="0"
ToolTip="Public employment notes posted on security and medical records. One per line." ToolTip="Public employment notes posted on security and medical records. One per line."
d:LayoutOverrides="VerticalAlignment" Text="{Binding Path=EmploymentPublicRecord}" /> d:LayoutOverrides="VerticalAlignment" Text="{Binding Path=EmploymentPublicRecord}" />
<TextBox Margin="0,10,0,10" AcceptsReturn="True" <TextBox Margin="0,10,0,10" AcceptsReturn="True"
TextWrapping="Wrap" controls:TextBoxHelper.Watermark="Experience" TextWrapping="Wrap" controls:TextBoxHelper.Watermark="Employment History"
controls:TextBoxHelper.UseFloatingWatermark="True" VerticalScrollBarVisibility="Auto" controls:TextBoxHelper.UseFloatingWatermark="True" VerticalScrollBarVisibility="Auto"
controls:TextBoxHelper.IsSpellCheckContextMenuEnabled="True" Grid.Row="1" controls:TextBoxHelper.IsSpellCheckContextMenuEnabled="True" Grid.Row="1"
ToolTip="Jobs/departments worked with NT. One per line." ToolTip="Previous jobs that the character has worked. One per line.&#x0a;No need to put hyphens/bulletpoints; they'll be added automatically.&#x0a;&#x0a;e.g.&#x0a;Police Cadet, Mendell City [2450 - 2454]&#x0a;Police Officer, Mendell City [2454 - Ongoing]"
d:LayoutOverrides="VerticalAlignment" Text="{Binding Path=EmploymentExperience}" /> d:LayoutOverrides="VerticalAlignment" Text="{Binding Path=EmploymentExperience}" />
<TextBox Margin="0,10,0,10" AcceptsReturn="True" <TextBox Margin="0,10,0,10" AcceptsReturn="True"
TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" TextWrapping="Wrap" Grid.Row="2"
controls:TextBoxHelper.Watermark="Pre-NanoTrasen Employment History" controls:TextBoxHelper.Watermark="Formal Education / Qualifications"
controls:TextBoxHelper.UseFloatingWatermark="True" Grid.Row="2"
controls:TextBoxHelper.IsSpellCheckContextMenuEnabled="True"
ToolTip="Jobs/experience from before NT employment. One per line."
Text="{Binding Path=EmploymentPreNtEmployment}" />
<TextBox Margin="0,10,0,10" AcceptsReturn="True"
TextWrapping="Wrap" Grid.Row="3"
controls:TextBoxHelper.Watermark="Formal Education"
controls:TextBoxHelper.UseFloatingWatermark="True" VerticalScrollBarVisibility="Auto" controls:TextBoxHelper.UseFloatingWatermark="True" VerticalScrollBarVisibility="Auto"
controls:TextBoxHelper.IsSpellCheckContextMenuEnabled="True" controls:TextBoxHelper.IsSpellCheckContextMenuEnabled="True"
ToolTip="Formal education completed or in-progress. One per-line." ToolTip="Formal education completed / qualifications acquired. One per-line.&#x0a;No need for bulletpoints; they'll be added automatically.&#x0a;&#x0a;e.g.&#x0a;Manual handling certificate [2450]&#x0a;PhD in Psychology [2460]"
Text="{Binding Path=EmploymentFormalEducation}" /> Text="{Binding Path=EmploymentFormalEducation}" />
<TextBox Margin="0,10,0,10" AcceptsReturn="True"
TextWrapping="Wrap" Grid.Row="4"
controls:TextBoxHelper.Watermark="NanoTrasen Employment History"
controls:TextBoxHelper.UseFloatingWatermark="True" VerticalScrollBarVisibility="Auto"
controls:TextBoxHelper.IsSpellCheckContextMenuEnabled="True"
ToolTip="History with employment with NT. One per line, should be in format &quot;Year Description&quot;."
Text="{Binding Path=EmploymentNtEmploymentHistory}" />
<TextBox Margin="0,10,0,10" AcceptsReturn="True" <TextBox Margin="0,10,0,10" AcceptsReturn="True"
TextWrapping="Wrap" TextWrapping="Wrap"
controls:TextBoxHelper.Watermark="Trained-in/Skills" Grid.Row="5" controls:TextBoxHelper.Watermark="Other Skills / Ongoing Training" Grid.Row="3"
controls:TextBoxHelper.UseFloatingWatermark="True" VerticalScrollBarVisibility="Auto" controls:TextBoxHelper.UseFloatingWatermark="True" VerticalScrollBarVisibility="Auto"
controls:TextBoxHelper.IsSpellCheckContextMenuEnabled="True" controls:TextBoxHelper.IsSpellCheckContextMenuEnabled="True"
Text="{Binding Path=EmploymentSkills}" Text="{Binding Path=EmploymentSkills}"
ToolTip="Training or Skills your character has. Anything marked as &quot;Trained&quot; or &quot;Professional&quot; in character skills should go here, along with any amatur skills of note." /> ToolTip="Any other skills of note, or training being undertaken currently.&#x0a;&#x0a;e.g.&#x0a;First Aid training&#x0a;Chemistry student at Mendell University" />
</Grid> </Grid>
</ScrollViewer> </ScrollViewer>
</TabItem> </TabItem>
@ -259,7 +241,7 @@
<RowDefinition Height="0" /> <RowDefinition Height="0" />
</Grid.RowDefinitions> </Grid.RowDefinitions>
<!-- Opt-Outs --> <!-- Opt-Outs -->
<Grid Grid.Row="0" ToolTip="If the character wishes to not be cloned."> <Grid Grid.Row="0" ToolTip="If the character should not be borged.">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="163*"/> <ColumnDefinition Width="163*"/>
<ColumnDefinition Width="163*"/> <ColumnDefinition Width="163*"/>

View file

@ -19,7 +19,6 @@ namespace AuroraRecordGenerator
// Initialize the record object used for storage and generation // Initialize the record object used for storage and generation
Data = new Record(); Data = new Record();
DataContext = Data; DataContext = Data;
ProtoBuf.Serializer.PrepareSerializer<GenderType>();
ProtoBuf.Serializer.PrepareSerializer<SpeciesType>(); ProtoBuf.Serializer.PrepareSerializer<SpeciesType>();
ProtoBuf.Serializer.PrepareSerializer<SpeciesSubType>(); ProtoBuf.Serializer.PrepareSerializer<SpeciesSubType>();
ProtoBuf.Serializer.PrepareSerializer<Record>(); ProtoBuf.Serializer.PrepareSerializer<Record>();
@ -38,32 +37,6 @@ namespace AuroraRecordGenerator
var type = (SpeciesType)SpeciesCombo.SelectedValue; var type = (SpeciesType)SpeciesCombo.SelectedValue;
switch (type)
{
// non-gendered species
case SpeciesType.Diona:
case SpeciesType.IPC:
case SpeciesType.Vaurca:
Debug.WriteLine("Disabled GenderCombo, type is " + type);
GenderCombo.IsEnabled = false;
GenderCombo.Text = "N/A";
break;
// gendered species
case SpeciesType.Human:
case SpeciesType.Skrell:
case SpeciesType.Tajara:
case SpeciesType.Unathi:
Debug.WriteLine("Enabled GenderCombo, type is " + type);
GenderCombo.IsEnabled = true;
break;
case SpeciesType.None:
break;
default:
throw new ArgumentOutOfRangeException();
}
Debug.WriteLine("Updating subspecies types."); Debug.WriteLine("Updating subspecies types.");
var types = GetSpeciesOptions(type); var types = GetSpeciesOptions(type);
var itemsSource = types as IList<string> ?? types.ToList(); var itemsSource = types as IList<string> ?? types.ToList();
@ -90,20 +63,6 @@ namespace AuroraRecordGenerator
// Figure out their species too. // Figure out their species too.
Data.Species = (SpeciesType)SpeciesCombo.SelectedValue; Data.Species = (SpeciesType)SpeciesCombo.SelectedValue;
// Finally, gender.
switch ((string)GenderCombo.SelectionBoxItem)
{
case "Male":
Data.Gender = GenderType.Male;
break;
case "Female":
Data.Gender = GenderType.Female;
break;
default:
Data.Gender = GenderType.NotApplicable;
break;
}
var wnd = new GeneratedResultWindow(Data); var wnd = new GeneratedResultWindow(Data);
wnd.Show(); wnd.Show();
} }

View file

@ -28,9 +28,7 @@ namespace AuroraRecordGenerator
private IList<string> _employmentPublicRecord; private IList<string> _employmentPublicRecord;
private IList<string> _employmentExperience; private IList<string> _employmentExperience;
private IList<string> _employmentPreNtEmployment;
private IList<string> _employmentFormalEducation; private IList<string> _employmentFormalEducation;
private IList<string> _employmentNtEmployment;
private IList<string> _employmentSkills; private IList<string> _employmentSkills;
private void UpdateSplitRecords() private void UpdateSplitRecords()
@ -56,9 +54,7 @@ namespace AuroraRecordGenerator
// employment // employment
_employmentPublicRecord = _targetRecord.EmploymentPublicRecord?.LineSplit(); _employmentPublicRecord = _targetRecord.EmploymentPublicRecord?.LineSplit();
_employmentExperience = _targetRecord.EmploymentExperience?.LineSplit(); _employmentExperience = _targetRecord.EmploymentExperience?.LineSplit();
_employmentPreNtEmployment = _targetRecord.EmploymentPreNtEmployment?.LineSplit();
_employmentFormalEducation = _targetRecord.EmploymentFormalEducation?.LineSplit(); _employmentFormalEducation = _targetRecord.EmploymentFormalEducation?.LineSplit();
_employmentNtEmployment = _targetRecord.EmploymentNtEmploymentHistory?.LineSplit();
_employmentSkills = _targetRecord.EmploymentSkills?.LineSplit(); _employmentSkills = _targetRecord.EmploymentSkills?.LineSplit();
// flush the record cache so they're regenerated // flush the record cache so they're regenerated

View file

@ -12,17 +12,24 @@ namespace AuroraRecordGenerator
record.AppendLine("/// PUBLIC RECORD ///"); record.AppendLine("/// PUBLIC RECORD ///");
record.AppendLine(MakeNameLine()); record.AppendLine(MakeNameLine());
record.AppendLine($"Date of Birth: {_targetRecord.BirthDate.ToString("MMMM")} {_targetRecord.BirthDate.Day.Ordinalize()}, {_targetRecord.BirthDate.Year}"); record.AppendLine($"Date of Birth: {_targetRecord.BirthDate.ToString("MMMM")} {_targetRecord.BirthDate.Day.Ordinalize()}, {_targetRecord.BirthDate.Year}");
record.AppendLine($"Species: {_targetRecord.Species.Humanize()}");// might fuck up the names record.AppendLine($"Species: {_targetRecord.Species.Humanize()}"); // might fuck up the names
if (_targetRecord.Subspecies != SpeciesSubType.None) if (_targetRecord.Subspecies != SpeciesSubType.None)
{ {
record.AppendLine($"{_targetRecord.Subspecies.GetAttributeOfType<SubspeciesMetaAttribute>()?.FieldName ?? "Subspecies"}: {Utility.SubspeciesNiceName(_targetRecord.Subspecies)}"); record.AppendLine($"{_targetRecord.Subspecies.GetAttributeOfType<SubspeciesMetaAttribute>()?.FieldName ?? "Subspecies"}: {Utility.SubspeciesNiceName(_targetRecord.Subspecies)}");
} }
record.AppendLine(_targetRecord.Species.HasGender() if (_targetRecord.Pronouns.Any())
? $"Gender: {_targetRecord.Gender.Humanize()}" {
: "Gender: Not Applicable."); record.AppendLine($"Pronouns: {_targetRecord.Pronouns}");
record.AppendLine($"Citizenship: {_targetRecord.Citizenship.IfEmpty("Not Specified.")}"); }
record.AppendLine($"Clearance Level: {_targetRecord.Clearance.IfEmpty("Not Specified")}"); if (_targetRecord.Citizenship.Any()) {
record.AppendLine($"Employed As: {_targetRecord.EmployedAs.IfEmpty("Assistant")}"); record.AppendLine($"Citizenship: {_targetRecord.Citizenship}");
}
if (_targetRecord.NextOfKin.Any()) {
record.AppendLine($"Next of Kin: {_targetRecord.NextOfKin}");
}
if (_targetRecord.EmployedAs.Any()) {
record.AppendLine($"Employed As: {_targetRecord.EmployedAs}");
}
if (_targetRecord.CharHeight != null) if (_targetRecord.CharHeight != null)
record.AppendLine($"Height: {_targetRecord.CharHeight} cm ({Utility.CmToFeet(_targetRecord.CharHeight.Value)})"); record.AppendLine($"Height: {_targetRecord.CharHeight} cm ({Utility.CmToFeet(_targetRecord.CharHeight.Value)})");
@ -31,13 +38,13 @@ namespace AuroraRecordGenerator
// Eye color // Eye color
var trimmedEye = _targetRecord.EyeColor.Trim(); var trimmedEye = _targetRecord.EyeColor.Trim();
record.AppendFormat("Eye Color: {0}\n", trimmedEye.Length > 0 ? trimmedEye : "Not Specified."); record.AppendFormat("Eye Color: {0}\n", trimmedEye.Length > 0 ? trimmedEye : "Not specified.");
var bodyColor = _targetRecord.SkinColor.Trim(); var bodyColor = _targetRecord.SkinColor.Trim();
record.AppendFormat("Skin/Body Color: {0}\n", bodyColor.Length > 0 ? bodyColor : "Not Specified."); record.AppendFormat("Skin/Body Color: {0}\n", bodyColor.Length > 0 ? bodyColor : "Not specified.");
var hairColor = _targetRecord.HairColor.Trim(); var hairColor = _targetRecord.HairColor.Trim();
record.AppendFormat("Hair Color: {0}\n", hairColor.Length > 0 ? hairColor : "Not Specified."); record.AppendFormat("Hair Color: {0}\n", hairColor.Length > 0 ? hairColor : "Not specified.");
// identifying features // identifying features
var trimmedFeatures = _targetRecord.DistinguishingFeatures.Trim(); var trimmedFeatures = _targetRecord.DistinguishingFeatures.Trim();
@ -48,15 +55,15 @@ namespace AuroraRecordGenerator
// general notes // general notes
WriteSectionIfAny(ref record, WriteSectionIfAny(ref record,
"General Notes:", "Shared Employment Notes:",
_employmentPublicRecord); _employmentPublicRecord);
WriteSectionIfAny(ref record, WriteSectionIfAny(ref record,
"Medical Notes:", "Shared Medical Notes:",
_medicalPublicRecord); _medicalPublicRecord);
WriteSectionIfAny(ref record, WriteSectionIfAny(ref record,
"Security Notes:", "Shared Security Notes:",
_securityPublicRecord); _securityPublicRecord);
_commonRecords = record.ToString(); _commonRecords = record.ToString();
@ -72,8 +79,6 @@ namespace AuroraRecordGenerator
if (!_employmentExperience.Any() && if (!_employmentExperience.Any() &&
!_employmentFormalEducation.Any() && !_employmentFormalEducation.Any() &&
!_employmentNtEmployment.Any() &&
!_employmentPreNtEmployment.Any() &&
!_employmentPublicRecord.Any() && !_employmentPublicRecord.Any() &&
!_employmentSkills.Any()) !_employmentSkills.Any())
{ {
@ -85,23 +90,15 @@ namespace AuroraRecordGenerator
recordText.AppendLine(); recordText.AppendLine();
WriteSectionIfAny(ref recordText, WriteSectionIfAny(ref recordText,
"Experience:", "Employment History:",
_employmentExperience); _employmentExperience);
WriteSectionIfAny(ref recordText, WriteSectionIfAny(ref recordText,
"Formal Education History:", "Qualifications:",
_employmentFormalEducation); _employmentFormalEducation);
WriteSectionIfAny(ref recordText, WriteSectionIfAny(ref recordText,
"Pre-NanoTrasen Employment History:", "Other skills:",
_employmentPreNtEmployment);
WriteSectionIfAny(ref recordText,
"NanoTrasen Employment History:",
_employmentNtEmployment);
WriteSectionIfAny(ref recordText,
"Trained in the following:",
_employmentSkills); _employmentSkills);
} }

View file

@ -90,19 +90,6 @@ namespace AuroraRecordGenerator
HumanOffworld HumanOffworld
} }
[ProtoContract]
public enum GenderType
{
[ProtoEnum]
NotApplicable = 0,
[ProtoEnum]
Male,
[ProtoEnum]
Female
}
public static class Info public static class Info
{ {
/// <summary> /// <summary>