diff --git a/GeneralMods/HappyBirthday/BirthdayMessages.cs b/GeneralMods/HappyBirthday/BirthdayMessages.cs index 740b8086..23f281cc 100644 --- a/GeneralMods/HappyBirthday/BirthdayMessages.cs +++ b/GeneralMods/HappyBirthday/BirthdayMessages.cs @@ -145,6 +145,7 @@ namespace Omegasis.HappyBirthday ["Mail:birthdayDatingSebastian"] = "Hey @. ^ Could you come by my place later? My family and I decided to have a birthday party for you to celebrate. ^^ -Sebastian", ["Mail:birthdayDatingLeah"] = "Hey @. ^ Could you come by my place later? I thought it would be nice if we had a small party for you. ^Sincerly,^ -Leah", ["Mail:birthdayDatingAbigail"] = "Hey @. ^ My family and I decided to have a birthday party for you at our place. Could you come by our house sometime today?^Sincerly,^ -Abigail", + ["Mail:birthdayDatingEmily"] = "Hi @. ^ 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,^ -Emily", ["Happy Birthday: Star Message"] = "It's your birthday today! Happy birthday!", ["Happy Birthday: Farmhand Birthday Message"] = "It's @'s birthday! Happy birthday to them!", @@ -212,6 +213,16 @@ namespace Omegasis.HappyBirthday ["Event:DatingAbigailBirthday_Finish:0"] = "It was nice celebrating my birthday with Abigail and her family.", ["Event:DatingAbigailBirthday_Finish:1"] = "It looks like there was some leftover cake too!", + ["Event:DatingEmilyBirthday_Emily:0"] = "Hi, @ you are just in time for the celebration.$h", + ["Event:DatingEmilyBirthday_Emily:1"] = "I thought it would be nice to have a small party in your honor.", + ["Event:DatingEmilyBirthday_Emily:2"] = "Somehow I feel like birthdays are an important reminder for us to live in the moment and live with the harmony of nature.", + ["Event:DatingEmilyBirthday_Emily:3"] = "Anyways I made us some chocolate cake! It's made with all natural ingredients and sweetened with cactus syrup!$h", + ["Event:DatingEmilyBirthday_Emily:4"] = "Make a wish @!$h", + ["Event:DatingEmilyBirthday_Emily:5"] = "Happy birthday @! I feel a strong fortune energy coming from the spirits for you this year. $l", + + ["Event:DatingEmilyBirthday_Finish:0"] = "It was nice celebrating my birthday with Emily.", + ["Event:DatingEmilyBirthday_Finish:1"] = "It looks like there was some leftover cake 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 9efe2936..55066dc6 100644 --- a/GeneralMods/HappyBirthday/Framework/BirthdayEvents.cs +++ b/GeneralMods/HappyBirthday/Framework/BirthdayEvents.cs @@ -257,7 +257,7 @@ namespace Omegasis.HappyBirthday.Framework e.moveFarmerRight(5, EventHelper.FacingDirection.Down, false); e.npcFaceDirection(leah, EventHelper.FacingDirection.Up); e.speak(leah, GetTranslatedString("Event:DatingLeahBirthday_Leah:0")); //0 - e.moveFarmerDown(2, EventHelper.FacingDirection.Down, false) ; + e.moveFarmerDown(2, EventHelper.FacingDirection.Down, false); e.moveFarmerRight(1, EventHelper.FacingDirection.Down, false); e.moveFarmerDown(1, EventHelper.FacingDirection.Down, false); e.speak(leah, GetTranslatedString("Event:DatingLeahBirthday_Leah:1")); //1 @@ -279,7 +279,11 @@ namespace Omegasis.HappyBirthday.Framework return e; } - + /// + /// Birthday event for when the player is dating Abigail. + /// Finished. + /// + /// public static EventHelper DatingBirthday_Abigail() { List conditions = new List(); @@ -293,7 +297,7 @@ namespace Omegasis.HappyBirthday.Framework conditions.Add(new StardustCore.Events.Preconditions.NPCSpecific.DatingNPC(abigail)); - EventHelper e = new EventHelper("BirthdayDating:Abigail", 19953, conditions, new EventStartData("playful", 35, 7, new EventStartData.FarmerData(31,11, EventHelper.FacingDirection.Up), new List() { + EventHelper e = new EventHelper("BirthdayDating:Abigail", 19953, conditions, new EventStartData("playful", 35, 7, new EventStartData.FarmerData(31, 11, EventHelper.FacingDirection.Up), new List() { new EventStartData.NPCData(abigail,36,9, EventHelper.FacingDirection.Left), new EventStartData.NPCData(pierre,33,6, EventHelper.FacingDirection.Down), new EventStartData.NPCData(caroline,35,5, EventHelper.FacingDirection.Up), @@ -332,11 +336,51 @@ namespace Omegasis.HappyBirthday.Framework return e; } - /* + + + public static EventHelper DatingBirthday_Emily() { + List conditions = new List(); + conditions.Add(new FarmerBirthdayPrecondition()); + conditions.Add(new LocationPrecondition(Game1.getLocationFromName("HaleyHouse"))); + conditions.Add(new TimePrecondition(600, 2600)); + NPC emily = Game1.getCharacterFromName("Emily"); + + conditions.Add(new StardustCore.Events.Preconditions.NPCSpecific.DatingNPC(emily)); + + EventHelper e = new EventHelper("BirthdayDating:Emily", 19953, conditions, new EventStartData("playful", 20, 18, new EventStartData.FarmerData(11, 20, EventHelper.FacingDirection.Right), new List() { + new EventStartData.NPCData(emily,20,17, EventHelper.FacingDirection.Down), + })); + e.globalFadeIn(); + + //Dialogue here. + e.moveFarmerRight(9, EventHelper.FacingDirection.Up, false); + + e.speak(emily, GetTranslatedString("Event:DatingEmilyBirthday_Emily:0")); //emi 0 + e.speak(emily, GetTranslatedString("Event:DatingEmilyBirthday_Emily:1")); //emi 0 + e.emoteFarmer_Happy(); + e.speak(emily, GetTranslatedString("Event:DatingEmilyBirthday_Emily:2")); //emi 0 + e.speak(emily, GetTranslatedString("Event:DatingEmilyBirthday_Emily:3")); //emi 0 + e.speak(emily, GetTranslatedString("Event:DatingEmilyBirthday_Emily:4")); //emi 0 + e.emoteFarmer_Thinking(); + e.speak(emily, GetTranslatedString("Event:DatingEmilyBirthday_Emily:5")); //emi 0 + + + e.emoteFarmer_Heart(); + e.emote_Heart("Emily"); + e.globalFadeOut(0.010); + e.setViewportPosition(-100, -100); + e.showMessage(HappyBirthday.Config.translationInfo.getTranslatedString("Event:DatingEmilyBirthday_Finish:0")); //abi party finish 0 + e.showMessage(HappyBirthday.Config.translationInfo.getTranslatedString("Event:DatingEmilyBirthday_Finish:1")); //abi party finish 0 + e.addObjectToPlayersInventory(220, 1, false); + e.showMessage(HappyBirthday.Config.translationInfo.getTranslatedString("Event:PartyOver")); + e.end(); + return e; } + + /* public static EventHelper DatingBirthday_Haley() { diff --git a/GeneralMods/HappyBirthday/HappyBirthday.cs b/GeneralMods/HappyBirthday/HappyBirthday.cs index 1fc359c2..3a9c1b36 100644 --- a/GeneralMods/HappyBirthday/HappyBirthday.cs +++ b/GeneralMods/HappyBirthday/HappyBirthday.cs @@ -135,6 +135,11 @@ namespace Omegasis.HappyBirthday EventHelper eve = this.eventManager.getEvent("BirthdayDating:Abigail"); eve.startEventAtLocationifPossible(); } + if (e.NewLocation == Game1.getLocationFromName("HaleyHouse")) + { + EventHelper eve = this.eventManager.getEvent("BirthdayDating:Emily"); + eve.startEventAtLocationifPossible(); + } } private void GameLoop_GameLaunched(object sender, GameLaunchedEventArgs e) @@ -166,6 +171,7 @@ namespace Omegasis.HappyBirthday data["birthdayDatingSebastian"] = BirthdayMessages.GetTranslatedString("Mail:birthdayDatingSebastian"); data["birthdayDatingLeah"] = BirthdayMessages.GetTranslatedString("Mail:birthdayDatingLeah"); data["birthdayDatingAbigail"] = BirthdayMessages.GetTranslatedString("Mail:birthdayDatingAbigail"); + data["birthdayDatingEmily"] = BirthdayMessages.GetTranslatedString("Mail:birthdayDatingEmily"); } @@ -611,6 +617,10 @@ namespace Omegasis.HappyBirthday { Game1.player.mailReceived.Remove("birthdayDatingAbigail"); } + if (Game1.player.mailReceived.Contains("birthdayDatingEmily")) + { + Game1.player.mailReceived.Remove("birthdayDatingEmily"); + } EventHelper communityCenterJunimoBirthday = BirthdayEvents.CommunityCenterJunimoBirthday(); @@ -619,6 +629,7 @@ namespace Omegasis.HappyBirthday EventHelper birthdayDating_Sebastian = BirthdayEvents.DatingBirthday_Sebastian(); EventHelper birthdayDating_Leah = BirthdayEvents.DatingBirthday_Leah(); EventHelper birthdayDating_Abigail = BirthdayEvents.DatingBirthday_Abigail(); + EventHelper birthdayDating_Emily = BirthdayEvents.DatingBirthday_Emily(); this.eventManager.addEvent(communityCenterJunimoBirthday); this.eventManager.addEvent(birthdayDating_Penny); @@ -626,6 +637,7 @@ namespace Omegasis.HappyBirthday this.eventManager.addEvent(birthdayDating_Sebastian); this.eventManager.addEvent(birthdayDating_Leah); this.eventManager.addEvent(birthdayDating_Abigail); + this.eventManager.addEvent(birthdayDating_Emily); if (Game1.player.eventsSeen.Contains(communityCenterJunimoBirthday.getEventID())) { Game1.player.eventsSeen.Remove(communityCenterJunimoBirthday.getEventID()); //Repeat the event. @@ -650,6 +662,10 @@ namespace Omegasis.HappyBirthday { Game1.player.eventsSeen.Remove(birthdayDating_Abigail.getEventID()); //Repeat the event. } + if (Game1.player.eventsSeen.Contains(birthdayDating_Emily.getEventID())) + { + Game1.player.eventsSeen.Remove(birthdayDating_Emily.getEventID()); //Repeat the event. + } } /// Raised before the game begins writes data to the save file (except the initial save creation). @@ -731,10 +747,17 @@ namespace Omegasis.HappyBirthday { if (Game1.player.friendshipData["Abigail"].IsDating()) { - Game1.player.mailbox.Add("birthdayDatingabigail"); + Game1.player.mailbox.Add("birthdayDatingAbigail"); } } + if (Game1.player.friendshipData.ContainsKey("Emily")) + { + if (Game1.player.friendshipData["Emily"].IsDating()) + { + Game1.player.mailbox.Add("birthdayDatingEmily"); + } + } if (Game1.player.friendshipData.ContainsKey("Sebastian")) {