/* * Should work... * When the user right-clicks somewhere in the check box list. */ private void chkBoxChummer_MouseClick(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { // confirm we are selecting a chummer if (chkBoxChummer.SelectedItem == null) { MessageBox.Show("Please select a chummer before right-clicking"); } frmInitRoller frmHits = new frmInitRoller { Dice = characters[chkBoxChummer.SelectedIndex].InitPasses }; frmHits.ShowDialog(this); if (frmHits.DialogResult != DialogResult.OK) { return; // we decided not to actually change the initiative } characters[chkBoxChummer.SelectedIndex].InitRoll = frmHits.Result; chkBoxChummer.Items[chkBoxChummer.SelectedIndex] = characters[chkBoxChummer.SelectedIndex]; } }
/// <summary> /// Add's the token to the initiative chain /// </summary> /// <param name="character"></param> /// <param name="autoInit"></param> public void AddToken(Character character, bool autoInit) { if (character.InitRoll == Int32.MinValue) { frmInitRoller frmHits = new frmInitRoller(); frmHits.Dice = character.InitPasses; frmHits.ShowDialog(this); if (frmHits.DialogResult != DialogResult.OK) { MessageBox.Show("ERROR"); // TODO edward show error return; } character.InitRoll = frmHits.Result + character.InitialInit; } else { autoInit = true; } if (staticBattleMode) { character.StaticInit = character.InitRoll; } //If you join a fight in a later Initiativeround, your Initiative is reduced by turn times 10 character.InitRoll += round > 1 ? (round - 1) * -10 : 0; _characters.Add(new Tuple <Character, bool>(character, autoInit)); var lindex = chkBoxChummer.Items.Add(character); chkBoxChummer.SetItemChecked(lindex, autoInit); }
/* * Reset button pressed */ private void btnReset_Click(object sender, EventArgs e) { // for every checked character, we re-roll init for (int i = 0; i < characters.Count; i++) { if (chkBoxChummer.CheckedIndices.Contains(i)) { Character objLoopCharacter = characters[i]; int intInitRoll = 0; for (int j = 0; j < objLoopCharacter.InitPasses; j++) { do { _intModuloTemp = _objRandom.Next(); }while (_intModuloTemp >= int.MaxValue - 1); // Modulo bias removal for 1d6 intInitRoll += 1 + _intModuloTemp % 6; } objLoopCharacter.InitRoll = intInitRoll + objLoopCharacter.InitialInit; } } // query for new initiatives for (int j = 0; j < characters.Count; j++) { if (chkBoxChummer.GetItemCheckState(j) == CheckState.Unchecked) { Character objLoopCharacter = characters[j]; frmInitRoller frmHits = new frmInitRoller { Text = "Initiative: " + objLoopCharacter.Name, Description = "initiative result", Dice = objLoopCharacter.InitPasses }; frmHits.ShowDialog(this); if (frmHits.DialogResult != DialogResult.OK) { return; // we decided not to actually change the initiative } objLoopCharacter.InitRoll = frmHits.Result + objLoopCharacter.InitialInit; } } ResetListBoxChummers(); _finishedCombatTurn = false; index = 0; round = 1; lblRound.Text = "Round 1"; totalChummersWithNoInit = 0; }
/// <summary> /// Adds changeDice Dices to the InitPasses and changes the actual InitRoll accordingly /// </summary> /// <param name="changeDice"></param> private void ApplyInitiativePassesChange(int changeDice) { // check if we have selected a chummer in the list if (chkBoxChummer.SelectedItem == null) { MessageBox.Show("Please select a Chummer"); return; } // pull the simple character out int selectedIndex = chkBoxChummer.SelectedIndex; if (changeDice > 0 && _characters[selectedIndex].Item1.InitPasses + changeDice > 5) { MessageBox.Show("No more than five initiative dice allowed"); return; } if (changeDice < 0 && _characters[selectedIndex].Item1.InitPasses + changeDice < 0) { MessageBox.Show("Not less than zero initiative dice allowed"); return; } _characters[selectedIndex].Item1.InitPasses += changeDice; int initChange; if (chkBoxChummer.GetItemCheckState(selectedIndex) == CheckState.Unchecked) { frmInitRoller frmHits = new frmInitRoller(); frmHits.Text = "Initiave change: " + _characters[selectedIndex].Item1.Name; frmHits.Description = "dice result"; frmHits.Dice = Math.Abs(changeDice); frmHits.ShowDialog(this); if (frmHits.DialogResult != DialogResult.OK) { return; } initChange = changeDice > 0 ? frmHits.Result : -frmHits.Result; } else { var random = new Random(); initChange = changeDice > 0 ? random.Next(1 * changeDice, 6 * changeDice) : random.Next(6 * changeDice, 1 * changeDice); // if change is negative, min value is multiplied times 6 } ApplyInitChange(initChange); if (staticBattleMode) { _characters[selectedIndex].Item1.StaticInit += initChange; } }
/// <summary> /// Add's the token to the initiative chain /// </summary> /// <param name="character"></param> public void AddToken(Character character) { if (character.InitRoll == Int32.MinValue) { frmInitRoller frmHits = new frmInitRoller(); frmHits.Dice = character.InitPasses; frmHits.ShowDialog(this); if (frmHits.DialogResult != DialogResult.OK) { MessageBox.Show("ERROR"); // TODO edward show error return; } character.InitRoll = frmHits.Result + character.InitialInit; } characters.Add(character); chkBoxChummer.Items.Add(character); }
/// <summary> /// Add's the token to the initiative chain /// </summary> /// <param name="character"></param> public void AddToken(Character character) { if (character.InitRoll == Int32.MinValue) { frmInitRoller frmHits = new frmInitRoller(); frmHits.Dice = character.InitPasses; frmHits.ShowDialog(this); if (frmHits.DialogResult != DialogResult.OK) { MessageBox.Show("ERROR"); // TODO edward show error return; } character.InitRoll = frmHits.Result + character.InitialInit; } this.characters.Add(character); this.chkBoxChummer.Items.Add(character); }
/* * Reset button pressed */ private void btnReset_Click(object sender, EventArgs e) { // for every checked character, we re-roll init Random random = MersenneTwister.SfmtRandom.Create(); for (int i = 0; i < characters.Count; i++) { if (chkBoxChummer.CheckedIndices.Contains(i)) { characters[i].InitRoll = random.Next(characters[i].InitPasses, characters[i].InitPasses * 6) + characters[i].InitialInit; } } // query for new initiatives for (int j = 0; j < characters.Count; j++) { if (chkBoxChummer.GetItemCheckState(j) == CheckState.Unchecked) { frmInitRoller frmHits = new frmInitRoller(); frmHits.Text = "Initiative: " + characters[j].Name; frmHits.Description = "initiative result"; frmHits.Dice = characters[j].InitPasses; frmHits.ShowDialog(this); if (frmHits.DialogResult != DialogResult.OK) { return; // we decided not to actually change the initiative } characters[j].InitRoll = frmHits.Result + characters[j].InitialInit; } } ResetListBoxChummers(); _finishedCombatTurn = false; index = 0; round = 1; lblRound.Text = "Round 1"; totalChummersWithNoInit = 0; }
private bool QueryUserInitiatives() { for (int j = 0; j < _characters.Count; j++) { if (chkBoxChummer.GetItemCheckState(j) == CheckState.Unchecked) { frmInitRoller frmHits = new frmInitRoller { Text = "Initiative: " + _characters[j].Item1.Name, Description = "initiative result", Dice = _characters[j].Item1.InitPasses }; frmHits.ShowDialog(this); if (frmHits.DialogResult != DialogResult.OK) { return(true); } _characters[j].Item1.InitRoll = frmHits.Result + _characters[j].Item1.InitialInit; } } return(false); }
/* * Should work... * When the user right-clicks somewhere in the check box list. */ private void chkBoxChummer_MouseClick(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { // confirm we are selecting a chummer if (this.chkBoxChummer.SelectedItem == null) MessageBox.Show("Please select a chummer before right-clicking"); frmInitRoller frmHits = new frmInitRoller(); frmHits.Dice = this.characters[this.chkBoxChummer.SelectedIndex].InitPasses; frmHits.ShowDialog(this); if (frmHits.DialogResult != DialogResult.OK) return; // we decided not to actually change the initiative this.characters[this.chkBoxChummer.SelectedIndex].InitRoll = frmHits.Result; this.chkBoxChummer.Items[this.chkBoxChummer.SelectedIndex] = this.characters[this.chkBoxChummer.SelectedIndex]; } }
/* * Reset button pressed */ private void btnReset_Click(object sender, EventArgs e) { // for every checked character, we re-roll init Random random = new Random(); for (int i = 0; i < this.characters.Count; i++) { if (this.chkBoxChummer.CheckedIndices.Contains(i)) this.characters[i].InitRoll = random.Next(this.characters[i].InitPasses, this.characters[i].InitPasses * 6) + this.characters[i].InitialInit; } // query for new initiatives for (int j = 0; j < this.characters.Count; j++) { if (this.chkBoxChummer.GetItemCheckState(j) == CheckState.Unchecked) { frmInitRoller frmHits = new frmInitRoller(); frmHits.Text = "Initiative: " + this.characters[j].Name; frmHits.Description = "initiative result"; frmHits.Dice = this.characters[j].InitPasses; frmHits.ShowDialog(this); if (frmHits.DialogResult != DialogResult.OK) return; // we decided not to actually change the initiative this.characters[j].InitRoll = frmHits.Result + this.characters[j].InitialInit; } } this.ResetListBoxChummers(); this.finishedCombatTurn = false; this.index = 0; this.round = 1; this.lblRound.Text = "Round 1"; this.totalChummersWithNoInit = 0; }
/// <summary> /// Adds changeDice Dices to the InitPasses and changes the actual InitRoll accordingly /// </summary> /// <param name="changeDice"></param> private void ApplyInitiativePassesChange(int changeDice) { // check if we have selected a chummer in the list if (chkBoxChummer.SelectedItem == null) { MessageBox.Show("Please select a Chummer"); return; } // pull the simple character out int selectedIndex = chkBoxChummer.SelectedIndex; if (changeDice > 0 && _characters[selectedIndex].Item1.InitPasses + changeDice > 5) { MessageBox.Show("No more than five initiative dice allowed"); return; } if (changeDice < 0 && _characters[selectedIndex].Item1.InitPasses + changeDice < 0) { MessageBox.Show("Not less than zero initiative dice allowed"); return; } _characters[selectedIndex].Item1.InitPasses += changeDice; int initChange; if (chkBoxChummer.GetItemCheckState(selectedIndex) == CheckState.Unchecked) { frmInitRoller frmHits = new frmInitRoller(); frmHits.Text = "Initiave change: " + _characters[selectedIndex].Item1.Name; frmHits.Description = "dice result"; frmHits.Dice = Math.Abs(changeDice); frmHits.ShowDialog(this); if (frmHits.DialogResult != DialogResult.OK) { return; } initChange = changeDice > 0 ? frmHits.Result : -frmHits.Result; } else { var random = new Random(); initChange = changeDice > 0 ? random.Next(1*changeDice, 6*changeDice) : random.Next(6*changeDice, 1*changeDice); // if change is negative, min value is multiplied times 6 } ApplyInitChange(initChange); if (staticBattleMode) { _characters[selectedIndex].Item1.StaticInit += initChange; } }
/// <summary> /// Add's the token to the initiative chain /// </summary> /// <param name="character"></param> /// <param name="autoInit"></param> public void AddToken(Character character, bool autoInit) { if (character.InitRoll == Int32.MinValue) { frmInitRoller frmHits = new frmInitRoller(); frmHits.Dice = character.InitPasses; frmHits.ShowDialog(this); if (frmHits.DialogResult != DialogResult.OK) { MessageBox.Show("ERROR"); // TODO edward show error return; } character.InitRoll = frmHits.Result + character.InitialInit; } else { autoInit = true; } if (staticBattleMode) { character.StaticInit = character.InitRoll; } //If you join a fight in a later Initiativeround, your Initiative is reduced by turn times 10 character.InitRoll += round > 1 ? (round - 1)*-10 : 0; _characters.Add(new Tuple<Character, bool>(character, autoInit)); var lindex = chkBoxChummer.Items.Add(character); chkBoxChummer.SetItemChecked(lindex, autoInit); }
private bool QueryUserInitiatives() { for (int j = 0; j < _characters.Count; j++) { if (chkBoxChummer.GetItemCheckState(j) == CheckState.Unchecked) { frmInitRoller frmHits = new frmInitRoller { Text = "Initiative: " + _characters[j].Item1.Name, Description = "initiative result", Dice = _characters[j].Item1.InitPasses }; frmHits.ShowDialog(this); if (frmHits.DialogResult != DialogResult.OK) return true; _characters[j].Item1.InitRoll = frmHits.Result + _characters[j].Item1.InitialInit; } } return false; }