diff --git a/GeneralMods/HappyBirthday/BirthdayMessages.cs b/GeneralMods/HappyBirthday/BirthdayMessages.cs index 0f3e2798..3393a1f1 100644 --- a/GeneralMods/HappyBirthday/BirthdayMessages.cs +++ b/GeneralMods/HappyBirthday/BirthdayMessages.cs @@ -149,6 +149,7 @@ namespace Omegasis.HappyBirthday ["Mail:birthdayDatingHaley"] = "Hey @. ^ I thought it would be nice to have a birthday party for you at our place. Could you come by my house sometime today?^Sincerly,^ -Haley", ["Mail:birthdayDatingHarvey"] = "Hey @. ^ I thought it would be nice to have a birthday party for you at my place. Could you come by my room on the second floor of the clinic sometime today?^Sincerly,^ -Harvey", ["Mail:birthdayDatingElliott"] = "Hello @. ^ I thought it would be nice to have a birthday party for you at my place. Could you come by my humble home later today?^Sincerly,^ -Elloitt", + ["Mail:birthdayDatingElliott"] = "Hey @. ^ I thought it would be fun to have a birthday party for you at our place. Could you come by my house sometime today?^^ -Sam", ["Happy Birthday: Star Message"] = "It's your birthday today! Happy birthday!", ["Happy Birthday: Farmhand Birthday Message"] = "It's @'s birthday! Happy birthday to them!", @@ -240,7 +241,6 @@ namespace Omegasis.HappyBirthday ["Event:DatingHarveyBirthday_Finish:0"] = "It was nice celebrating my birthday with just Harvey.", ["Event:DatingHarveyBirthday_Finish:1"] = "It looks like there was some leftover food too!", - ["Event:DatingElliottBirthday_Elliott:0"] = "Ahh @, wonderful! You are just in time! $h", ["Event:DatingElliottBirthday_Elliott:1"] = "I thought it would be splendid if we had a small celebration together in honor of your birthday!$h", ["Event:DatingElliottBirthday_Elliott:2"] = "I know that birthdays can be quite an ordeal and I'm sure you are quite busy today, but I do appreciate you coming out all this way to spend your special day with me. $l", @@ -248,7 +248,14 @@ namespace Omegasis.HappyBirthday ["Event:DatingElliottBirthday_Elliott:4"] = "Alright now how about we have some cake to mark the occassion. Go ahead and make a wish!", ["Event:DatingElliottBirthday_Elliott:5"] = "Happy birthday @! Here is hoping there are many more stories to be told with your life! $l", ["Event:DatingElliottBirthday_Finish:0"] = "It was nice celebrating my birthday with just Elliott.", - ["Event:DatingElliottBirthday_Finish:1"] = "It looks like there was some leftover food too!", + ["Event:DatingElliottBirthday_Finish:1"] = "It looks like there was some leftover cake too!", + + ["Event:DatingSamBirthday_Sam:0"] = "Hey @ you are just in time. $h", + ["Event:DatingSamBirthday_Sam:1"] = "I thought it would be fun to have a small party for you since it's your birthday. Don't worry my family is busy doing other things so we can just chill. $h", + ["Event:DatingSamBirthday_Sam:2"] = "I got us some pizza and some joja cola. I hope you like it! I would have made you a cake but I never really figured out how to do that sort of thing.$h", + ["Event:DatingSamBirthday_Sam:3"] = "Anyways happy birthday @. I'm super lucky to be with someone like you. $l", + ["Event:DatingSamBirthday_Finish:0"] = "It was nice celebrating my birthday with just Sam.", + ["Event:DatingSamBirthday_Finish:1"] = "It looks like there was some leftover food too!", ["Event:PartyOver"] = "That was a fun party. Back to work!" diff --git a/GeneralMods/HappyBirthday/Framework/BirthdayEvents.cs b/GeneralMods/HappyBirthday/Framework/BirthdayEvents.cs index 326c997f..5600733d 100644 --- a/GeneralMods/HappyBirthday/Framework/BirthdayEvents.cs +++ b/GeneralMods/HappyBirthday/Framework/BirthdayEvents.cs @@ -422,12 +422,45 @@ namespace Omegasis.HappyBirthday.Framework return e; } - /* + public static EventHelper DatingBirthday_Sam() { - + List conditions = new List(); + conditions.Add(new FarmerBirthdayPrecondition()); + conditions.Add(new LocationPrecondition(Game1.getLocationFromName("SamHouse"))); + conditions.Add(new TimePrecondition(600, 2600)); + + NPC sam = Game1.getCharacterFromName("Sam"); + + //conditions.Add(new StardustCore.Events.Preconditions.NPCSpecific.DatingNPC(sam)); + + EventHelper e = new EventHelper("BirthdayDating:Sam", 19959, conditions, new EventStartData("playful", 3, 6, new EventStartData.FarmerData(7, 9, EventHelper.FacingDirection.Up), new List() { + new EventStartData.NPCData(sam,3,5, EventHelper.FacingDirection.Down), + })); + e.globalFadeIn(); + + //Dialogue here. + e.moveFarmerUp(4, EventHelper.FacingDirection.Up, false); + e.moveFarmerLeft(3, EventHelper.FacingDirection.Left, false); + e.npcFaceDirection(sam, EventHelper.FacingDirection.Right); + + e.speak(sam, GetTranslatedString("Event:DatingSamBirthday_Sam:0")); + e.speak(sam, GetTranslatedString("Event:DatingSamBirthday_Sam:1")); + e.speak(sam, GetTranslatedString("Event:DatingSamBirthday_Sam:2")); + e.speak(sam, GetTranslatedString("Event:DatingSamBirthday_Sam:3")); + e.emoteFarmer_Heart(); + e.emote_Heart("Sam"); + e.globalFadeOut(0.010); + e.setViewportPosition(-100, -100); + e.showMessage(HappyBirthday.Config.translationInfo.getTranslatedString("Event:DatingSamBirthday_Finish:0")); //sam party finish 0 + e.showMessage(HappyBirthday.Config.translationInfo.getTranslatedString("Event:DatingSamBirthday_Finish:1")); //sam party finish 0 + e.addObjectToPlayersInventory(206, 1, false); + e.addObjectToPlayersInventory(167, 1, false); + e.showMessage(HappyBirthday.Config.translationInfo.getTranslatedString("Event:PartyOver")); + e.end(); + return e; } - */ + /// /// Event that occurs when the player is dating Sebastian. /// Status: Finished. @@ -505,9 +538,9 @@ namespace Omegasis.HappyBirthday.Framework NPC elliott = Game1.getCharacterFromName("Elliott"); - //conditions.Add(new StardustCore.Events.Preconditions.NPCSpecific.DatingNPC(elliott)); + conditions.Add(new StardustCore.Events.Preconditions.NPCSpecific.DatingNPC(elliott)); - EventHelper e = new EventHelper("BirthdayDating:Elliott", 19957, conditions, new EventStartData("playful", 3, 5, new EventStartData.FarmerData(3, 8, EventHelper.FacingDirection.Up), new List() { + EventHelper e = new EventHelper("BirthdayDating:Elliott", 19958, conditions, new EventStartData("playful", 3, 5, new EventStartData.FarmerData(3, 8, EventHelper.FacingDirection.Up), new List() { new EventStartData.NPCData(elliott,3,5, EventHelper.FacingDirection.Down), })); e.globalFadeIn(); diff --git a/GeneralMods/HappyBirthday/HappyBirthday.cs b/GeneralMods/HappyBirthday/HappyBirthday.cs index 2c797647..f5b2b772 100644 --- a/GeneralMods/HappyBirthday/HappyBirthday.cs +++ b/GeneralMods/HappyBirthday/HappyBirthday.cs @@ -152,6 +152,11 @@ namespace Omegasis.HappyBirthday EventHelper eve = this.eventManager.getEvent("BirthdayDating:Elliott"); eve.startEventAtLocationifPossible(); } + if (e.NewLocation == Game1.getLocationFromName("SamHouse")) + { + EventHelper eve = this.eventManager.getEvent("BirthdayDating:Sam"); + eve.startEventAtLocationifPossible(); + } } private void GameLoop_GameLaunched(object sender, GameLaunchedEventArgs e) @@ -187,6 +192,7 @@ namespace Omegasis.HappyBirthday data["birthdayDatingHaley"] = BirthdayMessages.GetTranslatedString("Mail:birthdayDatingHaley"); data["birthdayDatingHarvey"] = BirthdayMessages.GetTranslatedString("Mail:birthdayDatingHarvey"); data["birthdayDatingElliott"] = BirthdayMessages.GetTranslatedString("Mail:birthdayDatingElliott"); + data["birthdayDatingSam"] = BirthdayMessages.GetTranslatedString("Mail:birthdayDatingSam"); } @@ -648,6 +654,10 @@ namespace Omegasis.HappyBirthday { Game1.player.mailReceived.Remove("birthdayDatingElliott"); } + if (Game1.player.mailReceived.Contains("birthdayDatingSam")) + { + Game1.player.mailReceived.Remove("birthdayDatingSam"); + } EventHelper communityCenterJunimoBirthday = BirthdayEvents.CommunityCenterJunimoBirthday(); @@ -660,6 +670,7 @@ namespace Omegasis.HappyBirthday EventHelper birthdayDating_Haley = BirthdayEvents.DatingBirthday_Haley(); EventHelper birthdayDating_Harvey = BirthdayEvents.DatingBirthday_Harvey(); EventHelper birthdayDating_Elliott = BirthdayEvents.DatingBirthday_Elliott(); + EventHelper birthdayDating_Sam = BirthdayEvents.DatingBirthday_Sam(); this.eventManager.addEvent(communityCenterJunimoBirthday); this.eventManager.addEvent(birthdayDating_Penny); @@ -671,6 +682,7 @@ namespace Omegasis.HappyBirthday this.eventManager.addEvent(birthdayDating_Haley); this.eventManager.addEvent(birthdayDating_Harvey); this.eventManager.addEvent(birthdayDating_Elliott); + this.eventManager.addEvent(birthdayDating_Sam); if (Game1.player.eventsSeen.Contains(communityCenterJunimoBirthday.getEventID())) { Game1.player.eventsSeen.Remove(communityCenterJunimoBirthday.getEventID()); //Repeat the event. @@ -711,6 +723,10 @@ namespace Omegasis.HappyBirthday { Game1.player.eventsSeen.Remove(birthdayDating_Elliott.getEventID()); //Repeat the event. } + if (Game1.player.eventsSeen.Contains(birthdayDating_Sam.getEventID())) + { + Game1.player.eventsSeen.Remove(birthdayDating_Sam.getEventID()); //Repeat the event. + } } /// Raised before the game begins writes data to the save file (except the initial save creation).