コード例 #1
0
        public MonsterSpell(string name, int energyCost, SpellType spellType, int monsterLevel)
        {
            Name          = name;
            EnergyCost    = energyCost;
            SpellCategory = spellType;
            switch (SpellCategory)
            {
            case SpellType.Fireball:
                DamageGroup = DamageType.Fire;
                Offensive   = new Offensive(25 + ((monsterLevel - 1) * 5),
                                            5 + ((monsterLevel - 1) * 2), 1, 3, OffensiveType.Fire);
                break;

            case SpellType.Frostbolt:
                DamageGroup = DamageType.Frost;
                Offensive   = new Offensive(15 + ((monsterLevel - 1) * 5),
                                            1, 2);
                break;

            case SpellType.Lightning:
                DamageGroup = DamageType.Arcane;
                Offensive   = new Offensive(35 + ((monsterLevel - 1) * 5));
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
コード例 #2
0
        public PlayerSpell(string name, int manaCost, int rank, SpellType spellType, int minLevel)
        {
            Name          = name;
            ManaCost      = manaCost;
            Rank          = rank;
            SpellCategory = spellType;
            MinLevel      = minLevel;
            switch (SpellCategory)
            {
            case SpellType.Fireball:
                DamageGroup = DamageType.Fire;
                Offensive   = new Offensive(
                    25, 5, 1, 3, OffensiveType.Fire);
                break;

            case SpellType.Frostbolt:
                DamageGroup = DamageType.Frost;
                Offensive   = new Offensive(15, 1, 2);
                break;

            case SpellType.Lightning:
                DamageGroup = DamageType.Arcane;
                Offensive   = new Offensive(35);
                break;

            case SpellType.Heal:
                Healing = new Healing(50);
                break;

            case SpellType.Rejuvenate:
                Healing = new Healing(20, 10, 1, 3);
                break;

            case SpellType.Diamondskin:
                ChangeAmount = new ChangeAmount(25, 1, 3);
                break;

            case SpellType.TownPortal:
                Portal = new Portal();
                break;

            case SpellType.Reflect:
                ChangeAmount = new ChangeAmount(25, 1, 3);
                break;

            case SpellType.ArcaneIntellect:
                ChangeAmount = new ChangeAmount(15, 1, 600);
                break;

            case SpellType.FrostNova:
                DamageGroup = DamageType.Frost;
                Offensive   = new Offensive(15, 1, 2);
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
コード例 #3
0
        public PlayerAbility(string name, int rageCost, int rank, WarriorAbility warAbility, int minLevel)
        {
            Name               = name;
            RageCost           = rageCost;
            Rank               = rank;
            WarAbilityCategory = warAbility;
            MinLevel           = minLevel;
            switch (WarAbilityCategory)
            {
            case WarriorAbility.Slash:
                DamageGroup = DamageType.Physical;
                Offensive   = new Offensive(50);
                break;

            case WarriorAbility.Rend:
                DamageGroup = DamageType.Physical;
                Offensive   = new Offensive(
                    15, 5, 1, 3, OffensiveType.Bleed);
                break;

            case WarriorAbility.Charge:
                DamageGroup = DamageType.Physical;
                Stun        = new Stun(15, 1, 2);
                break;

            case WarriorAbility.Block:
                Defensive = new Defensive(50);
                break;

            case WarriorAbility.Berserk:
                DamageGroup  = DamageType.Physical;
                Offensive    = new Offensive(20, 1, 4);
                ChangeAmount = new ChangeAmount(-15, 1, 4);
                break;

            case WarriorAbility.Disarm:
                DamageGroup = DamageType.Physical;
                Offensive   = new Offensive(35);
                break;

            case WarriorAbility.Bandage:
                Healing = new Healing(25, 5, 1, 3);
                break;

            case WarriorAbility.PowerAura:
                ChangeAmount = new ChangeAmount(15, 1, 600);
                break;

            case WarriorAbility.WarCry:
                ChangeAmount = new ChangeAmount(-25, 1, 3);
                break;

            case WarriorAbility.Onslaught:
                DamageGroup = DamageType.Physical;
                Offensive   = new Offensive(25);
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
コード例 #4
0
        public PlayerAbility(string name, int comboCost, int rank, ArcherAbility archerAbility, int minLevel)
        {
            Name               = name;
            ComboCost          = comboCost;
            Rank               = rank;
            ArcAbilityCategory = archerAbility;
            MinLevel           = minLevel;
            switch (ArcAbilityCategory)
            {
            case ArcherAbility.Distance:
                DamageGroup = DamageType.Physical;
                Offensive   = new Offensive(25, 50);
                break;

            case ArcherAbility.Gut:
                DamageGroup = DamageType.Physical;
                Offensive   = new Offensive(
                    15, 5, 1, 3, OffensiveType.Bleed);
                break;

            case ArcherAbility.Precise:
                DamageGroup = DamageType.Physical;
                Offensive   = new Offensive(50);
                break;

            case ArcherAbility.Stun:
                DamageGroup = DamageType.Physical;
                Stun        = new Stun(15, 1, 3);
                break;

            case ArcherAbility.Wound:
                DamageGroup = DamageType.Physical;
                Offensive   = new Offensive(
                    5, 10, 1, 5, OffensiveType.Bleed);
                break;

            case ArcherAbility.Double:
                DamageGroup = DamageType.Physical;
                Offensive   = new Offensive(25);
                break;

            case ArcherAbility.Bandage:
                Healing = new Healing(25, 5, 1, 3);
                break;

            case ArcherAbility.SwiftAura:
                ChangeAmount = new ChangeAmount(15, 1, 600);
                break;

            case ArcherAbility.ImmolatingArrow:
                DamageGroup = DamageType.Fire;
                Offensive   = new Offensive(
                    25, 5, 1, 3, OffensiveType.Fire);
                break;

            case ArcherAbility.Ambush:
                DamageGroup = DamageType.Physical;
                Offensive   = new Offensive(50);
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }