示例#1
0
 public StatEntry(IProtoEntity source, StatName statName, double value, double percent)
 {
     this.Source   = source;
     this.StatName = statName;
     this.Value    = value;
     this.Percent  = percent;
 }
示例#2
0
 public MobaItemStats(StatName name, string description, int index, string method)
 {
     statName        = name;
     statDescription = description;
     methodIndex     = index;
     methodName      = method;
 }
示例#3
0
    /// <summary>
    /// Gives us access to the value of a certain stat
    /// </summary>
    /// <param name="name">The name of the stat to check</param>
    /// <returns>Returns the final value of the stat if it exists, -1 if it doesn't</returns>
    public float GetValue(StatName name)
    {
        Stat temp = null;

        stats?.TryGetValue(name, out temp);
        return(temp == null ? -1f : temp.value);
    }
示例#4
0
        public BaseStatsDictionary AddPercent(IProtoEntity source, StatName statName, double percent)
        {
            if (percent == 0)
            {
                return(this);
            }

            var multiplier = percent / 100d;

            // simply sum multipliers (like values)
            if (multiplier == 0)
            {
                return(this);
            }

            StatsSources.RegisterPercent(ref this.sources, source, statName, percent);

            if (this.Multipliers.TryGetValue(statName, out var currentMultiplier))
            {
                // simply sum with existing value
                multiplier += currentMultiplier;
            }
            else
            {
                // non-existing multiplier - add base multiplier (one)
                multiplier += 1;
            }

            this.ValidateIsNotReadOnly();
            this.Multipliers[statName] = multiplier;
            return(this);
        }
示例#5
0
        public StatEffect(
            StatName statName,
            byte level,
            FuncBonusAtLevel formulaValueBonus,
            FuncBonusAtLevel formulaPercentBonus,
            double valueBonus,
            double percentBonus,
            bool displayTotalValue)
        {
            this.StatName = statName;
            this.Level    = level;

            if (formulaValueBonus == null &&
                formulaPercentBonus == null &&
                valueBonus == 0 &&
                percentBonus == 0)
            {
                throw new ArgumentNullException(
                          $"Both provided formulas for stat effect \'{statName}\" are null and {nameof(valueBonus)} and {nameof(percentBonus)} are zero");
            }

            this.FormulaValueBonus   = formulaValueBonus;
            this.FormulaPercentBonus = formulaPercentBonus;
            this.ValueBonus          = valueBonus;
            this.PercentBonus        = percentBonus;
            this.DisplayTotalValue   = displayTotalValue;
        }
示例#6
0
        public StatEffect(
            StatName statName,
            string customDescription,
            byte level,
            FuncBonusAtLevel formulaValueBonus,
            FuncBonusAtLevel formulaPercentBonus,
            double valueBonus,
            double percentBonus)
        {
            this.StatName    = statName;
            this.Level       = level;
            this.Description = customDescription
                               ?? statName.GetAttribute <DescriptionAttribute>()?.Description
                               ?? throw new Exception("There is no [Description] attribute for stat " + statName);

            if (formulaValueBonus == null &&
                formulaPercentBonus == null &&
                valueBonus == 0 &&
                percentBonus == 0)
            {
                throw new ArgumentNullException(
                          $"Both provided formulas for stat effect \'{statName}\" are null and {nameof(valueBonus)} and {nameof(percentBonus)} are zero");
            }

            this.FormulaValueBonus   = formulaValueBonus;
            this.FormulaPercentBonus = formulaPercentBonus;
            this.ValueBonus          = valueBonus;
            this.PercentBonus        = percentBonus;
        }
示例#7
0
    // TODO make it an enum stat calculator
    public static int GetUpgradeCost(StatName statName, Stat stat)
    {
        switch (statName)
        {
        case StatName.Speed:
            return(CalculateUpgradeCost(stat, 1.0F, 100.0F, 1000.0F));

        case StatName.ReactionTime:
            return(CalculateUpgradeCost(stat, 1.0F, 100.0F, -1000.0F));

        case StatName.Health:
            return(CalculateUpgradeCost(stat, 1.0F, 100.0F, 1000.0F));

        case StatName.Sight:
            return(CalculateUpgradeCost(stat, 1.0F, 100.0F, 1000.0F));

        case StatName.MaxEnergy:
            return(CalculateUpgradeCost(stat, 1.0F, 100.0F, 1000.0F));

        case StatName.Strength:
            return(CalculateUpgradeCost(stat, 1.0F, 100.0F, 1000.0F));

        default:
            throw new System.Exception();
        }
    }
示例#8
0
    /// <summary>
    /// Gives us access to a certain stat. Useful for registering callbacks on a stat, or adding bonuses
    /// </summary>
    /// <param name="name">The name of the stat to get</param>
    /// <returns>Returns the stat if it exists, null otherwise</returns>
    public Stat GetStat(StatName name)
    {
        Stat temp = null;

        stats?.TryGetValue(name, out temp);
        return(temp);
    }
示例#9
0
    public void UpdateStats()
    {
        CharacterStats statsCopy = null;

        if (selectedCharacter.currentEquipment.currentArmor != null && selectedItem != null && selectedItem.equipType.Equals(EquipType.Armor))
        {
            EquipableItem currentArmor   = selectedCharacter.currentEquipment.currentArmor;
            StatName      statToDecrease = currentArmor.characterStat;

            statsCopy = ApplyValue(statToDecrease, selectedCharacter.charStats, -currentArmor.value);
        }
        else if (selectedCharacter.currentEquipment.currentWeapon != null && selectedItem != null && selectedItem.equipType.Equals(EquipType.Weapon))
        {
            EquipableItem currentWeapon  = selectedCharacter.currentEquipment.currentWeapon;
            StatName      statToDecrease = currentWeapon.characterStat;

            statsCopy = ApplyValue(statToDecrease, selectedCharacter.charStats, -currentWeapon.value);
        }
        else
        {
            statsCopy = selectedCharacter.charStats;
        }

        PrintUpdatedStats(statsCopy);
    }
示例#10
0
    public void ShowUpdatedStats(EquipableItem item)
    {
        //Mirar si el pj tiene un objeto equipado en la casilla correspondiente
        //En caso afirmativo se deja como si no tuviera nada (usando variable a parte)
        CharacterStats statsCopy = null;

        if (selectedCharacter.currentEquipment.currentArmor != null && item.equipType.Equals(EquipType.Armor))
        {
            EquipableItem currentArmor   = selectedCharacter.currentEquipment.currentArmor;
            StatName      statToDecrease = currentArmor.characterStat;

            statsCopy = ApplyValue(statToDecrease, selectedCharacter.charStats, -currentArmor.value);
        }
        if (selectedCharacter.currentEquipment.currentWeapon != null && item.equipType.Equals(EquipType.Weapon))
        {
            EquipableItem currentWeapon  = selectedCharacter.currentEquipment.currentWeapon;
            StatName      statToDecrease = currentWeapon.characterStat;

            statsCopy = ApplyValue(statToDecrease, selectedCharacter.charStats, -currentWeapon.value);
        }

        //Se añade lo que se aplicaría y se muestra en el resultado actualizado
        if (statsCopy == null)
        {
            statsCopy = InitStatsCopy(selectedCharacter.charStats);
        }
        statsCopy = ApplyValue(item.characterStat, statsCopy, item.value);
        PrintUpdatedStats(statsCopy);
    }
        private List <Pair <StatName, StatModifier> > makeListOfStatMod(StatName statName, StatModifier statMod)
        {
            List <Pair <StatName, StatModifier> > list = new List <Pair <StatName, StatModifier> >();

            list.Add(new Pair <StatName, StatModifier>(statName, statMod));
            return(list);
        }
示例#12
0
        /// <summary>
        ///     Returns the average of the questioned stat
        /// </summary>
        /// <param name="name">ENUM for statname</param>
        /// <returns>double average</returns>
        public double average(StatName name)
        {
            if (!calculateAverage[(int)name])
            {
                return(double.NaN);
            }
            if ((dictionary.Length <= (int)name) || (dictionary[(int)name] == null))
            {
                return(double.NaN);
            }
            var value = dictionary[(int)name];

            if (!ignoreZero[(int)name])
            {
                return(value.Average());
            }
            var    size  = 0;
            double total = 0;

            foreach (var doub in value)
            {
                if (doub != 0.0)
                {
                    total += doub;
                    size++;
                }
            }

            return(total / size);
        }
示例#13
0
        private int ScorePairs(List <CardView> list, ScoreCollection scoreStory, HandType handType)
        {
            List <List <CardView> > listlist = GetPairCards(list);
            int score = 0;

            foreach (List <CardView> cards in listlist)
            {
                int cardCount = cards.Count;

                StatName name = StatName.Ignored;
                if (cardCount == 2)
                {
                    name   = (handType == HandType.Regular) ? StatName.HandPairs : StatName.CribPairs;
                    score += 2;
                }
                else if (cardCount == 3)
                {
                    name   = (handType == HandType.Regular) ? StatName.Hand3OfAKind : StatName.Crib3OfAKind;
                    score += 6;
                }
                else if (cardCount == 4)
                {
                    score += 12;
                    name   = (handType == HandType.Regular) ? StatName.Hand4OfAKind : StatName.Crib4OfAKind;
                }

                scoreStory.Scores.Add(new ScoreInstance(name, 1, score, CardListToIntList(cards)));
            }

            return(score);
        }
示例#14
0
 public ScoreInstance(StatName name, int count, int score, List <int> cards)
 {
     ScoreType = name;
     Count     = count;
     Score     = score;
     Cards     = new List <int>(cards);
 }
示例#15
0
        private StatsSources AddOrUpdate(
            IProtoEntity source,
            StatName statName,
            double value,
            double percent)
        {
            this.list ??= new List <StatEntry>();

            for (var index = 0; index < this.list.Count; index++)
            {
                var entry = this.list[index];
                if (entry.StatName == statName &&
                    entry.Source == source)
                {
                    // found existing entry - update it
                    entry.Value     += value;
                    entry.Percent   += percent;
                    this.list[index] = entry;
                    return(this);
                }
            }

            // create new entry
            this.list.Add(new StatEntry(source, statName, value, percent));
            return(this);
        }
示例#16
0
    private void AddStatBox(GameObject targetCharacter, StatName stat)
    {
        GameObject statText = Instantiate(statUIPrefab);

        statText.GetComponent <StatUIBoxAutoUpdate>().targetCharacter = targetCharacter;
        statText.GetComponent <StatUIBoxAutoUpdate>().stat            = stat;
        statText.transform.SetParent(characterStatPanel.transform);
    }
示例#17
0
 public static void RegisterValue(
     ref StatsSources stats,
     IProtoEntity source,
     StatName statName,
     double value)
 {
     stats = stats.AddOrUpdate(source, statName, value, percent: 0);
 }
示例#18
0
 public static void RegisterPercent(
     ref StatsSources stats,
     IProtoEntity source,
     StatName statName,
     double percent)
 {
     stats = stats.AddOrUpdate(source, statName, value: 0, percent: percent);
 }
示例#19
0
文件: Stat.cs 项目: EPKgit/2DTopDown
 public Stat(StatInspectorValue s)
 {
     name = s.name;
     SetBaseValue(s.value);
     if (DEBUGFLAGS.STATS)
     {
         Debug.Log(name + " created with value:" + baseValue);
     }
 }
示例#20
0
 public ScoreInstance(StatName name, int count, int score, int cardIndex)
 {
     ScoreType = name;
     Count     = count;
     Score     = score;
     Cards     = new List <int>();
     Cards.Add(cardIndex);
     Muggins = false;
 }
示例#21
0
 public override string ToString()
 {
     if (duration < 0)
     {
         return(string.Format("{0} {1}\n", amount, StatName.ToString(stat)));
     }
     return(string.Format("{0}{1} <color={4}>{2}</color> for {3} turns\n",
                          amount < 0 ? "" : "+", amount, StatName.ToString(stat), duration, ColorPallete.GetStatHexColor(stat)));
 }
示例#22
0
 public ScoreInstance(StatName name, int count, int score, int cardIndex)
 {
     ScoreType = name;
     Count     = count;
     Score     = score;
     Cards     = new List <int>
     {
         cardIndex
     };
 }
示例#23
0
 public StatYapi this[StatName tecrube]
 {
     get
     {
         return(this._stats[(int)tecrube]);
     }
     set
     {
         this._stats[(int)tecrube] = value;
     }
 }
示例#24
0
        public void Contructor_Tests(StatName name, StatValue value, StatWeighting weighting)
        {
            // Act
            var stat = new Stat(name, value, weighting);

            // Assert
            stat.Name.Should().Be(name);
            stat.Value.Should().Be(value);
            stat.Weighting.Should().Be(weighting);
            stat.Score.Should().NotBeNull();
        }
示例#25
0
        /// <summary>
        ///     get all data from a specific stat type
        /// </summary>
        /// <param name="name"> ENUM for statname</param>
        /// <returns> returns a list<double> of all data of the specified statistic</returns>
        public List <double> getAll(StatName name)
        {
            var list = new List <double>();

            if (dictionary[(int)name] == null)
            {
                dictionary[(int)name] = list;
            }
            list = dictionary[(int)name];
            return(list);
        }
示例#26
0
        public static T GetStatFor <T>(string defName, StatName stat)
        {
            SRTSMod.mod.CheckDictionaryValid();
            if (!mod.settings.defProperties.ContainsKey(defName) && DefDatabase <ThingDef> .GetNamedSilentFail(defName)?.GetCompProperties <CompProperties_LaunchableSRTS>() != null)
            {
                Log.Warning("Key was not able to be found inside ModSettings Dictionary. Resetting to default values and initializing: " + defName);
                mod.settings.defProperties.Add(defName, new SRTS_DefProperties(DefDatabase <ThingDef> .GetNamed(defName))); //Initialize
            }

            switch (stat)
            {
            case StatName.massCapacity:
                return((T)Convert.ChangeType(mod.settings.defProperties[defName].massCapacity, typeof(T)));

            case StatName.minPassengers:
                return((T)Convert.ChangeType(mod.settings.defProperties[defName].minPassengers, typeof(T)));

            case StatName.maxPassengers:
                return((T)Convert.ChangeType(mod.settings.defProperties[defName].maxPassengers, typeof(T)));

            case StatName.flightSpeed:
                return((T)Convert.ChangeType(mod.settings.defProperties[defName].flightSpeed, typeof(T)));

            /* SOS2 Compatibility */
            case StatName.spaceFaring:
                return((T)Convert.ChangeType(mod.settings.defProperties[defName].spaceFaring, typeof(T)));

            case StatName.shuttleBayLanding:
                return((T)Convert.ChangeType(mod.settings.defProperties[defName].shuttleBayLanding, typeof(T)));

            /* ------------------ */

            case StatName.bombingSpeed:
                return((T)Convert.ChangeType(mod.settings.defProperties[defName].bombingSpeed, typeof(T)));

            case StatName.numberBombs:
                return((T)Convert.ChangeType(mod.settings.defProperties[defName].numberBombs, typeof(T)));

            case StatName.radiusDrop:
                return((T)Convert.ChangeType(mod.settings.defProperties[defName].radiusDrop, typeof(T)));

            case StatName.distanceBetweenDrops:
                return((T)Convert.ChangeType(mod.settings.defProperties[defName].distanceBetweenDrops, typeof(T)));

            case StatName.researchPoints:
                return((T)Convert.ChangeType(mod.settings.defProperties[defName].researchPoints, typeof(T)));

            case StatName.fuelPerTile:
                return((T)Convert.ChangeType(mod.settings.defProperties[defName].fuelPerTile, typeof(T)));

            case StatName.precisionBombingNumBombs:
                return((T)Convert.ChangeType(mod.settings.defProperties[defName].precisionBombingNumBombs, typeof(T)));
            }
            return(default);
 public void SetStat(StatName type, Stat stat)
 {
     if (!stats.ContainsKey(type))
     {
         stats.Add(type, stat);
     }
     else
     {
         stats[type] = stat;
     }
 }
示例#28
0
        internal ScoreInstance GetScoreType(StatName statName)
        {
            foreach (ScoreInstance s in this.Scores)
            {
                if (s.ScoreType == statName)
                {
                    return(s);
                }
            }

            return(null);
        }
 public Stat Stat(StatName name)
 {
     try
     {
         return(_dictionary[name]);
     }
     catch
     {
         MainPage.LogTrace.TraceMessageAsync("Bad StatName: " + name.ToString());
         return(null);
     }
 }
示例#30
0
 //initialize vars in constructor...
 public AttackCommand(string name, StatName target, StatName atkstat, StatName defstat, StatName coststat, float atkmod, float defmod, int cost, int varLo, int varHi)
 {
     Name = name;
     _target = target;
     _atkStat = atkstat;
     _defStat = defstat;
     _costStat = coststat;
     _atkMod = atkmod;
     _defMod = defmod;
     _cost = cost;
     _varianceLow = varLo;
     _varianceHi = varHi;
 }
        // Token: 0x06000182 RID: 386 RVA: 0x000054B8 File Offset: 0x000036B8
        public string GetStatValue(StatName name)
        {
            string result = "";
            bool   flag   = !this.settingsById.TryGetValue(name, out result);
            bool   flag2  = flag;
            bool   flag3  = flag2;

            if (flag3)
            {
                result = "N/A";
            }
            return(result);
        }
示例#32
0
        /// <summary>
        /// Read stats from a serialised byte array
        /// </summary>
        /// <param name="bitBuffer">The current buffer state.</param>
        /// <param name="stats">The stats block to populate.</param>
        /// <param name="readNameCount">TODO</param>
        public void ReadStats(BitBuffer bitBuffer, UnitObjectStats stats, bool readNameCount = false)
        {
            stats._version = bitBuffer.ReadBits(16);
            stats.Context = (StatContext)bitBuffer.ReadBits(3);
            if (_debugOutputLoadingProgress)
            {
                Debug.WriteLine(String.Format("stats.Version = {0}, stats.Context = {1} (0x{2:X2})", stats._version, stats.Context, (int)stats.Context));
            }
            if (stats._version != 0x0A)
            {
                throw new Exceptions.NotSupportedVersionException("0x0A", "0x" + stats._version.ToString("X2"));
            }

            int statSelectorCount = bitBuffer.ReadBits(6);
            if (_debugOutputLoadingProgress)
            {
                Debug.WriteLine(String.Format("stats.StatSelectorCount = {0}", statSelectorCount));
            }
            for (int i = 0; i < statSelectorCount; i++)
            {
                StatSelector statSelector = new StatSelector();

                if (stats.Context == StatContext.UseRows)
                {
                    statSelector.RowIndex = bitBuffer.ReadBits(5);
                    statSelector.StatSelectorRow = (ExcelTablesRow)_fileManager.GetRowFromIndex(Xls.TableCodes.STATS_SELECTOR, statSelector.RowIndex); // StatsSelector table
                }
                else
                {
                    statSelector.Code = bitBuffer.ReadUInt16();
                    statSelector.StatSelectorRow = (ExcelTablesRow)_fileManager.GetRowFromCode(Xls.TableCodes.STATS_SELECTOR, (short)statSelector.Code); // StatsSelector table
                }

                int selectorStatCount = bitBuffer.ReadInt16();
                if (_debugOutputLoadingProgress)
                {
                    Debug.WriteLine(String.Format("StatSelectors[{0}].Name = {1}, .Code = 0x{2:X4}, .RowIndex = {3}, .StatCount = {4}",
                        i, statSelector.Name, statSelector.Code, statSelector.RowIndex, selectorStatCount));
                }

                for (int j = 0; j < selectorStatCount; j++)
                {
                    Stat stat = _ReadStat(bitBuffer, stats);
                    statSelector.Stats.Add(stat);
                }

                stats.StatSelectors.Add(statSelector);
            }

            int statCount = bitBuffer.ReadBits(16);
            if (_debugOutputLoadingProgress)
            {
                Debug.WriteLine(String.Format("stats.StatCount = {0}", statCount));
            }
            for (int i = 0; i < statCount; i++)
            {
                Stat stat = _ReadStat(bitBuffer, stats);
                stats.Stats[stat.StatRow.code] = stat;
            }

            if (!readNameCount) return;
            stats.NameCount = bitBuffer.ReadBits(8);
            if (_debugOutputLoadingProgress)
            {
                Debug.WriteLine(String.Format("stats.NameCount = {0}", stats.NameCount));
            }

            for (int i = 0; i < stats.NameCount; i++)
            {
                StatName name = new StatName
                {
                    Unknown1 = (short)bitBuffer.ReadBits(5),
                    Stats = new UnitObjectStats(_fileManager, _version)
                };
                if (_debugOutputLoadingProgress)
                {
                    Debug.WriteLine(String.Format("stats.Unknown1 = {0}", name.Unknown1));
                }

                ReadStats(bitBuffer, name.Stats, false);
                stats.Names.Add(name);
            }
        }
示例#33
0
 public StatComponent(StatName name, int baseval)
 {
     Name = name;
     BaseValue = baseval;
     BonusValue = 0;
 }
示例#34
0
        public void CreateCommand(CommandManager cm)
        {
            commandJump:
            Console.WriteLine("What type of command?\n\t1) Attack Command\n\t2)Timed Command");
            var t = Console.ReadLine();
            switch (t)
            {
                case "1":
                    Console.WriteLine("Enter 'name'" +
                        "\nstat 'targetStat'" +
                        "\nstat 'atkStat'" +
                        "\nstat 'defStat'" +
                        "\nstat costStat" +
                        "\nfloat 'atkmod'" +
                        "\nfloat 'defmod'" +
                        "\nint 'cost'" +
                        "\nint 'loVar'" +
                        "\nint 'hiVar'\n" +
                        @"**separate with commas (,)");
                    var input = Console.ReadLine();
                    string s = "";
                    var nam = "";
                    var tar = new StatName();
                    var atk = new StatName();
                    var def = new StatName();
                    var cstat = new StatName();
                    var aMod = 0.00f;
                    var dMod = 0.00f;
                    var cst = 0;
                    var lovar = 90;
                    var hivar = 110;
                    var i = 0;

                    foreach (char c in input)
                    {

                        if (!(c.ToString() == ","))
                            s += c.ToString();
                        else
                        {
                            switch (i)
                            {
                                case 0:
                                    nam = s;
                                    break;
                                case 1:
                                    var n1 = 0;
                                    int.TryParse(s, out n1);
                                    tar = (StatName)n1;
                                    break;
                                case 2:
                                    var n2 = 0;
                                    int.TryParse(s, out n2);
                                    atk = (StatName)n2;
                                    break;
                                case 3:
                                    var n3 = 0;
                                    int.TryParse(s, out n3);
                                    def = (StatName)n3;
                                    break;
                                case 4:
                                    var n4 = 0;
                                    int.TryParse(s, out n4);
                                    cstat = (StatName)n4;
                                    break;
                                case 5:
                                    float.TryParse(s, out aMod);
                                    break;
                                case 6:
                                    float.TryParse(s, out dMod);
                                    break;
                                case 7:
                                    int.TryParse(s, out cst);
                                    break;
                                case 8:
                                    int.TryParse(s, out lovar);
                                    break;
                                case 9:
                                    int.TryParse(s, out hivar);
                                    break;
                            }
                            s = "";
                            i++;
                        }
                    }

                    cm.AddCommand(
                        new AttackCommand(nam, tar, atk, def, cstat, aMod, dMod, cst, lovar, hivar));
                    break;
                case "2":
                    Console.WriteLine("Enter 'name'" +
                                    "\nstat 'targetStat'" +
                                    "\nstat 'atkStat'" +
                                    "\nstat 'defStat'" +
                                    "\nstat costStat" +
                                    "\nfloat 'atkmod'" +
                                    "\nfloat 'defmod'" +
                                    "\nint 'cost'" +
                                    "\nint 'loVar'" +
                                    "\nint 'hiVar'" +
                                    "\nint 'maxTicks" +
                                    @"**separate with commas (,)");
                    var maxticks = 0;
                    input = Console.ReadLine();
                    s = "";
                    i = 0;
                    nam = "";
                    tar = new StatName();
                    atk = new StatName();
                    def = new StatName();
                    cstat = new StatName();
                    aMod = 0.00f;
                    dMod = 0.00f;
                    cst = 0;
                    lovar = 90;
                    hivar = 110;

                    foreach (char c in input)
                    {

                        if (!(c.ToString() == ","))
                            s += c.ToString();
                        else
                        {
                            switch (i)
                            {
                                case 0:
                                    nam = s;
                                    break;
                                case 1:
                                    var n1 = 0;
                                    int.TryParse(s, out n1);
                                    tar = (StatName)n1;
                                    break;
                                case 2:
                                    var n2 = 0;
                                    int.TryParse(s, out n2);
                                    atk = (StatName)n2;
                                    break;
                                case 3:
                                    var n3 = 0;
                                    int.TryParse(s, out n3);
                                    def = (StatName)n3;
                                    break;
                                case 4:
                                    var n4 = 0;
                                    int.TryParse(s, out n4);
                                    cstat = (StatName)n4;
                                    break;
                                case 5:
                                    float.TryParse(s, out aMod);
                                    break;
                                case 6:
                                    float.TryParse(s, out dMod);
                                    break;
                                case 7:
                                    int.TryParse(s, out cst);
                                    break;
                                case 8:
                                    int.TryParse(s, out lovar);
                                    break;
                                case 9:
                                    int.TryParse(s, out hivar);
                                    break;
                                case 10:
                                    int.TryParse(s, out maxticks);
                                    break;
                            }
                            s = "";
                            i++;
                        }
                    }

                    cm.AddCommand(
                        new TimedCommand { Name = nam, _target = tar, _atkStat = atk, _defStat = def, _costStat = cstat,
                                           _atkMod = aMod, _defMod = dMod, _cost = cst, _varianceLow = lovar,
                                           _varianceHi = hivar, MaxTicks = maxticks});
                    break;
                default:
                    Console.WriteLine("invalid input, try again...");
                    goto commandJump;
            }
        }
示例#35
0
 public ItemCommand(string name, StatName tstat, int val)
 {
     Name = name;
     Tstat = tstat;
     Val = val;
 }
示例#36
0
 public CreatureStat(StatName s)
 {
     Stat = s;
 }