Beispiel #1
0
    public Wizard(int level, GameObject characterObject)
        : base("Wizard", level, 100 + Application.loadedLevel * 50)
    {
        CharacterObject = characterObject;
        WaypointPosition = new Vector3(0.9f, 0.65f, -1.0f);
        Speed = 0.5f; // 100f;

        BasicAttack = new Frostbolt();
        StrongAttack = new ArcaneBarrage();
        SpecialAttack = new Meteor();

        BasicDefend = new Shield();
        StrongDefend = new IceBarrier();
        SpecialDefend = new Dodge();
    }
Beispiel #2
0
 public SpellBlade()
 {
     heroTexture = Engine.Engine.GetTexture("Hero/SpellBlade");
     Hero.loadSprite();
     heroRole            = Classes.SpellBlade;
     baseHealth          = 400;
     healthPerLevel      = 40;
     requiredBranchLevel = int.MaxValue;
     resetLevel();
     resetHealth();
     abilities[0] = new Fireball();
     abilities[1] = new Blink();
     abilities[2] = new ArcaneWeapon();
     abilities[3] = new SoulSiphon();
     abilities[4] = new ArcaneBarrage();
     abilities[5] = new ArcaneOverload();
     Enemies.Enemy.UpdateTargets(this);
     Enemies.BossEnemy.UpdateBossTargets(this);
 }
Beispiel #3
0
        public Spell GetSpell(SpellId spellId)
        {
            Spell s = Spells[(int)spellId];

            if (s != null)
            {
                return(s);
            }
            //Spell s = null;
            //if (Spells.TryGetValue((int)spellId, out s)) return s;

            switch (spellId)
            {
            case SpellId.ArcaneBolt:
                s = new ArcaneBolt(this);
                break;

            case SpellId.LightningBolt:
                s = new LightningBolt(this);
                break;

            case SpellId.ArcaneMissiles:
                s = new ArcaneMissiles(this, false);
                break;

            case SpellId.ArcaneMissilesMB:
                s = new ArcaneMissiles(this, true);
                break;

            case SpellId.ArcaneMissilesCC:
                s = new ArcaneMissilesCC(this);
                break;

            case SpellId.ArcaneMissilesNoProc:
                s = new ArcaneMissiles(this, false, true, false, false);
                break;

            /*case SpellId.ArcaneMissilesFTF:
             *  s = new ArcaneMissiles(this);
             *  break;
             * case SpellId.ArcaneMissilesFTT:
             *  s = new ArcaneMissiles(this);
             *  break;*/
            case SpellId.Frostbolt:
                s = new Frostbolt(this);
                break;

            case SpellId.FrostboltNoCC:
                s = new Frostbolt(this, true, false, false);
                break;

            case SpellId.Fireball:
                s = new Fireball(this, false);
                break;

            case SpellId.FrostfireBolt:
                s = new FrostfireBolt(this, false);
                break;

            case SpellId.Pyroblast:
                s = new Pyroblast(this, false);
                break;

            case SpellId.FireBlast:
                s = new FireBlast(this);
                break;

            case SpellId.Scorch:
                s = new Scorch(this);
                break;

            case SpellId.ScorchNoCC:
                s = new Scorch(this, false);
                break;

            case SpellId.ArcaneBarrage:
                s = new ArcaneBarrage(this);
                break;

            case SpellId.ArcaneBlast33:
                s = new ArcaneBlast(this, 3, 3);
                break;

            case SpellId.ArcaneBlast33NoCC:
                s = new ArcaneBlast(this, 3, 3, true, false, false);
                break;

            case SpellId.ArcaneBlast00:
                s = new ArcaneBlast(this, 0, 0);
                break;

            case SpellId.ArcaneBlast00NoCC:
                s = new ArcaneBlast(this, 0, 0, true, false, false);
                break;

            case SpellId.ArcaneBlast10:
                s = new ArcaneBlast(this, 1, 0);
                break;

            case SpellId.ArcaneBlast01:
                s = new ArcaneBlast(this, 0, 1);
                break;

            case SpellId.ArcaneBlast11:
                s = new ArcaneBlast(this, 1, 1);
                break;

            case SpellId.ArcaneBlast11NoCC:
                s = new ArcaneBlast(this, 1, 1, true, false, false);
                break;

            case SpellId.ArcaneBlast22:
                s = new ArcaneBlast(this, 2, 2);
                break;

            case SpellId.ArcaneBlast22NoCC:
                s = new ArcaneBlast(this, 2, 2, true, false, false);
                break;

            case SpellId.ArcaneBlast12:
                s = new ArcaneBlast(this, 1, 2);
                break;

            case SpellId.ArcaneBlast23:
                s = new ArcaneBlast(this, 2, 3);
                break;

            case SpellId.ArcaneBlast30:
                s = new ArcaneBlast(this, 3, 0);
                break;

            case SpellId.ABAM:
                s = new ABAM(this);
                break;

            case SpellId.ABMBAM:
                s = new ABMBAM(this);
                break;

            case SpellId.ABABar:
                s = new ABABar(this);
                break;

            case SpellId.ABAMP:
                s = new ABAMP(this);
                break;

            case SpellId.AB3AMSc:
                s = new AB3AMSc(this);
                break;

            case SpellId.ABAM3Sc:
                s = new ABAM3Sc(this);
                break;

            case SpellId.ABAM3Sc2:
                s = new ABAM3Sc2(this);
                break;

            case SpellId.ABAM3FrB:
                s = new ABAM3FrB(this);
                break;

            case SpellId.ABAM3FrB2:
                s = new ABAM3FrB2(this);
                break;

            case SpellId.ABFrB:
                s = new ABFrB(this);
                break;

            case SpellId.AB3FrB:
                s = new AB3FrB(this);
                break;

            case SpellId.ABFrB3FrB:
                s = new ABFrB3FrB(this);
                break;

            case SpellId.ABFrB3FrB2:
                s = new ABFrB3FrB2(this);
                break;

            case SpellId.ABFrB3FrBSc:
                s = new ABFrB3FrBSc(this);
                break;

            case SpellId.ABFB3FBSc:
                s = new ABFB3FBSc(this);
                break;

            case SpellId.AB3Sc:
                s = new AB3Sc(this);
                break;

            case SpellId.FireballScorch:
                s = new FireballScorch(this);
                break;

            case SpellId.FireballFireBlast:
                s = new FireballFireBlast(this);
                break;

            case SpellId.ABAM3ScCCAM:
                s = new ABAM3ScCCAM(this);
                break;

            case SpellId.ABAM3Sc2CCAM:
                s = new ABAM3Sc2CCAM(this);
                break;

            case SpellId.ABAM3FrBCCAM:
                s = new ABAM3FrBCCAM(this);
                break;

            case SpellId.ABAM3FrBCCAMFail:
                s = new ABAM3FrBCCAMFail(this);
                break;

            case SpellId.ABAM3FrBScCCAM:
                s = new ABAM3FrBScCCAM(this);
                break;

            case SpellId.ABAMCCAM:
                s = new ABAMCCAM(this);
                break;

            case SpellId.ABAM3CCAM:
                s = new ABAM3CCAM(this);
                break;

            case SpellId.ArcaneExplosion:
                s = new ArcaneExplosion(this);
                break;

            case SpellId.FlamestrikeSpammed:
                s = new Flamestrike(this, true);
                break;

            case SpellId.FlamestrikeSingle:
                s = new Flamestrike(this, false);
                break;

            case SpellId.Blizzard:
                s = new Blizzard(this);
                break;

            case SpellId.BlastWave:
                s = new BlastWave(this);
                break;

            case SpellId.DragonsBreath:
                s = new DragonsBreath(this);
                break;

            case SpellId.ConeOfCold:
                s = new ConeOfCold(this);
                break;

            case SpellId.ArcaneBlast0POM:
                s = new ArcaneBlast(this, 0, 0, false, false, true);
                break;

            case SpellId.FireballPOM:
                s = new Fireball(this, true);
                break;

            case SpellId.FrostboltPOM:
                s = new Frostbolt(this, false, false, true);
                break;

            case SpellId.PyroblastPOM:
                s = new Pyroblast(this, true);
                break;

            case SpellId.CustomSpellMix:
                s = new SpellCustomMix(this);
                break;
            }
            if (s != null)
            {
                s.SpellId            = spellId;
                Spells[(int)spellId] = s;
            }

            return(s);
        }