Пример #1
0
        protected override bool OnCast(Entity source)
        {
            var proj = Projectiles.GiantSwordProjectile.Fire(source.GameObject);

            Effects.SpellCastEffect.Display(proj.Position, 90f);

            return true;
        }
Пример #2
0
        protected override bool OnCast(Entity source)
        {
            var proj = AxeProjectile.Fire(source.GameObject);

            Effects.SpellCastEffect.Display(proj.Position, proj.Rotation, true);

            return true;
        }
Пример #3
0
        protected override bool OnCast(Entity source)
        {
            SoundManager.PauseMusic();
            //this.m_enemyPauseDuration = 0;
            //this.PauseAllEnemies();
            //Tween.To(m_traitAura, 0.2f, Tween.EaseNone, "ScaleX", "100", "ScaleY", "100");

            return true;
        }
Пример #4
0
 protected override bool OnCast(Entity source)
 {
     var obj = source.GameObject;
     Tween.RunFunction(0f, this, "CastDagger", obj, false);
     Tween.RunFunction(0.05f, this, "CastDagger", obj, true);
     Tween.RunFunction(0.1f, this, "CastDagger", obj, true);
     Tween.RunFunction(0.15f, this, "CastDagger", obj, true);
     Tween.RunFunction(0.2f, this, "CastDagger", obj, true);
     return true;
 }
Пример #5
0
        protected override bool OnCast(Entity source)
        {
            var obj = source.GameObject;

            if (_shadowSprite == null)
                _shadowSprite = new ObjContainer(obj.SpriteName)
                {
                    OutlineColour = Color.Blue,
                    OutlineWidth = 2,
                    TextureColor = Color.Black
                };
            else
                _shadowSprite.ChangeSprite(obj.SpriteName);

            _shadowSprite.Position = obj.Position;
            _shadowSprite.Flip = obj.Flip;
            _shadowSprite.Scale = Vector2.Zero;
            _shadowSprite.Visible = true;

            _shadowSprite.GoToFrame(obj.CurrentFrame);

            for (var i = 0; i < obj.NumChildren; i++)
            {
                var src = obj.GetChildAt(i) as SpriteObj;
                var dst = _shadowSprite.GetChildAt(i) as SpriteObj;
                var show = src.Visible;

                if (source is Player && (
                        i == 16 || (
                        Player.Class is Classes.Spellthief && (i == 10 || i == 11)
                    )))
                    show = false;

                dst.ChangeSprite(src.SpriteName);
                dst.Visible = show;
            }

            Tween.To(_shadowSprite, 0.4f, Linear.EaseNone, "ScaleX", obj.ScaleX.ToString(), "ScaleY", obj.ScaleY.ToString());

            Effects.InverseEmitEffect.Display(_shadowSprite.Position);

            return true;
        }
Пример #6
0
        protected override bool OnCast(Entity source)
        {
            var angleOffset = 0f;

            for (int i = 0; i < 4; i++)
            {
                Vector2 sourceAnchor;
                switch (i)
                {
                    case 0: sourceAnchor = new Vector2(-10f, -10f); break;
                    case 1: sourceAnchor = new Vector2(10f, -10f); break;
                    case 2: sourceAnchor = new Vector2(10f, 10f); break;
                    default: sourceAnchor = new Vector2(-10f, 10f); break;
                }

                var proj = ConfluxProjectile.Fire(source.GameObject, angleOffset, sourceAnchor);
                //proj.Orientation = MathHelper.ToRadians(angle);
                angleOffset += 90f;
            }

            return true;
        }