Ejemplo n.º 1
0
        public override void Run(Combat.Character character)
        {
            Int32   animationnumber    = EvaluationHelper.AsInt32(character, AnimationNumber, 0);
            Boolean drawunder          = EvaluationHelper.AsBoolean(character, DrawUnder, false);
            Point   offset             = EvaluationHelper.AsPoint(character, DrawPosition, new Point(0, 0));
            Int32   randomdisplacement = EvaluationHelper.AsInt32(character, RandomDisplacement, 0);

            Combat.ExplodData data = new xnaMugen.Combat.ExplodData();
            data.Scale           = Vector2.One;
            data.AnimationNumber = animationnumber;
            data.CommonAnimation = true;
            data.Location        = (Vector2)offset;
            data.PositionType    = PositionType.P1;
            data.RemoveTime      = -2;
            data.DrawOnTop       = false;
            data.OwnPalFx        = true;
            data.SpritePriority  = (drawunder == true) ? -9 : 9;
            data.Random          = new Point(randomdisplacement / 2, randomdisplacement / 2);
            data.Transparency    = new Blending();
            data.Creator         = character;
            data.Offseter        = character;

            Combat.Explod explod = new Combat.Explod(character.Engine, data);
            if (explod.IsValid == true)
            {
                explod.Engine.Entities.Add(explod);
            }
        }
Ejemplo n.º 2
0
        public override void Run(Combat.Character character)
        {
            int?time       = EvaluationHelper.AsInt32(character, Time, 30);
            var buffertime = EvaluationHelper.AsInt32(character, EndCommandBufferTime, 0);
            var movetime   = EvaluationHelper.AsInt32(character, MoveTime, 0);
            var pausebg    = EvaluationHelper.AsBoolean(character, PauseBackgrounds, true);
            var power      = EvaluationHelper.AsInt32(character, PowerAdd, 0);

#warning Documentation states that default should be 30. Testing looks to be 100.
            var animationnumber = EvaluationHelper.AsInt32(character, AnimationNumber, 100);

            var soundid           = EvaluationHelper.AsSoundId(character, SoundId, null);
            var animationposition = EvaluationHelper.AsPoint(character, AnimationPosition, new Point(0, 0));
            var darkenscreen      = EvaluationHelper.AsBoolean(character, DarkenScreen, true);
            var p2defmul          = EvaluationHelper.AsSingle(character, P2DefenseMultiplier, null);
            var unhittable        = EvaluationHelper.AsBoolean(character, Unhittable, true);

            if (time == null)
            {
                return;
            }

            var pause = character.Engine.SuperPause;
            pause.Set(character, time.Value, buffertime, movetime, false, pausebg);

            character.BasePlayer.Power += power;

            var data = new Combat.ExplodData();
            data.PositionType    = PositionType.P1;
            data.Location        = (Vector2)animationposition;
            data.RemoveTime      = -2;
            data.CommonAnimation = EvaluationHelper.IsCommon(AnimationNumber, true);
            data.AnimationNumber = animationnumber;
            data.Scale           = Vector2.One;
            data.SuperMove       = true;
            data.Creator         = character;
            data.Offseter        = character;
            data.DrawOnTop       = true;

            var explod = new Combat.Explod(character.Engine, data);
            if (explod.IsValid)
            {
                explod.Engine.Entities.Add(explod);
            }

            if (soundid != null)
            {
                Audio.SoundManager soundmanager = SoundId.IsCommon(true) ? character.Engine.CommonSounds : character.SoundManager;
                soundmanager.Play(soundid.Value);
            }
        }
Ejemplo n.º 3
0
        public override void Run(Combat.Character character)
        {
            Combat.ExplodData data = CreateExplodData(character);
            if (data == null)
            {
                return;
            }

            data.Creator  = character;
            data.Offseter = (data.PositionType == PositionType.P2) ? character.GetOpponent() : character;

            Combat.Explod explod = new Combat.Explod(character.Engine, data);
            if (explod.IsValid == true)
            {
                explod.Engine.Entities.Add(explod);
            }
        }
Ejemplo n.º 4
0
        public override void Run(Combat.Character character)
        {
            Int32 animationnumber = EvaluationHelper.AsInt32(character, AnimationNumber, 0);
            Boolean drawunder = EvaluationHelper.AsBoolean(character, DrawUnder, false);
            Point offset = EvaluationHelper.AsPoint(character, DrawPosition, new Point(0, 0));
            Int32 randomdisplacement = EvaluationHelper.AsInt32(character, RandomDisplacement, 0);

            Combat.ExplodData data = new xnaMugen.Combat.ExplodData();
            data.Scale = Vector2.One;
            data.AnimationNumber = animationnumber;
            data.CommonAnimation = true;
            data.Location = (Vector2)offset;
            data.PositionType = PositionType.P1;
            data.RemoveTime = -2;
            data.DrawOnTop = false;
            data.OwnPalFx = true;
            data.SpritePriority = (drawunder == true) ? -9 : 9;
            data.Random = new Point(randomdisplacement / 2, randomdisplacement / 2);
            data.Transparency = new Blending();
            data.Creator = character;
            data.Offseter = character;

            Combat.Explod explod = new Combat.Explod(character.Engine, data);
            if (explod.IsValid == true) explod.Engine.Entities.Add(explod);
        }
Ejemplo n.º 5
0
        public override void Run(Combat.Character character)
        {
            Combat.ExplodData data = CreateExplodData(character);
            if (data == null) return;

            data.Creator = character;
            data.Offseter = (data.PositionType == PositionType.P2) ? character.GetOpponent() : character;

            Combat.Explod explod = new Combat.Explod(character.Engine, data);
            if (explod.IsValid == true)
            {
                explod.Engine.Entities.Add(explod);
            }
        }