// Token: 0x0600254F RID: 9551 protected bool OnDestroybam(DestroyType type = null) { if (!base.isServerForObject) { return(false); } ATRCShrapnel shrap = new ATRCShrapnel(); shrap.MakeNetEffect(this.position, false); List <Bullet> firedBullets = new List <Bullet>(); for (int i = 0; i < 20; i++) { float dir = (float)i * 18f - 5f + Rando.Float(10f); shrap = new ATRCShrapnel(); shrap.range = 55f + Rando.Float(14f); Bullet bullet = new Bullet(base.x + (float)(Math.Cos((double)Maths.DegToRad(dir)) * 6.0), base.y - (float)(Math.Sin((double)Maths.DegToRad(dir)) * 6.0), shrap, dir, null, false, -1f, false, true); bullet.firedFrom = this; firedBullets.Add(bullet); Level.Add(bullet); } if (Network.isActive) { Send.Message(new NMFireGun(null, firedBullets, 0, false, 4, false), NetMessagePriority.ReliableOrdered, null); firedBullets.Clear(); } Level.Remove(this); return(true); }
// Token: 0x06001988 RID: 6536 protected override bool OnDestroy(DestroyType type = null) { if (!base.isServerForObject) { return(false); } ATRCShrapnel atrcshrapnel = new ATRCShrapnel(); atrcshrapnel.MakeNetEffect(this.position, false); List <Bullet> list = new List <Bullet>(); for (int i = 0; i < 20; i++) { float num = (float)i * 18f - 5f + Rando.Float(10f); atrcshrapnel = new ATRCShrapnel(); atrcshrapnel.range = 55f + Rando.Float(14f); Bullet bullet = new Bullet(base.x + (float)(Math.Cos((double)Maths.DegToRad(num)) * 6.0), base.y - (float)(Math.Sin((double)Maths.DegToRad(num)) * 6.0), atrcshrapnel, num, null, false, -1f, false, true); bullet.firedFrom = this; list.Add(bullet); Level.Add(bullet); } if (Network.isActive) { Send.Message(new NMFireGun(null, list, 0, false, 4, false), NetMessagePriority.ReliableOrdered, null); list.Clear(); } Level.Remove(this); FollowCam followCam = Level.current.camera as FollowCam; if (followCam != null) { followCam.Remove(this); } if (Recorder.currentRecording != null) { Recorder.currentRecording.LogBonus(); } return(true); }