public void GetRoll(GameState client, byte mStar, byte mStage, bool Restore = false, byte higher = 0)
public void GetRoll(GameState client, byte mStar, byte mStage, bool Restore = false, byte higher = 0) { try { KongfuStages stages = this.Stagers[mStage - 1]; if (stages.Activate) { KongfuStages.Star star = stages.Stars[mStar - 1]; if (star.UID != 0) { this.Inner_Strength = (ushort)(this.Inner_Strength - AurionConquer.Database.KongFuTable.GetStatusPoints(star.Level)); } //if (!Restore) //{ // OldStar star2 = new OldStar // { // Stage = mStage, // PositionStar = mStar, // Star = star // }; // this.MyOldStar = star2; //} var level = star.Level; star.Level = this.GetStatusLevel(); if (level == 0) level = star.Level; if (higher == 1) { if (Kernel.Rate(20 / level)) { if (level > 5) { level = 5; star.Level = (byte)Random.Next(level, 5); } } } if (higher == 2) if (Kernel.Rate(50 / level)) star.Level = (byte)Random.Next(4, 6); var riderid = (uint)Kernel.Random.Next(1, 5); if (riderid == 2) { star.Level = 6; client.MessageBox("Oh u got epic wow"); } star.Typ = (KongfuStages.AtributesType)this.Random.Next(1, 16); do { star.Typ = (KongfuStages.AtributesType)this.Random.Next(1, 16); } while (!AurionConquer.Database.KongFuTable.CultivateStatus[mStage].Contains((byte)star.Typ)); if (mStage == 9) { var List = new KongfuStages.AtributesType[] { KongfuStages.AtributesType.MaxLife, KongfuStages.AtributesType.PDefense, KongfuStages.AtributesType.Mdefense, KongfuStages.AtributesType.CriticalStrike, KongfuStages.AtributesType.Counteraction, KongfuStages.AtributesType.MaxMana }.ToList(); while (!List.Contains(star.Typ)) { star.Typ = List[this.Random.Next(1, List.Count)]; } } if (!Restore) { star.UID = this.ValueToRoll(star.Typ, star.Level); if (!star.Activate) { this.Star = (byte)(this.Star + 1); star.Activate = true; } client.Send(new AurionConquer.Network.GamePackets.MsgOwnKongfuImproveFeedback { Atribute = star.UID, FreeCourse = this.FreeCourse, Stage = mStage, Star = mStar, FreeTimeTodeyUsed = (byte)this.FreeTimeTodeyUsed, RoundBuyPoints = this.RoundBuyPoints }.ToArray()); this.Inner_Strength = (ushort)(this.Inner_Strength + AurionConquer.Database.KongFuTable.GetStatusPoints(star.Level)); } else { //star = this.MyOldStar.Star; } if ((mStage < 9) && !((mStar != 9) || this.Stagers[mStage].Activate)) { this.Stage = (byte)(this.Stage + 1); this.Stagers[mStage].Activate = true; this.SendInfo(client, 12, new string[] { this.Stage.ToString() }); } client.LoadItemStats(); KongfuRanking.UpdateRank(this); client.Player.MyKongFu.SendStatusMode(client); } } catch (Exception exception) { Console.WriteLine(exception.ToString()); } }