public MasterDeclarations() { InitializeComponent(); cboBoxName.DataSource = CombatHolder.getInCombatCharNames(); UpdateRTB(); CombatHolder.updateCombatDeclarations(); CombatHolder._masterOfDeclarations = this; }
//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 FOLLOWTHETACO_Click(object sender, EventArgs e) { List <AttackOutcome> followedTacos = new List <AttackOutcome>(); foreach (AttackOutcome tacoToFollow in allAttacks) { AttackOutcome followedTaco = CombatScripts.RunCombat(tacoToFollow.Attacker, tacoToFollow.Defender, tacoToFollow.attackRoll, tacoToFollow.defendRoll, null); followedTaco.Attacker.CombatStuff.AttackNotes = followedTaco.Notes; followedTaco.Defender.CombatStuff.DefendNotes = followedTaco.Notes; followedTacos.Add(followedTaco); } CombatScripts.fatigueCharactersAndRecordCombat(followedTacos); foreach (AttackOutcome Whack in followedTacos) { CombatScripts.applyAttackOutcome(Whack); } EffectHolder.ClearUselessEffects(); CombatHolder.MoveAttackingCharsToHasAttackedChars(); if (CombatHolder._masterOfDeclarations != null) { CombatHolder._masterOfDeclarations.UpdateRTB(); } CombatHolder.updateCombatDeclarations(); AfterCrits frmCreator = new AfterCrits(); frmCreator.Show(); Master_Attacker frmCloser = this; frmCloser.Hide(); }
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(); }
//get data from google sheets private void btnInternet_Click(object sender, EventArgs e) { //CombatHolder.readCharsFromGoogle(true); UpdateRTB(); CombatHolder.updateCombatDeclarations(); }
//run attacks private void button2_Click(object sender, EventArgs e) { CombatHolder.updateCombatDeclarations(); CombatHolder.attemptToBeginCombat(); }