Skip to content

Commit d013eb1

Browse files
committed
Bugfixing v1.4.0, 6th iteration
1 parent 313117f commit d013eb1

8 files changed

+73
-154
lines changed

OPRPCharBuild/OPRPCharBuild/Add_Technique.cs

+33-14
Original file line numberDiff line numberDiff line change
@@ -199,9 +199,10 @@ private void Copy_Data_To_Form(Technique Tech) {
199199
}
200200
listView_Effects.Items.Add(item);
201201
}
202-
// Update Power after Effects are added
202+
// Update Power and MinRank after Effects are added
203203
Update_Power_Value();
204-
}
204+
Update_MinRank();
205+
}
205206
// DF Options
206207
if (Tech.note.Contains("Devil Fruit")) {
207208
checkBox_DFTechEnable.Enabled = true;
@@ -308,11 +309,11 @@ public string EditDialog(ref ListView Main_Form, ref Dictionary<string, Techniqu
308309
Main_Form.SelectedItems[0].SubItems[2].Text = numericUpDown_RegTP.Value.ToString(); // Column 2: Reg TP
309310
Main_Form.SelectedItems[0].SubItems[3].Text = numericUpDown_SpTP.Value.ToString(); // Column 3: Sp. TP
310311
Main_Form.SelectedItems[0].SubItems[4].Text = comboBox_SpTrait.Text; // Column 4: Sp. Trait
311-
Main_Form.SelectedItems[0].SubItems[6].Text = textBox_TechBranched.Text; // Column 5: Branched From
312-
Main_Form.SelectedItems[0].SubItems[7].Text = comboBox_Type.Text; // Column 6: Type
313-
Main_Form.SelectedItems[0].SubItems[8].Text = comboBox_Range.Text; // Column 7: Range
314-
Main_Form.SelectedItems[0].SubItems[9].Text = textBox_Stats.Text; // Column 8: Stats
315-
Main_Form.SelectedItems[0].SubItems[10].Text = textBox_Power.Text; // Column 9: Power
312+
Main_Form.SelectedItems[0].SubItems[5].Text = textBox_TechBranched.Text; // Column 5: Branched From
313+
Main_Form.SelectedItems[0].SubItems[6].Text = comboBox_Type.Text; // Column 6: Type
314+
Main_Form.SelectedItems[0].SubItems[7].Text = comboBox_Range.Text; // Column 7: Range
315+
Main_Form.SelectedItems[0].SubItems[8].Text = textBox_Stats.Text; // Column 8: Stats
316+
Main_Form.SelectedItems[0].SubItems[9].Text = textBox_Power.Text; // Column 9: Power
316317
return textBox_Name.Text;
317318
}
318319
else {
@@ -360,7 +361,20 @@ private void Update_Note() {
360361
if (checkBox_DFEffect.Checked) { message += " - [b]Free DF Effect applied[/b]"; }
361362
message += "\n";
362363
}
363-
// Stats message
364+
// Stats names
365+
if (techStats.statsName == Database.BUF_WILLPO || techStats.statsName == Database.BUF_LIFRET ||
366+
techStats.statsName == Database.BUF_DRUG || techStats.statsName == Database.BUF_PERFOR ||
367+
techStats.statsName == Database.BUF_FOOD || techStats.statsName == Database.BUF_OBHAKI) {
368+
message += "- [i]" + techStats.statsName + " Buff[/i]\n";
369+
}
370+
else if (techStats.statsName == Database.BUF_POISON || techStats.statsName == Database.BUF_CQHAKI) {
371+
message += "- [i]" + techStats.statsName + " Debuff[/i]\n";
372+
}
373+
else if (techStats.statsName == Database.BUF_CRITHI || techStats.statsName == Database.BUF_ANASTR ||
374+
techStats.statsName == Database.BUF_QUICKS || techStats.statsName == Database.BUF_STANCE) {
375+
message += "- [i]" + techStats.statsName + " Technique[/i]\n";
376+
}
377+
// Stats Duration
364378
if (!string.IsNullOrWhiteSpace(techStats.duration)) { message += "- " + techStats.duration + '\n'; }
365379
// Cyborg message
366380
if (checkBox_Fuel3.Checked) { message += "- [i]Cyborg Technique[/i] - uses 3 Fuel Charges (+12 Rank)\n"; }
@@ -370,10 +384,6 @@ private void Update_Note() {
370384
if (!string.IsNullOrWhiteSpace(comboBox_AffectRank.Text)) { message += "- [i]" + comboBox_AffectRank.Text + " Technique*[/i]\n"; }
371385
// Special TP usage.
372386
if (numericUpDown_SpTP.Value > 0) { message += "- Special TP from [i]" + comboBox_SpTrait.Text + "[/i]\n"; }
373-
// Any other Technique
374-
if (techStats.statsName == Database.BUF_CRITHI) { message += "- [i]" + Database.TR_CRITHI + " Technique[/i]\n"; }
375-
if (techStats.statsName == Database.BUF_ANASTR) { message += "- [i]" + Database.TR_ANASTR + " Technique[/i]\n"; }
376-
if (techStats.statsName == Database.BUF_QUICKS) { message += "- [i]" + Database.TR_QUICKS + " Technique[/i]\n"; }
377387
message = message.TrimEnd('\n'); // Remove the last \n
378388
richTextBox_Note.Text = message;
379389
// Used in every application above
@@ -535,6 +545,14 @@ private void Add_Technique_Load(object sender, EventArgs e) {
535545
comboBox_SpTrait.SelectedIndex = -1;
536546
}
537547

548+
// Enable Marksman primary or Inventor primary
549+
if (profList.ContainsKey(Database.PROF_MS) && profList[Database.PROF_MS].primary) {
550+
checkBox_Marksman.Enabled = true;
551+
}
552+
if (profList.ContainsKey(Database.PROF_IN) && profList[Database.PROF_IN].primary) {
553+
checkBox_Inventor.Enabled = true;
554+
}
555+
538556
// Add Stats into comboBox based on character
539557
comboBox_StatOpt.Items.Add(Database.BUF_WILLPO);
540558
if ((profList.ContainsKey(Database.PROF_WA) && profList[Database.PROF_WA].primary) ||
@@ -658,7 +676,7 @@ private void Add_Technique_Load(object sender, EventArgs e) {
658676
try {
659677
if (traitsList.ContainsKey(Database.TR_BASCYB)) {
660678
label_Cyborg.Text = "[Basic Cyborg]";
661-
checkBox_SigTech.Enabled = true;
679+
checkBox_Fuel1.Enabled = true;
662680
}
663681
else if (traitsList.ContainsKey(Database.TR_ADVCYB)) {
664682
label_Cyborg.Text = "[Advanced Cyborg]";
@@ -893,7 +911,8 @@ private void button_LoadStats_Click(object sender, EventArgs e) {
893911
MessageBoxButtons.OK, MessageBoxIcon.Error);
894912
return;
895913
}
896-
int power = int.Parse(textBox_Power.Text);
914+
int power = 0;
915+
if (!checkBox_NA.Checked) { power = int.Parse(textBox_Power.Text); }
897916
string range = comboBox_Range.Text;
898917
Add_TechStats statsWin = new Add_TechStats(statopt, rank, power, range);
899918
textBox_Stats.Text = statsWin.LoadDialog(ref techStats, textBox_Stats.Text);

OPRPCharBuild/OPRPCharBuild/Add_Trait.Designer.cs

-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

OPRPCharBuild/OPRPCharBuild/Character.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -557,14 +557,14 @@ public void loadCharStats(ref NumericUpDown SDEarn,
557557
ref NumericUpDown spe,
558558
ref NumericUpDown sta,
559559
ref NumericUpDown acc) {
560-
SDEarn.Value = int.Parse(getParse(SDEARNED, SPLIT1));
561-
SD2SP.Value = int.Parse(getParse(SDTOSP, SPLIT1));
562560
string[] APArr = getParse(APBOOL, SPLIT1).TrimEnd(',').Split(',');
563-
for (int i = 0; i < AP.Items.Count; ++i) {
561+
for (int i = 0 ; i < AP.Items.Count ; ++i) {
564562
try { AP.SetItemChecked(i, bool.Parse(APArr[i])); }
565563
catch { AP.SetItemChecked(i, false); }
566564
// In case APArr[i] goes out of index
567565
}
566+
SDEarn.Value = int.Parse(getParse(SDEARNED, SPLIT1));
567+
SD2SP.Value = int.Parse(getParse(SDTOSP, SPLIT1));
568568
usedFort.Value = int.Parse(getParse(USEDFORTUNE, SPLIT1));
569569
str.Value = int.Parse(getParse(STRENGTH, SPLIT1));
570570
spe.Value = int.Parse(getParse(SPEED, SPLIT1));

OPRPCharBuild/OPRPCharBuild/Database.cs

+10-10
Original file line numberDiff line numberDiff line change
@@ -221,16 +221,16 @@ static public Profession getProfession(string name) {
221221
static private Dictionary<string, Trait> traitDict = new Dictionary<string, Trait>() {
222222
#region Traits Database
223223
{ TR_STR1ST, new Trait(TR_STR1ST, 1, 0, "This character's strength is boosted by 20%.") },
224-
{ TR_SPE1ST, new Trait(TR_SPE1ST, 1, 0, "This character's speed is boosted by 20%.") },
225-
{ TR_STA1ST, new Trait(TR_STA1ST, 1, 0, "This character's stamina is boosted by 20%.") },
226-
{ TR_ACC1ST, new Trait(TR_ACC1ST, 1, 0, "This character's accuracy is boosted by 20%.") },
227224
{ TR_STR2ND, new Trait(TR_STR2ND, 2, 0, "This character's strength is boosted by 40%.") },
228-
{ TR_SPE2ND, new Trait(TR_SPE2ND, 2, 0, "This character's speed is boosted by 40%.") },
229-
{ TR_STA2ND, new Trait(TR_STA2ND, 2, 0, "This character's stamina is boosted by 40%.") },
230-
{ TR_ACC2ND, new Trait(TR_ACC2ND, 2, 0, "This character's accuracy is boosted by 40%.") },
231225
{ TR_STR3RD, new Trait(TR_STR3RD, 3, 0, "This character's strength is boosted by 60%.") },
226+
{ TR_SPE1ST, new Trait(TR_SPE1ST, 1, 0, "This character's speed is boosted by 20%.") },
227+
{ TR_SPE2ND, new Trait(TR_SPE2ND, 2, 0, "This character's speed is boosted by 40%.") },
232228
{ TR_SPE3RD, new Trait(TR_SPE3RD, 3, 0, "This character's speed is boosted by 60%.") },
229+
{ TR_STA1ST, new Trait(TR_STA1ST, 1, 0, "This character's stamina is boosted by 20%.") },
230+
{ TR_STA2ND, new Trait(TR_STA2ND, 2, 0, "This character's stamina is boosted by 40%.") },
233231
{ TR_STA3RD, new Trait(TR_STA3RD, 3, 0, "This character's stamina is boosted by 60%.") },
232+
{ TR_ACC1ST, new Trait(TR_ACC1ST, 1, 0, "This character's accuracy is boosted by 20%.") },
233+
{ TR_ACC2ND, new Trait(TR_ACC2ND, 2, 0, "This character's accuracy is boosted by 40%.") },
234234
{ TR_ACC3RD, new Trait(TR_ACC3RD, 3, 0, "This character's accuracy is boosted by 60%.") },
235235
{ TR_FATEST, new Trait(TR_FATEST, 3, 0, "By placing traits in Fated, you lock them until the next time you earn a trait. You may put as many traits as you have into fated. In the meantime, you get a temporary boost of (# of traits in fated, multiplied by 3) to your strength stat.") },
236236
{ TR_FATESW, new Trait(TR_FATESW, 3, 0, "By placing traits in Fated, you lock them until the next time you earn a trait. You may put as many traits as you have into fated. In the meantime, you get a temporary boost of (# of traits in fated, multiplied by 3) to your speed stat.") },
@@ -584,7 +584,7 @@ static public Rokushiki getRoku(string name) {
584584
"Techniques that hold great penetrative force. These attacks are able to pass through an object with ease assuming they are not equivalent to a tier material. With each thing these attacks pass through they lose a significant amount of power.") },
585585
{ EFF_AFTER, new Effect(EFF_AFTER, false, 8, 14,
586586
"A singular after-image that looks like the user. The after image repeats an action performed at high speed by the user though at a slower pace to be perceived normally. It cannot do damage, nor has any physical form and will disperse after 1 post or after it is hit. The power of these techniques improves the authenticity of the after-image.") },
587-
{ EFF_ADAFT, new Effect(EFF_ADAFT, false, 4, 18,
587+
{ EFF_ADAFT, new Effect(EFF_ADAFT, false, 4, 14,
588588
"NOTE: Requires After-Image as an effect!\nAllows the technique to gain an extra after-image. This effect can stack for each additional payment.") },
589589
{ EFF_CONST, new Effect(EFF_CONST, false, 10, 14,
590590
"Used when creating a semi-permanent construct out of a resource available to the user which they can control. Requires full AE to activate and half AE for each round after to maintain, duration follows the professional buff table. Applicable to Life Return Hair, Production Paramecia & Logias.") },
@@ -616,11 +616,11 @@ static public Rokushiki getRoku(string name) {
616616
"User has developed a technique to generate and bind a type of element to a pair of limbs or a weapon. Grants the passive benefits of the element, and a passive offensive benefit equal to technique power.") },
617617
{ EFF_FULLB, new Effect(EFF_FULLB, false, 10, 20,
618618
"The cost of extending an effect of a technique from limbs to the entire body. Effects such as Tekkai, Armaments Haki amongst others use this.") },
619-
{ EFF_STDEF, new Effect(EFF_STDEF, false, 4, 10,
619+
{ EFF_STDEF, new Effect(EFF_STDEF, false, 4, 4,
620620
"Reduces damage of Rank 13 and below techniques. NOTE THAT 1) Tier Defenses may require some special abilities, 2) Wearable armor requires Techniques with this Effect, and 3) Legendary Tier offers the defensive properties of High Tier (still unbreakable). Please refer to the Rules for more details.") },
621-
{ EFF_MIDEF, new Effect(EFF_MIDEF, false, 12, 22,
621+
{ EFF_MIDEF, new Effect(EFF_MIDEF, false, 12, 12,
622622
"Reduces damage of Rank 27 and below techniques. NOTE THAT 1) Tier Defenses may require some special abilities, 2) Wearable armor requires Techniques with this Effect, and 3) Legendary Tier offers the defensive properties of High Tier (still unbreakable). Please refer to the Rules for more details.") },
623-
{ EFF_HIDEF, new Effect(EFF_HIDEF, false, 24, 36,
623+
{ EFF_HIDEF, new Effect(EFF_HIDEF, false, 24, 24,
624624
"Reduces damage of Rank 43 and below techniques. NOTE THAT 1) Tier Defenses may require some special abilities, 2) Wearable armor requires Techniques with this Effect, and 3) Legendary Tier offers the defensive properties of High Tier (still unbreakable). Please refer to the Rules for more details.") },
625625
{ EFF_DOPIN, new Effect(EFF_DOPIN, false, 4, 14,
626626
"(DOCTOR) - Doping allows characters to use pills, injections, or other similar means to effectively ignore injury for a set duration in order to allow their bodies to fight at full strength while they are in effect. As this is very taxing on the body, doping techs have a cool down equal to duration. The effectiveness of doping on a target halves after each use within the same topic regardless of the rank or source of the original doping technique used.") },

OPRPCharBuild/OPRPCharBuild/MainForm.Designer.cs

+7-17
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)