Skip to content

Commit 100045e

Browse files
committed
Update Mode Change evolutions in tandem.
1 parent d0cf487 commit 100045e

3 files changed

Lines changed: 64 additions & 2 deletions

File tree

Cyber Sleuth Mod Evolution Analyzer.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<PackageLicenseExpression>MIT</PackageLicenseExpression>
1515
<IncludeSourceRevisionInInformationalVersion>false</IncludeSourceRevisionInInformationalVersion>
1616
<ApplicationHighDpiMode>PerMonitorV2</ApplicationHighDpiMode>
17-
<Version>0.2.1</Version>
17+
<Version>0.3.0</Version>
1818
<ApplicationIcon>csmea-monzae.ico</ApplicationIcon>
1919
</PropertyGroup>
2020

DigimonEvoControlOption.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,11 @@ private void modeBox_SelectionChangeCommitted(object sender, EventArgs e)
174174
{
175175
valueTextBox.Text = 0.ToString();
176176
}
177+
if (valueDropBox.Visible && valueDropBox.SelectedIndex == 0)
178+
{
179+
evoCondition = new(modeBox.SelectedIndex, knownMons[valueDropBox.SelectedIndex].ID);
180+
UpdateEvoControlState();
181+
}
177182
SelectedEvoOptionChanged?.Invoke(this, e);
178183
}
179184

Form1.cs

Lines changed: 58 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,7 @@ private void modLoaderButton_Click(object sender, EventArgs e)
334334

335335
itemList.Sort();
336336

337-
var digimonEvolutions = settingsForm.VanillaMonHandle > 1
337+
var digimonEvolutions = settingsForm.VanillaMonHandle > 1
338338
? BaseDigimonStats.LoadDigimonEvolutions(this)
339339
: new();
340340

@@ -1063,7 +1063,64 @@ private void digimonEvoControl_SelectedEvoOptionChanged(object sender, EventArgs
10631063
selectedDigimon.Digimon.EvoConditions.Add(new(0, ""));
10641064
}
10651065

1066+
// delete old mode change
1067+
if (selectedDigimon.Digimon.EvoConditions[i].Item1 == 13)
1068+
{
1069+
var oldModeChangeTargetID = selectedDigimon.Digimon.EvoConditions[i].Item2;
1070+
foreach (var lists in digimonLists)
1071+
{
1072+
foreach (var targetMon in lists.Item1)
1073+
{
1074+
if (String.Equals(targetMon.Digimon.ID, oldModeChangeTargetID))
1075+
{
1076+
for (var targetMonEvoCond = 0; targetMonEvoCond < targetMon.Digimon.EvoConditions.Count; targetMonEvoCond++)
1077+
{
1078+
if (targetMon.Digimon.EvoConditions[targetMonEvoCond].Item1 == 13
1079+
&& String.Equals(targetMon.Digimon.EvoConditions[targetMonEvoCond].Item2, selectedDigimon.Digimon.ID))
1080+
{
1081+
targetMon.Digimon.EvoConditions[targetMonEvoCond] = new(0, "");
1082+
}
1083+
}
1084+
}
1085+
}
1086+
}
1087+
}
1088+
10661089
selectedDigimon.Digimon.EvoConditions[i] = currentEvoControl.EvoCondition;
1090+
1091+
if (currentEvoControl.EvoCondition.Item1 == 13)
1092+
{
1093+
var newModeChangeTargetID = selectedDigimon.Digimon.EvoConditions[i].Item2;
1094+
foreach (var lists in digimonLists)
1095+
{
1096+
foreach (var targetMon in lists.Item1)
1097+
{
1098+
if (String.Equals(targetMon.Digimon.ID, newModeChangeTargetID))
1099+
{
1100+
var placed = false;
1101+
for (var targetMonEvoCond = 0; targetMonEvoCond < targetMon.Digimon.EvoConditions.Count; targetMonEvoCond++)
1102+
{
1103+
if (targetMon.Digimon.EvoConditions[targetMonEvoCond].Item1 == 13
1104+
&& String.Equals(targetMon.Digimon.EvoConditions[targetMonEvoCond].Item2, selectedDigimon.Digimon.ID))
1105+
{
1106+
targetMon.Digimon.EvoConditions[targetMonEvoCond] = new(0, "");
1107+
}
1108+
1109+
if (!placed && targetMon.Digimon.EvoConditions[targetMonEvoCond].Item1 == 0)
1110+
{
1111+
targetMon.Digimon.EvoConditions[targetMonEvoCond] = new Tuple<int, string>(13, selectedDigimon.Digimon.ID);
1112+
placed = true;
1113+
}
1114+
}
1115+
1116+
if (!placed)
1117+
{
1118+
targetMon.Digimon.EvoConditions.Add(new Tuple<int, string>(13, selectedDigimon.Digimon.ID));
1119+
}
1120+
}
1121+
}
1122+
}
1123+
}
10671124
}
10681125
}
10691126
}

0 commit comments

Comments
 (0)