示例#1
0
        protected override void Moving()
        {
            if (this.moveflame)
            {
                this.positionre = this.position;
                switch (this.motion)
                {
                case Gelpark.MOTION.guard:
                    this.animationpoint.X = 0;
                    bool flag1 = false;
                    if (this.version == 0)
                    {
                        flag1 = true;
                    }
                    else
                    {
                        foreach (CharacterBase characterBase in this.parent.AllChara())
                        {
                            if (characterBase.union == this.UnionEnemy && characterBase.position.Y == this.position.Y)
                            {
                                flag1 = true;
                                break;
                            }
                        }
                    }
                    if (flag1)
                    {
                        this.motion = Gelpark.MOTION.wake;
                        this.frame  = 0;
                        break;
                    }
                    break;

                case Gelpark.MOTION.wake:
                    this.animationpoint.X = this.AnimeWake(this.frame).X;
                    if (this.frame == 2)
                    {
                        this.guard = CharacterBase.GUARD.none;
                    }
                    if (this.frame >= 3)
                    {
                        this.motion = Gelpark.MOTION.wait;
                        this.frame  = 0;
                        break;
                    }
                    break;

                case Gelpark.MOTION.wait:
                    this.animationpoint.X = this.AnimeWait(this.frame).X;
                    bool flag2 = false;
                    if (this.frame >= 10)
                    {
                        this.frame = 0;
                    }
                    foreach (CharacterBase characterBase in this.parent.AllChara())
                    {
                        if (characterBase.union == this.UnionEnemy && characterBase.position.Y == this.position.Y)
                        {
                            flag2 = true;
                            break;
                        }
                    }
                    --this.waitingtime;
                    if (!flag2 && this.version > 0)
                    {
                        this.waitingtime = this.waitlimit;
                        this.motion      = Gelpark.MOTION.close;
                        this.frame       = 0;
                        break;
                    }
                    if (this.waitingtime <= 0)
                    {
                        this.waitingtime = this.waitlimit;
                        this.motion      = Gelpark.MOTION.attack1;
                        this.frame       = 0;
                        break;
                    }
                    break;

                case Gelpark.MOTION.close:
                    this.animationpoint.X = this.AnimeDown(this.frame).X;
                    if (this.frame == 2)
                    {
                        this.guard = CharacterBase.GUARD.guard;
                    }
                    if (this.frame >= 3)
                    {
                        this.motion = Gelpark.MOTION.guard;
                        this.frame  = 0;
                        break;
                    }
                    break;

                case Gelpark.MOTION.attack1:
                    this.animationpoint.X = this.AnimeAttack1(this.frame).X;
                    Point point = new Point();
                    switch (this.frame)
                    {
                    case 3:
                        this.guard = CharacterBase.GUARD.guard;
                        break;

                    case 5:
                        this.counterTiming = true;
                        break;

                    case 12:
                        if (this.version == 0)
                        {
                            if (this.version == 0)
                            {
                                this.speed = 10;
                            }
                            this.sound.PlaySE(SoundEffect.beamlong);
                            this.jb = new JusticeBeam(this.sound, this.parent, this.position.X + this.UnionRebirth, this.position.Y, this.union, this.Power, 2);
                            this.jb.positionDirect.Y += 6f;
                            this.parent.attacks.Add(jb);
                            break;
                        }
                        this.sound.PlaySE(SoundEffect.beam);
                        Beam beam = new Beam(this.sound, this.parent, this.position.X + this.UnionRebirth, this.position.Y, this.union, this.Power, 2, false);
                        beam.positionDirect.Y += 16f;
                        this.parent.attacks.Add(beam);
                        break;

                    case 14:
                        if (this.version == 0)
                        {
                            point.X = this.union == Panel.COLOR.red ? 2 : 3;
                            point.Y = 1;
                            JusticeRing justiceRing = new JusticeRing(this.sound, this.parent, point.X, point.Y, this.union, this.Power, this.element);
                            justiceRing.positionDirect.Y += 6f;
                            this.parent.attacks.Add(justiceRing);
                            break;
                        }
                        break;

                    case 16:
                        if (this.version == 0)
                        {
                            point.X = this.union == Panel.COLOR.red ? 4 : 1;
                            point.Y = 1;
                            JusticeRing justiceRing = new JusticeRing(this.sound, this.parent, point.X, point.Y, this.union, this.Power, this.element);
                            justiceRing.positionDirect.Y += 6f;
                            this.parent.attacks.Add(justiceRing);
                            break;
                        }
                        break;

                    case 18:
                        if (this.version == 0)
                        {
                            point.X = this.union == Panel.COLOR.red ? 3 : 2;
                            point.Y = 1;
                            JusticeRing justiceRing = new JusticeRing(this.sound, this.parent, point.X, point.Y, this.union, this.Power, this.element);
                            justiceRing.positionDirect.Y += 6f;
                            this.parent.attacks.Add(justiceRing);
                            break;
                        }
                        break;

                    case 20:
                        if (this.version == 0)
                        {
                            point.X = this.union == Panel.COLOR.red ? 5 : 0;
                            point.Y = 1;
                            JusticeRing justiceRing = new JusticeRing(this.sound, this.parent, point.X, point.Y, this.union, this.Power, this.element);
                            justiceRing.positionDirect.Y += 6f;
                            this.parent.attacks.Add(justiceRing);
                        }
                        if (this.version == 0)
                        {
                            this.jb.end = true;
                            this.speed  = 4;
                        }
                        this.motion        = Gelpark.MOTION.attack2;
                        this.frame         = 0;
                        this.counterTiming = false;
                        break;
                    }
                    break;

                case Gelpark.MOTION.attack2:
                    this.animationpoint.X = this.AnimeAttack2(this.frame).X;
                    if (this.frame == 2)
                    {
                        this.guard = CharacterBase.GUARD.guard;
                    }
                    if (this.frame >= 3)
                    {
                        this.motion = Gelpark.MOTION.guard;
                        this.frame  = 0;
                        break;
                    }
                    break;
                }
            }
            this.MoveAftar();
            this.FlameControl();
        }
示例#2
0
        public override void Action(CharacterBase character, SceneBattle battle)
        {
            if (this.screen == null)
            {
                this.screen = new ScreenBlack(this.sound, battle, new Vector2(), new Point(), this.element, 0, false);
                battle.effects.Add(screen);
                this.position = new Point(character.union == Panel.COLOR.red ? 1 : 4, 2);
            }
            if (!this.BlackOut(character, battle, this.name, this.Power(character).ToString()))
            {
                return;
            }
            switch (character.waittime)
            {
            case 1:
                character.animationpoint.X = 1;
                break;

            case 3:
                character.animationpoint.X = 2;
                break;

            case 5:
                character.animationpoint.X = 3;
                break;

            case 7:
                character.animationpoint.X = -1;
                break;
            }
            if (character.waittime % 2 == 0)
            {
                this.eye = !this.eye;
            }
            int num = 30;

            if (character.waittime == 44)
            {
                this.sound.PlaySE(SoundEffect.pikin);
            }
            if (character.waittime == 44 + num)
            {
                battle.effects.Add(new Charge(this.sound, battle, this.position.X, this.position.Y));
            }
            if (character.waittime > 44 + num + 50)
            {
                this.FlameControl(1);
                if (this.count < 6)
                {
                    if (this.frame > 20)
                    {
                        Point point = new Point();
                        switch (this.count)
                        {
                        case 0:
                            this.sound.PlaySE(SoundEffect.beamlong);
                            point.X   = character.union == Panel.COLOR.red ? 2 : 3;
                            point.Y   = 1;
                            this.beam = new JusticeBeam(this.sound, battle, point.X, point.Y, character.union, this.Power(character), 0);
                            battle.attacks.Add(this.Paralyze(beam));
                            break;

                        case 1:
                            point.X = character.union == Panel.COLOR.red ? 2 : 3;
                            point.Y = 1;
                            AttackBase a1 = new JusticeRing(this.sound, battle, point.X, point.Y, character.union, this.Power(character), this.element);
                            battle.attacks.Add(this.Paralyze(a1));
                            break;

                        case 2:
                            point.X = character.union == Panel.COLOR.red ? 4 : 1;
                            point.Y = 1;
                            AttackBase a2 = new JusticeRing(this.sound, battle, point.X, point.Y, character.union, this.Power(character), this.element);
                            battle.attacks.Add(this.Paralyze(a2));
                            break;

                        case 3:
                            point.X = character.union == Panel.COLOR.red ? 3 : 2;
                            point.Y = 1;
                            AttackBase a3 = new JusticeRing(this.sound, battle, point.X, point.Y, character.union, this.Power(character), this.element);
                            battle.attacks.Add(this.Paralyze(a3));
                            break;

                        case 4:
                            point.X = character.union == Panel.COLOR.red ? 5 : 0;
                            point.Y = 1;
                            AttackBase a4 = new JusticeRing(this.sound, battle, point.X, point.Y, character.union, this.Power(character), this.element);
                            battle.attacks.Add(this.Paralyze(a4));
                            break;

                        case 5:
                            this.beam.end = true;
                            break;
                        }
                        this.frame = 0;
                        ++this.count;
                    }
                }
                else if (this.frame > 60)
                {
                    switch (this.frame)
                    {
                    case 61:
                        character.animationpoint.X = 3;
                        break;

                    case 63:
                        character.animationpoint.X = 2;
                        break;

                    case 65:
                        character.animationpoint.X = 1;
                        break;

                    case 67:
                        character.animationpoint.X = 0;
                        break;
                    }
                    if (this.frame > 80)
                    {
                        if (!this.screen.end)
                        {
                            this.screen.end = true;
                        }
                        if (this.BlackOutEnd(character, battle))
                        {
                            base.Action(character, battle);
                        }
                    }
                }
            }
        }