Hi, one option for accomplishing this would be adding a custom loot to the hot dog object and/or custom harvestable. The loot could provide a custom buff that your holiday tradition then tests for.
The first example I could think of involves grilled cheese. eating a grilled cheese in-game results in the game running a loot that tracks the number of grilled cheeses eaten by that Sim using a statistic, and (spoiler for hidden game content after the cut)
if you eat three grilled cheeses in a row, you unlock the secret Grilled Cheese Aspiration.
Let me know if you'd prefer to avoid spoilers related to grilled cheese, and I'll try to hunt up another base game object that has similar coding.
Look at lines 59-61 of the object_food_GrilledCheese_single object tuning file, and you'll see the relevant loot list coding for the grilled cheese object. If you look at lines 45-62, you'll see that the loot is nested within the coding for the generic_consume_food affordance for this object.
A screenshot of the object_food_GrilledCheese_single object tuning file follows after the cut, with spoilers for same hidden game content referenced above.
Step 1: Create a custom buff. Zero has a helpful
tutorial that walks through how to create a buff, for reference.
Step 2: In your situation_goal/holidayTraditionGoal tuning file, you can add a buff goal test. Here's an example from the situation_goal/holidayTraditionGoal_TVPremiere_Buff tuning file:
Copy lines 19-27, replace the instance/buff names on line 23 with your custom buff's instance and name, and paste after your goal_loot_list in your situation_goal/holidayTraditionalGoal tuning file.
Step 3: Create a custom loot that triggers your buff. Zero has a good tutorial on
custom loots. An easy one to adapt for your purposes would be any of the action/loot_Herbalism_Eat loot tuning files, which generally just loot a buff (but double-check and beware of extraneous coding).
Step 4: Edit the object/object_Food_HotDog_single file to add your custom loot.
object_food_HotDog_single doesn't have a section of coding that's analogous to lines 40-66 of the object_food_GrilledCheese_single object tuning file, but one should be able to fix that by simply copying lines 40-66 from the object_food_GrilledCheese_single object tuning file (see first screenshot) and inserting them at line 40 of the object_food_HotDog_single file(such that the current <V n="carryable" coding line is the line immediately after the new coding that you've pasted).
Then replace the instance number for the grilled cheese loot and the name with the instance number and name of your new loot.
As an alternative, there are also a number of existing situation_goals for grilling or roasting hot dogs, which you could use along with a goal_test for those affordances. This option would tie the tradition to the act of making hot dogs, though, regardless of whether your Sims actually eat them.
Let me know if you have any questions!