Ejemplo n.º 1
0
        public override void Action(CharacterBase character, SceneBattle battle)
        {
            if (character.waittime < 5)
            {
                character.animationpoint = new Point(4, 0);
            }
            else if (character.waittime < 15)
            {
                character.animationpoint = new Point(5, 0);
            }
            else if (character.waittime < 16)
            {
                character.animationpoint = new Point(6, 0);
            }
            else if (character.waittime < 21)
            {
                character.animationpoint = new Point(5, 0);
            }
            else if (character.waittime == 40)
            {
                base.Action(character, battle);
            }
            if (character.waittime != 16)
            {
                return;
            }
            int num = this.power + this.pluspower;
            GravityBallAttack gravityBallAttack = new GravityBallAttack(this.sound, character.parent, character.position.X + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 2, new Vector2(character.positionDirect.X + 20 * this.UnionRebirth(character.union), character.positionDirect.Y + 16f), this.element);

            gravityBallAttack.BadStatusSet(CharacterBase.BADSTATUS.heavy, 1200);
            character.parent.attacks.Add(this.Paralyze(gravityBallAttack));
        }
Ejemplo n.º 2
0
        protected override void Moving()
        {
            this.neutlal = this.motion == BibityBat.MOTION.neutral;
            switch (this.motion)
            {
            case BibityBat.MOTION.neutral:
                if (this.moveflame)
                {
                    this.animationpoint = this.AnimeNeutral(this.frame);
                    if (this.frame >= 4)
                    {
                        this.frame = 0;
                        ++this.roopneutral;
                        if ((this.roopneutral >= 2 || this.version == 0) && this.parent.nowscene != SceneBattle.BATTLESCENE.end)
                        {
                            this.roopneutral = 0;
                            if (this.roopmove > this.moveroop && !this.badstatus[4])
                            {
                                this.motion        = BibityBat.MOTION.attack;
                                this.counterTiming = true;
                            }
                            else
                            {
                                this.motion = BibityBat.MOTION.move;
                            }
                        }
                    }
                    break;
                }
                break;

            case BibityBat.MOTION.move:
                ++this.roopmove;
                this.motion = BibityBat.MOTION.neutral;
                if (this.version == 0)
                {
                    this.positionre = new Point(this.union == Panel.COLOR.blue ? 5 : 0, this.Random.Next(3));
                    this.motion     = BibityBat.MOTION.attack;
                }
                else
                {
                    this.MoveRandom(false, false);
                }
                if (this.position == this.positionre)
                {
                    this.motion      = BibityBat.MOTION.neutral;
                    this.frame       = 0;
                    this.roopneutral = 0;
                    break;
                }
                this.parent.effects.Add(new MoveEnemy(this.sound, this.parent, this.position.X, this.position.Y));
                this.position       = this.positionre;
                this.positionDirect = new Vector2((float)(position.X * 40.0 + 20.0), (float)(position.Y * 24.0 + 62.0));
                this.frame          = 0;
                this.roopneutral    = 0;
                break;

            case BibityBat.MOTION.attack:
                this.animationpoint.X = this.attackanimation ? 4 : 3;
                this.attackanimation  = !this.attackanimation;
                if (this.moveflame)
                {
                    if (this.frame == 1)
                    {
                        GravityBallAttack gravityBallAttack = new GravityBallAttack(this.sound, this.parent, this.position.X, this.position.Y, this.union, !this.badstatus[1] ? this.power : this.power / 2, 2, this.positionDirect, this.element);
                        if (this.version == 0)
                        {
                            gravityBallAttack.Xspeed   = 8f;
                            gravityBallAttack.Yspeed   = 2f;
                            gravityBallAttack.breaking = true;
                        }
                        this.parent.attacks.Add(gravityBallAttack);
                    }
                    if (this.frame == 7)
                    {
                        this.counterTiming = false;
                        int num = this.union == Panel.COLOR.blue ? this.position.X - 1 : this.position.X + 1;
                    }
                    if (this.frame >= 14)
                    {
                        this.frame       = 0;
                        this.roopmove    = 0;
                        this.roopneutral = 0;
                        this.speed       = this.nspeed;
                        this.motion      = BibityBat.MOTION.neutral;
                    }
                    break;
                }
                break;
            }
            this.FlameControl();
            this.MoveAftar();
        }