public static int RollInitiative(CombatSituation situation, Character character) { int ir = character.Intuition + character.Reaction; int id = character.Intuition + character.DataProcessing; switch (situation) { case CombatSituation.PHYSICAL: return(ir + d6()); case CombatSituation.ASTRAL: return((2 * character.Intuition) + d6(2)); case CombatSituation.MATRIX: switch (character.MatrixLevel) { case MatrixLevel.AR: return(ir + d6()); case MatrixLevel.COLD_SIM: return(id + d6(3)); case MatrixLevel.HOT_SIM: return(id + d6(4)); default: throw new NotImplementedException(); } default: throw new NotImplementedException(); } }
private void combatSituationChanged(object sender, EventArgs e) { if (physicalRadioButton.Checked) { m_Situation = CombatSituation.PHYSICAL; } else if (astralRadioButton.Checked) { m_Situation = CombatSituation.ASTRAL; } else if (matrixRadioButton.Checked) { m_Situation = CombatSituation.MATRIX; } if (OnCombatSituationChanged != null) { OnCombatSituationChanged(this, null); } }
public CombatSituationPanel() { InitializeComponent(); Situation = CombatSituation.PHYSICAL; }