private void ApplyDoctorSelectingState(Client client) { client.Player.Muted = true; var story = new Story(Guid.NewGuid().ToString()); var segment = StoryBuilder.BuildStory(); StoryBuilder.AppendSaySegment(segment, "Night has fallen!", -1, 0, 0); StoryBuilder.AppendSaySegment(segment, "The doctor must now decide who to save.", -1, 0, 0); if (Data.ExtendPlayer(client).Role == UserRole.Doctor) { StoryBuilder.AppendSaySegment(segment, "You are the doctor. Make your decision with /wchoose.", -1, 0, 0); } StoryBuilder.AppendSaySegment(segment, "Everyone is muted while the doctor decides.", -1, 0, 0); if (IsRoleDead(UserRole.Doctor)) { StoryBuilder.AppendPauseAction(segment, 5000); } segment.AppendToStory(story); StoryManager.PlayStory(client, story); }
public void CreateStoryBoard() { _storyBoard = new StoryBoard(_scene); var storyList = new List <BaseStory>(); for (var i = 0; i < 10; i++) { var rect = _scene[$"Rect{i}"] as RectangleNode; var move = new Vec2Transformation <RectangleNode>(rect, "Position", TimeSpan.FromMilliseconds(40 + i * 10), DefaultEasers.EaseInOutCubic, true, new Vector2(rect.Position.X, 200)); storyList.Add(move); } for (var i = 9; i >= 0; i--) { var rect = _scene[$"Rect{i}"] as RectangleNode; var move = new Vec2Transformation <RectangleNode>(rect, "Position", TimeSpan.FromMilliseconds(40 + (10 - i) * 10), DefaultEasers.EaseInOutCubic, true, new Vector2(rect.Position.X, rect.Position.Y)); storyList.Add(move); } _storyBoard["MoveAll"] = StoryBuilder.Sequential(storyList.ToArray()); }
public static void ScriptedKeyItem(Client client, KeyItem keyItem, int slot) { switch (keyItem.ItemID) { case 1839: // Costume box { Messenger.SendAvailableCostumes(client); } break; case 1842: // Drif-Flute { if (client.Player.Map.Indoors || client.Player.Map.MapType != Enums.MapType.Standard) { var story = new Story(); var segment = StoryBuilder.BuildStory(); StoryBuilder.AppendSaySegment(segment, "It's probably a bad idea to use that here.", client.Player.GetActiveRecruit().Species, 0, 0); segment.AppendToStory(story); StoryManager.PlayStory(client, story); return; } if (client.Player.OutlawRole == Enums.OutlawRole.Outlaw && IsOutlawPlayerInRange(client, 30, Enums.OutlawRole.Hunter)) { Messenger.StoryMessage(client, "It's not safe to use that now! A hunter is nearby!"); return; } Messenger.SendAvailableFlyPoints(client); } break; } }
public static void AppendLeaderboardEventIntro(StoryBuilderSegment segment) { StoryBuilder.AppendSpeechBubbleSegment(segment, 0, "Lets start the first portion of the Gala..."); StoryBuilder.AppendSpeechBubbleSegment(segment, 0, "We'll be checking the leaderboards and handing out prizes."); StoryBuilder.AppendSpeechBubbleSegment(segment, 0, "First place in each category will receive 3 Arcade Tokens."); StoryBuilder.AppendSpeechBubbleSegment(segment, 0, "Second will receive 2 Arcade Tokens."); StoryBuilder.AppendSpeechBubbleSegment(segment, 0, "Third will receive 1 Arcade Token."); foreach (var leaderboard in LeaderBoardManager.ListLeaderboards()) { var leaderboardItems = leaderboard.Load().OrderByDescending(x => x.Value).ToList(); StoryBuilder.AppendSpeechBubbleSegment(segment, 0, $"In the {leaderboard.Name} category..."); if (leaderboardItems.Count > 0) { StoryBuilder.AppendSpeechBubbleSegment(segment, 0, $"First place goes to {leaderboardItems[0].Name}!"); } if (leaderboardItems.Count > 1) { StoryBuilder.AppendSpeechBubbleSegment(segment, 0, $"Second place goes to {leaderboardItems[1].Name}!"); } if (leaderboardItems.Count > 2) { StoryBuilder.AppendSpeechBubbleSegment(segment, 0, $"Third place goes to {leaderboardItems[2].Name}!"); } } StoryBuilder.AppendSpeechBubbleSegment(segment, 0, "That's every category!"); }
public static void AppendOutlawEventIntro(StoryBuilderSegment segment) { StoryBuilder.AppendSpeechBubbleSegment(segment, 0, "Next, lets see who the top outlaws are this week!"); StoryBuilder.AppendSpeechBubbleSegment(segment, 0, "The top outlaw will receive 10 Arcade tokens."); StoryBuilder.AppendSpeechBubbleSegment(segment, 0, "Second place will receive 5 Arcade Tokens."); StoryBuilder.AppendSpeechBubbleSegment(segment, 0, "Third will receive 3 Arcade Tokens."); using (var databaseConnection = new DatabaseConnection(DatabaseID.Players)) { var topOutlaws = PlayerDataManager.GetTopOutlaws(databaseConnection.Database).OrderByDescending(x => x.Points).Take(3).ToList(); if (topOutlaws.Count > 0) { StoryBuilder.AppendSpeechBubbleSegment(segment, 0, $"The top outlaw this week is {topOutlaws[0].CharacterName} with {topOutlaws[0].Points} OP!"); } if (topOutlaws.Count > 1) { StoryBuilder.AppendSpeechBubbleSegment(segment, 0, $"In second place is {topOutlaws[1].CharacterName} with {topOutlaws[1].Points} OP!"); } if (topOutlaws.Count > 2) { StoryBuilder.AppendSpeechBubbleSegment(segment, 0, $"Lastly, in third place is {topOutlaws[2].CharacterName} with {topOutlaws[2].Points} OP!"); } } }
private void ApplyVillagerSelectingState(Client client) { var chosenUser = ClientManager.FindClientFromCharID(Data.WerewolfKilledUser); var story = new Story(Guid.NewGuid().ToString()); var segment = StoryBuilder.BuildStory(); StoryBuilder.AppendSaySegment(segment, "Daytime has arrived!", -1, 0, 0); StoryBuilder.AppendSaySegment(segment, "While you slept, werewolves attacked.", -1, 0, 0); if (!Data.ExtendPlayer(Data.WerewolfKilledUser).IsDead) { StoryBuilder.AppendSaySegment(segment, "...however, the doctor protected the village, and no one was hurt!", -1, 0, 0); } else { if (chosenUser == null) { StoryBuilder.AppendSaySegment(segment, $"Character {Data.WerewolfKilledUser} was killed. They logged off in fear.", -1, 0, 0); } else { StoryBuilder.AppendSaySegment(segment, $"{chosenUser.Player.DisplayName} was killed in the attack. They were a {Data.ExtendPlayer(chosenUser).Role}!", -1, 0, 0); } } StoryBuilder.AppendSaySegment(segment, "Now, you must stop the werewolves!", -1, 0, 0); StoryBuilder.AppendSaySegment(segment, "Who will be killed? Make your decision with /wchoose.", -1, 0, 0); StoryBuilder.AppendSaySegment(segment, "None shall rest until a majority decision is made.", -1, 0, 0); segment.AppendToStory(story); StoryManager.PlayStory(client, story); }
public static void StartEvent() { if (ActiveEvent == null) { return; } foreach (var registeredClient in EventManager.GetRegisteredClients()) { Story story = new Story(Guid.NewGuid().ToString()); StoryBuilderSegment segment = StoryBuilder.BuildStory(); StoryBuilder.AppendSaySegment(segment, $"This event is... {ActiveEvent.Name}!", -1, 0, 0); StoryBuilder.AppendSaySegment(segment, ActiveEvent.IntroductionMessage, -1, 0, 0); foreach (var rule in ActiveEvent.Rules) { StoryBuilder.AppendSaySegment(segment, rule, -1, 0, 0); } if (ActiveEvent.Duration.HasValue) { StoryBuilder.AppendSaySegment(segment, $"The event will end in {ActiveEvent.Duration.Value.TotalMinutes} minutes.", -1, 0, 0); } if (Main.IsTestingEvent) { StoryBuilder.AppendSaySegment(segment, $"This event is currently being tested and winners will not receive any prizes.", -1, 0, 0); } else if (!string.IsNullOrEmpty(ActiveEvent.RewardMessage)) { StoryBuilder.AppendSaySegment(segment, ActiveEvent.RewardMessage, -1, 0, 0); } StoryBuilder.AppendSaySegment(segment, "The event has now begun!", -1, 0, 0); segment.AppendToStory(story); StoryManager.PlayStory(registeredClient, story); } ActiveEvent.Start(); var eventStartMessage = new StringBuilder(); if (Main.IsTestingEvent) { eventStartMessage.Append("[Testing] "); } eventStartMessage.Append($"{ActiveEvent.Name} has started!"); Task.Run(() => DiscordManager.Instance.SendAnnouncement(eventStartMessage.ToString())); Messenger.SendAnnouncement("Weekly Event", eventStartMessage.ToString()); if (ActiveEvent.Duration.HasValue) { var endTime = DateTime.UtcNow.Add(ActiveEvent.Duration.Value); SetGlobalCountdown(new Countdown("The event ends in...", endTime)); TimedEventManager.CreateTimer("endevent", endTime, null); } }
public void StoryMessage(Client client, string message) { var story = new Story(Guid.NewGuid().ToString()); var segment = StoryBuilder.BuildStory(); StoryBuilder.AppendSaySegment(segment, message, -1, 0, 0); segment.AppendToStory(story); StoryManager.PlayStory(client, story); }
public void SequentialTasksExecuteOneAfterAnother() { //Arrange var task1 = new DummyStory(TicksToDuration(1)); var task2 = new DummyStory(TicksToDuration(1)); var groupTask = StoryBuilder.Sequential(task1, task2); //Todo }
public void ParallelTasksExecuteAtTheSameTime() { //Arrange var task1 = new DummyStory(TicksToDuration(1)); var task2 = new DummyStory(TicksToDuration(1)); var groupTask = StoryBuilder.Parallel(task1, task2); //Todo }
private void ExecuteTurn(string selectionCharId) { Data.ExtendPlayer(selectionCharId).IsDead = true; foreach (var eventClient in GetRegisteredClients()) { Data.ExtendPlayer(eventClient).SelectedCharId = null; } var chosenUser = ClientManager.FindClientFromCharID(selectionCharId); var werewolfCount = GetRoleClients(UserRole.Werewolf).Count(); var aliveVillagersCount = GetRegisteredClients().Where(x => Data.ExtendPlayer(x).Role != UserRole.Werewolf).Where(x => !Data.ExtendPlayer(x).IsDead).Count(); var gameOver = false; foreach (var eventClient in GetRegisteredClients()) { var story = new Story(Guid.NewGuid().ToString()); var segment = StoryBuilder.BuildStory(); StoryBuilder.AppendSaySegment(segment, "A decision has been made!", -1, 0, 0); if (chosenUser == null) { StoryBuilder.AppendSaySegment(segment, $"Character {selectionCharId} was killed. They logged off in fear.", -1, 0, 0); } else { StoryBuilder.AppendSaySegment(segment, $"{chosenUser.Player.DisplayName} was hanged! They were a {Data.ExtendPlayer(chosenUser).Role}!", -1, 0, 0); } if (werewolfCount == 0) { StoryBuilder.AppendSaySegment(segment, $"The villagers win! All the werewolves have been killed!", -1, 0, 0); gameOver = true; } else if (werewolfCount >= aliveVillagersCount) { StoryBuilder.AppendSaySegment(segment, $"The werewolves win!", -1, 0, 0); gameOver = true; } segment.AppendToStory(story); StoryManager.PlayStory(eventClient, story); } if (!gameOver) { Transition(GameState.WerewolfSelecting); } else { Main.EndEvent(); } }
private void ApplyWerewolfSelectingState(Client client) { client.Player.Muted = true; var story = new Story(Guid.NewGuid().ToString()); var segment = StoryBuilder.BuildStory(); StoryBuilder.AppendSaySegment(segment, "Night has fallen!", -1, 0, 0); switch (Data.ExtendPlayer(client).Role) { case UserRole.Werewolf: { foreach (var eventClient in GetRoleClients(UserRole.Werewolf)) { StoryBuilder.AppendSaySegment(segment, $"{eventClient.Player.DisplayName} is a werewolf!", -1, 0, 0); } StoryBuilder.AppendSaySegment(segment, $"Choose a player to eat with /wchoose", -1, 0, 0); } break; case UserRole.Seer: { StoryBuilder.AppendSaySegment(segment, "You are a seer.", -1, 0, 0); StoryBuilder.AppendSaySegment(segment, "Every night you will choose one player and learn about what they are.", -1, 0, 0); } break; case UserRole.Doctor: { StoryBuilder.AppendSaySegment(segment, "You are a doctor.", -1, 0, 0); StoryBuilder.AppendSaySegment(segment, "Every night you will choose one player to protect from the werewolves.", -1, 0, 0); } break; case UserRole.Villager: { StoryBuilder.AppendSaySegment(segment, "You are a villager.", -1, 0, 0); StoryBuilder.AppendSaySegment(segment, "Try not to get eaten!", -1, 0, 0); } break; } StoryBuilder.AppendSaySegment(segment, "Everyone is muted while werewolves decide.", -1, 0, 0); segment.AppendToStory(story); StoryManager.PlayStory(client, story); }
/// <summary> /// Get next conversation /// </summary> /// <param name="gameState"></param> /// <returns></returns> private IConversation GetConversation(IGameState gameState) { foreach (ConversationCode code in _conversations) { IConversation fetched = StoryBuilder.GetConversation(code); if (fetched != null) { if (fetched.CanBeRead(gameState)) { NewConversation = true; return(fetched); } } } return(null); }
public void ReturnStoriesWithLanguage() { Story storyEs = new StoryBuilder().WithLanguage(Languages.es).WithContent("dummy"); Story storyEn = new StoryBuilder().WithLanguage(Languages.en).WithContent("dummy"); FakeDbSet <Story> storyDbSet = new FakeDbSet <Story>() { storyEs, storyEn }; Mock <FakeDatabase> database = FakeDatabase.CreateMockOfFakeDatabase(storyDbSet); StoryRepository.StoryRepository storyRepository = this.GivenAStoryRepositoryWithDatabase(database.Object); IEnumerable <Story> stories = storyRepository.GetWithText("dummy", "en", new Pagination(1, 10), new StoryOrderByDate()).ToList(); Assert.AreEqual(1, stories.Count()); Assert.AreEqual(storyEn, stories.FirstOrDefault()); }
public void ReturnStoriesWithTextInTitle() { Story storyTitle1 = new StoryBuilder().WithTitle("Title 1"); Story storyTitle2 = new StoryBuilder().WithTitle("Title 2"); FakeDbSet <Story> storyDbSet = new FakeDbSet <Story>() { storyTitle1, storyTitle2 }; Mock <FakeDatabase> database = FakeDatabase.CreateMockOfFakeDatabase(storyDbSet); StoryRepository.StoryRepository storyRepository = this.GivenAStoryRepositoryWithDatabase(database.Object); IEnumerable <Story> stories = storyRepository.GetWithText("Title 1", null, new Pagination(1, 10), new StoryOrderByDate()).ToList(); Assert.AreEqual(1, stories.Count()); Assert.AreEqual(storyTitle1, stories.FirstOrDefault()); }
public static void EndEvent() { ActiveEvent.End(); Task.Run(() => DiscordManager.Instance.SendAnnouncement($"{ActiveEvent.Name} has finished!")); Messenger.GlobalMsg($"{ActiveEvent.Name} has finished!", Text.BrightGreen); foreach (var registeredClient in EventManager.GetRegisteredClients()) { ActiveEvent.DeconfigurePlayer(registeredClient); Story story = new Story(Guid.NewGuid().ToString()); StoryBuilderSegment segment = StoryBuilder.BuildStory(); StoryBuilder.AppendSaySegment(segment, $"The event is now finished!", -1, 0, 0); StoryBuilder.AppendSaySegment(segment, $"Please wait as a winner is announced...", -1, 0, 0); segment.AppendToStory(story); StoryManager.PlayStory(registeredClient, story); } }
public void ReturnLastestStoriesWithLanguage() { Story yesterdayStory = new StoryBuilder().WithPublishDate(DateTime.Now.AddDays(-1)); Story todayStory = new StoryBuilder().WithPublishDate(DateTime.Now); Story dayBeforeYesterdayStory = new StoryBuilder().WithPublishDate(DateTime.Now.AddDays(-2)); Story storyWithDifferentLanguage = new StoryBuilder().WithLanguage(Languages.en).WithPublishDate(DateTime.Now); FakeDbSet <Story> storyDbSet = new FakeDbSet <Story>() { dayBeforeYesterdayStory, todayStory, yesterdayStory }; Mock <FakeDatabase> database = FakeDatabase.CreateMockOfFakeDatabase(storyDbSet); StoryRepository.StoryRepository storyRepository = this.GivenAStoryRepositoryWithDatabase(database.Object); IList <Story> stories = storyRepository.GetLastestStories(null, new Pagination(1, 10)).ToList(); Assert.AreEqual(3, stories.Count()); Assert.AreEqual(todayStory, stories[0]); Assert.AreEqual(yesterdayStory, stories[1]); Assert.AreEqual(dayBeforeYesterdayStory, stories[2]); }
public static Story BuildEventIntroForSpring() { Story story = new Story(Guid.NewGuid().ToString()); StoryBuilderSegment segment = StoryBuilder.BuildStory(); StoryBuilder.AppendCreateFNPCAction(segment, "0", "s153", 24, 6, 169, name: "Eventful", direction: Enums.Direction.Down, isShiny: true); StoryBuilder.AppendSpeechBubbleSegment(segment, 0, "Greetings!"); StoryBuilder.AppendSpeechBubbleSegment(segment, 0, "Welcome to our Weekly Gala!"); StoryBuilder.AppendSpeechBubbleSegment(segment, 0, "The Gala has three parts."); StoryBuilder.AppendSpeechBubbleSegment(segment, 0, "For the first part, I will be handing out Arcade Tokens for the leaderboard."); StoryBuilder.AppendSpeechBubbleSegment(segment, 0, "Then, I will be giving out Arcade Tokens for the top outlaws!"); StoryBuilder.AppendSpeechBubbleSegment(segment, 0, "Finally, we will be having our weekly event!"); StoryBuilder.AppendSpeechBubbleSegment(segment, 0, $"The event this week will be {ActiveEvent.Name}."); AppendLeaderboardEventIntro(segment); AppendOutlawEventIntro(segment); StoryBuilder.AppendSpeechBubbleSegment(segment, 0, $"Time for the event!"); StoryBuilder.AppendSpeechBubbleSegment(segment, 0, $"Enjoy {ActiveEvent.Name}!"); segment.AppendToStory(story); return(story); }
public static Story CreateIntroStory(Client client) { Story story = new Story(); StoryBuilderSegment segment = new StoryBuilderSegment(); Pokemon eevee = Pokedex.FindByName("Eevee"); string map1ID = Main.Crossroads; StoryBuilder.AppendMapVisibilityAction(segment, false); StoryBuilder.AppendPlayerPadlockAction(segment, "Lock"); StoryBuilder.AppendWarpAction(segment, map1ID, 25, 25); StoryBuilder.AppendPlayMusicAction(segment, "PMD2) Strange Happenings.mp3", true, true); StoryBuilder.AppendSaySegment(segment, "You step into the light of the crystal...", -1, 0, 0); StoryBuilder.AppendSaySegment(segment, "You feel its energy going through your body...", -1, 0, 0); StoryBuilder.AppendSaySegment(segment, "Dizzy... are you moving?", -1, 0, 0); StoryBuilder.AppendSaySegment(segment, "You feel a cool breeze... maybe, just maybe...", -1, 0, 0); StoryBuilder.AppendSaySegment(segment, "You slowly open your eyes...", -1, 0, 0); StoryBuilder.AppendPauseAction(segment, 1000); StoryBuilder.AppendPlayMusicAction(segment, "%mapmusic%", true, true); StoryBuilder.AppendSaySegment(segment, "Hey! You!", -1, 0, 0); StoryBuilder.AppendSaySegment(segment, "Are you okay?", -1, 0, 0); StoryBuilder.AppendCreateFNPCAction(segment, "0", map1ID, 25, 23, eevee.ID); StoryBuilder.AppendChangeFNPCDirAction(segment, "0", Server.Enums.Direction.Down); StoryBuilder.AppendMapVisibilityAction(segment, true); StoryBuilder.AppendSaySegment(segment, "Oh, good! You're awake!", eevee.ID, 0, 0); StoryBuilder.AppendSaySegment(segment, "You've been laying there for a while now. Are you okay? Are you hurt?", eevee.ID, 0, 0); StoryBuilder.AppendSaySegment(segment, "(An eevee is talking to me...)", -1, 0, 0); StoryBuilder.AppendSaySegment(segment, "Oh, well. The important thing is that you are awake now!", eevee.ID, 0, 0); StoryBuilder.AppendSaySegment(segment, "So, where are you from? I haven't seen you in these parts before.", eevee.ID, 0, 0); StoryBuilder.AppendSaySegment(segment, "(Hmm... Where am I from? I don't remember a thing)", -1, 0, 0); StoryBuilder.AppendPauseAction(segment, 1000); StoryBuilder.AppendSaySegment(segment, "Oh, you don't remember? Strange. Anyway, you're probably wondering who I am...", eevee.ID, 0, 0); StoryBuilder.AppendSaySegment(segment, "...I am the great Eevocious! Master of evolutions and battle!", eevee.ID, 0, 0); StoryBuilder.AppendSaySegment(segment, "(Eevocious, huh... what an odd name. But, alright. Eevocious it is.)", -1, 0, 0); StoryBuilder.AppendPauseAction(segment, 2000); StoryBuilder.AppendSaySegment(segment, "...I bet I fooled you, didn't I.", eevee.ID, 0, 0); StoryBuilder.AppendSaySegment(segment, "And you actually thought I was Eevocious!", eevee.ID, 0, 0); StoryBuilder.AppendSaySegment(segment, "Yeah, I'm sorry. It's just hard to resist. A new Pokemon just appearing out of no where gives me a chance to be whomever I want to be!", eevee.ID, 0, 0); StoryBuilder.AppendSaySegment(segment, "(Very funny)", -1, 0, 0); StoryBuilder.AppendSaySegment(segment, "Anyway, my real name is Eevee. I'm an explorer. Or, I want to become an explorer. See...", eevee.ID, 0, 0); StoryBuilder.AppendSaySegment(segment, "I can't become a true explorer until I prove that I am capable of handling the toughest situations. That's why I'm training to be able to get through Tiny Grotto!", eevee.ID, 0, 0); StoryBuilder.AppendSaySegment(segment, "(Tiny Grotto?)", -1, 0, 0); StoryBuilder.AppendSaySegment(segment, "You're probably wondering what Tiny Grotto even is! I'll explain.", eevee.ID, 0, 0); StoryBuilder.AppendSaySegment(segment, "It's a dungeon. It's not the hardest dungeon, but it's good practice. Yup, so I'm going to Tiny Grotto!", eevee.ID, 0, 0); StoryBuilder.AppendSaySegment(segment, "(Oh look, Eevee is leaving me.)", -1, 0, 0); StoryBuilder.AppendSaySegment(segment, "Bye~!", eevee.ID, 0, 0); StoryBuilder.AppendMoveFNPCAction(segment, "0", 1, 24, Server.Enums.Speed.Walking, true); StoryBuilder.AppendDeleteFNPCAction(segment, "0"); StoryBuilder.AppendSaySegment(segment, "(Now what do I do next? I know I can't go to Tiny Grotto... I don't even know how to battle!)", -1, 0, 0); StoryBuilder.AppendSaySegment(segment, "(Maybe I'll find out more if I continue going North (^))", -1, 0, 0); StoryBuilder.AppendPlayerPadlockAction(segment, "Unlock"); if (client.Player.Veteran) { StoryBuilder.AppendPlayerPadlockAction(segment, "Lock"); StoryBuilder.AppendPauseAction(segment, 2000); StoryBuilder.AppendSaySegment(segment, "PMU Staff: You weren't expecting all this, now were you?", -1, 0, 0); StoryBuilder.AppendSaySegment(segment, "PMU Staff: Have fun exploring!", -1, 0, 0); StoryBuilder.AppendPlayerPadlockAction(segment, "Unlock"); } #region old //StoryBuilder.AppendMapVisibilityAction(segment, false); //StoryBuilder.AppendSaySegment(segment, "Hey! You!", -1, 0, 0); //StoryBuilder.AppendSaySegment(segment, "Are you okay?", -1, 0, 0); //StoryBuilder.AppendCreateFNPCAction(segment, "0", map1ID, 10, 6, eevee.Sprite); //StoryBuilder.AppendMapVisibilityAction(segment, true); //StoryBuilder.AppendSaySegment(segment, "Oh, good! You're awake!", eevee.Mugshot, 0, 0); //StoryBuilder.AppendSaySegment(segment, "You've been laying there for a while now. Are you okay? Are you hurt?", eevee.Mugshot, 0, 0); //StoryBuilder.AppendSaySegment(segment, "(An eevee is talking to me...)", -1, 0, 0); //StoryBuilder.AppendSaySegment(segment, "You're probably wondering what Tiny Woods even is! I'll explain.", eevee.Mugshot , 0, 0); //StoryBuilder.AppendSaySegment(segment, "It's a dungeon. It's not the hardest dungeon, but it's good practice. Yup, so I'm going to Tiny Woods!", eevee.Mugshot, 0, 0); //StoryBuilder.AppendSaySegment(segment, "(Oh look, Eevee is leaving me. Fun.", -1, 0, 0); //StoryBuilder.AppendSaySegment(segment, "Bye~!", eevee.Mugshot , 0, 0); //StoryBuilder.AppendMoveFNPCAction(segment, "0", 0, 7, Server.Enums.Speed.Walking, true); //StoryBuilder.AppendDeleteFNPCAction(segment, "0"); //StoryBuilder.AppendSaySegment(segment, "(Now what do I do next? I know I can't go to Tiny Woods... I don't even know how to battle!", -1, 0, 0); //StoryBuilder.AppendSaySegment(segment, "(Maybe I'll find out more if I continue going North (^))", -1, 0, 0); //StoryBuilder.AppendPlayerPadlockAction(segment, "Unlock"); #endregion segment.AppendToStory(story); return(story); }