Esempio n. 1
0
    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);
    }
Esempio n. 2
0
    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);
    }