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); }
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; }
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); }
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; }
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; }
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; }
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; }
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; }
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)); }
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; }
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; } }
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); }
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; }
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 * * // * */ }
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; }
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(); }
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; }
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)))); }
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; }
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; }
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; } }
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); }
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); }
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; }
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; }
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; }
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; }
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; }
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; }
public override bool HitCheck(Point charaposition, Panel.COLOR charaunion) { return(base.HitCheck(charaposition, charaunion)); }