Skip to content
Permalink
Browse files

- Metagenic quality matching is now shown in the karma summary.

- Metagenic Quality count is only shown if the character is a changeling.
  • Loading branch information...
chummer5a committed Sep 7, 2019
1 parent 7b4471e commit 05467961c3d555548e1ae0eb05e3259dd0b512e6
@@ -269,7 +269,8 @@ private async void frmCreate_Load(object sender, EventArgs e)
lblPositiveQualitiesBP.DoDatabinding("Text", CharacterObject, nameof(Character.DisplayPositiveQualityKarma));
lblNegativeQualitiesBP.DoDatabinding("Text", CharacterObject, nameof(Character.DisplayNegativeQualityKarma));
lblMetagenicQualities.DoDatabinding("Text", CharacterObject, nameof(Character.DisplayMetagenicQualityKarma));

lblMetagenicQualities.DoDatabinding("Visible", CharacterObject, nameof(Character.IsChangeling));
lblMetagenicQualitiesLabel.DoDatabinding("Visible", CharacterObject, nameof(Character.IsChangeling));
lblEnemiesBP.DoDatabinding("Text", CharacterObject, nameof(Character.DisplayEnemyKarma));
tssBPLabel.Text = LanguageManager.GetString("Label_Karma", GlobalOptions.Language);
tssBPRemainLabel.Text =
@@ -9637,6 +9638,10 @@ private int CalculateBP(bool blnDoUIUpdate = true)

intKarmaPointsRemain -= intQualityPointsUsed;
intFreestyleBP += intQualityPointsUsed;
// Changelings must either have a balanced negative and positive number of metagenic qualities, or have 1 more point of positive than negative.
// If the latter, karma is used to balance them out.
if (CharacterObject.MetagenicPositiveQualityKarma + CharacterObject.MetagenicNegativeQualityKarma == 1)
intKarmaPointsRemain--;

// ------------------------------------------------------------------------------
// Update Primary Attributes and Special Attributes values.
, CharacterObject.MetagenicPositiveQualityKarma.ToString(GlobalOptions.CultureInfo));
blnValid = false;
}
//Subtract 1 karma to balance Metagenic Qualities
if (CharacterObject.MetagenicNegativeQualityKarma == (CharacterObject.MetagenicPositiveQualityKarma - 1))
{
if (CharacterObject.Karma > 0)
{
if (MessageBox.Show(string.Format(LanguageManager.GetString("Message_MetagenicQualitiesSubtractingKarma", GlobalOptions.Language), intBuildPoints.ToString(GlobalOptions.CultureInfo)),
LanguageManager.GetString("MessageTitle_ExtraKarma", GlobalOptions.Language), MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
{
CharacterObject.Karma -= 1;
}
else
{
blnValid = false;
}
}
else
{
strMessage += Environment.NewLine + '\t' + string.Format(LanguageManager.GetString("Message_MetagenicQualitiesInsufficientKarma", GlobalOptions.Language), intBuildPoints.ToString(GlobalOptions.CultureInfo));
blnValid = false;
}
}

}
int i = CharacterObject.TotalAttributes - CalculateAttributePriorityPoints(CharacterObject.AttributeSection.AttributeList);
// Check if the character has gone over on Primary Attributes
ImprovementManager.ValueOf(this, Improvement.ImprovementType.FreeNegativeQualities);
}

return _intCachedNegativeQualities;
return _intCachedMetagenicNegativeQualities;
}
}

s = s.Replace("{0}", MetagenicPositiveQualityKarma.ToString(GlobalOptions.CultureInfo));
s = s.Replace("{1}", MetagenicNegativeQualityKarma.ToString(GlobalOptions.CultureInfo));
s = s.Replace("{2}", MetagenicLimit.ToString(GlobalOptions.CultureInfo));
if (MetagenicPositiveQualityKarma - MetagenicNegativeQualityKarma == 1)
if (MetagenicPositiveQualityKarma + MetagenicNegativeQualityKarma == 1)
{
s += LanguageManager.GetString("String_Karma");
s += LanguageManager.GetString("Label_MetagenicKarmaValueAppend");
}

return s;
@@ -391,11 +391,11 @@ private void BuildQualityList()
}
if (chkMetagenic.Checked)
{
strFilter.Append(" and (Metagenic = 'True' or required/oneof[contains(., 'Changeling')])");
strFilter.Append(" and (metagenic = 'True' or required/oneof[contains(., 'Changeling')])");
}
else if (chkNotMetagenic.Checked)
{
strFilter.Append(" and not(Metagenic = 'True') and not(required/oneof[contains(., 'Changeling')])");
strFilter.Append(" and not(metagenic = 'True') and not(required/oneof[contains(., 'Changeling')])");
}
if (nudValueBP.Value != 0)
{
@@ -1,4 +1,24 @@
Future Build 207-208
Future Build 209

Application Changes:
- Metagenic quality balances are now shown in the Karma summary tab while in create mode. This allows for more easily seeing how many qualities you need to take to even up, and properly accounts for the karma lost to balance up positive and negative metagenic qualities.
- Internally changed all 'Metagenetic' references (except for the improvement type) to 'Metagenic'.

New Strings:
- Label_MetagenicKarmaValue
- Label_MetagenicKarmaValueAppend
- Label_SummaryMetagenicQualities

- Changed Strings:
- Message_OverPositiveMetagenicQualities
- Message_OverNegativeMetagenicQualities
- Message_MetagenicQualitiesUnbalanced
- Message_MetagenicQualitiesInsufficientKarma
- Message_MetagenicQualitiesSubtractingKarma
- Checkbox_SelectQuality_Metagenic
- Checkbox_SelectQuality_Not_Metagenic

Build 208

Application Changes:

@@ -2663,7 +2663,7 @@
</string>
<string>
<key>Label_MetagenicKarmaValue</key>
<text>{0}/{1} Max {2}</text>
<text>{0}P/{1}N - Max {2}</text>
</string>
<string>
<key>Label_MetagenicKarmaValueAppend</key>

0 comments on commit 0546796

Please sign in to comment.
You can’t perform that action at this time.