Exemplo n.º 1
0
 public void UpdateStorySegments()
 {
     Segments = new StorySegment[MaxSegments + 1];
 }
Exemplo n.º 2
0
 public void UpdateStorySegments()
 {
     Segments = new StorySegment[MaxSegments + 1];
 }
Exemplo n.º 3
0
        public static Stories.V3.StorySegment ConvertSegment(Stories.V2.StorySegment segment)
        {
            Stories.V3.StorySegment newSegment = new Stories.V3.StorySegment();
            //bool paramsNeeded = true; ;
            switch (segment.Action)
            {
            case Stories.V2.StorySegment.StoryAction.SaySlow: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.Say;

                newSegment.Parameters.Add("Text", segment.Data1);
                newSegment.Parameters.Add("Mugshot", segment.Data3);
                newSegment.Parameters.Add("Speed", segment.Data2);
                newSegment.Parameters.Add("PauseLocation", segment.Data4);
            }
            break;

            case Stories.V2.StorySegment.StoryAction.Say: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.Say;

                newSegment.AddParameter("Text", segment.Data1);
                newSegment.AddParameter("Mugshot", segment.Data3);
                newSegment.Parameters.Add("Speed", "0");
                newSegment.Parameters.Add("PauseLocation", "0");
            }
            break;

            case Stories.V2.StorySegment.StoryAction.Pause: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.Pause;

                newSegment.AddParameter("Length", segment.Data1);
            }
            break;

            case Stories.V2.StorySegment.StoryAction.HideMap: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.MapVisibility;

                newSegment.Parameters.Add("Visible", "False");
            }
            break;

            case Stories.V2.StorySegment.StoryAction.ShowMap: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.MapVisibility;

                newSegment.Parameters.Add("Visible", "True");
            }
            break;

            case Stories.V2.StorySegment.StoryAction.Unlock: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.Padlock;

                newSegment.AddParameter("State", "Unlock");
            }
            break;

            case Stories.V2.StorySegment.StoryAction.Lock: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.Padlock;

                newSegment.AddParameter("State", "Lock");
            }
            break;

            case Stories.V2.StorySegment.StoryAction.PlayMusic: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.PlayMusic;

                newSegment.AddParameter("File", segment.Data1);
                newSegment.AddParameter("HonorSettings", segment.Data2);
                newSegment.AddParameter("Loop", segment.Data3);
            }
            break;

            case Stories.V2.StorySegment.StoryAction.StopMusic: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.StopMusic;
            }
            break;

            case Stories.V2.StorySegment.StoryAction.ShowImage: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.ShowImage;

                newSegment.AddParameter("File", segment.Data1);
                newSegment.AddParameter("ImageID", segment.Data4);
                newSegment.AddParameter("X", segment.Data2);
                newSegment.AddParameter("Y", segment.Data3);
            }
            break;

            case Stories.V2.StorySegment.StoryAction.HideImage: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.HideImage;

                newSegment.AddParameter("ImageID", segment.Data1);
            }
            break;

            case Stories.V2.StorySegment.StoryAction.WarpToMap: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.Warp;

                newSegment.AddParameter("MapID", "s" + segment.Data1);
                newSegment.AddParameter("X", segment.Data2);
                newSegment.AddParameter("Y", segment.Data3);
            }
            break;

            case Stories.V2.StorySegment.StoryAction.LockPlayer: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.PlayerPadlock;

                newSegment.AddParameter("MovementState", "Lock");
            }
            break;

            case Stories.V2.StorySegment.StoryAction.UnlockPlayer: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.PlayerPadlock;

                newSegment.AddParameter("MovementState", "Unlock");
            }
            break;

            case Stories.V2.StorySegment.StoryAction.ShowBackground: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.ShowBackground;

                newSegment.AddParameter("File", segment.Data1);
            }
            break;

            case Stories.V2.StorySegment.StoryAction.HideBackground: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.HideBackground;
            }
            break;

            case Stories.V2.StorySegment.StoryAction.CreateNPC: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.CreateFNPC;

                newSegment.AddParameter("ID", segment.Data1);
                newSegment.AddParameter("ParentMapID", segment.Data2);
                newSegment.AddParameter("X", segment.Data3);
                newSegment.AddParameter("Y", segment.Data4);
                newSegment.AddParameter("Sprite", segment.Data5);
            }
            break;

            case Stories.V2.StorySegment.StoryAction.MoveNPC: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.MoveFNPC;

                newSegment.AddParameter("ID", segment.Data1);
                newSegment.AddParameter("X", segment.Data2);
                newSegment.AddParameter("Y", segment.Data3);
                newSegment.AddParameter("Speed", segment.Data4);
                newSegment.AddParameter("Pause", segment.Data5);
            }
            break;

            case Stories.V2.StorySegment.StoryAction.MoveNPCQuick: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.WarpFNPC;

                newSegment.AddParameter("ID", segment.Data1);
                newSegment.AddParameter("X", segment.Data2);
                newSegment.AddParameter("Y", segment.Data3);
            }
            break;

            case Stories.V2.StorySegment.StoryAction.ChangeNPCDir: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.ChangeFNPCDir;

                newSegment.AddParameter("ID", segment.Data1);
                newSegment.AddParameter("Direction", segment.Data2);
            }
            break;

            case Stories.V2.StorySegment.StoryAction.DeleteNPC: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.DeleteFNPC;

                newSegment.AddParameter("ID", segment.Data1);
            }
            break;

            case Stories.V2.StorySegment.StoryAction.StoryScript: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.RunScript;

                newSegment.AddParameter("ScriptIndex", segment.Data1);
                newSegment.AddParameter("Pause", segment.Data2);
            }
            break;

            case Stories.V2.StorySegment.StoryAction.HidePlayers: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.HidePlayers;
            }
            break;

            case Stories.V2.StorySegment.StoryAction.ShowPlayers: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.ShowPlayers;
            }
            break;

            case Stories.V2.StorySegment.StoryAction.NPCEmotion: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.FNPCEmotion;

                newSegment.AddParameter("ID", segment.Data1);
                newSegment.AddParameter("Emotion", segment.Data2);
            }
            break;

            case Stories.V2.StorySegment.StoryAction.Weather: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.ChangeWeather;

                newSegment.AddParameter("Weather", segment.Data1);
            }
            break;

            case Stories.V2.StorySegment.StoryAction.HideNPCs: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.HideNPCs;
            }
            break;

            case Stories.V2.StorySegment.StoryAction.ShowNPCs: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.ShowNPCs;
            }
            break;

            case Stories.V2.StorySegment.StoryAction.WaitForMap: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.WaitForMap;

                newSegment.AddParameter("MapID", segment.Data1);
            }
            break;

            case Stories.V2.StorySegment.StoryAction.WaitForLoc: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.WaitForLoc;

                newSegment.AddParameter("MapID", segment.Data1);
                newSegment.AddParameter("X", segment.Data2);
                newSegment.AddParameter("Y", segment.Data3);
            }
            break;

            case Stories.V2.StorySegment.StoryAction.AskQuestion: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.AskQuestion;

                newSegment.AddParameter("Question", segment.Data1);
                newSegment.AddParameter("SegmentOnYes", segment.Data2);
                newSegment.AddParameter("SegmentOnNo", segment.Data3);
                newSegment.AddParameter("Mugshot", segment.Data5);         // I used Data5 instead of Data4 in the old system, for some reason...
            }
            break;

            case Stories.V2.StorySegment.StoryAction.GoToSegment: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.GoToSegment;

                newSegment.AddParameter("Segment", segment.Data1);
            }
            break;

            case Stories.V2.StorySegment.StoryAction.ScrollCamera: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.ScrollCamera;

                newSegment.AddParameter("X", segment.Data1);
                newSegment.AddParameter("Y", segment.Data2);
                newSegment.AddParameter("Speed", segment.Data3);
                newSegment.AddParameter("Pause", segment.Data4);
            }
            break;

            case Stories.V2.StorySegment.StoryAction.ResetCamera: {
                newSegment.Action = Stories.V3.StorySegment.StoryAction.ResetCamera;
            }
            break;
            }
            return(newSegment);
        }