/// <summary> /// 获取随机事件类型 /// </summary> /// <returns></returns> public static GameEventType GetRandomGameEventType() { var random = NumberHelper.GetRandom(0, 100); if (random < 7) { return(GameEventType.Hotel); } if (random < 12) { return(GameEventType.Treasure); } if (random < 30) { return(GameEventType.RandomEvent); } if (random < 38) { return(GameEventType.Shop); } if (random < 42) { return(GameEventType.RareMonster); } if (random < 56) { return(GameEventType.ElitistMonster); } return(GameEventType.NormalMonster); }
public static BaseMonster GetRandomMonster(MonsterType type, int stage) { var monsters = GameInfo.Monsters.Where(x => x.Type == type && x.MinStage <stage && x.MaxStage> stage).ToList(); var index = NumberHelper.GetRandom(0, monsters.Count); return(monsters[index].Clone()); }
public static BaseSkill GetRandomVisibleSkill(SkillRareDegree skillRareDegree) { var skills = GameInfo.ActivedSkills.Where(x => x.RareDegree == skillRareDegree).ToList(); var index = NumberHelper.GetRandom(0, skills.Count); return(skills[index].Clone()); }
/// <summary> /// 从队列中生成一个随机事件 /// </summary> /// <returns></returns> public static BaseEvent GenerateRandomEvent() { if (GameInfo.CurrentStageEvents.Count == 0) { return(GameInfo.EventList.FirstOrDefault(x => x.Type == GameEventType.Shop).Clone()); } var index = NumberHelper.GetRandom(0, GameInfo.CurrentStageEvents.Count); var e = GameInfo.CurrentStageEvents[index].Clone(); GameInfo.CurrentStageEvents.RemoveAt(index); return(e); }
public static string UpgradeRandomSkill() { var skills = GameInfo.LearnedSkills.Where(x => x.Level != 3).ToList(); if (skills.Count == 0) { return(string.Empty); } var index = NumberHelper.GetRandom(0, skills.Count); skills[index].LevelUp(); return(skills[index].DisplayName); }
public static BaseProp GetRandomVisibleProp(PropType type) { var propList = new List <PropName>(); foreach (var prop in GameInfo.ActivedProps) { if (prop.Type == type && !GameInfo.GainedProps.Contains(prop.Name)) { propList.Add(prop.Name); } } var index = NumberHelper.GetRandom(0, propList.Count); var randomProp = GameInfo.ActivedProps.FirstOrDefault(x => x.Name == propList[index]); return(randomProp); }
public static BaseSkill GetRandomVisibleSkill() { var index = NumberHelper.GetRandom(0, GameInfo.ActivedSkills.Count); return(GameInfo.ActivedSkills[index].Clone()); }