示例#1
0
        /// <summary>
        /// Display input in text boxes and lists
        /// </summary>
        /// <param name="monsterToDisplay"></param>
        private void DisplayMonsterStats(Monster monsterToDisplay)
        {
            txtAC.Text    = monsterToDisplay.ArmorClass.ToString();
            txtDEX.Text   = monsterToDisplay.DexterityModifier.ToString();
            txtHP.Text    = monsterToDisplay.TotalHealth.ToString();
            txtName.Text  = monsterToDisplay.Name;
            txtPP.Text    = monsterToDisplay.PassivePerception.ToString();
            txtSpeed.Text = monsterToDisplay.PassivePerception.ToString();
            cmbMonsterTypes.SelectedValue = monsterToDisplay.Type;
            chkMultiattack.IsChecked      = monsterToDisplay.Multiattack;

            foreach (DamageType resistance in monsterToDisplay.Resistances)
            {
                lstResistances.Items.Add(resistance);
                Resistances.Add(resistance);
            }

            foreach (DamageType immunity in monsterToDisplay.Immunities)
            {
                lstImmunities.Items.Add(immunity);
                Immunities.Add(immunity);
            }

            foreach (Attack attack in monsterToDisplay.Attacks)
            {
                lstAttacks.Items.Add(attack);
                Attacks.Add(attack);
            }

            foreach (MonsterSpecial monsterSpecial in monsterToDisplay.MonsterSpecials)
            {
                lstMonsterSpecials.Items.Add(monsterSpecial);
                MonsterSpecials.Add(monsterSpecial);
            }
        }
示例#2
0
 public ResistanceSet()
 {
     foreach (var damageType in (DamageType[])Enum.GetValues(typeof(DamageType)))
     {
         Resistances.Add(damageType, new ResistanceSetSettings(1f, 0));
     }
 }
示例#3
0
        public AnimaCharacter(ExcelWorksheet excelWorksheet, string player)
        {
            Player    = player;
            IsCurrent = false;
            ImageUrl  = excelWorksheet.Cells["AK1"].Text;

            //Character info
            Name    = excelWorksheet.Cells["E1"].Text;
            Origine = excelWorksheet.Cells["P1"].Text;
            Class   = excelWorksheet.Cells["F3"].Text;
            Level   = Convert.ToInt32(excelWorksheet.Cells["E5"].Value);
            Hp      = Convert.ToInt32(excelWorksheet.Cells["B12"].Value);
            string temp = excelWorksheet.Cells["B13"].Text;

            CurrentHp = string.IsNullOrEmpty(temp) ? Hp : Convert.ToInt32(temp);

            Regeneration   = Convert.ToInt32(excelWorksheet.Cells["J18"].Value);
            Fatigue        = Convert.ToInt32(excelWorksheet.Cells["B18"].Value);
            temp           = excelWorksheet.Cells["B19"].Text;
            CurrentFatigue = string.IsNullOrEmpty(temp) ? Fatigue : Convert.ToInt32(temp);
            Movement       = Convert.ToInt32(excelWorksheet.Cells["F18"].Value);

            TotalKiPoints = Convert.ToInt32(excelWorksheet.Cells["V39"].Value);
            temp          = excelWorksheet.Cells["Z39"].Text;
            CurrentKi     = string.IsNullOrEmpty(temp) ? TotalKiPoints : Convert.ToInt32(temp);

            ArmorPoint = Convert.ToInt32(excelWorksheet.Cells["AC55"].Value);

            ZeonPoints  = Convert.ToInt32(excelWorksheet.Cells["U15"].Value);
            temp        = excelWorksheet.Cells["U16"].Text;
            CurrentZeon = string.IsNullOrEmpty(temp) ? ZeonPoints : Convert.ToInt32(temp);
            Amr         = Convert.ToInt32(excelWorksheet.Cells["U21"].Value);
            AmrRegen    = Convert.ToInt32(excelWorksheet.Cells["U24"].Value);
            InnateMagic = Convert.ToInt32(excelWorksheet.Cells["U27"].Value);
            MagicLevel  = Convert.ToInt32(excelWorksheet.Cells["AD8"].Value);

            PppFree       = Convert.ToInt32(excelWorksheet.Cells["Q21"].Value);
            temp          = excelWorksheet.Cells["Q22"].Text;
            CurrentPpp    = string.IsNullOrEmpty(temp) ? PppFree : Convert.ToInt32(temp);
            IsLucky       = Convert.ToBoolean(excelWorksheet.Cells["DC30"].Value);
            IsUnlucky     = Convert.ToBoolean(excelWorksheet.Cells["DC153"].Value);
            DestinFuneste = Convert.ToBoolean(excelWorksheet.Cells["DC165"].Value);
            //Base stats
            foreach (var cell in excelWorksheet.Cells[22, 2, 30, 2])
            {
                BaseStats.Add(new Roll10Stat(StatGroups[0], cell.Text, Convert.ToInt32(cell.Offset(0, 9).Value)));
            }

            //Resistances
            foreach (var cell in excelWorksheet.Cells[32, 2, 36, 2])
            {
                Resistances.Add(new ResistanceStat(StatGroups[1], cell.Text, Convert.ToInt32(cell.Offset(0, 2).Value)));
            }

            //Battle stats
            BattleStats.Add(new Roll100Stat(StatGroups[2], excelWorksheet.Cells["B14"].Text, Convert.ToInt32(excelWorksheet.Cells["B15"].Value)));
            BattleStats.Add(new Roll100Stat(StatGroups[2], excelWorksheet.Cells["B52"].Text, Convert.ToInt32(excelWorksheet.Cells["AC52"].Value)));
            BattleStats.Add(new Roll100Stat(StatGroups[2], excelWorksheet.Cells["B53"].Text, Convert.ToInt32(excelWorksheet.Cells["AC53"].Value)));
            BattleStats.Add(new Roll100Stat(StatGroups[2], excelWorksheet.Cells["B54"].Text, Convert.ToInt32(excelWorksheet.Cells["AC54"].Value)));
            Roll100Stat defence = BattleStats.Where(x => x.Name == "Esquive" || x.Name == "Parade").OrderByDescending(x => x.Value).First();

            BattleStats.Add(new Roll100Stat(StatGroups[2], $"Défense : {defence.Name}", defence.Value));
            foreach (var cell in excelWorksheet.Cells[64, 2, 68, 2])
            {
                BattleStats.Add(new Roll100Stat(StatGroups[2], cell.Text, Convert.ToInt32(cell.Offset(0, 27).Value)));
            }

            BattleStats.Add(new Roll100Stat(StatGroups[2], excelWorksheet.Cells["B71"].Text, Convert.ToInt32(excelWorksheet.Cells["AC71"].Value)));
            try
            {//TODO pourquoi ????
                BattleStats.Add(new Roll100Stat(StatGroups[2], excelWorksheet.Cells["Q23"].Text, Convert.ToInt32(excelWorksheet.Cells["Q24"].Value)));
            }
            catch (Exception ex)
            {
            }

            //Secondary stats
            foreach (var cell in excelWorksheet.Cells[75, 2, 143, 2])
            {
                if (!cell.Style.Font.Bold)
                {
                    SecondaryStats.Add(new Roll100Stat(StatGroups[3], cell.Text, Convert.ToInt32(cell.Offset(0, 27).Value)));
                }
            }
            SecondaryStats.Add(new Roll100Stat(StatGroups[3], excelWorksheet.Cells["G34"].Text, Convert.ToInt32(excelWorksheet.Cells["N34"].Value)));
            SecondaryStats.Add(new Roll100Stat(StatGroups[3], excelWorksheet.Cells["G35"].Text, Convert.ToInt32(excelWorksheet.Cells["N35"].Value)));
            SecondaryStats.RemoveAll(x => string.IsNullOrWhiteSpace(x.Name));

            base.AllStats.AddRange(BaseStats);
            base.AllStats.AddRange(Resistances);
            base.AllStats.AddRange(BattleStats);
            base.AllStats.AddRange(SecondaryStats);
        }
示例#4
0
 public void AddResistance(DamageTypes damageType)
 {
     Resistances.Add(damageType);
 }