protected override void Init() { Add(new TimeTask(.05f, new IdleState(_toManage))); Task activateStoryIntroPartOne = (new Task(new MoveThenDoState(_toManage, new Vector3(14f, Y_COORDINATE, .3f), new MarkTaskDone(_toManage)))); activateStoryIntroPartOne.AddFlagToSet(FlagStrings.oldSiblingIntroStoryOnePartOneFlag); Add(activateStoryIntroPartOne); Add(new TimeTask(3.5f, new IdleState(_toManage))); Add(new Task(new MoveThenDoState(_toManage, new Vector3(24f, Y_COORDINATE, .3f), new MarkTaskDone(_toManage)))); //Task activateStoryIntroPartTwo = (new Task(new MoveThenDoState(_toManage, new Vector3(22f, Y_COORDINATE, .3f), new MarkTaskDone(_toManage)))); //activateStoryIntroPartTwo.AddFlagToSet(FlagStrings.oldSiblingIntroStoryOnePartTwoFlag); //Add(activateStoryIntroPartTwo); //Add(new TimeTask(3f, new IdleState(_toManage))); Add(new TimeTask(10f, new WaitTillPlayerCloseState(_toManage, ref _toManage.player,2f))); Add(new Task(new MoveThenDoState(_toManage, new Vector3(30f, Y_COORDINATE, .3f), new MarkTaskDone(_toManage)))); Task siblingOldReachedCarpenterSonTask = new TimeTask(.05f, new IdleState(_toManage)); // at top staircase siblingOldReachedCarpenterSonTask.AddFlagToSet(FlagStrings.siblingOldReachedCarpenterSonFlag); Add(siblingOldReachedCarpenterSonTask); Add(new TimeTask(12.5f, new IdleState(_toManage))); Task siblingChatWithCarpenterPartOne = new Task(new MoveThenDoState(_toManage, new Vector3 (32f, Y_COORDINATE, .3f), new MarkTaskDone(_toManage))); // at top staircase siblingChatWithCarpenterPartOne.AddFlagToSet(FlagStrings.siblingOldGreetCarpenterSonOldPartOneFlag); Add(siblingChatWithCarpenterPartOne); Add(new TimeTask(6f, new IdleState(_toManage))); }
protected override void SetUpSchedules() { BeginDayChat = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.CarpenterYoung), new YoungCarpenterSonToCarpenterConvo()); BeginDayChat.SetCanInteract(false); BeginDayWithDad = new Schedule(this, Schedule.priorityEnum.DoNow); TimeTask BeginDayTimeTask = new TimeTask(10, new WaitTillPlayerCloseState(this, ref player)); BeginDayTimeTask.AddFlagToSet(FlagStrings.carpenterSonYoungConvoWithDadFinished); BeginDayWithDad.Add(BeginDayTimeTask); this.AddSchedule(BeginDayWithDad); this.AddSchedule(BeginDayChat); TalkWithCastleman = new Schedule (this, Schedule.priorityEnum.High); TalkWithCastleman.Add(new TimeTask(300, new WaitTillPlayerCloseState(this, ref player))); Task setFlag = (new TimeTask(2f, new IdleState(this))); setFlag.AddFlagToSet(FlagStrings.InitialConversationWithCSONFriend); TalkWithCastleman.Add(setFlag); TalkWithCastleman.AddFlagGroup("CSONMEETCASTLEMAN"); TalkWithCastlemanNotFriend = new Schedule (this, Schedule.priorityEnum.High); TalkWithCastlemanNotFriend.Add(new TimeTask(300, new WaitTillPlayerCloseState(this, ref player))); Task setFlagNOT = (new TimeTask(2f, new IdleState(this))); setFlagNOT.AddFlagToSet(FlagStrings.InitialConversationWithCSONNOTFriend); TalkWithCastlemanNotFriend.Add(setFlagNOT); TalkWithCastleman.AddFlagGroup("CSONMEETCASTLEMAN"); Woodworking = new Schedule( this, Schedule.priorityEnum.Medium); //Woodworking.Add (new TimeTask(300, new WaitState(this))); Task whittleTask = new TimeTask(30, new AbstractAnimationState(this, "Whittle")); whittleTask.AddFlagToSet(FlagStrings.carpenterSonYoungCompletedWhittling); whittleSchedule = new Schedule(this, Schedule.priorityEnum.DoNow); whittleSchedule.SetCanInteract(false); whittleSchedule.Add(whittleTask); Task whittleDoneTask = new Task(new IdleState(this)); whittleDoneSchedule = new Schedule(this, Schedule.priorityEnum.Medium); whittleDoneSchedule.SetCanInteract(true); whittleDoneSchedule.Add(whittleDoneTask); }
//NPCConvoSchedule dateWithLG; protected override void SetUpSchedules() { SetupReactions(); moveBack = new Schedule(this, Schedule.priorityEnum.High); moveBack.Add(new Task(new MoveThenDoState(this, startingPosition, new MarkTaskDone(this)))); moveToBeach = new Schedule(this, Schedule.priorityEnum.DoNow); moveToBeach.Add(new Task(new MoveThenDoState(this, new Vector3(MapLocations.MiddleOfBeachMiddle.x+1.5f, MapLocations.MiddleOfBeachMiddle.y, MapLocations.MiddleOfBeachMiddle.z), new MarkTaskDone(this)))); Task reachedBeach = new TimeTask(.1f,new IdleState(this)); reachedBeach.AddFlagToSet(FarmerFamilyFlagStrings.GirlCastleDateOne); moveToBeach.Add(reachedBeach); moveToBeach.Add(new TimeTask(5.3f, new IdleState(this))); Task reachedBeachTwo = new TimeTask(.1f,new IdleState(this)); reachedBeachTwo.AddFlagToSet(FarmerFamilyFlagStrings.GirlCastleDateTwo); moveToBeach.Add(reachedBeachTwo); moveToBeach.Add(new TimeTask(7.3f, new IdleState(this))); Task reachedBeachThree = new TimeTask(.1f,new IdleState(this)); reachedBeachThree.AddFlagToSet(FarmerFamilyFlagStrings.GirlCastleDateThree); moveToBeach.Add(reachedBeachThree); moveToBeach.Add(new TimeTask(3.3f, new IdleState(this))); Task reachedBeachFour = new TimeTask(.1f,new IdleState(this)); reachedBeachFour.AddFlagToSet(FarmerFamilyFlagStrings.GirlCastleDateFour); moveToBeach.Add(reachedBeachFour); moveToBeach.Add(new TimeTask(6.3f, new IdleState(this))); Task reachedBeachFive = new TimeTask(.1f,new IdleState(this)); reachedBeachFive.AddFlagToSet(FarmerFamilyFlagStrings.GirlCastleDateFive); moveToBeach.Add(reachedBeachFive); moveToBeach.Add(new TimeTask(2.3f, new IdleState(this))); Task reachedBeachSix = new TimeTask(.1f,new IdleState(this)); reachedBeachSix.AddFlagToSet(FarmerFamilyFlagStrings.GirlCastleDateSix); moveToBeach.Add(reachedBeachSix); moveToBeach.Add(new TimeTask(6f, new IdleState(this))); Task reachedBeachEnd = new TimeTask(.1f,new IdleState(this)); reachedBeachEnd.AddFlagToSet(FlagStrings.EndOfDate); moveToBeach.Add(reachedBeachEnd); moveToBeach.Add(new TimeTask(3f, new IdleState(this))); moveToBeach.SetCanInteract(false); /*dateWithLG = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.LighthouseGirlMiddle), new MiddleCastleManToLighthouseGirl(), Schedule.priorityEnum.DoConvo); dateWithLG.SetCanNotInteractWithPlayer();*/ }
protected override void SetUpSchedules() { InitialSchedule = new ScheduleLoop(this, Schedule.priorityEnum.Medium); Task waitForPlayer = new Task(new WaitTillPlayerCloseState(this, ref player)); InitialSchedule.Add(waitForPlayer); Task SayHi = new Task(new AbstractAnimationState(this, "Hi"), this, 0.1f, "Psst! Come over here!"); InitialSchedule.Add(SayHi); InitialSchedule.Add(new Task(new WaitTillPlayerCloseState(this, ref player))); Task playWithSword = new Task(new AbstractAnimationState(this, "Play With Sword")); InitialSchedule.Add(playWithSword); AttemptToTellOnLighthouse = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.FarmerFatherYoung), new LightHouseToFarmerFather(),Schedule.priorityEnum.DoConvo); AttemptToTellOnLighthouse.SetCanNotInteractWithPlayer(); tellOnLighthouseConversationSchedule = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.LighthouseGirlYoung), new YoungFarmerMotherToLighthouseGirlToldOn(),Schedule.priorityEnum.DoConvo); Task SetFlagToBeach = (new Task(new MoveThenDoState(this, this.gameObject.transform.position, new MarkTaskDone(this)))); SetFlagToBeach.AddFlagToSet(FlagStrings.GoDownToBeach); TalkWithCastleman = new Schedule (this, Schedule.priorityEnum.DoNow); TalkWithCastleman.Add(new TimeTask(3000, new WaitTillPlayerCloseState(this, ref player))); Task setFlag = (new TimeTask(2f, new IdleState(this))); setFlag.AddFlagToSet(FlagStrings.StartTalkingToLighthouse); TalkWithCastleman.Add(setFlag); TalkWithCastleman.AddFlagGroup("TalkWithCastleman"); GaveApple = new Schedule(this, Schedule.priorityEnum.High); GaveApple.Add(new TimeTask(10f, new AbstractAnimationState(this, "Play With Sword"))); GaveApple.Add(SetFlagToBeach); //GaveApple.Add(new TimeTask(500f, new IdleState(this))); GaveNothingSchedule = new Schedule(this, Schedule.priorityEnum.High); GaveNothingSchedule.Add(new TimeTask(750f, new IdleState(this))); GaveNothingSchedule.Add(SetFlagToBeach); WalkToBeach = new Schedule(this, Schedule.priorityEnum.High); WalkToBeach.Add(new Task(new MoveThenMarkDoneState(this, MapLocations.MiddleOfBeachYoung))); Task setAtBeachFlag = new TimeTask(0f, new IdleState(this)); setAtBeachFlag.AddFlagToSet(FlagStrings.LighthouseAtBeach); WalkToBeach.Add(setAtBeachFlag); LighthouseGoingToBeach = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.FarmerMotherYoung), new LighthouseToFarmerMother(),Schedule.priorityEnum.DoConvo, true); LighthouseGoingToBeach.SetCanNotInteractWithPlayer(); }
protected override void SetUpSchedules() { CastleManFollowSchedule = new Schedule(this, Schedule.priorityEnum.Medium); CastleManFollowSchedule.Add(new TimeTask(0f, new IdleState(this))); CastleManFollowSchedule.Add(new Task(new FollowObjectState(this, player.gameObject))); CastleManFollowScheduleVTwo = new Schedule(this, Schedule.priorityEnum.High); CastleManFollowScheduleVTwo.Add(new TimeTask(0f, new IdleState(this))); CastleManFollowScheduleVTwo.Add(new TimeTask(0f, new FollowObjectState(this, player.gameObject))); Task TimerRanOut = new TimeTask(0f, new IdleState(this)); TimerRanOut.AddFlagToSet(FlagStrings.TimerForGoingToBeach); CastleManFollowScheduleVTwo.Add(TimerRanOut); CastlemanWalkToBeachSchedule = new Schedule(this, Schedule.priorityEnum.DoNow); CastlemanWalkToBeachSchedule.Add(new TimeTask(1f, new IdleState(this))); CastlemanWalkToBeachSchedule.Add(new Task(new MoveThenMarkDoneState(this, new Vector3(52f, -6f, 0.95f)))); Task setAtBeachFlag = new TimeTask(0f, new IdleState(this)); setAtBeachFlag.AddFlagToSet(FlagStrings.CastleManAtBeach); CastlemanWalkToBeachSchedule.Add(setAtBeachFlag); CastlemanWalkToBeachSchedule.Add(new TimeTask(10000f, new IdleState(this))); #region Friends CastleManTalksFirstFriends = new Schedule(this, Schedule.priorityEnum.DoNow); Task setFlagFriendsFirstConvo = (new TimeTask(2f, new IdleState(this))); setFlagFriendsFirstConvo.AddFlagToSet(FlagStrings.FinishedInitialConversationWithCSONFriend); CastleManTalksFirstFriends.Add(setFlagFriendsFirstConvo); SetFinishedTalkingFlagForSecondConvoFriends = new Schedule(this, Schedule.priorityEnum.DoNow); Task setFlagFriendsSecondConvo = (new TimeTask(2f, new IdleState(this))); setFlagFriendsSecondConvo.AddFlagToSet(FlagStrings.FinishedSecondConversationWithCSONFriend); SetFinishedTalkingFlagForSecondConvoFriends.Add(setFlagFriendsSecondConvo); SetFinishedTalkingFlagForThirdConvoFriends = new Schedule(this, Schedule.priorityEnum.DoNow); Task setFlagFriendsThirdConvo = (new TimeTask(2f, new IdleState(this))); setFlagFriendsThirdConvo.AddFlagToSet(FlagStrings.FinishedThirdConvoWithCSONFriend); SetFinishedTalkingFlagForThirdConvoFriends.Add(setFlagFriendsThirdConvo); # endregion #region NotFriends CastleManTalksFirstNOTFriends = new Schedule(this, Schedule.priorityEnum.DoNow); Task setFlagNOTFriendsFirstConvo = (new TimeTask(2f, new IdleState(this))); setFlagNOTFriendsFirstConvo.AddFlagToSet(FlagStrings.FinishedInitialConversationWithCSONNOTFriend); CastleManTalksFirstNOTFriends.Add(setFlagNOTFriendsFirstConvo); SetFinishedTalkingFlagForSecondConvoNOTFriends = new Schedule(this, Schedule.priorityEnum.DoNow); Task setFlagNOTFriendsSecondConvo = (new TimeTask(2f, new IdleState(this))); setFlagNOTFriendsSecondConvo.AddFlagToSet(FlagStrings.FinishedSecondConversationWithCSONNOTFriend); SetFinishedTalkingFlagForSecondConvoNOTFriends.Add(setFlagNOTFriendsSecondConvo); SetFinishedTalkingFlagForThirdConvoNOTFriends = new Schedule(this, Schedule.priorityEnum.DoNow); Task setFlagNOTFriendsThirdConvo = (new TimeTask(2f, new IdleState(this))); setFlagNOTFriendsThirdConvo.AddFlagToSet(FlagStrings.FinishedThirdConvoWithCSONNOTFriend); SetFinishedTalkingFlagForThirdConvoNOTFriends.Add(setFlagNOTFriendsThirdConvo); #endregion #region Conversations CastleManMeetsLighthouse = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.LighthouseGirlYoung), new CastleManToLighthouseFirstMeeting(),Schedule.priorityEnum.DoConvo); CastleManMeetsLighthouse.SetCanNotInteractWithPlayer(); CastleManTalksToCSON = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.CarpenterSonYoung), new CastleManToCarpenterFirstConvo(),Schedule.priorityEnum.DoConvo); CastleManTalksToCSON.SetCanNotInteractWithPlayer(); CastleManTalksToCSONTwice = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.CarpenterSonYoung), new CastleManToCarpenterSecondConvo(),Schedule.priorityEnum.DoConvo); CastleManTalksToCSONTwice.SetCanNotInteractWithPlayer(); CastleManTalksToCSONThrice = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.CarpenterSonYoung), new CastleManToCarpenterThirdConvo(),Schedule.priorityEnum.DoConvo); CastleManTalksToCSONThrice.SetCanNotInteractWithPlayer(); CastleManTalksToLighthouseOnBeachFriends = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.LighthouseGirlYoung), new CastleManToLightHouseFriends(),Schedule.priorityEnum.DoConvo); CastleManTalksToLighthouseOnBeachFriends.SetCanNotInteractWithPlayer(); CastleManTalksToLighthouseOnBeachNOTFriends = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.LighthouseGirlYoung), new CastlemanToLighthouseNotFriends(),Schedule.priorityEnum.DoConvo); CastleManTalksToLighthouseOnBeachNOTFriends.SetCanNotInteractWithPlayer(); #endregion }
protected override void SetUpSchedules() { ScheduleLoop newDefaultSched = new ScheduleLoop(this, Schedule.priorityEnum.Default); newDefaultSched.Add(new Task(new FishState(this))); this.AddSchedule(newDefaultSched); treasureHuntSched = new SeaCaptainTreasureHuntSchedule(this); talkToFortuneTellerFirstSched = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.FortuneTellerMiddle), new MiddleSeaCaptainFortuneTellerFirstConvo(), Schedule.priorityEnum.Medium, true); talkToFortuneTellerSecondSched = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.FortuneTellerMiddle), new MiddleSeaCaptainFortuneTellerSecondConvo(), Schedule.priorityEnum.Medium, true); TalktoCarpenterSon = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.CarpenterSonMiddle), new MiddleSeaCaptainToCarpenterSon(), Schedule.priorityEnum.DoConvo, true); TalktoCarpenterSon.SetCanNotInteractWithPlayer(); returnToDockSchedOne = new Schedule(this); returnToDockSchedOne.Add(new Task(new MoveThenMarkDoneState(this, startingPos))); returnToDockSchedTwo = new Schedule(this); returnToDockSchedTwo.Add(new Task(new MoveThenMarkDoneState(this, startingPos))); AfterTalkToCarpenterSon = new Schedule(this, Schedule.priorityEnum.High); Task FinishedTalking = new TimeTask(0.05f, new IdleState(this)); FinishedTalking.AddFlagToSet(FlagStrings.AfterConversationAboutBuildingShip); AfterTalkToCarpenterSon.Add (FinishedTalking); }
protected override void SetUpSchedules() { greetSiblingOldSchedule = (new CarpenterSonOldGreetSibllingSchedule(this)); goToBeachSchedule = (new CarpenterSonOldToBeachScript(this)); talkWhileFishingSchedule = new Schedule(this, Schedule.priorityEnum.DoNow); talkWhileFishingSchedule.Add(new TimeTask(240f ,new WaitTillPlayerCloseState(this, ref this.player, 3f))); // Task a = new TimeTask(.05f, new IdleState(this)); a.AddFlagToSet(FlagStrings.elderCarpenterSonChat); talkWhileFishingSchedule.Add(a); talkWhileFishingSchedule.Add(new Task (new IdleState(this))); fishingSchedule = new Schedule(this, Schedule.priorityEnum.DoNow); fishingSchedule.Add(new TimeTask(240f ,new WaitTillPlayerCloseState(this, ref this.player, 3f))); // //fishingSchedule.Add(new Task(new AbstractAnimationState(this, currentWalkPose))); fishingSchedule.Add(new TimeTask(20f, new IdleState(this))); //-3.5 Task b = new Task(new MoveThenDoState(this, new Vector3(74f, -3.5f + (LevelManager.levelYOffSetFromCenter*2), -.5f),new MarkTaskDone(this))); b.AddFlagToSet(FlagStrings.elderCarpenterFishingTime); fishingSchedule.Add(b); fishingSchedule.Add(new Task(new AbstractAnimationState(this, currentFishingPose))); fishingSchedule.Add(new Task (new IdleState(this))); //talkWhileFishingSchedule }
protected override void SetUpSchedules() { gaveAppleSchedule = new Schedule(this, Schedule.priorityEnum.DoNow); gaveAppleSchedule.Add(new TimeTask(10f, new IdleState(this))); gaveAppleSchedule.Add(new Task(new WaitTillPlayerCloseState(this, ref player))); Task SetMusicianConvoFlag = new TimeTask(45f, new IdleState(this)); SetMusicianConvoFlag.AddFlagToSet(FlagStrings.MoveToMusician); gaveAppleSchedule.Add(SetMusicianConvoFlag); //gaveAppleSchedule.Add(new Task(new MoveThenDoState(this, new Vector3(4f, -1f, -.5f), new MarkTaskDone(this)))); giveSeedsSchedule = new Schedule(this, Schedule.priorityEnum.DoNow); giveSeedsSchedule.Add (new TimeTask(1, new IdleState(this))); giveSeedsSchedule.Add(new Task(new MoveThenDoState(this, new Vector3(0f, -1f, -.5f), new MarkTaskDone(this)))); moveMotherHappyState = new Schedule(this, Schedule.priorityEnum.DoNow); moveMotherHappyState.Add (new TimeTask(1.5f, new IdleState(this))); //BUG, MOM ALWAYS FLOATS TO PLATFORM BEFORE REACHING DESTINATION moveMotherHappyState.Add(new Task(new MoveThenDoState(this, new Vector3(-20f, -1.5f, -.5f), new MarkTaskDone(this)))); postRaceSchedule = new Schedule(this, Schedule.priorityEnum.DoNow); postRaceSchedule.Add(new Task(new IdleState(this))); moveHomeSchedule = new Schedule(this, Schedule.priorityEnum.DoNow); moveHomeSchedule.Add(new TimeTask(.5f, new IdleState(this))); //moveHomeSchedule.Add(new Task(new MoveThenDoState(this, new Vector3(0, -1f,.3f), new MarkTaskDone(this)))); moveHomeSchedule.Add(new Task(new MoveThenDoState(this, new Vector3(-.9f, -1f,.3f), new MarkTaskDone(this)))); /* enterMadSchedule = new Schedule (this, Schedule.priorityEnum.DoNow); enterMadSchedule.Add(new Task(new MoveThenDoState(this, new Vector3(-2, -1f,.3f), new MarkTaskDone(this)))); enterMadSchedule.Add (new TimeTask(10f, new IdleState(this))); Task setNotAngryFlag = (new Task(new MoveThenDoState(this, new Vector3 (0, .2f, .3f), new MarkTaskDone(this)))); setNotAngryFlag.AddFlagToSet(FlagStrings.ExitMadState); enterMadSchedule.Add(setNotAngryFlag); enterMadSchedule.Add (new TimeTask(.5f, new IdleState(this))); */ moveToMusicianSchedule = new Schedule(this, Schedule.priorityEnum.DoNow); moveToMusicianSchedule.Add(new TimeTask(2f, new IdleState(this))); //moveToMusicianSchedule.Add(new Task(new ShowOneOffChatAction(this, "Follow me. They live up here."))); Task setFlag = (new Task(new MoveThenDoState(this, new Vector3 (-2.9f, 7.6f, 1f), new MarkTaskDone(this)))); setFlag.AddFlagToSet(FlagStrings.FinishMusicianConvo); moveToMusicianSchedule.Add(setFlag); moveToMusicianSchedule.Add(new TimeTask(45f, new IdleState(this))); moveToMusicianSchedule.Add(new Task(new MoveThenMarkDoneState(this, this.gameObject.transform.position))); //moveToMusicianSchedule.Add(new TimeTask(.5f, new IdleState(this))); // ADD EXIT MAD SCHEDULE }
protected override void SetUpSchedules() { girlEnd = new Schedule(this, Schedule.priorityEnum.DoNow); Task girlEndChatOne = new TimeTask(.1f,new IdleState(this)); girlEndChatOne.AddFlagToSet(FarmerFamilyFlagStrings.GirlPathEndOne); girlEnd.Add(girlEndChatOne); girlEnd.Add(new Task(new MoveThenDoState(this, new Vector3(startingPosition.x + 1, startingPosition.y, startingPosition.z), new MarkTaskDone(this)))); girlEnd.Add(new TimeTask(8.3f, new IdleState(this))); Task girlEndChatTwo = new TimeTask(.1f,new IdleState(this)); girlEndChatTwo.AddFlagToSet(FarmerFamilyFlagStrings.GirlPathEndTwo); girlEnd.Add(girlEndChatTwo); girlEnd.Add(new TimeTask(3.3f, new IdleState(this))); Task girlEndChatThree = new TimeTask(.1f,new IdleState(this)); girlEndChatThree.AddFlagToSet(FarmerFamilyFlagStrings.GirlPathEndThree); girlEnd.Add(girlEndChatThree); girlEnd.Add(new TimeTask(8f, new IdleState(this))); Task girlEndChatFour = new TimeTask(.1f,new IdleState(this)); girlEndChatFour.AddFlagToSet(FarmerFamilyFlagStrings.GirlPathEndFour); girlEnd.Add(girlEndChatFour); girlEnd.Add(new TimeTask(4.3f, new IdleState(this))); Task girlEndChatFive = new TimeTask(.1f,new IdleState(this)); girlEndChatFive.AddFlagToSet(FarmerFamilyFlagStrings.GirlPathEndFive); girlEnd.Add(girlEndChatFive); girlEnd.Add(new TimeTask(5.1f, new IdleState(this))); Task girlEndChatSix = new TimeTask(.1f,new IdleState(this)); girlEndChatSix.AddFlagToSet(FarmerFamilyFlagStrings.GirlPathEndSix); girlEnd.Add(girlEndChatSix); girlEnd.Add(new TimeTask(4.1f, new IdleState(this))); Task girlEndChatSeven = new TimeTask(.1f,new IdleState(this)); girlEndChatSeven.AddFlagToSet(FarmerFamilyFlagStrings.GirlPathEndSeven); girlEnd.Add(girlEndChatSeven); girlEnd.Add(new TimeTask(23f, new IdleState(this))); Task girlEndChatEight = new TimeTask(.1f,new IdleState(this)); girlEndChatEight.AddFlagToSet(FarmerFamilyFlagStrings.GirlPathEndEight); girlEnd.Add(girlEndChatEight); girlEnd.Add(new TimeTask(1f, new IdleState(this))); Task girlEndChatNine = new TimeTask(.1f,new IdleState(this)); girlEndChatNine.AddFlagToSet(FarmerFamilyFlagStrings.GirlPathEndNine); girlEnd.Add(girlEndChatNine); girlEnd.Add(new TimeTask(4f, new IdleState(this))); Task girlEndChatTen = new TimeTask(.1f,new IdleState(this)); girlEndChatTen.AddFlagToSet(FarmerFamilyFlagStrings.GirlPathEndTen); girlEnd.Add(girlEndChatTen); girlEnd.Add(new TimeTask(21f, new IdleState(this))); Task girlEndChatEleven = new TimeTask(.1f,new IdleState(this)); girlEndChatEleven.AddFlagToSet(FarmerFamilyFlagStrings.GirlPathEndEleven); girlEnd.Add(girlEndChatEleven); girlEnd.Add(new TimeTask(1.2f, new IdleState(this))); Task girlEndChatTwelve = new TimeTask(.1f,new IdleState(this)); girlEndChatTwelve.AddFlagToSet(FarmerFamilyFlagStrings.GirlPathEndTwelve); girlEnd.Add(girlEndChatTwelve); girlEnd.Add(new TimeTask(1.2f, new IdleState(this))); Task girlEndChatThirteen = new TimeTask(.1f,new IdleState(this)); girlEndChatThirteen.AddFlagToSet(FarmerFamilyFlagStrings.GirlPathEndThirteen); girlEnd.Add(girlEndChatThirteen); girlEnd.Add(new TimeTask(4f, new IdleState(this))); girlEnd.Add(new Task(new MoveThenDoState(this, new Vector3(startingPosition.x - 1, startingPosition.y, startingPosition.z), new MarkTaskDone(this)))); girlEnd.SetCanInteract(false); }
protected override void SetUpSchedules() { float dateTime = 100; openningWaitingSchedule = new Schedule(this, Schedule.priorityEnum.DoNow); openningWaitingSchedule.Add(new TimeTask(200, new WaitTillPlayerCloseState(this, ref player))); Task postOpening = new TimeTask(.1f,new IdleState(this)); postOpening.AddFlagToSet(FarmerFamilyFlagStrings.IntroConvoStart); openningWaitingSchedule.Add(postOpening); backToFarmSchedule = new Schedule(this, Schedule.priorityEnum.DoNow); backToFarmSchedule.Add(new TimeTask(6f, new IdleState(this))); backToFarmSchedule.Add(new Task(new MoveThenDoState(this, startingPosition, new MarkTaskDone(this)))); ropeDownSchedule = new Schedule(this, Schedule.priorityEnum.High); ropeDownSchedule.Add(new TimeTask(30, new WaitTillPlayerGoneState(this, player))); Task setFlag = new Task( new MoveThenDoState(this, startingPosition, new MarkTaskDone(this))); setFlag.AddFlagToSet(FlagStrings.WaitingForDate); ropeDownSchedule.Add(setFlag); ropeDownSchedule.AddFlagGroup("a"); turnAround = new Schedule(this, Schedule.priorityEnum.DoNow); turnAround.Add(new Task(new MoveThenDoState(this, new Vector3(MapLocations.MiddleOfBeachMiddle.x+.1f, MapLocations.MiddleOfBeachMiddle.y, MapLocations.MiddleOfBeachMiddle.z), new MarkTaskDone(this)))); turnAround.AddFlagGroup("b"); /*postOpenningSchedule = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.FarmerMotherMiddle), new MiddleFarmerMotherToLighthouseGirl(), Schedule.priorityEnum.DoConvo); postOpenningSchedule.SetCanNotInteractWithPlayer();*/ introConvo = new Schedule(this, Schedule.priorityEnum.DoNow); introConvo.Add(new Task (new MoveThenDoState(this, new Vector3(startingPosition.x-.01f, startingPosition.y, startingPosition.z), new MarkTaskDone(this)))); Task introConvoChatOne = new TimeTask(.1f,new IdleState(this)); introConvoChatOne.AddFlagToSet(FarmerFamilyFlagStrings.IntroConvoOne); introConvo.Add(introConvoChatOne); introConvo.Add(new TimeTask(4.3f, new IdleState(this))); Task introConvoChatTwo = new TimeTask(.1f,new IdleState(this)); introConvoChatTwo.AddFlagToSet(FarmerFamilyFlagStrings.IntroConvoTwo); introConvo.Add(introConvoChatTwo); introConvo.Add(new TimeTask(5.3f, new IdleState(this))); Task introConvoChatThree = new TimeTask(.1f,new IdleState(this)); introConvoChatThree.AddFlagToSet(FarmerFamilyFlagStrings.IntroConvoThree); introConvo.Add(introConvoChatThree); introConvo.Add(new TimeTask(4.3f, new IdleState(this))); Task introConvoChatFour = new TimeTask(.1f,new IdleState(this)); introConvoChatFour.AddFlagToSet(FarmerFamilyFlagStrings.IntroConvoFour); introConvo.Add(introConvoChatFour); introConvo.Add(new TimeTask(6.3f, new IdleState(this))); Task introConvoChatFive = new TimeTask(.1f,new IdleState(this)); introConvoChatFive.AddFlagToSet(FarmerFamilyFlagStrings.IntroConvoFive); introConvo.Add(introConvoChatFive); introConvo.Add(new TimeTask(2.3f, new IdleState(this))); Task introConvoChatSix = new TimeTask(.1f,new IdleState(this)); introConvoChatSix.AddFlagToSet(FarmerFamilyFlagStrings.IntroConvoSix); introConvo.Add(introConvoChatSix); introConvo.Add(new TimeTask(5.3f, new IdleState(this))); Task introConvoChatSeven = new TimeTask(.1f,new IdleState(this)); introConvoChatSeven.AddFlagToSet(FarmerFamilyFlagStrings.IntroConvoSeven); introConvo.Add(introConvoChatSeven); introConvo.Add(new TimeTask(2f, new IdleState(this))); introConvo.SetCanInteract(false); #region castleMarriage castleMarriage = new Schedule(this, Schedule.priorityEnum.DoNow); Task castleMarriageChatOne = new TimeTask(.1f,new IdleState(this)); castleMarriageChatOne.AddFlagToSet(FarmerFamilyFlagStrings.GirlCastleMarriageOne); castleMarriage.Add(castleMarriageChatOne); castleMarriage.Add(new TimeTask(5f, new IdleState(this))); castleMarriage.Add(new Task(new MoveThenDoState(this, new Vector3(startingPosition.x - 1, startingPosition.y, startingPosition.z), new MarkTaskDone(this)))); castleMarriage.Add(new TimeTask(5.3f, new IdleState(this))); Task castleMarriageChatTwo = new TimeTask(.1f,new IdleState(this)); castleMarriageChatTwo.AddFlagToSet(FarmerFamilyFlagStrings.GirlCastleMarriageTwo); castleMarriage.Add(castleMarriageChatTwo); castleMarriage.Add(new TimeTask(7.3f, new IdleState(this))); Task castleMarriageChatThree = new TimeTask(.1f,new IdleState(this)); castleMarriageChatThree.AddFlagToSet(FarmerFamilyFlagStrings.GirlCastleMarriageThree); castleMarriage.Add(castleMarriageChatThree); castleMarriage.Add(new TimeTask(2.3f, new IdleState(this))); Task castleMarriageChatFour = new TimeTask(.1f,new IdleState(this)); castleMarriageChatFour.AddFlagToSet(FarmerFamilyFlagStrings.GirlCastleMarriageFour); castleMarriage.Add(castleMarriageChatFour); castleMarriage.Add(new TimeTask(5.3f, new IdleState(this))); Task castleMarriageChatFive = new TimeTask(.1f,new IdleState(this)); castleMarriageChatFive.AddFlagToSet(FarmerFamilyFlagStrings.GirlCastleMarriageFive); castleMarriage.Add(castleMarriageChatFive); castleMarriage.Add(new TimeTask(3.3f, new IdleState(this))); Task castleMarriageChatSix = new TimeTask(.1f,new IdleState(this)); castleMarriageChatSix.AddFlagToSet(FarmerFamilyFlagStrings.GirlCastleMarriageSix); castleMarriage.Add(castleMarriageChatSix); castleMarriage.Add(new TimeTask(6.3f, new IdleState(this))); Task castleMarriageChatSeven = new TimeTask(.1f,new IdleState(this)); castleMarriageChatSeven.AddFlagToSet(FarmerFamilyFlagStrings.GirlCastleMarriageSeven); castleMarriage.Add(castleMarriageChatSeven); castleMarriage.Add(new TimeTask(3.3f, new IdleState(this))); Task castleMarriageChatEight = new TimeTask(.1f,new IdleState(this)); castleMarriageChatEight.AddFlagToSet(FarmerFamilyFlagStrings.GirlCastleMarriageEight); castleMarriage.Add(castleMarriageChatEight); castleMarriage.Add(new TimeTask(2f, new IdleState(this))); castleMarriage.Add(new Task(new MoveThenDoState(this, new Vector3(startingPosition.x + 2, startingPosition.y, startingPosition.z), new MarkTaskDone(this)))); castleMarriage.SetCanInteract(false); #endregion girlEnd = new Schedule(this, Schedule.priorityEnum.DoNow); girlEnd.Add(new TimeTask(88.5f, new IdleState(this))); girlEnd.SetCanInteract(false); }
//Schedule IdleSchedule; protected override void SetUpSchedules() { startingPosition = transform.position; startingPosition.y += LevelManager.levelYOffSetFromCenter; #region PathOne //Schedule for the Default path moveToWindmill = new Schedule(this, Schedule.priorityEnum.Low); moveToWindmill.Add (new Task(new MoveThenMarkDoneState(this, MapLocations.WindmillMiddle, "Somber Walk", 2f))); moveToWindmill.Add (new TimeTask(100f, new AbstractAnimationState(this, "Hammer", false, false))); moveToWindmill.Add (new Task(new MoveThenMarkDoneState(this, startingPosition))); #endregion #region FishingPath TeleportToStartConvo = new Schedule (this, Schedule.priorityEnum.DoNow); TeleportToStartConvo.Add(new TimeTask(300f, new WaitTillPlayerCloseState(this, ref player))); //TeleportToStartConvo.Add(new Task (new MoveThenMarkDoneState(this, this.gameObject.transform.position))); Task StartFishingStuff = new TimeTask(0f, new IdleState(this)); StartFishingStuff.AddFlagToSet(FlagStrings.FishingConversation); TeleportToStartConvo.Add(StartFishingStuff); MoveToPierToFish = new Schedule(this, Schedule.priorityEnum.DoNow); MoveToPierToFish.Add(new Task(new MoveThenMarkDoneState(this, MapLocations.BaseOfPierMiddle))); MoveToPierToFish.Add(new TimeTask(100f, new AbstractAnimationState(this, "Fishing", true, true))); Task SetOffConversationWithSeaCaptain = new TimeTask(0f, new IdleState(this)); SetOffConversationWithSeaCaptain.AddFlagToSet(FlagStrings.StartConversationWithSeaCaptainAboutBuildingShip); MoveToPierToFish.Add(SetOffConversationWithSeaCaptain); AfterSeaCaptainTalk = new Schedule (this, Schedule.priorityEnum.DoNow); AfterSeaCaptainTalk.Add(new Task(new MoveThenMarkDoneState(this, MapLocations.MiddleOfBeachMiddle))); Task SetOffAfterSeaCaptain = new TimeTask(100f, new AbstractAnimationState(this, "Whittle")); SetOffAfterSeaCaptain.AddFlagToSet(FlagStrings.StartProudOfSonConversation); Task CarpenterSonTransitionToFisherman = new Task(new IdleState(this)); CarpenterSonTransitionToFisherman.AddFlagToSet(FlagStrings.carpenterSonBecomesFisherman); AfterSeaCaptainTalk.Add(SetOffAfterSeaCaptain); EndState = new Schedule(this, Schedule.priorityEnum.High); EndState.Add(new TimeTask(10000f, new IdleState(this))); #endregion #region CarpentryPath StartCarpentry = new Schedule (this, Schedule.priorityEnum.High); StartCarpentry.Add(new TimeTask(300f, new WaitTillPlayerCloseState(this, ref player))); //TeleportToStartConvo.Add(new Task (new MoveThenMarkDoneState(this, this.gameObject.transform.position))); Task StartCarpentryStuff = new TimeTask(0f, new IdleState(this)); StartCarpentryStuff.AddFlagToSet(FlagStrings.IntroConvoCarpentry); StartCarpentry.Add(StartCarpentryStuff); DoNothingSchedule = new Schedule(this, Schedule.priorityEnum.High); DoNothingSchedule.Add(new TimeTask(10000f, new IdleState(this))); WhittleStuff = new Schedule(this, Schedule.priorityEnum.High); TimeTask WhittlingAHarp = new TimeTask(30f, new AbstractAnimationState(this, "Whittle")); WhittlingAHarp.AddFlagToSet(FlagStrings.BuiltRockingChairTalk); WhittleStuff.Add(WhittlingAHarp); #endregion //Schedule for something stormOffSchedule = new Schedule(this,Schedule.priorityEnum.DoNow); stormOffSchedule.Add(new Task(new MoveThenMarkDoneState(this, MapLocations.BaseOfPierMiddle))); stormOffSchedule.Add(new TimeTask(2.0f, new IdleState(this))); //Will replace with working on windmill stormOffSchedule.Add(new Task(new MoveThenMarkDoneState(this, MapLocations.BaseOfPierMiddle))); AfterConversationCarpentery = new Schedule(this, Schedule.priorityEnum.High); AfterConversationCarpentery.Add(new TimeTask(10000f, new IdleState(this))); #region NPCConvoSchedules #endregion #region carpenterDate moveBack = new Schedule(this, Schedule.priorityEnum.High); moveBack.Add(new Task(new MoveThenDoState(this, startingPosition, new MarkTaskDone(this)))); moveToBeach = new Schedule(this, Schedule.priorityEnum.DoNow); moveToBeach.Add(new Task(new MoveThenDoState(this, new Vector3(MapLocations.MiddleOfBeachMiddle.x+1.5f, MapLocations.MiddleOfBeachMiddle.y, MapLocations.MiddleOfBeachMiddle.z), new MarkTaskDone(this)))); Task reachedBeach = new TimeTask(.1f,new IdleState(this)); reachedBeach.AddFlagToSet(FarmerFamilyFlagStrings.GirlCarpenterDateOne); moveToBeach.Add(reachedBeach); moveToBeach.Add(new TimeTask(5.3f, new IdleState(this))); Task reachedBeachTwo = new TimeTask(.1f,new IdleState(this)); reachedBeachTwo.AddFlagToSet(FarmerFamilyFlagStrings.GirlCarpenterDateTwo); moveToBeach.Add(reachedBeachTwo); moveToBeach.Add(new TimeTask(7.3f, new IdleState(this))); Task reachedBeachThree = new TimeTask(.1f,new IdleState(this)); reachedBeachThree.AddFlagToSet(FarmerFamilyFlagStrings.GirlCarpenterDateThree); moveToBeach.Add(reachedBeachThree); moveToBeach.Add(new TimeTask(3.3f, new IdleState(this))); Task reachedBeachFour = new TimeTask(.1f,new IdleState(this)); reachedBeachFour.AddFlagToSet(FarmerFamilyFlagStrings.GirlCarpenterDateFour); moveToBeach.Add(reachedBeachFour); moveToBeach.Add(new TimeTask(6.3f, new IdleState(this))); Task reachedBeachFive = new TimeTask(.1f,new IdleState(this)); reachedBeachFive.AddFlagToSet(FarmerFamilyFlagStrings.GirlCarpenterDateFive); moveToBeach.Add(reachedBeachFive); moveToBeach.Add(new TimeTask(2.3f, new IdleState(this))); Task reachedBeachSix = new TimeTask(.1f,new IdleState(this)); reachedBeachSix.AddFlagToSet(FarmerFamilyFlagStrings.GirlCarpenterDateSix); moveToBeach.Add(reachedBeachSix); moveToBeach.Add(new TimeTask(6f, new IdleState(this))); Task reachedBeachEnd = new TimeTask(.1f,new IdleState(this)); reachedBeachEnd.AddFlagToSet(FlagStrings.EndOfDate); moveToBeach.Add(reachedBeachEnd); moveToBeach.Add(new TimeTask(3f, new IdleState(this))); moveToBeach.SetCanInteract(false); #endregion }
protected override void SetUpSchedules() { Vector3 startingPosition = transform.position; startingPosition.y += LevelManager.levelYOffSetFromCenter; openningWaitingSchedule = new Schedule(this, Schedule.priorityEnum.Low); openningWaitingSchedule.Add(new TimeTask(5, new WaitTillPlayerCloseState(this, ref player))); Task nullFlag = new TimeTask(0f, new IdleState(this)); nullFlag.AddFlagToSet(FlagStrings.CarpenterAndCarpenterSonIndependantConversation); openningWaitingSchedule.Add(nullFlag); openningWaitingSchedule.AddFlagGroup("DefaultPath"); angryAtSonBeingIndependent = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.CarpenterSonMiddle), new MiddleCarpenterToSonDefaultScriptedConvo(), Schedule.priorityEnum.Medium); // CHANGE THIS CONVERSATION TO THE ONE WE WANT TO USE! angryAtSonBeingIndependent.SetCanNotInteractWithPlayer(); //this.AddSchedule(openningWaitingSchedule); afterAngryAtSonIndependent = new Schedule(this, Schedule.priorityEnum.Low); Task SetMoveToWindmillFlag = new TimeTask(0f, new IdleState(this)); SetMoveToWindmillFlag.AddFlagToSet(FlagStrings.carpenterSonTalkWithFatherMorning); afterAngryAtSonIndependent.Add(SetMoveToWindmillFlag); #region Fishing angryAtSonFishing = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.CarpenterSonMiddle), new MiddleCarpenterToSonFishingScriptedConvo(), Schedule.priorityEnum.DoNow); // CHANGE THIS CONVERSATION TO THE ONE WE WANT TO USE! angryAtSonFishing.SetCanNotInteractWithPlayer(); AfterAngryAtSonFishing = new Schedule(this, Schedule.priorityEnum.High); Task TriggerAfterFishingConvo = new TimeTask(0f, new IdleState(this)); TriggerAfterFishingConvo.AddFlagToSet(FlagStrings.CarpenterSonMovesToTheBeach); AfterAngryAtSonFishing.Add(TriggerAfterFishingConvo); MoveToCliffSide = new Schedule(this, Schedule.priorityEnum.High); MoveToCliffSide.Add(new Task(new MoveThenMarkDoneState(this, MapLocations.BeachCliffMiddle))); AcceptFishing = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.CarpenterSonMiddle), new MiddleCarpenterToCarpenterSonAcceptingFishing(), Schedule.priorityEnum.DoNow); // CHANGE THIS CONVERSATION TO THE ONE WE WANT TO USE! AcceptFishing.SetCanNotInteractWithPlayer(); AfterAcceptFishing = new Schedule(this, Schedule.priorityEnum.High); Task flagTask = new TimeTask(0f, new IdleState(this)); flagTask.AddFlagToSet(FlagStrings.AfterProudOfSonConversation); AfterAcceptFishing.Add(flagTask); AfterAcceptFishing.Add(new Task (new MoveThenMarkDoneState(this, MapLocations.BaseOfPierMiddle))); AfterAcceptFishing.Add(new TimeTask(10000f, new AbstractAnimationState(this, "Fishing"))); #endregion #region Carpentry happyAtSonForBeingCarpenter = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.CarpenterSonMiddle), new MiddleCarpenterToSonCarpentryScriptedConvo(), Schedule.priorityEnum.DoNow); happyAtSonForBeingCarpenter.SetCanNotInteractWithPlayer(); WorkOnWindmill = new Schedule(this, Schedule.priorityEnum.High); WorkOnWindmill.Add(new Task(new MoveThenMarkDoneState(this, MapLocations.WindmillMiddle))); WorkOnWindmill.Add(new TimeTask(250f, new IdleState(this))); WorkOnWindmill.Add(new Task(new MoveThenMarkDoneState(this, startingPosition))); Task setCarpentryFlag = new TimeTask(0f, new IdleState(this)); setCarpentryFlag.AddFlagToSet(FlagStrings.CarpenterReturnedHome); WorkOnWindmill.Add(setCarpentryFlag); ConversationAboutRockingChair = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.CarpenterSonMiddle), new GiveRockingChairScript(), Schedule.priorityEnum.DoNow); ConversationAboutRockingChair.SetCanNotInteractWithPlayer(); ConversationAboutNotDoingAnything = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.CarpenterSonMiddle), new GiveNothingScript(), Schedule.priorityEnum.DoNow); ConversationAboutNotDoingAnything.SetCanNotInteractWithPlayer(); AfterConversation = new Schedule(this, Schedule.priorityEnum.High); AfterConversation.Add(new TimeTask(10000f, new AbstractAnimationState(this, "Whittle"))); #endregion //CONVERSATION SCHEDULE BUG!!!! PLEASE FIX //CONVERSATION SCHEDULE BUG!!!! PLEASE FIX }