Quick Reply
Search this Thread
Lab Assistant
Original Poster
#1 Old 12th Oct 2025 at 4:38 AM
Default Holiday Tradition Creation Help
Hi there! I'm currently interested in working on expanding the list of holiday traditions similar to how clubs, getaways and small business interactions have expanded. In the past I've dabbled in trying to create new traditions, but if there is someone out there that can explain what the xmls mean in greater detail that would help!

From what I understand, holiday traditions are comprised of three main files.
1. Tradition Tuning File - gives the tradition its name, description, icon and outlines sim preferences (likes, loves, ignores)
2. Situation Goal Tuning File - lists interactions that satisfy the tradition, the number of times performed to be completed, and % of it satisfying the holiday
3. Sim Data File (not sure what this does)

Let's use Art and Music Spirit as an example:

holidaytradition_ArtandMusic (tradition tuning)

<?xml version="1.0" encoding="utf-8"?>
<I c="HolidayTradition" i="holiday_tradition" m="holidays.holiday_tradition" n="holidayTradition_ArtAndMusic" s="185434">
<V n="_display_data" t="optional_display_mixin">
<U n="optional_display_mixin">
<V n="instance_display_description" t="enabled_display_description">
<T n="enabled_display_description">0xCEB0AD74</T>
</V>
<V n="instance_display_icon" t="enabled_display_icon">
<T p="InEP05\UI\Icons\Events\HolidayTraditions\HolidayTraditions_ArtMusic.png" n="enabled_display_icon">2f7d0004:00000000:968bd23c3fecb93f</T>
</V>
<V n="instance_display_name" t="enabled_display_name">
<T n="enabled_display_name">0x45B518AC</T>
</V>
<V t="disabled" n="instance_display_tooltip" />
</U>
</V>
<L n="core_object_tags">
<E>Func_Instrument</E>
<E>Func_ActivityTable</E>
<E>Func_Stereo</E>
<E>Func_Canvas</E>
</L>
<L n="deco_object_tags">
<E>Func_Holiday_DecoObjects</E>
</L>
<L n="holiday_buffs">
<T>190554<!--Buff: buff_Holiday_Base_Singing_Terrain--></T>
<T>190549<!--Buff: buff_Holiday_Base_Active--></T>
</L>
<L n="preference">
<U>
<E n="preference">DOES_NOT_CARE</E>
<L n="tests">
<V t="sim_info">
<U n="sim_info">
<V n="ages" t="specified">
<L n="specified">
<E>BABY</E>
</L>
</V>
<E n="who">Actor</E>
</U>
</V>
</L>
</U>
<U>
<E n="preference">DOES_NOT_CARE</E>
<V n="reason" t="enabled">
<T n="enabled">0x4CC304D3</T>
</V>
<L n="tests">
<V t="sim_info">
<U n="sim_info">
<V t="specified" n="ages">
<L n="specified">
<E>INFANT</E>
</L>
</V>
</U>
</V>
</L>
</U>
<U>
<E n="preference">LOVES</E>
<V n="reason" t="enabled">
<T n="enabled">0x82743C75</T>
</V>
<L n="tests">
<V t="trait">
<U n="trait">
<L n="whitelist_traits">
<T>27918<!--Trait: trait_ArtLover--></T>
</L>
</U>
</V>
</L>
</U>
<U>
<E n="preference">LOVES</E>
<V n="reason" t="enabled">
<T n="enabled">0x5F5EA384</T>
</V>
<L n="tests">
<V t="trait">
<U n="trait">
<L n="whitelist_traits">
<T>16850<!--Trait: trait_Creative--></T>
</L>
</U>
</V>
</L>
</U>
<U>
<E n="preference">LOVES</E>
<V n="reason" t="enabled">
<T n="enabled">0x327E9C8F</T>
</V>
<L n="tests">
<V t="trait">
<U n="trait">
<L n="whitelist_traits">
<T>9604<!--Trait: trait_MusicLover--></T>
</L>
</U>
</V>
</L>
</U>
<U>
<E n="preference">LOVES</E>
<V n="reason" t="enabled">
<T n="enabled">0xA1741E8D</T>
</V>
<L n="tests">
<V t="trait">
<U n="trait">
<L n="whitelist_traits">
<T>27916<!--Trait: trait_Bookworm--></T>
</L>
</U>
</V>
</L>
</U>
<U>
<E n="preference">DOES_NOT_CARE</E>
<V t="enabled" n="reason">
<T n="enabled">0x175B27F3</T>
</V>
<L n="tests">
<V t="trait">
<U n="trait">
<L n="whitelist_traits">
<T>133125<!--Trait: trait_toddler--></T>
</L>
</U>
</V>
</L>
</U>
</L>
<T n="selectable">True</T>
<T n="situation_goal">185442<!--SituationGoalObjectInteraction: holidayTraditionGoal_ArtAndMusic--></T>
</I>

holidaytraditiongoal_ArtandMusic

<?xml version="1.0" encoding="utf-8"?>
<I c="SituationGoalObjectInteraction" i="situation_goal" m="situations.situation_goal_object_interaction" n="holidayTraditionGoal_ArtAndMusic" s="185442">
<V n="_display_data" t="enabled">
<U n="enabled">
<V n="instance_display_icon" t="enabled">
<T p="InEP05\UI\Icons\Events\HolidayTraditions\HolidayTraditions_ArtMusic.png" n="enabled">2f7d0004:00000000:968bd23c3fecb93f</T>
</V>
<V n="instance_display_name" t="enabled">
<T n="enabled">0x45B518AC</T>
</V>
<V n="instance_display_tooltip" t="enabled">
<T n="enabled">0xCEB0AD74</T>
</V>
</U>
</V>
<L n="_goal_loot_list">
<T>190504<!--SituationGoalLootActions: Loot_HolidayTraditions_HolidayGoalComplete--></T>
</L>
<U n="_goal_test">
<L n="affordances">
<T>141825<!--PlayAudioSuperInteractionTieredMenu: singingSkill_TieredMenu_Self_Practice--></T>
<T>262203<!--PlayAudioSuperInteractionNonTieredMenu: sI_AnimalObjects_Socials_Friendly_BirdHome_SingTo--></T>
<T>269151<!--PlayAudioSuperInteractionNonTieredMenu: sI_AnimalObjects_Socials_Friendly_BirdHome_SingTo_HighSuccess_AnimatedBird--></T>
</L>
<T n="consider_user_cancelled_as_failure">True</T>
<V t="disabled" n="interaction_outcome" />
<V t="disabled" n="running_time" />
<L n="tags">
<E>Interaction_Paint</E>
<E>Interaction_PlayInstrument</E>
<E>Interaction_TakePhoto</E>
<E>Interaction_StereoDance</E>
<E>Interaction_StereoListen</E>
<E>Interaction_PlayDJBooth</E>
<E>Interaction_ViewArt</E>
<E>Interaction_Skill_Child_Creativity</E>
<E>Interaction_Woodworking</E>
<E>Interaction_Skill_SingingKaraoke</E>
</L>
<E n="test_event">InteractionStart</E>
</U>
<T n="_iterations">3</T>
<T n="_score">40</T>
<T p="InGame\Audio\Bumper\bumper_event_goal_complete.propx" n="audio_sting_on_complete">39b2aa4a:00000000:ed52c39bcc2a7111</T>
<E n="display_type">COMPLETION_ONLY</E>
<V t="enabled" n="score_on_iteration_complete">
<T n="enabled">30</T>
</V>
</I>

Questions:
1. Could someone thoroughly explain how these work?
2. I understand the instance numbers refer to strings or icons, but where does the name of the icon come from?
"InEP05\UI\Icons\Events\HolidayTraditions\HolidayTraditions_ArtMusic.png" n="enabled_display_icon">2f7d0004:00000000:968bd23c3fecb93f
3.Affordances I know are grouped into single interactions, "super interactions", and "tags" are interactions or objects, but where can I find these tag groups or are there ways to find a list of tags as opposed to individual affordances (unless I need specific interactions)?
4. How does the traits section work? I know specific age groups are technically considered traits, but is there a way to add traits similar to turn on traits like "hardworking" or "high-spirited" sims?
5. What is the purpose of the audio sting? Is that worth modifying?
6. If an object is required for a holiday how can I add it as a "holiday object" for that specific holiday (ie: buy mode)?
7. What is the simdata file do?

Thanks in advance! Btw I am not very familiar with coding, mostly just 1:1 replacements
Test Subject
#2 Old 23rd Oct 2025 at 6:06 AM
Quote: Originally posted by TheSimKid
Thanks in advance! Btw I am not very familiar with coding, mostly just 1:1 replacements


I'll try and help with some of what you want.

Tags you will find in XML 15608553923092786359.

For the icon name i don't think it matters what the name is, i think that's just for easier reading of what the icon is as the game only reads the values.

When you say traits do you mean the whitelist_traits? if so the whitelist_traits will allow a sim who has the listed trait to get something like a buff and blacklist_traits will not give that sim with the blacklisted trait the buff or not allow them to do that interaction. These whitelist and blacklist are part of a test the sims need to pass.

Audio string is the sound to play when this goal is completed.

Simdata https://sims4studio.com/thread/2383...uning-xml-buffs

If you use Lot51 Tuning Builder https://tdesc.lot51.cc/ it will have the description for most entries when you click on them.
in the xml box if you click on say instance_display_tooltip it will take you to that on the left side entries.

Just click import EA tuning and study the xml files.
Back to top