public TauntFromFileCommandProcessor(LineService lineService , IPathsAccessor pathsAccessor , ILineCollectionFilter lineCollectionFilter , IRandomNumberService randomNumberService) : base(Keyword.TauntFromFile, lineService) { _pathsAccessor = pathsAccessor; _lineCollectionFilter = lineCollectionFilter; _randomNumberService = randomNumberService; }
public RequestTaskCommandProcessor(LineService lineService , ITimeService timeService , IPathsAccessor pathsAccessor , ILineCollectionFilter lineCollectionFilter , IRandomNumberService randomNumberService ) : base(Keyword.SendDailyTasks, lineService) { _timeService = timeService; _pathsAccessor = pathsAccessor; _lineCollectionFilter = lineCollectionFilter; _randomNumberService = randomNumberService; }
public VitalSubService(IPathsAccessor pathsAccessor , ILineCollectionFilter lineCollectionFilter , IRandomNumberService randomNumberService , ISettingsAccessor settingsAccessor , IScriptAccessor scriptAccessor ) { _pathsAccessor = pathsAccessor; _lineCollectionFilter = lineCollectionFilter; _randomNumberService = randomNumberService; _settingsAccessor = settingsAccessor; _scriptAccessor = scriptAccessor; }
public VitalSubAssignmentCommandProcessor(LineService lineService , ISettingsAccessor settingsAccessor , ILineCollectionFilter lineCollectionFilter , IRandomNumberService randomNumberService , IPathsAccessor pathsAccessor , IVitalSubService vitalSubService ) : base(Keyword.VitalSubAssignment, lineService) { _settingsAccessor = settingsAccessor; _lineCollectionFilter = lineCollectionFilter; _pathsAccessor = pathsAccessor; _randomNumberService = randomNumberService; _vitalSubService = vitalSubService; }
public GetCommandProcessorsService(IScriptAccessor scriptAccessor , IFlagAccessor flagAccessor , LineService lineService , IImageAccessor imageAccessor , IVideoAccessor videoAccessor , IVariableAccessor variableAccessor , ITauntAccessor tauntAccessor , IConfigurationAccessor configurationAccessor , IRandomNumberService randomNumberService , INotifyUser notifyUser , ISettingsAccessor settingsAccessor , IPathsAccessor pathsAccessor , IBookmarkService bookmarkService , IMediaContainerService mediaContainerService , ITimeService timeService , ILineCollectionFilter lineCollectionFilter , IVitalSubService vitalSubService , IConditionalObjectLogic conditionalObjectLogic , IVocabularyProcessor sessionVocabularyProcessor ) { _scriptAccessor = scriptAccessor; _flagAccessor = flagAccessor; _lineService = lineService; _imageAccessor = imageAccessor; _videoAccessor = videoAccessor; _variableAccessor = variableAccessor; _tauntAccessor = tauntAccessor; _configurationAccessor = configurationAccessor; _randomNumberService = randomNumberService; _notifyUser = notifyUser; _settingsAccessor = settingsAccessor; _pathsAccessor = pathsAccessor; _bookmarkService = bookmarkService; _mediaContainerService = mediaContainerService; _timeService = timeService; _lineCollectionFilter = lineCollectionFilter; _vitalSubService = vitalSubService; _conditionalObjectLogic = conditionalObjectLogic; _sessionVocabularyProcessor = sessionVocabularyProcessor; }
public VocabularyProcessor(ILineCollectionFilter lineCollectionFilter , LineService lineService , IVocabularyAccessor vocabularyAccessor , IImageAccessor imageAccessor , IRandomNumberService randomNumberService , ISettingsAccessor settingsAccessor ) { var settings = settingsAccessor.GetSettings(); _lineCollectionFilter = lineCollectionFilter; _lineService = lineService; _vocabularyAccessor = vocabularyAccessor; _vocabularyProcessors = new List <IVocabularyProcessor> { new ImageVocabularyProcessor(imageAccessor), new RandomVocabularyProcessor(lineService, randomNumberService), new SessionVocabularyProcessor(), new SettingsVocabularyProcessor(settingsAccessor) }; _codeVocabulary = new Dictionary <string, Func <string, Session, string> > { { "#DommeName", (line, session) => line.Replace("#DommeName", session.Domme.Name) }, { "#DomAge", (line, session) => line.Replace("#DomAge", session.Domme.Age.ToString()) }, { "#DomApathy", (line, session) => line.Replace("#DomApathy", session.Domme.ApathyLevel.ToString()) }, { "#DomAvgCockMin", (line, session) => line.Replace("#DomAvgCockMin", session.Domme.CockSmallLimit.ToString()) }, { "#DomAvgCockMax", (line, session) => line.Replace("#DomAvgCockMax", session.Domme.CockBigLimit.ToString()) }, { "#DomBirthdayMonth", (line, session) => line.Replace("#DomBirthdayMonth", session.Domme.BirthDay.ToString("MMMM")) }, { "#DomBirthdayDay", (line, session) => line.Replace("#DomBirthdayDay", session.Domme.BirthDay.Day.ToString()) }, { "#DomCup", (line, session) => line.Replace("#DomCup", session.Domme.CupSize.ToString()) }, { "#DomEyes", (line, session) => line.Replace("#DomEyes", session.Domme.EyeColor) }, { "#DomHair", (line, session) => line.Replace("#DomHair", session.Domme.HairColor) }, { "#DomHairLength", (line, session) => line.Replace("#DomHairLength", session.Domme.HairLength.ToString()) }, { "#DomHonorific", (line, session) => line.Replace("#DomHonorific", session.Domme.Honorific) }, { "#DomLargeCockMin", (line, session) => line.Replace("#DomLargeCockMin", (session.Domme.CockBigLimit + 1).ToString()) }, { "#DomLevel", (line, session) => line.Replace("#DomLevel", session.Domme.DomLevel.ToString()) }, { "#DomMood", (line, session) => line.Replace("#DomMood", session.Domme.MoodLevel.ToString()) }, { "#DomMoodMax", (line, session) => line.Replace("#DomMoodMax", session.Domme.MoodHappy.ToString()) }, { "#DomMoodMin", (line, session) => line.Replace("#DomMoodMin", session.Domme.MoodAngry.ToString()) }, { "#DomName", (line, session) => line.Replace("#DomName", session.Domme.Name) }, { "#DomOrgasmRate", (line, session) => line.Replace("#DomOrgasmRate", "allow " + session.Domme.AllowsOrgasms.ToString().ToLower()) }, { "#DomRuinRate", (line, session) => line.Replace("#DomRuinRate", "ruin " + session.Domme.RuinsOrgasms.ToString().ToLower()) }, { "#DomSelfAgeMax", (line, session) => line.Replace("#DomSelfAgeMax", session.Domme.AgeOldLimit.ToString()) }, { "#DomSelfAgeMin", (line, session) => line.Replace("#DomSelfAgeMin", session.Domme.AgeYoungLimit.ToString()) }, { "#DomSmallCockMax", (line, session) => line.Replace("#DomSmallCockMax", (session.Domme.CockSmallLimit - 1).ToString()) }, { "#DomSubAgeMax", (line, session) => line.Replace("#DomSubAgeMax", session.Domme.SubAgeOldLimit.ToString()) }, { "#DomSubAgeMin", (line, session) => line.Replace("#DomSubAgeMin", session.Domme.SubAgeYoungLimit.ToString()) }, { "#GreetSub", (line, session) => line.Replace("#GreetSub", GetGreetingReplacement(DateTime.Now)) }, { "#EdgeTaunt", (line, session) => line.Replace("#EdgeTaunt", GetEdgeTaunt(session)) }, { "#PetName", GetPetName }, { "#SubName", (line, session) => line.Replace("#SubName", session.Sub.Name) }, { "#SubAge", (line, session) => line.Replace("#SubAge", session.Sub.Age.ToString()) }, { "#SubBirthdayMonth", (line, session) => line.Replace("#SubBirthdayMonth", session.Sub.Birthday.ToString("MMMM")) }, { "#SubBirthdayDay", (line, session) => line.Replace("#SubBirthdayDay", session.Sub.Birthday.Day.ToString()) }, { "#SubCockSize", (line, session) => line.Replace("#SubCockSize", session.Sub.CockSize.ToString()) }, { "#SubEyes", (line, session) => line.Replace("#SubEyes", session.Sub.EyeColor) }, { "#SubHair", (line, session) => line.Replace("#SubHair", session.Sub.HairColor) }, { "#SubWritingTaskMax", (line, session) => line.Replace("#SubWritingTaskMax", session.Sub.WritingTaskMax.ToString()) }, { "#SubWritingTaskMin", (line, session) => line.Replace("#SubWritingTaskMin", session.Sub.WritingTaskMin.ToString()) }, { "#ShortName", (line, session) => line.Replace("#ShortName", settings.Domme.GlitterContactName) }, { "#GlitterContact1", (line, session) => line.Replace("#GlitterContact1", session.Glitter[0].Name) }, { "#Contact1", (line, session) => line.Replace("#Contact1", session.Glitter[0].Name) }, { "#GlitterContact2", (line, session) => line.Replace("#GlitterContact2", session.Glitter[1].Name) }, { "#Contact2", (line, session) => line.Replace("#Contact2", session.Glitter[1].Name) }, { "#GlitterContact3", (line, session) => line.Replace("#GlitterContact3", session.Glitter[2].Name) }, { "#Contact3", (line, session) => line.Replace("#Contact3", session.Glitter[2].Name) }, { "#GlitterContact4", (line, session) => line.Replace("#GlitterContact4", session.Glitter[3].Name) }, { "#Contact4", (line, session) => line.Replace("#Contact4", session.Glitter[3].Name) }, //{ "#CBTCockCount", (line, session) => line.Replace("#CBTCockCount", session.CbtCockCount) }, //{ "#CBTBallsCount", (line, session) => line.Replace("#CBTBallsCount", session.CbtBallsCount) }, //{ "#OrgasmLockDate", (line, session) => session.Sub.IsOrgasmRestricted ? line.Replace("#OrgasmLockDate", "#CockToClit") :"#C**k" }, { "#C**k", (line, session) => line.Replace("#C**k", session.Sub.CallCockAClit ? "#CockToClit" :"#C**k") }, { "stroking", (line, session) => session.Sub.CallCockAClit ? line.Replace("stroking", "#StrokingToRubbing") :"stroking" }, { "#Balls", (line, session) => session.Sub.CallBallsAPussy ? line.Replace("#Balls", "#BallsToPussy") :"#Balls" }, { "those #Balls", (line, session) => session.Sub.CallBallsAPussy ? line.Replace("those #Balls", "that #BallsToPussy") :"those #Balls" }, { "#SessionEdges", (line, session) => line.Replace("#SessionEdges", session.Sub.EdgeCount.ToString()) }, // Not sure if this is torture level or how many times it's been done { "#SessionCBTCock", (line, session) => line.Replace("#SessionCBTCock", session.Sub.CockTortureLevel.ToString()) }, { "#SessionCBTBalls", (line, session) => line.Replace("#SessionCBTBalls", session.Sub.BallsTortureLevel.ToString()) }, { "#GeneralTime", (line, session) => line.Replace("#GeneralTime", GetGeneralTime(DateTime.Now)) }, { "#CurrentTime", (line, session) => line.Replace("#CurrentTime", DateTime.Now.ToString("h:mm")) }, { "#CurrentDay", (line, session) => line.Replace("#CurrentDay", DateTime.Now.ToString("dddd")) }, { "#CurrentMonth", (line, session) => line.Replace("#CurrentMonth", DateTime.Now.ToString("MMMMM")) }, { "#CurrentYear", (line, session) => line.Replace("#CurrentYear", DateTime.Now.ToString("yyyy")) }, { "#CurrentDate", (line, session) => line.Replace("#CurrentDate", DateTime.Now.ToShortDateString()) }, { "#RP_CaseNumber", (line, session) => line.Replace("#RP_CaseNumber", session.GameBoard.SelectedCases.LastOrDefault().ToString()) }, { "#RP_EdgeOffer", (line, session) => line.Replace("#RP_EdgeOffer", (session.GameBoard.Offer?.Edges).GetValueOrDefault().ToString()) }, { "#RP_TokenOffer", (line, session) => line.Replace("#RP_TokenOffer", (session.GameBoard.Offer?.Tokens).GetValueOrDefault().ToString()) }, { "#RP_RespondCase", (line, session) => line.Replace("#RP_RespondCase", session.GameBoard.LastSelectedCase?.ToString() ?? string.Empty) }, }; }
public SessionEngine(ISettingsAccessor settingsAccessor , IStringService stringService , IScriptAccessor scriptAccessor , ITimerFactory timerFactory , IFlagAccessor flagAccessor , IImageAccessor imageAccessor , IVideoAccessor videoAccessor , IVariableAccessor variableAccessor , ITauntAccessor tauntAccessor , ISystemVocabularyAccessor systemVocabularyAccessor , IVocabularyAccessor vocabularyAccessor , ILineCollectionFilter lineCollectionFilter , IRandomNumberService randomNumberService , IConfigurationAccessor configurationAccessor , INotifyUser notifyUser , IPathsAccessor pathsAccessor , IGetCommandProcessorsService getCommandProcessorsService , IInterpolationProcessor interpolationProcessor ) { CommandProcessors = getCommandProcessorsService.CreateCommandProcessors(); CommandProcessors[Keyword.StartStroking].CommandProcessed += StartStrokingCommandProcessed; CommandProcessors[Keyword.Edge].CommandProcessed += EdgeCommandProcessed; CommandProcessors[Keyword.End].CommandProcessed += EndCommandProcessed; CommandProcessors[Keyword.TauntFromFile].CommandProcessed += TauntFromFileCommandProcessed; CommandProcessors[Keyword.ShowImage].CommandProcessed += ShowImageCommandProcessed; CommandProcessors[Keyword.ShowButtImage].CommandProcessed += ShowImageCommandProcessed; CommandProcessors[Keyword.ShowBoobsImage].CommandProcessed += ShowImageCommandProcessed; CommandProcessors[Keyword.SearchImageBlog].CommandProcessed += ShowImageCommandProcessed; CommandProcessors[Keyword.ShowHardcoreImage].CommandProcessed += ShowImageCommandProcessed; CommandProcessors[Keyword.ShowSoftcoreImage].CommandProcessed += ShowImageCommandProcessed; CommandProcessors[Keyword.ShowLesbianImage].CommandProcessed += ShowImageCommandProcessed; CommandProcessors[Keyword.ShowBlowjobImage].CommandProcessed += ShowImageCommandProcessed; CommandProcessors[Keyword.ShowFemdomImage].CommandProcessed += ShowImageCommandProcessed; CommandProcessors[Keyword.ShowLezdomImage].CommandProcessed += ShowImageCommandProcessed; CommandProcessors[Keyword.ShowHentaiImage].CommandProcessed += ShowImageCommandProcessed; CommandProcessors[Keyword.ShowGayImage].CommandProcessed += ShowImageCommandProcessed; CommandProcessors[Keyword.ShowMaledomImage].CommandProcessed += ShowImageCommandProcessed; CommandProcessors[Keyword.ShowCaptionsImage].CommandProcessed += ShowImageCommandProcessed; CommandProcessors[Keyword.ShowGeneralImage].CommandProcessed += ShowImageCommandProcessed; CommandProcessors[Keyword.ShowLikedImage].CommandProcessed += ShowImageCommandProcessed; CommandProcessors[Keyword.ShowDislikedImage].CommandProcessed += ShowImageCommandProcessed; CommandProcessors[Keyword.ShowBlogImage].CommandProcessed += ShowImageCommandProcessed; CommandProcessors[Keyword.NewBlogImage].CommandProcessed += ShowImageCommandProcessed; CommandProcessors[Keyword.ShowLocalImage].CommandProcessed += ShowImageCommandProcessed; CommandProcessors[Keyword.PlayVideo].CommandProcessed += PlayVideoCommandProcessed; CommandProcessors[Keyword.PlayJoiVideo].CommandProcessed += PlayVideoCommandProcessed; CommandProcessors[Keyword.PlayCockHeroVideo].CommandProcessed += PlayVideoCommandProcessed; CommandProcessors[Keyword.PlayCensorshipSucks].CommandProcessed += PlayCensorshipSucksVideoTauntCommandProcessed; CommandProcessors[Keyword.PlayRedLightGreenLight].CommandProcessed += PlayRedLightGreenLightVideoTauntCommandProcessed; CommandProcessors[Keyword.StopVideo].CommandProcessed += StopVideoCommandProcessed; CommandProcessors[Keyword.PauseVideo].CommandProcessed += PauseVideoCommandProcessed; CommandProcessors[Keyword.UnpauseVideo].CommandProcessed += UnpauseVideoCommandProcessed; CommandProcessors[Keyword.ShowCensorshipBar].CommandProcessed += ShowCensorshipBarCommandProcessed; CommandProcessors[Keyword.HideCensorshipBar].CommandProcessed += HideCensorshipBarCommandProcessed; CommandProcessors[Keyword.SendDailyTasks].CommandProcessed += RequestTaskCommandProcessed; CommandProcessors[Keyword.VitalSubAssignment].CommandProcessed += VitalSubAssignmentCommandProcessed; MessageProcessors = CreateMessageProcessors(settingsAccessor, stringService, new LineService(), systemVocabularyAccessor, variableAccessor, new RandomNumberService()); MessageProcessors[MessageProcessor.ScriptResponse].MessageProcessed += ScriptResponse_MessageProcessed; MessageProcessors[MessageProcessor.EdgeDetection].MessageProcessed += EdgeDetection_MessageProcessed; CommandProcessors[Keyword.RiskyPickStart].CommandProcessed += RiskyPickStartCommandProcessed; CommandProcessors[Keyword.LikeImage].BeforeCommandProcessed += LikeImageCommandProcessed; _scriptAccessor = scriptAccessor; _variableAccessor = variableAccessor; _configurationAccessor = configurationAccessor; _scriptTimer = timerFactory.Create(); _scriptTimer.Elapsed += _scriptTimer_Elapsed; _tauntTimer = timerFactory.Create(); _tauntTimer.Elapsed += _tauntTimer_Elapsed; _teaseCountDown = timerFactory.Create(); _teaseCountDown.Elapsed += _teaseCountDown_Elapsed; _vocabularyProcesser = new VocabularyProcessor(lineCollectionFilter, new LineService(), vocabularyAccessor, imageAccessor, randomNumberService, settingsAccessor); _interpolationProcessor = interpolationProcessor; }