private string ResolveNameVariable(DungeonVariable variable) { using DiscordContext context = new DiscordContext(); string text = ""; switch ((DungeonVariableExtension.VariableType)variable.Type) { case DungeonVariableExtension.VariableType.Name_Mob: text = context.DungeonMob.Skip(Helpers.RandomGenerator.RandomInt(0, context.DungeonMob.Count())).First().Name; break; } return(text); }
private string ResolveTaskVariable(DungeonVariable variable) { switch ((DungeonVariableExtension.VariableType)variable.Type) { case DungeonVariableExtension.VariableType.RandomStrokes: var baseStrokes = (int)_difficulty * 30; var randomSubtraction = Helpers.RandomGenerator.RandomInt(-(baseStrokes / 4), baseStrokes / 4); var endStrokes = baseStrokes - randomSubtraction; WaitAfterMessage += baseStrokes / 5 * 1000; return(endStrokes.ToString()); case DungeonVariableExtension.VariableType.RandomEdges: var add = Helpers.RandomGenerator.RandomInt(0, 2); var endEdges = Convert.ToInt16((int)_difficulty * 0.7f + add); WaitAfterMessage += endEdges * 30000; return(endEdges.ToString()); case DungeonVariableExtension.VariableType.RandomFlicks: var baseFlicks = (int)_difficulty * 10; var randomFlickSubtraction = Helpers.RandomGenerator.RandomInt(-(baseFlicks / 4), baseFlicks / 4); var endFlicks = baseFlicks - randomFlickSubtraction; WaitAfterMessage += endFlicks * 1000; return(endFlicks.ToString()); case DungeonVariableExtension.VariableType.RandomSlaps: var baseSlaps = (int)_difficulty * 5; var randomSlapSubtraction = Helpers.RandomGenerator.RandomInt(-(baseSlaps / 4), baseSlaps / 4); var endSlaps = baseSlaps - randomSlapSubtraction; WaitAfterMessage += endSlaps * 1000; return(endSlaps.ToString()); } return(null); }
private string ResolveTextVariable(DungeonVariable variable) { TextType textType = 0; // Note: Could also be realised through Reflection. Consider for future changes. switch ((DungeonVariableExtension.VariableType)variable.Type) { case DungeonVariableExtension.VariableType.Text_Enter: textType = TextType.RoomEnter; break; case DungeonVariableExtension.VariableType.Text_Greeting: textType = TextType.Greeting; break; case DungeonVariableExtension.VariableType.Text_Main: textType = TextType.Main; break; case DungeonVariableExtension.VariableType.Text_Dismissal: textType = TextType.Dismissal; break; case DungeonVariableExtension.VariableType.Text_Success: textType = TextType.Success; break; case DungeonVariableExtension.VariableType.Text_Failure: textType = TextType.Failure; break; } var text = GetText(textType); WaitAfterMessage += text.Length * 10; return(text); }
private string ResolveVariable(DungeonVariable variable) { var text = ""; if (variable.Type > (int)DungeonVariableExtension.VariableType.None && variable.Type >= (int)DungeonVariableExtension.VariableType.Text_Enter && variable.Type < (int)DungeonVariableExtension.VariableType.RandomStrokes) { text = ResolveTextVariable(variable); } else if (variable.Type >= (int)DungeonVariableExtension.VariableType.RandomStrokes && variable.Type < (int)DungeonVariableExtension.VariableType.Content) { text = ResolveTaskVariable(variable); } else if (variable.Type >= (int)DungeonVariableExtension.VariableType.Content && variable.Type < (int)DungeonVariableExtension.VariableType.Name_Mob) { text = ResolveTaskVariable(variable); } else if (variable.Type >= (int)DungeonVariableExtension.VariableType.Name_Mob) { text = ResolveNameVariable(variable); } return(text); }