Example #1
0
 public override bool HitCheck(Point charaposition, Panel.COLOR charaunion)
 {
     if (!base.HitCheck(charaposition, charaunion))
     {
         return(false);
     }
     this.sound.PlaySE(SoundEffect.bombmiddle);
     this.ShakeStart(4, 60);
     this.parent.effects.Add(new RandomBomber(this.sound, this.parent, Bomber.BOMBERTYPE.bomber, 2, this.UnionEnemy, this.union, 18));
     for (int index1 = 0; index1 < this.parent.panel.GetLength(0); ++index1)
     {
         for (int index2 = 0; index2 < this.parent.panel.GetLength(1); ++index2)
         {
             if (this.parent.panel[index1, index2].color == this.UnionEnemy)
             {
                 this.parent.panel[index1, index2].State = Panel.PANEL._crack;
             }
         }
     }
     this.flag = false;
     return(true);
 }
Example #2
0
 public SonicBoomMini(
     IAudioEngine so,
     SceneBattle p,
     int pX,
     int pY,
     Panel.COLOR u,
     int po,
     int s,
     ChipBase.ELEMENT ele,
     bool par)
     : base(so, p, pX, pY, u, po, ele)
 {
     if (!this.flag)
     {
         return;
     }
     this.penetration = par;
     if (this.penetration)
     {
         this.power *= 2;
     }
     this.upprint          = false;
     this.speed            = s;
     this.animationpoint.X = 0;
     this.hitrange         = new Point(0, 0);
     this.hitting          = true;
     this.rebirth          = this.union == Panel.COLOR.blue;
     this.positionre       = this.position;
     if (this.union == Panel.COLOR.red)
     {
         this.positionDirect = new Vector2(this.position.X * 40 - 10, this.position.Y * 24 + 56);
     }
     else
     {
         this.positionDirect = new Vector2((this.position.X + 1) * 40 + 10, this.position.Y * 24 + 56);
     }
     this.frame = 0;
     this.OldPD = this.positionDirect;
 }
Example #3
0
 public SuzuranWhite(
     IAudioEngine s,
     SceneBattle p,
     int pX,
     int pY,
     Panel.COLOR union,
     int HP,
     int time)
     : base(s, p, pX, pY, union)
 {
     this.height         = 48;
     this.wide           = 32;
     this.hp             = HP;
     this.hitPower       = 0;
     this.hpmax          = this.hp;
     this.unionhit       = true;
     this.noslip         = true;
     this.overslip       = true;
     this.time           = time;
     this.rebirth        = union == Panel.COLOR.red;
     this.positionDirect = new Vector2(pX * 40 + 16, pY * 24 + 64);
 }
Example #4
0
 public Storm(
     IAudioEngine so,
     SceneBattle p,
     int pX,
     int pY,
     Panel.COLOR u,
     int po,
     ChipBase.ELEMENT ele)
     : base(so, p, pX, pY, u, po, ele)
 {
     if (!this.flag)
     {
         return;
     }
     this.invincibility    = false;
     this.speed            = 1;
     this.animationpoint.X = 0;
     this.hitrange         = new Point(0, 0);
     this.hitting          = true;
     this.rebirth          = this.union == Panel.COLOR.blue;
     this.positionre       = this.position;
     if (this.union == Panel.COLOR.red)
     {
         this.positionDirect = new Vector2(this.position.X * 40 + 4, this.position.Y * 24 + 42);
     }
     else
     {
         this.positionDirect = new Vector2((this.position.X + 1) * 40 - 4, this.position.Y * 24 + 42);
     }
     this.frame = 0;
     if (this.StandPanel.state == Panel.PANEL._sand)
     {
         this.element          = ChipBase.ELEMENT.earth;
         this.power           *= 2;
         this.StandPanel.state = Panel.PANEL._nomal;
     }
     this.sound.PlaySE(SoundEffect.shoot);
     this.cEle = this.element;
 }
Example #5
0
 public MimaFrame(
     IAudioEngine so,
     SceneBattle p,
     int pX,
     int pY,
     Panel.COLOR u,
     int po,
     int s,
     Vector2 v,
     ChipBase.ELEMENT ele,
     int movespeed = 4)
     : base(so, p, pX, pY, u, po, ele)
 {
     this.movespeed      = movespeed;
     this.invincibility  = true;
     this.breakinvi      = true;
     this.breaking       = true;
     this.speed          = s;
     this.positionDirect = v;
     this.positionold    = this.position;
     this.OldPD          = this.positionDirect;
 }
Example #6
0
 public ElementFire(
     IAudioEngine so,
     SceneBattle p,
     int pX,
     int pY,
     Panel.COLOR u,
     int po,
     int roop,
     ChipBase.ELEMENT ele,
     bool twohit,
     int type = 0)
     : base(so, p, pX, pY, u, po, ele)
 {
     if (!this.flag)
     {
         return;
     }
     this.type             = type;
     this.twohit           = twohit;
     this.roop             = roop;
     this.speed            = 3;
     this.animationpoint.X = 0;
     this.hitrange         = new Point(0, 0);
     this.hitting          = true;
     this.invincibility    = true;
     this.rebirth          = this.union == Panel.COLOR.blue;
     this.positionre       = this.position;
     if (this.union == Panel.COLOR.blue)
     {
         this.positionDirect = new Vector2(this.position.X * 40 - 8, this.position.Y * 24 + 42);
     }
     else
     {
         this.positionDirect = new Vector2((this.position.X + 1) * 40 + 8, this.position.Y * 24 + 42);
     }
     this.frame = 0;
     this.color = Color.White;
     this.cEle  = this.element;
 }
Example #7
0
 public Tornado(
     IAudioEngine so,
     SceneBattle p,
     int pX,
     int pY,
     Panel.COLOR u,
     int po,
     ChipBase.ELEMENT ele,
     int s)
     : base(so, p, pX, pY, u, po, ele)
 {
     if (!this.flag)
     {
         return;
     }
     this.invincibility    = false;
     this.movespeed        = s;
     this.speed            = 1;
     this.animationpoint.X = 0;
     this.hitrange         = new Point(0, 0);
     this.hitting          = true;
     this.rebirth          = this.union == Panel.COLOR.blue;
     this.positionre       = this.position;
     if (this.union == Panel.COLOR.red)
     {
         this.positionDirect = new Vector2(this.position.X * 40, this.position.Y * 24 + 50);
     }
     else
     {
         this.positionDirect = new Vector2((this.position.X + 1) * 40, this.position.Y * 24 + 50);
     }
     this.frame = 0;
     this.sound.PlaySE(SoundEffect.shoot);
     if (this.union == Panel.COLOR.red)
     {
         this.movespeed *= -1;
     }
     this.OldPD = this.positionDirect;
 }
Example #8
0
 public AttackBase(
     IAudioEngine s,
     SceneBattle p,
     int pX,
     int pY,
     Panel.COLOR u,
     int po,
     ChipBase.ELEMENT ele)
     : base(s, p)
 {
     this.element = ele;
     for (int index1 = 0; index1 < this.hitflag.GetLength(0); ++index1)
     {
         for (int index2 = 0; index2 < this.hitflag.GetLength(1); ++index2)
         {
             this.hitflag[index1, index2] = false;
         }
     }
     this.position = new Point(pX, pY);
     this.power    = po;
     this.union    = u;
     if (this.position.X < 0 || this.position.X >= 6)
     {
         this.flag = false;
         this.over = true;
     }
     this.keyName = this.ToString();
     if (this.union == Panel.COLOR.red)
     {
         this.keyName = this.keyName + "*" + AttackBase.AtIDRed.ToString();
         ++AttackBase.AtIDRed;
     }
     else
     {
         this.keyName = this.keyName + "*" + AttackBase.AtIDBlue.ToString();
         ++AttackBase.AtIDBlue;
     }
     this.number = 200;
 }
Example #9
0
 public DelayMeteor(
     IAudioEngine so,
     SceneBattle p,
     int pX,
     int pY,
     Panel.COLOR u,
     int po,
     int hittime,
     ChipBase.ELEMENT ele)
     : base(so, p, pX, pY, u, po, ele)
 {
     if (!this.flag)
     {
         return;
     }
     this.invincibility    = true;
     this.movespeed        = 8;
     this.hitting          = false;
     this.hittime          = hittime;
     this.animationpoint.X = 0;
     this.hitrange         = new Point(0, 0);
     this.rebirth          = this.union == Panel.COLOR.blue;
     this.positionre       = this.position;
     if (this.union == Panel.COLOR.red)
     {
         this.positionDirect = new Vector2(this.position.X * 40, this.position.Y * 24 + 50);
     }
     else
     {
         this.positionDirect = new Vector2((this.position.X + 1) * 40, this.position.Y * 24 + 50);
     }
     this.frame    = 0;
     this.breaking = false;
     if (this.union == Panel.COLOR.red)
     {
         this.movespeed *= -1;
     }
     this.parent.attacks.Add(new Dummy(this.sound, this.parent, this.position.X, this.position.Y, this.union, this.hitrange, hittime, true));
 }
Example #10
0
 public MimaCharge(
     IAudioEngine so,
     SceneBattle p,
     int pX,
     int pY,
     Panel.COLOR u,
     int po,
     int s,
     Vector2 v,
     ChipBase.ELEMENT ele,
     int movespeed = 4)
     : base(so, p, pX, pY, u, po, ele)
 {
     this.movespeed      = movespeed;
     this.invincibility  = true;
     this.breakinvi      = true;
     this.breaking       = true;
     this.speed          = s;
     this.positionDirect = new Vector2((float)(position.X * 40.0 + 20.0), (float)(position.Y * 24.0 + 50.0));
     this.positionold    = this.position;
     this.OldPD          = this.positionDirect;
 }
Example #11
0
 public AnchorBomb(
     IAudioEngine so,
     SceneBattle p,
     int pX,
     int pY,
     Panel.COLOR u,
     int po,
     int s,
     Vector2 v,
     Point end,
     int t,
     AnchorBomb.TYPE ty,
     int color = -1)
     : base(so, p, pX, pY, u, po, ChipBase.ELEMENT.aqua)
 {
     this.breaking       = true;
     this.hitting        = false;
     this.speed          = s;
     this.positionDirect = v;
     this.time           = t;
     this.position       = end;
     this.endposition    = new Vector2(end.X * 40 + 20, end.Y * 24 + 80);
     this.movex          = (v.X - this.endposition.X) / t;
     this.movey          = (v.Y - this.endposition.Y) / t;
     this.plusy          = 0.0f;
     this.speedy         = 6f;
     this.plusing        = this.speedy / time;
     this.rebirth        = this.union == Panel.COLOR.red;
     this.type           = ty;
     if (color >= 0)
     {
         this.colorA = color;
     }
     else
     {
         this.colorA = (int)this.type;
     }
 }
Example #12
0
 public Jizou(
     IAudioEngine s,
     SceneBattle p,
     int pX,
     int pY,
     Panel.COLOR union,
     int colorNo,
     int power)
     : base(s, p, pX, pY, union)
 {
     this.power          = power;
     this.colorNo        = colorNo;
     this.height         = 40;
     this.wide           = 40;
     this.hp             = 10;
     this.hitPower       = 200;
     this.hpmax          = this.hp;
     this.unionhit       = true;
     this.overslip       = true;
     this.rebirth        = (uint)union > 0U;
     this.positionre     = this.position;
     this.positionDirect = new Vector2(pX * 40 + 24, pY * 24 + 72);
 }
Example #13
0
 public AttackBase(
     IAudioEngine s,
     SceneBattle p,
     int pX,
     int pY,
     Panel.COLOR u,
     int po,
     int subp)
     : base(s, p)
 {
     for (int index1 = 0; index1 < this.hitflag.GetLength(0); ++index1)
     {
         for (int index2 = 0; index2 < this.hitflag.GetLength(1); ++index2)
         {
             this.hitflag[index1, index2] = false;
         }
     }
     this.position           = new Point(pX, pY);
     this.power              = po;
     this.subpower           = subp;
     this.union              = u;
     this.invincibilitytimeA = 120;
 }
Example #14
0
 public ShanghaiDS(IAudioEngine s, SceneBattle p, int pX, int pY, byte n, Panel.COLOR u, byte v)
     : base(s, p, pX, pY, n, u, v, 3000, "ShanghaiDS", "ShanghaiDS")
 {
     /* todo:
      *      have shanghaiDS assemble 'hands' by taking 5-6 chips from the deck
      *          check hands for potential PAs
      *          remove applicable chips from hand, replace with PA
      *          make it so shanghaiDS assembles new hands when the player opens the custom screen
      *      have shanghaiDS use buster attack when out of chips for that turn?
      *
      *      have shanghaiDS mirror style changes (sprites at least?)
      *
      *      chip 'location memory'?
      *          this would require a pretty massive retcon in game code and adding stuff to the save
      *          tl;dr MMBN4/5 recorded where on the screen you like to use chips, to use as a reference for what location MMDS would be when using it himself
      *
      *      chip 'combo system'?
      *          like location memory, but records which chips you like to use before and after each other, plus locations
      *
      *      //
      *
      */
 }
Example #15
0
 public PoisonShot(
     IAudioEngine so,
     SceneBattle p,
     int pX,
     int pY,
     Panel.COLOR u,
     int po,
     int s,
     Vector2 v,
     ChipBase.ELEMENT ele,
     Point end,
     int t,
     bool cross,
     PoisonShot.TYPE ty)
     : base(so, p, pX, pY, u, po, ele)
 {
     this.cross          = cross;
     this.hitting        = false;
     this.speed          = s;
     this.positionDirect = v;
     this.time           = t;
     this.position       = end;
     this.endposition    = new Vector2(end.X * 40 + 20, end.Y * 24 + 80);
     this.movex          = (v.X - this.endposition.X) / t;
     this.movey          = (v.Y - this.endposition.Y) / t;
     this.plusy          = 0.0f;
     this.speedy         = 6f;
     this.plusing        = this.speedy / (this.time / 2);
     this.rebirth        = this.union == Panel.COLOR.red;
     this.type           = ty;
     if (this.type != PoisonShot.TYPE.poison)
     {
         return;
     }
     this.badstatus[5]     = true;
     this.badstatustime[5] = 180;
 }
Example #16
0
 public HyperSpanner(
   IAudioEngine so,
   SceneBattle p,
   int pX,
   int pY,
   Panel.COLOR u,
   int po,
   int s,
   int color,
   ChipBase.ELEMENT ele)
   : base(so, p, pX, pY, u, po, ele)
 {
     this.color = color;
     this.speed = s;
     this.attackSpeed = 6;
     this.effecting = true;
     this.breaking = true;
     this.hitting = true;
     this.hitrange = new Point(1, 1);
     if (!this.InAreaCheck(new Point(this.position.X + this.UnionRebirth, this.position.Y)))
     {
         switch (this.position.Y)
         {
             case 0:
                 this.attackUP = false;
                 break;
             case 1:
                 this.attackUP = true;
                 break;
             default:
                 this.attackUP = true;
                 this.position.Y = 1;
                 break;
         }
     }
     this.PositionDirectSet();
 }
Example #17
0
 public SwordAttack(
     IAudioEngine so,
     SceneBattle p,
     int pX,
     int pY,
     Panel.COLOR u,
     int po,
     int s,
     ChipBase.ELEMENT ele,
     bool par,
     bool roukan = false)
     : base(so, p, pX, pY, u, po, ele)
 {
     if (!this.flag)
     {
         return;
     }
     this.noElementWeak    = roukan;
     this.parry            = par;
     this.upprint          = true;
     this.speed            = s;
     this.animationpoint.X = 0;
     --this.position.Y;
     this.hitrange   = new Point(0, 2);
     this.hitting    = true;
     this.rebirth    = this.union == Panel.COLOR.blue;
     this.positionre = this.position;
     if (this.union == Panel.COLOR.red)
     {
         this.positionDirect = new Vector2(this.position.X * 40 - 10, this.position.Y * 24 + 56);
     }
     else
     {
         this.positionDirect = new Vector2((this.position.X + 1) * 40 + 10, this.position.Y * 24 + 56);
     }
     this.frame = 0;
 }
Example #18
0
 public TornadeSide(
     IAudioEngine so,
     SceneBattle p,
     int pX,
     int pY,
     Panel.COLOR u,
     int po,
     ChipBase.ELEMENT ele)
     : base(so, p, pX, pY, u, po, ele)
 {
     if (!this.flag)
     {
         return;
     }
     this.upprint          = true;
     this.speed            = 1;
     this.animationpoint.X = 0;
     this.hitrange         = new Point(0, 0);
     this.hitting          = false;
     this.rebirth          = this.union == Panel.COLOR.blue;
     this.positionre       = this.position;
     if (this.union == Panel.COLOR.red)
     {
         this.positionDirect = new Vector2(this.position.X * 40 + 40, this.position.Y * 24 + 48);
     }
     else
     {
         this.positionDirect = new Vector2((this.position.X + 1) * 40 + 40, this.position.Y * 24 + 48);
     }
     this.frame = 0;
     this.parent.attacks.Add(this.StateCopy(this.StateCopy(new BombAttack(this.sound, this.parent, this.position.X, this.position.Y, this.union, this.power, 1, this.element))));
     this.parent.attacks.Add(this.StateCopy(this.StateCopy(new BombAttack(this.sound, this.parent, this.position.X + this.UnionRebirth, this.position.Y, this.union, this.power, 1, this.element))));
     this.parent.attacks.Add(this.StateCopy(this.StateCopy(new BombAttack(this.sound, this.parent, this.position.X + 2 * this.UnionRebirth, this.position.Y, this.union, this.power, 1, this.element))));
     this.parent.attacks.Add(this.StateCopy(this.StateCopy(new BombAttack(this.sound, this.parent, this.position.X + 3 * this.UnionRebirth, this.position.Y, this.union, this.power, 1, this.element))));
     this.parent.attacks.Add(this.StateCopy(this.StateCopy(new BombAttack(this.sound, this.parent, this.position.X + 3 * this.UnionRebirth, this.position.Y - 1, this.union, this.power, 1, this.element))));
     this.parent.attacks.Add(this.StateCopy(this.StateCopy(new BombAttack(this.sound, this.parent, this.position.X + 3 * this.UnionRebirth, this.position.Y + 1, this.union, this.power, 1, this.element))));
 }
Example #19
0
 public yuyuMine(
     IAudioEngine so,
     SceneBattle p,
     int pX,
     int pY,
     Panel.COLOR u,
     int po,
     Panel.PANEL panel,
     bool stealth,
     ChipBase.ELEMENT ele)
     : base(so, p, pX, pY, u, po, ele)
 {
     if (!this.flag)
     {
         return;
     }
     this.stealth          = stealth;
     this.panel            = panel;
     this.downprint        = true;
     this.invincibility    = true;
     this.speed            = 1;
     this.animationpoint.X = 0;
     this.hitrange         = new Point(0, 0);
     this.hitting          = true;
     this.rebirth          = this.union == Panel.COLOR.blue;
     this.positionre       = this.position;
     if (this.union == Panel.COLOR.red)
     {
         this.positionDirect = new Vector2(this.position.X * 40 + 8, this.position.Y * 24 + 70);
     }
     else
     {
         this.positionDirect = new Vector2((this.position.X + 1) * 40 - 8, this.position.Y * 24 + 70);
     }
     this.frame = 0;
     this.count = 0;
 }
Example #20
0
 public AncerShot(
     IAudioEngine so,
     SceneBattle p,
     int pX,
     int pY,
     Panel.COLOR u,
     int po,
     int s,
     ChipBase.ELEMENT ele,
     EnemyBase master)
     : base(so, p, pX, pY, u, po, ele)
 {
     if (!this.flag)
     {
         return;
     }
     this.master           = master;
     this.penetration      = true;
     this.upprint          = false;
     this.speed            = s;
     this.breaking         = true;
     this.animationpoint.X = 0;
     this.hitrange         = new Point(0, 0);
     this.hitting          = true;
     this.rebirth          = this.union == Panel.COLOR.red;
     this.positionre       = this.position;
     if (this.union == Panel.COLOR.red)
     {
         this.positionDirect = new Vector2(this.position.X * 40 - 10, this.position.Y * 24 + 56);
     }
     else
     {
         this.positionDirect = new Vector2((this.position.X + 1) * 40 + 10, this.position.Y * 24 + 56);
     }
     this.frame = 0;
     this.OldPD = this.positionDirect;
 }
Example #21
0
 public MimaRockTower(
     IAudioEngine so,
     SceneBattle p,
     int pX,
     int pY,
     Panel.COLOR u,
     int po,
     MimaRockTower.MOTION m)
     : base(so, p, pX, pY, u, po, ChipBase.ELEMENT.earth)
 {
     if (this.InArea)
     {
         if (this.parent.panel[this.position.X, this.position.Y].state == Panel.PANEL._break)
         {
             return;
         }
         this.canCounter       = false;
         this.time             = 1;
         this.speed            = 3;
         this.invincibility    = false;
         this.animationpoint.X = 0;
         this.hitrange         = new Point(0, 0);
         this.breaking         = true;
         this.hitting          = false;
         this.rebirth          = this.union == Panel.COLOR.red;
         this.positionre       = this.position;
         this.positionDirect   = new Vector2(this.position.X * 40 + 20, this.position.Y * 24 + 82);
         this.sound.PlaySE(SoundEffect.waveshort);
         this.motion = m;
         this.frame  = 0;
     }
     else
     {
         this.flag = false;
     }
 }
Example #22
0
 public FallStone(
     IAudioEngine so,
     SceneBattle p,
     int pX,
     int pY,
     Panel.COLOR u,
     int po,
     int s,
     int interval,
     ChipBase.ELEMENT ele)
     : base(so, p, pX, pY, u, po, ele)
 {
     if (!this.flag)
     {
         return;
     }
     this.interval         = interval;
     this.speed            = s;
     this.animationpoint.X = 0;
     this.hitrange         = new Point(0, 0);
     this.hitting          = false;
     this.rebirth          = this.union == Panel.COLOR.blue;
     this.positionre       = this.position;
     if (this.union == Panel.COLOR.red)
     {
         this.positionDirect = new Vector2(this.position.X * 40 + 20, this.position.Y * 24 + 96);
     }
     else
     {
         this.positionDirect = new Vector2(this.position.X * 40 + 20, this.position.Y * 24 + 96);
     }
     this.frame  = 0;
     this.time   = 1;
     this.shadow = new Shadow(this.sound, this.parent, this.position.X, this.position.Y, this);
     this.parent.effects.Add(shadow);
 }
Example #23
0
        public override bool HitCheck(Point charaposition, Panel.COLOR charaunion)
        {
            if (!this.flag || !base.HitCheck(charaposition, charaunion))
            {
                return(false);
            }
            if (this.shot != BustorShot.SHOT.reflect)
            {
                this.flag = false;
            }
            switch (this.shot)
            {
            case BustorShot.SHOT.bustor:
                this.parent.effects.Add(new Basterhit(this.sound, this.parent, this.position.X, this.position.Y, 2));
                break;

            case BustorShot.SHOT.normalcharge:
                this.parent.effects.Add(new NormalChargehit(this.sound, this.parent, this.position.X, this.position.Y, 1));
                break;

            case BustorShot.SHOT.canon:
                this.parent.effects.Add(new Bomber(this.sound, this.parent, this.position.X, this.position.Y, Bomber.BOMBERTYPE.bomber, 1));
                break;

            case BustorShot.SHOT.seedcanon:
                this.SeedCanon();
                break;

            case BustorShot.SHOT.railgun:
                this.ShakeStart(5, 5);
                this.sound.PlaySE(SoundEffect.breakObject);
                this.parent.effects.Add(new Elementhit(this.sound, this.parent, this.position.X, this.position.Y, 1, ChipBase.ELEMENT.eleki));
                break;
            }
            return(true);
        }
Example #24
0
 public ButterflyHoc(
     IAudioEngine so,
     SceneBattle p,
     int pX,
     int pY,
     Panel.COLOR u,
     int po,
     int s,
     Vector2 v,
     ChipBase.ELEMENT ele, bool up, int aS)
     : base(so, p, pX, pY, u, po, ele)
 {
     //this.movespeed = movespeed;
     this.invincibility = true;
     //this.breakinvi = true;
     this.breaking       = true;
     this.speed          = s;
     this.hocSpeed       = aS;
     this.positionDirect = v;
     this.positionold    = this.position;
     this.OldPD          = this.positionDirect;
     //this.animationpoint.X = 2;
     this.up = up;
 }
Example #25
0
        public RandomBomber(
            IAudioEngine s,
            SceneBattle p,
            Bomber.BOMBERTYPE t,
            int interval,
            Panel.COLOR targetunion,
            Panel.COLOR union,
            int many)
            : base(s, p, 0, 0)
        {
            this.union    = union;
            this.interval = interval;
            this.many     = many;
            List <Point> pointList = new List <Point>();

            for (int x = 0; x < this.parent.panel.GetLength(0); ++x)
            {
                for (int y = 0; y < this.parent.panel.GetLength(1); ++y)
                {
                    if (this.parent.panel[x, y].color == targetunion && this.InAreaCheck(new Point(x, y)))
                    {
                        pointList.Add(new Point(x, y));
                    }
                }
            }
            while (this.positions.Count < many)
            {
                for (int index = 0; index < pointList.Count; ++index)
                {
                    this.positions.Add(pointList[index]);
                }
            }
            this.positions        = this.positions.OrderBy <Point, Guid>(i => Guid.NewGuid()).ToList <Point>();
            this.type             = t;
            this.animationpoint.Y = (int)this.type;
        }
Example #26
0
 public FlaeBall(
     IAudioEngine so,
     SceneBattle p,
     int pX,
     int pY,
     Panel.COLOR u,
     int po,
     int s,
     Vector2 v,
     ChipBase.ELEMENT ele,
     int movespeed = 4,
     bool cross    = false,
     bool load3    = true)
     : base(so, p, pX, pY, u, po, ele)
 {
     this.load3          = load3;
     this.movespeed      = movespeed;
     this.invincibility  = false;
     this.speed          = s;
     this.positionDirect = v;
     this.cross          = cross;
     this.power         /= 2;
     this.OldPD          = this.positionDirect;
 }
Example #27
0
 public EnemyBase(IAudioEngine s, SceneBattle p, int pX, int pY, byte n, Panel.COLOR u, byte v)
     : base(s, p)
 {
     this.HPposition = new Vector2(-100f, -100f);
     this.position   = new Point(pX, pY);
     this.positionre = this.position;
     this.number     = n;
     this.union      = u;
     if (this.union == Panel.COLOR.red)
     {
         this.rebirth = true;
     }
     else
     {
         this.rebirth = false;
     }
     this.positionnow = this.position;
     this.version     = v;
     if (this.union != Panel.COLOR.red || this.parent == null)
     {
         return;
     }
     this.samontarn = this.parent.turn;
 }
Example #28
0
        public ScissorMan(IAudioEngine s, SceneBattle p, int pX, int pY, byte n, Panel.COLOR u, byte v)
            : base(s, p, pX, pY, n, u, v)
        {
            for (int index = 0; index < this.dropchips.Length; ++index)
            {
                this.dropchips[index] = new ChipFolder(this.sound);
            }
            this.element = ChipBase.ELEMENT.leaf;
            switch (this.version)
            {
            case 0:
                this.name     = ShanghaiEXE.Translate("Enemy.ScissorManName1");
                this.power    = 80;
                this.hp       = 2100;
                this.moveroop = 2;
                this.nspeed   = 4;
                this.animaHP  = 350;
                this.version  = 1;
                break;

            case 1:
                this.name     = ShanghaiEXE.Translate("Enemy.ScissorManName2");
                this.power    = 80;
                this.hp       = 2000;
                this.moveroop = 2;
                this.nspeed   = 4;
                this.animaHP  = 300;
                break;

            case 2:
                this.name     = ShanghaiEXE.Translate("Enemy.ScissorManName3");
                this.power    = 80;
                this.hp       = 2200;
                this.moveroop = 2;
                this.nspeed   = 4;
                this.animaHP  = 350;
                break;

            case 3:
                this.name     = ShanghaiEXE.Translate("Enemy.ScissorManName4");
                this.power    = 100;
                this.hp       = 2400;
                this.moveroop = 3;
                this.nspeed   = 4;
                this.animaHP  = 400;
                break;

            case 4:
                this.name     = ShanghaiEXE.Translate("Enemy.ScissorManName5");
                this.power    = 200;
                this.hp       = 2600;
                this.moveroop = 3;
                this.nspeed   = 4;
                this.aspeed   = 3;
                this.animaHP  = 500;
                break;

            default:
                this.name     = ShanghaiEXE.Translate("Enemy.ScissorManName6") + (version - 3).ToString();
                this.power    = 200;
                this.hp       = 2800 + (version - 4) * 400;
                this.animaHP  = 700;
                this.moveroop = 3;
                this.nspeed   = 4;
                this.aspeed   = 3;
                break;
            }
            this.speed       = this.nspeed;
            this.picturename = nameof(ScissorMan);
            this.race        = EnemyBase.ENEMY.navi;
            this.wide        = 160;
            this.height      = 144;
            this.hpmax       = this.hp;
            this.hpprint     = this.hp;
            this.printhp     = true;
            this.effecting   = false;
            this.Flying      = false;
            this.roopmove    = 0;
            this.PositionDirectSet();
            switch (this.version)
            {
            case 1:
                this.dropchips[0].chip   = new ScissorManV1(this.sound);
                this.dropchips[0].codeNo = 0;
                this.dropchips[1].chip   = new ScissorManV1(this.sound);
                this.dropchips[1].codeNo = 0;
                this.dropchips[2].chip   = new ScissorManV1(this.sound);
                this.dropchips[2].codeNo = 0;
                this.dropchips[3].chip   = new ScissorManV1(this.sound);
                this.dropchips[3].codeNo = 0;
                this.dropchips[4].chip   = new ScissorManV1(this.sound);
                this.dropchips[4].codeNo = 0;
                this.havezenny           = 0;
                break;

            case 2:
                this.dropchips[0].chip   = new ScissorManV2(this.sound);
                this.dropchips[0].codeNo = 0;
                this.dropchips[1].chip   = new ScissorManV2(this.sound);
                this.dropchips[1].codeNo = 0;
                this.dropchips[2].chip   = new ScissorManV2(this.sound);
                this.dropchips[2].codeNo = 0;
                this.dropchips[3].chip   = new ScissorManV2(this.sound);
                this.dropchips[3].codeNo = 0;
                this.dropchips[4].chip   = new ScissorManV2(this.sound);
                this.dropchips[4].codeNo = 0;
                this.havezenny           = 0;
                break;

            case 3:
                this.dropchips[0].chip   = new ScissorManV1(this.sound);
                this.dropchips[0].codeNo = 0;
                this.dropchips[1].chip   = new ScissorManV1(this.sound);
                this.dropchips[1].codeNo = 0;
                this.dropchips[2].chip   = new ScissorManV2(this.sound);
                this.dropchips[2].codeNo = 0;
                this.dropchips[3].chip   = new ScissorManV2(this.sound);
                this.dropchips[3].codeNo = 0;
                this.dropchips[4].chip   = new ScissorManV3(this.sound);
                this.dropchips[4].codeNo = 0;
                this.havezenny           = 8800;
                break;

            default:
                this.dropchips[0].chip   = new ScissorManV1(this.sound);
                this.dropchips[0].codeNo = 1;
                this.dropchips[1].chip   = new ScissorManV2(this.sound);
                this.dropchips[1].codeNo = 1;
                this.dropchips[2].chip   = new ScissorManV2(this.sound);
                this.dropchips[2].codeNo = 1;
                this.dropchips[3].chip   = new ScissorManV1(this.sound);
                this.dropchips[3].codeNo = 2;
                this.dropchips[4].chip   = new ScissorManV3(this.sound);
                this.dropchips[4].codeNo = 1;
                this.havezenny           = 9000;
                if (this.version >= 8)
                {
                    this.dropchips[4].chip   = new ScissorManX(this.sound);
                    this.dropchips[4].codeNo = this.Random.Next(4);
                    this.havezenny           = 18000;
                    break;
                }
                break;
            }
            this.motion = NaviBase.MOTION.move;
        }
Example #29
0
        public Poisorlin(IAudioEngine s, SceneBattle p, int pX, int pY, byte n, Panel.COLOR u, byte v)
            : base(s, p, pX, pY, n, u, v)
        {
            this.helpPosition.Y = -4;
            for (int index = 0; index < this.dropchips.Length; ++index)
            {
                this.dropchips[index] = new ChipFolder(this.sound);
            }
            this.picturename = "poisorlin";
            this.race        = EnemyBase.ENEMY.virus;
            this.Flying      = false;
            this.wide        = 48;
            this.height      = 56;
            switch (this.version)
            {
            case 0:
                this.name  = ShanghaiEXE.Translate("Enemy.PoisorlinName1");
                this.power = 200;
                this.hp    = 1200;
                break;

            case 1:
                this.name  = ShanghaiEXE.Translate("Enemy.PoisorlinName2");
                this.power = 20;
                this.hp    = 80;
                break;

            case 2:
                this.name  = ShanghaiEXE.Translate("Enemy.PoisorlinName3");
                this.power = 50;
                this.hp    = 130;
                break;

            case 3:
                this.name  = ShanghaiEXE.Translate("Enemy.PoisorlinName4");
                this.power = 80;
                this.hp    = 180;
                break;

            case 4:
                this.name  = ShanghaiEXE.Translate("Enemy.PoisorlinName5");
                this.power = 80;
                this.hp    = 200;
                break;

            default:
                this.name  = ShanghaiEXE.Translate("Enemy.PoisorlinName6") + (version - 3).ToString();
                this.power = 80 + (version - 4) * 20;
                this.hp    = 200 + (version - 4) * 40;
                break;
            }
            this.Noslip    = true;
            this.roop      = this.number;
            this.hpmax     = this.hp;
            this.speed     = 7;
            this.hpprint   = this.hp;
            this.printhp   = true;
            this.effecting = false;
            this.PositionDirectSet();
            switch (this.version)
            {
            case 0:
                this.dropchips[0].chip   = new BreakShot(this.sound);
                this.dropchips[0].codeNo = 3;
                this.dropchips[1].chip   = new BreakShot(this.sound);
                this.dropchips[1].codeNo = 2;
                this.dropchips[2].chip   = new BreakShot(this.sound);
                this.dropchips[2].codeNo = 1;
                this.dropchips[3].chip   = new BreakShot(this.sound);
                this.dropchips[3].codeNo = 0;
                this.dropchips[4].chip   = new BreakShot(this.sound);
                this.dropchips[4].codeNo = 0;
                this.havezenny           = 600;
                this.speed   = 1;
                this.type    = NSAttack.PoisonShot.TYPE.sand;
                this.element = ChipBase.ELEMENT.earth;
                break;

            case 1:
                this.dropchips[0].chip   = new NSChip.PoisonShot(this.sound);
                this.dropchips[0].codeNo = 0;
                this.dropchips[1].chip   = new NSChip.PoisonShot(this.sound);
                this.dropchips[1].codeNo = 1;
                this.dropchips[2].chip   = new NSChip.PoisonShot(this.sound);
                this.dropchips[2].codeNo = 2;
                this.dropchips[3].chip   = new NSChip.PoisonShot(this.sound);
                this.dropchips[3].codeNo = 2;
                this.dropchips[4].chip   = new NSChip.PoisonShot(this.sound);
                if (this.Random.Next(4) < 3)
                {
                    this.dropchips[4].codeNo = 0;
                }
                else
                {
                    this.dropchips[4].codeNo = 3;
                }
                this.havezenny = 300;
                this.type      = NSAttack.PoisonShot.TYPE.poison;
                this.element   = ChipBase.ELEMENT.poison;
                break;

            case 2:
                this.dropchips[0].chip   = new BreakShot(this.sound);
                this.dropchips[0].codeNo = 3;
                this.dropchips[1].chip   = new BreakShot(this.sound);
                this.dropchips[1].codeNo = 2;
                this.dropchips[2].chip   = new BreakShot(this.sound);
                this.dropchips[2].codeNo = 1;
                this.dropchips[3].chip   = new BreakShot(this.sound);
                this.dropchips[3].codeNo = 0;
                this.dropchips[4].chip   = new BreakShot(this.sound);
                this.dropchips[4].codeNo = 0;
                this.havezenny           = 600;
                this.type    = NSAttack.PoisonShot.TYPE.break_;
                this.element = ChipBase.ELEMENT.heat;
                break;

            case 3:
                this.dropchips[0].chip   = new ColdShot(this.sound);
                this.dropchips[0].codeNo = 3;
                this.dropchips[1].chip   = new ColdShot(this.sound);
                this.dropchips[1].codeNo = 3;
                this.dropchips[2].chip   = new ColdShot(this.sound);
                this.dropchips[2].codeNo = 2;
                this.dropchips[3].chip   = new ColdShot(this.sound);
                this.dropchips[3].codeNo = 0;
                this.dropchips[4].chip   = new ColdShot(this.sound);
                this.dropchips[4].codeNo = 1;
                this.havezenny           = 800;
                this.type    = NSAttack.PoisonShot.TYPE.ice;
                this.element = ChipBase.ELEMENT.aqua;
                break;

            default:
                this.dropchips[0].chip   = new NSChip.PoisonShot(this.sound);
                this.dropchips[0].codeNo = 0;
                this.dropchips[1].chip   = new BreakShot(this.sound);
                this.dropchips[1].codeNo = 1;
                this.dropchips[2].chip   = new BreakShot(this.sound);
                this.dropchips[2].codeNo = 2;
                this.dropchips[3].chip   = new ColdShot(this.sound);
                this.dropchips[3].codeNo = 2;
                this.dropchips[4].chip   = new NSChip.PoisonShot(this.sound);
                this.dropchips[4].codeNo = 3;
                this.havezenny           = 800;
                this.type    = NSAttack.PoisonShot.TYPE.grass;
                this.element = ChipBase.ELEMENT.leaf;
                if (this.version >= 8)
                {
                    this.dropchips[4].chip   = new PoisonShotX(this.sound);
                    this.dropchips[4].codeNo = this.Random.Next(4);
                    this.havezenny           = 8000;
                    break;
                }
                break;
            }
            this.neutlal = true;
        }
Example #30
0
 public override bool HitCheck(Point charaposition, Panel.COLOR charaunion)
 {
     return(base.HitCheck(charaposition, charaunion));
 }