Esempio n. 1
0
        protected override void InitEffects()
        {
            int rocketBlastRadius = 3;

            base.InitEffects();
            AttackData rocketProjectileAttack = new AttackData();

            rocketProjectileAttack.Type    = AttackType.PHYSICAL;
            rocketProjectileAttack.Element = ElementType.NONE;
            AttackData rocketBlastAttack = new AttackData();

            rocketProjectileAttack.Type    = AttackType.BLAST;
            rocketProjectileAttack.Element = ElementType.NONE;

            DamageData dmg = new DamageData();

            dmg.Magnitude     = 6;
            dmg.DmgAttackType = AttackType.BLAST;
            dmg.DmgElement    = ElementType.NONE;
            dmg.DamagesWalls  = true;

            Effects.Add(new Effect_WriteText("The quazax rocketeer fires a rocket!"));

            Effect_GenericProjectile rocketProjectile = new Effect_GenericProjectile(rocketProjectileAttack);
            Effect_Blast             rocketBlast      = new Effect_Blast(rocketBlastAttack, rocketBlastRadius);

            rocketProjectile.SetSource(_scene.GetGameObjectPool().GetActor(OwnerID).Position);
            rocketBlast.EffectsOnEachActor.Add(new Effect_BasicDamage(dmg));
            rocketProjectile.EffectsOnStrike.Add(rocketBlast);

            Effects.Add(rocketProjectile);
        }
Esempio n. 2
0
        protected override void InitEffects()
        {
            base.InitEffects();
            AttackData atk = new AttackData();

            atk.Type    = AttackType.ARCANE;
            atk.Element = ElementType.NONE;
            DamageData dmg = new DamageData();

            dmg.Magnitude     = 1;
            dmg.DmgAttackType = AttackType.ARCANE;
            dmg.DmgElement    = ElementType.NONE;

            Effects.Add(new Effect_WriteText("The gopherkin adept shoots magic missiles!"));
            for (int i = 0; i < 2; i++)
            {
                Effect_GenericProjectile projectile = new Effect_GenericProjectile(atk);
                projectile.EffectsOnDamage.Add(new Effect_BasicDamage(dmg));
                Effects.Add(projectile);
            }
        }
Esempio n. 3
0
        protected override void InitEffects()
        {
            base.InitEffects();
            AttackData atk = new AttackData();

            atk.Type    = AttackType.ARCANE;
            atk.Element = ElementType.COLD;
            DamageData dmg = new DamageData();

            dmg.Magnitude     = 2;
            dmg.DmgAttackType = AttackType.ARCANE;
            dmg.DmgElement    = ElementType.COLD;

            Effects.Add(new Effect_WriteText("The spectral pupil summons a chilling blast!"));
            for (int i = 0; i < 2; i++)
            {
                Effect_GenericProjectile projectile = new Effect_GenericProjectile(atk);
                projectile.EffectsOnDamage.Add(new Effect_BasicDamage(dmg));
                Effects.Add(projectile);
            }
        }
Esempio n. 4
0
        protected override void InitEffects()
        {
            base.InitEffects();
            AttackData atk = new AttackData();

            atk.Type    = AttackType.ARCANE;
            atk.Element = ElementType.NONE;
            DamageData dmg = new DamageData();

            dmg.Magnitude     = 2;
            dmg.DmgAttackType = AttackType.ARCANE;
            dmg.DmgElement    = ElementType.NONE;

            Effects.Add(new Effect_WriteText("Some magic darts zip from your finger!"));
            for (int i = 0; i < 3; i++)
            {
                Effect_GenericProjectile projectile = new Effect_GenericProjectile(atk);
                projectile.EffectsOnDamage.Add(new Effect_BasicDamage(dmg));
                Effects.Add(projectile);
            }
        }
Esempio n. 5
0
        protected override void InitEffects()
        {
            int rocketScatterRadius = 5;
            int rocketBlastRadius   = 3;

            base.InitEffects();
            AttackData rocketProjectileAttack = new AttackData();

            rocketProjectileAttack.Type    = AttackType.PHYSICAL;
            rocketProjectileAttack.Element = ElementType.NONE;
            AttackData rocketBlastAttack = new AttackData();

            rocketProjectileAttack.Type    = AttackType.BLAST;
            rocketProjectileAttack.Element = ElementType.NONE;

            DamageData dmg = new DamageData();

            dmg.Magnitude     = 4;
            dmg.DmgAttackType = AttackType.BLAST;
            dmg.DmgElement    = ElementType.NONE;
            dmg.DamagesWalls  = true;

            Effects.Add(new Effect_WriteText("The mechanodragon fires a volley of rockets!"));

            Effect_PickRandomTargetsInRadius randomTargets = new Effect_PickRandomTargetsInRadius(rocketScatterRadius, 4, 4);

            Effect_GenericProjectile rocketProjectile = new Effect_GenericProjectile(rocketProjectileAttack);
            Effect_Blast             rocketBlast      = new Effect_Blast(rocketBlastAttack, rocketBlastRadius);

            rocketProjectile.SetSource(_scene.GetGameObjectPool().GetActor(OwnerID).Position);
            rocketBlast.EffectsOnEachActor.Add(new Effect_BasicDamage(dmg));
            rocketProjectile.EffectsOnStrike.Add(rocketBlast);
            randomTargets.EffectsOnEachTarget.Add(rocketProjectile);

            Effects.Add(randomTargets);
        }