diff --git a/GeneralMods/HappyBirthday/BirthdayMessages.cs b/GeneralMods/HappyBirthday/BirthdayMessages.cs index 23f281cc..496d32ce 100644 --- a/GeneralMods/HappyBirthday/BirthdayMessages.cs +++ b/GeneralMods/HappyBirthday/BirthdayMessages.cs @@ -146,6 +146,8 @@ namespace Omegasis.HappyBirthday ["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", + ["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", ["Happy Birthday: Star Message"] = "It's your birthday today! Happy birthday!", ["Happy Birthday: Farmhand Birthday Message"] = "It's @'s birthday! Happy birthday to them!", @@ -219,10 +221,24 @@ namespace Omegasis.HappyBirthday ["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:DatingHaleyBirthday_Haley:0"] = "Hey, @ you are just in time for the party!$h", + ["Event:DatingHaleyBirthday_Haley:1"] = "Well I mean it would be a party, but I thought it would be nice to have something with just the two of us. $l", + ["Event:DatingHaleyBirthday_Haley:2"] = "I think birthdays can be pretty fun when you do them right, but I wanted this to be special because... you are special you know?$l", + ["Event:DatingHaleyBirthday_Haley:3"] = "Anyways, I got us some cake to eat too! Make sure to make a wish alright?$h", + ["Event:DatingHaleyBirthday_Haley:4"] = "Happy Birthday @. I'm so glad we got to spend some time together. Let's take a picture to remember this moment. $l", + ["Event:DatingHaleyBirthday_Finish:0"] = "It was nice celebrating my birthday with Haley.", + ["Event:DatingHaleyBirthday_Finish:1"] = "It looks like there was some leftover cake too!", + + ["Event:DatingHarveyBirthday_Harvey:0"] = "Hi there, @ you are just in time! Let me clean up a bit.$h", + ["Event:DatingHarveyBirthday_Harvey:1"] = "I though it would be nice to have a small celebration for you so I cooked us something special.$l", + ["Event:DatingHarveyBirthday_Harvey:2"] = "Don't worry about the wine. A little moderation is needed but this is a special day!$h", + ["Event:DatingHarveyBirthday_Harvey:3"] = "Now cheers! Happy Birthday, here is to good health and many more years to come!$l", + ["Event:DatingHarveyBirthday_Finish:0"] = "It was nice celebrating my birthday with Harvey.", + ["Event:DatingHarveyBirthday_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 55066dc6..ab62cbf9 100644 --- a/GeneralMods/HappyBirthday/Framework/BirthdayEvents.cs +++ b/GeneralMods/HappyBirthday/Framework/BirthdayEvents.cs @@ -248,7 +248,7 @@ namespace Omegasis.HappyBirthday.Framework conditions.Add(new StardustCore.Events.Preconditions.NPCSpecific.DatingNPC(leah)); - EventHelper e = new EventHelper("BirthdayDating:Leah", 19953, conditions, new EventStartData("playful", 12, 7, new EventStartData.FarmerData(7, 9, EventHelper.FacingDirection.Up), new List() { + EventHelper e = new EventHelper("BirthdayDating:Leah", 19954, conditions, new EventStartData("playful", 12, 7, new EventStartData.FarmerData(7, 9, EventHelper.FacingDirection.Up), new List() { new EventStartData.NPCData(leah,14,11, EventHelper.FacingDirection.Left), })); e.addObject(11, 11, 220); @@ -297,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", 19955, 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), @@ -338,7 +338,7 @@ namespace Omegasis.HappyBirthday.Framework } - + public static EventHelper DatingBirthday_Emily() { List conditions = new List(); @@ -350,7 +350,7 @@ namespace Omegasis.HappyBirthday.Framework 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() { + EventHelper e = new EventHelper("BirthdayDating:Emily", 19956, 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(); @@ -380,11 +380,49 @@ namespace Omegasis.HappyBirthday.Framework return e; } - /* + public static EventHelper DatingBirthday_Haley() { + List conditions = new List(); + conditions.Add(new FarmerBirthdayPrecondition()); + conditions.Add(new LocationPrecondition(Game1.getLocationFromName("HaleyHouse"))); + conditions.Add(new TimePrecondition(600, 2600)); + + NPC haley = Game1.getCharacterFromName("Haley"); + + conditions.Add(new StardustCore.Events.Preconditions.NPCSpecific.DatingNPC(haley)); + + EventHelper e = new EventHelper("BirthdayDating:Haley", 19957, conditions, new EventStartData("playful", 20, 18, new EventStartData.FarmerData(11, 20, EventHelper.FacingDirection.Right), new List() { + new EventStartData.NPCData(haley,20,17, EventHelper.FacingDirection.Down), + })); + e.globalFadeIn(); + + //Dialogue here. + e.moveFarmerRight(9, EventHelper.FacingDirection.Up, false); + + e.speak(haley, GetTranslatedString("Event:DatingHaleyBirthday_Haley:0")); + e.speak(haley, GetTranslatedString("Event:DatingHaleyBirthday_Haley:1")); + e.emoteFarmer_Happy(); + e.speak(haley, GetTranslatedString("Event:DatingHaleyBirthday_Haley:2")); + e.speak(haley, GetTranslatedString("Event:DatingHaleyBirthday_Haley:3")); + e.emoteFarmer_Thinking(); + e.speak(haley, GetTranslatedString("Event:DatingHaleyBirthday_Haley:4")); + + + e.emoteFarmer_Heart(); + e.emote_Heart("Haley"); + e.globalFadeOut(0.010); + e.setViewportPosition(-100, -100); + e.showMessage(HappyBirthday.Config.translationInfo.getTranslatedString("Event:DatingHaleyBirthday_Finish:0")); //abi party finish 0 + e.showMessage(HappyBirthday.Config.translationInfo.getTranslatedString("Event:DatingHaleyBirthday_Finish:1")); //abi party finish 0 + e.addObjectToPlayersInventory(221, 1, false); + e.showMessage(HappyBirthday.Config.translationInfo.getTranslatedString("Event:PartyOver")); + e.end(); + return e; + } + /* public static EventHelper DatingBirthday_Sam() { @@ -456,42 +494,82 @@ namespace Omegasis.HappyBirthday.Framework return e; } - /* - public static EventHelper DatingBirthday_Elliott() - { - } + /* + public static EventHelper DatingBirthday_Elliott() + { + + } + public static EventHelper DatingBirthday_Shane() { - } - public static EventHelper DatingBirthday_Harvey() - { - - } - - public static EventHelper DatingBirthday_Alex() - { - - } - - - public static EventHelper MarriedBirthday() - { - - } - - - public static EventHelper CommunityBirthday() - { - - } - - public static EventHelper JojaBirthday() - { - } */ + public static EventHelper DatingBirthday_Harvey() + { + List conditions = new List(); + conditions.Add(new FarmerBirthdayPrecondition()); + conditions.Add(new LocationPrecondition(Game1.getLocationFromName("HarveyRoom"))); + conditions.Add(new TimePrecondition(600, 2600)); + + NPC harvey = Game1.getCharacterFromName("Harvey"); + + conditions.Add(new StardustCore.Events.Preconditions.NPCSpecific.DatingNPC(harvey)); + + EventHelper e = new EventHelper("BirthdayDating:Harvey", 19957, conditions, new EventStartData("playful", 6, 6, new EventStartData.FarmerData(6, 11, EventHelper.FacingDirection.Up), new List() { + new EventStartData.NPCData(harvey,3,6, EventHelper.FacingDirection.Down), + })); + e.globalFadeIn(); + + //Dialogue here. + e.moveFarmerUp(5, EventHelper.FacingDirection.Up, false); + e.moveFarmerLeft(2, EventHelper.FacingDirection.Left, false); + e.npcFaceDirection(harvey, EventHelper.FacingDirection.Right); + e.speak(harvey, GetTranslatedString("Event:DatingHarveyBirthday_Harvey:0")); + e.speak(harvey, GetTranslatedString("Event:DatingHarveyBirthday_Harvey:1")); + e.emoteFarmer_QuestionMark(); + e.speak(harvey, GetTranslatedString("Event:DatingHarveyBirthday_Harvey:2")); + e.speak(harvey, GetTranslatedString("Event:DatingHarveyBirthday_Harvey:3")); + + + e.emoteFarmer_Heart(); + e.emote_Heart("Harvey"); + e.globalFadeOut(0.010); + e.setViewportPosition(-100, -100); + e.showMessage(HappyBirthday.Config.translationInfo.getTranslatedString("Event:DatingHarveyBirthday_Finish:0")); //abi party finish 0 + e.showMessage(HappyBirthday.Config.translationInfo.getTranslatedString("Event:DatingHarveyBirthday_Finish:1")); //abi party finish 0 + e.addObjectToPlayersInventory(237, 1, false); + e.addObjectToPlayersInventory(348, 1, false); + e.showMessage(HappyBirthday.Config.translationInfo.getTranslatedString("Event:PartyOver")); + e.end(); + return e; + } + + /* + public static EventHelper DatingBirthday_Alex() + { + + } + + + public static EventHelper MarriedBirthday() + { + + } + + + public static EventHelper CommunityBirthday() + { + + } + + public static EventHelper JojaBirthday() + { + + } + */ + public static string GetTranslatedString(string Key) { diff --git a/GeneralMods/HappyBirthday/HappyBirthday.cs b/GeneralMods/HappyBirthday/HappyBirthday.cs index 3a9c1b36..9038c136 100644 --- a/GeneralMods/HappyBirthday/HappyBirthday.cs +++ b/GeneralMods/HappyBirthday/HappyBirthday.cs @@ -102,7 +102,7 @@ namespace Omegasis.HappyBirthday this.othersBirthdays = new Dictionary(); this.eventManager = new EventManager(); - this.eventManager.addCustomEventLogic("AddObjectToPlayersInventory", ExtraEventActions.addObjectToPlayerInventory); + } private void Player_Warped(object sender, WarpedEventArgs e) @@ -139,6 +139,13 @@ namespace Omegasis.HappyBirthday { EventHelper eve = this.eventManager.getEvent("BirthdayDating:Emily"); eve.startEventAtLocationifPossible(); + EventHelper eve2 = this.eventManager.getEvent("BirthdayDating:Haley"); + eve2.startEventAtLocationifPossible(); + } + if (e.NewLocation == Game1.getLocationFromName("HarveyRoom")) + { + EventHelper eve = this.eventManager.getEvent("BirthdayDating:Harvey"); + eve.startEventAtLocationifPossible(); } } @@ -172,6 +179,8 @@ namespace Omegasis.HappyBirthday data["birthdayDatingLeah"] = BirthdayMessages.GetTranslatedString("Mail:birthdayDatingLeah"); data["birthdayDatingAbigail"] = BirthdayMessages.GetTranslatedString("Mail:birthdayDatingAbigail"); data["birthdayDatingEmily"] = BirthdayMessages.GetTranslatedString("Mail:birthdayDatingEmily"); + data["birthdayDatingHaley"] = BirthdayMessages.GetTranslatedString("Mail:birthdayDatingHaley"); + data["birthdayDatingHarvey"] = BirthdayMessages.GetTranslatedString("Mail:birthdayDatingHarvey"); } @@ -621,6 +630,14 @@ namespace Omegasis.HappyBirthday { Game1.player.mailReceived.Remove("birthdayDatingEmily"); } + if (Game1.player.mailReceived.Contains("birthdayDatingHaley")) + { + Game1.player.mailReceived.Remove("birthdayDatingHaley"); + } + if (Game1.player.mailReceived.Contains("birthdayDatingHarvey")) + { + Game1.player.mailReceived.Remove("birthdayDatingHarvey"); + } EventHelper communityCenterJunimoBirthday = BirthdayEvents.CommunityCenterJunimoBirthday(); @@ -630,6 +647,8 @@ namespace Omegasis.HappyBirthday EventHelper birthdayDating_Leah = BirthdayEvents.DatingBirthday_Leah(); EventHelper birthdayDating_Abigail = BirthdayEvents.DatingBirthday_Abigail(); EventHelper birthdayDating_Emily = BirthdayEvents.DatingBirthday_Emily(); + EventHelper birthdayDating_Haley = BirthdayEvents.DatingBirthday_Haley(); + EventHelper birthdayDating_Harvey = BirthdayEvents.DatingBirthday_Harvey(); this.eventManager.addEvent(communityCenterJunimoBirthday); this.eventManager.addEvent(birthdayDating_Penny); @@ -638,6 +657,8 @@ namespace Omegasis.HappyBirthday this.eventManager.addEvent(birthdayDating_Leah); this.eventManager.addEvent(birthdayDating_Abigail); this.eventManager.addEvent(birthdayDating_Emily); + this.eventManager.addEvent(birthdayDating_Haley); + this.eventManager.addEvent(birthdayDating_Harvey); if (Game1.player.eventsSeen.Contains(communityCenterJunimoBirthday.getEventID())) { Game1.player.eventsSeen.Remove(communityCenterJunimoBirthday.getEventID()); //Repeat the event. @@ -666,6 +687,14 @@ namespace Omegasis.HappyBirthday { Game1.player.eventsSeen.Remove(birthdayDating_Emily.getEventID()); //Repeat the event. } + if (Game1.player.eventsSeen.Contains(birthdayDating_Haley.getEventID())) + { + Game1.player.eventsSeen.Remove(birthdayDating_Haley.getEventID()); //Repeat the event. + } + if (Game1.player.eventsSeen.Contains(birthdayDating_Harvey.getEventID())) + { + Game1.player.eventsSeen.Remove(birthdayDating_Harvey.getEventID()); //Repeat the event. + } } /// Raised before the game begins writes data to the save file (except the initial save creation). @@ -758,6 +787,13 @@ namespace Omegasis.HappyBirthday Game1.player.mailbox.Add("birthdayDatingEmily"); } } + if (Game1.player.friendshipData.ContainsKey("Haley")) + { + if (Game1.player.friendshipData["Haley"].IsDating()) + { + Game1.player.mailbox.Add("birthdayDatingHaley"); + } + } if (Game1.player.friendshipData.ContainsKey("Sebastian")) { @@ -766,6 +802,14 @@ namespace Omegasis.HappyBirthday Game1.player.mailbox.Add("birthdayDatingSebastian"); } } + if (Game1.player.friendshipData.ContainsKey("Harvey")) + { + if (Game1.player.friendshipData["Harvey"].IsDating()) + { + Game1.player.mailbox.Add("birthdayDatingHarvey"); + } + } + if (Game1.player.CanReadJunimo()) {