public Spell RollSpell(int bonusam, int bonusampercent, int bonuswill, int bonuswillpercent, int bonusvisee, int bonusviseepercent) { Random rand = new Random(); int randNumber = rand.Next(1, 100); int randSpell = (randNumber + WillPower + bonuswill) + (randNumber + WillPower + bonuswill) * bonuswillpercent / 100; int powerLevel = 0; if (Model.isBadCrit(randNumber, WillPower)) { powerLevel = 0; } else if (randSpell >= 50) { if (Model.isCrit(randNumber, WillPower)) { powerLevel = 3; } else { powerLevel = 2; } } else { powerLevel = 1; } randNumber = rand.Next(1, 100); int randAccuracy = 0; randAccuracy = (randNumber + MagicPower + bonusam + bonusvisee) + (randNumber + MagicPower + bonusam) * bonusampercent / 100 + (randNumber + MagicPower + bonusvisee) * bonusviseepercent / 100; bool accuracyLevel = false; if (randAccuracy >= 50) { accuracyLevel = true; } else { accuracyLevel = false; } if (randSpell < 0) { randSpell = 0; } if (randAccuracy < 0) { randAccuracy = 0; } return(new Spell(randAccuracy, randSpell, accuracyLevel, powerLevel)); }
public void RollProtego(int bonus, int bonuspercent) { Random rand = new Random(); int randNumber = rand.Next(1, 100); Console.WriteLine(bonuspercent); int randProtego = (randNumber + MagicPower + bonus) + (randNumber + MagicPower + bonus) * bonuspercent / 100; if (Model.isCrit(randNumber, WillPower)) { ProtegoActive = new Protego(randProtego * 2, 2); } else if (Model.isBadCrit(randNumber, WillPower)) { ProtegoActive = new Protego(0, 0); } else { ProtegoActive = new Protego(randProtego, 1); } }