MTS has all free content, all the time. Find out how YOU can help to keep it running. Tell me how...

Autonomous gift giving at parties

by kestrellyn Posted 26th Jun 2020 at 11:00 PM - Updated 27th Jun 2020 at 12:44 AM by kestrellyn
16 Comments / replies (Who?) - 4 Feedback Posts, 12 Thanks Posts
This hack was originally released for a Secret Santa that happened over a year ago, as a gift for Sunrader, who's been helpful with testing since then. I finally polished it up for general release.

Basically: this hack allows sims to autonomously give each other gifts during parties. They will not actually give each other things from their inventories, they will actually purchase a totally new object and give it to the other sim. You can have birthday party style giving, where everyone give gifts to a particular sim, or Christmas party style giving, where everyone gives gifts to everyone else. Moreover, positively received gifts will increase the party score! Rejected gifts will naturally decrease the party score. The whole hack is highly configurable (because that was something Sunrader originally wanted). Details follow.

There are three packages that you need for this hack - the social plugin, the social object, and the controller.

The Social Interaction

This involves a totally new social interaction called Give Party Gift, which is only available during parties. It does require Seasons, however, because the gift box accessory used in the animation is a Seasons object (and the animation itself may require Seasons, too). As such, the success of the social interaction can be customized separately from the regular Give Gift interaction from Seasons. If you open the social object package in SimPE, you will see a BCON called "Gift Accept/Reject Tuning (Modify this one)", which you can modify to change when gifts are accepted or rejected. There are two possible acceptance results - a "good" accept where the sim enthusiastically accepts the gift, and a "meh" accept where they're fairly neutral. There are thresholds of STR, LTR and playfulness for "good" and "meh" accepts - basically, the "good" accept will happen if the sims meet any of the three requirements for it, the "meh" accept will happen if the sim doesn't meet those requirements but does meet at least one of the requirements for the "meh" accept, and a rejection will happen otherwise. Note that for the playfulness requirements the value in the BCON is 100 times the number of playful points, so 800 in the BCON means 8 playful.

When this social interaction is accepted, the game will randomly choose an object from a gift list, charge the giver for it, and put it in the receiver's inventory. Which list is used is chosen by a dialog that you will get at the beginning of the party. These lists are also BCONs in the social object, named starting with "Gift GUIDs", which can be modified. They look like this:



The first line is the number of GUIDs. It's very important that you remember this line, and if you edit the BCON, be sure to update it. An easy way to tell how many GUIDs there are is to take the (decimal) line number of the last line of the BCON and divide it by 2. After that, each GUID is entered on two lines - the first contains the last four digits of the GUID, and the second line contains the first four digits of the GUID. There are also labels for these three lists - the first line is labeled with the in-game name of the object, and the second line is labeled with its EP or SP requirement. Note that if you delete a line of the BCON, the corresponding line of the labels will NOT be deleted, so you will have to go do that separately. There should also not be any blank/0 lines in these BCONs.

There are two versions of the social object: partygiftssocialobject-AllEPs contains GUIDs from all EPs and SPs, including two from the EA Store, and obviously requires either the UC or every EP/SP plus the two EA Store baby toys (which I believe you can download from MATY). partygiftssocialobject-BaseGame contains only objects from the base game, although it still requires Seasons to actually work. If you have some other combination of EPs and SPs, you can download just the Base Game package, or download both and create custom gift lists with just the items that are actually in your game. You can also add any CC objects you want to these lists, or swap them out for entirely different lists as long as they are formatted the same way. If you want to make some objects more frequent as gifts than other objects, you can add them to the list(s) multiple times.

By default, the lists for Deco and Baby and Child contain only objects that cost up to 500 simoleons, and the Housewares list contains only object that cost up to 1000. If you change this, you will probably also want to change the minimum amount of money that sims need to have in order to give gifts off of that gift list. This is recorded in two places: 1) in the social plugin package there is a BCON you can edit called "Max possible gift price" (one line per gift list) and in the controller package there is a similar BCON called "Maximum gift cost" (similarly one line per gift list). This is the amount of money the sim has to have in order to give a gift, and it should be at least the actual maximum cost of gifts on the list.

If there's an error in a gift list, either one that you introduced by editing it or one that I introduced when I manually entered ~300 GUIDs into SimPE, you won't get an error or a reset, you'll instead get a notification in the upper right. If the game just couldn't create an object with the specified GUID, the notification will tell you the (decimal) line number of the first line (second part) of the GUID, followed by the actual values that are recorded for that object, second part then first part. These latter values will also be in decimal, so you will have to convert them to hex to see what they are in SimPE. If the sim coudn't afford the gift because you set the maximum gift cost too low, you will get a notification telling you where to set that.

The Controller and the Gift Recpient

You will get a second dialog when you start a party, after being asked to choose the gift list, which will ask if you want autonomous gift giving at all. The first option ("Yes, to everyone") will cause all sims on the lot to give gifts completely autonomously to anyone else on the lot. (Note: I've had trouble with this mode on my new computer, although it worked fine on my old Windows 7 computer and Sunrader reports that it works for them. So YMMV.) The third option ("No") will turn off autonomy completely, although the interaction will still be available if you, the player, want to use it. The second option ("Yes, to a designated gift recipient") will ask you to choose a gift recipient and will then cause the controller to run a script which will direct every family member and greeted or invited guest to give one gift to your designated gift recipient (not all at once; they will take turns). In this mode, the controller will interrupt your commands when it is that sims's time to give their gift. It should take a break if the gift recipient has low critical motives, is trying to satisfy critical motives, or is doing something party-critical like getting married or growing up. If the gift recipient leaves the lot during the party, or is off-lot at the time the party starts, gift-giving should resume after they return.

The "critical motives" are bladder, hunger, and energy and you can configure what "low" means by editing the BCON in the controller package called "Minumum motvies for gift recipient". Note that motives in the game actually go from -100 to positive 100, so the setting of -50 means when the bar is 1/4 full.

You can also modify the effects that given gifts have on the party score, by modifying the BCON called "Party scores for gifts" in the controller. There are different values for "good" gifts, "meh" gifts, and rejected gifts. These are scaled by the number of people at the party - the way it works is that if every person at the party gives one "good" gift, the party score will be modified by the "good" gift score times 10, and if every person at the party gives a "meh" gift, the party score is modified by the "meh" gift score times 10, etc. So, the more people there are at the party, the smaller an effect each individual gift has. A roof raiser party is achieved at a score of 175; by default the settings are 10 for a "good" gift, 5 for a "meh" gift, and -5 for a rejected gift. Note that these have effect regardless of whether the gift was given autonomously, or by you, or as part of the controller's script.

There are two versions of the controller: partygiftscontroller-AL is what you need if you have Apartment Life, and partygiftscontroller-Seasons is what you need if you don't have Apartment Life.

Game Compatibility

This hack requires Seasons. Otherwise, you will just need to get the correct social object and controller packages.

Hack Compatibility

This might conflict with hacks that change what happens at the beginning and end of parties, or hacks that change how party score is calculated. It does conflict with simler90's New Parties mod - I thought about making a compatible version for that, but I suspect that simler is going to continue updating that mod to add more and more new parties, and it will be hard to tell if they modify the main part that conflicts with this one (which is the party score calculation), so it will be hard for me to keep that compatible version up to date. I'd be happy to help them make their mod compatible, though, since I don't plan to change the party score calculation of this mod ever again.

Specifically, this mod modified BHAVs 0x1002, 0x1005, and 0x101D in group 0x7FB4DF10, as well as adding a new BCON 0x1010 to that group.

Additional Credits:
Sunrader, for testing

You must have the expansion or stuff packs listed below installed to use this custom content. Please see the post text for any exceptions.

Seasons

This is a multi-part download:


Download one social object, one controller, and the social plugin.
Key: - File was updated after upload was posted
Filename - Tip: You can click the magnifying glass to see the archive contents Size Downloads Date
partygiftscontroller-AL.zip 3.1 KB 156 26th Jun 2020
partygiftssocialobject-AllEPs.zip 13.1 KB 171 26th Jun 2020
partygiftssocialplugin.zip 944 Bytes 150 26th Jun 2020
partygiftscontroller-Seasons.zip 3.0 KB 41 26th Jun 2020
partygiftssocialobject-BaseGame.zip 7.3 KB 43 26th Jun 2020
Don't forget to Thank the creator after downloading! Use the Thanks button located above the screenshots above.


  • Basic Download and Install Instructions:
1. Download: Click the download link to save the .rar or .zip file(s) to your computer.

2. Extract the zip, rar, or 7z file.

3. Place in Downloads Folder: Cut and paste the .package file(s) into your Downloads folder:
  • Origin (Ultimate Collection): Users\(Current User Account)\Documents\EA Games\The Sims™ 2 Ultimate Collection\Downloads\
  • Non-Origin, Windows Vista/7/8/10: Users\(Current User Account)\Documents\EA Games\The Sims 2\Downloads\
  • Non-Origin, Windows XP: Documents and Settings\(Current User Account)\My Documents\EA Games\The Sims 2\Downloads\
  • Mac: Users\(Current User Account)\Documents\EA Games\The Sims 2\Downloads
  • Mac x64: /Library/Containers/com.aspyr.sims2.appstore/Data/Library/Application Support/Aspyr/The Sims 2/Downloads
Need more information?
 
16 Comments / Replies (Who?) - 3 Feedback Posts, 12 Thanks Posts
Hide Thanks Posts for this thread (Show only feedback)
Mad Poster
THANKS POST
#2 Old 27th Jun 2020 at 2:18 AM
This sounds awesome! Thank you for making and sharing it :-)
Lab Assistant
THANKS POST
#3 Old 27th Jun 2020 at 2:44 AM
I really really love this concept. I think it adds a lot of character and realism to parties. Thank you so much for the work!
Theorist
THANKS POST
#4 Old 27th Jun 2020 at 2:50 AM
Although kestrellyn has worked to make this super-configurable, I have to tell you guys, it's also just super fun right out of the box. Just plop it in and throw a party. I love autonomous action, and this one in "Christmas" mode is a hoot! Thanks, again, for a "Super" Santa gift, k! I know everyone will enjoy it as much as I have!
Instructor
THANKS POST
#5 Old 27th Jun 2020 at 3:43 AM
Thank you. Looking forward to trying this out in game first chance I get.
Field Researcher
THANKS POST
#6 Old 27th Jun 2020 at 9:28 AM
Wow, I finally have a reason to actually throw parties. I usually just opted for inviting over a dozen sims at once, because the timing and scoring is stressful and the benefits just don't ever seem worth it. Thanks!

And a million extra thanks for the elegant documentation and configurability. <3
Theorist
THANKS POST
#7 Old 27th Jun 2020 at 11:37 AM
I may have to throw a party...this seems like a great mod!
Test Subject
THANKS POST
#8 Old 27th Jun 2020 at 12:47 PM
Seems amazing! I really like the idea of autonomous gifts for a birthday party and I love configurable mods. Thanks!
Forum Resident
THANKS POST
#9 Old 27th Jun 2020 at 3:07 PM
My god - you are amazing! I LOVE YOU!!! :D I've wanted this for AGES - thank you so much!
Mad Poster
THANKS POST
#10 Old 27th Jun 2020 at 3:08 PM
Thank-you!! I can't wait to try this in my game. It's definitely gameplay that I absolutely love.
Theorist
THANKS POST
#11 Old 27th Jun 2020 at 3:44 PM
An autonomous mod that makes an in-game option more interesting to do?... Why, yes and more yes! Thank you for this!

Also, thanks for the quick tip on editing your mod for personal use. As someone who tends to tweak mods to suit my gamyplay needs, I love when creators put out useful information/tips for users to edit on their own.
Forum Resident
THANKS POST
#12 Old 27th Jun 2020 at 4:42 PM
Thanks!I'll be using this to allow parties to be thrown as my BACC population gets big enough to support that.It's also going to make parties more worthwhile in my Homesteaders challenge which are both playing in TS2UC.
Test Subject
#13 Old 28th Jun 2020 at 11:21 AM
Thank you, this with your business transfers mod are a godsend! You are fast becoming my favourite creator! I want to add that your explanation of how the mod works is the clearest that I have seen in a long time. Thank you so much for your hard work.
Forum Resident
THANKS POST
#14 Old 28th Jun 2020 at 3:30 PM
I can't wait to try this out! This will be a great feature to my game.
Lab Assistant
#15 Old 28th Jun 2020 at 8:21 PM
Does anyone have a link to the baby objects that are included as gifts in this mod? I don't want to have to use the base game version.
Scholar
Original Poster
#16 Old 28th Jun 2020 at 10:32 PM
Actually, I saw on the forum that all the store stuff was uploaded here at GoS in a more organized way than at MATY: https://gardenofshadows.org.uk/gard...p?topic=33099.0
Lab Assistant
#17 Old 28th Jun 2020 at 11:25 PM
Quote:
Originally Posted by kestrellyn
Actually, I saw on the forum that all the store stuff was uploaded here at GoS in a more organized way than at MATY: https://gardenofshadows.org.uk/gard...p?topic=33099.0

Thanks!