From f6ac9291f1987225c81910629b532abaf92e71cf Mon Sep 17 00:00:00 2001 From: Nicholas Johnson Date: Fri, 2 Mar 2018 16:28:07 -0800 Subject: [PATCH] Update to convert to SMAPI Content API --- .../Content/Data/FarmerBirthdayDialogue.xnb | Bin 1642 -> 0 bytes .../Content/Data/PossibleBirthdayGifts.xnb | Bin 1436 -> 0 bytes .../HappyBirthday/Content/Data/mail.xnb | Bin 11710 -> 0 bytes GeneralMods/HappyBirthday/HappyBirthday.cs | 80 +++++++++++++++--- .../HappyBirthday/HappyBirthday.csproj | 11 +-- GeneralMods/HappyBirthday/PossibleGifts.cs | 58 +++++++++++++ 6 files changed, 129 insertions(+), 20 deletions(-) delete mode 100644 GeneralMods/HappyBirthday/Content/Data/FarmerBirthdayDialogue.xnb delete mode 100644 GeneralMods/HappyBirthday/Content/Data/PossibleBirthdayGifts.xnb delete mode 100644 GeneralMods/HappyBirthday/Content/Data/mail.xnb create mode 100644 GeneralMods/HappyBirthday/PossibleGifts.cs diff --git a/GeneralMods/HappyBirthday/Content/Data/FarmerBirthdayDialogue.xnb b/GeneralMods/HappyBirthday/Content/Data/FarmerBirthdayDialogue.xnb deleted file mode 100644 index c1d080328cf5fc84ce29ce1df3b7ac6f73492aa6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1642 zcmV-w29^0(PC|DDfocW-08tJA0RIkA22ubJ66F8@G5|F-000J6)#}2JgmM823{I?K zVnDUBR&7SftkFV@ZEkbk=5@H+?%i^_NqQ&hpS+m=(4GK*3;@uK002Q11AK(1623f1 z@I>JY@GKyek_K@A2OxknP-MEDyP*-Zs_n`vdxe=~tk!eJ9yU!87@SCriH`p-1n>X= z003wJfJh65JEAbyiF{=0CA!67hXO>Aw!sQS z7G+j`kSfEMz&DPKpeW&9Hf`*M*^K>cuZ^*@zXsacFY*87CjRWJ(7#UiJCABO+rHkb zt5g8aETP?sG~pWIu+rk450dwfNRx?_B6)fDwWbAl%3G&CMp@fkdgLyb)#Jrl&_KiJT zUqiuK44X@6Aj0JMzim+gvKy%rTC zPl@4YAPG}LnwoS`Z54y|W`zOarQkdF=}LemFbS#<&CtL=#EC z11mJ@W@@9YelKv+dad{ykFdu8!zxPYJD!Sn1zM$WBHPu3L#__qrR!@z&EIFSIg0>8 zVZ$6Jz!t`|D)q9xyk9`UxhFel0TaO)U`m+C{k~ZtF$#R{Fy)iDg?Dr(UxF>Kay6du zVq0YDkm=8neFPBQlizC-R2j9+h^!kS*h&2cF`M4IGL{y$F7wlON?zv+R&Og_!CNK@ zM@lboVU--4eDQpSk3{u@=ZK_XLT}rfF7lhgy;tF5n5170Cnp5)_~Cd8<$iK-X^-bM zgfYr?Kf)NX0>1~?AM?}q46RDUE;R#4Y@AZ<+~p{GQ{27*hc*WLQL4u_IuD)7$2H+c zD(h|ts_|nxOW6`z0J&DACWG5c(!p_)?@JD(t>B|sHqlLYc6kN-R-Etk{4#C*k4T|Q zLpt#+MI54V>>)|em!;VZze)1D=eWT)13ncV2M=sy+tDPjQW4V-+WRM$rD z_Y6?>3HL3R-WRs~$uOaqO`kO>r`s0g)8Es-q{jHk!$s_gRE4YYoD}=h| zX2`n*QuB5Ko@cZNs&8(a?lv@XV1W2^d}F>gYR|=KHeeS7Cv}u*>;skv%d^vY$%-bs zm*j#gbc?2yg3>}w;k%!M-sRHsrB7Q}LsM$2F?I2YN84B7dN}2D=gy#M7+>ZIt|V`j zyhTP|A3=un8{!|3qmo#G^SF~92^!-E zx4UQ1MWDyCPc6kJE)J}wp7`QQ?0qOc-?B3Bi7G2AUOT!4c&KIb2XZSYz=w(22g-=_co000000Fl5K)Bpeg diff --git a/GeneralMods/HappyBirthday/Content/Data/PossibleBirthdayGifts.xnb b/GeneralMods/HappyBirthday/Content/Data/PossibleBirthdayGifts.xnb deleted file mode 100644 index e0650952d134234dfea92a708cba1cfe3ec9c6c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1436 zcmV;N1!MYHPC|DDft&>Z0Ba8b0RInb1%v<)vi1M~GX^y!000VBt?I~=ox&(&benTfPhI)|34@3AhZAgGhzTW1OT>RM(d%P zC~+^6j{w97TLKE?5`;jEpRHp728EMkw#2AibxCQLCNzZ0uJ%$Zbzljb*lbHkfQK5S z!pZ+n2+{xm001E(0-#hNv)MCs7dWtx_|Fno|Nr>^?-g!QveH&r@#<5Yl<=QIS=D3< z6>ipArJfvBrXs31C&^+7Ey%ue3q@8m1NPy=+}Ovr)YdNcNfu2@OS|@FtV&IqPO(V_ z=r=(9%c)rTrOs~3tQvL+WO^zY99T3fs<^d83KhC#_|9?&V z#ix(Ao$f}CX~WU+e|oPpenVEGk^L`VUW+%c*5bh=^a>`3Xn-3b1cs`=LL18vp{}h| zoNoowKc*+9u}APrDE$=wIHt6}J&>?fz{Qwd?sx&sotJRJ=mtdBb#wyRlrCc!w}TmyMneanqrRX+1Uc}ykz}h1FrEi2kOkt_;h z0p|8)_W?God4~(a%JpMm0QlXbv!K0_EZTxDuxBCC9xQ(FuKKT*9y$2K-UPJoiPh8L}kog@SNyoEk_{{JKoQg4tI? zif$@*ycO5Iy%65lnQ#SS?94Um#z~d*-00jSH?D|pvV2|Iy)3g1#g49VhpiTU@F^LL zd(RsR=fqr4bZR)W)+&GYCkyPR8=ODbt|K92Z^IWAZD(R-NZ*^_B3PHAa3%1)pl0qc zYuZD65%grcxj16*W|GqP(xY4ZEdbIzb5@ z-O%b9?pCMH{qAg6car5^o)io7@CCB$FRV?j#}}Cg{?k`%3GqaRTy!Qlzwym=&yn9k z58)tQk=1c_YS0$Z{3Kr+0V{3t1SOPeR#n`fMy~vKjs+CUs28v*F>Uw|wal2v+YXX| zUY2Sx3MJ=Z2r@r7)=?6`T1Am-1gITI*k$9ln}ag??}NF_k%R88>f?S)>?Gk=`p>PM z^pA7JgO(iiu=Tk{5z;8jg(fk2B+VmLWI)$&jXIlTp|J-AquoWXIS$`m8iC|zACB+B zK@q)h*^{W=#-^iHn4aN61JY|wP@Z_Kf9Ow=ef>YuOd&LElTH4s{v#;C&v+8$m0_b? z7%as_=uqUBHs90gB~3b9jLJzR)FL@)l6iT};6C(cp*V4T33L*in93tqqcf+w3sk42 zOY-Gddc6Ka#>%Gow!;}((K2ZF_f59(k4k}D{-%h&wI@|!!n;l69m>0)cAylaY zGC7l^)Xd)^t8w_8z4Pdic1y4faKg6+AMTV+g5Hee45jg!~GfG7X}0000)0lN19 diff --git a/GeneralMods/HappyBirthday/Content/Data/mail.xnb b/GeneralMods/HappyBirthday/Content/Data/mail.xnb deleted file mode 100644 index facfa1d80e7093477290aac40d939b1cdc211fa3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11710 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 mod entry point. - public class HappyBirthday : Mod + public class HappyBirthday : Mod, IAssetEditor, IAssetLoader { /********* ** Properties @@ -46,6 +46,68 @@ namespace Omegasis.HappyBirthday private bool CheckedForBirthday; //private Dictionary Dialogue; //private bool SeenEvent; + public bool CanLoad(IAssetInfo asset) + { + return asset.AssetNameEquals(@"Data\FarmerBirthdayDialogue"); + } + + /// Load a matched asset. + /// Basic metadata about the asset being loaded. + public T Load(IAssetInfo asset) + { + return (T)(object)new Dictionary // (T)(object) is a trick to cast anything to T if we know it's compatible + { + ["Robin"] = "Hey @, happy birthday! I'm glad you choose this town to move here to. ", + ["Demetrius"] = "Happy birthday @! Make sure you take some time off today to enjoy yourself. $h", + ["Maru"] = "Happy birthday @. I tried to make you an everlasting candle but sadly that didn't work out. Maybe next year right? $h", + ["Sebastian"] = "Happy birthday @. Here's to another year of chilling. ", + ["Linus"] = "Happy birthday @. Thanks for visiting me even on your birthday. It makes me really happy. ", + ["Pierre"] = "Hey @, happy birthday! Hopefully this next year for you will be a great one! ", + ["Caroline"] = "Happy birthday @. Thank you for all that you've done for our community. I'm sure your parents must be proud of you.$h", + ["Abigail"] = "Happy Birthday @! Hopefully this year we can go on even more adventures together $h!", + ["Alex"] = "Yo @, happy birthday! Maybe this will be your best year yet.$h", + ["George"] = "When you get to my age birthdays come and go. Still happy birthday @.", + ["Evelyn"] = "Happy birthday @. You have grown up to be such a fine individual and I'm sure you'll continue to grow. ", + ["Lewis"] = "Happy birthday @! I'm thankful for what you have done for the town and I'm sure your grandfather would be proud of you.", + ["Clint"] = "Hey happy birthday @. I'm sure this year is going to be great for you.", + ["Penny"] = "Happy birthday @. May you enjoy all of life's blessings this year. ", + ["Pam"] = "Happy birthday kid. We should have a drink to celebrate another year of life for you! $h", + ["Emily"] = "I'm sensing a strong positive life energy about you, so it must be your birthday. Happy birthday @!$h", + ["Haley"] = "Happy birthday @. Hopefully this year you'll get some good presents!$h", + ["Jas"] = "Happy birthday @. I hope you have a good birthday.", + ["Vincent"] = "Hey @ have you come to pl...oh it's your birthday? Happy birthday! ", + ["Jodi"] = "Hello there @. Rumor has it that today is your birthday. In that case, happy birthday!$h", + ["Kent"] = "Jodi told me that it was your birthday today @. Happy birthday and make sure to cherish every single day.", + ["Sam"] = "Yo @ happy birthday! We'll have to have a birthday jam session for you some time!$h ", + ["Leah"] = "Hey @ happy birthday! We should go to the saloon tonight and celebrate!$h ", + ["Shane"] = "Happy birthday @. Keep working hard and I'm sure this next year for you will be a great one.", + ["Marnie"] = "Hello there @. Everyone is talking about your birthday today and I wanted to make sure that I wished you a happy birthday as well, so happy birthday! $h ", + ["Elliott"] = "What a wonderful day isn't it @? Especially since today is your birthday. I tried to make you a poem but I feel like the best way of putting it is simply, happy birthday. $h ", + ["Gus"] = "Hey @ happy birthday! Hopefully you enjoy the rest of the day and make sure you aren't a stranger at the saloon!", + ["Dwarf"] = "Happy birthday @. I hope that what I got you is acceptable for humans as well. ", + ["Wizard"] = "The spirits told me that today is your birthday. In that case happy birthday @. ", + ["Harvey"] = "Hey @, happy birthday! Make sure to come in for a checkup some time to make sure you live many more years! ", + ["Sandy"] = "Hello there @. I heard that today was your birthday and I didn't want you feeling left out, so happy birthday!", + ["Willy"] = "Aye @ happy birthday. Looking at you reminds me of ye days when I was just a guppy swimming out to sea. Continue to enjoy them youngin.$h", + ["Krobus"] = "I have heard that it is tradition to give a gift to others on their birthday. In that case, happy birthday @." + }; + } + + public bool CanEdit(IAssetInfo asset) + { + return asset.AssetNameEquals(@"Data\mail"); + } + + public void Edit(IAssetData asset) + { + asset + .AsDictionary() + .Set("birthdayMom", "Dear @,^ Happy birthday sweetheart. It's been amazing watching you grow into the kind, hard working person that I've always dreamed that you would become. I hope you continue to make many more fond memories with the ones you love. ^ Love, Mom ^ P.S. Here's a little something that I made for you. %item object 221 1 %%"); + + asset + .AsDictionary() + .Set("birthdayDad", "Dear @,^ Happy birthday kiddo. It's been a little quiet around here on your birthday since you aren't around, but your mother and I know that you are making both your grandpa and us proud. We both know that living on your own can be tough but we believe in you one hundred percent, just keep following your dreams.^ Love, Dad ^ P.S. Here's some spending money to help you out on the farm. Good luck! %item money 5000 5001 %%"); + } /********* @@ -55,6 +117,7 @@ namespace Omegasis.HappyBirthday /// Provides simplified APIs for writing mods. public override void Entry(IModHelper helper) { + helper.Content.AssetLoaders.Add(new PossibleGifts()); this.Config = helper.ReadConfig(); TimeEvents.AfterDayStarted += this.TimeEvents_AfterDayStarted; @@ -299,8 +362,7 @@ namespace Omegasis.HappyBirthday { // read from birthday gifts file IDictionary data = Game1.content.Load>("Data\\PossibleBirthdayGifts"); - string text; - data.TryGetValue(name, out text); + data.TryGetValue(name, out string text); if (text != null) { string[] fields = text.Split('/'); @@ -400,8 +462,7 @@ namespace Omegasis.HappyBirthday if (!isBirthdayGiftList) { // get raw data - string text; - Game1.NPCGiftTastes.TryGetValue($"Universal_{group}", out text); + Game1.NPCGiftTastes.TryGetValue($"Universal_{group}", out string text); if (text == null) yield break; @@ -417,8 +478,7 @@ namespace Omegasis.HappyBirthday { // get raw data Dictionary data = Game1.content.Load>("Data\\PossibleBirthdayGifts"); - string text; - data.TryGetValue($"Universal_{group}_Gift", out text); + data.TryGetValue($"Universal_{group}_Gift", out string text); if (text == null) yield break; @@ -437,8 +497,7 @@ namespace Omegasis.HappyBirthday private IEnumerable GetLikedItems(string name) { // get raw data - string text; - Game1.NPCGiftTastes.TryGetValue(name, out text); + Game1.NPCGiftTastes.TryGetValue(name, out string text); if (text == null) yield break; @@ -457,8 +516,7 @@ namespace Omegasis.HappyBirthday private IEnumerable GetLovedItems(string name) { // get raw data - string text; - Game1.NPCGiftTastes.TryGetValue(name, out text); + Game1.NPCGiftTastes.TryGetValue(name, out string text); if (text == null) yield break; diff --git a/GeneralMods/HappyBirthday/HappyBirthday.csproj b/GeneralMods/HappyBirthday/HappyBirthday.csproj index b5255214..efee159d 100644 --- a/GeneralMods/HappyBirthday/HappyBirthday.csproj +++ b/GeneralMods/HappyBirthday/HappyBirthday.csproj @@ -23,6 +23,7 @@ prompt 4 false + x86 pdbonly @@ -47,18 +48,10 @@ + - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - diff --git a/GeneralMods/HappyBirthday/PossibleGifts.cs b/GeneralMods/HappyBirthday/PossibleGifts.cs new file mode 100644 index 00000000..0e212841 --- /dev/null +++ b/GeneralMods/HappyBirthday/PossibleGifts.cs @@ -0,0 +1,58 @@ +using StardewModdingAPI; +using System.Collections.Generic; + +namespace Omegasis.HappyBirthday +{ + class PossibleGifts : IAssetLoader + { + public bool CanLoad(IAssetInfo asset) + { + return asset.AssetNameEquals(@"Data\PossibleBirthdayGifts"); + } + + /// Load a matched asset. + /// Basic metadata about the asset being loaded. + public T Load(IAssetInfo asset) + { + return (T)(object)new Dictionary // (T)(object) is a trick to cast anything to T if we know it's compatible + { + ["Universal_Love_Gift"] = "74 1 446 1 204 1 446 5 773 1", + ["Universal_Like_Gift"] = "-2 3 -7 1 -26 2 -75 5 -80 3 72 1 220 1 221 1 395 1 613 1 634 1 635 1 636 1 637 1 638 1 724 1 233 1 223 1 465 20 -79 5", + ["Universal_Neutral_Gift"] = "194 1 262 5 -74 5 -75 3 334 5 335 1 390 20 388 20 -81 5 -79 3", + ["Robin"] = " BestGifts/224 1 426 1 636 1/GoodGift/-6 5 -79 5 424 1 709 1/NeutralGift//", + ["Demetrius"] = " Best Gifts/207 1 232 1 233 1 400 1/Good Gifts/-5 3 -79 5 422 1/NeutralGift/-4 3/", + ["Maru"] = " BestGift/72 1 197 1 190 1 215 1 222 1 243 1 336 1 337 1 400 1 787 1/Good Gift/-260 1 62 1 64 1 66 1 68 1 70 1 334 1 335 1 725 1 726 1/NeutralGift/", + ["Sebastian"] = " Best/84 1 227 1 236 1 575 1 305 1 /Good/267 1 276 1/Neutral/-4 3/", + ["Linus"] = " Best/88 1 90 1 234 1 242 1 280 1/Good/-5 3 -6 5 -79 5 -81 10/Neutral/-4 3/", + ["Pierre"] = " Best/202 1/Good/-5 3 -6 5 -7 1 18 1 22 1 402 1 418 1 259 1/Neutral//", + ["Caroline"] = " Best/213 1 593 1/Good/-7 1 18 1 402 1 418 1/Neutral// ", + ["Abigail"] = " Best/66 1 128 1 220 1 226 1 276 1 611 1/Good//Neutral// ", + ["Alex"] = " Best/201 1 212 1 662 1 664 1/Good/-5 3/Neutral// ", + ["George"] = " Best/20 1 205 1/Good/18 1 195 1 199 1 200 1 214 1 219 1 223 1 231 1 233 1/Neutral// ", + ["Evelyn"] = " Best/72 1 220 1 239 1 284 1 591 1 595 1/Good/-6 5 18 1 402 1 418 1/Neutral// ", + ["Lewis"] = " Best/200 1 208 1 235 1 260 1/Good/-80 5 24 1 88 1 90 1 192 1 258 1 264 1 272 1 274 1 278 1/Neutral// ", + ["Clint"] = " Best/60 1 62 1 64 1 66 1 68 1 70 1 336 1 337 1 605 1 649 1 749 1 337 5/Good/334 20 335 10 336 5/Neutral// ", + ["Penny"] = " Best/60 1 376 1 651 1 72 1 164 1 218 1 230 1 244 1 254 1/Good/-6 5 20 1 22 1/Neutral// ", + ["Pam"] = " Best/24 1 90 1 199 1 208 1 303 1 346 1/Good/-6 5 -75 5 -79 5 18 1 227 1 228 1 231 1 232 1 233 1 234 1 235 1 236 1 238 1 402 1 418 1/Neutral/-4 3/ ", + ["Emily"] = " Best/60 1 62 1 64 1 66 1 68 1 70 1 241 1 428 1 440 1 /Good/18 1 82 1 84 1 86 1 196 1 200 1 207 1 230 1 235 1 402 1 418 1/Neutral// ", + ["Haley"] = " Best/221 1 421 1 610 1 88 1 /Good/18 1 60 1 62 1 64 1 70 1 88 1 222 1 223 1 232 1 233 1 234 1 402 1 418 1 /Neutral// ", + ["Jas"] = " Best/221 1 595 1 604 1 /Good/18 1 60 1 64 1 70 1 88 1 232 1 233 1 234 1 222 1 223 1 340 1 344 1 402 1 418 1 /Neutral// ", + ["Vincent"] = " Best/221 1 398 1 612 1 /Good/18 1 60 1 64 1 70 1 88 1 232 1 233 1 234 1 222 1 223 1 340 1 344 1 402 1 418 1 /Neutral// ", + ["Jodi"] = " Best/72 1 200 1 211 1 214 1 220 1 222 1 225 1 231 1 /Good/-5 3 -6 5 -79 5 18 1 402 1 418 1 /Neutral// ", + ["Kent"] = " Best/607 1 649 1 /Good/-5 3 -79 5 18 1 402 1 418 1 /Neutral// ", + ["Sam"] = " Best/90 1 206 1 655 1 658 1 562 1 731 1/Good/167 1 210 1 213 1 220 1 223 1 224 1 228 1 232 1 233 1 239 1 -5 3/Neutral// ", + ["Leah"] = " Best/196 1 200 1 348 1 606 1 651 1 650 1 426 1 430 1 /Good/-5 3 -6 5 -79 5 -81 10 18 1 402 1 406 1 408 1 418 1 86 1 /Neutral// ", + ["Shane"] = " Best/206 1 215 1 260 1 346 1 /Good/-5 3 -79 5 303 1 /Neutral// ", + ["Marnie"] = " Best/72 1 221 1 240 1 608 1 /Good/-5 3 -6 5 402 1 418 1 /Neutral// ", + ["Elliott"] = " Best/715 1 732 1 218 1 444 1 /Good/727 1 728 1 -79 5 60 1 80 1 82 1 84 1 149 1 151 1 346 1 348 1 728 1 /Neutral/-4 3 / ", + ["Gus"] = " Best/72 1 213 1 635 1 729 1 /Good/348 1 303 1 -7 1 18 1 /Neutral// ", + ["Dwarf"] = " Best/60 1 62 1 64 1 66 1 68 1 70 1 749 1 /Good/82 1 84 1 86 1 96 1 97 1 98 1 99 1 121 1 122 1 /Neutral/-28 20 / ", + ["Wizard"] = " Best/107 1 155 1 422 1 769 1 768 1 /Good/-12 3 72 1 82 1 84 1/Neutral// ", + ["Harvey"] = " Best/348 1 237 1 432 1 395 1 342 1 /Good/-81 10 -79 5 -7 1 402 1 418 1 422 1 436 1 438 1 442 1 444 1 422 1 /Neutral// ", + ["Sandy"] = " Best/18 1 402 1 418 1 /Good/-75 5 -79 5 88 1 428 1 436 1 438 1 440 1 /Neutral// ", + ["Willy"] = " Best/72 1 143 1 149 1 154 1 276 1 337 1 698 1 /Good/66 1 336 1 340 1 699 1 707 1 /Neutral/-4 3 / ", + ["Krobus"] = " Best/72 1 16 1 276 1 337 1 305 1 /Good/66 1 336 1 340 1 /Neutral// " + }; + } + } +}