protected ICollection <IBattleFormula <int> > GenerateFormulas() { HashSet <IBattleFormula <int> > set = new HashSet <IBattleFormula <int> >(); MultiplierValues defense = new MultiplierValues(minDefMulti, maxDefMulti); LogarithmicBattleFormula logarithmic = new LogarithmicBattleFormula(); logarithmic.DefenseMultiplier = defense; logarithmic.Multiplier = new MultiplierValues(0, 2); logarithmic.SetSeed(StartingSeed); set.Add(logarithmic); LinearBattleFormula linear = new LinearBattleFormula(); linear.AdditionMultiplier = new MultiplierValues(minAddMulti, maxAddMulti); linear.DefenseMultiplier = defense; linear.Multiplier = new MultiplierValues(minSlopeMulti, maxSlopeMulti); linear.SetSeed(StartingSeed); set.Add(linear); NormalExponentialBattleFormula normal = new NormalExponentialBattleFormula(); normal.DefenseMultiplier = defense; normal.Multiplier = new MultiplierValues(1, 15); normal.SetSeed(StartingSeed); set.Add(normal); TaperedSquaredBattleFormula tapered = new TaperedSquaredBattleFormula(); tapered.Multiplier = new MultiplierValues(3, 10); tapered.DefenseMultiplier = defense; tapered.SetSeed(StartingSeed); set.Add(tapered); ExponentialBattleFormula exponential = new ExponentialBattleFormula(); exponential.Multiplier = new MultiplierValues(90, 100); exponential.DefenseMultiplier = defense; exponential.SetSeed(StartingSeed); set.Add(exponential); return(set); }
protected void GenerateFormulas() { /* * Generate multipliers */ // Virtue MultiplierValues virtueMultipliers = GenerateMultiplier(StatUtils.MIN_STAT, StatUtils.MAX_STAT, rCount); rCount += 2; // Resolve MultiplierValues resolveMultipliers = GenerateMultiplier(StatUtils.MIN_STAT, StatUtils.MAX_STAT, rCount); rCount += 2; // Spirit MultiplierValues spiritMultipliers = GenerateMultiplier(StatUtils.MIN_STAT, StatUtils.MAX_STAT, rCount); rCount += 2; // Deftness MultiplierValues deftMultipliers = GenerateMultiplier(StatUtils.MIN_STAT, StatUtils.MAX_STAT, rCount); rCount += 2; // Vitality MultiplierValues vitalityMultipliers = GenerateMultiplier(StatUtils.MIN_STAT, StatUtils.MAX_STAT, rCount); rCount += 2; // HP MultiplierValues hpMultipliers = GenerateMultiplier(StatUtils.MIN_STAT, StatUtils.MAX_HP, rCount); rCount += 2; // Exp MultiplierValues xpMultipliers = GenerateMultiplier(StatUtils.MIN_EXP, StatUtils.MAX_EXP, rCount); rCount += 2; /* * Genereate formulas */ // Virtue BaseStatFormula virtueFormula = new BaseStatFormula(virtueStat); virtueFormula.SetSeed(unchecked ((int)random.GetHash(rCount++))); virtueFormula.Multiplier = virtueMultipliers; virtueStat.SetFormula(virtueFormula); // Resolve BaseStatFormula resolveFormula = new BaseStatFormula(resolveStat); resolveFormula.SetSeed(unchecked ((int)random.GetHash(rCount++))); resolveFormula.Multiplier = resolveMultipliers; resolveStat.SetFormula(resolveFormula); // Spirit BaseStatFormula spiritFormula = new BaseStatFormula(spiritStat); spiritFormula.SetSeed(unchecked ((int)random.GetHash(rCount++))); spiritFormula.Multiplier = spiritMultipliers; spiritStat.SetFormula(spiritFormula); // Deftness BaseStatFormula deftFormula = new BaseStatFormula(deftStat); deftFormula.SetSeed(unchecked ((int)random.GetHash(rCount++))); deftFormula.Multiplier = deftMultipliers; deftStat.SetFormula(deftFormula); // Vitality BaseStatFormula vitalityFormula = new BaseStatFormula(virtueStat); vitalityFormula.SetSeed(unchecked ((int)random.GetHash(rCount++))); vitalityFormula.Multiplier = vitalityMultipliers; vitalityStat.SetFormula(vitalityFormula); // Health HealthFormula hpFormula = new HealthFormula(hpStat, vitalityStat); hpFormula.SetSeed(unchecked ((int)random.GetHash(rCount++))); hpFormula.Multiplier = hpMultipliers; hpStat.SetFormula(hpFormula); // Experience ExperienceFormula xpFormula = new ExperienceFormula(xpStat); xpFormula.SetSeed(unchecked ((int)random.GetHash(rCount++))); xpFormula.Multiplier = xpMultipliers; xpStat.SetFormula(xpFormula); }