private void restoreNPCHP_Click(object sender, RoutedEventArgs e) { List<UndoableCommand> commList = new List<UndoableCommand>(); for (int i = 0; i < listi.Count; i++) { Combatant toBeRestoredCombatant = listi[i]; if (toBeRestoredCombatant.IsNPC) { float maxHP = toBeRestoredCombatant.MaxHP; CommUpdateCombatant commUpdt = new CommUpdateCombatant(toBeRestoredCombatant, CombatantAttributes.hp, maxHP); commList.Add(commUpdt); } } if (commList.Count > 0) { CommCommandPackStarter commPack = new CommCommandPackStarter(commList); commPack.Execute(); } }
private void rollNPCInit_Click(object sender, RoutedEventArgs e) { List<UndoableCommand> commList = new List<UndoableCommand>(); Random random = new Random(); for (int i = 0; i < listi.Count; i++) { Combatant rollInitCombatant = listi[i]; if (rollInitCombatant.IsNPC) { float initiative = rollInitCombatant.InitMod + random.Next(1, 21); CommUpdateCombatant commUpdt = new CommUpdateCombatant(rollInitCombatant, CombatantAttributes.initiative, initiative); commList.Add(commUpdt); } } if (commList.Count > 0) { CommCommandPackStarter commPack = new CommCommandPackStarter(commList); commPack.Execute(); } }
private void GiveXP_Click(object sender, RoutedEventArgs e) { List<UndoableCommand> commList = new List<UndoableCommand>(); int numPCs = 0; for (int i = 0; i < listi.Count; i++) { if (!listi[i].IsNPC) { numPCs++; } } Window2 inputGetter = new Window2("How much xp will be Awarded?"); inputGetter.ShowDialog(); float xpShare = App.getFloatFromString(inputGetter.InputValue) / (float)numPCs; for (int i = 0; i < listi.Count; i++) { if (!listi[i].IsNPC) { float xp = listi[i].XP + xpShare; CommUpdateCombatant commUpdt = new CommUpdateCombatant(listi[i], CombatantAttributes.xp, xp); commList.Add(commUpdt); } } if (commList.Count > 0) { CommCommandPackStarter commPack = new CommCommandPackStarter(commList); commPack.Execute(); } }