//next round private void button3_Click(object sender, EventArgs e) { CombatHolder._alreadyAttackedThisRound.Clear(); int rounds = 1; Int32.TryParse(textBoxRoundsToJump.Text, out rounds); if (rounds < 1) { rounds = 1; } textBoxRoundsToJump.Text = ""; for (int i = 0; i < rounds; i++) { EffectHolder.ProcAndDecayEffects(); foreach (Character c in CombatHolder._inCombatChars) { EnchantmentUtilities.triggerAllEnchantmentsForChar(c, new EnchantmentParameters() { triggerSource = EnchantmentUtilities.SourceTypes.Round }); foreach (SpellToCast stc in c.CombatStuff.SpellsToCast) { if (stc != null) { stc.hasBeenCast = false; if (!stc.castAtBeginningOfNextRound) { stc.spellPower = -1; } } } } if (rounds < 10) { SpellResults frmCreator = new SpellResults(false); } CombatScripts.slowlyRegenerateCharacters(); CombatScripts.removeOverhealFromCharacters(); } UpdateRTB(); CombatHolder.updateCombatDeclarations(); }
private void resolveSpells(bool updateboxes) { foreach (SpellToCast stc in spells) { foreach (Effect eff in stc.effectResult.Keys) { EffectHolder.CreateEffect(eff, stc.effectResult[eff], false); } foreach (AttackOutcome ao in stc.weaponResult) { CombatScripts.applyAttackOutcome(ao); } stc.caster.Stamina -= stc.spell.SpellCost; attemptToAddResult(stc.caster, stc); foreach (Character c in stc.targets) { attemptToAddResult(c, stc); } stc.targets.Clear(); stc.spellPower = 0; } EffectHolder.ClearUselessEffects(); if (updateboxes) { if (CombatHolder._masterOfDeclarations != null) { CombatHolder._masterOfDeclarations.UpdateRTB(); } CombatHolder.updateCombatDeclarations(); } SpellResults frmCloser = this; frmCloser.Hide(); }
//run spells private void btnRunSpells_Click(object sender, EventArgs e) { SpellResults frmCreator = new SpellResults(true); frmCreator.Show(); }